Package 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

Nested Classes
Modifier and Type
Class
Description
`static class`
`SortedDependencies.CircularDependencyException`
`static class`
`SortedDependencies.MissingProvideException`

## Constructor Summary

Constructors
Constructor
Description
`SortedDependencies(List<INPUT> inputs)`

## Method Summary

Modifier and Type
Method
Description
`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()`
`INPUT`
`maybeGetInputProviding(String symbol)`
Return the input that gives us the given symbol, or null.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### SortedDependencies

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

Throws:
  `SortedDependencies.CircularDependencyException`

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