Packages

t

sbt.internal.inc

ExternalLookup

trait ExternalLookup extends xsbti.compile.ExternalHooks.Lookup

Defines a hook interface that IDEs or build tools can mock to modify the way Zinc invalidates the incremental compiler. These hooks operate at a high-level of abstraction and only allow to modify the inputs of the initial change detection.

Linear Supertypes
xsbti.compile.ExternalHooks.Lookup, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ExternalLookup
  2. Lookup
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def changedBinaries(previousAnalysis: CompileAnalysis): Option[Set[VirtualFileRef]]

    Used to provide information from external tools into sbt (e.g.

    Used to provide information from external tools into sbt (e.g. IDEs)

    returns

    None if is unable to determine what was changed, changes otherwise

  2. abstract def changedSources(previousAnalysis: CompileAnalysis): Option[Changes[VirtualFileRef]]

    Used to provide information from external tools into sbt (e.g.

    Used to provide information from external tools into sbt (e.g. IDEs)

    returns

    None if is unable to determine what was changed, changes otherwise

  3. abstract def hashClasspath(arg0: Array[VirtualFile]): Optional[Array[FileHash]]
    Definition Classes
    Lookup
  4. abstract def lookupAnalyzedClass(binaryClassName: String, file: Option[VirtualFileRef]): Option[AnalyzedClass]

    Find the external AnalyzedClass (from another analysis) given a class name and, if available, the jar file (or class file) the class comes from.

    Find the external AnalyzedClass (from another analysis) given a class name and, if available, the jar file (or class file) the class comes from.

    returns

    The AnalyzedClass associated with the given class name, if one is found. None => Found class somewhere outside of project. No analysis possible. Some(analyzed) if analyzed.provenance.isEmpty => Couldn't find it. Some(analyzed) => good

  5. abstract def removedProducts(previousAnalysis: CompileAnalysis): Option[Set[VirtualFileRef]]

    Used to provide information from external tools into sbt (e.g.

    Used to provide information from external tools into sbt (e.g. IDEs)

    returns

    None if is unable to determine what was changed, changes otherwise

  6. abstract def shouldDoIncrementalCompilation(changedClasses: Set[String], analysis: CompileAnalysis): Boolean

    Used to provide information from external tools into sbt (e.g.

    Used to provide information from external tools into sbt (e.g. IDEs)

    returns

    API changes

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. def getChangedBinaries(previousAnalysis: CompileAnalysis): Optional[Set[VirtualFileRef]]
    Definition Classes
    ExternalLookup → Lookup
  10. def getChangedSources(previousAnalysis: CompileAnalysis): Optional[Changes[VirtualFileRef]]
    Definition Classes
    ExternalLookup → Lookup
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def getRemovedProducts(previousAnalysis: CompileAnalysis): Optional[Set[VirtualFileRef]]
    Definition Classes
    ExternalLookup → Lookup
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. def shouldDoEarlyOutput(analysis: CompileAnalysis): Boolean

    Used to override whether we should proceed with making an early output.

    Used to override whether we should proceed with making an early output.

    By default we do not make an early output in the presence of any macros because macro expansion (in a downstream subproject) requires the macro implementation to be present in bytecode form, rather than just just a pickle-containing JAR.

    If you're careful micromanaging the separation of macro implementations (e.g. def impl(c: Context) = ...) from macro definitions (e.g. def foo: Unit = macro Foo.impl) you can safely override this.

  19. def shouldDoIncrementalCompilation(changedClasses: Set[String], previousAnalysis: CompileAnalysis): Boolean
    Definition Classes
    ExternalLookup → Lookup
  20. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from xsbti.compile.ExternalHooks.Lookup

Inherited from AnyRef

Inherited from Any

Ungrouped