com.ibm.wala.cast.ir.ssa
Class AbstractReflectivePut

java.lang.Object
  extended by com.ibm.wala.ssa.SSAInstruction
      extended by com.ibm.wala.ssa.ReflectiveMemberAccess
          extended by com.ibm.wala.cast.ir.ssa.AbstractReflectivePut
Direct Known Subclasses:
JavaScriptPropertyWrite

public abstract class AbstractReflectivePut
extends ReflectiveMemberAccess

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.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.ibm.wala.ssa.SSAInstruction
SSAInstruction.IVisitor, SSAInstruction.Visitor
 
Field Summary
 
Fields inherited from class com.ibm.wala.ssa.ReflectiveMemberAccess
memberRef, objectRef
 
Constructor Summary
AbstractReflectivePut(int objectRef, int memberRef, int value)
           
 
Method Summary
 int getDef()
           
 int getNumberOfUses()
           
 int getUse(int index)
           
 int getValue()
           
 java.lang.String toString(SymbolTable symbolTable)
           
 
Methods inherited from class com.ibm.wala.ssa.ReflectiveMemberAccess
getMemberRef, getObjectRef, hashCode, isFallThrough
 
Methods inherited from class com.ibm.wala.ssa.SSAInstruction
copyForSSA, equals, getDef, getExceptionTypes, getNumberOfDefs, getValueString, hasDef, isPEI, toString, visit
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractReflectivePut

public AbstractReflectivePut(int objectRef,
                             int memberRef,
                             int value)
Method Detail

toString

public java.lang.String toString(SymbolTable symbolTable)
Overrides:
toString in class ReflectiveMemberAccess

getDef

public int getDef()
Overrides:
getDef in class SSAInstruction
See Also:
com.ibm.wala.ssa.Instruction#getDef()

getNumberOfUses

public int getNumberOfUses()
Overrides:
getNumberOfUses in class SSAInstruction
See Also:
com.ibm.wala.ssa.Instruction#getNumberOfUses()

getValue

public int getValue()

getUse

public int getUse(int index)
Overrides:
getUse in class ReflectiveMemberAccess
Returns:
value number representing the jth use in this instruction. -1 means TOP (i.e., the value doesn't matter)