Class AbstractNumberedGraph<T>
java.lang.Object
com.ibm.wala.util.graph.AbstractGraph<T>
com.ibm.wala.util.graph.AbstractNumberedGraph<T>
- All Implemented Interfaces:
EdgeManager<T>, Graph<T>, NodeManager<T>, NumberedEdgeManager<T>, NumberedGraph<T>, NumberedNodeManager<T>, Iterable<T>
- Direct Known Subclasses:
AbstractNumberedLabeledGraph, BasicCallGraph, ControlDependenceGraph, DelegatingCFG, DelegatingNumberedGraph, EdgeFilteredNumberedGraph, InvertedNumberedGraph, PrunedCFG, SDG, SlowSparseNumberedGraph, SparseNumberedGraph
Basic functionality for a graph that delegates node and edge management, and tracks node numbers
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract NumberedEdgeManager<T> intgetNode(int number) protected abstract NumberedNodeManager<T> intgetPredNodeNumbers(@Nullable T node) getSuccNodeNumbers(@Nullable T node) Methods inherited from class AbstractGraph
addEdge, addNode, containsNode, edgeString, getNumberOfNodes, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, iterator, nodeString, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeNode, removeNodeAndEdges, removeOutgoingEdges, stream, toStringModifier and TypeMethodDescriptionvoidvoidadd a node to this graphbooleancontainsNode(T n) protected StringedgeString(T from, T to) intintReturn the number ofimmediate predecessornodes of ngetPredNodes(T n) Return anIteratorover the immediate predecessor nodes of nintReturn the number ofimmediate successornodes of this Node in the GraphgetSuccNodes(T n) Return an Iterator over the immediate successor nodes of nbooleaniterator()protected StringnodeString(T n, boolean forEdge) voidremoveAllIncidentEdges(T node) voidremoveEdge(T src, T dst) voidremoveIncomingEdges(T node) voidremoveNode(T n) remove a node from this graphvoidremove a node and all its incident edgesvoidremoveOutgoingEdges(T node) stream()toString()Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Iterable
forEach, spliterator
-
Constructor Details
-
AbstractNumberedGraph
public AbstractNumberedGraph()
-
-
Method Details
-
getNodeManager
- Specified by:
getNodeManagerin classAbstractGraph<T>- Returns:
- the object which manages nodes in the graph
-
getEdgeManager
- Specified by:
getEdgeManagerin classAbstractGraph<T>- Returns:
- the object which manages edges in the graph
-
getMaxNumber
public int getMaxNumber()- Specified by:
getMaxNumberin interfaceNumberedNodeManager<T>- See Also:
-
getNode
- Specified by:
getNodein interfaceNumberedNodeManager<T>- See Also:
-
getNumber
- Specified by:
getNumberin interfaceNumberedNodeManager<T>- See Also:
-
iterateNodes
- Specified by:
iterateNodesin interfaceNumberedNodeManager<T>- Returns:
- iterator of nodes with the numbers in set s
- See Also:
-
getPredNodeNumbers
- Specified by:
getPredNodeNumbersin interfaceNumberedEdgeManager<T>- Returns:
- the numbers identifying the immediate predecessors of node
- Throws:
IllegalArgumentException- See Also:
-
getSuccNodeNumbers
- Specified by:
getSuccNodeNumbersin interfaceNumberedEdgeManager<T>- Returns:
- the numbers identifying the immediate successors of node
- Throws:
IllegalArgumentException- See Also:
-