public class IPAGraph extends DFAGraph
DFAGraph.TopIterator| Constructor and Description |
|---|
IPAGraph(Program prog)
Constructs a new IPAGraph with the given program and performs topological
ordering of the graph.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clean()
Cleans up the data stored in the graph.
|
boolean |
containsCycle() |
boolean |
containsFunctionPointer() |
IPANode |
getFirstNode()
Returns the firs node in the ordered list.
|
IPANode |
getLastNode()
Returns the last node in the ordered list.
|
int |
getLastOrder()
Returns the last order in the ordered list.
|
IPANode |
getNode(int order)
Returns the node having the given order.
|
IPANode |
getNode(Procedure procedure)
Returns the node representing the given procedure.
|
Program |
getProgram()
Returns the program associated with this graph.
|
java.lang.String |
getReport()
Returns statisitcs of the graph
|
IPANode |
getRoot()
Returns the root node of the graph.
|
java.lang.Integer |
getTopOrder(IPANode node)
Returns the ordered node number for the given node.
|
java.util.Iterator<IPANode> |
topiterator() |
java.lang.String |
toString()
Returns a string dump of the call graph.
|
java.lang.String |
toString(java.lang.String tag)
Returns a string dump of the call graph with the given tag.
|
absorb, addEdge, addNode, getEntryNodes, getExitNodes, getFirst, getLast, getNode, getNodeWith, getSCC, isEmpty, isReachable, iterator, removeEdge, removeNode, removeNodes, size, toDot, topologicalSort, topologicalSortOptimizedpublic IPAGraph(Program prog)
public java.lang.String toString()
public java.lang.String toString(java.lang.String tag)
tag - the keyword being printed for each node -- usually the name of
the analysis pass using this graph).public java.lang.Integer getTopOrder(IPANode node)
public IPANode getNode(int order)
public IPANode getNode(Procedure procedure)
public IPANode getFirstNode()
public IPANode getRoot()
public IPANode getLastNode()
public int getLastOrder()
public java.util.Iterator<IPANode> topiterator()
public Program getProgram()
public void clean()
public boolean containsFunctionPointer()
public boolean containsCycle()
public java.lang.String getReport()