public class CISDG extends java.lang.Object implements ISDG
| Modifier | Constructor and Description |
|---|---|
protected |
CISDG(SDG<InstanceKey> noHeap,
java.util.Map<Statement,java.util.Set<PointerKey>> mod,
java.util.Map<Statement,java.util.Set<PointerKey>> ref) |
| Modifier and Type | Method and Description |
|---|---|
void |
addEdge(Statement src,
Statement dst) |
void |
addNode(Statement n) |
boolean |
containsNode(Statement N) |
boolean |
equals(java.lang.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<InstanceKey> |
getPDG(CGNode node)
Get the program dependence graph constructed for a particular node.
|
int |
getPredNodeCount(Statement N) |
com.ibm.wala.util.intset.IntSet |
getPredNodeNumbers(Statement node) |
java.util.Iterator<Statement> |
getPredNodes(Statement N) |
int |
getSuccNodeCount(Statement N) |
com.ibm.wala.util.intset.IntSet |
getSuccNodeNumbers(Statement node) |
java.util.Iterator<Statement> |
getSuccNodes(Statement N) |
boolean |
hasEdge(Statement src,
Statement dst) |
int |
hashCode() |
java.util.Iterator<? extends Statement> |
iterateLazyNodes()
Iterate over the nodes which have been discovered so far, but do NOT eagerly construct
the entire graph.
|
java.util.Iterator<Statement> |
iterateNodes(com.ibm.wala.util.intset.IntSet s) |
java.util.Iterator<Statement> |
iterator() |
void |
removeAllIncidentEdges(Statement node) |
void |
removeEdge(Statement src,
Statement dst) |
void |
removeIncomingEdges(Statement node) |
void |
removeNode(Statement n) |
void |
removeNodeAndEdges(Statement N) |
void |
removeOutgoingEdges(Statement node) |
java.util.stream.Stream<Statement> |
stream() |
java.lang.String |
toString() |
protected CISDG(SDG<InstanceKey> noHeap, java.util.Map<Statement,java.util.Set<PointerKey>> mod, java.util.Map<Statement,java.util.Set<PointerKey>> ref)
public void addEdge(Statement src, Statement dst)
addEdge in interface com.ibm.wala.util.graph.EdgeManager<Statement>public void addNode(Statement n)
addNode in interface com.ibm.wala.util.graph.NodeManager<Statement>public boolean containsNode(Statement N)
containsNode in interface com.ibm.wala.util.graph.NodeManager<Statement>public boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic Slicer.ControlDependenceOptions getCOptions()
ISDGSlicer.ControlDependenceOptions used to construct this graph.getCOptions in interface ISDGpublic int getMaxNumber()
getMaxNumber in interface com.ibm.wala.util.graph.NumberedNodeManager<Statement>public Statement getNode(int number)
getNode in interface com.ibm.wala.util.graph.NumberedNodeManager<Statement>public int getNumber(Statement N)
getNumber in interface com.ibm.wala.util.graph.NumberedNodeManager<Statement>public int getNumberOfNodes()
getNumberOfNodes in interface com.ibm.wala.util.graph.NodeManager<Statement>public PDG<InstanceKey> getPDG(CGNode node)
ISDGpublic int getPredNodeCount(Statement N)
getPredNodeCount in interface com.ibm.wala.util.graph.EdgeManager<Statement>public com.ibm.wala.util.intset.IntSet getPredNodeNumbers(Statement node)
getPredNodeNumbers in interface com.ibm.wala.util.graph.NumberedEdgeManager<Statement>public java.util.Iterator<Statement> getPredNodes(Statement N)
getPredNodes in interface com.ibm.wala.util.graph.EdgeManager<Statement>public int getSuccNodeCount(Statement N)
getSuccNodeCount in interface com.ibm.wala.util.graph.EdgeManager<Statement>public com.ibm.wala.util.intset.IntSet getSuccNodeNumbers(Statement node)
getSuccNodeNumbers in interface com.ibm.wala.util.graph.NumberedEdgeManager<Statement>public java.util.Iterator<Statement> getSuccNodes(Statement N)
getSuccNodes in interface com.ibm.wala.util.graph.EdgeManager<Statement>public boolean hasEdge(Statement src, Statement dst)
hasEdge in interface com.ibm.wala.util.graph.EdgeManager<Statement>public int hashCode()
hashCode in class java.lang.Objectpublic java.util.Iterator<? extends Statement> iterateLazyNodes()
ISDGiterateLazyNodes in interface ISDGpublic java.util.Iterator<Statement> iterator()
public java.util.stream.Stream<Statement> stream()
stream in interface com.ibm.wala.util.graph.NodeManager<Statement>public java.util.Iterator<Statement> iterateNodes(com.ibm.wala.util.intset.IntSet s)
iterateNodes in interface com.ibm.wala.util.graph.NumberedNodeManager<Statement>public void removeAllIncidentEdges(Statement node)
removeAllIncidentEdges in interface com.ibm.wala.util.graph.EdgeManager<Statement>public void removeEdge(Statement src, Statement dst)
removeEdge in interface com.ibm.wala.util.graph.EdgeManager<Statement>public void removeIncomingEdges(Statement node)
removeIncomingEdges in interface com.ibm.wala.util.graph.EdgeManager<Statement>public void removeNode(Statement n)
removeNode in interface com.ibm.wala.util.graph.NodeManager<Statement>public void removeNodeAndEdges(Statement N)
removeNodeAndEdges in interface com.ibm.wala.util.graph.Graph<Statement>public void removeOutgoingEdges(Statement node)
removeOutgoingEdges in interface com.ibm.wala.util.graph.EdgeManager<Statement>public java.lang.String toString()
toString in class java.lang.Objectpublic IClassHierarchy getClassHierarchy()
getClassHierarchy in interface IClassHierarchyDweller