soot.toolkits.graph.pdg
Class PDGNode

java.lang.Object
  extended by soot.toolkits.graph.pdg.PDGNode
Direct Known Subclasses:
ConditionalPDGNode, LoopedPDGNode

public class PDGNode
extends Object

This class defines a Node in the Program Dependence Graph. There might be a need to store additional information in the PDG nodes. In essence, the PDG nodes represent (within them) either CFG nodes or Region nodes.

Author:
Hossein Sadat-Mohtasham June 2009

Nested Class Summary
static class PDGNode.Attribute
           
static class PDGNode.Type
           
 
Field Summary
protected  PDGNode.Attribute m_attrib
           
protected  List<PDGNode> m_backDependents
           
protected  List<PDGNode> m_dependents
           
protected  PDGNode m_next
           
protected  Object m_node
           
protected  PDGNode m_prev
           
protected  PDGNode.Type m_type
           
protected  boolean m_visited
           
 
Constructor Summary
PDGNode(Object obj, PDGNode.Type t)
           
 
Method Summary
 void addBackDependent(PDGNode node)
           
 void addDependent(PDGNode node)
           
 PDGNode.Attribute getAttrib()
           
 List<PDGNode> getBackDependets()
           
 List<PDGNode> getDependets()
           
 PDGNode getNext()
           
 Object getNode()
           
 PDGNode getPrev()
           
 PDGNode.Type getType()
           
 boolean getVisited()
           
 void removeDependent(PDGNode node)
           
 void setAttrib(PDGNode.Attribute a)
           
 void setNext(PDGNode n)
           
 void setNode(Object obj)
           
 void setPrev(PDGNode n)
           
 void setType(PDGNode.Type t)
           
 void setVisited(boolean v)
           
 String toShortString()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_type

protected PDGNode.Type m_type

m_node

protected Object m_node

m_dependents

protected List<PDGNode> m_dependents

m_backDependents

protected List<PDGNode> m_backDependents

m_next

protected PDGNode m_next

m_prev

protected PDGNode m_prev

m_attrib

protected PDGNode.Attribute m_attrib

m_visited

protected boolean m_visited
Constructor Detail

PDGNode

public PDGNode(Object obj,
               PDGNode.Type t)
Method Detail

getType

public PDGNode.Type getType()

setType

public void setType(PDGNode.Type t)

getNode

public Object getNode()

setNext

public void setNext(PDGNode n)

getNext

public PDGNode getNext()

setPrev

public void setPrev(PDGNode n)

getPrev

public PDGNode getPrev()

setVisited

public void setVisited(boolean v)

getVisited

public boolean getVisited()

setNode

public void setNode(Object obj)

getAttrib

public PDGNode.Attribute getAttrib()

setAttrib

public void setAttrib(PDGNode.Attribute a)

addDependent

public void addDependent(PDGNode node)

addBackDependent

public void addBackDependent(PDGNode node)

removeDependent

public void removeDependent(PDGNode node)

getDependets

public List<PDGNode> getDependets()

getBackDependets

public List<PDGNode> getBackDependets()

toString

public String toString()
Overrides:
toString in class Object

toShortString

public String toShortString()