com.gomjabbar.classes.bytecode
Class InstructionInfo
java.lang.Object
|
+--com.gomjabbar.classes.bytecode.InstructionInfo
- public class InstructionInfo
- extends java.lang.Object
Constructor Summary |
protected |
InstructionInfo(PseudoClassFile pcf,
CodeInfo.LocalVariableInfo lif,
byte[] b,
long[] start,
long code_start)
|
|
InstructionInfo(PseudoClassFile pcf,
CodeInfo.LocalVariableInfo lif,
java.lang.String opname,
java.lang.Object[] params,
long addr)
According to the ops (the kind of operands of the opcode)
and to the opcode, the params are the following :
OpcodeOpsParams.lengthDescription
*OPR_none0-
*OPR_byte1Byte
*OPR_short OPR_local_1 OPR_local_2 OPR_offset
OPR_const_C OPR_const_F OPR_const_M
OPR_const_1 OPR_const_1_W OPR_const_2_W1Integer
*OPR_offset_W1Long
OPC_tableswitchOPR_specific3+ndefault=Long,begin=Long,end=Long and n offset=Longs, n=Params[2]-Params[1]
OPC_lookupswitchOPR_specific2+ndefault=Long, nbr=Long and n (pattern=Integer, offset=Long), n =Params[1]
OPC_invokeinterface OPC_multianewarrayOPR_specific2constant_index=Integer, dimension=Byte
OPC_newarrayOPR_specific1Byte, in { T_BOOLEAN, T_CHAR, T_FLOAT, T_DOUBLE,
T_BYTE, T_SHORT, T_INT, T_LONG }
OPC_wideOPR_specific? |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
OPR_none
public static final int OPR_none
OPR_byte
public static final int OPR_byte
OPR_short
public static final int OPR_short
OPR_local_1
public static final int OPR_local_1
OPR_local_2
public static final int OPR_local_2
OPR_offset
public static final int OPR_offset
OPR_offset_W
public static final int OPR_offset_W
OPR_const_C
public static final int OPR_const_C
OPR_const_F
public static final int OPR_const_F
OPR_const_M
public static final int OPR_const_M
OPR_const_1
public static final int OPR_const_1
OPR_const_1_W
public static final int OPR_const_1_W
OPR_const_2_W
public static final int OPR_const_2_W
OPR_specific
public static final int OPR_specific
oprc
public static final int oprc
T_BOOLEAN
public static final byte T_BOOLEAN
T_CHAR
public static final byte T_CHAR
T_FLOAT
public static final byte T_FLOAT
T_DOUBLE
public static final byte T_DOUBLE
T_BYTE
public static final byte T_BYTE
T_SHORT
public static final byte T_SHORT
T_INT
public static final byte T_INT
T_LONG
public static final byte T_LONG
N_NOP
public static final java.lang.String N_NOP
N_ACONST_NULL
public static final java.lang.String N_ACONST_NULL
N_ICONST_M1
public static final java.lang.String N_ICONST_M1
N_ICONST_0
public static final java.lang.String N_ICONST_0
N_ICONST_1
public static final java.lang.String N_ICONST_1
N_ICONST_2
public static final java.lang.String N_ICONST_2
N_ICONST_3
public static final java.lang.String N_ICONST_3
N_ICONST_4
public static final java.lang.String N_ICONST_4
N_ICONST_5
public static final java.lang.String N_ICONST_5
N_LCONST_0
public static final java.lang.String N_LCONST_0
N_LCONST_1
public static final java.lang.String N_LCONST_1
N_FCONST_0
public static final java.lang.String N_FCONST_0
N_FCONST_1
public static final java.lang.String N_FCONST_1
N_FCONST_2
public static final java.lang.String N_FCONST_2
N_DCONST_0
public static final java.lang.String N_DCONST_0
N_DCONST_1
public static final java.lang.String N_DCONST_1
N_BIPUSH
public static final java.lang.String N_BIPUSH
N_SIPUSH
public static final java.lang.String N_SIPUSH
N_LDC
public static final java.lang.String N_LDC
N_LDC_W
public static final java.lang.String N_LDC_W
N_LDC2_W
public static final java.lang.String N_LDC2_W
N_ILOAD
public static final java.lang.String N_ILOAD
N_LLOAD
public static final java.lang.String N_LLOAD
N_FLOAD
public static final java.lang.String N_FLOAD
N_DLOAD
public static final java.lang.String N_DLOAD
N_ALOAD
public static final java.lang.String N_ALOAD
N_ILOAD_0
public static final java.lang.String N_ILOAD_0
N_ILOAD_1
public static final java.lang.String N_ILOAD_1
N_ILOAD_2
public static final java.lang.String N_ILOAD_2
N_ILOAD_3
public static final java.lang.String N_ILOAD_3
N_LLOAD_0
public static final java.lang.String N_LLOAD_0
N_LLOAD_1
public static final java.lang.String N_LLOAD_1
N_LLOAD_2
public static final java.lang.String N_LLOAD_2
N_LLOAD_3
public static final java.lang.String N_LLOAD_3
N_FLOAD_0
public static final java.lang.String N_FLOAD_0
N_FLOAD_1
public static final java.lang.String N_FLOAD_1
N_FLOAD_2
public static final java.lang.String N_FLOAD_2
N_FLOAD_3
public static final java.lang.String N_FLOAD_3
N_DLOAD_0
public static final java.lang.String N_DLOAD_0
N_DLOAD_1
public static final java.lang.String N_DLOAD_1
N_DLOAD_2
public static final java.lang.String N_DLOAD_2
N_DLOAD_3
public static final java.lang.String N_DLOAD_3
N_ALOAD_0
public static final java.lang.String N_ALOAD_0
N_ALOAD_1
public static final java.lang.String N_ALOAD_1
N_ALOAD_2
public static final java.lang.String N_ALOAD_2
N_ALOAD_3
public static final java.lang.String N_ALOAD_3
N_IALOAD
public static final java.lang.String N_IALOAD
N_LALOAD
public static final java.lang.String N_LALOAD
N_FALOAD
public static final java.lang.String N_FALOAD
N_DALOAD
public static final java.lang.String N_DALOAD
N_AALOAD
public static final java.lang.String N_AALOAD
N_BALOAD
public static final java.lang.String N_BALOAD
N_CALOAD
public static final java.lang.String N_CALOAD
N_SALOAD
public static final java.lang.String N_SALOAD
N_ISTORE
public static final java.lang.String N_ISTORE
N_LSTORE
public static final java.lang.String N_LSTORE
N_FSTORE
public static final java.lang.String N_FSTORE
N_DSTORE
public static final java.lang.String N_DSTORE
N_ASTORE
public static final java.lang.String N_ASTORE
N_ISTORE_0
public static final java.lang.String N_ISTORE_0
N_ISTORE_1
public static final java.lang.String N_ISTORE_1
N_ISTORE_2
public static final java.lang.String N_ISTORE_2
N_ISTORE_3
public static final java.lang.String N_ISTORE_3
N_LSTORE_0
public static final java.lang.String N_LSTORE_0
N_LSTORE_1
public static final java.lang.String N_LSTORE_1
N_LSTORE_2
public static final java.lang.String N_LSTORE_2
N_LSTORE_3
public static final java.lang.String N_LSTORE_3
N_FSTORE_0
public static final java.lang.String N_FSTORE_0
N_FSTORE_1
public static final java.lang.String N_FSTORE_1
N_FSTORE_2
public static final java.lang.String N_FSTORE_2
N_FSTORE_3
public static final java.lang.String N_FSTORE_3
N_DSTORE_0
public static final java.lang.String N_DSTORE_0
N_DSTORE_1
public static final java.lang.String N_DSTORE_1
N_DSTORE_2
public static final java.lang.String N_DSTORE_2
N_DSTORE_3
public static final java.lang.String N_DSTORE_3
N_ASTORE_0
public static final java.lang.String N_ASTORE_0
N_ASTORE_1
public static final java.lang.String N_ASTORE_1
N_ASTORE_2
public static final java.lang.String N_ASTORE_2
N_ASTORE_3
public static final java.lang.String N_ASTORE_3
N_IASTORE
public static final java.lang.String N_IASTORE
N_LASTORE
public static final java.lang.String N_LASTORE
N_FASTORE
public static final java.lang.String N_FASTORE
N_DASTORE
public static final java.lang.String N_DASTORE
N_AASTORE
public static final java.lang.String N_AASTORE
N_BASTORE
public static final java.lang.String N_BASTORE
N_CASTORE
public static final java.lang.String N_CASTORE
N_SASTORE
public static final java.lang.String N_SASTORE
N_POP
public static final java.lang.String N_POP
N_POP2
public static final java.lang.String N_POP2
N_DUP
public static final java.lang.String N_DUP
N_DUP_X1
public static final java.lang.String N_DUP_X1
N_DUP_X
public static final java.lang.String N_DUP_X
N_DUP2
public static final java.lang.String N_DUP2
N_DUP2_X1
public static final java.lang.String N_DUP2_X1
N_DUP2_X2
public static final java.lang.String N_DUP2_X2
N_SWAP
public static final java.lang.String N_SWAP
N_IADD
public static final java.lang.String N_IADD
N_LADD
public static final java.lang.String N_LADD
N_FADD
public static final java.lang.String N_FADD
N_DADD
public static final java.lang.String N_DADD
N_ISUB
public static final java.lang.String N_ISUB
N_LSUB
public static final java.lang.String N_LSUB
N_FSUB
public static final java.lang.String N_FSUB
N_DSUB
public static final java.lang.String N_DSUB
N_IMUL
public static final java.lang.String N_IMUL
N_LMUL
public static final java.lang.String N_LMUL
N_FMUL
public static final java.lang.String N_FMUL
N_DMUL
public static final java.lang.String N_DMUL
N_IDIV
public static final java.lang.String N_IDIV
N_LDIV
public static final java.lang.String N_LDIV
N_FDIV
public static final java.lang.String N_FDIV
N_DDIV
public static final java.lang.String N_DDIV
N_IREM
public static final java.lang.String N_IREM
N_LREM
public static final java.lang.String N_LREM
N_FREM
public static final java.lang.String N_FREM
N_DREM
public static final java.lang.String N_DREM
N_INEG
public static final java.lang.String N_INEG
N_LNEG
public static final java.lang.String N_LNEG
N_FNEG
public static final java.lang.String N_FNEG
N_DNEG
public static final java.lang.String N_DNEG
N_ISHL
public static final java.lang.String N_ISHL
N_LSHL
public static final java.lang.String N_LSHL
N_ISHR
public static final java.lang.String N_ISHR
N_LSHR
public static final java.lang.String N_LSHR
N_IUSHR
public static final java.lang.String N_IUSHR
N_LUSHR
public static final java.lang.String N_LUSHR
N_IAND
public static final java.lang.String N_IAND
N_LAND
public static final java.lang.String N_LAND
N_IOR
public static final java.lang.String N_IOR
N_LOR
public static final java.lang.String N_LOR
N_IXOR
public static final java.lang.String N_IXOR
N_LXOR
public static final java.lang.String N_LXOR
N_IINC
public static final java.lang.String N_IINC
N_I2L
public static final java.lang.String N_I2L
N_I2F
public static final java.lang.String N_I2F
N_I2D
public static final java.lang.String N_I2D
N_L2I
public static final java.lang.String N_L2I
N_L2F
public static final java.lang.String N_L2F
N_L2D
public static final java.lang.String N_L2D
N_F2I
public static final java.lang.String N_F2I
N_F2L
public static final java.lang.String N_F2L
N_F2D
public static final java.lang.String N_F2D
N_D2I
public static final java.lang.String N_D2I
N_D2L
public static final java.lang.String N_D2L
N_D2F
public static final java.lang.String N_D2F
N_I2B
public static final java.lang.String N_I2B
N_I2C
public static final java.lang.String N_I2C
N_I2S
public static final java.lang.String N_I2S
N_LCMP
public static final java.lang.String N_LCMP
N_FCMPL
public static final java.lang.String N_FCMPL
N_FCMPG
public static final java.lang.String N_FCMPG
N_DCMPL
public static final java.lang.String N_DCMPL
N_DCMPG
public static final java.lang.String N_DCMPG
N_IFEQ
public static final java.lang.String N_IFEQ
N_IFNE
public static final java.lang.String N_IFNE
N_IFLT
public static final java.lang.String N_IFLT
N_IFGE
public static final java.lang.String N_IFGE
N_IFGT
public static final java.lang.String N_IFGT
N_IFLE
public static final java.lang.String N_IFLE
N_IF_ICMPEQ
public static final java.lang.String N_IF_ICMPEQ
N_IF_ICMPNE
public static final java.lang.String N_IF_ICMPNE
N_IF_ICMPLT
public static final java.lang.String N_IF_ICMPLT
N_IF_ICMPGE
public static final java.lang.String N_IF_ICMPGE
N_IF_ICMPGT
public static final java.lang.String N_IF_ICMPGT
N_IF_ICMPLE
public static final java.lang.String N_IF_ICMPLE
N_IF_ACMPEQ
public static final java.lang.String N_IF_ACMPEQ
N_IF_ACMPNE
public static final java.lang.String N_IF_ACMPNE
N_GOTO
public static final java.lang.String N_GOTO
N_JSR
public static final java.lang.String N_JSR
N_RET
public static final java.lang.String N_RET
N_TABLESWITCH
public static final java.lang.String N_TABLESWITCH
N_LOOKUPSWITCH
public static final java.lang.String N_LOOKUPSWITCH
N_IRETURN
public static final java.lang.String N_IRETURN
N_LRETURN
public static final java.lang.String N_LRETURN
N_FRETURN
public static final java.lang.String N_FRETURN
N_DRETURN
public static final java.lang.String N_DRETURN
N_ARETURN
public static final java.lang.String N_ARETURN
N_RRETURN
public static final java.lang.String N_RRETURN
N_GETSTATIC
public static final java.lang.String N_GETSTATIC
N_PUTSTATIC
public static final java.lang.String N_PUTSTATIC
N_GETFIELD
public static final java.lang.String N_GETFIELD
N_PUTFIELD
public static final java.lang.String N_PUTFIELD
N_INVOKEVIRTUAL
public static final java.lang.String N_INVOKEVIRTUAL
N_INVOKESPECIAL
public static final java.lang.String N_INVOKESPECIAL
N_INVOKESTATIC
public static final java.lang.String N_INVOKESTATIC
N_INVOKEINTERFACE
public static final java.lang.String N_INVOKEINTERFACE
N_NEW
public static final java.lang.String N_NEW
N_NEWARRAY
public static final java.lang.String N_NEWARRAY
N_ANEWARRAY
public static final java.lang.String N_ANEWARRAY
N_ARRAYLENGTH
public static final java.lang.String N_ARRAYLENGTH
N_ATHROW
public static final java.lang.String N_ATHROW
N_CHECKCAST
public static final java.lang.String N_CHECKCAST
N_INSTANCEOF
public static final java.lang.String N_INSTANCEOF
N_MONITORENTER
public static final java.lang.String N_MONITORENTER
N_MONITOREXIT
public static final java.lang.String N_MONITOREXIT
N_WIDE
public static final java.lang.String N_WIDE
N_MULTIANEWARRAY
public static final java.lang.String N_MULTIANEWARRAY
N_IFNULL
public static final java.lang.String N_IFNULL
N_IFNONNULL
public static final java.lang.String N_IFNONNULL
N_GOTO_W
public static final java.lang.String N_GOTO_W
N_JSR_W
public static final java.lang.String N_JSR_W
N_IMPDEP1
public static final java.lang.String N_IMPDEP1
N_IMPDEP2
public static final java.lang.String N_IMPDEP2
KIND_NONE
public static final int KIND_NONE
KIND_CLASS
public static final int KIND_CLASS
KIND_FIELD
public static final int KIND_FIELD
KIND_METHOD
public static final int KIND_METHOD
InstructionInfo
public InstructionInfo(PseudoClassFile pcf,
CodeInfo.LocalVariableInfo lif,
java.lang.String opname,
java.lang.Object[] params,
long addr)
According to the ops (the kind of operands of the opcode)
and to the opcode, the params are the following :
Opcode | Ops | Params.length | Description
|
* | OPR_none | 0 | -
|
* | OPR_byte | 1 | Byte
|
* | OPR_short OPR_local_1 OPR_local_2 OPR_offset
OPR_const_C OPR_const_F OPR_const_M
OPR_const_1 OPR_const_1_W OPR_const_2_W | 1 | Integer
|
* | OPR_offset_W | 1 | Long
|
OPC_tableswitch | OPR_specific | 3+n | default=Long,begin=Long,end=Long and n offset=Longs, n=Params[2]-Params[1]
|
OPC_lookupswitch | OPR_specific | 2+n | default=Long, nbr=Long and n (pattern=Integer, offset=Long), n =Params[1]
|
OPC_invokeinterface OPC_multianewarray | OPR_specific | 2 | constant_index=Integer, dimension=Byte
|
OPC_newarray | OPR_specific | 1 | Byte, in { T_BOOLEAN, T_CHAR, T_FLOAT, T_DOUBLE,
T_BYTE, T_SHORT, T_INT, T_LONG }
|
OPC_wide | OPR_specific | ? | ?
|
OPC_iinc | OPR_specific | 2 | Integer,Integer
|
InstructionInfo
protected InstructionInfo(PseudoClassFile pcf,
CodeInfo.LocalVariableInfo lif,
byte[] b,
long[] start,
long code_start)
getOpName
public static java.lang.String getOpName(byte opcode)
getOpName
public java.lang.String getOpName()
get_opcode
public static byte get_opcode(java.lang.String opname)
toBytes
public byte[] toBytes()
getAddress
public long getAddress()
getReferred
public ConstantInfo getReferred()
getReferredKind
public int getReferredKind()
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
toGrammar
public static java.lang.String toGrammar()