src/jdk.compiler/share/classes/com/sun/tools/javac/util/Log.java
changeset 53773 454d54d8af1c
parent 49822 53aae0c219e6
child 54332 9a8fe0bc38c3
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Log.java	Fri Feb 15 05:32:36 2019 -0500
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Log.java	Fri Feb 15 12:09:53 2019 +0100
@@ -33,6 +33,7 @@
 import java.util.Map;
 import java.util.Queue;
 import java.util.Set;
+import java.util.function.Predicate;
 
 import javax.tools.DiagnosticListener;
 import javax.tools.JavaFileObject;
@@ -158,14 +159,14 @@
 
         /** Report all deferred diagnostics. */
         public void reportDeferredDiagnostics() {
-            reportDeferredDiagnostics(EnumSet.allOf(JCDiagnostic.Kind.class));
+            reportDeferredDiagnostics(d -> true);
         }
 
         /** Report selected deferred diagnostics. */
-        public void reportDeferredDiagnostics(Set<JCDiagnostic.Kind> kinds) {
+        public void reportDeferredDiagnostics(Predicate<JCDiagnostic> accepter) {
             JCDiagnostic d;
             while ((d = deferred.poll()) != null) {
-                if (kinds.contains(d.getKind()))
+                if (accepter.test(d))
                     prev.report(d);
             }
             deferred = null; // prevent accidental ongoing use
@@ -713,7 +714,7 @@
 
             case ERROR:
                 if (nerrors < MaxErrors &&
-                    (diagnostic.isFlagSet(DiagnosticFlag.MULTIPLE) ||
+                    (diagnostic.isFlagSet(DiagnosticFlag.API) ||
                      shouldReport(diagnostic))) {
                     writeDiagnostic(diagnostic);
                     nerrors++;