o

bloop

Compiler

object Compiler

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

Type Members

  1. sealed trait Result extends AnyRef

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. def analysisFrom(prev: PreviousResult): Option[CompileAnalysis]
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  7. def compile(compileInputs: CompileInputs): Task[Result]
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. def persist(storeFile: AbsolutePath, analysis: CompileAnalysis, setup: MiniSetup, tracer: BraveTracer, logger: Logger): Unit
  18. def previousProblemsFromResult(result: Result, previousSuccessfulProblems: List[ProblemPerPhase]): List[ProblemPerPhase]

    the problems (errors/warnings/infos) that were generated in the last incremental compilation, be it successful or not.

    the problems (errors/warnings/infos) that were generated in the last incremental compilation, be it successful or not. See previousProblemsFromSuccessfulCompilation for an explanation of why these problems are important for the bloop compilation.

    See also

    previousProblemsFromSuccessfulCompilation

  19. def previousProblemsFromSuccessfulCompilation(analysis: Option[CompileAnalysis]): List[ProblemPerPhase]

    Returns the problems (infos/warnings) that were generated in the last successful incremental compilation.

    Returns the problems (infos/warnings) that were generated in the last successful incremental compilation. These problems are material for the correct handling of compiler reporters since they might be stateful with the clients (e.g. BSP reporter).

  20. def rebaseAnalysisClassFiles(analysis0: CompileAnalysis, readOnlyClassesDir: Path, newClassesDir: Path, sourceFilesWithFatalWarnings: Set[File]): Analysis

    Change the paths of the class files inside the analysis.

    Change the paths of the class files inside the analysis.

    As compiler isolation requires every process to write to an independent classes directory, while still sourcing the previous class files from a read-only classes directory, this method has to ensure that the next user of this analysis sees that all products come from the same directory, which is the new classes directory we've written to.

    Up in the bloop call stack, we make sure that we spawn a process that copies all class files from the read-only classes directory to the new classes directory so that the new paths in the analysis exist in the file system.

  21. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  22. def toBackgroundTasks(tasks: List[(AbsolutePath, BraveTracer) ⇒ Task[Unit]]): CompileBackgroundTasks
  23. def toString(): String
    Definition Classes
    AnyRef → Any
  24. def updatePreviousResultWithRecentClasspathHashes(previous: PreviousResult, uniqueInputs: UniqueCompileInputs): PreviousResult

    Update the previous reuslt with the most recent classpath hashes.

    Update the previous reuslt with the most recent classpath hashes.

    The incremental compiler has two mechanisms to ascertain if it has to recompile code or can skip recompilation (what it's traditionally called as a no-op compile). The first phase checks if classpath hashes are the same. If they are, it's a no-op compile, if they are not then it passes to the second phase which does an expensive classpath computation to better decide if a recompilation is needed.

    This last step can be expensive when there are lots of projects in a build and even more so when these projects produce no-op compiles. This method makes sure we update the classpath hash if Zinc finds a change in the classpath and still decides it's a no-op compile. This prevents subsequent no-op compiles from paying the price for the same expensive classpath check.

  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  28. object Result

Inherited from AnyRef

Inherited from Any

Ungrouped