ExternalLookup
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.
Attributes
- Graph
-
- Supertypes
-
trait Lookupclass Objecttrait Matchableclass Any
- Known subtypes
-
trait Lookuptrait NoopExternalLookup
Members list
Value members
Abstract methods
Used to provide information from external tools into sbt (e.g. IDEs)
Used to provide information from external tools into sbt (e.g. IDEs)
Attributes
- Returns
-
None if is unable to determine what was changed, changes otherwise
Used to provide information from external tools into sbt (e.g. IDEs)
Used to provide information from external tools into sbt (e.g. IDEs)
Attributes
- Returns
-
None if is unable to determine what was changed, changes otherwise
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.
Attributes
- 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
Used to provide information from external tools into sbt (e.g. IDEs)
Used to provide information from external tools into sbt (e.g. IDEs)
Attributes
- Returns
-
None if is unable to determine what was changed, changes otherwise
Used to provide information from external tools into sbt (e.g. IDEs)
Used to provide information from external tools into sbt (e.g. IDEs)
Attributes
- Returns
-
API changes
Concrete methods
Attributes
- Definition Classes
-
Lookup
Attributes
- Definition Classes
-
Lookup
Attributes
- Definition Classes
-
Lookup
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.
Attributes
Attributes
- Definition Classes
-
Lookup
Inherited methods
Attributes
- Inherited from:
- Lookup