Drop redundant `ErrorProneTimings` shim from `ErrorPronePlugin` Since the used Error Prone version is 2.3.4+, `ErrorProneTimings` shim in `ErrorPronePlugin.java` is redundant. This change drops it. cc @cushon Closes #15504. PiperOrigin-RevId: 448987436
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 d3677be..ff483da 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
@@ -14,11 +14,8 @@ package com.google.devtools.build.buildjar.javac.plugins.errorprone; -import static java.util.Comparator.comparing; - import com.google.common.base.Stopwatch; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import com.google.devtools.build.buildjar.InvalidCommandLineException; import com.google.devtools.build.buildjar.javac.plugins.BlazeJavaCompilerPlugin; import com.google.devtools.build.buildjar.javac.statistics.BlazeJavacStatistics; @@ -26,6 +23,7 @@ import com.google.errorprone.ErrorProneAnalyzer; import com.google.errorprone.ErrorProneError; import com.google.errorprone.ErrorProneOptions; +import com.google.errorprone.ErrorProneTimings; import com.google.errorprone.InvalidCommandLineOptionException; import com.google.errorprone.scanner.BuiltInCheckerSuppliers; import com.google.errorprone.scanner.ScannerSupplier; @@ -69,49 +67,6 @@ private ErrorProneTimings timings; private final Stopwatch elapsed = Stopwatch.createUnstarted(); - // TODO(cushon): delete this shim after the next Error Prone update - static class ErrorProneTimings { - static Class<?> clazz; - - static { - try { - clazz = Class.forName("com.google.errorprone.ErrorProneTimings"); - } catch (ClassNotFoundException e) { - // ignored - } - } - - private final Object instance; - - public ErrorProneTimings(Object instance) { - this.instance = instance; - } - - public static ErrorProneTimings instance(Context context) { - Object instance = null; - if (clazz != null) { - try { - instance = clazz.getMethod("instance", Context.class).invoke(null, context); - } catch (ReflectiveOperationException e) { - throw new LinkageError(e.getMessage(), e); - } - } - return new ErrorProneTimings(instance); - } - - @SuppressWarnings("unchecked") // reflection - public Map<String, Duration> timings() { - if (clazz == null) { - return ImmutableMap.of(); - } - try { - return (Map<String, Duration>) clazz.getMethod("timings").invoke(instance); - } catch (ReflectiveOperationException e) { - throw new LinkageError(e.getMessage(), e); - } - } - } - /** Registers our message bundle. */ public static void setupMessageBundle(Context context) { BaseErrorProneJavaCompiler.setupMessageBundle(context); @@ -160,7 +115,7 @@ try { errorProneAnalyzer.finished(new TaskEvent(Kind.ANALYZE, env.toplevel, env.enclClass.sym)); } catch (ErrorProneError e) { - e.logFatalError(log); + e.logFatalError(log, context); // let the exception propagate to javac's main, where it will cause the compilation to // terminate with Result.ABNORMAL throw e; @@ -173,8 +128,8 @@ public void finish() { statisticsBuilder.totalErrorProneTime(elapsed.elapsed()); timings.timings().entrySet().stream() - .sorted(comparing((Map.Entry<String, Duration> e) -> e.getValue()).reversed()) + .sorted(Map.Entry.<String, Duration>comparingByValue().reversed()) .limit(10) // best-effort to stay under the action metric size limit - .forEachOrdered((e) -> statisticsBuilder.addBugpatternTiming(e.getKey(), e.getValue())); + .forEachOrdered(e -> statisticsBuilder.addBugpatternTiming(e.getKey(), e.getValue())); } }