Class GraphReachability<N,E>
java.lang.Object
com.google.javascript.jscomp.graph.GraphReachability<N,E>
- All Implemented Interfaces:
FixedPointGraphTraversal.EdgeCallback<N,
E>
public class GraphReachability<N,E>
extends Object
implements FixedPointGraphTraversal.EdgeCallback<N,E>
Computes all the reachable nodes. Upon execution of
compute(Object)
,
the graph nodes will be annotated with REACHABLE
if it is reachable
from the specified entry node.- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Represents Source Node, Edge and Destination Node. -
Field Summary
-
Constructor Summary
ConstructorDescriptionGraphReachability
(DiGraph<N, E> graph) GraphReachability
(DiGraph<N, E> graph, com.google.common.base.Predicate<GraphReachability.EdgeTuple<N, E>> edgePredicate) -
Method Summary
-
Field Details
-
REACHABLE
-
-
Constructor Details
-
GraphReachability
-
GraphReachability
public GraphReachability(DiGraph<N, E> graph, com.google.common.base.Predicate<GraphReachability.EdgeTuple<N, E>> edgePredicate) - Parameters:
graph
- The graph.edgePredicate
- Given the predecessor P of the a node S and the edge coming from P to S, this predicate should return true if S is reachable from P using the edge.
-
-
Method Details
-
compute
-
recompute
-
traverseEdge
Description copied from interface:FixedPointGraphTraversal.EdgeCallback
Update the state of the destination node when the given edge is traversed. For the fixed-point computation to work, only the destination node may be modified. The source node and the edge must not be modified.- Specified by:
traverseEdge
in interfaceFixedPointGraphTraversal.EdgeCallback<N,
E> - Parameters:
source
- The start node.e
- The edge.destination
- The end node.- Returns:
- Whether the state of the destination node changed.
-