diff --git a/org.eclipse.jdt.compiler.apt.tests/processors8/org/eclipse/jdt/compiler/apt/tests/processors/elements/Java9ElementProcessor.java b/org.eclipse.jdt.compiler.apt.tests/processors8/org/eclipse/jdt/compiler/apt/tests/processors/elements/Java9ElementProcessor.java index 6e33afe94e9..a3f00692ea1 100644 --- a/org.eclipse.jdt.compiler.apt.tests/processors8/org/eclipse/jdt/compiler/apt/tests/processors/elements/Java9ElementProcessor.java +++ b/org.eclipse.jdt.compiler.apt.tests/processors8/org/eclipse/jdt/compiler/apt/tests/processors/elements/Java9ElementProcessor.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core.tests.builder/src/org/eclipse/jdt/core/tests/builder/TestingEnvironment.java b/org.eclipse.jdt.core.tests.builder/src/org/eclipse/jdt/core/tests/builder/TestingEnvironment.java index a75d809fe2f..671eac5bd33 100644 --- a/org.eclipse.jdt.core.tests.builder/src/org/eclipse/jdt/core/tests/builder/TestingEnvironment.java +++ b/org.eclipse.jdt.core.tests.builder/src/org/eclipse/jdt/core/tests/builder/TestingEnvironment.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core.tests.compiler/META-INF/MANIFEST.MF b/org.eclipse.jdt.core.tests.compiler/META-INF/MANIFEST.MF index d5f70f4c185..20fa5370d7e 100644 --- a/org.eclipse.jdt.core.tests.compiler/META-INF/MANIFEST.MF +++ b/org.eclipse.jdt.core.tests.compiler/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.jdt.core.tests.compiler;singleton:=true -Bundle-Version: 3.12.2000.qualifier +Bundle-Version: 3.12.2050.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Export-Package: org.eclipse.jdt.core.tests.compiler, diff --git a/org.eclipse.jdt.core.tests.compiler/pom.xml b/org.eclipse.jdt.core.tests.compiler/pom.xml index 8ce25938236..231dd255155 100644 --- a/org.eclipse.jdt.core.tests.compiler/pom.xml +++ b/org.eclipse.jdt.core.tests.compiler/pom.xml @@ -19,7 +19,7 @@ ../tests-pom/ org.eclipse.jdt.core.tests.compiler - 3.12.2000-SNAPSHOT + 3.12.2050-SNAPSHOT eclipse-test-plugin diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/TestAll.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/TestAll.java index a7e20732526..3f89f8ac2bb 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/TestAll.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/TestAll.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation * Jesper Steen Møller - Contributions for diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/InstanceofPrimaryPatternTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/InstanceofPrimaryPatternTest.java index 9442098d8a9..6119473cef6 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/InstanceofPrimaryPatternTest.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/InstanceofPrimaryPatternTest.java @@ -7,10 +7,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/PatternMatching16Test.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/PatternMatching16Test.java index 7a76d2f2d46..6a2568e6674 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/PatternMatching16Test.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/PatternMatching16Test.java @@ -7,10 +7,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/RecordPatternTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/RecordPatternTest.java index b6a9db8807e..daac4ddf839 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/RecordPatternTest.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/RecordPatternTest.java @@ -7,10 +7,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ @@ -1548,4 +1544,27 @@ public void test44() { "Pattern of type long is not compatible with type int\n" + "----------\n"); } + public void test45() { + runNegativeTest(new String[] { + "X.java", + "@SuppressWarnings(\"preview\")\n" + + "public class X {\n" + + " static void print(Object r) {\n" + + " switch (r) {\n" + + " case Rectangle r1 when (r instanceof (Rectangle(ColoredPoint upperLeft2, ColoredPoint lowerRight) r2)):\n" + + " System.out.println(r2);// error should not be reported here\n" + + " break;\n" + + " }\n" + + " }\n" + + "}\n" + + "record ColoredPoint() {}\n" + + "record Rectangle(ColoredPoint upperLeft, ColoredPoint lowerRight) {} " + }, + "----------\n" + + "1. ERROR in X.java (at line 4)\n" + + " switch (r) {\n" + + " ^\n" + + "An enhanced switch statement should be exhaustive; a default label expected\n" + + "----------\n"); + } } diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchPatternTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchPatternTest.java index 1fd6ef2962b..3d5381107e8 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchPatternTest.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchPatternTest.java @@ -7,10 +7,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/TestAll.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/TestAll.java index 90ddc7e2bba..b4e681d2569 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/TestAll.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/TestAll.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation * Stephan Herrmann - Contributions for diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/util/AbstractCompilerTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/util/AbstractCompilerTest.java index 5ff48a55cb6..a5117cdd27c 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/util/AbstractCompilerTest.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/util/AbstractCompilerTest.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/RunOnlyJava19Tests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/RunOnlyJava19Tests.java index a3a6d214d1d..2737a1d5590 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/RunOnlyJava19Tests.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/RunOnlyJava19Tests.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter_GuardedPattern_Test.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter_GuardedPattern_Test.java index d2802c7f225..d404776f32b 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter_GuardedPattern_Test.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter_GuardedPattern_Test.java @@ -7,10 +7,6 @@ * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 - * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. * * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter_PreviewTest.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter_PreviewTest.java index 2b8e5da3cbf..5aff9a328c9 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter_PreviewTest.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter_PreviewTest.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter_RecordPattern_Test.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter_RecordPattern_Test.java index f96b75509ff..c863ab22d27 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter_RecordPattern_Test.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter_RecordPattern_Test.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTStructuralPropertyTest.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTStructuralPropertyTest.java index f94d11d16f5..b13e786a1a7 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTStructuralPropertyTest.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTStructuralPropertyTest.java @@ -7,10 +7,6 @@ * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 - * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTTest.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTTest.java index 3589bac1713..15061701890 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTTest.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTTest.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/AbstractASTTests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/AbstractASTTests.java index 7b94b806b1f..a03fadf06ec 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/AbstractASTTests.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/AbstractASTTests.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ConverterTestSetup.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ConverterTestSetup.java index c66b95c9403..aeb7407b8a6 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ConverterTestSetup.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ConverterTestSetup.java @@ -7,10 +7,6 @@ * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 - * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. * * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/RunConverterTests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/RunConverterTests.java index a34033e486f..f3ec82fe535 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/RunConverterTests.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/RunConverterTests.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jdt.core.tests.dom; diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterRegressionTests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterRegressionTests.java index 21628b436b2..93ddb1a7717 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterRegressionTests.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterRegressionTests.java @@ -15947,8 +15947,9 @@ public void testBug567016() { /** * https://bugs.eclipse.org/573949 - [17][switch pattern][formatter] JEP 406 changes */ -public void _testBug573949() { +public void testBug573949() { setComplianceLevel(CompilerOptions.VERSION_19); + this.formatterOptions.put(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES, JavaCore.ENABLED); String source = "public class X {\n" + " private static void foo(Object o) {\n" + @@ -15960,7 +15961,7 @@ public void _testBug573949() { "\n" + "static void testTriangle(Shape s) {\n" + " switch (s) {\n" + - " case Triangle t&&(t.calculateArea() > 100) ->\n" + + " case Triangle t when t.calculateArea() > 100 ->\n" + " System.out.println(\"Large triangle\");\n" + " default ->\n" + " System.out.println(\"A shape, possibly a small triangle\");\n" + @@ -15980,7 +15981,7 @@ public void _testBug573949() { "\n" + " static void testTriangle(Shape s) {\n" + " switch (s) {\n" + - " case Triangle t && (t.calculateArea() > 100) -> System.out.println(\"Large triangle\");\n" + + " case Triangle t when t.calculateArea() > 100 -> System.out.println(\"Large triangle\");\n" + " default -> System.out.println(\"A shape, possibly a small triangle\");\n" + " }\n" + " }\n" + diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java index 85b7fca9d71..c7fbaf97b05 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionTests19.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionTests19.java index 16cdc03e427..828c2b7a949 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionTests19.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CompletionTests19.java @@ -7,10 +7,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ @@ -427,4 +423,43 @@ public void test010() throws JavaModelException { requestor.getResults()); } + //content assist ArrayStoreException fix + //https://github.com/eclipse-jdt/eclipse.jdt.core/issues/345 + public void test011() throws JavaModelException { + this.workingCopies = new ICompilationUnit[1]; + this.workingCopies[0] = getWorkingCopy( + "/Completion/src/X.java", + "@SuppressWarnings(\"preview\")" + + "public class X {\n" + + " public static void printLowerRight(Rectangle r) {\n" + + " int res = switch(r) {\n" + + " case Rectangle(ColoredPoint(Point(int x, int y), Color c),\n" + + " ColoredPoint lr) r1 -> {\n" + + " fals " + + " yield 1; \n" + + " } \n" + + " default -> 0;\n" + + " }; \n" + + " \n" + + " }\n" + + " public static void main(String[] args) {\n" + + " printLowerRight(new Rectangle(new ColoredPoint(new Point(15, 5), Color.BLUE), \n" + + " new ColoredPoint(new Point(30, 10), Color.RED)));\n" + + " }\n" + + "}\n" + + "record Point(int x, int y) {}\n" + + "enum Color { RED, GREEN, BLUE }\n" + + "record ColoredPoint(Point p, Color c) {}\n" + + "record Rectangle(ColoredPoint upperLeft, ColoredPoint lowerRight) {}" + ); + CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); + requestor.allowAllRequiredProposals(); + String str = this.workingCopies[0].getSource(); + String completeBehind = "fals"; + int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); + this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); + assertResults("false[KEYWORD]{false, null, null, false, null, 52}", + requestor.getResults()); + + } } diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugs17Tests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugs17Tests.java index b0170694370..e6ca0a45d2e 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugs17Tests.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugs17Tests.java @@ -7,10 +7,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugs19Tests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugs19Tests.java index 7d8c965d334..8b0c953ab16 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugs19Tests.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugs19Tests.java @@ -7,10 +7,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ @@ -700,6 +696,86 @@ public void testIssue215_0012() throws CoreException { javaProject.setOption(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES, old); } } + public void testIssue344_001() throws CoreException { + this.workingCopies = new ICompilationUnit[1]; + this.workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/X.java", + "public class X {\n" + + " static void print(Rectangle r) {\n" + + " if (r instanceof (Rectangle(ColoredPoint(Point(int x, int y), Color c),\n" + + " ColoredPoint lr) r11)) {\n" + + " System.out.println(\"Upper-left corner: \" + /*here*/lr);\n" + + " }\n" + + " }\n" + + " public static void main(String[] obj) {\n" + + " print(new Rectangle(new ColoredPoint(new Point(0, 0), Color.BLUE), \n" + + " new ColoredPoint(new Point(10, 15), Color.RED)));\n" + + " }\n" + + "}\n" + + "record Point(int x, int y) {}\n" + + "enum Color { RED, GREEN, BLUE }\n" + + "record ColoredPoint(Point p, Color c) {}\n" + + "record Rectangle(ColoredPoint upperLeft, ColoredPoint lowerRight) {}" + ); + IJavaProject javaProject = this.workingCopies[0].getJavaProject(); // assuming single project for all + // working copies + String old = javaProject.getOption(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES, true); + try { + javaProject.setOption(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES, JavaCore.ENABLED); + String str = this.workingCopies[0].getSource(); + String selection = "/*here*/lr"; + int start = str.indexOf(selection); + int length = selection.length(); + + IJavaElement[] elements = this.workingCopies[0].codeSelect(start, length); + ILocalVariable local = (ILocalVariable) elements[0]; + search(local, DECLARATIONS, EXACT_RULE); + assertSearchResults("src/X.java void X.print(Rectangle).lr [lr] EXACT_MATCH"); + } finally { + javaProject.setOption(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES, old); + } + } + public void testIssue344_002() throws CoreException { + this.workingCopies = new ICompilationUnit[1]; + this.workingCopies[0] = getWorkingCopy("/JavaSearchBugs/src/X.java", + "public class X {\n" + + " static void print(Rectangle r) {\n" + + "switch (r) {\n" + + "case Rectangle r1 when (r instanceof (Rectangle(ColoredPoint upperLeft2, ColoredPoint lowerRight) r2)):\n" + + " System.out.println( /*here*/upperLeft2);\n" + + " break;\n" + + " default :\n" + + " break;\n" + + " } \n" + + " }\n" + + " public static void main(String[] obj) {\n" + + " print(new Rectangle(new ColoredPoint(new Point(0, 0), Color.BLUE), \n" + + " new ColoredPoint(new Point(10, 15), Color.RED)));\n" + + " }\n" + + "}\n" + + "record Point(int x, int y) {}\n" + + "enum Color { RED, GREEN, BLUE }\n" + + "record ColoredPoint(Point p, Color c) {}\n" + + "record Rectangle(ColoredPoint upperLeft, ColoredPoint lowerRight) {}" + ); + IJavaProject javaProject = this.workingCopies[0].getJavaProject(); // assuming single project for all + // working copies + String old = javaProject.getOption(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES, true); + try { + javaProject.setOption(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES, JavaCore.ENABLED); + String str = this.workingCopies[0].getSource(); + String selection = "/*here*/upperLeft2"; + int start = str.indexOf(selection); + int length = selection.length(); + + IJavaElement[] elements = this.workingCopies[0].codeSelect(start, length); + ILocalVariable local = (ILocalVariable) elements[0]; + search(local, DECLARATIONS, EXACT_RULE); + assertSearchResults("src/X.java void X.print(Rectangle).upperLeft2 [upperLeft2] EXACT_MATCH"); + } finally { + javaProject.setOption(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES, old); + } + } + } diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingRecordPatternTest.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingRecordPatternTest.java index 002502d5911..81909d733e1 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingRecordPatternTest.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingRecordPatternTest.java @@ -6,10 +6,6 @@ * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * SPDX-License-Identifier: EPL-2.0 * * IBM Corporation - initial API and implementation diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingSwitchPatternTest.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingSwitchPatternTest.java index 8adeb3d4856..897f042f124 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingSwitchPatternTest.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingSwitchPatternTest.java @@ -6,10 +6,6 @@ * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * SPDX-License-Identifier: EPL-2.0 * * IBM Corporation - initial API and implementation diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingTest.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingTest.java index 382f4b16cfe..cfaab12fb81 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingTest.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingTest.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jdt.core.tests.rewrite.describing; diff --git a/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/Main.java b/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/Main.java index 5e62458c996..62cd86e88e4 100644 --- a/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/Main.java +++ b/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/Main.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation * Tom Tromey - Contribution for bug 125961 diff --git a/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties b/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties index 59604213d65..71b17457863 100644 --- a/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties +++ b/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties @@ -8,10 +8,6 @@ # # SPDX-License-Identifier: EPL-2.0 # -# This is an implementation of an early-draft specification developed under the Java -# Community Process (JCP) and is made available for testing and evaluation purposes -# only. The code is not compatible with any specification of the JCP. -# # Contributors: # IBM Corporation - initial API and implementation # Benjamin Muskalla - Contribution for bug 239066 diff --git a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java index e6a96645b76..0c1b5b33fe7 100644 --- a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java +++ b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. * * Contributors: * IBM Corporation - initial API and implementation @@ -4255,6 +4251,9 @@ && isIndirectlyInsideFieldInitialization()) { // enum initializers indeed need m // YieldStatement and thus not producing accurate completion, but completion doesn't have // enough information anyway about the LHS anyway. token = this.currentToken = this.getNextToken(); + if(token == TokenNameIntegerLiteral && this.previousToken == TokenNameIdentifier ) { + token = this.currentToken = this.getNextToken(); + } super.consumeToken(this.currentToken); } if (previous == TokenNameDOT) { // e.g. foo().[fred]() diff --git a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/AssistParser.java b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/AssistParser.java index 8e706cd2223..c34a2567557 100644 --- a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/AssistParser.java +++ b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/AssistParser.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/Keywords.java b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/Keywords.java index ee6305e1c62..a6f569904bb 100644 --- a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/Keywords.java +++ b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/Keywords.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * * Contributors: * IBM Corporation - initial API and implementation diff --git a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionParser.java b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionParser.java index d9a65e47853..910483408ac 100644 --- a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionParser.java +++ b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/select/SelectionParser.java @@ -53,6 +53,7 @@ import org.eclipse.jdt.internal.compiler.ast.NormalAnnotation; import org.eclipse.jdt.internal.compiler.ast.Pattern; import org.eclipse.jdt.internal.compiler.ast.QualifiedAllocationExpression; +import org.eclipse.jdt.internal.compiler.ast.RecordPattern; import org.eclipse.jdt.internal.compiler.ast.Reference; import org.eclipse.jdt.internal.compiler.ast.ReferenceExpression; import org.eclipse.jdt.internal.compiler.ast.ReturnStatement; @@ -827,6 +828,45 @@ protected void consumeInstanceOfExpression() { this.lastIgnoredToken = -1; } } +@Override +protected Expression consumePatternInsideInstanceof(Pattern pattern) { + if(pattern instanceof RecordPattern) { + pushLocalVariableFromRecordPatternOnAstStack((RecordPattern)pattern); + } + return super.consumePatternInsideInstanceof(pattern); +} + +@Override +protected void consumeCaseLabelElement(CaseLabelKind kind) { + super.consumeCaseLabelElement(kind); + switch (kind) { + case CASE_PATTERN: { + ASTNode[] ps = this.patternStack; + if (ps[0] instanceof RecordPattern) { + pushLocalVariableFromRecordPatternOnAstStack((RecordPattern) ps[0]); + } + } + break; + default: + break; + + } +} + +private void pushLocalVariableFromRecordPatternOnAstStack(RecordPattern rp) { + Pattern[] patterns = rp.patterns; + for (Pattern pattern : patterns) { + if (pattern instanceof RecordPattern) + pushLocalVariableFromRecordPatternOnAstStack((RecordPattern) pattern); + else { + LocalDeclaration patternVariable = pattern.getPatternVariable(); + if (patternVariable != null) + pushOnAstStack(patternVariable); + + } + } +} + @Override protected void consumeInstanceOfExpressionWithName() { int length = this.patternLengthPtr >= 0 ? @@ -842,7 +882,8 @@ protected void consumeInstanceOfExpressionWithName() { // filter out patternVariableIntroduced based on current selection if there is an assist node if (this.assistNode == null || (this.selectionStart <= patternVariableIntroduced.sourceStart && this.selectionEnd >= patternVariableIntroduced.sourceEnd)) { - pushOnAstStack(patternVariableIntroduced); + if(!(pattern instanceof RecordPattern)) + pushOnAstStack(patternVariableIntroduced); } } if ((this.selectionStart >= pattern.sourceStart) diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/core/compiler/IProblem.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/core/compiler/IProblem.java index 2591cc81896..4eee39e5770 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/core/compiler/IProblem.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/core/compiler/IProblem.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation * IBM Corporation - added the following constants @@ -2512,17 +2508,17 @@ public interface IProblem { * @noreference preview feature error */ int UnexpectedTypeinSwitchPattern = PreviewRelated + 1911; /** - * @since 3.31 + * @since 3.32 * @noreference preview feature */ int UnexpectedTypeinRecordPattern = PreviewRelated + 1912; /** - * @since 3.31 + * @since 3.32 * @noreference preview feature */ int RecordPatternMismatch = PreviewRelated + 1913; /** - * @since 3.31 + * @since 3.32 * @noreference preview feature */ int PatternTypeMismatch = PreviewRelated + 1914; diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ASTNode.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ASTNode.java index 2d5cb682bd2..c8d6ba877f5 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ASTNode.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ASTNode.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation * Matt McCutchen - partial fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=122995 diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/CaseStatement.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/CaseStatement.java index b00b79666b2..52295122b01 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/CaseStatement.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/CaseStatement.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/GuardedPattern.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/GuardedPattern.java index c309f5fbb4d..53933bbe852 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/GuardedPattern.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/GuardedPattern.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/InstanceOfExpression.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/InstanceOfExpression.java index e1dc648750e..0a3953e77b5 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/InstanceOfExpression.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/InstanceOfExpression.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation * Stephan Herrmann - Contribution for diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/Pattern.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/Pattern.java index 0b1325fc275..337200c443d 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/Pattern.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/Pattern.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/RecordPattern.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/RecordPattern.java index 22dbf1c177c..ae4312773ed 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/RecordPattern.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/RecordPattern.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypePattern.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypePattern.java index 2c2632f8f4a..7139e50f817 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypePattern.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypePattern.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ @@ -63,6 +59,10 @@ public void collectPatternVariablesToScope(LocalVariableBinding[] variables, Blo if (this.patternVarsWhenTrue == null) { this.patternVarsWhenTrue = new LocalVariableBinding[1]; this.patternVarsWhenTrue[0] = binding; + } else { + LocalVariableBinding[] vars = new LocalVariableBinding[1]; + vars[0] = binding; + this.addPatternVariablesWhenTrue(vars); } } } diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/classfmt/ClassFileConstants.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/classfmt/ClassFileConstants.java index 48a6566f4e6..8787c9ec252 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/classfmt/ClassFileConstants.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/classfmt/ClassFileConstants.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation * Jesper S Moller - Contributions for diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/impl/CompilerOptions.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/impl/CompilerOptions.java index 7907e612f34..7ff552ed92a 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/impl/CompilerOptions.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/impl/CompilerOptions.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation * Benjamin Muskalla - Contribution for bug 239066 diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/impl/JavaFeature.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/impl/JavaFeature.java index c55572600a6..c54d1a5d750 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/impl/JavaFeature.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/impl/JavaFeature.java @@ -7,10 +7,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.java index a1b3aeb31cc..24f19ba0aba 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation * Stephan Herrmann - Contributions for diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/JavadocTagConstants.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/JavadocTagConstants.java index 15d8c13049b..79d0efad7d7 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/JavadocTagConstants.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/JavadocTagConstants.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java index 7890452aa9d..54d65ec5dd9 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation * Tom Tromey - patch for readTable(String) as described in http://bugs.eclipse.org/bugs/show_bug.cgi?id=32196 @@ -10871,7 +10867,6 @@ protected void consumeGuard() { pushOnAstStack(gPattern); } protected void consumeTypePattern() { - //name char[] identifierName = this.identifierStack[this.identifierPtr]; long namePosition = this.identifierPositionStack[this.identifierPtr]; @@ -10951,6 +10946,7 @@ protected void consumeRecordPatternWithId() { recPattern.sourceStart = this.intStack[this.intPtr--]; local.modifiers = this.intStack[this.intPtr--]; local.declarationSourceStart = type.sourceStart; + problemReporter().validateJavaFeatureSupport(JavaFeature.RECORD_PATTERNS, type.sourceStart, local.declarationEnd); pushOnAstStack(recPattern); } protected void consumeRecordStructure() { diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/ParserBasicInformation.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/ParserBasicInformation.java index 93dcb8da318..0039d8b476e 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/ParserBasicInformation.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/ParserBasicInformation.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java index 41b8ec4dce2..38a84f5a3fc 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation * Stephan Herrmann - Contribution for bug 186342 - [compiler][null] Using annotations for null checking diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/TerminalTokens.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/TerminalTokens.java index e58d1814315..e8669c4ba9c 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/TerminalTokens.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/TerminalTokens.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index 51f84b4d37b..f945962aa0f 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation * Benjamin Muskalla - Contribution for bug 239066 diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java index 9ac0587fe61..5998a16cb28 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ @@ -423,7 +419,7 @@ public final class AST { * up to and including Java SE 18(aka JDK 18). *

* - * @since 3.31 BETA_JAVA19 + * @since 3.32 */ public static final int JLS19 = 19; /** @@ -2785,7 +2781,7 @@ public RecordDeclaration newRecordDeclaration() { * unspecified pattern variable. * * @return a new unparented type pattern node - * @since 3.31 BETA_JAVA19 + * @since 3.32 */ public RecordPattern newRecordPattern() { RecordPattern result = new RecordPattern(this); diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTConverter.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTConverter.java index 697f013bc94..51128a94915 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTConverter.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTConverter.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation * Stephan Herrmann - Contribution for diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java index 9e53aa4e6ce..bbc3d932182 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ @@ -2177,7 +2173,7 @@ && safeSubtreeListMatch(node.bodyDeclarations(), o.bodyDeclarations()) * @return true if the subtree matches, or * false if they do not match or the other object has a * different node type or is null - * @since 3.31 BETA_JAVA19 + * @since 3.32 */ public boolean match(RecordPattern node, Object other) { if (!(other instanceof RecordPattern)) { diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTNode.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTNode.java index d3d4d28c398..d000689ff96 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTNode.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTNode.java @@ -6,10 +6,6 @@ * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * SPDX-License-Identifier: EPL-2.0 * * Contributors: @@ -1067,7 +1063,7 @@ public abstract class ASTNode { * Node type constant indicating a node of type * RecordPattern. * @see RecordPattern - * @since 3.31 BETA_JAVA19 + * @since 3.32 */ public static final int RECORD_PATTERN = 113; diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTVisitor.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTVisitor.java index fe793552128..bdbf36449d5 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTVisitor.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTVisitor.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ @@ -1499,7 +1495,7 @@ public boolean visit(RecordDeclaration node) { * @return true if the children of this node should be * visited, and false if the children of this node should * be skipped - * @since 3.31 BETA_JAVA19 + * @since 3.32 */ public boolean visit(RecordPattern node) { return true; @@ -2625,7 +2621,7 @@ public void endVisit(JavaDocRegion node) { *

* * @param node the node to visit - * @since 3.31 + * @since 3.32 */ public void endVisit(JavaDocTextElement node) { // default implementation: do nothing @@ -3049,7 +3045,7 @@ public void endVisit(RecordDeclaration node) { *

* * @param node the node to visit - * @since 3.31 BETA_JAVA19 + * @since 3.31 * @noreference This method is not intended to be referenced by clients. */ public void endVisit(RecordPattern node) { diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DefaultASTVisitor.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DefaultASTVisitor.java index 02f41b69eeb..9f53c761d8e 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DefaultASTVisitor.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DefaultASTVisitor.java @@ -7,10 +7,6 @@ * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 - * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/GuardedPattern.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/GuardedPattern.java index 2452866b2fa..8bc21c625aa 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/GuardedPattern.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/GuardedPattern.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Modifier.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Modifier.java index 61e1b501961..29dc14afbbb 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Modifier.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Modifier.java @@ -112,7 +112,7 @@ public static class ModifierKeyword { */ public static final ModifierKeyword SEALED_KEYWORD = new ModifierKeyword("sealed", SEALED);//$NON-NLS-1$ /** - * @since 3.31 + * @since 3.32 * @noreference preview feature */ public static final ModifierKeyword WHEN_KEYWORD = new ModifierKeyword("when", WHEN);//$NON-NLS-1$ @@ -345,7 +345,7 @@ public String toString() { /** * "when" modifier constant (bit mask). * Applicable only to types. - * @since 3.31 + * @since 3.32 * @noreference preview feature */ public static final int WHEN = 0x2000; diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/NullPattern.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/NullPattern.java index 57838c0354d..2beed6898c8 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/NullPattern.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/NullPattern.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Pattern.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Pattern.java index 0020843117f..a19f2bc3e08 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Pattern.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Pattern.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/RecordPattern.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/RecordPattern.java index f0b5406c66d..4e4a626027a 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/RecordPattern.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/RecordPattern.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ @@ -30,7 +26,7 @@ * Pattern> Type SimpleName * * - * @since 3.31 BETA_JAVA19 + * @since 3.31 * @noinstantiate This class is not intended to be instantiated by clients. * @noreference This class is not intended to be referenced by clients. */ diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypePattern.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypePattern.java index fb758400360..374c411c097 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypePattern.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypePattern.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/NaiveASTFlattener.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/NaiveASTFlattener.java index 1de31b3daec..471d8821cb1 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/NaiveASTFlattener.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/NaiveASTFlattener.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.java index a7e72174ac4..8204b81abc4 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.java @@ -7,9 +7,6 @@ * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. * * Contributors: * IBM Corporation - initial API and implementation diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFlattener.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFlattener.java index 76a2df54450..13ab775d627 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFlattener.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFlattener.java @@ -6,10 +6,6 @@ * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * SPDX-License-Identifier: EPL-2.0 * Contributors: * IBM Corporation - initial API and implementation diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/util/DOMASTUtil.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/util/DOMASTUtil.java index 4ebb03cb7dd..18159cbdfae 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/util/DOMASTUtil.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/util/DOMASTUtil.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ diff --git a/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/SpacePreparator.java b/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/SpacePreparator.java index c190e3074ea..c77b78821e5 100644 --- a/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/SpacePreparator.java +++ b/org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/SpacePreparator.java @@ -462,8 +462,7 @@ public boolean visit(SwitchCase node) { @Override public boolean visit(GuardedPattern node) { - handleTokenAfter(node.getPattern(), TokenNameRestrictedIdentifierWhen, this.options.insert_space_before_logical_operator, - this.options.insert_space_after_logical_operator); + handleTokenAfter(node.getPattern(), TokenNameRestrictedIdentifierWhen, true, true); return true; } diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java index c8ed621a06e..4fcdbc92a1e 100644 --- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java +++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation * IBM Corporation - added the following constants: @@ -3161,7 +3157,7 @@ public final class JavaCore extends Plugin { public static final String VERSION_18 = "18"; //$NON-NLS-1$ /** * Configurable option value: {@value}. - * @since 3.31 BETA_JAVA19 + * @since 3.32 * @category OptionValue */ public static final String VERSION_19 = "19"; //$NON-NLS-1$ diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/compiler/ITerminalSymbols.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/compiler/ITerminalSymbols.java index b4e5aa5473d..b52713d1b0c 100644 --- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/compiler/ITerminalSymbols.java +++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/compiler/ITerminalSymbols.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ @@ -215,6 +211,6 @@ public interface ITerminalSymbols { /** @since 3.30 */ int TokenNamenon_sealed = 414; - /** @since 3.31 BETA_JAVA19 */ + /** @since 3.32 */ int TokenNameRestrictedIdentifierWhen = 415; } diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/PublicScanner.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/PublicScanner.java index b24a4e2bb37..4fd1d429afc 100644 --- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/PublicScanner.java +++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/PublicScanner.java @@ -8,10 +8,6 @@ * * SPDX-License-Identifier: EPL-2.0 * - * This is an implementation of an early-draft specification developed under the Java - * Community Process (JCP) and is made available for testing and evaluation purposes - * only. The code is not compatible with any specification of the JCP. - * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/