Index: compiler/org/eclipse/jdt/internal/compiler/problem/ProblemHandler.java =================================================================== RCS file: /home/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemHandler.java,v retrieving revision 1.18 diff -u -r1.18 ProblemHandler.java --- compiler/org/eclipse/jdt/internal/compiler/problem/ProblemHandler.java 6 May 2005 19:18:04 -0000 1.18 +++ compiler/org/eclipse/jdt/internal/compiler/problem/ProblemHandler.java 18 Aug 2005 15:45:11 -0000 @@ -89,7 +89,8 @@ // if no reference context, we need to abort from the current compilation process if (referenceContext == null) { if ((severity & Error) != 0) { // non reportable error is fatal - IProblem problem = this.createProblem(null, problemId, problemArguments, messageArguments, severity, 0, 0, 0); + if (problemId == IProblem.UnusedImport) return; + IProblem problem = this.createProblem(null, problemId, problemArguments, messageArguments, severity, 0, 0, 0); throw new AbortCompilation(null, problem); } else { return; // ignore non reportable warning @@ -113,14 +114,17 @@ switch (severity & Error) { case Error : this.record(problem, unitResult, referenceContext); - referenceContext.tagAsHavingErrors(); - - // should abort ? - int abortLevel; - if ((abortLevel = - (this.policy.stopOnFirstError() ? AbortCompilation : severity & Abort)) != 0) { - - referenceContext.abort(abortLevel, problem); + // we might want to filter other non jls mandatory errors + if (problemId != IProblem.UnusedImport) { + referenceContext.tagAsHavingErrors(); + + // should abort ? + int abortLevel; + if ((abortLevel = + (this.policy.stopOnFirstError() ? AbortCompilation : severity & Abort)) != 0) { + + referenceContext.abort(abortLevel, problem); + } } break; case Warning :