Dotty Documentation


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 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:

$ ./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.

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