### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java,v retrieving revision 1.349 diff -u -r1.349 Parser.java --- compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java 26 Jun 2006 14:47:42 -0000 1.349 +++ compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java 27 Jun 2006 07:42:01 -0000 @@ -7176,7 +7176,7 @@ break; case TokenNameStringLiteral : StringLiteral stringLiteral; - if (this.recordStringLiterals && this.checkExternalizeStrings) { + if (this.recordStringLiterals && this.checkExternalizeStrings && !this.statementRecoveryActivated) { stringLiteral = this.createStringLiteral( this.scanner.getCurrentTokenSourceString(), this.scanner.startPosition, Index: buildnotes_jdt-core.html =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/buildnotes_jdt-core.html,v retrieving revision 1.5324 diff -u -r1.5324 buildnotes_jdt-core.html --- buildnotes_jdt-core.html 26 Jun 2006 14:47:42 -0000 1.5324 +++ buildnotes_jdt-core.html 27 Jun 2006 07:41:52 -0000 @@ -127,6 +127,8 @@

Problem Reports Fixed

102728 [compiler] Reduce the stack depth demands of extended string concatenation ASTs +
102728 +[compiler] Reduce the stack depth demands of extended string concatenation ASTs
142530 [hierarchical packages] '.' in folder names confuses package explorer
148523 #P org.eclipse.jdt.core.tests.compiler Index: src/org/eclipse/jdt/core/tests/compiler/regression/ExternalizeStringLiteralsTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ExternalizeStringLiteralsTest.java,v retrieving revision 1.9 diff -u -r1.9 ExternalizeStringLiteralsTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/ExternalizeStringLiteralsTest.java 29 Mar 2006 03:50:22 -0000 1.9 +++ src/org/eclipse/jdt/core/tests/compiler/regression/ExternalizeStringLiteralsTest.java 27 Jun 2006 07:42:04 -0000 @@ -517,6 +517,37 @@ true, customOptions); } +//https://bugs.eclipse.org/bugs/show_bug.cgi?id=148352 +public void test017() { + Map customOptions = getCompilerOptions(); + customOptions.put(CompilerOptions.OPTION_ReportNonExternalizedStringLiteral, CompilerOptions.ERROR); + this.runNegativeTest( + new String[] { + "X.java", + "public class X {\n" + + " public void foo(String locationInAST) {\n" + + " String enclosingType= \"\"; //$NON-NLS-1$\n" + + " if (locationInAST != null) {\n" + + " enclosingType.toString()\n" + + " }\n" + + " }\n" + + "}", + }, + "----------\n" + + "1. ERROR in X.java (at line 5)\n" + + " enclosingType.toString()\n" + + " ^\n" + + "Syntax error, insert \";\" to complete BlockStatements\n" + + "----------\n", + null, + true, + customOptions, + false, + false, + false, + false, + true); +} public static Class testClass() { return ExternalizeStringLiteralsTest.class; } Index: src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java,v retrieving revision 1.62 diff -u -r1.62 AbstractRegressionTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java 26 Apr 2006 09:17:16 -0000 1.62 +++ src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java 27 Jun 2006 07:42:04 -0000 @@ -555,7 +555,8 @@ false /* do not generate output */, false /* do not show category */, false /* do not show warning token */, - false /* do not skip javac for this peculiar test */); + false /* do not skip javac for this peculiar test */, + false /* do not perform statements recovery */); } /** @@ -575,7 +576,8 @@ false /* do not generate output */, false /* do not show category */, false /* do not show warning token */, - false /* do not skip javac for this peculiar test */); + false /* do not skip javac for this peculiar test */, + false /* do not perform statements recovery */); } /** * Log contains all problems (warnings+errors) @@ -595,7 +597,8 @@ false /* do not generate output */, false /* do not show category */, false /* do not show warning token */, - false /* do not skip javac for this peculiar test */); + false /* do not skip javac for this peculiar test */, + false /* do not perform statements recovery */); } /** * Log contains all problems (warnings+errors) @@ -618,7 +621,8 @@ generateOutput, showCategory, showWarningToken, - false /* do not skip javac for this peculiar test */); + false /* do not skip javac for this peculiar test */, + false /* do not perform statements recovery */); } /** * Log contains all problems (warnings+errors) @@ -632,7 +636,8 @@ boolean generateOutput, boolean showCategory, boolean showWarningToken, - boolean skipJavac) { + boolean skipJavac, + boolean performStatementsRecovery) { // Non-javac part try { if (shouldFlushOutputDirectory) @@ -652,7 +657,7 @@ options.putAll(customOptions); } CompilerOptions compilerOptions = new CompilerOptions(options); - compilerOptions.performStatementsRecovery = false; + compilerOptions.performStatementsRecovery = performStatementsRecovery; Compiler batchCompiler = new Compiler( getNameEnvironment(new String[]{}, classLib),