Test & fix for Bug 355314 - abstract method error may be masked by callout binding
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemHandler.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemHandler.java
index 43997c7..c8134f8 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemHandler.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemHandler.java
@@ -161,10 +161,9 @@
boolean alreadyReported = ((severity & ProblemSeverities.Error) != 0)
? method.compilationResult().hasErrors()
: method.compilationResult().hasWarnings();
- if (alreadyReported) {
+ if (alreadyReported && !requireRecheck) { // recheckable problems should not be skipped, rechecker has better judgment
if ((severity & ProblemSeverities.Fatal) != 0)
- if (!requireRecheck)
- referenceContext.tagAsHavingErrors();
+ referenceContext.tagAsHavingErrors();
return;
}
} else if (method.binding != null) {