Class SortedDependencies<INPUT extends DependencyInfo>

java.lang.Object
com.google.javascript.jscomp.deps.SortedDependencies<INPUT>

public class SortedDependencies<INPUT extends DependencyInfo> extends Object
A sorted list of inputs with dependency information. Uses a stable topological sort to make sure that an input always comes after its dependencies. Also exposes other information about the inputs, like which inputs do not provide symbols.
  • Constructor Details

  • Method Details

    • getInputProviding

      public INPUT getInputProviding(String symbol) throws SortedDependencies.MissingProvideException
      Return the input that gives us the given symbol.
      Throws:
      SortedDependencies.MissingProvideException - An exception if there is no input for this symbol.
    • maybeGetInputProviding

      public INPUT maybeGetInputProviding(String symbol)
      Return the input that gives us the given symbol, or null.
    • getSortedList

      public List<INPUT> getSortedList()
    • getSortedDependenciesOf

      public List<INPUT> getSortedDependenciesOf(List<INPUT> roots)
      Gets all the dependencies of the given roots. The inputs must be returned in a stable order. In other words, if A comes before B, and A does not transitively depend on B, then A must also come before B in the returned list.
    • getDependenciesOf

      public List<INPUT> getDependenciesOf(List<INPUT> roots, boolean sorted)
      Gets all the dependencies of the given roots. The inputs must be returned in a stable order. In other words, if A comes before B, and A does not transitively depend on B, then A must also come before B in the returned list.
      Parameters:
      sorted - If true, get them in topologically sorted order. If false, get them in the original order they were passed to the compiler.
    • getInputsWithoutProvides

      public List<INPUT> getInputsWithoutProvides()