parent
059cb0ff4e
commit
3bdda752cb
@ -1,442 +0,0 @@ |
||||
package de.fernflower.code; |
||||
|
||||
public class ConstantsUtilOld { |
||||
public static String getName(int opcode) { |
||||
return opcodeNames[opcode]; |
||||
} |
||||
|
||||
public static Instruction getInstructionInstance(int opcode, boolean wide, int group, int[] operands) { |
||||
|
||||
Instruction instr = getInstructionInstance(opcode); |
||||
instr.wide = wide; |
||||
instr.group = group; |
||||
instr.setOperands(operands); |
||||
|
||||
return instr; |
||||
} |
||||
|
||||
public static Instruction getInstructionInstance(int opcode) { |
||||
try { |
||||
Instruction instr = (Instruction)Class.forName("de.fernflower.code.instructions."+opcodeClasses[opcode]).newInstance(); |
||||
instr.opcode = opcode; |
||||
return instr; |
||||
} catch (Exception ex) { |
||||
return null; |
||||
} |
||||
|
||||
} |
||||
|
||||
|
||||
private static String[] opcodeNames = { |
||||
"nop", // "nop",
|
||||
"aconst_null", // "aconst_null",
|
||||
"iconst_m1", // "iconst_m1",
|
||||
"iconst_0", // "iconst_0",
|
||||
"iconst_1", // "iconst_1",
|
||||
"iconst_2", // "iconst_2",
|
||||
"iconst_3", // "iconst_3",
|
||||
"iconst_4", // "iconst_4",
|
||||
"iconst_5", // "iconst_5",
|
||||
"lconst_0", // "lconst_0",
|
||||
"lconst_1", // "lconst_1",
|
||||
"fconst_0", // "fconst_0",
|
||||
"fconst_1", // "fconst_1",
|
||||
"fconst_2", // "fconst_2",
|
||||
"dconst_0", // "dconst_0",
|
||||
"dconst_1", // "dconst_1",
|
||||
"bipush", // "bipush",
|
||||
"sipush", // "sipush",
|
||||
"ldc", // "ldc",
|
||||
"ldc_w", // "ldc_w",
|
||||
"ldc2_w", // "ldc2_w",
|
||||
"iload", // "iload",
|
||||
"lload", // "lload",
|
||||
"fload", // "fload",
|
||||
"dload", // "dload",
|
||||
"aload", // "aload",
|
||||
"iload_0", // "iload_0",
|
||||
"iload_1", // "iload_1",
|
||||
"iload_2", // "iload_2",
|
||||
"iload_3", // "iload_3",
|
||||
"lload_0", // "lload_0",
|
||||
"lload_1", // "lload_1",
|
||||
"lload_2", // "lload_2",
|
||||
"lload_3", // "lload_3",
|
||||
"fload_0", // "fload_0",
|
||||
"fload_1", // "fload_1",
|
||||
"fload_2", // "fload_2",
|
||||
"fload_3", // "fload_3",
|
||||
"dload_0", // "dload_0",
|
||||
"dload_1", // "dload_1",
|
||||
"dload_2", // "dload_2",
|
||||
"dload_3", // "dload_3",
|
||||
"aload_0", // "aload_0",
|
||||
"aload_1", // "aload_1",
|
||||
"aload_2", // "aload_2",
|
||||
"aload_3", // "aload_3",
|
||||
"iaload", // "iaload",
|
||||
"laload", // "laload",
|
||||
"faload", // "faload",
|
||||
"daload", // "daload",
|
||||
"aaload", // "aaload",
|
||||
"baload", // "baload",
|
||||
"caload", // "caload",
|
||||
"saload", // "saload",
|
||||
"istore", // "istore",
|
||||
"lstore", // "lstore",
|
||||
"fstore", // "fstore",
|
||||
"dstore", // "dstore",
|
||||
"astore", // "astore",
|
||||
"istore_0", // "istore_0",
|
||||
"istore_1", // "istore_1",
|
||||
"istore_2", // "istore_2",
|
||||
"istore_3", // "istore_3",
|
||||
"lstore_0", // "lstore_0",
|
||||
"lstore_1", // "lstore_1",
|
||||
"lstore_2", // "lstore_2",
|
||||
"lstore_3", // "lstore_3",
|
||||
"fstore_0", // "fstore_0",
|
||||
"fstore_1", // "fstore_1",
|
||||
"fstore_2", // "fstore_2",
|
||||
"fstore_3", // "fstore_3",
|
||||
"dstore_0", // "dstore_0",
|
||||
"dstore_1", // "dstore_1",
|
||||
"dstore_2", // "dstore_2",
|
||||
"dstore_3", // "dstore_3",
|
||||
"astore_0", // "astore_0",
|
||||
"astore_1", // "astore_1",
|
||||
"astore_2", // "astore_2",
|
||||
"astore_3", // "astore_3",
|
||||
"iastore", // "iastore",
|
||||
"lastore", // "lastore",
|
||||
"fastore", // "fastore",
|
||||
"dastore", // "dastore",
|
||||
"aastore", // "aastore",
|
||||
"bastore", // "bastore",
|
||||
"castore", // "castore",
|
||||
"sastore", // "sastore",
|
||||
"pop", // "pop",
|
||||
"pop2", // "pop2",
|
||||
"dup", // "dup",
|
||||
"dup_x1", // "dup_x1",
|
||||
"dup_x2", // "dup_x2",
|
||||
"dup2", // "dup2",
|
||||
"dup2_x1", // "dup2_x1",
|
||||
"dup2_x2", // "dup2_x2",
|
||||
"swap", // "swap",
|
||||
"iadd", // "iadd",
|
||||
"ladd", // "ladd",
|
||||
"fadd", // "fadd",
|
||||
"dadd", // "dadd",
|
||||
"isub", // "isub",
|
||||
"lsub", // "lsub",
|
||||
"fsub", // "fsub",
|
||||
"dsub", // "dsub",
|
||||
"imul", // "imul",
|
||||
"lmul", // "lmul",
|
||||
"fmul", // "fmul",
|
||||
"dmul", // "dmul",
|
||||
"idiv", // "idiv",
|
||||
"ldiv", // "ldiv",
|
||||
"fdiv", // "fdiv",
|
||||
"ddiv", // "ddiv",
|
||||
"irem", // "irem",
|
||||
"lrem", // "lrem",
|
||||
"frem", // "frem",
|
||||
"drem", // "drem",
|
||||
"ineg", // "ineg",
|
||||
"lneg", // "lneg",
|
||||
"fneg", // "fneg",
|
||||
"dneg", // "dneg",
|
||||
"ishl", // "ishl",
|
||||
"lshl", // "lshl",
|
||||
"ishr", // "ishr",
|
||||
"lshr", // "lshr",
|
||||
"iushr", // "iushr",
|
||||
"lushr", // "lushr",
|
||||
"iand", // "iand",
|
||||
"land", // "land",
|
||||
"ior", // "ior",
|
||||
"lor", // "lor",
|
||||
"ixor", // "ixor",
|
||||
"lxor", // "lxor",
|
||||
"iinc", // "iinc",
|
||||
"i2l", // "i2l",
|
||||
"i2f", // "i2f",
|
||||
"i2d", // "i2d",
|
||||
"l2i", // "l2i",
|
||||
"l2f", // "l2f",
|
||||
"l2d", // "l2d",
|
||||
"f2i", // "f2i",
|
||||
"f2l", // "f2l",
|
||||
"f2d", // "f2d",
|
||||
"d2i", // "d2i",
|
||||
"d2l", // "d2l",
|
||||
"d2f", // "d2f",
|
||||
"i2b", // "i2b",
|
||||
"i2c", // "i2c",
|
||||
"i2s", // "i2s",
|
||||
"lcmp", // "lcmp",
|
||||
"fcmpl", // "fcmpl",
|
||||
"fcmpg", // "fcmpg",
|
||||
"dcmpl", // "dcmpl",
|
||||
"dcmpg", // "dcmpg",
|
||||
"ifeq", // "ifeq",
|
||||
"ifne", // "ifne",
|
||||
"iflt", // "iflt",
|
||||
"ifge", // "ifge",
|
||||
"ifgt", // "ifgt",
|
||||
"ifle", // "ifle",
|
||||
"if_icmpeq", // "if_icmpeq",
|
||||
"if_icmpne", // "if_icmpne",
|
||||
"if_icmplt", // "if_icmplt",
|
||||
"if_icmpge", // "if_icmpge",
|
||||
"if_icmpgt", // "if_icmpgt",
|
||||
"if_icmple", // "if_icmple",
|
||||
"if_acmpeq", // "if_acmpeq",
|
||||
"if_acmpne", // "if_acmpne",
|
||||
"goto", // "goto",
|
||||
"jsr", // "jsr",
|
||||
"ret", // "ret",
|
||||
"tableswitch", // "tableswitch",
|
||||
"lookupswitch", // "lookupswitch",
|
||||
"ireturn", // "ireturn",
|
||||
"lreturn", // "lreturn",
|
||||
"freturn", // "freturn",
|
||||
"dreturn", // "dreturn",
|
||||
"areturn", // "areturn",
|
||||
"return", // "return",
|
||||
"getstatic", // "getstatic",
|
||||
"putstatic", // "putstatic",
|
||||
"getfield", // "getfield",
|
||||
"putfield", // "putfield",
|
||||
"invokevirtual", // "invokevirtual",
|
||||
"invokespecial", // "invokespecial",
|
||||
"invokestatic", // "invokestatic",
|
||||
"invokeinterface", // "invokeinterface",
|
||||
"xxxunusedxxx", // "xxxunusedxxx",
|
||||
"new", // "new",
|
||||
"newarray", // "newarray",
|
||||
"anewarray", // "anewarray",
|
||||
"arraylength", // "arraylength",
|
||||
"athrow", // "athrow",
|
||||
"checkcast", // "checkcast",
|
||||
"instanceof", // "instanceof",
|
||||
"monitorenter", // "monitorenter",
|
||||
"monitorexit", // "monitorexit",
|
||||
"wide", // "wide",
|
||||
"multianewarray", // "multianewarray",
|
||||
"ifnull", // "ifnull",
|
||||
"ifnonnull", // "ifnonnull",
|
||||
"goto_w", // "goto_w",
|
||||
"jsr_w" // "jsr_w"
|
||||
}; |
||||
|
||||
private static String[] opcodeClasses = { |
||||
"NOP", // "nop",
|
||||
"ACONST_NULL", // "aconst_null",
|
||||
null, // "iconst_m1",
|
||||
null, // "iconst_0",
|
||||
null, // "iconst_1",
|
||||
null, // "iconst_2",
|
||||
null, // "iconst_3",
|
||||
null, // "iconst_4",
|
||||
null, // "iconst_5",
|
||||
"LCONST_0", // "lconst_0",
|
||||
"LCONST_1", // "lconst_1",
|
||||
"FCONST_0", // "fconst_0",
|
||||
"FCONST_1", // "fconst_1",
|
||||
"FCONST_2", // "fconst_2",
|
||||
"DCONST_0", // "dconst_0",
|
||||
"DCONST_1", // "dconst_1",
|
||||
"BIPUSH", // "bipush",
|
||||
"SIPUSH", // "sipush",
|
||||
"LDC", // "ldc",
|
||||
"LDC_W", // "ldc_w",
|
||||
"LDC2_W", // "ldc2_w",
|
||||
"ILOAD", // "iload",
|
||||
"LLOAD", // "lload",
|
||||
"FLOAD", // "fload",
|
||||
"DLOAD", // "dload",
|
||||
"ALOAD", // "aload",
|
||||
null, // "iload_0",
|
||||
null, // "iload_1",
|
||||
null, // "iload_2",
|
||||
null, // "iload_3",
|
||||
null, // "lload_0",
|
||||
null, // "lload_1",
|
||||
null, // "lload_2",
|
||||
null, // "lload_3",
|
||||
null, // "fload_0",
|
||||
null, // "fload_1",
|
||||
null, // "fload_2",
|
||||
null, // "fload_3",
|
||||
null, // "dload_0",
|
||||
null, // "dload_1",
|
||||
null, // "dload_2",
|
||||
null, // "dload_3",
|
||||
null, // "aload_0",
|
||||
null, // "aload_1",
|
||||
null, // "aload_2",
|
||||
null, // "aload_3",
|
||||
"IALOAD", // "iaload",
|
||||
"LALOAD", // "laload",
|
||||
"FALOAD", // "faload",
|
||||
"DALOAD", // "daload",
|
||||
"AALOAD", // "aaload",
|
||||
"BALOAD", // "baload",
|
||||
"CALOAD", // "caload",
|
||||
"SALOAD", // "saload",
|
||||
"ISTORE", // "istore",
|
||||
"LSTORE", // "lstore",
|
||||
"FSTORE", // "fstore",
|
||||
"DSTORE", // "dstore",
|
||||
"ASTORE", // "astore",
|
||||
null, // "istore_0",
|
||||
null, // "istore_1",
|
||||
null, // "istore_2",
|
||||
null, // "istore_3",
|
||||
null, // "lstore_0",
|
||||
null, // "lstore_1",
|
||||
null, // "lstore_2",
|
||||
null, // "lstore_3",
|
||||
null, // "fstore_0",
|
||||
null, // "fstore_1",
|
||||
null, // "fstore_2",
|
||||
null, // "fstore_3",
|
||||
null, // "dstore_0",
|
||||
null, // "dstore_1",
|
||||
null, // "dstore_2",
|
||||
null, // "dstore_3",
|
||||
null, // "astore_0",
|
||||
null, // "astore_1",
|
||||
null, // "astore_2",
|
||||
null, // "astore_3",
|
||||
"IASTORE", // "iastore",
|
||||
"LASTORE", // "lastore",
|
||||
"FASTORE", // "fastore",
|
||||
"DASTORE", // "dastore",
|
||||
"AASTORE", // "aastore",
|
||||
"BASTORE", // "bastore",
|
||||
"CASTORE", // "castore",
|
||||
"SASTORE", // "sastore",
|
||||
"POP", // "pop",
|
||||
"POP2", // "pop2",
|
||||
"DUP", // "dup",
|
||||
"DUP_X1", // "dup_x1",
|
||||
"DUP_X2", // "dup_x2",
|
||||
"DUP2", // "dup2",
|
||||
"DUP2_X1", // "dup2_x1",
|
||||
"DUP2_X2", // "dup2_x2",
|
||||
"SWAP", // "swap",
|
||||
"IADD", // "iadd",
|
||||
"LADD", // "ladd",
|
||||
"FADD", // "fadd",
|
||||
"DADD", // "dadd",
|
||||
"ISUB", // "isub",
|
||||
"LSUB", // "lsub",
|
||||
"FSUB", // "fsub",
|
||||
"DSUB", // "dsub",
|
||||
"IMUL", // "imul",
|
||||
"LMUL", // "lmul",
|
||||
"FMUL", // "fmul",
|
||||
"DMUL", // "dmul",
|
||||
"IDIV", // "idiv",
|
||||
"LDIV", // "ldiv",
|
||||
"FDIV", // "fdiv",
|
||||
"DDIV", // "ddiv",
|
||||
"IREM", // "irem",
|
||||
"LREM", // "lrem",
|
||||
"FREM", // "frem",
|
||||
"DREM", // "drem",
|
||||
"INEG", // "ineg",
|
||||
"LNEG", // "lneg",
|
||||
"FNEG", // "fneg",
|
||||
"DNEG", // "dneg",
|
||||
"ISHL", // "ishl",
|
||||
"LSHL", // "lshl",
|
||||
"ISHR", // "ishr",
|
||||
"LSHR", // "lshr",
|
||||
"IUSHR", // "iushr",
|
||||
"LUSHR", // "lushr",
|
||||
"IAND", // "iand",
|
||||
"LAND", // "land",
|
||||
"IOR", // "ior",
|
||||
"LOR", // "lor",
|
||||
"IXOR", // "ixor",
|
||||
"LXOR", // "lxor",
|
||||
"IINC", // "iinc",
|
||||
"I2L", // "i2l",
|
||||
"I2F", // "i2f",
|
||||
"I2D", // "i2d",
|
||||
"L2I", // "l2i",
|
||||
"L2F", // "l2f",
|
||||
"L2D", // "l2d",
|
||||
"F2I", // "f2i",
|
||||
"F2L", // "f2l",
|
||||
"F2D", // "f2d",
|
||||
"D2I", // "d2i",
|
||||
"D2L", // "d2l",
|
||||
"D2F", // "d2f",
|
||||
"I2B", // "i2b",
|
||||
"I2C", // "i2c",
|
||||
"I2S", // "i2s",
|
||||
"LCMP", // "lcmp",
|
||||
"FCMPL", // "fcmpl",
|
||||
"FCMPG", // "fcmpg",
|
||||
"DCMPL", // "dcmpl",
|
||||
"DCMPG", // "dcmpg",
|
||||
"IFEQ", // "ifeq",
|
||||
"IFNE", // "ifne",
|
||||
"IFLT", // "iflt",
|
||||
"IFGE", // "ifge",
|
||||
"IFGT", // "ifgt",
|
||||
"IFLE", // "ifle",
|
||||
"IF_ICMPEQ", // "if_icmpeq",
|
||||
"IF_ICMPNE", // "if_icmpne",
|
||||
"IF_ICMPLT", // "if_icmplt",
|
||||
"IF_ICMPGE", // "if_icmpge",
|
||||
"IF_ICMPGT", // "if_icmpgt",
|
||||
"IF_ICMPLE", // "if_icmple",
|
||||
"IF_ACMPEQ", // "if_acmpeq",
|
||||
"IF_ACMPNE", // "if_acmpne",
|
||||
"GOTO", // "goto",
|
||||
"JSR", // "jsr",
|
||||
"RET", // "ret",
|
||||
"TABLESWITCH", // "tableswitch",
|
||||
"LOOKUPSWITCH", // "lookupswitch",
|
||||
"IRETURN", // "ireturn",
|
||||
"LRETURN", // "lreturn",
|
||||
"FRETURN", // "freturn",
|
||||
"DRETURN", // "dreturn",
|
||||
"ARETURN", // "areturn",
|
||||
"RETURN", // "return",
|
||||
"GETSTATIC", // "getstatic",
|
||||
"PUTSTATIC", // "putstatic",
|
||||
"GETFIELD", // "getfield",
|
||||
"PUTFIELD", // "putfield",
|
||||
"INVOKEVIRTUAL", // "invokevirtual",
|
||||
"INVOKESPECIAL", // "invokespecial",
|
||||
"INVOKESTATIC", // "invokestatic",
|
||||
"INVOKEINTERFACE", // "invokeinterface",
|
||||
null , // "xxxunusedxxx",
|
||||
"NEW", // "new",
|
||||
"NEWARRAY", // "newarray",
|
||||
"ANEWARRAY", // "anewarray",
|
||||
"ARRAYLENGTH", // "arraylength",
|
||||
"ATHROW", // "athrow",
|
||||
"CHECKCAST", // "checkcast",
|
||||
"INSTANCEOF", // "instanceof",
|
||||
"MONITORENTER", // "monitorenter",
|
||||
"MONITOREXIT", // "monitorexit",
|
||||
null, // "wide",
|
||||
"MULTIANEWARRAY", // "multianewarray",
|
||||
"IFNULL", // "ifnull",
|
||||
"IFNONNULL", // "ifnonnull",
|
||||
"GOTO_W", // "goto_w",
|
||||
"JSR_W" // "jsr_w"
|
||||
}; |
||||
|
||||
|
||||
|
||||
} |
Loading…
Reference in new issue