2026-03-17 13:31:18 -07:00

176 lines
7.9 KiB
Java

/*
* Decompiled with CFR 0.152.
*/
package com.tridium.asm;
import com.tridium.asm.OpCodes;
public final class Jvm
implements OpCodes {
public static final int MAGIC = -889275714;
public static final int MINOR_VERSION = 3;
public static final int MAJOR_VERSION = 45;
public static final int ACC_PUBLIC = 1;
public static final int ACC_PRIVATE = 2;
public static final int ACC_PROTECTED = 4;
public static final int ACC_STATIC = 8;
public static final int ACC_FINAL = 16;
public static final int ACC_SUPER = 32;
public static final int ACC_SYNCHRONIZED = 32;
public static final int ACC_VOLATILE = 64;
public static final int ACC_TRANSIENT = 128;
public static final int ACC_NATIVE = 256;
public static final int ACC_INTERFACE = 512;
public static final int ACC_ABSTRACT = 1024;
public static final int CONSTANT_Utf8 = 1;
public static final int CONSTANT_Integer = 3;
public static final int CONSTANT_Float = 4;
public static final int CONSTANT_Long = 5;
public static final int CONSTANT_Double = 6;
public static final int CONSTANT_Class = 7;
public static final int CONSTANT_String = 8;
public static final int CONSTANT_Fieldref = 9;
public static final int CONSTANT_Methodref = 10;
public static final int CONSTANT_InterfaceMethodref = 11;
public static final int CONSTANT_NameAndType = 12;
public static final String ATTR_SOURCE_FILE = "SourceFile";
public static final String ATTR_CONSTANT_VALUE = "ConstantValue";
public static final String ATTR_CODE = "Code";
public static final String ATTR_EXCEPTIONS = "Exceptions";
public static final String ATTR_LINE_NUMBER_TABLE = "LineNumberTable";
public static final String ATTR_DEPRECATED = "Deprecated";
public static final String ATTR_INNER_CLASSES = "InnerClasses";
public static final String ATTR_SYNTHETIC = "Synthetic";
public static final String ATTR_LOCAL_VARIABLE_TABLE = "LocalVariableTable";
public static final String ATTR_ENCLOSING_METHOD = "EnclosingMethod";
public static final String ATTR_SIGNATURE = "Signature";
public static final String ATTR_RUNTIME_VISIBLE_ANNOTATIONS = "RuntimeVisibleAnnotations";
public static final int T_BOOLEAN = 4;
public static final int T_CHAR = 5;
public static final int T_FLOAT = 6;
public static final int T_DOUBLE = 7;
public static final int T_BYTE = 8;
public static final int T_SHORT = 9;
public static final int T_INT = 10;
public static final int T_LONG = 11;
public static final byte NONE = 0;
public static final byte U1 = 1;
public static final byte U2 = 2;
public static final byte B2 = 3;
public static final byte B4 = 4;
public static final byte SPECIAL = 5;
public static final byte[] OPCODE_ARGS;
public static final String[] OPCODE_STRINGS;
public static final String fieldDescriptor(Class clazz) {
if (clazz.isPrimitive()) {
if (clazz.equals(Byte.TYPE)) {
return "B";
}
if (clazz.equals(Character.TYPE)) {
return "C";
}
if (clazz.equals(Double.TYPE)) {
return "D";
}
if (clazz.equals(Float.TYPE)) {
return "F";
}
if (clazz.equals(Integer.TYPE)) {
return "I";
}
if (clazz.equals(Long.TYPE)) {
return "J";
}
if (clazz.equals(Short.TYPE)) {
return "S";
}
if (clazz.equals(Boolean.TYPE)) {
return "Z";
}
if (clazz.equals(Void.TYPE)) {
return "V";
}
throw new IllegalStateException();
}
if (clazz.isArray()) {
return "[" + Jvm.fieldDescriptor(clazz.getComponentType());
}
return "L" + clazz.getName().replace('.', '/') + ';';
}
public static final String methodDescriptor(Class[] classArray, Class clazz) {
StringBuffer stringBuffer = new StringBuffer("(");
if (classArray != null) {
int n = 0;
while (n < classArray.length) {
stringBuffer.append(Jvm.fieldDescriptor(classArray[n]));
++n;
}
}
stringBuffer.append(")").append(Jvm.fieldDescriptor(clazz));
return stringBuffer.toString();
}
static {
byte[] byArray = new byte[202];
byArray[16] = 5;
byArray[17] = 5;
byArray[18] = 1;
byArray[19] = 2;
byArray[20] = 2;
byArray[21] = 1;
byArray[22] = 1;
byArray[23] = 1;
byArray[24] = 1;
byArray[25] = 1;
byArray[54] = 1;
byArray[55] = 1;
byArray[56] = 1;
byArray[57] = 1;
byArray[58] = 1;
byArray[132] = 5;
byArray[153] = 3;
byArray[154] = 3;
byArray[155] = 3;
byArray[156] = 3;
byArray[157] = 3;
byArray[158] = 3;
byArray[159] = 3;
byArray[160] = 3;
byArray[161] = 3;
byArray[162] = 3;
byArray[163] = 3;
byArray[164] = 3;
byArray[165] = 3;
byArray[166] = 3;
byArray[167] = 3;
byArray[168] = 3;
byArray[169] = 1;
byArray[170] = 5;
byArray[171] = 5;
byArray[178] = 2;
byArray[179] = 2;
byArray[180] = 2;
byArray[181] = 2;
byArray[182] = 2;
byArray[183] = 2;
byArray[184] = 2;
byArray[185] = 5;
byArray[187] = 2;
byArray[188] = 1;
byArray[189] = 2;
byArray[192] = 2;
byArray[193] = 2;
byArray[196] = 5;
byArray[197] = 5;
byArray[198] = 3;
byArray[199] = 3;
byArray[200] = 4;
byArray[201] = 4;
OPCODE_ARGS = byArray;
OPCODE_STRINGS = new String[]{"NOP", "ACONST_NULL", "ICONST_M1", "ICONST_0", "ICONST_1", "ICONST_2", "ICONST_3", "ICONST_4", "ICONST_5", "LCONST_0", "LCONST_1", "FCONST_0", "FCONST_1", "FCONST_2", "DCONST_0", "DCONST_1", "BIPUSH", "SIPUSH", "LDC", "LDC_W", "LDC2_W", "ILOAD", "LLOAD", "FLOAD", "DLOAD", "ALOAD", "ILOAD_0", "ILOAD_1", "ILOAD_2", "ILOAD_3", "LLOAD_0", "LLOAD_1", "LLOAD_2", "LLOAD_3", "FLOAD_0", "FLOAD_1", "FLOAD_2", "FLOAD_3", "DLOAD_0", "DLOAD_1", "DLOAD_2", "DLOAD_3", "ALOAD_0", "ALOAD_1", "ALOAD_2", "ALOAD_3", "IALOAD", "LALOAD", "FALOAD", "DALOAD", "AALOAD", "BALOAD", "CALOAD", "SALOAD", "ISTORE", "LSTORE", "FSTORE", "DSTORE", "ASTORE", "ISTORE_0", "ISTORE_1", "ISTORE_2", "ISTORE_3", "LSTORE_0", "LSTORE_1", "LSTORE_2", "LSTORE_3", "FSTORE_0", "FSTORE_1", "FSTORE_2", "FSTORE_3", "DSTORE_0", "DSTORE_1", "DSTORE_2", "DSTORE_3", "ASTORE_0", "ASTORE_1", "ASTORE_2", "ASTORE_3", "IASTORE", "LASTORE", "FASTORE", "DASTORE", "AASTORE", "BASTORE", "CASTORE", "SASTORE", "POP", "POP2", "DUP", "DUP_X1", "DUP_X2", "DUP2", "DUP2_X1", "DUP2_X2", "SWAP", "IADD", "LADD", "FADD", "DADD", "ISUB", "LSUB", "FSUB", "DSUB", "IMUL", "LMUL", "FMUL", "DMUL", "IDIV", "LDIV", "FDIV", "DDIV", "IREM", "LREM", "FREM", "DREM", "INEG", "LNEG", "FNEG", "DNEG", "ISHL", "LSHL", "ISHR", "LSHR", "IUSHR", "LUSHR", "IAND", "LAND", "IOR", "LOR", "IXOR", "LXOR", "IINC", "I2L", "I2F", "I2D", "L2I", "L2F", "L2D", "F2I", "F2L", "F2D", "D2I", "D2L", "D2F", "I2B", "I2C", "I2S", "LCMP", "FCMPL", "FCMPG", "DCMPL", "DCMPG", "IFEQ", "IFNE", "IFLT", "IFGE", "IFGT", "IFLE", "IF_ICMPEQ", "IF_ICMPNE", "IF_ICMPLT", "IF_ICMPGE", "IF_ICMPGT", "IF_ICMPLE", "IF_ACMPEQ", "IF_ACMPNU", "GOTO", "JSR", "RET", "TABLESWITCH", "LOOKUPSWITCH", "IRETURN", "LRETURN", "FRETURN", "DRETURN", "ARETURN", "RETURN", "GETSTATIC", "PUTSTATIC", "GETFIELD", "PUTFIELD", "INVOKEVIRTUAL", "INVOKESPECIAL", "INVOKESTATIC", "INVOKEINTERFACE=", "XXX_UNUSED_XXX", "NEW", "NEWARRAY", "ANEWARRAY", "ARRAYLENGTH", "ATHROW", "CHECKCAST", "INSTANCEOF", "MONITORENTER", "MONITOREXIT", "WIDE", "MULTIANEWARRAY", "IFNULL", "IFNONNULL", "GOTO_W", "JSR_W"};
}
}