c

bloop

CompileProducts

case class CompileProducts(readOnlyClassesDir: Path, newClassesDir: Path, resultForDependentCompilationsInSameRun: PreviousResult, resultForFutureCompilationRuns: PreviousResult, invalidatedCompileProducts: Set[File], generatedRelativeClassFilePaths: Map[String, File]) extends Product with Serializable

Collects the products generated during the compilation of a project.

It has two previous results. The first is to be used by the projects that depend on this compilation and are being compiled during this run. This result is used because it contains class file locations referring to both classes directories and because these two classes directories will be in the dependency classpath of dependent compilations.

The latter previous result is used for future client compilations. Future compilations will not see the readOnlyClassesDir and newClassesDir in this abstraction, but instead see an aggregated read-only classes directory. newClassesDir will become this read-only classes directory by the time of that compilation because all compilation products (class files, semanticdb files, sjsir files, tasty files, nir files, etc) in the current readOnlyClassesDir that are not in newClassesDir will be copied over. Therefore,the result that is used for compilation will have all class file references rebased to newClassesDir.

We use different previous results because we want to remove the cost of copying class files from readOnlyClassesDir to newClassesDir before starting dependent compilations. This scheme allows us to be fast and perform as much IO work in the background as possible.

Linear Supertypes
Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CompileProducts
  2. Serializable
  3. Product
  4. Equals
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new CompileProducts(readOnlyClassesDir: Path, newClassesDir: Path, resultForDependentCompilationsInSameRun: PreviousResult, resultForFutureCompilationRuns: PreviousResult, invalidatedCompileProducts: Set[File], generatedRelativeClassFilePaths: Map[String, File])

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(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. val generatedRelativeClassFilePaths: Map[String, File]
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  9. val invalidatedCompileProducts: Set[File]
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. val newClassesDir: Path
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  15. def productElementNames: Iterator[String]
    Definition Classes
    Product
  16. val readOnlyClassesDir: Path
  17. val resultForDependentCompilationsInSameRun: PreviousResult
  18. val resultForFutureCompilationRuns: PreviousResult
  19. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated @Deprecated
    Deprecated

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped