类 VariableInstruction
java.lang.Object
proguard.classfile.instruction.Instruction
proguard.classfile.instruction.VariableInstruction
This
Instruction represents an instruction that refers to a variable on the local
variable stack.-
字段概要
字段从类继承的字段 proguard.classfile.instruction.Instruction
ARRAY_T_BOOLEAN, ARRAY_T_BYTE, ARRAY_T_CHAR, ARRAY_T_DOUBLE, ARRAY_T_FLOAT, ARRAY_T_INT, ARRAY_T_LONG, ARRAY_T_SHORT, NAMES, OP_AALOAD, OP_AASTORE, OP_ACONST_NULL, OP_ALOAD, OP_ALOAD_0, OP_ALOAD_1, OP_ALOAD_2, OP_ALOAD_3, OP_ANEWARRAY, OP_ARETURN, OP_ARRAYLENGTH, OP_ASTORE, OP_ASTORE_0, OP_ASTORE_1, OP_ASTORE_2, OP_ASTORE_3, OP_ATHROW, OP_BALOAD, OP_BASTORE, OP_BIPUSH, OP_CALOAD, OP_CASTORE, OP_CHECKCAST, OP_D2F, OP_D2I, OP_D2L, OP_DADD, OP_DALOAD, OP_DASTORE, OP_DCMPG, OP_DCMPL, OP_DCONST_0, OP_DCONST_1, OP_DDIV, OP_DLOAD, OP_DLOAD_0, OP_DLOAD_1, OP_DLOAD_2, OP_DLOAD_3, OP_DMUL, OP_DNEG, OP_DREM, OP_DRETURN, OP_DSTORE, OP_DSTORE_0, OP_DSTORE_1, OP_DSTORE_2, OP_DSTORE_3, OP_DSUB, OP_DUP, OP_DUP_X1, OP_DUP_X2, OP_DUP2, OP_DUP2_X1, OP_DUP2_X2, OP_F2D, OP_F2I, OP_F2L, OP_FADD, OP_FALOAD, OP_FASTORE, OP_FCMPG, OP_FCMPL, OP_FCONST_0, OP_FCONST_1, OP_FCONST_2, OP_FDIV, OP_FLOAD, OP_FLOAD_0, OP_FLOAD_1, OP_FLOAD_2, OP_FLOAD_3, OP_FMUL, OP_FNEG, OP_FREM, OP_FRETURN, OP_FSTORE, OP_FSTORE_0, OP_FSTORE_1, OP_FSTORE_2, OP_FSTORE_3, OP_FSUB, OP_GETFIELD, OP_GETSTATIC, OP_GOTO, OP_GOTO_W, OP_I2B, OP_I2C, OP_I2D, OP_I2F, OP_I2L, OP_I2S, OP_IADD, OP_IALOAD, OP_IAND, OP_IASTORE, OP_ICONST_0, OP_ICONST_1, OP_ICONST_2, OP_ICONST_3, OP_ICONST_4, OP_ICONST_5, OP_ICONST_M1, OP_IDIV, OP_IFACMPEQ, OP_IFACMPNE, OP_IFEQ, OP_IFGE, OP_IFGT, OP_IFICMPEQ, OP_IFICMPGE, OP_IFICMPGT, OP_IFICMPLE, OP_IFICMPLT, OP_IFICMPNE, OP_IFLE, OP_IFLT, OP_IFNE, OP_IFNONNULL, OP_IFNULL, OP_IINC, OP_ILOAD, OP_ILOAD_0, OP_ILOAD_1, OP_ILOAD_2, OP_ILOAD_3, OP_IMUL, OP_INEG, OP_INSTANCEOF, OP_INVOKEDYNAMIC, OP_INVOKEINTERFACE, OP_INVOKESPECIAL, OP_INVOKESTATIC, OP_INVOKEVIRTUAL, OP_IOR, OP_IREM, OP_IRETURN, OP_ISHL, OP_ISHR, OP_ISTORE, OP_ISTORE_0, OP_ISTORE_1, OP_ISTORE_2, OP_ISTORE_3, OP_ISUB, OP_IUSHR, OP_IXOR, OP_JSR, OP_JSR_W, OP_L2D, OP_L2F, OP_L2I, OP_LADD, OP_LALOAD, OP_LAND, OP_LASTORE, OP_LCMP, OP_LCONST_0, OP_LCONST_1, OP_LDC, OP_LDC_W, OP_LDC2_W, OP_LDIV, OP_LLOAD, OP_LLOAD_0, OP_LLOAD_1, OP_LLOAD_2, OP_LLOAD_3, OP_LMUL, OP_LNEG, OP_LOOKUPSWITCH, OP_LOR, OP_LREM, OP_LRETURN, OP_LSHL, OP_LSHR, OP_LSTORE, OP_LSTORE_0, OP_LSTORE_1, OP_LSTORE_2, OP_LSTORE_3, OP_LSUB, OP_LUSHR, OP_LXOR, OP_MONITORENTER, OP_MONITOREXIT, OP_MULTIANEWARRAY, OP_NEW, OP_NEWARRAY, OP_NOP, OP_POP, OP_POP2, OP_PUTFIELD, OP_PUTSTATIC, OP_RET, OP_RETURN, OP_SALOAD, OP_SASTORE, OP_SIPUSH, OP_SWAP, OP_TABLESWITCH, OP_WIDE, opcode -
构造器概要
构造器构造器说明Creates an uninitialized VariableInstruction.VariableInstruction(boolean wide) VariableInstruction(byte opcode) VariableInstruction(byte opcode, int variableIndex) VariableInstruction(byte opcode, int variableIndex, int constant) -
方法概要
修饰符和类型方法说明voidaccept(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, InstructionVisitor instructionVisitor) Accepts the given visitor.byteReturns the canonical opcode of this instruction, i.e. typically the opcode whose extension has been removed.copy(VariableInstruction variableInstruction) Copies the given instruction into this instruction.booleaninthashCode()booleanisLoad()Returns whether this instruction loads the value of a variable.booleanisStore()Returns whether this instruction stores the value of a variable.protected booleanisWide()Returns whether the instruction is wide, i.e. preceded by a wide opcode.intlength(int offset) Returns the length in bytes of the instruction.protected voidreadInfo(byte[] code, int offset) Reads the data following the instruction opcode.shrink()Shrinks this instruction to its shortest possible form.toString()protected voidwriteInfo(byte[] code, int offset) Writes data following the instruction opcode.从类继承的方法 proguard.classfile.instruction.Instruction
actualOpcode, getName, isCategory2, mayInstanceThrowExceptions, mayThrowExceptions, readByte, readInt, readShort, readSignedByte, readSignedShort, readSignedValue, readValue, stackEntryIndexBefore, stackPopCount, stackPushCount, toString, toString, write, write, writeByte, writeInt, writeShort, writeSignedByte, writeSignedShort, writeSignedValue, writeValue
-
字段详细资料
-
wide
public boolean wide -
variableIndex
public int variableIndex -
constant
public int constant
-
-
构造器详细资料
-
VariableInstruction
public VariableInstruction()Creates an uninitialized VariableInstruction. -
VariableInstruction
public VariableInstruction(boolean wide) -
VariableInstruction
public VariableInstruction(byte opcode) -
VariableInstruction
public VariableInstruction(byte opcode, int variableIndex) -
VariableInstruction
public VariableInstruction(byte opcode, int variableIndex, int constant)
-
-
方法详细资料
-
copy
Copies the given instruction into this instruction.- 参数:
variableInstruction- the instruction to be copied.- 返回:
- this instruction.
-
isStore
public boolean isStore()Returns whether this instruction stores the value of a variable. The value is false for the ret instruction, but true for the iinc instruction. -
isLoad
public boolean isLoad()Returns whether this instruction loads the value of a variable. The value is true for the ret instruction and for the iinc instruction. -
canonicalOpcode
public byte canonicalOpcode()从类复制的说明:InstructionReturns the canonical opcode of this instruction, i.e. typically the opcode whose extension has been removed.- 覆盖:
canonicalOpcode在类中Instruction
-
shrink
从类复制的说明:InstructionShrinks this instruction to its shortest possible form.- 指定者:
shrink在类中Instruction- 返回:
- this instruction.
-
isWide
protected boolean isWide()从类复制的说明:InstructionReturns whether the instruction is wide, i.e. preceded by a wide opcode. With the current specifications, only variable instructions can be wide.- 覆盖:
isWide在类中Instruction
-
readInfo
protected void readInfo(byte[] code, int offset) 从类复制的说明:InstructionReads the data following the instruction opcode.- 指定者:
readInfo在类中Instruction
-
writeInfo
protected void writeInfo(byte[] code, int offset) 从类复制的说明:InstructionWrites data following the instruction opcode.- 指定者:
writeInfo在类中Instruction
-
length
public int length(int offset) 从类复制的说明:InstructionReturns the length in bytes of the instruction.- 指定者:
length在类中Instruction
-
accept
public void accept(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, InstructionVisitor instructionVisitor) 从类复制的说明:InstructionAccepts the given visitor.- 指定者:
accept在类中Instruction
-
toString
-
equals
- 指定者:
equals在类中Instruction
-
hashCode
public int hashCode()- 指定者:
hashCode在类中Instruction
-