soot.jimple.spark.pag
Class VarNode

java.lang.Object
  |
  +--soot.jimple.spark.pag.Node
        |
        +--soot.jimple.spark.pag.ValNode
              |
              +--soot.jimple.spark.pag.VarNode
All Implemented Interfaces:
java.lang.Comparable, soot.jimple.toolkits.pointer.representations.ReferenceVariable

public class VarNode
extends ValNode
implements java.lang.Comparable

Represents a simple variable node (Green) in the pointer assignment graph.


Field Summary
protected  java.util.Map fields
           
protected  int finishingNumber
           
protected static boolean finishingNumbersSet
           
protected  boolean interProcTarget
           
protected  SootMethod method
           
protected  int numDerefs
           
protected  java.lang.Object value
           
 
Fields inherited from class soot.jimple.spark.pag.Node
id, p2set, pag, replacement, type
 
Method Summary
 int compareTo(java.lang.Object o)
           
 FieldRefNode dot(SparkField field)
          Returns the field ref node having this node as its base, and field as its field; null if nonexistent.
 java.util.Collection getAllFieldRefs()
          Returns all field ref nodes having this node as their base.
 SootMethod getMethod()
          NOTE: The method is here only for dumping the graph; not all VarNodes will have a method so don't rely on it.
 java.lang.Object getValue()
          Returns the underlying value that this node represents.
 boolean isInterProcTarget()
          Returns true if this node is the potential target of a interprocedural assignment edge which may be added during on-the-fly call graph updating.
 void setFinishingNumber(int i)
           
 void setInterProcTarget()
          Designates this node as the potential target of a interprocedural assignment edge which may be added during on-the-fly call graph updating.
 java.lang.String toString()
           
 
Methods inherited from class soot.jimple.spark.pag.Node
assignId, equals, getId, getP2Set, getPag, getReplacement, getType, hashCode, makeP2Set, mergeWith, setType
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

value

protected java.lang.Object value

fields

protected java.util.Map fields

finishingNumber

protected int finishingNumber

finishingNumbersSet

protected static boolean finishingNumbersSet

method

protected SootMethod method

interProcTarget

protected boolean interProcTarget

numDerefs

protected int numDerefs
Method Detail

getAllFieldRefs

public java.util.Collection getAllFieldRefs()
Returns all field ref nodes having this node as their base.


dot

public FieldRefNode dot(SparkField field)
Returns the field ref node having this node as its base, and field as its field; null if nonexistent.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

compareTo

public int compareTo(java.lang.Object o)
Specified by:
compareTo in interface java.lang.Comparable

setFinishingNumber

public void setFinishingNumber(int i)

getMethod

public SootMethod getMethod()
NOTE: The method is here only for dumping the graph; not all VarNodes will have a method so don't rely on it.


getValue

public java.lang.Object getValue()
Returns the underlying value that this node represents.


setInterProcTarget

public void setInterProcTarget()
Designates this node as the potential target of a interprocedural assignment edge which may be added during on-the-fly call graph updating.


isInterProcTarget

public boolean isInterProcTarget()
Returns true if this node is the potential target of a interprocedural assignment edge which may be added during on-the-fly call graph updating.