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
Nested ClassesModifier and TypeClassDescriptionstatic final classRepresents Source Node, Edge and Destination Node. -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionGraphReachability(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.EdgeCallbackUpdate 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:
traverseEdgein 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.
-