Package 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:
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
Fields Modifier and Type Field Description protected Map<SparkField,FieldRefNode>fieldsprotected intfinishingNumberprotected booleaninterProcSourceprotected booleaninterProcTargetprotected intnumDerefsprotected Objectvariable-
Fields inherited from class soot.jimple.spark.pag.Node
p2set, pag, replacement, type
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(Object o)Contextcontext()FieldRefNodedot(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.ObjectgetVariable()Returns the underlying variable that this node represents.booleanisInterProcSource()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.booleanisInterProcTarget()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.booleanisThisPtr()Returns true if this VarNode represents the THIS pointervoidsetFinishingNumber(int i)voidsetInterProcSource()Designates this node as the potential source of a interprocedural assignment edge which may be added during on-the-fly call graph updating.voidsetInterProcTarget()Designates this node as the potential target of a interprocedural assignment edge which may be added during on-the-fly call graph updating.
-
-
-
Field Detail
-
variable
protected Object variable
-
fields
protected Map<SparkField,FieldRefNode> 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:
compareToin interfaceComparable
-
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.
-
isThisPtr
public boolean isThisPtr()
Returns true if this VarNode represents the THIS pointer
-
-