final case class CompileBundle(project: Project, javaSources: List[AbsolutePath], scalaSources: List[AbsolutePath]) extends Product with Serializable
Define a bundle of high-level information about a project that is going to be compiled. It packs several derived data from the project and makes it available both to the implementation of compile in bloop.engine.tasks.CompilationTask and the logic that runs the compile graph. The latter needs information about Java and Scala sources to appropriately (and efficiently) do build pipelining in mixed Java and Scala setups.
A CompileBundle has the same hashCode() and equals() than Project
for performance reasons. CompileBundle is a class that is heavily used in
the guts of the compilation logic (namely CompileGraph and bloop.engine.tasks.CompilationTask).
Because these classes depend on a fast hashCode() to cache dags and other
instances that contain bundles, our implementation of hashCode() is as fast
as the hash code of a project, which is cached. Using project
's hash code does
not poses any problem given that the rest of the members of a bundle are derived
from a project.
- project
The project we want to compile.
- javaSources
The found java sources in the file system.
- scalaSources
The found scala sources in the file system.
- Alphabetic
- By Inheritance
- CompileBundle
- Serializable
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(other: Any): Boolean
- Definition Classes
- CompileBundle → Equals → AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
val
hashCode: Int
- Definition Classes
- CompileBundle → AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val isJavaOnly: Boolean
- val javaSources: List[AbsolutePath]
-
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()
- val project: Project
- val scalaSources: List[AbsolutePath]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def toSourcesAndInstance: Either[Result, CompileSourcesAndInstance]
-
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
- @native() @throws( ... )