com.google.javascript.jscomp.deps
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.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SortedDependencies
public SortedDependencies(List<INPUT> inputs)
throws SortedDependencies.CircularDependencyException
- Throws:
SortedDependencies.CircularDependencyException
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.
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()