Package com.ibm.wala.shrikeBT
Class PutInstruction
- java.lang.Object
-
- com.ibm.wala.shrikeBT.Instruction
-
- com.ibm.wala.shrikeBT.PutInstruction
-
- All Implemented Interfaces:
Constants
,IInstruction
,IPutInstruction
,Cloneable
public class PutInstruction extends Instruction implements IPutInstruction
This class represents put and putstatic instructions.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.ibm.wala.shrikeBT.IInstruction
IInstruction.Visitor
-
-
Field Summary
Fields Modifier and Type Field Description protected String
classType
protected String
fieldName
protected String
type
-
Fields inherited from class com.ibm.wala.shrikeBT.Instruction
noInstructions
-
Fields inherited from interface com.ibm.wala.shrikeBT.Constants
ACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, 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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
String
getClassType()
String
getFieldName()
String
getFieldType()
int
getPoppedCount()
int
hashCode()
boolean
isPEI()
PEI == "Potentially excepting instruction"boolean
isStatic()
static PutInstruction
make(String type, String className, String fieldName, boolean isStatic)
String
toString()
Subclasses must implement toString.void
visit(IInstruction.Visitor v)
Apply a Visitor to this instruction.-
Methods inherited from class com.ibm.wala.shrikeBT.Instruction
clone, getBranchTargets, getOpcode, getPushedType, getPushedWordSize, isFallThrough, redirectTargets
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.ibm.wala.shrikeBT.IInstruction
getBranchTargets, getPushedType, getPushedWordSize, isFallThrough, redirectTargets
-
-
-
-
Method Detail
-
make
public static PutInstruction make(String type, String className, String fieldName, boolean isStatic)
-
getClassType
public String getClassType()
- Specified by:
getClassType
in interfaceIPutInstruction
-
getFieldType
public String getFieldType()
- Specified by:
getFieldType
in interfaceIPutInstruction
-
getFieldName
public String getFieldName()
- Specified by:
getFieldName
in interfaceIPutInstruction
-
isStatic
public final boolean isStatic()
- Specified by:
isStatic
in interfaceIPutInstruction
-
getPoppedCount
public final int getPoppedCount()
- Specified by:
getPoppedCount
in interfaceIInstruction
- Overrides:
getPoppedCount
in classInstruction
- Returns:
- the number of values this instruction pops off the working stack
-
toString
public final String toString()
Description copied from class:Instruction
Subclasses must implement toString.- Specified by:
toString
in interfaceIInstruction
- Specified by:
toString
in classInstruction
-
visit
public final void visit(IInstruction.Visitor v) throws NullPointerException
Description copied from class:Instruction
Apply a Visitor to this instruction. We invoke the appropriate Visitor method according to the type of this instruction.- Specified by:
visit
in interfaceIInstruction
- Specified by:
visit
in classInstruction
- Throws:
NullPointerException
-
isPEI
public boolean isPEI()
Description copied from interface:IInstruction
PEI == "Potentially excepting instruction"- Specified by:
isPEI
in interfaceIInstruction
- Returns:
- true iff this instruction might throw an exception
-
-