### 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),