Package com.ibm.wala.util.graph
Interface EdgeManager<T>
-
- Type Parameters:
T- the type of node in the graph
- All Known Subinterfaces:
CallGraph,ControlFlowGraph<I,T>,Graph<T>,HeapGraph<T>,IFlowGraph,ISDG,ISupergraph<T,P>,LabeledEdgeManager<T,U>,LabeledGraph<T,U>,NumberedEdgeManager<T>,NumberedGraph<T>,NumberedLabeledEdgeManager<T,U>,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,DelegatingNumberedEdgeManager,DelegatingNumberedGraph,DemandPointerFlowGraph,DemandValueFlowGraph,DexCFG,DexExplicitCallGraph,EdgeFilteredNumberedGraph,ExplicitCallGraph,ExplicitCallGraph.ExplicitEdgeManager,ExplodedControlFlowGraph,ExplodedInterproceduralCFG,ExtensionGraph,HeapGraphImpl,ICFGSupergraph,InducedCFG,InterproceduralCFG,InvertedGraph,InvertedNumberedGraph,InvertingEdgeManager,InvertingNumberedEdgeManager,MutableCFG,PartialCallGraph,PDG,PrunedCallGraph,PrunedCFG,SDG,ShrikeCFG,SimpleDemandPointerFlowGraph,SlowSparseNumberedGraph,SlowSparseNumberedLabeledGraph,SparseNumberedEdgeManager,SparseNumberedGraph,SparseNumberedLabeledEdgeManager,SSACFG
public interface EdgeManager<T>An object which manages edges in a directed graph.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddEdge(T src, T dst)intgetPredNodeCount(T n)Return the number ofimmediate predecessornodes of nIterator<T>getPredNodes(T n)Return anIteratorover the immediate predecessor nodes of n This method never returnsnull.intgetSuccNodeCount(T N)Return the number ofimmediate successornodes of this Node in the GraphIterator<T>getSuccNodes(T n)Return an Iterator over the immediate successor nodes of nbooleanhasEdge(T src, T dst)voidremoveAllIncidentEdges(T node)voidremoveEdge(T src, T dst)voidremoveIncomingEdges(T node)voidremoveOutgoingEdges(T node)
-
-
-
Method Detail
-
getPredNodes
Iterator<T> getPredNodes(T n)
Return anIteratorover the immediate predecessor nodes of n This method never returnsnull.- Returns:
- an
Iteratorover the immediate predecessor nodes of this Node.
-
getPredNodeCount
int getPredNodeCount(T n)
Return the number ofimmediate predecessornodes of n- Returns:
- the number of immediate predecessors of n.
-
getSuccNodes
Iterator<T> getSuccNodes(T n)
Return an Iterator over the immediate successor nodes of nThis method never returns
null.- Returns:
- an Iterator over the immediate successor nodes of n
-
getSuccNodeCount
int getSuccNodeCount(T N)
Return the number ofimmediate successornodes of this Node in the Graph- Returns:
- the number of immediate successor Nodes of this Node in the Graph.
-
removeEdge
void removeEdge(T src, T dst) throws UnsupportedOperationException
- Throws:
UnsupportedOperationException
-
removeAllIncidentEdges
void removeAllIncidentEdges(T node) throws UnsupportedOperationException
- Throws:
UnsupportedOperationException
-
removeIncomingEdges
void removeIncomingEdges(T node) throws UnsupportedOperationException
- Throws:
UnsupportedOperationException
-
removeOutgoingEdges
void removeOutgoingEdges(T node) throws UnsupportedOperationException
- Throws:
UnsupportedOperationException
-
-