public class CISDG extends Object implements ISDG
| Modifier | Constructor and Description |
|---|---|
protected |
CISDG(SDG<InstanceKey> noHeap,
Map<Statement,Set<PointerKey>> mod,
Map<Statement,Set<PointerKey>> ref) |
| Modifier and Type | Method and Description |
|---|---|
void |
addEdge(Statement src,
Statement dst) |
void |
addNode(Statement n)
add a node to this graph
|
boolean |
containsNode(Statement N) |
boolean |
equals(Object obj) |
IClassHierarchy |
getClassHierarchy() |
Slicer.ControlDependenceOptions |
getCOptions()
Slicer.ControlDependenceOptions used to construct this graph. |
int |
getMaxNumber() |
Statement |
getNode(int number) |
int |
getNumber(Statement N) |
int |
getNumberOfNodes() |
PDG |
getPDG(CGNode node)
Get the program dependence graph constructed for a particular node.
|
int |
getPredNodeCount(Statement N)
Return the number of
immediate predecessor nodes of n |
IntSet |
getPredNodeNumbers(Statement node) |
Iterator<Statement> |
getPredNodes(Statement N)
Return an
Iterator over the immediate predecessor nodes of n
This method never returns null. |
int |
getSuccNodeCount(Statement N)
Return the number of
immediate successor nodes of this Node in the Graph |
IntSet |
getSuccNodeNumbers(Statement node) |
Iterator<Statement> |
getSuccNodes(Statement N)
Return an Iterator over the immediate successor nodes of n
|
boolean |
hasEdge(Statement src,
Statement dst) |
int |
hashCode() |
Iterator<? extends Statement> |
iterateLazyNodes()
Iterate over the nodes which have been discovered so far, but do NOT eagerly construct the entire graph.
|
Iterator<Statement> |
iterateNodes(IntSet s) |
Iterator<Statement> |
iterator() |
void |
removeAllIncidentEdges(Statement node) |
void |
removeEdge(Statement src,
Statement dst) |
void |
removeIncomingEdges(Statement node) |
void |
removeNode(Statement n)
remove a node from this graph
|
void |
removeNodeAndEdges(Statement N)
remove a node and all its incident edges
|
void |
removeOutgoingEdges(Statement node) |
String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitforEach, spliteratorprotected CISDG(SDG<InstanceKey> noHeap, Map<Statement,Set<PointerKey>> mod, Map<Statement,Set<PointerKey>> ref)
public void addEdge(Statement src, Statement dst)
addEdge in interface EdgeManager<Statement>public void addNode(Statement n)
NodeManageraddNode in interface NodeManager<Statement>public boolean containsNode(Statement N)
containsNode in interface NodeManager<Statement>public Slicer.ControlDependenceOptions getCOptions()
ISDGSlicer.ControlDependenceOptions used to construct this graph.getCOptions in interface ISDGpublic int getMaxNumber()
getMaxNumber in interface NumberedNodeManager<Statement>public Statement getNode(int number)
getNode in interface NumberedNodeManager<Statement>public int getNumber(Statement N)
getNumber in interface NumberedNodeManager<Statement>public int getNumberOfNodes()
getNumberOfNodes in interface NodeManager<Statement>public PDG getPDG(CGNode node)
ISDGpublic int getPredNodeCount(Statement N)
EdgeManagerimmediate predecessor nodes of ngetPredNodeCount in interface EdgeManager<Statement>public IntSet getPredNodeNumbers(Statement node)
getPredNodeNumbers in interface NumberedEdgeManager<Statement>public Iterator<Statement> getPredNodes(Statement N)
EdgeManagerIterator over the immediate predecessor nodes of n
This method never returns null.getPredNodes in interface EdgeManager<Statement>Iterator over the immediate predecessor nodes of this Node.public int getSuccNodeCount(Statement N)
EdgeManagerimmediate successor nodes of this Node in the GraphgetSuccNodeCount in interface EdgeManager<Statement>public IntSet getSuccNodeNumbers(Statement node)
getSuccNodeNumbers in interface NumberedEdgeManager<Statement>public Iterator<Statement> getSuccNodes(Statement N)
EdgeManager
This method never returns null.
getSuccNodes in interface EdgeManager<Statement>public boolean hasEdge(Statement src, Statement dst)
hasEdge in interface EdgeManager<Statement>public Iterator<? extends Statement> iterateLazyNodes()
ISDGiterateLazyNodes in interface ISDGpublic Iterator<Statement> iterateNodes(IntSet s)
iterateNodes in interface NumberedNodeManager<Statement>public void removeAllIncidentEdges(Statement node)
removeAllIncidentEdges in interface EdgeManager<Statement>public void removeEdge(Statement src, Statement dst)
removeEdge in interface EdgeManager<Statement>public void removeIncomingEdges(Statement node)
removeIncomingEdges in interface EdgeManager<Statement>public void removeNode(Statement n)
NodeManagerremoveNode in interface NodeManager<Statement>public void removeNodeAndEdges(Statement N)
GraphremoveNodeAndEdges in interface Graph<Statement>public void removeOutgoingEdges(Statement node)
removeOutgoingEdges in interface EdgeManager<Statement>public IClassHierarchy getClassHierarchy()
getClassHierarchy in interface IClassHierarchyDweller