Package soot.toolkits.graph
Interface EdgeLabelledDirectedGraph<N,L>
-
- Type Parameters:
N- type of the nodesL- type of the labels
- All Superinterfaces:
DirectedGraph<N>,Iterable<N>
- All Known Subinterfaces:
MutableEdgeLabelledDirectedGraph<N,L>,ProgramDependenceGraph
- All Known Implementing Classes:
HashMutableEdgeLabelledDirectedGraph,HashMutablePDG
public interface EdgeLabelledDirectedGraph<N,L> extends DirectedGraph<N>
ADirectedGraphwith labels on the edges.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleancontainsAnyEdge(L label)booleancontainsAnyEdge(N from, N to)booleancontainsEdge(N from, N to, L label)booleancontainsNode(N node)DirectedGraph<N>getEdgesForLabel(L label)Returns a DirectedGraph consisting of all edges with the given label and their nodes.List<L>getLabelsForEdges(N from, N to)Returns a list of labels for which an edge exists between from and to-
Methods inherited from interface soot.toolkits.graph.DirectedGraph
getHeads, getPredsOf, getSuccsOf, getTails, iterator, size
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
getLabelsForEdges
List<L> getLabelsForEdges(N from, N to)
Returns a list of labels for which an edge exists between from and to- Parameters:
from- out node of the edges to get labels forto- in node of the edges to get labels for- Returns:
-
getEdgesForLabel
DirectedGraph<N> getEdgesForLabel(L label)
Returns a DirectedGraph consisting of all edges with the given label and their nodes. Nodes without edges are not included in the new graph.- Parameters:
label- edge label to use as a filter in building the subgraph- Returns:
-
containsEdge
boolean containsEdge(N from, N to, L label)
- Parameters:
from-to-label-- Returns:
- true if the graph contains an edge between the 2 nodes with the given label, false otherwise
-
containsAnyEdge
boolean containsAnyEdge(N from, N to)
- Parameters:
from- out node for the edgesto- in node for the edges- Returns:
- true if the graph contains any edges between the 2 nodes, false, otherwise
-
containsAnyEdge
boolean containsAnyEdge(L label)
- Parameters:
label- label for the edges- Returns:
- true if the graph contains any edges with the given label, false otherwise
-
containsNode
boolean containsNode(N node)
- Parameters:
node- node that we want to know if the graph contains- Returns:
- true if the graph contains the node, false otherwise
-
-