trait Lookup extends ExternalLookup
A trait that encapsulates looking up elements on a classpath and looking up an external (for another subproject) Analysis instance.
- Alphabetic
- By Inheritance
- Lookup
- ExternalLookup
- Lookup
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
- abstract def analyses: Vector[CompileAnalysis]
-
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
- Definition Classes
- ExternalLookup
-
abstract
def
changedClasspathHash: Option[Vector[FileHash]]
Returns the current classpath if the classpath has changed from the last compilation.
-
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
- Definition Classes
- ExternalLookup
-
abstract
def
hashClasspath(arg0: Array[VirtualFile]): Optional[Array[FileHash]]
- Definition Classes
- Lookup
-
abstract
def
lookupAnalysis(binaryClassName: String): Option[CompileAnalysis]
Return an Analysis instance that has the given binary class name registered as a product.
-
abstract
def
lookupOnClasspath(binaryClassName: String): Option[VirtualFileRef]
Lookup an element on the classpath corresponding to a given binary class name.
Lookup an element on the classpath corresponding to a given binary class name. If found class file is stored in a jar file, the jar file is returned.
-
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
- Definition Classes
- ExternalLookup
-
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
- Definition Classes
- ExternalLookup
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
getChangedBinaries(previousAnalysis: CompileAnalysis): Optional[Set[VirtualFileRef]]
- Definition Classes
- ExternalLookup → Lookup
-
def
getChangedSources(previousAnalysis: CompileAnalysis): Optional[Changes[VirtualFileRef]]
- Definition Classes
- ExternalLookup → Lookup
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getRemovedProducts(previousAnalysis: CompileAnalysis): Optional[Set[VirtualFileRef]]
- Definition Classes
- ExternalLookup → Lookup
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
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
- Definition Classes
- Lookup → ExternalLookup
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
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.- Definition Classes
- ExternalLookup
-
def
shouldDoIncrementalCompilation(changedClasses: Set[String], previousAnalysis: CompileAnalysis): Boolean
- Definition Classes
- ExternalLookup → Lookup
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()