class ExtractDependencies
extends DotClass with Phase

This phase sends information on classes' dependencies to sbt via callbacks.

This is used by sbt for incremental recompilation. Briefly, when a file changes sbt will recompile it, if its API has changed (determined by what ExtractAPI sent) then sbt will determine which reverse-dependencies (determined by what ExtractDependencies sent) of the API have to be recompiled depending on what changed.

See the documentation of ExtractDependenciesCollector, ExtractAPI, ExtractAPICollector and http://www.scala-sbt.org/0.13/docs/Understanding-Recompilation.html for more information on how sbt incremental compilation works.

The following flags affect this phase: -Yforce-sbt-phases -Ydump-sbt-inc

Constructors

ExtractDependencies ( )

Members

[+] override def phaseName : String

A name given to the Phase that can be used to debug the compiler. For instance, it is possible to print trees after a given phase using:

A name given to the Phase that can be used to debug the compiler. For instance, it is possible to print trees after a given phase using:

$ ./bin/dotc -Xprint:<phaseNameHere> sourceFile.scala
[+] def recordDependency ( currentSourceFile: File , dep: Symbol , context: DependencyContext ) ( implicit ctx: Context ) : Unit

Record that currentSourceFile depends on the file where dep was loaded from.

Record that currentSourceFile depends on the file where dep was loaded from.

[+] override def run ( implicit ctx: Context ) : Unit