Test for bug 452780 - Internal compiler error: arrayIndexOutOfBounds
diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/NullAnnotationTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/NullAnnotationTest.java
index 264abd2..36bb5fa 100644
--- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/NullAnnotationTest.java
+++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/NullAnnotationTest.java
@@ -7436,4 +7436,36 @@
getCompilerOptions(),
"");
}
+// https://bugs.eclipse.org/bugs/show_bug.cgi?id=452780 - Internal compiler error: arrayIndexOutOfBounds
+public void testBug452780() {
+ if (this.complianceLevel < ClassFileConstants.JDK1_8) return;
+ runConformTestWithLibs(
+ new String[] {
+ "Tools2.java",
+ "import java.util.Arrays;\n" +
+ "import java.util.List;\n" +
+ "import java.util.Set;\n" +
+ "import java.util.stream.Collector;\n" +
+ "import java.util.stream.Collectors;\n" +
+ "import org.eclipse.jdt.annotation.NonNull;\n" +
+ "public class Tools2 {\n" +
+ " @SafeVarargs\n" +
+ " public static <T> List<@NonNull T> asList(T... ts) {\n" +
+ " @SuppressWarnings(\"null\")\n" +
+ " @NonNull\n" +
+ " List<@NonNull T> res = Arrays.asList(ts);\n" +
+ " return res;\n" +
+ " }\n" +
+ " @SuppressWarnings(\"null\")\n" +
+ " public static <T> Collector<@NonNull T, @NonNull ?, @NonNull Set<@NonNull T>> toSet() {\n" +
+ " @NonNull\n" +
+ " Collector<@NonNull T, ?, @NonNull Set<@NonNull T>> res = Collectors\n" +
+ " .toSet();\n" +
+ " return res;\n" +
+ " }\n" +
+ "}"
+ },
+ getCompilerOptions(),
+ "");
+}
}