diff options
author | Manoj Palat | 2019-08-14 05:09:00 +0000 |
---|---|---|
committer | Manoj Palat | 2019-08-14 05:09:00 +0000 |
commit | bed796f498b19027a8ec3a769f0d1da3ce0c4807 (patch) | |
tree | d8087f55ec75bd21c2604109595f426d5f121454 | |
parent | d1d3567f4ed7e45c044f9e85fb8b308bbc481660 (diff) | |
download | eclipse.jdt.core-bed796f498b19027a8ec3a769f0d1da3ce0c4807.tar.gz eclipse.jdt.core-bed796f498b19027a8ec3a769f0d1da3ce0c4807.tar.xz eclipse.jdt.core-bed796f498b19027a8ec3a769f0d1da3ce0c4807.zip |
cases of an enum is enough to be exhaustive - comment 30
Change-Id: I767fee5e60f9bcc9357d307fc94f0c85d3fb543a
Signed-off-by: Manoj Palat <manpalat@in.ibm.com>
2 files changed, 58 insertions, 25 deletions
diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java index 21bb80d7d4..31f5fb6c72 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java @@ -947,7 +947,11 @@ protected static class JavacTestOptions { JavacBug8144832 = RUN_JAVAC ? // https://bugs.openjdk.java.net/browse/JDK-8144832 new JavacHasABug(MismatchType.JavacErrorsEclipseNone, ClassFileConstants.JDK9, 0000) : null, JavacBug8179483_switchExpression = RUN_JAVAC ? // https://bugs.openjdk.java.net/browse/JDK-8179483 - new JavacBug8179483(" --release 12 --enable-preview -Xlint:-preview") : null; + new JavacBug8179483(" --release 12 --enable-preview -Xlint:-preview") : null, + JavacBug8221413_switchExpression = RUN_JAVAC ? // https://bugs.openjdk.java.net/browse/JDK-8221413 + new JavacBug8221413(" --release 12 --enable-preview -Xlint:-preview") : null, + JavacBug8226510_switchExpression = RUN_JAVAC ? // https://bugs.openjdk.java.net/browse/JDK-8226510 + new JavacBug8226510(" --release 12 --enable-preview -Xlint:-preview") : null; // bugs that have been fixed but that we've not identified public static JavacHasABug @@ -992,6 +996,28 @@ protected static class JavacTestOptions { return super.getCompilerOptions() + this.extraJavacOptions; } } + public static class JavacBug8221413 extends JavacHasABug { + String extraJavacOptions; + public JavacBug8221413(String extraJavacOptions) { + super(MismatchType.JavacErrorsEclipseNone); + this.extraJavacOptions = extraJavacOptions; + } + @Override + String getCompilerOptions() { + return super.getCompilerOptions() + this.extraJavacOptions; + } + } + public static class JavacBug8226510 extends JavacHasABug { + String extraJavacOptions; + public JavacBug8226510(String extraJavacOptions) { + super(MismatchType.EclipseErrorsJavacWarnings); + this.extraJavacOptions = extraJavacOptions; + } + @Override + String getCompilerOptions() { + return super.getCompilerOptions() + this.extraJavacOptions; + } + } } // PREMATURE: Logger helps us monitor processes outputs (standard and error); diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchExpressionTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchExpressionTest.java index 7ef1d2e729..adace073f9 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchExpressionTest.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchExpressionTest.java @@ -2174,8 +2174,8 @@ public class SwitchExpressionTest extends AbstractRegressionTest { runner.runNegativeTest(); } public void testBug545333() { - runNegativeTest( - new String[] { + Runner runner = new Runner(); + runner.testFiles = new String[] { "X.java", "public class X {\n"+ " @SuppressWarnings(\"preview\")\n"+ @@ -2196,7 +2196,8 @@ public class SwitchExpressionTest extends AbstractRegressionTest { "class MyException extends Exception {\n"+ " private static final long serialVersionUID = 3461899582505930473L; \n"+ "}\n" - }, + }; + runner.expectedCompilerLog = "----------\n" + "1. ERROR in X.java (at line 4)\n" + " int v = switch (i) {\n" + @@ -2204,7 +2205,10 @@ public class SwitchExpressionTest extends AbstractRegressionTest { " };\n" + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + "A switch expression should have at least one result expression\n" + - "----------\n"); + "----------\n"; + runner.vmArguments = new String[] {"--enable-preview"}; + runner.javacTestOptions = JavacHasABug.JavacBug8226510_switchExpression; + runner.runNegativeTest(); } public void testBug545518() { if (this.complianceLevel < ClassFileConstants.JDK12) @@ -2319,26 +2323,29 @@ public class SwitchExpressionTest extends AbstractRegressionTest { }, "5"); } - public void testBug545916_01() { - runConformTest( - new String[] { - "X.java", - "enum X {\n"+ - " A, B;\n"+ - " \n"+ - " @SuppressWarnings(\"preview\")\n"+ - " public static void main(String[] args) {\n"+ - " X myEnum = X.A;\n"+ - " int o;\n"+ - " var f = switch(myEnum) {\n"+ - " case A -> o = 5;\n"+ - " case B -> o = 10;\n"+ - " };\n"+ - " System.out.println(o);\n"+ - " }\n"+ - "} \n" - }, - "5"); + public void testBug545716_01() { + Runner runner = new Runner(); + runner.testFiles = new String[] { + "X.java", + "enum X {\n"+ + " A, B;\n"+ + " \n"+ + " @SuppressWarnings(\"preview\")\n"+ + " public static void main(String[] args) {\n"+ + " X myEnum = X.A;\n"+ + " int o;\n"+ + " var f = switch(myEnum) {\n"+ + " case A -> o = 5;\n"+ + " case B -> o = 10;\n"+ + " };\n"+ + " System.out.println(o);\n"+ + " }\n"+ + "} \n" + }; + runner.expectedOutputString = "5"; + runner.vmArguments = new String[] {"--enable-preview"}; + runner.javacTestOptions = JavacHasABug.JavacBug8221413_switchExpression; + runner.runConformTest(); } public void testBug545983_01() { this.runNegativeTest( |