soot.jimple.spark.pag
Class Node

java.lang.Object
  extended by soot.jimple.spark.pag.Node
All Implemented Interfaces:
ReferenceVariable, Numberable
Direct Known Subclasses:
AllocDotField, AllocNode, ValNode

public class Node
extends Object
implements ReferenceVariable, Numberable

Represents every node in the pointer assignment graph.

Author:
Ondrej Lhotak

Field Summary
protected  PointsToSetInternal p2set
           
protected  PAG pag
           
protected  Node replacement
           
protected  Type type
           
 
Method Summary
 void discardP2Set()
          Delete current points-to set and make a new one
 boolean equals(Object other)
           
 int getNumber()
           
 PointsToSetInternal getP2Set()
          Returns the points-to set for this node.
 PAG getPag()
          Returns the pointer assignment graph that this node is a part of.
 Node getReplacement()
          If this node has been merged with another, returns the new node to be used as the representative of this node; returns this if the node has not been merged.
 Type getType()
          Returns the declared type of this node, null for unknown.
 int hashCode()
           
 PointsToSetInternal makeP2Set()
          Returns the points-to set for this node, makes it if necessary.
 void mergeWith(Node other)
          Merge with the node other.
 void setNumber(int number)
           
 void setP2Set(PointsToSetInternal ptsInternal)
          Use the specified points-to set to replace current one
 void setType(Type type)
          Sets the declared type of this node, null for unknown.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

type

protected Type type

replacement

protected Node replacement

pag

protected PAG pag

p2set

protected PointsToSetInternal p2set
Method Detail

hashCode

public final int hashCode()
Overrides:
hashCode in class Object

equals

public final boolean equals(Object other)
Overrides:
equals in class Object

getType

public Type getType()
Returns the declared type of this node, null for unknown.


setType

public void setType(Type type)
Sets the declared type of this node, null for unknown.


getReplacement

public Node getReplacement()
If this node has been merged with another, returns the new node to be used as the representative of this node; returns this if the node has not been merged.


mergeWith

public void mergeWith(Node other)
Merge with the node other.


getP2Set

public PointsToSetInternal getP2Set()
Returns the points-to set for this node.


makeP2Set

public PointsToSetInternal makeP2Set()
Returns the points-to set for this node, makes it if necessary.


getPag

public PAG getPag()
Returns the pointer assignment graph that this node is a part of.


discardP2Set

public void discardP2Set()
Delete current points-to set and make a new one


setP2Set

public void setP2Set(PointsToSetInternal ptsInternal)
Use the specified points-to set to replace current one


getNumber

public final int getNumber()
Specified by:
getNumber in interface Numberable

setNumber

public final void setNumber(int number)
Specified by:
setNumber in interface Numberable