Dotty Documentation


class ExtractDependencies
extends 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 isCheckable : Boolean

Output should be checkable by TreeChecker

[+] override def isRunnable ( implicit ctx: Context ) : Boolean
[+] 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 ( dep: ClassDependency ) ( implicit ctx: Context ) : Unit
[+] override def run ( implicit ctx: Context ) : Unit