soot.jimple.spark.pag
Class Node

java.lang.Object
  |
  +--soot.jimple.spark.pag.Node
All Implemented Interfaces:
soot.jimple.toolkits.pointer.representations.ReferenceVariable
Direct Known Subclasses:
AllocDotField, AllocNode, ValNode

public class Node
extends java.lang.Object
implements soot.jimple.toolkits.pointer.representations.ReferenceVariable

Represents every node in the pointer assignment graph.


Field Summary
protected  int id
           
protected  PointsToSetInternal p2set
           
protected  PAG pag
           
protected  Node replacement
           
protected  Type type
           
 
Method Summary
protected  void assignId()
           
 boolean equals(java.lang.Object other)
           
 int getId()
          Returns an integer unique to this node.
 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 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

id

protected int id

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 java.lang.Object

equals

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

getId

public int getId()
Returns an integer unique to this node.


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.


assignId

protected void assignId()