diff options
-rw-r--r-- | dx/src/com/android/dx/command/findusages/FindUsages.java | 15 | ||||
-rw-r--r-- | dx/src/com/android/dx/dex/code/Dop.java | 16 | ||||
-rw-r--r-- | dx/src/com/android/dx/dex/code/Dops.java | 776 | ||||
-rw-r--r-- | dx/src/com/android/dx/io/CodeReader.java | 5 | ||||
-rw-r--r-- | dx/src/com/android/dx/io/OpcodeInfo.java | 555 | ||||
-rw-r--r-- | dx/src/com/android/dx/merge/InstructionTransformer.java | 19 | ||||
-rw-r--r-- | dx/tests/118-find-usages/expected.txt | 10 | ||||
-rw-r--r-- | opcode-gen/opcode-gen.awk | 9 |
8 files changed, 582 insertions, 823 deletions
diff --git a/dx/src/com/android/dx/command/findusages/FindUsages.java b/dx/src/com/android/dx/command/findusages/FindUsages.java index d9b0e1253..30c6030db 100644 --- a/dx/src/com/android/dx/command/findusages/FindUsages.java +++ b/dx/src/com/android/dx/command/findusages/FindUsages.java @@ -23,6 +23,7 @@ import com.android.dx.io.DecodedInstruction; import com.android.dx.io.DexBuffer; import com.android.dx.io.FieldId; import com.android.dx.io.MethodId; +import com.android.dx.io.OpcodeInfo; import java.io.PrintStream; import java.util.Collections; import java.util.HashSet; @@ -61,21 +62,23 @@ public final class FindUsages { fieldIds = getFieldIds(dex, memberNameIndex, typeIndex); codeReader.setFieldVisitor(new CodeReader.Visitor() { - public void visit(CodeReader.Instruction instruction, - DecodedInstruction[] all, DecodedInstruction one) { + public void visit(DecodedInstruction[] all, + DecodedInstruction one) { int fieldId = one.getIndex(); if (fieldIds.contains(fieldId)) { - out.println(location() + ": field reference (" + instruction + ")"); + out.println(location() + ": field reference (" + + OpcodeInfo.getName(one.getOpcode()) + ")"); } } }); codeReader.setMethodVisitor(new CodeReader.Visitor() { - public void visit(CodeReader.Instruction instruction, - DecodedInstruction[] all, DecodedInstruction one) { + public void visit(DecodedInstruction[] all, + DecodedInstruction one) { int methodId = one.getIndex(); if (methodIds.contains(methodId)) { - out.println(location() + ": method reference (" + instruction + ")"); + out.println(location() + ": method reference (" + + OpcodeInfo.getName(one.getOpcode()) + ")"); } } }); diff --git a/dx/src/com/android/dx/dex/code/Dop.java b/dx/src/com/android/dx/dex/code/Dop.java index a7c8397e3..51d1b5160 100644 --- a/dx/src/com/android/dx/dex/code/Dop.java +++ b/dx/src/com/android/dx/dex/code/Dop.java @@ -16,6 +16,7 @@ package com.android.dx.dex.code; +import com.android.dx.io.OpcodeInfo; import com.android.dx.io.Opcodes; /** @@ -42,9 +43,6 @@ public final class Dop { /** whether this opcode uses a result register */ private final boolean hasResult; - /** {@code non-null;} the name */ - private final String name; - /** * Constructs an instance. * @@ -58,10 +56,9 @@ public final class Dop { * @param format {@code non-null;} the instruction format * @param hasResult whether the opcode has a result register; if so it * is always the first register - * @param name {@code non-null;} the name */ public Dop(int opcode, int family, int nextOpcode, InsnFormat format, - boolean hasResult, String name) { + boolean hasResult) { if (!Opcodes.isValidShape(opcode)) { throw new IllegalArgumentException("bogus opcode"); } @@ -78,22 +75,17 @@ public final class Dop { throw new NullPointerException("format == null"); } - if (name == null) { - throw new NullPointerException("name == null"); - } - this.opcode = opcode; this.family = family; this.nextOpcode = nextOpcode; this.format = format; this.hasResult = hasResult; - this.name = name; } /** {@inheritDoc} */ @Override public String toString() { - return name; + return getName(); } /** @@ -139,7 +131,7 @@ public final class Dop { * @return {@code non-null;} the opcode name */ public String getName() { - return name; + return OpcodeInfo.getName(opcode); } /** diff --git a/dx/src/com/android/dx/dex/code/Dops.java b/dx/src/com/android/dx/dex/code/Dops.java index a19b02b39..667b32663 100644 --- a/dx/src/com/android/dx/dex/code/Dops.java +++ b/dx/src/com/android/dx/dex/code/Dops.java @@ -57,1297 +57,1041 @@ public final class Dops { /** * pseudo-opcode used for nonstandard formatted "instructions" * (which are mostly not actually instructions, though they do - * appear in instruction lists) + * appear in instruction lists). TODO: Retire the usage of this + * constant. */ public static final Dop SPECIAL_FORMAT = new Dop(Opcodes.SPECIAL_FORMAT, Opcodes.SPECIAL_FORMAT, - Opcodes.NO_NEXT, SpecialFormat.THE_ONE, false, "<special>"); + Opcodes.NO_NEXT, SpecialFormat.THE_ONE, false); // BEGIN(dops); GENERATED AUTOMATICALLY BY opcode-gen public static final Dop NOP = new Dop(Opcodes.NOP, Opcodes.NOP, - Opcodes.NO_NEXT, Form10x.THE_ONE, false, - "nop"); + Opcodes.NO_NEXT, Form10x.THE_ONE, false); public static final Dop MOVE = new Dop(Opcodes.MOVE, Opcodes.MOVE, - Opcodes.MOVE_FROM16, Form12x.THE_ONE, true, - "move"); + Opcodes.MOVE_FROM16, Form12x.THE_ONE, true); public static final Dop MOVE_FROM16 = new Dop(Opcodes.MOVE_FROM16, Opcodes.MOVE, - Opcodes.MOVE_16, Form22x.THE_ONE, true, - "move/from16"); + Opcodes.MOVE_16, Form22x.THE_ONE, true); public static final Dop MOVE_16 = new Dop(Opcodes.MOVE_16, Opcodes.MOVE, - Opcodes.NO_NEXT, Form32x.THE_ONE, true, - "move/16"); + Opcodes.NO_NEXT, Form32x.THE_ONE, true); public static final Dop MOVE_WIDE = new Dop(Opcodes.MOVE_WIDE, Opcodes.MOVE_WIDE, - Opcodes.MOVE_WIDE_FROM16, Form12x.THE_ONE, true, - "move-wide"); + Opcodes.MOVE_WIDE_FROM16, Form12x.THE_ONE, true); public static final Dop MOVE_WIDE_FROM16 = new Dop(Opcodes.MOVE_WIDE_FROM16, Opcodes.MOVE_WIDE, - Opcodes.MOVE_WIDE_16, Form22x.THE_ONE, true, - "move-wide/from16"); + Opcodes.MOVE_WIDE_16, Form22x.THE_ONE, true); public static final Dop MOVE_WIDE_16 = new Dop(Opcodes.MOVE_WIDE_16, Opcodes.MOVE_WIDE, - Opcodes.NO_NEXT, Form32x.THE_ONE, true, - "move-wide/16"); + Opcodes.NO_NEXT, Form32x.THE_ONE, true); public static final Dop MOVE_OBJECT = new Dop(Opcodes.MOVE_OBJECT, Opcodes.MOVE_OBJECT, - Opcodes.MOVE_OBJECT_FROM16, Form12x.THE_ONE, true, - "move-object"); + Opcodes.MOVE_OBJECT_FROM16, Form12x.THE_ONE, true); public static final Dop MOVE_OBJECT_FROM16 = new Dop(Opcodes.MOVE_OBJECT_FROM16, Opcodes.MOVE_OBJECT, - Opcodes.MOVE_OBJECT_16, Form22x.THE_ONE, true, - "move-object/from16"); + Opcodes.MOVE_OBJECT_16, Form22x.THE_ONE, true); public static final Dop MOVE_OBJECT_16 = new Dop(Opcodes.MOVE_OBJECT_16, Opcodes.MOVE_OBJECT, - Opcodes.NO_NEXT, Form32x.THE_ONE, true, - "move-object/16"); + Opcodes.NO_NEXT, Form32x.THE_ONE, true); public static final Dop MOVE_RESULT = new Dop(Opcodes.MOVE_RESULT, Opcodes.MOVE_RESULT, - Opcodes.NO_NEXT, Form11x.THE_ONE, true, - "move-result"); + Opcodes.NO_NEXT, Form11x.THE_ONE, true); public static final Dop MOVE_RESULT_WIDE = new Dop(Opcodes.MOVE_RESULT_WIDE, Opcodes.MOVE_RESULT_WIDE, - Opcodes.NO_NEXT, Form11x.THE_ONE, true, - "move-result-wide"); + Opcodes.NO_NEXT, Form11x.THE_ONE, true); public static final Dop MOVE_RESULT_OBJECT = new Dop(Opcodes.MOVE_RESULT_OBJECT, Opcodes.MOVE_RESULT_OBJECT, - Opcodes.NO_NEXT, Form11x.THE_ONE, true, - "move-result-object"); + Opcodes.NO_NEXT, Form11x.THE_ONE, true); public static final Dop MOVE_EXCEPTION = new Dop(Opcodes.MOVE_EXCEPTION, Opcodes.MOVE_EXCEPTION, - Opcodes.NO_NEXT, Form11x.THE_ONE, true, - "move-exception"); + Opcodes.NO_NEXT, Form11x.THE_ONE, true); public static final Dop RETURN_VOID = new Dop(Opcodes.RETURN_VOID, Opcodes.RETURN_VOID, - Opcodes.NO_NEXT, Form10x.THE_ONE, false, - "return-void"); + Opcodes.NO_NEXT, Form10x.THE_ONE, false); public static final Dop RETURN = new Dop(Opcodes.RETURN, Opcodes.RETURN, - Opcodes.NO_NEXT, Form11x.THE_ONE, false, - "return"); + Opcodes.NO_NEXT, Form11x.THE_ONE, false); public static final Dop RETURN_WIDE = new Dop(Opcodes.RETURN_WIDE, Opcodes.RETURN_WIDE, - Opcodes.NO_NEXT, Form11x.THE_ONE, false, - "return-wide"); + Opcodes.NO_NEXT, Form11x.THE_ONE, false); public static final Dop RETURN_OBJECT = new Dop(Opcodes.RETURN_OBJECT, Opcodes.RETURN_OBJECT, - Opcodes.NO_NEXT, Form11x.THE_ONE, false, - "return-object"); + Opcodes.NO_NEXT, Form11x.THE_ONE, false); public static final Dop CONST_4 = new Dop(Opcodes.CONST_4, Opcodes.CONST, - Opcodes.CONST_16, Form11n.THE_ONE, true, - "const/4"); + Opcodes.CONST_16, Form11n.THE_ONE, true); public static final Dop CONST_16 = new Dop(Opcodes.CONST_16, Opcodes.CONST, - Opcodes.CONST_HIGH16, Form21s.THE_ONE, true, - "const/16"); + Opcodes.CONST_HIGH16, Form21s.THE_ONE, true); public static final Dop CONST = new Dop(Opcodes.CONST, Opcodes.CONST, - Opcodes.NO_NEXT, Form31i.THE_ONE, true, - "const"); + Opcodes.NO_NEXT, Form31i.THE_ONE, true); public static final Dop CONST_HIGH16 = new Dop(Opcodes.CONST_HIGH16, Opcodes.CONST, - Opcodes.CONST, Form21h.THE_ONE, true, - "const/high16"); + Opcodes.CONST, Form21h.THE_ONE, true); public static final Dop CONST_WIDE_16 = new Dop(Opcodes.CONST_WIDE_16, Opcodes.CONST_WIDE, - Opcodes.CONST_WIDE_HIGH16, Form21s.THE_ONE, true, - "const-wide/16"); + Opcodes.CONST_WIDE_HIGH16, Form21s.THE_ONE, true); public static final Dop CONST_WIDE_32 = new Dop(Opcodes.CONST_WIDE_32, Opcodes.CONST_WIDE, - Opcodes.CONST_WIDE, Form31i.THE_ONE, true, - "const-wide/32"); + Opcodes.CONST_WIDE, Form31i.THE_ONE, true); public static final Dop CONST_WIDE = new Dop(Opcodes.CONST_WIDE, Opcodes.CONST_WIDE, - Opcodes.NO_NEXT, Form51l.THE_ONE, true, - "const-wide"); + Opcodes.NO_NEXT, Form51l.THE_ONE, true); public static final Dop CONST_WIDE_HIGH16 = new Dop(Opcodes.CONST_WIDE_HIGH16, Opcodes.CONST_WIDE, - Opcodes.CONST_WIDE_32, Form21h.THE_ONE, true, - "const-wide/high16"); + Opcodes.CONST_WIDE_32, Form21h.THE_ONE, true); public static final Dop CONST_STRING = new Dop(Opcodes.CONST_STRING, Opcodes.CONST_STRING, - Opcodes.CONST_STRING_JUMBO, Form21c.THE_ONE, true, - "const-string"); + Opcodes.CONST_STRING_JUMBO, Form21c.THE_ONE, true); public static final Dop CONST_STRING_JUMBO = new Dop(Opcodes.CONST_STRING_JUMBO, Opcodes.CONST_STRING, - Opcodes.NO_NEXT, Form31c.THE_ONE, true, - "const-string/jumbo"); + Opcodes.NO_NEXT, Form31c.THE_ONE, true); public static final Dop CONST_CLASS = new Dop(Opcodes.CONST_CLASS, Opcodes.CONST_CLASS, - Opcodes.CONST_CLASS_JUMBO, Form21c.THE_ONE, true, - "const-class"); + Opcodes.CONST_CLASS_JUMBO, Form21c.THE_ONE, true); public static final Dop MONITOR_ENTER = new Dop(Opcodes.MONITOR_ENTER, Opcodes.MONITOR_ENTER, - Opcodes.NO_NEXT, Form11x.THE_ONE, false, - "monitor-enter"); + Opcodes.NO_NEXT, Form11x.THE_ONE, false); public static final Dop MONITOR_EXIT = new Dop(Opcodes.MONITOR_EXIT, Opcodes.MONITOR_EXIT, - Opcodes.NO_NEXT, Form11x.THE_ONE, false, - "monitor-exit"); + Opcodes.NO_NEXT, Form11x.THE_ONE, false); public static final Dop CHECK_CAST = new Dop(Opcodes.CHECK_CAST, Opcodes.CHECK_CAST, - Opcodes.CHECK_CAST_JUMBO, Form21c.THE_ONE, true, - "check-cast"); + Opcodes.CHECK_CAST_JUMBO, Form21c.THE_ONE, true); public static final Dop INSTANCE_OF = new Dop(Opcodes.INSTANCE_OF, Opcodes.INSTANCE_OF, - Opcodes.INSTANCE_OF_JUMBO, Form22c.THE_ONE, true, - "instance-of"); + Opcodes.INSTANCE_OF_JUMBO, Form22c.THE_ONE, true); public static final Dop ARRAY_LENGTH = new Dop(Opcodes.ARRAY_LENGTH, Opcodes.ARRAY_LENGTH, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "array-length"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop NEW_INSTANCE = new Dop(Opcodes.NEW_INSTANCE, Opcodes.NEW_INSTANCE, - Opcodes.NEW_INSTANCE_JUMBO, Form21c.THE_ONE, true, - "new-instance"); + Opcodes.NEW_INSTANCE_JUMBO, Form21c.THE_ONE, true); public static final Dop NEW_ARRAY = new Dop(Opcodes.NEW_ARRAY, Opcodes.NEW_ARRAY, - Opcodes.NEW_ARRAY_JUMBO, Form22c.THE_ONE, true, - "new-array"); + Opcodes.NEW_ARRAY_JUMBO, Form22c.THE_ONE, true); public static final Dop FILLED_NEW_ARRAY = new Dop(Opcodes.FILLED_NEW_ARRAY, Opcodes.FILLED_NEW_ARRAY, - Opcodes.FILLED_NEW_ARRAY_RANGE, Form35c.THE_ONE, false, - "filled-new-array"); + Opcodes.FILLED_NEW_ARRAY_RANGE, Form35c.THE_ONE, false); public static final Dop FILLED_NEW_ARRAY_RANGE = new Dop(Opcodes.FILLED_NEW_ARRAY_RANGE, Opcodes.FILLED_NEW_ARRAY, - Opcodes.FILLED_NEW_ARRAY_JUMBO, Form3rc.THE_ONE, false, - "filled-new-array/range"); + Opcodes.FILLED_NEW_ARRAY_JUMBO, Form3rc.THE_ONE, false); public static final Dop FILL_ARRAY_DATA = new Dop(Opcodes.FILL_ARRAY_DATA, Opcodes.FILL_ARRAY_DATA, - Opcodes.NO_NEXT, Form31t.THE_ONE, false, - "fill-array-data"); + Opcodes.NO_NEXT, Form31t.THE_ONE, false); public static final Dop THROW = new Dop(Opcodes.THROW, Opcodes.THROW, - Opcodes.NO_NEXT, Form11x.THE_ONE, false, - "throw"); + Opcodes.NO_NEXT, Form11x.THE_ONE, false); public static final Dop GOTO = new Dop(Opcodes.GOTO, Opcodes.GOTO, - Opcodes.GOTO_16, Form10t.THE_ONE, false, - "goto"); + Opcodes.GOTO_16, Form10t.THE_ONE, false); public static final Dop GOTO_16 = new Dop(Opcodes.GOTO_16, Opcodes.GOTO, - Opcodes.GOTO_32, Form20t.THE_ONE, false, - "goto/16"); + Opcodes.GOTO_32, Form20t.THE_ONE, false); public static final Dop GOTO_32 = new Dop(Opcodes.GOTO_32, Opcodes.GOTO, - Opcodes.NO_NEXT, Form30t.THE_ONE, false, - "goto/32"); + Opcodes.NO_NEXT, Form30t.THE_ONE, false); public static final Dop PACKED_SWITCH = new Dop(Opcodes.PACKED_SWITCH, Opcodes.PACKED_SWITCH, - Opcodes.NO_NEXT, Form31t.THE_ONE, false, - "packed-switch"); + Opcodes.NO_NEXT, Form31t.THE_ONE, false); public static final Dop SPARSE_SWITCH = new Dop(Opcodes.SPARSE_SWITCH, Opcodes.SPARSE_SWITCH, - Opcodes.NO_NEXT, Form31t.THE_ONE, false, - "sparse-switch"); + Opcodes.NO_NEXT, Form31t.THE_ONE, false); public static final Dop CMPL_FLOAT = new Dop(Opcodes.CMPL_FLOAT, Opcodes.CMPL_FLOAT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "cmpl-float"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop CMPG_FLOAT = new Dop(Opcodes.CMPG_FLOAT, Opcodes.CMPG_FLOAT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "cmpg-float"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop CMPL_DOUBLE = new Dop(Opcodes.CMPL_DOUBLE, Opcodes.CMPL_DOUBLE, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "cmpl-double"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop CMPG_DOUBLE = new Dop(Opcodes.CMPG_DOUBLE, Opcodes.CMPG_DOUBLE, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "cmpg-double"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop CMP_LONG = new Dop(Opcodes.CMP_LONG, Opcodes.CMP_LONG, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "cmp-long"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop IF_EQ = new Dop(Opcodes.IF_EQ, Opcodes.IF_EQ, - Opcodes.NO_NEXT, Form22t.THE_ONE, false, - "if-eq"); + Opcodes.NO_NEXT, Form22t.THE_ONE, false); public static final Dop IF_NE = new Dop(Opcodes.IF_NE, Opcodes.IF_NE, - Opcodes.NO_NEXT, Form22t.THE_ONE, false, - "if-ne"); + Opcodes.NO_NEXT, Form22t.THE_ONE, false); public static final Dop IF_LT = new Dop(Opcodes.IF_LT, Opcodes.IF_LT, - Opcodes.NO_NEXT, Form22t.THE_ONE, false, - "if-lt"); + Opcodes.NO_NEXT, Form22t.THE_ONE, false); public static final Dop IF_GE = new Dop(Opcodes.IF_GE, Opcodes.IF_GE, - Opcodes.NO_NEXT, Form22t.THE_ONE, false, - "if-ge"); + Opcodes.NO_NEXT, Form22t.THE_ONE, false); public static final Dop IF_GT = new Dop(Opcodes.IF_GT, Opcodes.IF_GT, - Opcodes.NO_NEXT, Form22t.THE_ONE, false, - "if-gt"); + Opcodes.NO_NEXT, Form22t.THE_ONE, false); public static final Dop IF_LE = new Dop(Opcodes.IF_LE, Opcodes.IF_LE, - Opcodes.NO_NEXT, Form22t.THE_ONE, false, - "if-le"); + Opcodes.NO_NEXT, Form22t.THE_ONE, false); public static final Dop IF_EQZ = new Dop(Opcodes.IF_EQZ, Opcodes.IF_EQZ, - Opcodes.NO_NEXT, Form21t.THE_ONE, false, - "if-eqz"); + Opcodes.NO_NEXT, Form21t.THE_ONE, false); public static final Dop IF_NEZ = new Dop(Opcodes.IF_NEZ, Opcodes.IF_NEZ, - Opcodes.NO_NEXT, Form21t.THE_ONE, false, - "if-nez"); + Opcodes.NO_NEXT, Form21t.THE_ONE, false); public static final Dop IF_LTZ = new Dop(Opcodes.IF_LTZ, Opcodes.IF_LTZ, - Opcodes.NO_NEXT, Form21t.THE_ONE, false, - "if-ltz"); + Opcodes.NO_NEXT, Form21t.THE_ONE, false); public static final Dop IF_GEZ = new Dop(Opcodes.IF_GEZ, Opcodes.IF_GEZ, - Opcodes.NO_NEXT, Form21t.THE_ONE, false, - "if-gez"); + Opcodes.NO_NEXT, Form21t.THE_ONE, false); public static final Dop IF_GTZ = new Dop(Opcodes.IF_GTZ, Opcodes.IF_GTZ, - Opcodes.NO_NEXT, Form21t.THE_ONE, false, - "if-gtz"); + Opcodes.NO_NEXT, Form21t.THE_ONE, false); public static final Dop IF_LEZ = new Dop(Opcodes.IF_LEZ, Opcodes.IF_LEZ, - Opcodes.NO_NEXT, Form21t.THE_ONE, false, - "if-lez"); + Opcodes.NO_NEXT, Form21t.THE_ONE, false); public static final Dop AGET = new Dop(Opcodes.AGET, Opcodes.AGET, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "aget"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop AGET_WIDE = new Dop(Opcodes.AGET_WIDE, Opcodes.AGET_WIDE, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "aget-wide"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop AGET_OBJECT = new Dop(Opcodes.AGET_OBJECT, Opcodes.AGET_OBJECT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "aget-object"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop AGET_BOOLEAN = new Dop(Opcodes.AGET_BOOLEAN, Opcodes.AGET_BOOLEAN, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "aget-boolean"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop AGET_BYTE = new Dop(Opcodes.AGET_BYTE, Opcodes.AGET_BYTE, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "aget-byte"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop AGET_CHAR = new Dop(Opcodes.AGET_CHAR, Opcodes.AGET_CHAR, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "aget-char"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop AGET_SHORT = new Dop(Opcodes.AGET_SHORT, Opcodes.AGET_SHORT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "aget-short"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop APUT = new Dop(Opcodes.APUT, Opcodes.APUT, - Opcodes.NO_NEXT, Form23x.THE_ONE, false, - "aput"); + Opcodes.NO_NEXT, Form23x.THE_ONE, false); public static final Dop APUT_WIDE = new Dop(Opcodes.APUT_WIDE, Opcodes.APUT_WIDE, - Opcodes.NO_NEXT, Form23x.THE_ONE, false, - "aput-wide"); + Opcodes.NO_NEXT, Form23x.THE_ONE, false); public static final Dop APUT_OBJECT = new Dop(Opcodes.APUT_OBJECT, Opcodes.APUT_OBJECT, - Opcodes.NO_NEXT, Form23x.THE_ONE, false, - "aput-object"); + Opcodes.NO_NEXT, Form23x.THE_ONE, false); public static final Dop APUT_BOOLEAN = new Dop(Opcodes.APUT_BOOLEAN, Opcodes.APUT_BOOLEAN, - Opcodes.NO_NEXT, Form23x.THE_ONE, false, - "aput-boolean"); + Opcodes.NO_NEXT, Form23x.THE_ONE, false); public static final Dop APUT_BYTE = new Dop(Opcodes.APUT_BYTE, Opcodes.APUT_BYTE, - Opcodes.NO_NEXT, Form23x.THE_ONE, false, - "aput-byte"); + Opcodes.NO_NEXT, Form23x.THE_ONE, false); public static final Dop APUT_CHAR = new Dop(Opcodes.APUT_CHAR, Opcodes.APUT_CHAR, - Opcodes.NO_NEXT, Form23x.THE_ONE, false, - "aput-char"); + Opcodes.NO_NEXT, Form23x.THE_ONE, false); public static final Dop APUT_SHORT = new Dop(Opcodes.APUT_SHORT, Opcodes.APUT_SHORT, - Opcodes.NO_NEXT, Form23x.THE_ONE, false, - "aput-short"); + Opcodes.NO_NEXT, Form23x.THE_ONE, false); public static final Dop IGET = new Dop(Opcodes.IGET, Opcodes.IGET, - Opcodes.IGET_JUMBO, Form22c.THE_ONE, true, - "iget"); + Opcodes.IGET_JUMBO, Form22c.THE_ONE, true); public static final Dop IGET_WIDE = new Dop(Opcodes.IGET_WIDE, Opcodes.IGET_WIDE, - Opcodes.IGET_WIDE_JUMBO, Form22c.THE_ONE, true, - "iget-wide"); + Opcodes.IGET_WIDE_JUMBO, Form22c.THE_ONE, true); public static final Dop IGET_OBJECT = new Dop(Opcodes.IGET_OBJECT, Opcodes.IGET_OBJECT, - Opcodes.IGET_OBJECT_JUMBO, Form22c.THE_ONE, true, - "iget-object"); + Opcodes.IGET_OBJECT_JUMBO, Form22c.THE_ONE, true); public static final Dop IGET_BOOLEAN = new Dop(Opcodes.IGET_BOOLEAN, Opcodes.IGET_BOOLEAN, - Opcodes.IGET_BOOLEAN_JUMBO, Form22c.THE_ONE, true, - "iget-boolean"); + Opcodes.IGET_BOOLEAN_JUMBO, Form22c.THE_ONE, true); public static final Dop IGET_BYTE = new Dop(Opcodes.IGET_BYTE, Opcodes.IGET_BYTE, - Opcodes.IGET_BYTE_JUMBO, Form22c.THE_ONE, true, - "iget-byte"); + Opcodes.IGET_BYTE_JUMBO, Form22c.THE_ONE, true); public static final Dop IGET_CHAR = new Dop(Opcodes.IGET_CHAR, Opcodes.IGET_CHAR, - Opcodes.IGET_CHAR_JUMBO, Form22c.THE_ONE, true, - "iget-char"); + Opcodes.IGET_CHAR_JUMBO, Form22c.THE_ONE, true); public static final Dop IGET_SHORT = new Dop(Opcodes.IGET_SHORT, Opcodes.IGET_SHORT, - Opcodes.IGET_SHORT_JUMBO, Form22c.THE_ONE, true, - "iget-short"); + Opcodes.IGET_SHORT_JUMBO, Form22c.THE_ONE, true); public static final Dop IPUT = new Dop(Opcodes.IPUT, Opcodes.IPUT, - Opcodes.IPUT_JUMBO, Form22c.THE_ONE, false, - "iput"); + Opcodes.IPUT_JUMBO, Form22c.THE_ONE, false); public static final Dop IPUT_WIDE = new Dop(Opcodes.IPUT_WIDE, Opcodes.IPUT_WIDE, - Opcodes.IPUT_WIDE_JUMBO, Form22c.THE_ONE, false, - "iput-wide"); + Opcodes.IPUT_WIDE_JUMBO, Form22c.THE_ONE, false); public static final Dop IPUT_OBJECT = new Dop(Opcodes.IPUT_OBJECT, Opcodes.IPUT_OBJECT, - Opcodes.IPUT_OBJECT_JUMBO, Form22c.THE_ONE, false, - "iput-object"); + Opcodes.IPUT_OBJECT_JUMBO, Form22c.THE_ONE, false); public static final Dop IPUT_BOOLEAN = new Dop(Opcodes.IPUT_BOOLEAN, Opcodes.IPUT_BOOLEAN, - Opcodes.IPUT_BOOLEAN_JUMBO, Form22c.THE_ONE, false, - "iput-boolean"); + Opcodes.IPUT_BOOLEAN_JUMBO, Form22c.THE_ONE, false); public static final Dop IPUT_BYTE = new Dop(Opcodes.IPUT_BYTE, Opcodes.IPUT_BYTE, - Opcodes.IPUT_BYTE_JUMBO, Form22c.THE_ONE, false, - "iput-byte"); + Opcodes.IPUT_BYTE_JUMBO, Form22c.THE_ONE, false); public static final Dop IPUT_CHAR = new Dop(Opcodes.IPUT_CHAR, Opcodes.IPUT_CHAR, - Opcodes.IPUT_CHAR_JUMBO, Form22c.THE_ONE, false, - "iput-char"); + Opcodes.IPUT_CHAR_JUMBO, Form22c.THE_ONE, false); public static final Dop IPUT_SHORT = new Dop(Opcodes.IPUT_SHORT, Opcodes.IPUT_SHORT, - Opcodes.IPUT_SHORT_JUMBO, Form22c.THE_ONE, false, - "iput-short"); + Opcodes.IPUT_SHORT_JUMBO, Form22c.THE_ONE, false); public static final Dop SGET = new Dop(Opcodes.SGET, Opcodes.SGET, - Opcodes.SGET_JUMBO, Form21c.THE_ONE, true, - "sget"); + Opcodes.SGET_JUMBO, Form21c.THE_ONE, true); public static final Dop SGET_WIDE = new Dop(Opcodes.SGET_WIDE, Opcodes.SGET_WIDE, - Opcodes.SGET_WIDE_JUMBO, Form21c.THE_ONE, true, - "sget-wide"); + Opcodes.SGET_WIDE_JUMBO, Form21c.THE_ONE, true); public static final Dop SGET_OBJECT = new Dop(Opcodes.SGET_OBJECT, Opcodes.SGET_OBJECT, - Opcodes.SGET_OBJECT_JUMBO, Form21c.THE_ONE, true, - "sget-object"); + Opcodes.SGET_OBJECT_JUMBO, Form21c.THE_ONE, true); public static final Dop SGET_BOOLEAN = new Dop(Opcodes.SGET_BOOLEAN, Opcodes.SGET_BOOLEAN, - Opcodes.SGET_BOOLEAN_JUMBO, Form21c.THE_ONE, true, - "sget-boolean"); + Opcodes.SGET_BOOLEAN_JUMBO, Form21c.THE_ONE, true); public static final Dop SGET_BYTE = new Dop(Opcodes.SGET_BYTE, Opcodes.SGET_BYTE, - Opcodes.SGET_BYTE_JUMBO, Form21c.THE_ONE, true, - "sget-byte"); + Opcodes.SGET_BYTE_JUMBO, Form21c.THE_ONE, true); public static final Dop SGET_CHAR = new Dop(Opcodes.SGET_CHAR, Opcodes.SGET_CHAR, - Opcodes.SGET_CHAR_JUMBO, Form21c.THE_ONE, true, - "sget-char"); + Opcodes.SGET_CHAR_JUMBO, Form21c.THE_ONE, true); public static final Dop SGET_SHORT = new Dop(Opcodes.SGET_SHORT, Opcodes.SGET_SHORT, - Opcodes.SGET_SHORT_JUMBO, Form21c.THE_ONE, true, - "sget-short"); + Opcodes.SGET_SHORT_JUMBO, Form21c.THE_ONE, true); public static final Dop SPUT = new Dop(Opcodes.SPUT, Opcodes.SPUT, - Opcodes.SPUT_JUMBO, Form21c.THE_ONE, false, - "sput"); + Opcodes.SPUT_JUMBO, Form21c.THE_ONE, false); public static final Dop SPUT_WIDE = new Dop(Opcodes.SPUT_WIDE, Opcodes.SPUT_WIDE, - Opcodes.SPUT_WIDE_JUMBO, Form21c.THE_ONE, false, - "sput-wide"); + Opcodes.SPUT_WIDE_JUMBO, Form21c.THE_ONE, false); public static final Dop SPUT_OBJECT = new Dop(Opcodes.SPUT_OBJECT, Opcodes.SPUT_OBJECT, - Opcodes.SPUT_OBJECT_JUMBO, Form21c.THE_ONE, false, - "sput-object"); + Opcodes.SPUT_OBJECT_JUMBO, Form21c.THE_ONE, false); public static final Dop SPUT_BOOLEAN = new Dop(Opcodes.SPUT_BOOLEAN, Opcodes.SPUT_BOOLEAN, - Opcodes.SPUT_BOOLEAN_JUMBO, Form21c.THE_ONE, false, - "sput-boolean"); + Opcodes.SPUT_BOOLEAN_JUMBO, Form21c.THE_ONE, false); public static final Dop SPUT_BYTE = new Dop(Opcodes.SPUT_BYTE, Opcodes.SPUT_BYTE, - Opcodes.SPUT_BYTE_JUMBO, Form21c.THE_ONE, false, - "sput-byte"); + Opcodes.SPUT_BYTE_JUMBO, Form21c.THE_ONE, false); public static final Dop SPUT_CHAR = new Dop(Opcodes.SPUT_CHAR, Opcodes.SPUT_CHAR, - Opcodes.SPUT_CHAR_JUMBO, Form21c.THE_ONE, false, - "sput-char"); + Opcodes.SPUT_CHAR_JUMBO, Form21c.THE_ONE, false); public static final Dop SPUT_SHORT = new Dop(Opcodes.SPUT_SHORT, Opcodes.SPUT_SHORT, - Opcodes.SPUT_SHORT_JUMBO, Form21c.THE_ONE, false, - "sput-short"); + Opcodes.SPUT_SHORT_JUMBO, Form21c.THE_ONE, false); public static final Dop INVOKE_VIRTUAL = new Dop(Opcodes.INVOKE_VIRTUAL, Opcodes.INVOKE_VIRTUAL, - Opcodes.INVOKE_VIRTUAL_RANGE, Form35c.THE_ONE, false, - "invoke-virtual"); + Opcodes.INVOKE_VIRTUAL_RANGE, Form35c.THE_ONE, false); public static final Dop INVOKE_SUPER = new Dop(Opcodes.INVOKE_SUPER, Opcodes.INVOKE_SUPER, - Opcodes.INVOKE_SUPER_RANGE, Form35c.THE_ONE, false, - "invoke-super"); + Opcodes.INVOKE_SUPER_RANGE, Form35c.THE_ONE, false); public static final Dop INVOKE_DIRECT = new Dop(Opcodes.INVOKE_DIRECT, Opcodes.INVOKE_DIRECT, - Opcodes.INVOKE_DIRECT_RANGE, Form35c.THE_ONE, false, - "invoke-direct"); + Opcodes.INVOKE_DIRECT_RANGE, Form35c.THE_ONE, false); public static final Dop INVOKE_STATIC = new Dop(Opcodes.INVOKE_STATIC, Opcodes.INVOKE_STATIC, - Opcodes.INVOKE_STATIC_RANGE, Form35c.THE_ONE, false, - "invoke-static"); + Opcodes.INVOKE_STATIC_RANGE, Form35c.THE_ONE, false); public static final Dop INVOKE_INTERFACE = new Dop(Opcodes.INVOKE_INTERFACE, Opcodes.INVOKE_INTERFACE, - Opcodes.INVOKE_INTERFACE_RANGE, Form35c.THE_ONE, false, - "invoke-interface"); + Opcodes.INVOKE_INTERFACE_RANGE, Form35c.THE_ONE, false); public static final Dop INVOKE_VIRTUAL_RANGE = new Dop(Opcodes.INVOKE_VIRTUAL_RANGE, Opcodes.INVOKE_VIRTUAL, - Opcodes.INVOKE_VIRTUAL_JUMBO, Form3rc.THE_ONE, false, - "invoke-virtual/range"); + Opcodes.INVOKE_VIRTUAL_JUMBO, Form3rc.THE_ONE, false); public static final Dop INVOKE_SUPER_RANGE = new Dop(Opcodes.INVOKE_SUPER_RANGE, Opcodes.INVOKE_SUPER, - Opcodes.INVOKE_SUPER_JUMBO, Form3rc.THE_ONE, false, - "invoke-super/range"); + Opcodes.INVOKE_SUPER_JUMBO, Form3rc.THE_ONE, false); public static final Dop INVOKE_DIRECT_RANGE = new Dop(Opcodes.INVOKE_DIRECT_RANGE, Opcodes.INVOKE_DIRECT, - Opcodes.INVOKE_DIRECT_JUMBO, Form3rc.THE_ONE, false, - "invoke-direct/range"); + Opcodes.INVOKE_DIRECT_JUMBO, Form3rc.THE_ONE, false); public static final Dop INVOKE_STATIC_RANGE = new Dop(Opcodes.INVOKE_STATIC_RANGE, Opcodes.INVOKE_STATIC, - Opcodes.INVOKE_STATIC_JUMBO, Form3rc.THE_ONE, false, - "invoke-static/range"); + Opcodes.INVOKE_STATIC_JUMBO, Form3rc.THE_ONE, false); public static final Dop INVOKE_INTERFACE_RANGE = new Dop(Opcodes.INVOKE_INTERFACE_RANGE, Opcodes.INVOKE_INTERFACE, - Opcodes.INVOKE_INTERFACE_JUMBO, Form3rc.THE_ONE, false, - "invoke-interface/range"); + Opcodes.INVOKE_INTERFACE_JUMBO, Form3rc.THE_ONE, false); public static final Dop NEG_INT = new Dop(Opcodes.NEG_INT, Opcodes.NEG_INT, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "neg-int"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop NOT_INT = new Dop(Opcodes.NOT_INT, Opcodes.NOT_INT, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "not-int"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop NEG_LONG = new Dop(Opcodes.NEG_LONG, Opcodes.NEG_LONG, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "neg-long"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop NOT_LONG = new Dop(Opcodes.NOT_LONG, Opcodes.NOT_LONG, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "not-long"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop NEG_FLOAT = new Dop(Opcodes.NEG_FLOAT, Opcodes.NEG_FLOAT, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "neg-float"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop NEG_DOUBLE = new Dop(Opcodes.NEG_DOUBLE, Opcodes.NEG_DOUBLE, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "neg-double"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop INT_TO_LONG = new Dop(Opcodes.INT_TO_LONG, Opcodes.INT_TO_LONG, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "int-to-long"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop INT_TO_FLOAT = new Dop(Opcodes.INT_TO_FLOAT, Opcodes.INT_TO_FLOAT, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "int-to-float"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop INT_TO_DOUBLE = new Dop(Opcodes.INT_TO_DOUBLE, Opcodes.INT_TO_DOUBLE, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "int-to-double"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop LONG_TO_INT = new Dop(Opcodes.LONG_TO_INT, Opcodes.LONG_TO_INT, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "long-to-int"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop LONG_TO_FLOAT = new Dop(Opcodes.LONG_TO_FLOAT, Opcodes.LONG_TO_FLOAT, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "long-to-float"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop LONG_TO_DOUBLE = new Dop(Opcodes.LONG_TO_DOUBLE, Opcodes.LONG_TO_DOUBLE, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "long-to-double"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop FLOAT_TO_INT = new Dop(Opcodes.FLOAT_TO_INT, Opcodes.FLOAT_TO_INT, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "float-to-int"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop FLOAT_TO_LONG = new Dop(Opcodes.FLOAT_TO_LONG, Opcodes.FLOAT_TO_LONG, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "float-to-long"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop FLOAT_TO_DOUBLE = new Dop(Opcodes.FLOAT_TO_DOUBLE, Opcodes.FLOAT_TO_DOUBLE, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "float-to-double"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop DOUBLE_TO_INT = new Dop(Opcodes.DOUBLE_TO_INT, Opcodes.DOUBLE_TO_INT, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "double-to-int"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop DOUBLE_TO_LONG = new Dop(Opcodes.DOUBLE_TO_LONG, Opcodes.DOUBLE_TO_LONG, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "double-to-long"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop DOUBLE_TO_FLOAT = new Dop(Opcodes.DOUBLE_TO_FLOAT, Opcodes.DOUBLE_TO_FLOAT, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "double-to-float"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop INT_TO_BYTE = new Dop(Opcodes.INT_TO_BYTE, Opcodes.INT_TO_BYTE, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "int-to-byte"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop INT_TO_CHAR = new Dop(Opcodes.INT_TO_CHAR, Opcodes.INT_TO_CHAR, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "int-to-char"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop INT_TO_SHORT = new Dop(Opcodes.INT_TO_SHORT, Opcodes.INT_TO_SHORT, - Opcodes.NO_NEXT, Form12x.THE_ONE, true, - "int-to-short"); + Opcodes.NO_NEXT, Form12x.THE_ONE, true); public static final Dop ADD_INT = new Dop(Opcodes.ADD_INT, Opcodes.ADD_INT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "add-int"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop SUB_INT = new Dop(Opcodes.SUB_INT, Opcodes.SUB_INT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "sub-int"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop MUL_INT = new Dop(Opcodes.MUL_INT, Opcodes.MUL_INT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "mul-int"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop DIV_INT = new Dop(Opcodes.DIV_INT, Opcodes.DIV_INT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "div-int"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop REM_INT = new Dop(Opcodes.REM_INT, Opcodes.REM_INT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "rem-int"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop AND_INT = new Dop(Opcodes.AND_INT, Opcodes.AND_INT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "and-int"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop OR_INT = new Dop(Opcodes.OR_INT, Opcodes.OR_INT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "or-int"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop XOR_INT = new Dop(Opcodes.XOR_INT, Opcodes.XOR_INT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "xor-int"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop SHL_INT = new Dop(Opcodes.SHL_INT, Opcodes.SHL_INT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "shl-int"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop SHR_INT = new Dop(Opcodes.SHR_INT, Opcodes.SHR_INT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "shr-int"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop USHR_INT = new Dop(Opcodes.USHR_INT, Opcodes.USHR_INT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "ushr-int"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop ADD_LONG = new Dop(Opcodes.ADD_LONG, Opcodes.ADD_LONG, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "add-long"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop SUB_LONG = new Dop(Opcodes.SUB_LONG, Opcodes.SUB_LONG, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "sub-long"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop MUL_LONG = new Dop(Opcodes.MUL_LONG, Opcodes.MUL_LONG, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "mul-long"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop DIV_LONG = new Dop(Opcodes.DIV_LONG, Opcodes.DIV_LONG, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "div-long"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop REM_LONG = new Dop(Opcodes.REM_LONG, Opcodes.REM_LONG, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "rem-long"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop AND_LONG = new Dop(Opcodes.AND_LONG, Opcodes.AND_LONG, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "and-long"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop OR_LONG = new Dop(Opcodes.OR_LONG, Opcodes.OR_LONG, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "or-long"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop XOR_LONG = new Dop(Opcodes.XOR_LONG, Opcodes.XOR_LONG, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "xor-long"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop SHL_LONG = new Dop(Opcodes.SHL_LONG, Opcodes.SHL_LONG, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "shl-long"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop SHR_LONG = new Dop(Opcodes.SHR_LONG, Opcodes.SHR_LONG, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "shr-long"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop USHR_LONG = new Dop(Opcodes.USHR_LONG, Opcodes.USHR_LONG, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "ushr-long"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop ADD_FLOAT = new Dop(Opcodes.ADD_FLOAT, Opcodes.ADD_FLOAT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "add-float"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop SUB_FLOAT = new Dop(Opcodes.SUB_FLOAT, Opcodes.SUB_FLOAT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "sub-float"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop MUL_FLOAT = new Dop(Opcodes.MUL_FLOAT, Opcodes.MUL_FLOAT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "mul-float"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop DIV_FLOAT = new Dop(Opcodes.DIV_FLOAT, Opcodes.DIV_FLOAT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "div-float"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop REM_FLOAT = new Dop(Opcodes.REM_FLOAT, Opcodes.REM_FLOAT, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "rem-float"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop ADD_DOUBLE = new Dop(Opcodes.ADD_DOUBLE, Opcodes.ADD_DOUBLE, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "add-double"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop SUB_DOUBLE = new Dop(Opcodes.SUB_DOUBLE, Opcodes.SUB_DOUBLE, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "sub-double"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop MUL_DOUBLE = new Dop(Opcodes.MUL_DOUBLE, Opcodes.MUL_DOUBLE, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "mul-double"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop DIV_DOUBLE = new Dop(Opcodes.DIV_DOUBLE, Opcodes.DIV_DOUBLE, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "div-double"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop REM_DOUBLE = new Dop(Opcodes.REM_DOUBLE, Opcodes.REM_DOUBLE, - Opcodes.NO_NEXT, Form23x.THE_ONE, true, - "rem-double"); + Opcodes.NO_NEXT, Form23x.THE_ONE, true); public static final Dop ADD_INT_2ADDR = new Dop(Opcodes.ADD_INT_2ADDR, Opcodes.ADD_INT, - Opcodes.ADD_INT, Form12x.THE_ONE, true, - "add-int/2addr"); + Opcodes.ADD_INT, Form12x.THE_ONE, true); public static final Dop SUB_INT_2ADDR = new Dop(Opcodes.SUB_INT_2ADDR, Opcodes.SUB_INT, - Opcodes.SUB_INT, Form12x.THE_ONE, true, - "sub-int/2addr"); + Opcodes.SUB_INT, Form12x.THE_ONE, true); public static final Dop MUL_INT_2ADDR = new Dop(Opcodes.MUL_INT_2ADDR, Opcodes.MUL_INT, - Opcodes.MUL_INT, Form12x.THE_ONE, true, - "mul-int/2addr"); + Opcodes.MUL_INT, Form12x.THE_ONE, true); public static final Dop DIV_INT_2ADDR = new Dop(Opcodes.DIV_INT_2ADDR, Opcodes.DIV_INT, - Opcodes.DIV_INT, Form12x.THE_ONE, true, - "div-int/2addr"); + Opcodes.DIV_INT, Form12x.THE_ONE, true); public static final Dop REM_INT_2ADDR = new Dop(Opcodes.REM_INT_2ADDR, Opcodes.REM_INT, - Opcodes.REM_INT, Form12x.THE_ONE, true, - "rem-int/2addr"); + Opcodes.REM_INT, Form12x.THE_ONE, true); public static final Dop AND_INT_2ADDR = new Dop(Opcodes.AND_INT_2ADDR, Opcodes.AND_INT, - Opcodes.AND_INT, Form12x.THE_ONE, true, - "and-int/2addr"); + Opcodes.AND_INT, Form12x.THE_ONE, true); public static final Dop OR_INT_2ADDR = new Dop(Opcodes.OR_INT_2ADDR, Opcodes.OR_INT, - Opcodes.OR_INT, Form12x.THE_ONE, true, - "or-int/2addr"); + Opcodes.OR_INT, Form12x.THE_ONE, true); public static final Dop XOR_INT_2ADDR = new Dop(Opcodes.XOR_INT_2ADDR, Opcodes.XOR_INT, - Opcodes.XOR_INT, Form12x.THE_ONE, true, - "xor-int/2addr"); + Opcodes.XOR_INT, Form12x.THE_ONE, true); public static final Dop SHL_INT_2ADDR = new Dop(Opcodes.SHL_INT_2ADDR, Opcodes.SHL_INT, - Opcodes.SHL_INT, Form12x.THE_ONE, true, - "shl-int/2addr"); + Opcodes.SHL_INT, Form12x.THE_ONE, true); public static final Dop SHR_INT_2ADDR = new Dop(Opcodes.SHR_INT_2ADDR, Opcodes.SHR_INT, - Opcodes.SHR_INT, Form12x.THE_ONE, true, - "shr-int/2addr"); + Opcodes.SHR_INT, Form12x.THE_ONE, true); public static final Dop USHR_INT_2ADDR = new Dop(Opcodes.USHR_INT_2ADDR, Opcodes.USHR_INT, - Opcodes.USHR_INT, Form12x.THE_ONE, true, - "ushr-int/2addr"); + Opcodes.USHR_INT, Form12x.THE_ONE, true); public static final Dop ADD_LONG_2ADDR = new Dop(Opcodes.ADD_LONG_2ADDR, Opcodes.ADD_LONG, - Opcodes.ADD_LONG, Form12x.THE_ONE, true, - "add-long/2addr"); + Opcodes.ADD_LONG, Form12x.THE_ONE, true); public static final Dop SUB_LONG_2ADDR = new Dop(Opcodes.SUB_LONG_2ADDR, Opcodes.SUB_LONG, - Opcodes.SUB_LONG, Form12x.THE_ONE, true, - "sub-long/2addr"); + Opcodes.SUB_LONG, Form12x.THE_ONE, true); public static final Dop MUL_LONG_2ADDR = new Dop(Opcodes.MUL_LONG_2ADDR, Opcodes.MUL_LONG, - Opcodes.MUL_LONG, Form12x.THE_ONE, true, - "mul-long/2addr"); + Opcodes.MUL_LONG, Form12x.THE_ONE, true); public static final Dop DIV_LONG_2ADDR = new Dop(Opcodes.DIV_LONG_2ADDR, Opcodes.DIV_LONG, - Opcodes.DIV_LONG, Form12x.THE_ONE, true, - "div-long/2addr"); + Opcodes.DIV_LONG, Form12x.THE_ONE, true); public static final Dop REM_LONG_2ADDR = new Dop(Opcodes.REM_LONG_2ADDR, Opcodes.REM_LONG, - Opcodes.REM_LONG, Form12x.THE_ONE, true, - "rem-long/2addr"); + Opcodes.REM_LONG, Form12x.THE_ONE, true); public static final Dop AND_LONG_2ADDR = new Dop(Opcodes.AND_LONG_2ADDR, Opcodes.AND_LONG, - Opcodes.AND_LONG, Form12x.THE_ONE, true, - "and-long/2addr"); + Opcodes.AND_LONG, Form12x.THE_ONE, true); public static final Dop OR_LONG_2ADDR = new Dop(Opcodes.OR_LONG_2ADDR, Opcodes.OR_LONG, - Opcodes.OR_LONG, Form12x.THE_ONE, true, - "or-long/2addr"); + Opcodes.OR_LONG, Form12x.THE_ONE, true); public static final Dop XOR_LONG_2ADDR = new Dop(Opcodes.XOR_LONG_2ADDR, Opcodes.XOR_LONG, - Opcodes.XOR_LONG, Form12x.THE_ONE, true, - "xor-long/2addr"); + Opcodes.XOR_LONG, Form12x.THE_ONE, true); public static final Dop SHL_LONG_2ADDR = new Dop(Opcodes.SHL_LONG_2ADDR, Opcodes.SHL_LONG, - Opcodes.SHL_LONG, Form12x.THE_ONE, true, - "shl-long/2addr"); + Opcodes.SHL_LONG, Form12x.THE_ONE, true); public static final Dop SHR_LONG_2ADDR = new Dop(Opcodes.SHR_LONG_2ADDR, Opcodes.SHR_LONG, - Opcodes.SHR_LONG, Form12x.THE_ONE, true, - "shr-long/2addr"); + Opcodes.SHR_LONG, Form12x.THE_ONE, true); public static final Dop USHR_LONG_2ADDR = new Dop(Opcodes.USHR_LONG_2ADDR, Opcodes.USHR_LONG, - Opcodes.USHR_LONG, Form12x.THE_ONE, true, - "ushr-long/2addr"); + Opcodes.USHR_LONG, Form12x.THE_ONE, true); public static final Dop ADD_FLOAT_2ADDR = new Dop(Opcodes.ADD_FLOAT_2ADDR, Opcodes.ADD_FLOAT, - Opcodes.ADD_FLOAT, Form12x.THE_ONE, true, - "add-float/2addr"); + Opcodes.ADD_FLOAT, Form12x.THE_ONE, true); public static final Dop SUB_FLOAT_2ADDR = new Dop(Opcodes.SUB_FLOAT_2ADDR, Opcodes.SUB_FLOAT, - Opcodes.SUB_FLOAT, Form12x.THE_ONE, true, - "sub-float/2addr"); + Opcodes.SUB_FLOAT, Form12x.THE_ONE, true); public static final Dop MUL_FLOAT_2ADDR = new Dop(Opcodes.MUL_FLOAT_2ADDR, Opcodes.MUL_FLOAT, - Opcodes.MUL_FLOAT, Form12x.THE_ONE, true, - "mul-float/2addr"); + Opcodes.MUL_FLOAT, Form12x.THE_ONE, true); public static final Dop DIV_FLOAT_2ADDR = new Dop(Opcodes.DIV_FLOAT_2ADDR, Opcodes.DIV_FLOAT, - Opcodes.DIV_FLOAT, Form12x.THE_ONE, true, - "div-float/2addr"); + Opcodes.DIV_FLOAT, Form12x.THE_ONE, true); public static final Dop REM_FLOAT_2ADDR = new Dop(Opcodes.REM_FLOAT_2ADDR, Opcodes.REM_FLOAT, - Opcodes.REM_FLOAT, Form12x.THE_ONE, true, - "rem-float/2addr"); + Opcodes.REM_FLOAT, Form12x.THE_ONE, true); public static final Dop ADD_DOUBLE_2ADDR = new Dop(Opcodes.ADD_DOUBLE_2ADDR, Opcodes.ADD_DOUBLE, - Opcodes.ADD_DOUBLE, Form12x.THE_ONE, true, - "add-double/2addr"); + Opcodes.ADD_DOUBLE, Form12x.THE_ONE, true); public static final Dop SUB_DOUBLE_2ADDR = new Dop(Opcodes.SUB_DOUBLE_2ADDR, Opcodes.SUB_DOUBLE, - Opcodes.SUB_DOUBLE, Form12x.THE_ONE, true, - "sub-double/2addr"); + Opcodes.SUB_DOUBLE, Form12x.THE_ONE, true); public static final Dop MUL_DOUBLE_2ADDR = new Dop(Opcodes.MUL_DOUBLE_2ADDR, Opcodes.MUL_DOUBLE, - Opcodes.MUL_DOUBLE, Form12x.THE_ONE, true, - "mul-double/2addr"); + Opcodes.MUL_DOUBLE, Form12x.THE_ONE, true); public static final Dop DIV_DOUBLE_2ADDR = new Dop(Opcodes.DIV_DOUBLE_2ADDR, Opcodes.DIV_DOUBLE, - Opcodes.DIV_DOUBLE, Form12x.THE_ONE, true, - "div-double/2addr"); + Opcodes.DIV_DOUBLE, Form12x.THE_ONE, true); public static final Dop REM_DOUBLE_2ADDR = new Dop(Opcodes.REM_DOUBLE_2ADDR, Opcodes.REM_DOUBLE, - Opcodes.REM_DOUBLE, Form12x.THE_ONE, true, - "rem-double/2addr"); + Opcodes.REM_DOUBLE, Form12x.THE_ONE, true); public static final Dop ADD_INT_LIT16 = new Dop(Opcodes.ADD_INT_LIT16, Opcodes.ADD_INT, - Opcodes.NO_NEXT, Form22s.THE_ONE, true, - "add-int/lit16"); + Opcodes.NO_NEXT, Form22s.THE_ONE, true); public static final Dop RSUB_INT = new Dop(Opcodes.RSUB_INT, Opcodes.RSUB_INT, - Opcodes.NO_NEXT, Form22s.THE_ONE, true, - "rsub-int"); + Opcodes.NO_NEXT, Form22s.THE_ONE, true); public static final Dop MUL_INT_LIT16 = new Dop(Opcodes.MUL_INT_LIT16, Opcodes.MUL_INT, - Opcodes.NO_NEXT, Form22s.THE_ONE, true, - "mul-int/lit16"); + Opcodes.NO_NEXT, Form22s.THE_ONE, true); public static final Dop DIV_INT_LIT16 = new Dop(Opcodes.DIV_INT_LIT16, Opcodes.DIV_INT, - Opcodes.NO_NEXT, Form22s.THE_ONE, true, - "div-int/lit16"); + Opcodes.NO_NEXT, Form22s.THE_ONE, true); public static final Dop REM_INT_LIT16 = new Dop(Opcodes.REM_INT_LIT16, Opcodes.REM_INT, - Opcodes.NO_NEXT, Form22s.THE_ONE, true, - "rem-int/lit16"); + Opcodes.NO_NEXT, Form22s.THE_ONE, true); public static final Dop AND_INT_LIT16 = new Dop(Opcodes.AND_INT_LIT16, Opcodes.AND_INT, - Opcodes.NO_NEXT, Form22s.THE_ONE, true, - "and-int/lit16"); + Opcodes.NO_NEXT, Form22s.THE_ONE, true); public static final Dop OR_INT_LIT16 = new Dop(Opcodes.OR_INT_LIT16, Opcodes.OR_INT, - Opcodes.NO_NEXT, Form22s.THE_ONE, true, - "or-int/lit16"); + Opcodes.NO_NEXT, Form22s.THE_ONE, true); public static final Dop XOR_INT_LIT16 = new Dop(Opcodes.XOR_INT_LIT16, Opcodes.XOR_INT, - Opcodes.NO_NEXT, Form22s.THE_ONE, true, - "xor-int/lit16"); + Opcodes.NO_NEXT, Form22s.THE_ONE, true); public static final Dop ADD_INT_LIT8 = new Dop(Opcodes.ADD_INT_LIT8, Opcodes.ADD_INT, - Opcodes.ADD_INT_LIT16, Form22b.THE_ONE, true, - "add-int/lit8"); + Opcodes.ADD_INT_LIT16, Form22b.THE_ONE, true); public static final Dop RSUB_INT_LIT8 = new Dop(Opcodes.RSUB_INT_LIT8, Opcodes.RSUB_INT, - Opcodes.RSUB_INT, Form22b.THE_ONE, true, - "rsub-int/lit8"); + Opcodes.RSUB_INT, Form22b.THE_ONE, true); public static final Dop MUL_INT_LIT8 = new Dop(Opcodes.MUL_INT_LIT8, Opcodes.MUL_INT, - Opcodes.MUL_INT_LIT16, Form22b.THE_ONE, true, - "mul-int/lit8"); + Opcodes.MUL_INT_LIT16, Form22b.THE_ONE, true); public static final Dop DIV_INT_LIT8 = new Dop(Opcodes.DIV_INT_LIT8, Opcodes.DIV_INT, - Opcodes.DIV_INT_LIT16, Form22b.THE_ONE, true, - "div-int/lit8"); + Opcodes.DIV_INT_LIT16, Form22b.THE_ONE, true); public static final Dop REM_INT_LIT8 = new Dop(Opcodes.REM_INT_LIT8, Opcodes.REM_INT, - Opcodes.REM_INT_LIT16, Form22b.THE_ONE, true, - "rem-int/lit8"); + Opcodes.REM_INT_LIT16, Form22b.THE_ONE, true); public static final Dop AND_INT_LIT8 = new Dop(Opcodes.AND_INT_LIT8, Opcodes.AND_INT, - Opcodes.AND_INT_LIT16, Form22b.THE_ONE, true, - "and-int/lit8"); + Opcodes.AND_INT_LIT16, Form22b.THE_ONE, true); public static final Dop OR_INT_LIT8 = new Dop(Opcodes.OR_INT_LIT8, Opcodes.OR_INT, - Opcodes.OR_INT_LIT16, Form22b.THE_ONE, true, - "or-int/lit8"); + Opcodes.OR_INT_LIT16, Form22b.THE_ONE, true); public static final Dop XOR_INT_LIT8 = new Dop(Opcodes.XOR_INT_LIT8, Opcodes.XOR_INT, - Opcodes.XOR_INT_LIT16, Form22b.THE_ONE, true, - "xor-int/lit8"); + Opcodes.XOR_INT_LIT16, Form22b.THE_ONE, true); public static final Dop SHL_INT_LIT8 = new Dop(Opcodes.SHL_INT_LIT8, Opcodes.SHL_INT, - Opcodes.NO_NEXT, Form22b.THE_ONE, true, - "shl-int/lit8"); + Opcodes.NO_NEXT, Form22b.THE_ONE, true); public static final Dop SHR_INT_LIT8 = new Dop(Opcodes.SHR_INT_LIT8, Opcodes.SHR_INT, - Opcodes.NO_NEXT, Form22b.THE_ONE, true, - "shr-int/lit8"); + Opcodes.NO_NEXT, Form22b.THE_ONE, true); public static final Dop USHR_INT_LIT8 = new Dop(Opcodes.USHR_INT_LIT8, Opcodes.USHR_INT, - Opcodes.NO_NEXT, Form22b.THE_ONE, true, - "ushr-int/lit8"); + Opcodes.NO_NEXT, Form22b.THE_ONE, true); public static final Dop CONST_CLASS_JUMBO = new Dop(Opcodes.CONST_CLASS_JUMBO, Opcodes.CONST_CLASS, - Opcodes.NO_NEXT, Form41c.THE_ONE, true, - "const-class/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, true); public static final Dop CHECK_CAST_JUMBO = new Dop(Opcodes.CHECK_CAST_JUMBO, Opcodes.CHECK_CAST, - Opcodes.NO_NEXT, Form41c.THE_ONE, false, - "check-cast/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, false); public static final Dop INSTANCE_OF_JUMBO = new Dop(Opcodes.INSTANCE_OF_JUMBO, Opcodes.INSTANCE_OF, - Opcodes.NO_NEXT, Form52c.THE_ONE, true, - "instance-of/jumbo"); + Opcodes.NO_NEXT, Form52c.THE_ONE, true); public static final Dop NEW_INSTANCE_JUMBO = new Dop(Opcodes.NEW_INSTANCE_JUMBO, Opcodes.NEW_INSTANCE, - Opcodes.NO_NEXT, Form41c.THE_ONE, true, - "new-instance/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, true); public static final Dop NEW_ARRAY_JUMBO = new Dop(Opcodes.NEW_ARRAY_JUMBO, Opcodes.NEW_ARRAY, - Opcodes.NO_NEXT, Form52c.THE_ONE, true, - "new-array/jumbo"); + Opcodes.NO_NEXT, Form52c.THE_ONE, true); public static final Dop FILLED_NEW_ARRAY_JUMBO = new Dop(Opcodes.FILLED_NEW_ARRAY_JUMBO, Opcodes.FILLED_NEW_ARRAY, - Opcodes.NO_NEXT, Form5rc.THE_ONE, false, - "filled-new-array/jumbo"); + Opcodes.NO_NEXT, Form5rc.THE_ONE, false); public static final Dop IGET_JUMBO = new Dop(Opcodes.IGET_JUMBO, Opcodes.IGET, - Opcodes.NO_NEXT, Form52c.THE_ONE, true, - "iget/jumbo"); + Opcodes.NO_NEXT, Form52c.THE_ONE, true); public static final Dop IGET_WIDE_JUMBO = new Dop(Opcodes.IGET_WIDE_JUMBO, Opcodes.IGET_WIDE, - Opcodes.NO_NEXT, Form52c.THE_ONE, true, - "iget-wide/jumbo"); + Opcodes.NO_NEXT, Form52c.THE_ONE, true); public static final Dop IGET_OBJECT_JUMBO = new Dop(Opcodes.IGET_OBJECT_JUMBO, Opcodes.IGET_OBJECT, - Opcodes.NO_NEXT, Form52c.THE_ONE, true, - "iget-object/jumbo"); + Opcodes.NO_NEXT, Form52c.THE_ONE, true); public static final Dop IGET_BOOLEAN_JUMBO = new Dop(Opcodes.IGET_BOOLEAN_JUMBO, Opcodes.IGET_BOOLEAN, - Opcodes.NO_NEXT, Form52c.THE_ONE, true, - "iget-boolean/jumbo"); + Opcodes.NO_NEXT, Form52c.THE_ONE, true); public static final Dop IGET_BYTE_JUMBO = new Dop(Opcodes.IGET_BYTE_JUMBO, Opcodes.IGET_BYTE, - Opcodes.NO_NEXT, Form52c.THE_ONE, true, - "iget-byte/jumbo"); + Opcodes.NO_NEXT, Form52c.THE_ONE, true); public static final Dop IGET_CHAR_JUMBO = new Dop(Opcodes.IGET_CHAR_JUMBO, Opcodes.IGET_CHAR, - Opcodes.NO_NEXT, Form52c.THE_ONE, true, - "iget-char/jumbo"); + Opcodes.NO_NEXT, Form52c.THE_ONE, true); public static final Dop IGET_SHORT_JUMBO = new Dop(Opcodes.IGET_SHORT_JUMBO, Opcodes.IGET_SHORT, - Opcodes.NO_NEXT, Form52c.THE_ONE, true, - "iget-short/jumbo"); + Opcodes.NO_NEXT, Form52c.THE_ONE, true); public static final Dop IPUT_JUMBO = new Dop(Opcodes.IPUT_JUMBO, Opcodes.IPUT, - Opcodes.NO_NEXT, Form52c.THE_ONE, false, - "iput/jumbo"); + Opcodes.NO_NEXT, Form52c.THE_ONE, false); public static final Dop IPUT_WIDE_JUMBO = new Dop(Opcodes.IPUT_WIDE_JUMBO, Opcodes.IPUT_WIDE, - Opcodes.NO_NEXT, Form52c.THE_ONE, false, - "iput-wide/jumbo"); + Opcodes.NO_NEXT, Form52c.THE_ONE, false); public static final Dop IPUT_OBJECT_JUMBO = new Dop(Opcodes.IPUT_OBJECT_JUMBO, Opcodes.IPUT_OBJECT, - Opcodes.NO_NEXT, Form52c.THE_ONE, false, - "iput-object/jumbo"); + Opcodes.NO_NEXT, Form52c.THE_ONE, false); public static final Dop IPUT_BOOLEAN_JUMBO = new Dop(Opcodes.IPUT_BOOLEAN_JUMBO, Opcodes.IPUT_BOOLEAN, - Opcodes.NO_NEXT, Form52c.THE_ONE, false, - "iput-boolean/jumbo"); + Opcodes.NO_NEXT, Form52c.THE_ONE, false); public static final Dop IPUT_BYTE_JUMBO = new Dop(Opcodes.IPUT_BYTE_JUMBO, Opcodes.IPUT_BYTE, - Opcodes.NO_NEXT, Form52c.THE_ONE, false, - "iput-byte/jumbo"); + Opcodes.NO_NEXT, Form52c.THE_ONE, false); public static final Dop IPUT_CHAR_JUMBO = new Dop(Opcodes.IPUT_CHAR_JUMBO, Opcodes.IPUT_CHAR, - Opcodes.NO_NEXT, Form52c.THE_ONE, false, - "iput-char/jumbo"); + Opcodes.NO_NEXT, Form52c.THE_ONE, false); public static final Dop IPUT_SHORT_JUMBO = new Dop(Opcodes.IPUT_SHORT_JUMBO, Opcodes.IPUT_SHORT, - Opcodes.NO_NEXT, Form52c.THE_ONE, false, - "iput-short/jumbo"); + Opcodes.NO_NEXT, Form52c.THE_ONE, false); public static final Dop SGET_JUMBO = new Dop(Opcodes.SGET_JUMBO, Opcodes.SGET, - Opcodes.NO_NEXT, Form41c.THE_ONE, true, - "sget/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, true); public static final Dop SGET_WIDE_JUMBO = new Dop(Opcodes.SGET_WIDE_JUMBO, Opcodes.SGET_WIDE, - Opcodes.NO_NEXT, Form41c.THE_ONE, true, - "sget-wide/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, true); public static final Dop SGET_OBJECT_JUMBO = new Dop(Opcodes.SGET_OBJECT_JUMBO, Opcodes.SGET_OBJECT, - Opcodes.NO_NEXT, Form41c.THE_ONE, true, - "sget-object/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, true); public static final Dop SGET_BOOLEAN_JUMBO = new Dop(Opcodes.SGET_BOOLEAN_JUMBO, Opcodes.SGET_BOOLEAN, - Opcodes.NO_NEXT, Form41c.THE_ONE, true, - "sget-boolean/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, true); public static final Dop SGET_BYTE_JUMBO = new Dop(Opcodes.SGET_BYTE_JUMBO, Opcodes.SGET_BYTE, - Opcodes.NO_NEXT, Form41c.THE_ONE, true, - "sget-byte/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, true); public static final Dop SGET_CHAR_JUMBO = new Dop(Opcodes.SGET_CHAR_JUMBO, Opcodes.SGET_CHAR, - Opcodes.NO_NEXT, Form41c.THE_ONE, true, - "sget-char/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, true); public static final Dop SGET_SHORT_JUMBO = new Dop(Opcodes.SGET_SHORT_JUMBO, Opcodes.SGET_SHORT, - Opcodes.NO_NEXT, Form41c.THE_ONE, true, - "sget-short/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, true); public static final Dop SPUT_JUMBO = new Dop(Opcodes.SPUT_JUMBO, Opcodes.SPUT, - Opcodes.NO_NEXT, Form41c.THE_ONE, false, - "sput/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, false); public static final Dop SPUT_WIDE_JUMBO = new Dop(Opcodes.SPUT_WIDE_JUMBO, Opcodes.SPUT_WIDE, - Opcodes.NO_NEXT, Form41c.THE_ONE, false, - "sput-wide/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, false); public static final Dop SPUT_OBJECT_JUMBO = new Dop(Opcodes.SPUT_OBJECT_JUMBO, Opcodes.SPUT_OBJECT, - Opcodes.NO_NEXT, Form41c.THE_ONE, false, - "sput-object/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, false); public static final Dop SPUT_BOOLEAN_JUMBO = new Dop(Opcodes.SPUT_BOOLEAN_JUMBO, Opcodes.SPUT_BOOLEAN, - Opcodes.NO_NEXT, Form41c.THE_ONE, false, - "sput-boolean/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, false); public static final Dop SPUT_BYTE_JUMBO = new Dop(Opcodes.SPUT_BYTE_JUMBO, Opcodes.SPUT_BYTE, - Opcodes.NO_NEXT, Form41c.THE_ONE, false, - "sput-byte/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, false); public static final Dop SPUT_CHAR_JUMBO = new Dop(Opcodes.SPUT_CHAR_JUMBO, Opcodes.SPUT_CHAR, - Opcodes.NO_NEXT, Form41c.THE_ONE, false, - "sput-char/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, false); public static final Dop SPUT_SHORT_JUMBO = new Dop(Opcodes.SPUT_SHORT_JUMBO, Opcodes.SPUT_SHORT, - Opcodes.NO_NEXT, Form41c.THE_ONE, false, - "sput-short/jumbo"); + Opcodes.NO_NEXT, Form41c.THE_ONE, false); public static final Dop INVOKE_VIRTUAL_JUMBO = new Dop(Opcodes.INVOKE_VIRTUAL_JUMBO, Opcodes.INVOKE_VIRTUAL, - Opcodes.NO_NEXT, Form5rc.THE_ONE, false, - "invoke-virtual/jumbo"); + Opcodes.NO_NEXT, Form5rc.THE_ONE, false); public static final Dop INVOKE_SUPER_JUMBO = new Dop(Opcodes.INVOKE_SUPER_JUMBO, Opcodes.INVOKE_SUPER, - Opcodes.NO_NEXT, Form5rc.THE_ONE, false, - "invoke-super/jumbo"); + Opcodes.NO_NEXT, Form5rc.THE_ONE, false); public static final Dop INVOKE_DIRECT_JUMBO = new Dop(Opcodes.INVOKE_DIRECT_JUMBO, Opcodes.INVOKE_DIRECT, - Opcodes.NO_NEXT, Form5rc.THE_ONE, false, - "invoke-direct/jumbo"); + Opcodes.NO_NEXT, Form5rc.THE_ONE, false); public static final Dop INVOKE_STATIC_JUMBO = new Dop(Opcodes.INVOKE_STATIC_JUMBO, Opcodes.INVOKE_STATIC, - Opcodes.NO_NEXT, Form5rc.THE_ONE, false, - "invoke-static/jumbo"); + Opcodes.NO_NEXT, Form5rc.THE_ONE, false); public static final Dop INVOKE_INTERFACE_JUMBO = new Dop(Opcodes.INVOKE_INTERFACE_JUMBO, Opcodes.INVOKE_INTERFACE, - Opcodes.NO_NEXT, Form5rc.THE_ONE, false, - "invoke-interface/jumbo"); + Opcodes.NO_NEXT, Form5rc.THE_ONE, false); // END(dops) diff --git a/dx/src/com/android/dx/io/CodeReader.java b/dx/src/com/android/dx/io/CodeReader.java index 21bec7e0d..e6ea717d0 100644 --- a/dx/src/com/android/dx/io/CodeReader.java +++ b/dx/src/com/android/dx/io/CodeReader.java @@ -382,7 +382,7 @@ public final class CodeReader { Instruction instruction = instructions[di.getOpcode()]; Visitor visitor = instruction.visitor; if (visitor != null) { - visitor.visit(instruction, decodedInstructions, di); + visitor.visit(decodedInstructions, di); } } } @@ -422,8 +422,7 @@ public final class CodeReader { } public interface Visitor { - void visit(Instruction instruction, DecodedInstruction[] all, - DecodedInstruction one); + void visit(DecodedInstruction[] all, DecodedInstruction one); } private static class UnusedInstruction extends Instruction { diff --git a/dx/src/com/android/dx/io/OpcodeInfo.java b/dx/src/com/android/dx/io/OpcodeInfo.java index 4507d9bc9..d645207ca 100644 --- a/dx/src/com/android/dx/io/OpcodeInfo.java +++ b/dx/src/com/android/dx/io/OpcodeInfo.java @@ -30,1047 +30,1057 @@ public final class OpcodeInfo { /** non-null; array containing all the information */ private static final Info[] INFO; + /** + * pseudo-opcode used for nonstandard formatted "instructions" + * (which are mostly not actually instructions, though they do + * appear in instruction lists). TODO: Retire the usage of this + * constant. + */ + public static final Info SPECIAL_FORMAT = + new Info(Opcodes.SPECIAL_FORMAT, "<special>", + InstructionCodec.FORMAT_00X, null); + // TODO: These payload opcodes should be generated by opcode-gen. public static final Info PACKED_SWITCH_PAYLOAD = - new Info(Opcodes.PACKED_SWITCH_PAYLOAD, + new Info(Opcodes.PACKED_SWITCH_PAYLOAD, "packed-switch-payload", InstructionCodec.FORMAT_PACKED_SWITCH_PAYLOAD, null); public static final Info SPARSE_SWITCH_PAYLOAD = - new Info(Opcodes.SPARSE_SWITCH_PAYLOAD, + new Info(Opcodes.SPARSE_SWITCH_PAYLOAD, "sparse-switch-payload", InstructionCodec.FORMAT_SPARSE_SWITCH_PAYLOAD, null); public static final Info FILL_ARRAY_DATA_PAYLOAD = - new Info(Opcodes.FILL_ARRAY_DATA_PAYLOAD, + new Info(Opcodes.FILL_ARRAY_DATA_PAYLOAD, "fill-array-data-payload", InstructionCodec.FORMAT_FILL_ARRAY_DATA_PAYLOAD, null); // BEGIN(opcode-info-defs); GENERATED AUTOMATICALLY BY opcode-gen public static final Info NOP = - new Info(Opcodes.NOP, + new Info(Opcodes.NOP, "nop", InstructionCodec.FORMAT_10X, null); public static final Info MOVE = - new Info(Opcodes.MOVE, + new Info(Opcodes.MOVE, "move", InstructionCodec.FORMAT_12X, null); public static final Info MOVE_FROM16 = - new Info(Opcodes.MOVE_FROM16, + new Info(Opcodes.MOVE_FROM16, "move/from16", InstructionCodec.FORMAT_22X, null); public static final Info MOVE_16 = - new Info(Opcodes.MOVE_16, + new Info(Opcodes.MOVE_16, "move/16", InstructionCodec.FORMAT_32X, null); public static final Info MOVE_WIDE = - new Info(Opcodes.MOVE_WIDE, + new Info(Opcodes.MOVE_WIDE, "move-wide", InstructionCodec.FORMAT_12X, null); public static final Info MOVE_WIDE_FROM16 = - new Info(Opcodes.MOVE_WIDE_FROM16, + new Info(Opcodes.MOVE_WIDE_FROM16, "move-wide/from16", InstructionCodec.FORMAT_22X, null); public static final Info MOVE_WIDE_16 = - new Info(Opcodes.MOVE_WIDE_16, + new Info(Opcodes.MOVE_WIDE_16, "move-wide/16", InstructionCodec.FORMAT_32X, null); public static final Info MOVE_OBJECT = - new Info(Opcodes.MOVE_OBJECT, + new Info(Opcodes.MOVE_OBJECT, "move-object", InstructionCodec.FORMAT_12X, null); public static final Info MOVE_OBJECT_FROM16 = - new Info(Opcodes.MOVE_OBJECT_FROM16, + new Info(Opcodes.MOVE_OBJECT_FROM16, "move-object/from16", InstructionCodec.FORMAT_22X, null); public static final Info MOVE_OBJECT_16 = - new Info(Opcodes.MOVE_OBJECT_16, + new Info(Opcodes.MOVE_OBJECT_16, "move-object/16", InstructionCodec.FORMAT_32X, null); public static final Info MOVE_RESULT = - new Info(Opcodes.MOVE_RESULT, + new Info(Opcodes.MOVE_RESULT, "move-result", InstructionCodec.FORMAT_11X, null); public static final Info MOVE_RESULT_WIDE = - new Info(Opcodes.MOVE_RESULT_WIDE, + new Info(Opcodes.MOVE_RESULT_WIDE, "move-result-wide", InstructionCodec.FORMAT_11X, null); public static final Info MOVE_RESULT_OBJECT = - new Info(Opcodes.MOVE_RESULT_OBJECT, + new Info(Opcodes.MOVE_RESULT_OBJECT, "move-result-object", InstructionCodec.FORMAT_11X, null); public static final Info MOVE_EXCEPTION = - new Info(Opcodes.MOVE_EXCEPTION, + new Info(Opcodes.MOVE_EXCEPTION, "move-exception", InstructionCodec.FORMAT_11X, null); public static final Info RETURN_VOID = - new Info(Opcodes.RETURN_VOID, + new Info(Opcodes.RETURN_VOID, "return-void", InstructionCodec.FORMAT_10X, null); public static final Info RETURN = - new Info(Opcodes.RETURN, + new Info(Opcodes.RETURN, "return", InstructionCodec.FORMAT_11X, null); public static final Info RETURN_WIDE = - new Info(Opcodes.RETURN_WIDE, + new Info(Opcodes.RETURN_WIDE, "return-wide", InstructionCodec.FORMAT_11X, null); public static final Info RETURN_OBJECT = - new Info(Opcodes.RETURN_OBJECT, + new Info(Opcodes.RETURN_OBJECT, "return-object", InstructionCodec.FORMAT_11X, null); public static final Info CONST_4 = - new Info(Opcodes.CONST_4, + new Info(Opcodes.CONST_4, "const/4", InstructionCodec.FORMAT_11N, null); public static final Info CONST_16 = - new Info(Opcodes.CONST_16, + new Info(Opcodes.CONST_16, "const/16", InstructionCodec.FORMAT_21S, null); public static final Info CONST = - new Info(Opcodes.CONST, + new Info(Opcodes.CONST, "const", InstructionCodec.FORMAT_31I, null); public static final Info CONST_HIGH16 = - new Info(Opcodes.CONST_HIGH16, + new Info(Opcodes.CONST_HIGH16, "const/high16", InstructionCodec.FORMAT_21H, null); public static final Info CONST_WIDE_16 = - new Info(Opcodes.CONST_WIDE_16, + new Info(Opcodes.CONST_WIDE_16, "const-wide/16", InstructionCodec.FORMAT_21S, null); public static final Info CONST_WIDE_32 = - new Info(Opcodes.CONST_WIDE_32, + new Info(Opcodes.CONST_WIDE_32, "const-wide/32", InstructionCodec.FORMAT_31I, null); public static final Info CONST_WIDE = - new Info(Opcodes.CONST_WIDE, + new Info(Opcodes.CONST_WIDE, "const-wide", InstructionCodec.FORMAT_51L, null); public static final Info CONST_WIDE_HIGH16 = - new Info(Opcodes.CONST_WIDE_HIGH16, + new Info(Opcodes.CONST_WIDE_HIGH16, "const-wide/high16", InstructionCodec.FORMAT_21H, null); public static final Info CONST_STRING = - new Info(Opcodes.CONST_STRING, + new Info(Opcodes.CONST_STRING, "const-string", InstructionCodec.FORMAT_21C, IndexType.STRING_REF); public static final Info CONST_STRING_JUMBO = - new Info(Opcodes.CONST_STRING_JUMBO, + new Info(Opcodes.CONST_STRING_JUMBO, "const-string/jumbo", InstructionCodec.FORMAT_31C, IndexType.STRING_REF); public static final Info CONST_CLASS = - new Info(Opcodes.CONST_CLASS, + new Info(Opcodes.CONST_CLASS, "const-class", InstructionCodec.FORMAT_21C, IndexType.TYPE_REF); public static final Info MONITOR_ENTER = - new Info(Opcodes.MONITOR_ENTER, + new Info(Opcodes.MONITOR_ENTER, "monitor-enter", InstructionCodec.FORMAT_11X, null); public static final Info MONITOR_EXIT = - new Info(Opcodes.MONITOR_EXIT, + new Info(Opcodes.MONITOR_EXIT, "monitor-exit", InstructionCodec.FORMAT_11X, null); public static final Info CHECK_CAST = - new Info(Opcodes.CHECK_CAST, + new Info(Opcodes.CHECK_CAST, "check-cast", InstructionCodec.FORMAT_21C, IndexType.TYPE_REF); public static final Info INSTANCE_OF = - new Info(Opcodes.INSTANCE_OF, + new Info(Opcodes.INSTANCE_OF, "instance-of", InstructionCodec.FORMAT_22C, IndexType.TYPE_REF); public static final Info ARRAY_LENGTH = - new Info(Opcodes.ARRAY_LENGTH, + new Info(Opcodes.ARRAY_LENGTH, "array-length", InstructionCodec.FORMAT_12X, null); public static final Info NEW_INSTANCE = - new Info(Opcodes.NEW_INSTANCE, + new Info(Opcodes.NEW_INSTANCE, "new-instance", InstructionCodec.FORMAT_21C, IndexType.TYPE_REF); public static final Info NEW_ARRAY = - new Info(Opcodes.NEW_ARRAY, + new Info(Opcodes.NEW_ARRAY, "new-array", InstructionCodec.FORMAT_22C, IndexType.TYPE_REF); public static final Info FILLED_NEW_ARRAY = - new Info(Opcodes.FILLED_NEW_ARRAY, + new Info(Opcodes.FILLED_NEW_ARRAY, "filled-new-array", InstructionCodec.FORMAT_35C, IndexType.TYPE_REF); public static final Info FILLED_NEW_ARRAY_RANGE = - new Info(Opcodes.FILLED_NEW_ARRAY_RANGE, + new Info(Opcodes.FILLED_NEW_ARRAY_RANGE, "filled-new-array/range", InstructionCodec.FORMAT_3RC, IndexType.TYPE_REF); public static final Info FILL_ARRAY_DATA = - new Info(Opcodes.FILL_ARRAY_DATA, + new Info(Opcodes.FILL_ARRAY_DATA, "fill-array-data", InstructionCodec.FORMAT_31T, null); public static final Info THROW = - new Info(Opcodes.THROW, + new Info(Opcodes.THROW, "throw", InstructionCodec.FORMAT_11X, null); public static final Info GOTO = - new Info(Opcodes.GOTO, + new Info(Opcodes.GOTO, "goto", InstructionCodec.FORMAT_10T, null); public static final Info GOTO_16 = - new Info(Opcodes.GOTO_16, + new Info(Opcodes.GOTO_16, "goto/16", InstructionCodec.FORMAT_20T, null); public static final Info GOTO_32 = - new Info(Opcodes.GOTO_32, + new Info(Opcodes.GOTO_32, "goto/32", InstructionCodec.FORMAT_30T, null); public static final Info PACKED_SWITCH = - new Info(Opcodes.PACKED_SWITCH, + new Info(Opcodes.PACKED_SWITCH, "packed-switch", InstructionCodec.FORMAT_31T, null); public static final Info SPARSE_SWITCH = - new Info(Opcodes.SPARSE_SWITCH, + new Info(Opcodes.SPARSE_SWITCH, "sparse-switch", InstructionCodec.FORMAT_31T, null); public static final Info CMPL_FLOAT = - new Info(Opcodes.CMPL_FLOAT, + new Info(Opcodes.CMPL_FLOAT, "cmpl-float", InstructionCodec.FORMAT_23X, null); public static final Info CMPG_FLOAT = - new Info(Opcodes.CMPG_FLOAT, + new Info(Opcodes.CMPG_FLOAT, "cmpg-float", InstructionCodec.FORMAT_23X, null); public static final Info CMPL_DOUBLE = - new Info(Opcodes.CMPL_DOUBLE, + new Info(Opcodes.CMPL_DOUBLE, "cmpl-double", InstructionCodec.FORMAT_23X, null); public static final Info CMPG_DOUBLE = - new Info(Opcodes.CMPG_DOUBLE, + new Info(Opcodes.CMPG_DOUBLE, "cmpg-double", InstructionCodec.FORMAT_23X, null); public static final Info CMP_LONG = - new Info(Opcodes.CMP_LONG, + new Info(Opcodes.CMP_LONG, "cmp-long", InstructionCodec.FORMAT_23X, null); public static final Info IF_EQ = - new Info(Opcodes.IF_EQ, + new Info(Opcodes.IF_EQ, "if-eq", InstructionCodec.FORMAT_22T, null); public static final Info IF_NE = - new Info(Opcodes.IF_NE, + new Info(Opcodes.IF_NE, "if-ne", InstructionCodec.FORMAT_22T, null); public static final Info IF_LT = - new Info(Opcodes.IF_LT, + new Info(Opcodes.IF_LT, "if-lt", InstructionCodec.FORMAT_22T, null); public static final Info IF_GE = - new Info(Opcodes.IF_GE, + new Info(Opcodes.IF_GE, "if-ge", InstructionCodec.FORMAT_22T, null); public static final Info IF_GT = - new Info(Opcodes.IF_GT, + new Info(Opcodes.IF_GT, "if-gt", InstructionCodec.FORMAT_22T, null); public static final Info IF_LE = - new Info(Opcodes.IF_LE, + new Info(Opcodes.IF_LE, "if-le", InstructionCodec.FORMAT_22T, null); public static final Info IF_EQZ = - new Info(Opcodes.IF_EQZ, + new Info(Opcodes.IF_EQZ, "if-eqz", InstructionCodec.FORMAT_21T, null); public static final Info IF_NEZ = - new Info(Opcodes.IF_NEZ, + new Info(Opcodes.IF_NEZ, "if-nez", InstructionCodec.FORMAT_21T, null); public static final Info IF_LTZ = - new Info(Opcodes.IF_LTZ, + new Info(Opcodes.IF_LTZ, "if-ltz", InstructionCodec.FORMAT_21T, null); public static final Info IF_GEZ = - new Info(Opcodes.IF_GEZ, + new Info(Opcodes.IF_GEZ, "if-gez", InstructionCodec.FORMAT_21T, null); public static final Info IF_GTZ = - new Info(Opcodes.IF_GTZ, + new Info(Opcodes.IF_GTZ, "if-gtz", InstructionCodec.FORMAT_21T, null); public static final Info IF_LEZ = - new Info(Opcodes.IF_LEZ, + new Info(Opcodes.IF_LEZ, "if-lez", InstructionCodec.FORMAT_21T, null); public static final Info AGET = - new Info(Opcodes.AGET, + new Info(Opcodes.AGET, "aget", InstructionCodec.FORMAT_23X, null); public static final Info AGET_WIDE = - new Info(Opcodes.AGET_WIDE, + new Info(Opcodes.AGET_WIDE, "aget-wide", InstructionCodec.FORMAT_23X, null); public static final Info AGET_OBJECT = - new Info(Opcodes.AGET_OBJECT, + new Info(Opcodes.AGET_OBJECT, "aget-object", InstructionCodec.FORMAT_23X, null); public static final Info AGET_BOOLEAN = - new Info(Opcodes.AGET_BOOLEAN, + new Info(Opcodes.AGET_BOOLEAN, "aget-boolean", InstructionCodec.FORMAT_23X, null); public static final Info AGET_BYTE = - new Info(Opcodes.AGET_BYTE, + new Info(Opcodes.AGET_BYTE, "aget-byte", InstructionCodec.FORMAT_23X, null); public static final Info AGET_CHAR = - new Info(Opcodes.AGET_CHAR, + new Info(Opcodes.AGET_CHAR, "aget-char", InstructionCodec.FORMAT_23X, null); public static final Info AGET_SHORT = - new Info(Opcodes.AGET_SHORT, + new Info(Opcodes.AGET_SHORT, "aget-short", InstructionCodec.FORMAT_23X, null); public static final Info APUT = - new Info(Opcodes.APUT, + new Info(Opcodes.APUT, "aput", InstructionCodec.FORMAT_23X, null); public static final Info APUT_WIDE = - new Info(Opcodes.APUT_WIDE, + new Info(Opcodes.APUT_WIDE, "aput-wide", InstructionCodec.FORMAT_23X, null); public static final Info APUT_OBJECT = - new Info(Opcodes.APUT_OBJECT, + new Info(Opcodes.APUT_OBJECT, "aput-object", InstructionCodec.FORMAT_23X, null); public static final Info APUT_BOOLEAN = - new Info(Opcodes.APUT_BOOLEAN, + new Info(Opcodes.APUT_BOOLEAN, "aput-boolean", InstructionCodec.FORMAT_23X, null); public static final Info APUT_BYTE = - new Info(Opcodes.APUT_BYTE, + new Info(Opcodes.APUT_BYTE, "aput-byte", InstructionCodec.FORMAT_23X, null); public static final Info APUT_CHAR = - new Info(Opcodes.APUT_CHAR, + new Info(Opcodes.APUT_CHAR, "aput-char", InstructionCodec.FORMAT_23X, null); public static final Info APUT_SHORT = - new Info(Opcodes.APUT_SHORT, + new Info(Opcodes.APUT_SHORT, "aput-short", InstructionCodec.FORMAT_23X, null); public static final Info IGET = - new Info(Opcodes.IGET, + new Info(Opcodes.IGET, "iget", InstructionCodec.FORMAT_22C, IndexType.FIELD_REF); public static final Info IGET_WIDE = - new Info(Opcodes.IGET_WIDE, + new Info(Opcodes.IGET_WIDE, "iget-wide", InstructionCodec.FORMAT_22C, IndexType.FIELD_REF); public static final Info IGET_OBJECT = - new Info(Opcodes.IGET_OBJECT, + new Info(Opcodes.IGET_OBJECT, "iget-object", InstructionCodec.FORMAT_22C, IndexType.FIELD_REF); public static final Info IGET_BOOLEAN = - new Info(Opcodes.IGET_BOOLEAN, + new Info(Opcodes.IGET_BOOLEAN, "iget-boolean", InstructionCodec.FORMAT_22C, IndexType.FIELD_REF); public static final Info IGET_BYTE = - new Info(Opcodes.IGET_BYTE, + new Info(Opcodes.IGET_BYTE, "iget-byte", InstructionCodec.FORMAT_22C, IndexType.FIELD_REF); public static final Info IGET_CHAR = - new Info(Opcodes.IGET_CHAR, + new Info(Opcodes.IGET_CHAR, "iget-char", InstructionCodec.FORMAT_22C, IndexType.FIELD_REF); public static final Info IGET_SHORT = - new Info(Opcodes.IGET_SHORT, + new Info(Opcodes.IGET_SHORT, "iget-short", InstructionCodec.FORMAT_22C, IndexType.FIELD_REF); public static final Info IPUT = - new Info(Opcodes.IPUT, + new Info(Opcodes.IPUT, "iput", InstructionCodec.FORMAT_22C, IndexType.FIELD_REF); public static final Info IPUT_WIDE = - new Info(Opcodes.IPUT_WIDE, + new Info(Opcodes.IPUT_WIDE, "iput-wide", InstructionCodec.FORMAT_22C, IndexType.FIELD_REF); public static final Info IPUT_OBJECT = - new Info(Opcodes.IPUT_OBJECT, + new Info(Opcodes.IPUT_OBJECT, "iput-object", InstructionCodec.FORMAT_22C, IndexType.FIELD_REF); public static final Info IPUT_BOOLEAN = - new Info(Opcodes.IPUT_BOOLEAN, + new Info(Opcodes.IPUT_BOOLEAN, "iput-boolean", InstructionCodec.FORMAT_22C, IndexType.FIELD_REF); public static final Info IPUT_BYTE = - new Info(Opcodes.IPUT_BYTE, + new Info(Opcodes.IPUT_BYTE, "iput-byte", InstructionCodec.FORMAT_22C, IndexType.FIELD_REF); public static final Info IPUT_CHAR = - new Info(Opcodes.IPUT_CHAR, + new Info(Opcodes.IPUT_CHAR, "iput-char", InstructionCodec.FORMAT_22C, IndexType.FIELD_REF); public static final Info IPUT_SHORT = - new Info(Opcodes.IPUT_SHORT, + new Info(Opcodes.IPUT_SHORT, "iput-short", InstructionCodec.FORMAT_22C, IndexType.FIELD_REF); public static final Info SGET = - new Info(Opcodes.SGET, + new Info(Opcodes.SGET, "sget", InstructionCodec.FORMAT_21C, IndexType.FIELD_REF); public static final Info SGET_WIDE = - new Info(Opcodes.SGET_WIDE, + new Info(Opcodes.SGET_WIDE, "sget-wide", InstructionCodec.FORMAT_21C, IndexType.FIELD_REF); public static final Info SGET_OBJECT = - new Info(Opcodes.SGET_OBJECT, + new Info(Opcodes.SGET_OBJECT, "sget-object", InstructionCodec.FORMAT_21C, IndexType.FIELD_REF); public static final Info SGET_BOOLEAN = - new Info(Opcodes.SGET_BOOLEAN, + new Info(Opcodes.SGET_BOOLEAN, "sget-boolean", InstructionCodec.FORMAT_21C, IndexType.FIELD_REF); public static final Info SGET_BYTE = - new Info(Opcodes.SGET_BYTE, + new Info(Opcodes.SGET_BYTE, "sget-byte", InstructionCodec.FORMAT_21C, IndexType.FIELD_REF); public static final Info SGET_CHAR = - new Info(Opcodes.SGET_CHAR, + new Info(Opcodes.SGET_CHAR, "sget-char", InstructionCodec.FORMAT_21C, IndexType.FIELD_REF); public static final Info SGET_SHORT = - new Info(Opcodes.SGET_SHORT, + new Info(Opcodes.SGET_SHORT, "sget-short", InstructionCodec.FORMAT_21C, IndexType.FIELD_REF); public static final Info SPUT = - new Info(Opcodes.SPUT, + new Info(Opcodes.SPUT, "sput", InstructionCodec.FORMAT_21C, IndexType.FIELD_REF); public static final Info SPUT_WIDE = - new Info(Opcodes.SPUT_WIDE, + new Info(Opcodes.SPUT_WIDE, "sput-wide", InstructionCodec.FORMAT_21C, IndexType.FIELD_REF); public static final Info SPUT_OBJECT = - new Info(Opcodes.SPUT_OBJECT, + new Info(Opcodes.SPUT_OBJECT, "sput-object", InstructionCodec.FORMAT_21C, IndexType.FIELD_REF); public static final Info SPUT_BOOLEAN = - new Info(Opcodes.SPUT_BOOLEAN, + new Info(Opcodes.SPUT_BOOLEAN, "sput-boolean", InstructionCodec.FORMAT_21C, IndexType.FIELD_REF); public static final Info SPUT_BYTE = - new Info(Opcodes.SPUT_BYTE, + new Info(Opcodes.SPUT_BYTE, "sput-byte", InstructionCodec.FORMAT_21C, IndexType.FIELD_REF); public static final Info SPUT_CHAR = - new Info(Opcodes.SPUT_CHAR, + new Info(Opcodes.SPUT_CHAR, "sput-char", InstructionCodec.FORMAT_21C, IndexType.FIELD_REF); public static final Info SPUT_SHORT = - new Info(Opcodes.SPUT_SHORT, + new Info(Opcodes.SPUT_SHORT, "sput-short", InstructionCodec.FORMAT_21C, IndexType.FIELD_REF); public static final Info INVOKE_VIRTUAL = - new Info(Opcodes.INVOKE_VIRTUAL, + new Info(Opcodes.INVOKE_VIRTUAL, "invoke-virtual", InstructionCodec.FORMAT_35C, IndexType.METHOD_REF); public static final Info INVOKE_SUPER = - new Info(Opcodes.INVOKE_SUPER, + new Info(Opcodes.INVOKE_SUPER, "invoke-super", InstructionCodec.FORMAT_35C, IndexType.METHOD_REF); public static final Info INVOKE_DIRECT = - new Info(Opcodes.INVOKE_DIRECT, + new Info(Opcodes.INVOKE_DIRECT, "invoke-direct", InstructionCodec.FORMAT_35C, IndexType.METHOD_REF); public static final Info INVOKE_STATIC = - new Info(Opcodes.INVOKE_STATIC, + new Info(Opcodes.INVOKE_STATIC, "invoke-static", InstructionCodec.FORMAT_35C, IndexType.METHOD_REF); public static final Info INVOKE_INTERFACE = - new Info(Opcodes.INVOKE_INTERFACE, + new Info(Opcodes.INVOKE_INTERFACE, "invoke-interface", InstructionCodec.FORMAT_35C, IndexType.METHOD_REF); public static final Info INVOKE_VIRTUAL_RANGE = - new Info(Opcodes.INVOKE_VIRTUAL_RANGE, + new Info(Opcodes.INVOKE_VIRTUAL_RANGE, "invoke-virtual/range", InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF); public static final Info INVOKE_SUPER_RANGE = - new Info(Opcodes.INVOKE_SUPER_RANGE, + new Info(Opcodes.INVOKE_SUPER_RANGE, "invoke-super/range", InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF); public static final Info INVOKE_DIRECT_RANGE = - new Info(Opcodes.INVOKE_DIRECT_RANGE, + new Info(Opcodes.INVOKE_DIRECT_RANGE, "invoke-direct/range", InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF); public static final Info INVOKE_STATIC_RANGE = - new Info(Opcodes.INVOKE_STATIC_RANGE, + new Info(Opcodes.INVOKE_STATIC_RANGE, "invoke-static/range", InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF); public static final Info INVOKE_INTERFACE_RANGE = - new Info(Opcodes.INVOKE_INTERFACE_RANGE, + new Info(Opcodes.INVOKE_INTERFACE_RANGE, "invoke-interface/range", InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF); public static final Info NEG_INT = - new Info(Opcodes.NEG_INT, + new Info(Opcodes.NEG_INT, "neg-int", InstructionCodec.FORMAT_12X, null); public static final Info NOT_INT = - new Info(Opcodes.NOT_INT, + new Info(Opcodes.NOT_INT, "not-int", InstructionCodec.FORMAT_12X, null); public static final Info NEG_LONG = - new Info(Opcodes.NEG_LONG, + new Info(Opcodes.NEG_LONG, "neg-long", InstructionCodec.FORMAT_12X, null); public static final Info NOT_LONG = - new Info(Opcodes.NOT_LONG, + new Info(Opcodes.NOT_LONG, "not-long", InstructionCodec.FORMAT_12X, null); public static final Info NEG_FLOAT = - new Info(Opcodes.NEG_FLOAT, + new Info(Opcodes.NEG_FLOAT, "neg-float", InstructionCodec.FORMAT_12X, null); public static final Info NEG_DOUBLE = - new Info(Opcodes.NEG_DOUBLE, + new Info(Opcodes.NEG_DOUBLE, "neg-double", InstructionCodec.FORMAT_12X, null); public static final Info INT_TO_LONG = - new Info(Opcodes.INT_TO_LONG, + new Info(Opcodes.INT_TO_LONG, "int-to-long", InstructionCodec.FORMAT_12X, null); public static final Info INT_TO_FLOAT = - new Info(Opcodes.INT_TO_FLOAT, + new Info(Opcodes.INT_TO_FLOAT, "int-to-float", InstructionCodec.FORMAT_12X, null); public static final Info INT_TO_DOUBLE = - new Info(Opcodes.INT_TO_DOUBLE, + new Info(Opcodes.INT_TO_DOUBLE, "int-to-double", InstructionCodec.FORMAT_12X, null); public static final Info LONG_TO_INT = - new Info(Opcodes.LONG_TO_INT, + new Info(Opcodes.LONG_TO_INT, "long-to-int", InstructionCodec.FORMAT_12X, null); public static final Info LONG_TO_FLOAT = - new Info(Opcodes.LONG_TO_FLOAT, + new Info(Opcodes.LONG_TO_FLOAT, "long-to-float", InstructionCodec.FORMAT_12X, null); public static final Info LONG_TO_DOUBLE = - new Info(Opcodes.LONG_TO_DOUBLE, + new Info(Opcodes.LONG_TO_DOUBLE, "long-to-double", InstructionCodec.FORMAT_12X, null); public static final Info FLOAT_TO_INT = - new Info(Opcodes.FLOAT_TO_INT, + new Info(Opcodes.FLOAT_TO_INT, "float-to-int", InstructionCodec.FORMAT_12X, null); public static final Info FLOAT_TO_LONG = - new Info(Opcodes.FLOAT_TO_LONG, + new Info(Opcodes.FLOAT_TO_LONG, "float-to-long", InstructionCodec.FORMAT_12X, null); public static final Info FLOAT_TO_DOUBLE = - new Info(Opcodes.FLOAT_TO_DOUBLE, + new Info(Opcodes.FLOAT_TO_DOUBLE, "float-to-double", InstructionCodec.FORMAT_12X, null); public static final Info DOUBLE_TO_INT = - new Info(Opcodes.DOUBLE_TO_INT, + new Info(Opcodes.DOUBLE_TO_INT, "double-to-int", InstructionCodec.FORMAT_12X, null); public static final Info DOUBLE_TO_LONG = - new Info(Opcodes.DOUBLE_TO_LONG, + new Info(Opcodes.DOUBLE_TO_LONG, "double-to-long", InstructionCodec.FORMAT_12X, null); public static final Info DOUBLE_TO_FLOAT = - new Info(Opcodes.DOUBLE_TO_FLOAT, + new Info(Opcodes.DOUBLE_TO_FLOAT, "double-to-float", InstructionCodec.FORMAT_12X, null); public static final Info INT_TO_BYTE = - new Info(Opcodes.INT_TO_BYTE, + new Info(Opcodes.INT_TO_BYTE, "int-to-byte", InstructionCodec.FORMAT_12X, null); public static final Info INT_TO_CHAR = - new Info(Opcodes.INT_TO_CHAR, + new Info(Opcodes.INT_TO_CHAR, "int-to-char", InstructionCodec.FORMAT_12X, null); public static final Info INT_TO_SHORT = - new Info(Opcodes.INT_TO_SHORT, + new Info(Opcodes.INT_TO_SHORT, "int-to-short", InstructionCodec.FORMAT_12X, null); public static final Info ADD_INT = - new Info(Opcodes.ADD_INT, + new Info(Opcodes.ADD_INT, "add-int", InstructionCodec.FORMAT_23X, null); public static final Info SUB_INT = - new Info(Opcodes.SUB_INT, + new Info(Opcodes.SUB_INT, "sub-int", InstructionCodec.FORMAT_23X, null); public static final Info MUL_INT = - new Info(Opcodes.MUL_INT, + new Info(Opcodes.MUL_INT, "mul-int", InstructionCodec.FORMAT_23X, null); public static final Info DIV_INT = - new Info(Opcodes.DIV_INT, + new Info(Opcodes.DIV_INT, "div-int", InstructionCodec.FORMAT_23X, null); public static final Info REM_INT = - new Info(Opcodes.REM_INT, + new Info(Opcodes.REM_INT, "rem-int", InstructionCodec.FORMAT_23X, null); public static final Info AND_INT = - new Info(Opcodes.AND_INT, + new Info(Opcodes.AND_INT, "and-int", InstructionCodec.FORMAT_23X, null); public static final Info OR_INT = - new Info(Opcodes.OR_INT, + new Info(Opcodes.OR_INT, "or-int", InstructionCodec.FORMAT_23X, null); public static final Info XOR_INT = - new Info(Opcodes.XOR_INT, + new Info(Opcodes.XOR_INT, "xor-int", InstructionCodec.FORMAT_23X, null); public static final Info SHL_INT = - new Info(Opcodes.SHL_INT, + new Info(Opcodes.SHL_INT, "shl-int", InstructionCodec.FORMAT_23X, null); public static final Info SHR_INT = - new Info(Opcodes.SHR_INT, + new Info(Opcodes.SHR_INT, "shr-int", InstructionCodec.FORMAT_23X, null); public static final Info USHR_INT = - new Info(Opcodes.USHR_INT, + new Info(Opcodes.USHR_INT, "ushr-int", InstructionCodec.FORMAT_23X, null); public static final Info ADD_LONG = - new Info(Opcodes.ADD_LONG, + new Info(Opcodes.ADD_LONG, "add-long", InstructionCodec.FORMAT_23X, null); public static final Info SUB_LONG = - new Info(Opcodes.SUB_LONG, + new Info(Opcodes.SUB_LONG, "sub-long", InstructionCodec.FORMAT_23X, null); public static final Info MUL_LONG = - new Info(Opcodes.MUL_LONG, + new Info(Opcodes.MUL_LONG, "mul-long", InstructionCodec.FORMAT_23X, null); public static final Info DIV_LONG = - new Info(Opcodes.DIV_LONG, + new Info(Opcodes.DIV_LONG, "div-long", InstructionCodec.FORMAT_23X, null); public static final Info REM_LONG = - new Info(Opcodes.REM_LONG, + new Info(Opcodes.REM_LONG, "rem-long", InstructionCodec.FORMAT_23X, null); public static final Info AND_LONG = - new Info(Opcodes.AND_LONG, + new Info(Opcodes.AND_LONG, "and-long", InstructionCodec.FORMAT_23X, null); public static final Info OR_LONG = - new Info(Opcodes.OR_LONG, + new Info(Opcodes.OR_LONG, "or-long", InstructionCodec.FORMAT_23X, null); public static final Info XOR_LONG = - new Info(Opcodes.XOR_LONG, + new Info(Opcodes.XOR_LONG, "xor-long", InstructionCodec.FORMAT_23X, null); public static final Info SHL_LONG = - new Info(Opcodes.SHL_LONG, + new Info(Opcodes.SHL_LONG, "shl-long", InstructionCodec.FORMAT_23X, null); public static final Info SHR_LONG = - new Info(Opcodes.SHR_LONG, + new Info(Opcodes.SHR_LONG, "shr-long", InstructionCodec.FORMAT_23X, null); public static final Info USHR_LONG = - new Info(Opcodes.USHR_LONG, + new Info(Opcodes.USHR_LONG, "ushr-long", InstructionCodec.FORMAT_23X, null); public static final Info ADD_FLOAT = - new Info(Opcodes.ADD_FLOAT, + new Info(Opcodes.ADD_FLOAT, "add-float", InstructionCodec.FORMAT_23X, null); public static final Info SUB_FLOAT = - new Info(Opcodes.SUB_FLOAT, + new Info(Opcodes.SUB_FLOAT, "sub-float", InstructionCodec.FORMAT_23X, null); public static final Info MUL_FLOAT = - new Info(Opcodes.MUL_FLOAT, + new Info(Opcodes.MUL_FLOAT, "mul-float", InstructionCodec.FORMAT_23X, null); public static final Info DIV_FLOAT = - new Info(Opcodes.DIV_FLOAT, + new Info(Opcodes.DIV_FLOAT, "div-float", InstructionCodec.FORMAT_23X, null); public static final Info REM_FLOAT = - new Info(Opcodes.REM_FLOAT, + new Info(Opcodes.REM_FLOAT, "rem-float", InstructionCodec.FORMAT_23X, null); public static final Info ADD_DOUBLE = - new Info(Opcodes.ADD_DOUBLE, + new Info(Opcodes.ADD_DOUBLE, "add-double", InstructionCodec.FORMAT_23X, null); public static final Info SUB_DOUBLE = - new Info(Opcodes.SUB_DOUBLE, + new Info(Opcodes.SUB_DOUBLE, "sub-double", InstructionCodec.FORMAT_23X, null); public static final Info MUL_DOUBLE = - new Info(Opcodes.MUL_DOUBLE, + new Info(Opcodes.MUL_DOUBLE, "mul-double", InstructionCodec.FORMAT_23X, null); public static final Info DIV_DOUBLE = - new Info(Opcodes.DIV_DOUBLE, + new Info(Opcodes.DIV_DOUBLE, "div-double", InstructionCodec.FORMAT_23X, null); public static final Info REM_DOUBLE = - new Info(Opcodes.REM_DOUBLE, + new Info(Opcodes.REM_DOUBLE, "rem-double", InstructionCodec.FORMAT_23X, null); public static final Info ADD_INT_2ADDR = - new Info(Opcodes.ADD_INT_2ADDR, + new Info(Opcodes.ADD_INT_2ADDR, "add-int/2addr", InstructionCodec.FORMAT_12X, null); public static final Info SUB_INT_2ADDR = - new Info(Opcodes.SUB_INT_2ADDR, + new Info(Opcodes.SUB_INT_2ADDR, "sub-int/2addr", InstructionCodec.FORMAT_12X, null); public static final Info MUL_INT_2ADDR = - new Info(Opcodes.MUL_INT_2ADDR, + new Info(Opcodes.MUL_INT_2ADDR, "mul-int/2addr", InstructionCodec.FORMAT_12X, null); public static final Info DIV_INT_2ADDR = - new Info(Opcodes.DIV_INT_2ADDR, + new Info(Opcodes.DIV_INT_2ADDR, "div-int/2addr", InstructionCodec.FORMAT_12X, null); public static final Info REM_INT_2ADDR = - new Info(Opcodes.REM_INT_2ADDR, + new Info(Opcodes.REM_INT_2ADDR, "rem-int/2addr", InstructionCodec.FORMAT_12X, null); public static final Info AND_INT_2ADDR = - new Info(Opcodes.AND_INT_2ADDR, + new Info(Opcodes.AND_INT_2ADDR, "and-int/2addr", InstructionCodec.FORMAT_12X, null); public static final Info OR_INT_2ADDR = - new Info(Opcodes.OR_INT_2ADDR, + new Info(Opcodes.OR_INT_2ADDR, "or-int/2addr", InstructionCodec.FORMAT_12X, null); public static final Info XOR_INT_2ADDR = - new Info(Opcodes.XOR_INT_2ADDR, + new Info(Opcodes.XOR_INT_2ADDR, "xor-int/2addr", InstructionCodec.FORMAT_12X, null); public static final Info SHL_INT_2ADDR = - new Info(Opcodes.SHL_INT_2ADDR, + new Info(Opcodes.SHL_INT_2ADDR, "shl-int/2addr", InstructionCodec.FORMAT_12X, null); public static final Info SHR_INT_2ADDR = - new Info(Opcodes.SHR_INT_2ADDR, + new Info(Opcodes.SHR_INT_2ADDR, "shr-int/2addr", InstructionCodec.FORMAT_12X, null); public static final Info USHR_INT_2ADDR = - new Info(Opcodes.USHR_INT_2ADDR, + new Info(Opcodes.USHR_INT_2ADDR, "ushr-int/2addr", InstructionCodec.FORMAT_12X, null); public static final Info ADD_LONG_2ADDR = - new Info(Opcodes.ADD_LONG_2ADDR, + new Info(Opcodes.ADD_LONG_2ADDR, "add-long/2addr", InstructionCodec.FORMAT_12X, null); public static final Info SUB_LONG_2ADDR = - new Info(Opcodes.SUB_LONG_2ADDR, + new Info(Opcodes.SUB_LONG_2ADDR, "sub-long/2addr", InstructionCodec.FORMAT_12X, null); public static final Info MUL_LONG_2ADDR = - new Info(Opcodes.MUL_LONG_2ADDR, + new Info(Opcodes.MUL_LONG_2ADDR, "mul-long/2addr", InstructionCodec.FORMAT_12X, null); public static final Info DIV_LONG_2ADDR = - new Info(Opcodes.DIV_LONG_2ADDR, + new Info(Opcodes.DIV_LONG_2ADDR, "div-long/2addr", InstructionCodec.FORMAT_12X, null); public static final Info REM_LONG_2ADDR = - new Info(Opcodes.REM_LONG_2ADDR, + new Info(Opcodes.REM_LONG_2ADDR, "rem-long/2addr", InstructionCodec.FORMAT_12X, null); public static final Info AND_LONG_2ADDR = - new Info(Opcodes.AND_LONG_2ADDR, + new Info(Opcodes.AND_LONG_2ADDR, "and-long/2addr", InstructionCodec.FORMAT_12X, null); public static final Info OR_LONG_2ADDR = - new Info(Opcodes.OR_LONG_2ADDR, + new Info(Opcodes.OR_LONG_2ADDR, "or-long/2addr", InstructionCodec.FORMAT_12X, null); public static final Info XOR_LONG_2ADDR = - new Info(Opcodes.XOR_LONG_2ADDR, + new Info(Opcodes.XOR_LONG_2ADDR, "xor-long/2addr", InstructionCodec.FORMAT_12X, null); public static final Info SHL_LONG_2ADDR = - new Info(Opcodes.SHL_LONG_2ADDR, + new Info(Opcodes.SHL_LONG_2ADDR, "shl-long/2addr", InstructionCodec.FORMAT_12X, null); public static final Info SHR_LONG_2ADDR = - new Info(Opcodes.SHR_LONG_2ADDR, + new Info(Opcodes.SHR_LONG_2ADDR, "shr-long/2addr", InstructionCodec.FORMAT_12X, null); public static final Info USHR_LONG_2ADDR = - new Info(Opcodes.USHR_LONG_2ADDR, + new Info(Opcodes.USHR_LONG_2ADDR, "ushr-long/2addr", InstructionCodec.FORMAT_12X, null); public static final Info ADD_FLOAT_2ADDR = - new Info(Opcodes.ADD_FLOAT_2ADDR, + new Info(Opcodes.ADD_FLOAT_2ADDR, "add-float/2addr", InstructionCodec.FORMAT_12X, null); public static final Info SUB_FLOAT_2ADDR = - new Info(Opcodes.SUB_FLOAT_2ADDR, + new Info(Opcodes.SUB_FLOAT_2ADDR, "sub-float/2addr", InstructionCodec.FORMAT_12X, null); public static final Info MUL_FLOAT_2ADDR = - new Info(Opcodes.MUL_FLOAT_2ADDR, + new Info(Opcodes.MUL_FLOAT_2ADDR, "mul-float/2addr", InstructionCodec.FORMAT_12X, null); public static final Info DIV_FLOAT_2ADDR = - new Info(Opcodes.DIV_FLOAT_2ADDR, + new Info(Opcodes.DIV_FLOAT_2ADDR, "div-float/2addr", InstructionCodec.FORMAT_12X, null); public static final Info REM_FLOAT_2ADDR = - new Info(Opcodes.REM_FLOAT_2ADDR, + new Info(Opcodes.REM_FLOAT_2ADDR, "rem-float/2addr", InstructionCodec.FORMAT_12X, null); public static final Info ADD_DOUBLE_2ADDR = - new Info(Opcodes.ADD_DOUBLE_2ADDR, + new Info(Opcodes.ADD_DOUBLE_2ADDR, "add-double/2addr", InstructionCodec.FORMAT_12X, null); public static final Info SUB_DOUBLE_2ADDR = - new Info(Opcodes.SUB_DOUBLE_2ADDR, + new Info(Opcodes.SUB_DOUBLE_2ADDR, "sub-double/2addr", InstructionCodec.FORMAT_12X, null); public static final Info MUL_DOUBLE_2ADDR = - new Info(Opcodes.MUL_DOUBLE_2ADDR, + new Info(Opcodes.MUL_DOUBLE_2ADDR, "mul-double/2addr", InstructionCodec.FORMAT_12X, null); public static final Info DIV_DOUBLE_2ADDR = - new Info(Opcodes.DIV_DOUBLE_2ADDR, + new Info(Opcodes.DIV_DOUBLE_2ADDR, "div-double/2addr", InstructionCodec.FORMAT_12X, null); public static final Info REM_DOUBLE_2ADDR = - new Info(Opcodes.REM_DOUBLE_2ADDR, + new Info(Opcodes.REM_DOUBLE_2ADDR, "rem-double/2addr", InstructionCodec.FORMAT_12X, null); public static final Info ADD_INT_LIT16 = - new Info(Opcodes.ADD_INT_LIT16, + new Info(Opcodes.ADD_INT_LIT16, "add-int/lit16", InstructionCodec.FORMAT_22S, null); public static final Info RSUB_INT = - new Info(Opcodes.RSUB_INT, + new Info(Opcodes.RSUB_INT, "rsub-int", InstructionCodec.FORMAT_22S, null); public static final Info MUL_INT_LIT16 = - new Info(Opcodes.MUL_INT_LIT16, + new Info(Opcodes.MUL_INT_LIT16, "mul-int/lit16", InstructionCodec.FORMAT_22S, null); public static final Info DIV_INT_LIT16 = - new Info(Opcodes.DIV_INT_LIT16, + new Info(Opcodes.DIV_INT_LIT16, "div-int/lit16", InstructionCodec.FORMAT_22S, null); public static final Info REM_INT_LIT16 = - new Info(Opcodes.REM_INT_LIT16, + new Info(Opcodes.REM_INT_LIT16, "rem-int/lit16", InstructionCodec.FORMAT_22S, null); public static final Info AND_INT_LIT16 = - new Info(Opcodes.AND_INT_LIT16, + new Info(Opcodes.AND_INT_LIT16, "and-int/lit16", InstructionCodec.FORMAT_22S, null); public static final Info OR_INT_LIT16 = - new Info(Opcodes.OR_INT_LIT16, + new Info(Opcodes.OR_INT_LIT16, "or-int/lit16", InstructionCodec.FORMAT_22S, null); public static final Info XOR_INT_LIT16 = - new Info(Opcodes.XOR_INT_LIT16, + new Info(Opcodes.XOR_INT_LIT16, "xor-int/lit16", InstructionCodec.FORMAT_22S, null); public static final Info ADD_INT_LIT8 = - new Info(Opcodes.ADD_INT_LIT8, + new Info(Opcodes.ADD_INT_LIT8, "add-int/lit8", InstructionCodec.FORMAT_22B, null); public static final Info RSUB_INT_LIT8 = - new Info(Opcodes.RSUB_INT_LIT8, + new Info(Opcodes.RSUB_INT_LIT8, "rsub-int/lit8", InstructionCodec.FORMAT_22B, null); public static final Info MUL_INT_LIT8 = - new Info(Opcodes.MUL_INT_LIT8, + new Info(Opcodes.MUL_INT_LIT8, "mul-int/lit8", InstructionCodec.FORMAT_22B, null); public static final Info DIV_INT_LIT8 = - new Info(Opcodes.DIV_INT_LIT8, + new Info(Opcodes.DIV_INT_LIT8, "div-int/lit8", InstructionCodec.FORMAT_22B, null); public static final Info REM_INT_LIT8 = - new Info(Opcodes.REM_INT_LIT8, + new Info(Opcodes.REM_INT_LIT8, "rem-int/lit8", InstructionCodec.FORMAT_22B, null); public static final Info AND_INT_LIT8 = - new Info(Opcodes.AND_INT_LIT8, + new Info(Opcodes.AND_INT_LIT8, "and-int/lit8", InstructionCodec.FORMAT_22B, null); public static final Info OR_INT_LIT8 = - new Info(Opcodes.OR_INT_LIT8, + new Info(Opcodes.OR_INT_LIT8, "or-int/lit8", InstructionCodec.FORMAT_22B, null); public static final Info XOR_INT_LIT8 = - new Info(Opcodes.XOR_INT_LIT8, + new Info(Opcodes.XOR_INT_LIT8, "xor-int/lit8", InstructionCodec.FORMAT_22B, null); public static final Info SHL_INT_LIT8 = - new Info(Opcodes.SHL_INT_LIT8, + new Info(Opcodes.SHL_INT_LIT8, "shl-int/lit8", InstructionCodec.FORMAT_22B, null); public static final Info SHR_INT_LIT8 = - new Info(Opcodes.SHR_INT_LIT8, + new Info(Opcodes.SHR_INT_LIT8, "shr-int/lit8", InstructionCodec.FORMAT_22B, null); public static final Info USHR_INT_LIT8 = - new Info(Opcodes.USHR_INT_LIT8, + new Info(Opcodes.USHR_INT_LIT8, "ushr-int/lit8", InstructionCodec.FORMAT_22B, null); public static final Info CONST_CLASS_JUMBO = - new Info(Opcodes.CONST_CLASS_JUMBO, + new Info(Opcodes.CONST_CLASS_JUMBO, "const-class/jumbo", InstructionCodec.FORMAT_41C, IndexType.TYPE_REF); public static final Info CHECK_CAST_JUMBO = - new Info(Opcodes.CHECK_CAST_JUMBO, + new Info(Opcodes.CHECK_CAST_JUMBO, "check-cast/jumbo", InstructionCodec.FORMAT_41C, IndexType.TYPE_REF); public static final Info INSTANCE_OF_JUMBO = - new Info(Opcodes.INSTANCE_OF_JUMBO, + new Info(Opcodes.INSTANCE_OF_JUMBO, "instance-of/jumbo", InstructionCodec.FORMAT_52C, IndexType.TYPE_REF); public static final Info NEW_INSTANCE_JUMBO = - new Info(Opcodes.NEW_INSTANCE_JUMBO, + new Info(Opcodes.NEW_INSTANCE_JUMBO, "new-instance/jumbo", InstructionCodec.FORMAT_41C, IndexType.TYPE_REF); public static final Info NEW_ARRAY_JUMBO = - new Info(Opcodes.NEW_ARRAY_JUMBO, + new Info(Opcodes.NEW_ARRAY_JUMBO, "new-array/jumbo", InstructionCodec.FORMAT_52C, IndexType.TYPE_REF); public static final Info FILLED_NEW_ARRAY_JUMBO = - new Info(Opcodes.FILLED_NEW_ARRAY_JUMBO, + new Info(Opcodes.FILLED_NEW_ARRAY_JUMBO, "filled-new-array/jumbo", InstructionCodec.FORMAT_5RC, IndexType.TYPE_REF); public static final Info IGET_JUMBO = - new Info(Opcodes.IGET_JUMBO, + new Info(Opcodes.IGET_JUMBO, "iget/jumbo", InstructionCodec.FORMAT_52C, IndexType.FIELD_REF); public static final Info IGET_WIDE_JUMBO = - new Info(Opcodes.IGET_WIDE_JUMBO, + new Info(Opcodes.IGET_WIDE_JUMBO, "iget-wide/jumbo", InstructionCodec.FORMAT_52C, IndexType.FIELD_REF); public static final Info IGET_OBJECT_JUMBO = - new Info(Opcodes.IGET_OBJECT_JUMBO, + new Info(Opcodes.IGET_OBJECT_JUMBO, "iget-object/jumbo", InstructionCodec.FORMAT_52C, IndexType.FIELD_REF); public static final Info IGET_BOOLEAN_JUMBO = - new Info(Opcodes.IGET_BOOLEAN_JUMBO, + new Info(Opcodes.IGET_BOOLEAN_JUMBO, "iget-boolean/jumbo", InstructionCodec.FORMAT_52C, IndexType.FIELD_REF); public static final Info IGET_BYTE_JUMBO = - new Info(Opcodes.IGET_BYTE_JUMBO, + new Info(Opcodes.IGET_BYTE_JUMBO, "iget-byte/jumbo", InstructionCodec.FORMAT_52C, IndexType.FIELD_REF); public static final Info IGET_CHAR_JUMBO = - new Info(Opcodes.IGET_CHAR_JUMBO, + new Info(Opcodes.IGET_CHAR_JUMBO, "iget-char/jumbo", InstructionCodec.FORMAT_52C, IndexType.FIELD_REF); public static final Info IGET_SHORT_JUMBO = - new Info(Opcodes.IGET_SHORT_JUMBO, + new Info(Opcodes.IGET_SHORT_JUMBO, "iget-short/jumbo", InstructionCodec.FORMAT_52C, IndexType.FIELD_REF); public static final Info IPUT_JUMBO = - new Info(Opcodes.IPUT_JUMBO, + new Info(Opcodes.IPUT_JUMBO, "iput/jumbo", InstructionCodec.FORMAT_52C, IndexType.FIELD_REF); public static final Info IPUT_WIDE_JUMBO = - new Info(Opcodes.IPUT_WIDE_JUMBO, + new Info(Opcodes.IPUT_WIDE_JUMBO, "iput-wide/jumbo", InstructionCodec.FORMAT_52C, IndexType.FIELD_REF); public static final Info IPUT_OBJECT_JUMBO = - new Info(Opcodes.IPUT_OBJECT_JUMBO, + new Info(Opcodes.IPUT_OBJECT_JUMBO, "iput-object/jumbo", InstructionCodec.FORMAT_52C, IndexType.FIELD_REF); public static final Info IPUT_BOOLEAN_JUMBO = - new Info(Opcodes.IPUT_BOOLEAN_JUMBO, + new Info(Opcodes.IPUT_BOOLEAN_JUMBO, "iput-boolean/jumbo", InstructionCodec.FORMAT_52C, IndexType.FIELD_REF); public static final Info IPUT_BYTE_JUMBO = - new Info(Opcodes.IPUT_BYTE_JUMBO, + new Info(Opcodes.IPUT_BYTE_JUMBO, "iput-byte/jumbo", InstructionCodec.FORMAT_52C, IndexType.FIELD_REF); public static final Info IPUT_CHAR_JUMBO = - new Info(Opcodes.IPUT_CHAR_JUMBO, + new Info(Opcodes.IPUT_CHAR_JUMBO, "iput-char/jumbo", InstructionCodec.FORMAT_52C, IndexType.FIELD_REF); public static final Info IPUT_SHORT_JUMBO = - new Info(Opcodes.IPUT_SHORT_JUMBO, + new Info(Opcodes.IPUT_SHORT_JUMBO, "iput-short/jumbo", InstructionCodec.FORMAT_52C, IndexType.FIELD_REF); public static final Info SGET_JUMBO = - new Info(Opcodes.SGET_JUMBO, + new Info(Opcodes.SGET_JUMBO, "sget/jumbo", InstructionCodec.FORMAT_41C, IndexType.FIELD_REF); public static final Info SGET_WIDE_JUMBO = - new Info(Opcodes.SGET_WIDE_JUMBO, + new Info(Opcodes.SGET_WIDE_JUMBO, "sget-wide/jumbo", InstructionCodec.FORMAT_41C, IndexType.FIELD_REF); public static final Info SGET_OBJECT_JUMBO = - new Info(Opcodes.SGET_OBJECT_JUMBO, + new Info(Opcodes.SGET_OBJECT_JUMBO, "sget-object/jumbo", InstructionCodec.FORMAT_41C, IndexType.FIELD_REF); public static final Info SGET_BOOLEAN_JUMBO = - new Info(Opcodes.SGET_BOOLEAN_JUMBO, + new Info(Opcodes.SGET_BOOLEAN_JUMBO, "sget-boolean/jumbo", InstructionCodec.FORMAT_41C, IndexType.FIELD_REF); public static final Info SGET_BYTE_JUMBO = - new Info(Opcodes.SGET_BYTE_JUMBO, + new Info(Opcodes.SGET_BYTE_JUMBO, "sget-byte/jumbo", InstructionCodec.FORMAT_41C, IndexType.FIELD_REF); public static final Info SGET_CHAR_JUMBO = - new Info(Opcodes.SGET_CHAR_JUMBO, + new Info(Opcodes.SGET_CHAR_JUMBO, "sget-char/jumbo", InstructionCodec.FORMAT_41C, IndexType.FIELD_REF); public static final Info SGET_SHORT_JUMBO = - new Info(Opcodes.SGET_SHORT_JUMBO, + new Info(Opcodes.SGET_SHORT_JUMBO, "sget-short/jumbo", InstructionCodec.FORMAT_41C, IndexType.FIELD_REF); public static final Info SPUT_JUMBO = - new Info(Opcodes.SPUT_JUMBO, + new Info(Opcodes.SPUT_JUMBO, "sput/jumbo", InstructionCodec.FORMAT_41C, IndexType.FIELD_REF); public static final Info SPUT_WIDE_JUMBO = - new Info(Opcodes.SPUT_WIDE_JUMBO, + new Info(Opcodes.SPUT_WIDE_JUMBO, "sput-wide/jumbo", InstructionCodec.FORMAT_41C, IndexType.FIELD_REF); public static final Info SPUT_OBJECT_JUMBO = - new Info(Opcodes.SPUT_OBJECT_JUMBO, + new Info(Opcodes.SPUT_OBJECT_JUMBO, "sput-object/jumbo", InstructionCodec.FORMAT_41C, IndexType.FIELD_REF); public static final Info SPUT_BOOLEAN_JUMBO = - new Info(Opcodes.SPUT_BOOLEAN_JUMBO, + new Info(Opcodes.SPUT_BOOLEAN_JUMBO, "sput-boolean/jumbo", InstructionCodec.FORMAT_41C, IndexType.FIELD_REF); public static final Info SPUT_BYTE_JUMBO = - new Info(Opcodes.SPUT_BYTE_JUMBO, + new Info(Opcodes.SPUT_BYTE_JUMBO, "sput-byte/jumbo", InstructionCodec.FORMAT_41C, IndexType.FIELD_REF); public static final Info SPUT_CHAR_JUMBO = - new Info(Opcodes.SPUT_CHAR_JUMBO, + new Info(Opcodes.SPUT_CHAR_JUMBO, "sput-char/jumbo", InstructionCodec.FORMAT_41C, IndexType.FIELD_REF); public static final Info SPUT_SHORT_JUMBO = - new Info(Opcodes.SPUT_SHORT_JUMBO, + new Info(Opcodes.SPUT_SHORT_JUMBO, "sput-short/jumbo", InstructionCodec.FORMAT_41C, IndexType.FIELD_REF); public static final Info INVOKE_VIRTUAL_JUMBO = - new Info(Opcodes.INVOKE_VIRTUAL_JUMBO, + new Info(Opcodes.INVOKE_VIRTUAL_JUMBO, "invoke-virtual/jumbo", InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF); public static final Info INVOKE_SUPER_JUMBO = - new Info(Opcodes.INVOKE_SUPER_JUMBO, + new Info(Opcodes.INVOKE_SUPER_JUMBO, "invoke-super/jumbo", InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF); public static final Info INVOKE_DIRECT_JUMBO = - new Info(Opcodes.INVOKE_DIRECT_JUMBO, + new Info(Opcodes.INVOKE_DIRECT_JUMBO, "invoke-direct/jumbo", InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF); public static final Info INVOKE_STATIC_JUMBO = - new Info(Opcodes.INVOKE_STATIC_JUMBO, + new Info(Opcodes.INVOKE_STATIC_JUMBO, "invoke-static/jumbo", InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF); public static final Info INVOKE_INTERFACE_JUMBO = - new Info(Opcodes.INVOKE_INTERFACE_JUMBO, + new Info(Opcodes.INVOKE_INTERFACE_JUMBO, "invoke-interface/jumbo", InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF); // END(opcode-info-defs) @@ -1079,6 +1089,9 @@ public final class OpcodeInfo { static { INFO = new Info[Opcodes.MAX_VALUE - Opcodes.MIN_VALUE + 1]; + // TODO: Stop using this constant. + set(SPECIAL_FORMAT); + // TODO: These payload opcodes should be generated by opcode-gen. set(PACKED_SWITCH_PAYLOAD); set(SPARSE_SWITCH_PAYLOAD); @@ -1376,10 +1389,10 @@ public final class OpcodeInfo { } /** - * Gets the {@link IndexType} for the given opcode value. + * Gets the name of the given opcode. */ - public static IndexType getIndexType(int opcode) { - return get(opcode).getIndexType(); + public static String getName(int opcode) { + return get(opcode).getName(); } /** @@ -1391,6 +1404,13 @@ public final class OpcodeInfo { } /** + * Gets the {@link IndexType} for the given opcode value. + */ + public static IndexType getIndexType(int opcode) { + return get(opcode).getIndexType(); + } + + /** * Puts the given opcode into the table of all ops. * * @param opcode non-null; the opcode @@ -1405,11 +1425,14 @@ public final class OpcodeInfo { */ public static class Info { private final int opcode; + private final String name; private final InstructionCodec format; private final IndexType indexType; - public Info(int opcode, InstructionCodec format, IndexType indexType) { + public Info(int opcode, String name, InstructionCodec format, + IndexType indexType) { this.opcode = opcode; + this.name = name; this.format = format; this.indexType = indexType; } @@ -1418,6 +1441,10 @@ public final class OpcodeInfo { return opcode; } + public String getName() { + return name; + } + public InstructionCodec getFormat() { return format; } diff --git a/dx/src/com/android/dx/merge/InstructionTransformer.java b/dx/src/com/android/dx/merge/InstructionTransformer.java index 27f8cf928..e0dfc9f32 100644 --- a/dx/src/com/android/dx/merge/InstructionTransformer.java +++ b/dx/src/com/android/dx/merge/InstructionTransformer.java @@ -19,6 +19,7 @@ package com.android.dx.merge; import com.android.dx.dex.DexException; import com.android.dx.io.CodeReader; import com.android.dx.io.DecodedInstruction; +import com.android.dx.io.OpcodeInfo; import com.android.dx.io.ShortArrayCodeOutput; final class InstructionTransformer { @@ -58,15 +59,13 @@ final class InstructionTransformer { } private class GenericVisitor implements CodeReader.Visitor { - public void visit(CodeReader.Instruction instruction, - DecodedInstruction[] all, DecodedInstruction one) { + public void visit(DecodedInstruction[] all, DecodedInstruction one) { mappedInstructions[mappedAt++] = one; } } private class StringVisitor implements CodeReader.Visitor { - public void visit(CodeReader.Instruction instruction, - DecodedInstruction[] all, DecodedInstruction one) { + public void visit(DecodedInstruction[] all, DecodedInstruction one) { int stringId = one.getIndex(); int mappedId = indexMap.adjustString(stringId); if (mappedId > 0xFFFF) { @@ -78,8 +77,7 @@ final class InstructionTransformer { } private class JumboStringVisitor implements CodeReader.Visitor { - public void visit(CodeReader.Instruction instruction, - DecodedInstruction[] all, DecodedInstruction one) { + public void visit(DecodedInstruction[] all, DecodedInstruction one) { throw new UnsupportedOperationException("Jumbo strings not implemented. " + "Due to a lack of dex files requiring jumbo strings, this class doesn't " + "bother to support jumbo strings!"); @@ -87,8 +85,7 @@ final class InstructionTransformer { } private class FieldVisitor implements CodeReader.Visitor { - public void visit(CodeReader.Instruction instruction, - DecodedInstruction[] all, DecodedInstruction one) { + public void visit(DecodedInstruction[] all, DecodedInstruction one) { int fieldId = one.getIndex(); int mappedId = indexMap.adjustField(fieldId); mappedInstructions[mappedAt++] = one.withIndex(mappedId); @@ -96,8 +93,7 @@ final class InstructionTransformer { } private class TypeVisitor implements CodeReader.Visitor { - public void visit(CodeReader.Instruction instruction, - DecodedInstruction[] all, DecodedInstruction one) { + public void visit(DecodedInstruction[] all, DecodedInstruction one) { int typeId = one.getIndex(); int mappedId = indexMap.adjustType(typeId); mappedInstructions[mappedAt++] = one.withIndex(mappedId); @@ -105,8 +101,7 @@ final class InstructionTransformer { } private class MethodVisitor implements CodeReader.Visitor { - public void visit(CodeReader.Instruction instruction, - DecodedInstruction[] all, DecodedInstruction one) { + public void visit(DecodedInstruction[] all, DecodedInstruction one) { int methodId = one.getIndex(); int mappedId = indexMap.adjustMethod(methodId); mappedInstructions[mappedAt++] = one.withIndex(mappedId); diff --git a/dx/tests/118-find-usages/expected.txt b/dx/tests/118-find-usages/expected.txt index ef735c8ec..aca2bf165 100644 --- a/dx/tests/118-find-usages/expected.txt +++ b/dx/tests/118-find-usages/expected.txt @@ -1,9 +1,9 @@ StreamTokenizer.nval -LFoo;.readStreamTokenizerNval: field reference (iget-wide vA, vB, field@CCCC) -LFoo;.writeStreamTokenizerNval: field reference (iput-wide vA, vB, field@CCCC) +LFoo;.readStreamTokenizerNval: field reference (iget-wide) +LFoo;.writeStreamTokenizerNval: field reference (iput-wide) ArrayList.remove() -LFoo;.callArrayListRemoveIndex: method reference (invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC) -LFoo;.callArrayListRemoveValue: method reference (invoke-virtual {vD, vE, vF, vG, vA}, meth@CCCC) +LFoo;.callArrayListRemoveIndex: method reference (invoke-virtual) +LFoo;.callArrayListRemoveValue: method reference (invoke-virtual) Collection.remove() String.valueOf() -LFoo;.callStringValueOf: method reference (invoke-static {vD, vE, vF, vG, vA}, meth@CCCC) +LFoo;.callStringValueOf: method reference (invoke-static) diff --git a/opcode-gen/opcode-gen.awk b/opcode-gen/opcode-gen.awk index e269abf39..2f1a830eb 100644 --- a/opcode-gen/opcode-gen.awk +++ b/opcode-gen/opcode-gen.awk @@ -96,10 +96,9 @@ emission == "dops" { printf(" public static final Dop %s =\n" \ " new Dop(Opcodes.%s, Opcodes.%s,\n" \ - " Opcodes.%s, Form%s.THE_ONE, %s,\n" \ - " \"%s\");\n\n", + " Opcodes.%s, Form%s.THE_ONE, %s);\n\n", constName[i], constName[i], family[i], nextOp, format[i], - hasResult[i], name[i]); + hasResult[i]); } } @@ -119,9 +118,9 @@ emission == "opcode-info-defs" { } printf(" public static final Info %s =\n" \ - " new Info(Opcodes.%s,\n" \ + " new Info(Opcodes.%s, \"%s\",\n" \ " InstructionCodec.FORMAT_%s, %s);\n\n", \ - constName[i], constName[i], toupper(format[i]), itype); + constName[i], constName[i], name[i], toupper(format[i]), itype); } } |