Class AbstractReflectiveGet
java.lang.Object
com.ibm.wala.ssa.SSAInstruction
com.ibm.wala.ssa.ReflectiveMemberAccess
com.ibm.wala.cast.ir.ssa.AbstractReflectiveGet
- Direct Known Subclasses:
AstPropertyRead
This abstract class represents field (a.k.a property) reads 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()intgetDef(int i) Return the ith defintintbooleanhasDef()Does this instruction define a normal value, as distinct from a set of exceptions possibly thrown by it (e.g.toString(SymbolTable symbolTable) Methods inherited from class ReflectiveMemberAccess
getMemberRef, getObjectRef, getUse, hashCode, isFallThroughMethods inherited from class SSAInstruction
copyForSSA, equals, getExceptionTypes, getValueString, 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.This method should never return null.protected StringgetValueString(SymbolTable symbolTable, int valueNumber) intiIndex()booleanisPEI()voidsetInstructionIndex(int instructionIndex) toString()abstract voidApply an IVisitor to this instruction.
-
Constructor Details
-
AbstractReflectiveGet
public AbstractReflectiveGet(int iindex, int result, int objectRef, int memberRef)
-
-
Method Details
-
toString
- Overrides:
toStringin classReflectiveMemberAccess
-
hasDef
public boolean hasDef()Description copied from class:SSAInstructionDoes this instruction define a normal value, as distinct from a set of exceptions possibly thrown by it (e.g. for invoke instructions).- Overrides:
hasDefin classSSAInstruction- Returns:
- true if the instruction does define a proper value.
- See Also:
-
getDef
public int getDef()- Overrides:
getDefin classSSAInstruction
-
getDef
public int getDef(int i) Description copied from class:SSAInstructionReturn the ith def- Overrides:
getDefin classSSAInstruction- Parameters:
i- number of the def, starting at 0.
-
getNumberOfUses
public int getNumberOfUses()- Overrides:
getNumberOfUsesin classSSAInstruction- See Also:
-
getNumberOfDefs
public int getNumberOfDefs()- Overrides:
getNumberOfDefsin classSSAInstruction
-