final class BloopForkedJavaCompiler extends JavaCompiler
A Java compiler that will invalidate class files from a forked java
compiler by adding a new classes directory to the beginning of the
-classpath
compiler option where we will write an empty class file for
every invalidated class file. This empty class file will force the javac
compiler to output an error similar to:
/path/to/File.java:1
error: cannot access Bar
bad class file: ./B.class
class file contains wrong class: java.lang.Object
Please remove or make sure it appears in the correct subdirectory of the classpath.
Fortunately, the last bit is not parsed by Zinc's JavacParser
and
doesn't show up as a reported Zinc problem. The first bit does show up and
it's a good enough error to intuit that the symbol might not exist, so we
leave it there. We cannot replace that error with a custom one because it
would be confusing if the accessibility error is real and not caused by
our invalidation trick.
- Alphabetic
- By Inheritance
- BloopForkedJavaCompiler
- JavaCompiler
- JavaTool
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def run(sources: Array[VirtualFile], options: Array[String], output: Output, topts: IncToolOptions, reporter: Reporter, log: Logger): Boolean
- Definition Classes
- BloopForkedJavaCompiler → JavaTool
- def supportsDirectToJar(): Boolean
- Definition Classes
- JavaCompiler
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)