Class CISDG
java.lang.Object
com.ibm.wala.ipa.slicer.thin.CISDG
- All Implemented Interfaces:
IClassHierarchyDweller, ISDG, EdgeManager<Statement>, Graph<Statement>, NodeManager<Statement>, NumberedEdgeManager<Statement>, NumberedGraph<Statement>, NumberedNodeManager<Statement>, Iterable<Statement>
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCISDG(SDG<InstanceKey> noHeap, Map<Statement, Set<PointerKey>> mod, Map<Statement, Set<PointerKey>> ref) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidadd a node to this graphbooleanbooleanSlicer.ControlDependenceOptionsused to construct this graph.intgetNode(int number) intintGet the program dependence graph constructed for a particular node.intReturn the number ofimmediate predecessornodes of ngetPredNodeNumbers(Statement node) Return anIteratorover the immediate predecessor nodes of nintReturn the number ofimmediate successornodes of this Node in the GraphgetSuccNodeNumbers(Statement node) Return an Iterator over the immediate successor nodes of nbooleaninthashCode()Iterate over the nodes which have been discovered so far, but do NOT eagerly construct the entire graph.iterator()voidvoidremoveEdge(Statement src, Statement dst) voidremoveIncomingEdges(Statement node) voidremove a node from this graphvoidremove a node and all its incident edgesvoidremoveOutgoingEdges(Statement node) stream()toString()Methods inherited from interface Iterable
forEach, spliterator
-
Constructor Details
-
CISDG
protected CISDG(SDG<InstanceKey> noHeap, Map<Statement, Set<PointerKey>> mod, Map<Statement, Set<PointerKey>> ref)
-
-
Method Details
-
addEdge
- Specified by:
addEdgein interfaceEdgeManager<Statement>
-
addNode
Description copied from interface:NodeManageradd a node to this graph- Specified by:
addNodein interfaceNodeManager<Statement>
-
containsNode
- Specified by:
containsNodein interfaceNodeManager<Statement>- Returns:
- true iff the graph contains the specified node
-
equals
-
getCOptions
Description copied from interface:ISDGSlicer.ControlDependenceOptionsused to construct this graph.- Specified by:
getCOptionsin interfaceISDG
-
getMaxNumber
public int getMaxNumber()- Specified by:
getMaxNumberin interfaceNumberedNodeManager<Statement>
-
getNode
- Specified by:
getNodein interfaceNumberedNodeManager<Statement>
-
getNumber
- Specified by:
getNumberin interfaceNumberedNodeManager<Statement>
-
getNumberOfNodes
public int getNumberOfNodes()- Specified by:
getNumberOfNodesin interfaceNodeManager<Statement>- Returns:
- the number of nodes in this graph
-
getPDG
-
getPredNodeCount
Description copied from interface:EdgeManagerReturn the number ofimmediate predecessornodes of n- Specified by:
getPredNodeCountin interfaceEdgeManager<Statement>- Returns:
- the number of immediate predecessors of n.
-
getPredNodeNumbers
- Specified by:
getPredNodeNumbersin interfaceNumberedEdgeManager<Statement>- Returns:
- the numbers identifying the immediate predecessors of node
-
getPredNodes
Description copied from interface:EdgeManagerReturn anIteratorover the immediate predecessor nodes of nThis method never returns
null.- Specified by:
getPredNodesin interfaceEdgeManager<Statement>- Returns:
- an
Iteratorover the immediate predecessor nodes of this Node.
-
getSuccNodeCount
Description copied from interface:EdgeManagerReturn the number ofimmediate successornodes of this Node in the Graph- Specified by:
getSuccNodeCountin interfaceEdgeManager<Statement>- Returns:
- the number of immediate successor Nodes of this Node in the Graph.
-
getSuccNodeNumbers
- Specified by:
getSuccNodeNumbersin interfaceNumberedEdgeManager<Statement>- Returns:
- the numbers identifying the immediate successors of node
-
getSuccNodes
Description copied from interface:EdgeManagerReturn an Iterator over the immediate successor nodes of nThis method never returns
null.- Specified by:
getSuccNodesin interfaceEdgeManager<Statement>- Returns:
- an Iterator over the immediate successor nodes of n
-
hasEdge
- Specified by:
hasEdgein interfaceEdgeManager<Statement>
-
hashCode
-
iterateLazyNodes
Description copied from interface:ISDGIterate over the nodes which have been discovered so far, but do NOT eagerly construct the entire graph.- Specified by:
iterateLazyNodesin interfaceISDG
-
iterator
-
stream
-
iterateNodes
- Specified by:
iterateNodesin interfaceNumberedNodeManager<Statement>- Returns:
- iterator of nodes with the numbers in set s
-
removeAllIncidentEdges
- Specified by:
removeAllIncidentEdgesin interfaceEdgeManager<Statement>
-
removeEdge
- Specified by:
removeEdgein interfaceEdgeManager<Statement>
-
removeIncomingEdges
- Specified by:
removeIncomingEdgesin interfaceEdgeManager<Statement>
-
removeNode
Description copied from interface:NodeManagerremove a node from this graph- Specified by:
removeNodein interfaceNodeManager<Statement>
-
removeNodeAndEdges
Description copied from interface:Graphremove a node and all its incident edges- Specified by:
removeNodeAndEdgesin interfaceGraph<Statement>
-
removeOutgoingEdges
- Specified by:
removeOutgoingEdgesin interfaceEdgeManager<Statement>
-
toString
-
getClassHierarchy
- Specified by:
getClassHierarchyin interfaceIClassHierarchyDweller
-