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

  • Constructor Details

    • FixedPointGraphTraversal

      public FixedPointGraphTraversal(FixedPointGraphTraversal.EdgeCallback<N,E> callback)
      Create a new traversal.
      Parameters:
      callback - A callback for updating the state of the graph each time an edge is traversed.
  • Method Details

    • newTraversal

      public static <NODE, EDGE> FixedPointGraphTraversal<NODE,EDGE> newTraversal(FixedPointGraphTraversal.EdgeCallback<NODE,EDGE> callback)
      Helper method for creating new traversals.
    • 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.