diff options
author | Manoj Palat | 2019-08-26 06:40:33 +0000 |
---|---|---|
committer | Manoj Palat | 2019-08-26 06:40:33 +0000 |
commit | bd5becc56be4773536ab7c944c24a558e872f625 (patch) | |
tree | d8db1d5fa82e47f2f23d96c741d1719054bc8001 | |
parent | e948eefba4e2a719f15c7247e8d912766617dc1e (diff) | |
download | eclipse.jdt.core-bd5becc56be4773536ab7c944c24a558e872f625.tar.gz eclipse.jdt.core-bd5becc56be4773536ab7c944c24a558e872f625.tar.xz eclipse.jdt.core-bd5becc56be4773536ab7c944c24a558e872f625.zip |
error
Change-Id: I56306f1a2bc8a40909cf4f7987783b847f8bb3b8
Signed-off-by: Manoj Palat <manpalat@in.ibm.com>
2 files changed, 22 insertions, 2 deletions
diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchExpressionsYieldTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchExpressionsYieldTest.java index 9c5e8c910b..756679da50 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchExpressionsYieldTest.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchExpressionsYieldTest.java @@ -29,7 +29,7 @@ public class SwitchExpressionsYieldTest extends AbstractRegressionTest { static { // TESTS_NUMBERS = new int [] { 40 }; // TESTS_RANGE = new int[] { 1, -1 }; -// TESTS_NAMES = new String[] { "testBug544073_012" }; +// TESTS_NAMES = new String[] { "testBug550354_01" }; } public static Class<?> testClass() { @@ -3352,4 +3352,24 @@ public class SwitchExpressionsYieldTest extends AbstractRegressionTest { }, "300"); } + public void testBug550354_01() { + runConformTest( + new String[] { + "X.java", + "public class X {\n"+ + " @SuppressWarnings({ \"preview\" })\n"+ + " public static int foo(int i) throws Exception {\n"+ + " int v = switch (i) {\n"+ + " default -> {if (i > 0) yield 1;\n"+ + " else yield 2;}\n"+ + " };\n"+ + " return v;\n"+ + " }\n"+ + " public static void main(String argv[]) throws Exception {\n"+ + " System.out.println(X.foo(1));\n"+ + " }\n"+ + "}" + }, + "1"); + } }
\ No newline at end of file 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 8ee60c6e06..2b56fe072d 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 @@ -5019,7 +5019,7 @@ private boolean mayBeAtAnYieldStatement() { switch (this.lookBack[1]) { case TokenNameLBRACE: case TokenNameRBRACE: - case TokenNameRBRACKET: + case TokenNameRPAREN: case TokenNameSEMICOLON: case TokenNameelse: return true; |