View | Details | Raw Unified | Return to bug 97108
Collapse All | Expand All

(-)src/org/eclipse/jdt/core/tests/compiler/regression/BatchCompilerTest.java (+212 lines)
Lines 1562-1567 Link Here
1562
		        "incorrect classpath: dummy\n",
1562
		        "incorrect classpath: dummy\n",
1563
		        false);
1563
		        false);
1564
		}
1564
		}
1565
// NullPointerException encountered while running Java Builder - https://bugs.eclipse.org/bugs/show_bug.cgi?id=97108
1566
// The case that works
1567
public void _test034(){
1568
	this.runConformTest(
1569
		new String[] {
1570
			"X.java",
1571
			"import java.util.ArrayList;\n" + 
1572
			"import java.util.HashMap;\n" + 
1573
			"import java.util.List;\n" + 
1574
			"import java.util.Map;\n" + 
1575
			"\n" + 
1576
			"public class X<T> {\n" + 
1577
			"	static private Map<String, XX> m1 = new HashMap<String, XX>();\n" + 
1578
			"	private List<XX<T>> m2 = new ArrayList<XX<T>>();\n" + 
1579
			"	static protected XX foo()\n" + 
1580
			"	{\n" + 
1581
			"		return null;\n" + 
1582
			"	}\n" + 
1583
			"	static public abstract class XX<TT>\n" + 
1584
			"	{\n" + 
1585
			"	}\n" + 
1586
			"}\n",
1587
		},
1588
        "\"" + OUTPUT_DIR +  File.separator + "X.java\""
1589
        + " -1.5 -g -preserveAllLocals"
1590
        + " -proceedOnError -referenceInfo" 
1591
        + " -d \"" + OUTPUT_DIR + "\"",
1592
        "",
1593
        "",
1594
        true);
1595
	this.runConformTest(
1596
		new String[] {
1597
			"Y.java",
1598
			"public class Y extends X<Object>  \n" + 
1599
			"{        \n" + 
1600
			"}\n"
1601
		},
1602
        "\"" + OUTPUT_DIR +  File.separator + "Y.java\""
1603
        + " -1.5 -g -preserveAllLocals"
1604
        + " -cp \"" + OUTPUT_DIR + File.separator + "\""
1605
        + " -proceedOnError -referenceInfo"
1606
        + " -d \"" + OUTPUT_DIR + "\"",
1607
        "",
1608
        "",
1609
        false);
1610
}
1611
// NullPointerException encountered while running Java Builder - https://bugs.eclipse.org/bugs/show_bug.cgi?id=97108
1612
// The case that fails
1613
public void _test035(){
1614
	this.runConformTest(
1615
		new String[] {
1616
			"X.java",
1617
			"import java.util.ArrayList;\n" + 
1618
			"import java.util.HashMap;\n" + 
1619
			"import java.util.List;\n" + 
1620
			"import java.util.Map;\n" + 
1621
			"\n" + 
1622
			"public class X<T> {\n" + 
1623
			"	static private Map<String, XX> m1 = new HashMap<String, XX>();\n" + 
1624
			"	private List<XX> m2 = new ArrayList<XX>();\n" + 
1625
			"	static protected XX foo()\n" + 
1626
			"	{\n" + 
1627
			"		return null;\n" + 
1628
			"	}\n" + 
1629
			"	static public abstract class XX<TT>\n" + 
1630
			"	{\n" + 
1631
			"	}\n" + 
1632
			"}\n",
1633
		},
1634
	    "\"" + OUTPUT_DIR +  File.separator + "X.java\""
1635
	    + " -1.5 -g -preserveAllLocals"
1636
	    + " -proceedOnError -referenceInfo" 
1637
	    + " -d \"" + OUTPUT_DIR + "\"",
1638
	    "",
1639
	    "",
1640
	    true);
1641
	this.runConformTest(
1642
		new String[] {
1643
			"Y.java",
1644
			"public class Y extends X<Object>  \n" + 
1645
			"{        \n" + 
1646
			"}\n"
1647
		},
1648
		"\"" + OUTPUT_DIR +  File.separator + "Y.java\""
1649
		+ " -1.5 -g -preserveAllLocals"
1650
		+ " -cp \"" + OUTPUT_DIR + File.separator + "\""
1651
		+ " -proceedOnError -referenceInfo"
1652
		+ " -d \"" + OUTPUT_DIR + "\"",
1653
		"",
1654
		"",
1655
		false);
1656
}
1657
// NullPointerException encountered while running Java Builder - https://bugs.eclipse.org/bugs/show_bug.cgi?id=97108
1658
// Minimizing the test case
1659
public void _test036(){
1660
	this.runConformTest(
1661
		new String[] {
1662
			"X.java",
1663
			"import java.util.HashMap;\n" + 
1664
			"import java.util.Map;\n" + 
1665
			"\n" + 
1666
			"public class X<T> {\n" + 
1667
			"	static private Map<String, XX> m1 = new HashMap<String, XX>();\n" + 
1668
			"	static protected XX foo()\n" + 
1669
			"	{\n" + 
1670
			"		return null;\n" + 
1671
			"	}\n" + 
1672
			"	static public abstract class XX<TT>\n" + 
1673
			"	{\n" + 
1674
			"	}\n" + 
1675
			"}\n",
1676
		},
1677
		"\"" + OUTPUT_DIR +  File.separator + "X.java\""
1678
		+ " -1.5 -g -preserveAllLocals"
1679
		+ " -proceedOnError -referenceInfo" 
1680
		+ " -d \"" + OUTPUT_DIR + "\"",
1681
		"",
1682
		"",
1683
		true);
1684
	this.runConformTest(
1685
		new String[] {
1686
			"Y.java",
1687
			"public class Y extends X<Object>  \n" + 
1688
			"{        \n" + 
1689
			"}\n"
1690
		},
1691
		"\"" + OUTPUT_DIR +  File.separator + "Y.java\""
1692
		+ " -1.5 -g -preserveAllLocals"
1693
		+ " -cp \"" + OUTPUT_DIR + File.separator + "\""
1694
		+ " -proceedOnError -referenceInfo"
1695
		+ " -d \"" + OUTPUT_DIR + "\"",
1696
		"",
1697
		"",
1698
		false);
1699
	this.runConformTest(
1700
		new String[] {
1701
			"X.java",
1702
			"import java.util.ArrayList;\n" + 
1703
			"import java.util.List;\n" + 
1704
			"\n" + 
1705
			"public class X<T> {\n" + 
1706
			"	private List<XX> m2 = new ArrayList<XX>();\n" + 
1707
			"	static protected XX foo()\n" + 
1708
			"	{\n" + 
1709
			"		return null;\n" + 
1710
			"	}\n" + 
1711
			"	static public abstract class XX<TT>\n" + 
1712
			"	{\n" + 
1713
			"	}\n" + 
1714
			"}\n",
1715
		},
1716
	    "\"" + OUTPUT_DIR +  File.separator + "X.java\""
1717
	    + " -1.5 -g -preserveAllLocals"
1718
	    + " -proceedOnError -referenceInfo" 
1719
	    + " -d \"" + OUTPUT_DIR + "\"",
1720
	    "",
1721
	    "",
1722
	    true);
1723
	this.runConformTest(
1724
		new String[] {
1725
			"Y.java",
1726
			"public class Y extends X<Object>  \n" + 
1727
			"{        \n" + 
1728
			"}\n"
1729
		},
1730
	    "\"" + OUTPUT_DIR +  File.separator + "Y.java\""
1731
	    + " -1.5 -g -preserveAllLocals"
1732
	    + " -cp \"" + OUTPUT_DIR + File.separator + "\""
1733
	    + " -proceedOnError -referenceInfo"
1734
	    + " -d \"" + OUTPUT_DIR + "\"",
1735
	    "",
1736
	    "",
1737
	    false);
1738
	this.runConformTest(
1739
		new String[] {
1740
			"X.java",
1741
			"import java.util.ArrayList;\n" + 
1742
			"import java.util.HashMap;\n" + 
1743
			"import java.util.List;\n" + 
1744
			"import java.util.Map;\n" + 
1745
			"\n" + 
1746
			"public class X<T> {\n" + 
1747
			"	static private Map<String, XX> m1 = new HashMap<String, XX>();\n" + 
1748
			"	private List<XX> m2 = new ArrayList<XX>();\n" + 
1749
			"	static public abstract class XX<TT>\n" + 
1750
			"	{\n" + 
1751
			"	}\n" + 
1752
			"}\n",
1753
		},
1754
	    "\"" + OUTPUT_DIR +  File.separator + "X.java\""
1755
	    + " -1.5 -g -preserveAllLocals"
1756
	    + " -proceedOnError -referenceInfo" 
1757
	    + " -d \"" + OUTPUT_DIR + "\"",
1758
	    "",
1759
	    "",
1760
	    true);
1761
	this.runConformTest(
1762
		new String[] {
1763
			"Y.java",
1764
			"public class Y extends X<Object>  \n" + 
1765
			"{        \n" + 
1766
			"}\n"
1767
		},
1768
	    "\"" + OUTPUT_DIR +  File.separator + "Y.java\""
1769
	    + " -1.5 -g -preserveAllLocals"
1770
	    + " -cp \"" + OUTPUT_DIR + File.separator + "\""
1771
	    + " -proceedOnError -referenceInfo"
1772
	    + " -d \"" + OUTPUT_DIR + "\"",
1773
	    "",
1774
	    "",
1775
	    false);
1776
}
1565
public static Class testClass() {
1777
public static Class testClass() {
1566
	return BatchCompilerTest.class;
1778
	return BatchCompilerTest.class;
1567
}
1779
}

Return to bug 97108