soot.jimple.spark.pag
Class VarNode

java.lang.Object
  extended by soot.jimple.spark.pag.Node
      extended by soot.jimple.spark.pag.ValNode
          extended by soot.jimple.spark.pag.VarNode
All Implemented Interfaces:
Comparable, ReferenceVariable, Numberable
Direct Known Subclasses:
GlobalVarNode, LocalVarNode

public abstract class VarNode
extends ValNode
implements Comparable

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

Author:
Ondrej Lhotak

Field Summary
protected  Map fields
           
protected  int finishingNumber
           
protected  boolean interProcSource
           
protected  boolean interProcTarget
           
protected  int numDerefs
           
protected  Object variable
           
 
Fields inherited from class soot.jimple.spark.pag.Node
p2set, pag, replacement, type
 
Method Summary
 int compareTo(Object o)
           
 Context context()
           
 FieldRefNode dot(SparkField field)
          Returns the field ref node having this node as its base, and field as its field; null if nonexistent.
 Collection<FieldRefNode> getAllFieldRefs()
          Returns all field ref nodes having this node as their base.
 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.
 
Methods inherited from class soot.jimple.spark.pag.Node
discardP2Set, equals, getNumber, getP2Set, getPag, getReplacement, getType, hashCode, makeP2Set, mergeWith, setNumber, setP2Set, setType
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

variable

protected Object variable

fields

protected Map fields

finishingNumber

protected int finishingNumber

interProcTarget

protected boolean interProcTarget

interProcSource

protected boolean interProcSource

numDerefs

protected int numDerefs
Method Detail

context

public Context context()

getAllFieldRefs

public Collection<FieldRefNode> 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.


compareTo

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

setFinishingNumber

public void setFinishingNumber(int i)

getVariable

public 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.