public class GetInstruction extends Instruction implements IGetInstruction
IInstruction.Visitor| Modifier and Type | Field and Description |
|---|---|
protected java.lang.String |
classType |
protected java.lang.String |
fieldName |
protected java.lang.String |
type |
noInstructionsACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VOLATILE, CONSTANT_Class, CONSTANT_Double, CONSTANT_FieldRef, CONSTANT_Float, CONSTANT_Integer, CONSTANT_InterfaceMethodRef, CONSTANT_InvokeDynamic, CONSTANT_Long, CONSTANT_MethodHandle, CONSTANT_MethodRef, CONSTANT_MethodType, CONSTANT_NameAndType, CONSTANT_String, CONSTANT_Utf8, indexedTypes, indexedTypes_T, MAYBE, NO, 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_if_acmpeq, OP_if_acmpne, OP_if_icmpeq, OP_if_icmpge, OP_if_icmpgt, OP_if_icmple, OP_if_icmplt, OP_if_icmpne, OP_ifeq, OP_ifge, OP_ifgt, 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, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TYPE_boolean, TYPE_boolean_index, TYPE_byte, TYPE_byte_index, TYPE_char, TYPE_char_index, TYPE_Class, TYPE_double, TYPE_double_index, TYPE_Error, TYPE_Exception, TYPE_float, TYPE_float_index, TYPE_int, TYPE_int_index, TYPE_long, TYPE_long_index, TYPE_MethodHandle, TYPE_MethodType, TYPE_null, TYPE_Object, TYPE_Object_index, TYPE_RuntimeException, TYPE_short, TYPE_short_index, TYPE_String, TYPE_Throwable, TYPE_unknown, TYPE_void, YES| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object o) |
java.lang.String |
getClassType() |
java.lang.String |
getFieldName() |
java.lang.String |
getFieldType() |
int |
getPoppedCount() |
java.lang.String |
getPushedType(java.lang.String[] types)
Computes the type of data pushed onto the stack, or null if none is pushed.
|
byte |
getPushedWordSize() |
int |
hashCode() |
boolean |
isAddressOf()
Java does not permit this
|
boolean |
isPEI()
PEI == "Potentially excepting instruction"
|
boolean |
isStatic() |
static GetInstruction |
make(java.lang.String type,
java.lang.String className,
java.lang.String fieldName,
boolean isStatic) |
java.lang.String |
toString()
Subclasses must implement toString.
|
void |
visit(IInstruction.Visitor v)
Apply a Visitor to this instruction.
|
clone, getBranchTargets, getOpcode, isFallThrough, redirectTargetsfinalize, getClass, notify, notifyAll, wait, wait, waitgetBranchTargets, isFallThrough, redirectTargetsprotected java.lang.String type
protected java.lang.String classType
protected java.lang.String fieldName
public static GetInstruction make(java.lang.String type, java.lang.String className, java.lang.String fieldName, boolean isStatic)
public final boolean equals(java.lang.Object o)
equals in class java.lang.Objectpublic java.lang.String getClassType()
getClassType in interface IGetInstructionpublic java.lang.String getFieldName()
getFieldName in interface IGetInstructionpublic java.lang.String getFieldType()
getFieldType in interface IGetInstructionpublic final boolean isStatic()
isStatic in interface IGetInstructionpublic final int hashCode()
hashCode in class java.lang.Objectpublic final int getPoppedCount()
getPoppedCount in interface IInstructiongetPoppedCount in class Instructionpublic final java.lang.String getPushedType(java.lang.String[] types)
InstructiongetPushedType in interface IInstructiongetPushedType in class Instructiontypes - the types of the data popped off the stack by this instruction; if
poppedTypes is null, then we don't know the incoming stack types and the result of this
method may be less accuratepublic final byte getPushedWordSize()
getPushedWordSize in interface IInstructiongetPushedWordSize in class Instructionpublic java.lang.String toString()
InstructiontoString in interface IInstructiontoString in class Instructionpublic void visit(IInstruction.Visitor v) throws java.lang.IllegalArgumentException
Instructionvisit in interface IInstructionvisit in class Instructionjava.lang.IllegalArgumentExceptionpublic boolean isPEI()
IInstructionisPEI in interface IInstructionpublic boolean isAddressOf()
isAddressOf in interface IMemoryOperation