object CompileGraph

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CompileGraph
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class Inputs(bundle: SuccessfulCompileBundle, oracle: CompilerOracle, pipelineInputs: Option[PipelineInputs], dependentResults: Map[File, PreviousResult]) extends Product with Serializable

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[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  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[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. def setupAndDeduplicate(client: ClientInfo, inputs: BundleInputs, setup: (BundleInputs) ⇒ Task[CompileBundle])(compile: (SuccessfulCompileBundle) ⇒ CompileTraversal): CompileTraversal

    Sets up project compilation, deduplicates compilation based on ongoing compilations in all concurrent clients and otherwise runs the compilation of a project.

    Sets up project compilation, deduplicates compilation based on ongoing compilations in all concurrent clients and otherwise runs the compilation of a project.

    The correctness of the compile deduplication depends on the effects that different clients perceive. For example, it would be incorrect to deduplicate the logic by memoizing the compilation task and not forwarding all the side effects produced during the compilation to all clients. This method takes care of replaying all the events that happen during the compilation of a given project, regardless of the time where clients ask for the same compilation. Most of the magic about how this is setup can be found in CompileTask, where the setup function is defined. The compile bundle contains both the observer to append events, that is added to the reporter and logger, as well as the stream to consume the events.

    setup

    The setup function that yields a bundle with unique oracle inputs.

    compile

    The function that will compile the project.

    returns

    A task that may be created by compile or may be a reference to a previous task.

  16. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. def traverse(dag: Dag[Project], client: ClientInfo, setup: (BundleInputs) ⇒ Task[CompileBundle], compile: (Inputs) ⇒ Task[ResultBundle], pipeline: Boolean): CompileTraversal

    Turns a dag of projects into a task that returns a dag of compilation results that can then be used to debug the evaluation of the compilation within Monix and access the compilation results received from Zinc.

    Turns a dag of projects into a task that returns a dag of compilation results that can then be used to debug the evaluation of the compilation within Monix and access the compilation results received from Zinc.

    dag

    The dag of projects to be compiled.

    returns

    A task that returns a dag of compilation results.

  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped