## 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.

Nested Class Summary
`static class` | `SortedDependencies.CircularDependencyException`
`static class` | `SortedDependencies.MissingProvideException`

Constructor Summary
`SortedDependencies(List<INPUT> inputs)`

Method Summary
`List<INPUT>` | `getDependenciesOf(List<INPUT> roots, boolean sorted)` Gets all the dependencies of the given roots.
`INPUT` | `getInputProviding(String symbol)` Return the input that gives us the given symbol.
`List<INPUT>` | `getInputsWithoutProvides()`
`List<INPUT>` | `getSortedDependenciesOf(List<INPUT> roots)` Gets all the dependencies of the given roots.
`List<INPUT>` | `getSortedList()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SortedDependencies

    public SortedDependencies(List<INPUT> inputs)
                       throws SortedDependencies.CircularDependencyException

Throws:
  `SortedDependencies.CircularDependencyException`

Method Detail

### 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()