Class FixedPointGraphTraversal<N,E>

java.lang.Object
com.google.javascript.jscomp.graph.FixedPointGraphTraversal<N,E>
Type Parameters:
N - Value type that the graph node stores.
E - Value type that the graph edge stores.

public final class FixedPointGraphTraversal<N,E> extends Object
A utility class for doing fixed-point computations. We traverse the edges over the given directed graph until the graph reaches a steady state.
  • Field Details

  • Method Details

    • newTraversal

      public static <NodeT, EdgeT> FixedPointGraphTraversal<NodeT,EdgeT> newTraversal(FixedPointGraphTraversal.EdgeCallback<NodeT,EdgeT> callback)
      Helper method for creating new traversals that traverse from parent to child.
    • newReverseTraversal

      public static <NodeT, EdgeT> FixedPointGraphTraversal<NodeT,EdgeT> newReverseTraversal(FixedPointGraphTraversal.EdgeCallback<NodeT,EdgeT> callback)
      Helper method for creating new traversals that traverse from child to parent.
    • computeFixedPoint

      public void computeFixedPoint(DiGraph<N,E> graph)
      Compute a fixed point for the given graph.
      Parameters:
      graph - The graph to traverse.
    • computeFixedPoint

      public void computeFixedPoint(DiGraph<N,E> graph, N entry)
      Compute a fixed point for the given graph, entering from the given node.
      Parameters:
      graph - The graph to traverse.
      entry - The node to begin traversing from.
    • computeFixedPoint

      public void computeFixedPoint(DiGraph<N,E> graph, Set<N> entrySet)
      Compute a fixed point for the given graph, entering from the given nodes.
      Parameters:
      graph - The graph to traverse.
      entrySet - The nodes to begin traversing from.