diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/errorprone/ErrorPronePlugin.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/errorprone/ErrorPronePlugin.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/errorprone/ErrorPronePlugin.java index 3f2d4f6369..feb97f4c75 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/errorprone/ErrorPronePlugin.java +++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/errorprone/ErrorPronePlugin.java @@ -22,6 +22,7 @@ import com.google.common.collect.Iterables; import com.google.devtools.build.buildjar.InvalidCommandLineException; import com.google.devtools.build.buildjar.javac.plugins.BlazeJavaCompilerPlugin; import com.google.errorprone.ErrorProneAnalyzer; +import com.google.errorprone.ErrorProneError; import com.google.errorprone.ErrorProneOptions; import com.google.errorprone.InvalidCommandLineOptionException; import com.google.errorprone.bugpatterns.BugChecker; @@ -166,7 +167,14 @@ public final class ErrorPronePlugin extends BlazeJavaCompilerPlugin { @Override public void postFlow(Env<AttrContext> env) { if (enabled) { - errorProneAnalyzer.finished(new TaskEvent(Kind.ANALYZE, env.toplevel, env.enclClass.sym)); + try { + errorProneAnalyzer.finished(new TaskEvent(Kind.ANALYZE, env.toplevel, env.enclClass.sym)); + } catch (ErrorProneError e) { + e.logFatalError(log); + // let the exception propagate to javac's main, where it will cause the compilation to + // terminate with Result.ABNORMAL + throw e; + } } } |