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 aGraph
as a composition of aNodeManager
and anEdgeManager
, which track nodes and edges, respectively. This way, in many cases we can compose separateNodeManager
andEdgeManager
implementations to createGraph
implementations, using delegation.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
removeNodeAndEdges(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
-
-