Class AbstractReflectivePut
java.lang.Object
com.ibm.wala.ssa.SSAInstruction
com.ibm.wala.ssa.ReflectiveMemberAccess
com.ibm.wala.cast.ir.ssa.AbstractReflectivePut
- Direct Known Subclasses:
AstPropertyWrite
This abstract class represents field (a.k.a property) writes in which the field name is not a
constant, but rather a computed value. This is common in scripting languages, and so this base
class is shared across all languages that need such accesses.
- Author:
- Julian Dolby (dolby@us.ibm.com)
-
Nested Class Summary
Nested classes/interfaces inherited from class SSAInstruction
SSAInstruction.IVisitor, SSAInstruction.VisitorModifier and TypeClassDescriptionstatic interfaceThis interface is used by Instruction.visit to dispatch based on the instruction type.static classA base visitor implementation that does nothing. -
Field Summary
Fields inherited from class ReflectiveMemberAccess
memberRef, objectRefFields inherited from class SSAInstruction
NO_INDEX -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintgetDef()intintgetUse(int index) intgetValue()toString(SymbolTable symbolTable) Methods inherited from class ReflectiveMemberAccess
getMemberRef, getObjectRef, hashCode, isFallThroughMethods inherited from class SSAInstruction
copyForSSA, equals, getDef, getExceptionTypes, getNumberOfDefs, getValueString, hasDef, iIndex, isPEI, setInstructionIndex, toString, visitModifier and TypeMethodDescriptionabstract SSAInstructioncopyForSSA(SSAInstructionFactory insts, int[] defs, int[] uses) This method is meant to be used during SSA conversion for an IR that is not in SSA form.final booleanWe assume these instructions are canonical and managed by a governing IR object.intgetDef(int i) Return the ith defThis method should never return null.intprotected StringgetValueString(SymbolTable symbolTable, int valueNumber) booleanhasDef()Does this instruction define a normal value, as distinct from a set of exceptions possibly thrown by it (e.g.intiIndex()booleanisPEI()voidsetInstructionIndex(int instructionIndex) toString()abstract voidApply an IVisitor to this instruction.
-
Constructor Details
-
AbstractReflectivePut
public AbstractReflectivePut(int iindex, int objectRef, int memberRef, int value)
-
-
Method Details
-
toString
- Overrides:
toStringin classReflectiveMemberAccess
-
getDef
public int getDef()- Overrides:
getDefin classSSAInstruction- See Also:
-
getNumberOfUses
public int getNumberOfUses()- Overrides:
getNumberOfUsesin classSSAInstruction- See Also:
-
getValue
public int getValue() -
getUse
public int getUse(int index) - Overrides:
getUsein classReflectiveMemberAccess- Returns:
- value number representing the jth use in this instruction. -1 means TOP (i.e., the value doesn't matter)
-