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 begining 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
- All
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(arg0: Any): Boolean
- Definition Classes
- 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()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @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
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
run(sources: Array[File], options: Array[String], topts: IncToolOptions, reporter: Reporter, log: Logger): Boolean
- Definition Classes
- BloopForkedJavaCompiler → JavaTool
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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( ... )