Index: compiler/org/eclipse/jdt/internal/compiler/parser/diagnose/DiagnoseParser.java =================================================================== RCS file: /data/cvs/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/diagnose/DiagnoseParser.java,v retrieving revision 1.15 diff -u -r1.15 DiagnoseParser.java --- compiler/org/eclipse/jdt/internal/compiler/parser/diagnose/DiagnoseParser.java 6 May 2004 15:44:58 -0000 1.15 +++ compiler/org/eclipse/jdt/internal/compiler/parser/diagnose/DiagnoseParser.java 28 May 2004 13:21:47 -0000 @@ -362,6 +362,10 @@ if(parser.reportOnlyOneSyntaxError) { return; } + + if(this.parser.problemReporter().options.maxProblemsPerUnit < this.parser.compilationUnit.compilationResult.problemCount) { + return; + } act = stack[stateStackTop]; @@ -1318,6 +1322,8 @@ } private void scopeTrialCheck(int stck[], int stack_top, PrimaryRepairInfo repair, int indx) { + if(indx > 20) return; + int act = stck[stack_top]; for (int i = stateSeen[stack_top]; i != NIL; i = statePool[i].next) { Index: model/org/eclipse/jdt/internal/core/CompilationUnit.java =================================================================== RCS file: /data/cvs/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/CompilationUnit.java,v retrieving revision 1.177 diff -u -r1.177 CompilationUnit.java --- model/org/eclipse/jdt/internal/core/CompilationUnit.java 11 May 2004 22:10:58 -0000 1.177 +++ model/org/eclipse/jdt/internal/core/CompilationUnit.java 28 May 2004 13:21:47 -0000 @@ -115,6 +115,7 @@ problemFactory, new CompilerOptions(options), true/*report local declarations*/); + parser.reportOnlyOneSyntaxError = !computeProblems; requestor.parser = parser; CompilationUnitDeclaration unit = parser.parseCompilationUnit(new org.eclipse.jdt.internal.compiler.env.ICompilationUnit() { public char[] getContents() { Index: search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.java =================================================================== RCS file: /data/cvs/eclipse/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.java,v retrieving revision 1.30 diff -u -r1.30 SourceIndexer.java --- search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.java 27 Jan 2004 12:36:07 -0000 1.30 +++ search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.java 28 May 2004 13:21:48 -0000 @@ -56,6 +56,7 @@ this.problemFactory, new CompilerOptions(JavaCore.create(project).getOptions(true)), true); // index local declarations + parser.reportOnlyOneSyntaxError = true; // Always check javadoc while indexing parser.javadocParser.checkDocComment = true;