Package com.ibm.wala.util.graph
Interface NodeManager<T>
-
- Type Parameters:
T- the type of nodes thisNodeManagertracks.
- All Superinterfaces:
Iterable<T>
- All Known Subinterfaces:
CallGraph,ControlFlowGraph<I,T>,Graph<T>,HeapGraph<T>,IFlowGraph,ISDG,ISupergraph<T,P>,LabeledGraph<T,U>,NumberedGraph<T>,NumberedNodeManager<T>,OrderedMultiGraph<T>
- All Known Implementing Classes:
AbstractCFG,AbstractDemandFlowGraph,AbstractFlowGraph,AbstractGraph,AbstractInterproceduralCFG,AbstractLabeledGraph,AbstractNumberedGraph,AbstractNumberedLabeledGraph,AstCallGraph,AstInducedCFG,AstTranslator.AstCFG,AstTranslator.IncipientCFG,BackwardsSupergraph,BasicCallGraph,BasicHeapGraph,BasicNodeManager,BasicOrderedMultiGraph,CHACallGraph,CISDG,ControlDependenceGraph,CrossLanguageCallGraph,DelegatingCFG,DelegatingExplicitCallGraph,DelegatingGraph,DelegatingNumberedGraph,DelegatingNumberedNodeManager,DemandPointerFlowGraph,DemandValueFlowGraph,DexCFG,DexExplicitCallGraph,EdgeFilteredNumberedGraph,ExplicitCallGraph,ExplodedControlFlowGraph,ExplodedInterproceduralCFG,ExtensionGraph,HeapGraphImpl,ICFGSupergraph,InducedCFG,InterproceduralCFG,InvertedGraph,InvertedNumberedGraph,MutableCFG,PartialCallGraph,PDG,PrunedCallGraph,PrunedCFG,SDG,ShrikeCFG,SimpleDemandPointerFlowGraph,SlowNumberedNodeManager,SlowSparseNumberedGraph,SlowSparseNumberedLabeledGraph,SparseNumberedGraph,SSACFG
public interface NodeManager<T> extends Iterable<T>
An object which tracks graph nodes. This is effectively a stripped-down collection interface. We choose to avoid using the fullCollectioninterface, so that it takes less code to implement a newNodeManager.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddNode(T n)add a node to this graphbooleancontainsNode(T n)intgetNumberOfNodes()Iterator<T>iterator()voidremoveNode(T n)remove a node from this graph-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
getNumberOfNodes
int getNumberOfNodes()
- Returns:
- the number of nodes in this graph
-
addNode
void addNode(T n)
add a node to this graph
-
removeNode
void removeNode(T n) throws UnsupportedOperationException
remove a node from this graph- Throws:
UnsupportedOperationException
-
containsNode
boolean containsNode(T n)
- Returns:
- true iff the graph contains the specified node
-
-