soot.jimple.spark.pag
Class VarNode

java.lang.Object
  |
  +--soot.jimple.spark.pag.Node
        |
        +--soot.jimple.spark.pag.ValNode
              |
              +--soot.jimple.spark.pag.VarNode

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  boolean interProcSource
           
protected  boolean interProcTarget
           
protected  SootMethod method
           
protected  int numDerefs
           
protected  java.lang.Object variable
           
 
Fields inherited from class soot.jimple.spark.pag.Node
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 getVariable()
          Returns the underlying variable that this node represents.
 boolean isInterProcSource()
          Returns true if this node is the potential source of a interprocedural assignment edge which may be added during on-the-fly call graph updating.
 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 setInterProcSource()
          Designates this node as the potential source of a interprocedural assignment edge which may be added during on-the-fly call graph updating.
 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
equals, getNumber, getP2Set, getPag, getReplacement, getType, hashCode, makeP2Set, mergeWith, setNumber, setType
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

variable

protected java.lang.Object variable

fields

protected java.util.Map fields

finishingNumber

protected int finishingNumber

method

protected SootMethod method

interProcTarget

protected boolean interProcTarget

interProcSource

protected boolean interProcSource

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.

getVariable

public java.lang.Object getVariable()
Returns the underlying variable 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.

setInterProcSource

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

isInterProcSource

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