Index: src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java =================================================================== RCS file: /home/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java,v retrieving revision 1.17 diff -u -r1.17 BatchCompilerTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java 1 Jun 2005 09:06:31 -0000 1.17 +++ src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java 1 Jun 2005 17:36:15 -0000 @@ -1562,6 +1562,218 @@ "incorrect classpath: dummy\n", false); } +// NullPointerException encountered while running Java Builder - https://bugs.eclipse.org/bugs/show_bug.cgi?id=97108 +// The case that works +public void _test034(){ + this.runConformTest( + new String[] { + "X.java", + "import java.util.ArrayList;\n" + + "import java.util.HashMap;\n" + + "import java.util.List;\n" + + "import java.util.Map;\n" + + "\n" + + "public class X {\n" + + " static private Map m1 = new HashMap();\n" + + " private List> m2 = new ArrayList>();\n" + + " static protected XX foo()\n" + + " {\n" + + " return null;\n" + + " }\n" + + " static public abstract class XX\n" + + " {\n" + + " }\n" + + "}\n", + }, + "\"" + OUTPUT_DIR + File.separator + "X.java\"" + + " -1.5 -g -preserveAllLocals" + + " -proceedOnError -referenceInfo" + + " -d \"" + OUTPUT_DIR + "\"", + "", + "", + true); + this.runConformTest( + new String[] { + "Y.java", + "public class Y extends X \n" + + "{ \n" + + "}\n" + }, + "\"" + OUTPUT_DIR + File.separator + "Y.java\"" + + " -1.5 -g -preserveAllLocals" + + " -cp \"" + OUTPUT_DIR + File.separator + "\"" + + " -proceedOnError -referenceInfo" + + " -d \"" + OUTPUT_DIR + "\"", + "", + "", + false); +} +// NullPointerException encountered while running Java Builder - https://bugs.eclipse.org/bugs/show_bug.cgi?id=97108 +// The case that fails +public void _test035(){ + this.runConformTest( + new String[] { + "X.java", + "import java.util.ArrayList;\n" + + "import java.util.HashMap;\n" + + "import java.util.List;\n" + + "import java.util.Map;\n" + + "\n" + + "public class X {\n" + + " static private Map m1 = new HashMap();\n" + + " private List m2 = new ArrayList();\n" + + " static protected XX foo()\n" + + " {\n" + + " return null;\n" + + " }\n" + + " static public abstract class XX\n" + + " {\n" + + " }\n" + + "}\n", + }, + "\"" + OUTPUT_DIR + File.separator + "X.java\"" + + " -1.5 -g -preserveAllLocals" + + " -proceedOnError -referenceInfo" + + " -d \"" + OUTPUT_DIR + "\"", + "", + "", + true); + this.runConformTest( + new String[] { + "Y.java", + "public class Y extends X \n" + + "{ \n" + + "}\n" + }, + "\"" + OUTPUT_DIR + File.separator + "Y.java\"" + + " -1.5 -g -preserveAllLocals" + + " -cp \"" + OUTPUT_DIR + File.separator + "\"" + + " -proceedOnError -referenceInfo" + + " -d \"" + OUTPUT_DIR + "\"", + "", + "", + false); +} +// NullPointerException encountered while running Java Builder - https://bugs.eclipse.org/bugs/show_bug.cgi?id=97108 +// Minimizing the test case +public void _test036(){ + this.runConformTest( + new String[] { + "X.java", + "import java.util.HashMap;\n" + + "import java.util.Map;\n" + + "\n" + + "public class X {\n" + + " static private Map m1 = new HashMap();\n" + + " static protected XX foo()\n" + + " {\n" + + " return null;\n" + + " }\n" + + " static public abstract class XX\n" + + " {\n" + + " }\n" + + "}\n", + }, + "\"" + OUTPUT_DIR + File.separator + "X.java\"" + + " -1.5 -g -preserveAllLocals" + + " -proceedOnError -referenceInfo" + + " -d \"" + OUTPUT_DIR + "\"", + "", + "", + true); + this.runConformTest( + new String[] { + "Y.java", + "public class Y extends X \n" + + "{ \n" + + "}\n" + }, + "\"" + OUTPUT_DIR + File.separator + "Y.java\"" + + " -1.5 -g -preserveAllLocals" + + " -cp \"" + OUTPUT_DIR + File.separator + "\"" + + " -proceedOnError -referenceInfo" + + " -d \"" + OUTPUT_DIR + "\"", + "", + "", + false); + this.runConformTest( + new String[] { + "X.java", + "import java.util.ArrayList;\n" + + "import java.util.List;\n" + + "\n" + + "public class X {\n" + + " private List m2 = new ArrayList();\n" + + " static protected XX foo()\n" + + " {\n" + + " return null;\n" + + " }\n" + + " static public abstract class XX\n" + + " {\n" + + " }\n" + + "}\n", + }, + "\"" + OUTPUT_DIR + File.separator + "X.java\"" + + " -1.5 -g -preserveAllLocals" + + " -proceedOnError -referenceInfo" + + " -d \"" + OUTPUT_DIR + "\"", + "", + "", + true); + this.runConformTest( + new String[] { + "Y.java", + "public class Y extends X \n" + + "{ \n" + + "}\n" + }, + "\"" + OUTPUT_DIR + File.separator + "Y.java\"" + + " -1.5 -g -preserveAllLocals" + + " -cp \"" + OUTPUT_DIR + File.separator + "\"" + + " -proceedOnError -referenceInfo" + + " -d \"" + OUTPUT_DIR + "\"", + "", + "", + false); + this.runConformTest( + new String[] { + "X.java", + "import java.util.ArrayList;\n" + + "import java.util.HashMap;\n" + + "import java.util.List;\n" + + "import java.util.Map;\n" + + "\n" + + "public class X {\n" + + " static private Map m1 = new HashMap();\n" + + " private List m2 = new ArrayList();\n" + + " static public abstract class XX\n" + + " {\n" + + " }\n" + + "}\n", + }, + "\"" + OUTPUT_DIR + File.separator + "X.java\"" + + " -1.5 -g -preserveAllLocals" + + " -proceedOnError -referenceInfo" + + " -d \"" + OUTPUT_DIR + "\"", + "", + "", + true); + this.runConformTest( + new String[] { + "Y.java", + "public class Y extends X \n" + + "{ \n" + + "}\n" + }, + "\"" + OUTPUT_DIR + File.separator + "Y.java\"" + + " -1.5 -g -preserveAllLocals" + + " -cp \"" + OUTPUT_DIR + File.separator + "\"" + + " -proceedOnError -referenceInfo" + + " -d \"" + OUTPUT_DIR + "\"", + "", + "", + false); +} public static Class testClass() { return BatchCompilerTest.class; }