Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Herrmann2019-07-29 08:15:31 +0000
committerStephan Herrmann2019-07-29 08:15:31 +0000
commitde94bf3e02a331d5abf69c0fbc4855e04f919774 (patch)
tree77bff8e2f36427369e79202c251687dcd22a71f6
parentc8ff21d2be3ee19db7fdae6e829af0fb1504a7fb (diff)
downloadeclipse.jdt.core-de94bf3e02a331d5abf69c0fbc4855e04f919774.tar.gz
eclipse.jdt.core-de94bf3e02a331d5abf69c0fbc4855e04f919774.tar.xz
eclipse.jdt.core-de94bf3e02a331d5abf69c0fbc4855e04f919774.zip
Bug 513766 - [1.8][inference] Compiler error when autoboxing type
inferrring expression in if clause - document javac bug Change-Id: I9045f71946856357e10545dc20cc0d1294a8286f
-rw-r--r--org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java15
-rw-r--r--org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchExpressionTest.java14
2 files changed, 23 insertions, 6 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 2ae9cb37d6..21bb80d7d4 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
@@ -945,7 +945,9 @@ protected static class JavacTestOptions {
JavacBug6337964 = RUN_JAVAC ? // https://bugs.eclipse.org/bugs/show_bug.cgi?id=112433
new JavacHasABug(MismatchType.JavacErrorsEclipseNone, ClassFileConstants.JDK1_6, 1045/*guessed*/, true) : null,
JavacBug8144832 = RUN_JAVAC ? // https://bugs.openjdk.java.net/browse/JDK-8144832
- new JavacHasABug(MismatchType.JavacErrorsEclipseNone, ClassFileConstants.JDK9, 0000) : null;
+ 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;
// bugs that have been fixed but that we've not identified
public static JavacHasABug
@@ -979,6 +981,17 @@ protected static class JavacTestOptions {
}
}: null;
}
+ public static class JavacBug8179483 extends JavacHasABug {
+ String extraJavacOptions;
+ public JavacBug8179483(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 052e3e905b..7ef1d2e729 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
@@ -14,6 +14,7 @@ package org.eclipse.jdt.core.tests.compiler.regression;
import java.util.Map;
+import org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.JavacTestOptions.JavacHasABug;
import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
@@ -2143,8 +2144,8 @@ public class SwitchExpressionTest extends AbstractRegressionTest {
}
// see comment 12 in the bug
public void testBug513766_01() {
- this.runNegativeTest(
- new String[] {
+ Runner runner = new Runner();
+ runner.testFiles = new String[] {
"X.java",
"public class X {\n"+
" @SuppressWarnings(\"preview\")\n"+
@@ -2155,8 +2156,8 @@ public class SwitchExpressionTest extends AbstractRegressionTest {
" System.out.println(\"true, too\");\n"+
" }\n"+
" <T> T magic() { return null; }\n"+
- "}\n",
- },
+ "}\n"};
+ runner.expectedCompilerLog =
"----------\n" +
"1. ERROR in X.java (at line 4)\n" +
" if (switch(i) { default -> magic(); })\n" +
@@ -2167,7 +2168,10 @@ public class SwitchExpressionTest extends AbstractRegressionTest {
" if (magic())\n" +
" ^^^^^^^\n" +
"Type mismatch: cannot convert from Object to boolean\n" +
- "----------\n");
+ "----------\n";
+ runner.vmArguments = new String[] {"--enable-preview"};
+ runner.javacTestOptions = JavacHasABug.JavacBug8179483_switchExpression;
+ runner.runNegativeTest();
}
public void testBug545333() {
runNegativeTest(

Back to the top