com.ibm.wala.util.graph
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>, java.lang.Iterable<T>
- Direct Known Subclasses:
- AbstractNumberedLabeledGraph, BasicCallGraph, ControlDependenceGraph, DelegatingCFG, DelegatingNumberedGraph, InvertedNumberedGraph, PrunedCFG, SDG, SlowSparseNumberedGraph, SparseNumberedGraph
public abstract class AbstractNumberedGraph<T>
- extends AbstractGraph<T>
- implements NumberedGraph<T>
Basic functionality for a graph that delegates node and edge management, and tracks node numbers
| Methods inherited from class com.ibm.wala.util.graph.AbstractGraph |
addEdge, addNode, containsNode, getNumberOfNodes, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, iterator, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeNode, removeNodeAndEdges, removeOutgoingEdges, toString |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
AbstractNumberedGraph
public AbstractNumberedGraph()
getNodeManager
protected abstract NumberedNodeManager<T> getNodeManager()
- Specified by:
getNodeManager in class AbstractGraph<T>
- Returns:
- the object which manages nodes in the graph
getEdgeManager
protected abstract NumberedEdgeManager<T> getEdgeManager()
- Specified by:
getEdgeManager in class AbstractGraph<T>
- Returns:
- the object which manages edges in the graph
getMaxNumber
public int getMaxNumber()
- Specified by:
getMaxNumber in interface NumberedNodeManager<T>
getNode
public T getNode(int number)
- Specified by:
getNode in interface NumberedNodeManager<T>
getNumber
public int getNumber(T N)
- Specified by:
getNumber in interface NumberedNodeManager<T>
iterateNodes
public java.util.Iterator<T> iterateNodes(IntSet s)
- Specified by:
iterateNodes in interface NumberedNodeManager<T>
- Returns:
- iterator of nodes with the numbers in set s
getPredNodeNumbers
public IntSet getPredNodeNumbers(T node)
throws java.lang.IllegalArgumentException
- Specified by:
getPredNodeNumbers in interface NumberedEdgeManager<T>
- Returns:
- the numbers identifying the immediate predecessors of node
- Throws:
java.lang.IllegalArgumentException
getSuccNodeNumbers
public IntSet getSuccNodeNumbers(T node)
throws java.lang.IllegalArgumentException
- Specified by:
getSuccNodeNumbers in interface NumberedEdgeManager<T>
- Returns:
- the numbers identifying the immediate successors of node
- Throws:
java.lang.IllegalArgumentException