soot.jimple.spark.pag
Class Node

java.lang.Object
  extended bysoot.jimple.spark.pag.Node
All Implemented Interfaces:
Numberable, ReferenceVariable
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
 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 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()

equals

public final boolean equals(Object other)

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.


getNumber

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

setNumber

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