dotty.tools.dotc.sbt

ExtractDependencies

Related Doc: package sbt

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

See also

ExtractAPI

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ExtractDependencies
  2. Phase
  3. DotClass
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ExtractDependencies()

Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. final def <=(that: Phase): Boolean

    Definition Classes
    Phase
  4. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  5. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  6. def checkPostCondition(tree: ast.tpd.Tree)(implicit ctx: Context): Unit

    Check what the phase achieves, to be called at any point after it is finished.

    Check what the phase achieves, to be called at any point after it is finished.

    Definition Classes
    Phase
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def description: String

    Definition Classes
    Phase
  9. def end: PhaseId

    Definition Classes
    Phase
  10. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  12. final def erasedTypes: Boolean

    Definition Classes
    Phase
  13. def exists: Boolean

    Definition Classes
    Phase
  14. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def flatClasses: Boolean

    Definition Classes
    Phase
  16. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  17. final def hasNext: Boolean

    Definition Classes
    Phase
  18. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  19. def id: Int

    The sequence position of this phase in the given context where 0 is reserved for NoPhase and the first real phase is at position 1.

    The sequence position of this phase in the given context where 0 is reserved for NoPhase and the first real phase is at position 1. -1 if the phase is not installed in the context.

    Definition Classes
    Phase
  20. def init(base: ContextBase, id: Int): Unit

    Attributes
    protected[dotty.tools.dotc.core.Phases]
    Definition Classes
    Phase
  21. def init(base: ContextBase, start: Int, end: Int): Unit

    Attributes
    protected[dotty.tools.dotc.core.Phases]
    Definition Classes
    Phase
  22. def isCheckable: Boolean

    Output should be checkable by TreeChecker

    Output should be checkable by TreeChecker

    Definition Classes
    Phase
  23. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  24. def isTyper: Boolean

    Is this phase the standard typerphase? True for FrontEnd, but not for other first phases (such as FromTasty).

    Is this phase the standard typerphase? True for FrontEnd, but not for other first phases (such as FromTasty). The predicate is tested in some places that perform checks and corrections. It's different from isAfterTyper (and cheaper to test).

    Definition Classes
    Phase
  25. final def iterator: Iterator[Phase]

    Definition Classes
    Phase
  26. final def labelsReordered: Boolean

    Definition Classes
    Phase
  27. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  28. final def next: Phase

    Definition Classes
    Phase
  29. final def notify(): Unit

    Definition Classes
    AnyRef
  30. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  31. def period: Period

    Definition Classes
    Phase
  32. def phaseName: String

    Definition Classes
    ExtractDependenciesPhase
  33. final def prev: Phase

    Definition Classes
    Phase
  34. 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.

    currentSourceFile

    The source file of the current unit

    dep

    The dependency

    context

    Describes how currentSourceFile depends on dep

  35. final def refChecked: Boolean

    Definition Classes
    Phase
  36. def relaxedTyping: Boolean

    If set, allow missing or superfluous arguments in applications and type applications.

    If set, allow missing or superfluous arguments in applications and type applications.

    Definition Classes
    Phase
  37. def run(implicit ctx: Context): Unit

    Definition Classes
    ExtractDependenciesPhase
  38. def runOn(units: List[CompilationUnit])(implicit ctx: Context): List[CompilationUnit]

    Definition Classes
    Phase
  39. def runsAfter: Set[Class[_ <: Phase]]

    List of names of phases that should precede this phase

    List of names of phases that should precede this phase

    Definition Classes
    Phase
  40. def start: Int

    Definition Classes
    Phase
  41. final def symbolicRefs: Boolean

    Definition Classes
    Phase
  42. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  43. def toString(): String

    Definition Classes
    Phase → AnyRef → Any
  44. def unsupported(methodName: String): Nothing

    Throws an UnsupportedOperationException with the given method name.

    Throws an UnsupportedOperationException with the given method name.

    Definition Classes
    DotClass
  45. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  46. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  47. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Phase

Inherited from DotClass

Inherited from AnyRef

Inherited from Any

Ungrouped