Package com.ibm.wala.util.graph
Interface Graph<T>
-
- Type Parameters:
T- the type of nodes in this graph.
- All Superinterfaces:
EdgeManager<T>,Iterable<T>,NodeManager<T>
- All Known Subinterfaces:
CallGraph,ControlFlowGraph<I,T>,HeapGraph<T>,IFlowGraph,ISDG,ISupergraph<T,P>,LabeledGraph<T,U>,NumberedGraph<T>,OrderedMultiGraph<T>
- All Known Implementing Classes:
AbstractCFG,AbstractDemandFlowGraph,AbstractFlowGraph,AbstractGraph,AbstractInterproceduralCFG,AbstractLabeledGraph,AbstractNumberedGraph,AbstractNumberedLabeledGraph,AstCallGraph,AstInducedCFG,AstTranslator.AstCFG,AstTranslator.IncipientCFG,BackwardsSupergraph,BasicCallGraph,BasicHeapGraph,BasicOrderedMultiGraph,CHACallGraph,CISDG,ControlDependenceGraph,CrossLanguageCallGraph,DelegatingCFG,DelegatingExplicitCallGraph,DelegatingGraph,DelegatingNumberedGraph,DemandPointerFlowGraph,DemandValueFlowGraph,DexCFG,DexExplicitCallGraph,EdgeFilteredNumberedGraph,ExplicitCallGraph,ExplodedControlFlowGraph,ExplodedInterproceduralCFG,ExtensionGraph,HeapGraphImpl,ICFGSupergraph,InducedCFG,InterproceduralCFG,InvertedGraph,InvertedNumberedGraph,MutableCFG,PartialCallGraph,PDG,PrunedCallGraph,PrunedCFG,SDG,ShrikeCFG,SimpleDemandPointerFlowGraph,SlowSparseNumberedGraph,SlowSparseNumberedLabeledGraph,SparseNumberedGraph,SSACFG
public interface Graph<T> extends NodeManager<T>, EdgeManager<T>
Basic interface for a directed graph. We choose to define aGraphas a composition of aNodeManagerand anEdgeManager, which track nodes and edges, respectively. This way, in many cases we can compose separateNodeManagerandEdgeManagerimplementations to createGraphimplementations, using delegation.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidremoveNodeAndEdges(T n)remove a node and all its incident edges-
Methods inherited from interface com.ibm.wala.util.graph.EdgeManager
addEdge, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeOutgoingEdges
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface com.ibm.wala.util.graph.NodeManager
addNode, containsNode, getNumberOfNodes, iterator, removeNode
-
-
-
-
Method Detail
-
removeNodeAndEdges
void removeNodeAndEdges(T n) throws UnsupportedOperationException
remove a node and all its incident edges- Throws:
UnsupportedOperationException- if the graph implementation does not allow removal
-
-