--- 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++;