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

(-)src/org/eclipse/jdt/core/tests/compiler/regression/MethodVerifyTest.java (-9 / +43 lines)
Lines 1021-1027 Link Here
1021
				"class A<T> {}\n" 
1021
				"class A<T> {}\n" 
1022
			},
1022
			},
1023
			"----------\n" + 
1023
			"----------\n" + 
1024
			"1. ERROR in X.java (at line 2)\n" + 
1024
			"1. WARNING in X.java (at line 1)\n" + 
1025
			"	class X { void foo(A[] a) {} }\n" + 
1026
			"	                   ^\n" + 
1027
			"A is a raw type. References to generic type A<T> should be parameterized\n" + 
1028
			"----------\n" + 
1029
			"2. ERROR in X.java (at line 2)\n" + 
1025
			"	class Y extends X { void foo(A<String>[] a) {} }\n" + 
1030
			"	class Y extends X { void foo(A<String>[] a) {} }\n" + 
1026
			"	                         ^^^^^^^^^^^^^^^^^^\n" + 
1031
			"	                         ^^^^^^^^^^^^^^^^^^\n" + 
1027
			"Name clash: The method foo(A<String>[]) of type Y has the same erasure as foo(A[]) of type X but does not override it\n" + 
1032
			"Name clash: The method foo(A<String>[]) of type Y has the same erasure as foo(A[]) of type X but does not override it\n" + 
Lines 1101-1110 Link Here
1101
				"class A<T> {}\n" 
1106
				"class A<T> {}\n" 
1102
			},
1107
			},
1103
			"----------\n" + 
1108
			"----------\n" + 
1104
			"1. ERROR in X.java (at line 1)\r\n" + 
1109
			"1. ERROR in X.java (at line 1)\n" + 
1105
			"	abstract class X extends Y implements I { }\r\n" + 
1110
			"	abstract class X extends Y implements I { }\n" + 
1106
			"	               ^\n" + 
1111
			"	               ^\n" + 
1107
			"Name clash: The method foo(A<String>[]) of type Y has the same erasure as foo(A[]) of type I but does not override it\n" + 
1112
			"Name clash: The method foo(A<String>[]) of type Y has the same erasure as foo(A[]) of type I but does not override it\n" + 
1113
			"----------\n" + 
1114
			"2. WARNING in X.java (at line 2)\n" + 
1115
			"	interface I { void foo(A[] a); }\n" + 
1116
			"	                       ^\n" + 
1117
			"A is a raw type. References to generic type A<T> should be parameterized\n" + 
1108
			"----------\n"
1118
			"----------\n"
1109
			// name clash: foo(A<java.lang.String>[]) in Y and foo(A[]) in I have the same erasure, yet neither overrides the other
1119
			// name clash: foo(A<java.lang.String>[]) in Y and foo(A[]) in I have the same erasure, yet neither overrides the other
1110
		);
1120
		);
Lines 1553-1558 Link Here
1553
			"	abstract class Z implements X { public abstract X[] x(); }\n" + 
1563
			"	abstract class Z implements X { public abstract X[] x(); }\n" + 
1554
			"	                            ^\n" + 
1564
			"	                            ^\n" + 
1555
			"X is a raw type. References to generic type X<T> should be parameterized\n" + 
1565
			"X is a raw type. References to generic type X<T> should be parameterized\n" + 
1566
			"----------\n" + 
1567
			"4. WARNING in X.java (at line 3)\n" + 
1568
			"	abstract class Z implements X { public abstract X[] x(); }\n" + 
1569
			"	                                                ^\n" + 
1570
			"X is a raw type. References to generic type X<T> should be parameterized\n" + 
1556
			"----------\n"
1571
			"----------\n"
1557
		);
1572
		);
1558
	}
1573
	}
Lines 2430-2442 Link Here
2430
			"----------\n" + 
2445
			"----------\n" + 
2431
			"1. WARNING in X.java (at line 2)\n" + 
2446
			"1. WARNING in X.java (at line 2)\n" + 
2432
			"	abstract class Y<S> implements X<S> { public abstract X[] x(); }\n" + 
2447
			"	abstract class Y<S> implements X<S> { public abstract X[] x(); }\n" + 
2448
			"	                                                      ^\n" + 
2449
			"X is a raw type. References to generic type X<T> should be parameterized\n" + 
2450
			"----------\n" + 
2451
			"2. WARNING in X.java (at line 2)\n" + 
2452
			"	abstract class Y<S> implements X<S> { public abstract X[] x(); }\n" + 
2433
			"	                                                      ^^^\n" + 
2453
			"	                                                      ^^^\n" + 
2434
			"Type safety: The return type X[] for x() from the type Y<S> needs unchecked conversion to conform to X<T>[] from the type X<T>\n" + 
2454
			"Type safety: The return type X[] for x() from the type Y<S> needs unchecked conversion to conform to X<T>[] from the type X<T>\n" + 
2435
			"----------\n" + 
2455
			"----------\n" + 
2436
			"2. WARNING in X.java (at line 3)\n" + 
2456
			"3. WARNING in X.java (at line 3)\n" + 
2437
			"	abstract class Z implements X { public abstract X[] x(); }\n" + 
2457
			"	abstract class Z implements X { public abstract X[] x(); }\n" + 
2438
			"	                            ^\n" + 
2458
			"	                            ^\n" + 
2439
			"X is a raw type. References to generic type X<T> should be parameterized\n" + 
2459
			"X is a raw type. References to generic type X<T> should be parameterized\n" + 
2460
			"----------\n" + 
2461
			"4. WARNING in X.java (at line 3)\n" + 
2462
			"	abstract class Z implements X { public abstract X[] x(); }\n" + 
2463
			"	                                                ^\n" + 
2464
			"X is a raw type. References to generic type X<T> should be parameterized\n" + 
2440
			"----------\n"
2465
			"----------\n"
2441
		);
2466
		);
2442
	}
2467
	}
Lines 3882-3891 Link Here
3882
				"}"
3907
				"}"
3883
			},
3908
			},
3884
			"----------\n" + 
3909
			"----------\n" + 
3885
			"1. ERROR in I3.java (at line 4)\r\n" + 
3910
			"1. ERROR in I3.java (at line 4)\n" + 
3886
			"	public static class TestClass implements I3 {\r\n" + 
3911
			"	public static class TestClass implements I3 {\n" + 
3887
			"	                    ^^^^^^^^^\n" + 
3912
			"	                    ^^^^^^^^^\n" + 
3888
			"The type I3.TestClass must implement the inherited abstract method I3.method(Iterator<Object>[])\n" + 
3913
			"The type I3.TestClass must implement the inherited abstract method I3.method(Iterator<Object>[])\n" + 
3914
			"----------\n" + 
3915
			"2. WARNING in I3.java (at line 5)\n" + 
3916
			"	public void method(Iterator[][] iter) {}\n" + 
3917
			"	                   ^^^^^^^^\n" + 
3918
			"Iterator is a raw type. References to generic type Iterator<E> should be parameterized\n" + 
3889
			"----------\n"
3919
			"----------\n"
3890
			// does not override abstract method method(java.util.Iterator<java.lang.Object>[]) in I3
3920
			// does not override abstract method method(java.util.Iterator<java.lang.Object>[]) in I3
3891
		);
3921
		);
Lines 5541-5551 Link Here
5541
			"}\n", // =================
5571
			"}\n", // =================
5542
		},
5572
		},
5543
		"----------\n" + 
5573
		"----------\n" + 
5544
		"1. ERROR in X.java (at line 9)\n" + 
5574
		"1. WARNING in X.java (at line 7)\n" + 
5575
		"	void foo(Y[] array)\n" + 
5576
		"	         ^\n" + 
5577
		"Y is a raw type. References to generic type Y<T> should be parameterized\n" + 
5578
		"----------\n" + 
5579
		"2. ERROR in X.java (at line 9)\n" + 
5545
		"	y.addAll(Arrays.asList(array));\n" + 
5580
		"	y.addAll(Arrays.asList(array));\n" + 
5546
		"	  ^^^^^^\n" + 
5581
		"	  ^^^^^^\n" + 
5547
		"The method addAll(Collection<? extends Y<X>>) in the type ArrayList" +
5582
		"The method addAll(Collection<? extends Y<X>>) in the type ArrayList<Y<X>> is not applicable for the arguments (List<Y>)\n" + 
5548
			"<Y<X>> is not applicable for the arguments (List<Y>)\n" + 
5549
		"----------\n"
5583
		"----------\n"
5550
	);
5584
	);
5551
}
5585
}
(-)src/org/eclipse/jdt/core/tests/compiler/regression/GenericTypeTest.java (-27 / +125 lines)
Lines 7675-7691 Link Here
7675
				"}\n"
7675
				"}\n"
7676
			},
7676
			},
7677
			"----------\n" + 
7677
			"----------\n" + 
7678
			"1. WARNING in X.java (at line 4)\n" + 
7678
			"1. WARNING in X.java (at line 3)\n" + 
7679
			"	X[] foo() {\n" + 
7680
			"	^\n" + 
7681
			"X is a raw type. References to generic type X<T> should be parameterized\n" + 
7682
			"----------\n" + 
7683
			"2. WARNING in X.java (at line 4)\n" + 
7679
			"	ArrayList<X> list = new ArrayList();\n" + 
7684
			"	ArrayList<X> list = new ArrayList();\n" + 
7680
			"	          ^\n" + 
7685
			"	          ^\n" + 
7681
			"X is a raw type. References to generic type X<T> should be parameterized\n" + 
7686
			"X is a raw type. References to generic type X<T> should be parameterized\n" + 
7682
			"----------\n" + 
7687
			"----------\n" + 
7683
			"2. WARNING in X.java (at line 4)\n" + 
7688
			"3. WARNING in X.java (at line 4)\n" + 
7684
			"	ArrayList<X> list = new ArrayList();\n" + 
7689
			"	ArrayList<X> list = new ArrayList();\n" + 
7685
			"	                    ^^^^^^^^^^^^^^^\n" + 
7690
			"	                    ^^^^^^^^^^^^^^^\n" + 
7686
			"Type safety: The expression of type ArrayList needs unchecked conversion to conform to ArrayList<X>\n" + 
7691
			"Type safety: The expression of type ArrayList needs unchecked conversion to conform to ArrayList<X>\n" + 
7687
			"----------\n" + 
7692
			"----------\n" + 
7688
			"3. WARNING in X.java (at line 4)\n" + 
7693
			"4. WARNING in X.java (at line 4)\n" + 
7689
			"	ArrayList<X> list = new ArrayList();\n" + 
7694
			"	ArrayList<X> list = new ArrayList();\n" + 
7690
			"	                        ^^^^^^^^^\n" + 
7695
			"	                        ^^^^^^^^^\n" + 
7691
			"ArrayList is a raw type. References to generic type ArrayList<E> should be parameterized\n" + 
7696
			"ArrayList is a raw type. References to generic type ArrayList<E> should be parameterized\n" + 
Lines 13570-13576 Link Here
13570
			"	^^^^\n" + 
13575
			"	^^^^\n" + 
13571
			"Zork cannot be resolved to a type\n" + 
13576
			"Zork cannot be resolved to a type\n" + 
13572
			"----------\n" + 
13577
			"----------\n" + 
13573
			"2. WARNING in X.java (at line 6)\n" + 
13578
			"2. WARNING in X.java (at line 5)\n" + 
13579
			"	Set[] sets = new Set[10];\n" + 
13580
			"	^^^\n" + 
13581
			"Set is a raw type. References to generic type Set<E> should be parameterized\n" + 
13582
			"----------\n" + 
13583
			"3. WARNING in X.java (at line 6)\n" + 
13574
			"	return sets;\n" + 
13584
			"	return sets;\n" + 
13575
			"	       ^^^^\n" + 
13585
			"	       ^^^^\n" + 
13576
			"Type safety: The expression of type Set[] needs unchecked conversion to conform to Set<String>[]\n" + 
13586
			"Type safety: The expression of type Set[] needs unchecked conversion to conform to Set<String>[]\n" + 
Lines 24592-24608 Link Here
24592
			"}\n",
24602
			"}\n",
24593
		},
24603
		},
24594
		"----------\n" + 
24604
		"----------\n" + 
24595
		"1. WARNING in X.java (at line 7)\n" + 
24605
		"1. WARNING in X.java (at line 6)\n" + 
24606
		"	Constructor[] constrs = X.class.getConstructors();\n" + 
24607
		"	^^^^^^^^^^^\n" + 
24608
		"Constructor is a raw type. References to generic type Constructor<T> should be parameterized\n" + 
24609
		"----------\n" + 
24610
		"2. WARNING in X.java (at line 7)\n" + 
24596
		"	for (Constructor constructor  : constrs) {\n" + 
24611
		"	for (Constructor constructor  : constrs) {\n" + 
24597
		"	     ^^^^^^^^^^^\n" + 
24612
		"	     ^^^^^^^^^^^\n" + 
24598
		"Constructor is a raw type. References to generic type Constructor<T> should be parameterized\n" + 
24613
		"Constructor is a raw type. References to generic type Constructor<T> should be parameterized\n" + 
24599
		"----------\n" + 
24614
		"----------\n" + 
24600
		"2. WARNING in X.java (at line 8)\n" + 
24615
		"3. WARNING in X.java (at line 8)\n" + 
24601
		"	final String message = constructor.getAnnotation(AnnClass).message();\n" + 
24616
		"	final String message = constructor.getAnnotation(AnnClass).message();\n" + 
24602
		"	                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + 
24617
		"	                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + 
24603
		"Type safety: The method getAnnotation(Class) belongs to the raw type Constructor. References to generic type Constructor<T> should be parameterized\n" + 
24618
		"Type safety: The method getAnnotation(Class) belongs to the raw type Constructor. References to generic type Constructor<T> should be parameterized\n" + 
24604
		"----------\n" + 
24619
		"----------\n" + 
24605
		"3. ERROR in X.java (at line 8)\n" + 
24620
		"4. ERROR in X.java (at line 8)\n" + 
24606
		"	final String message = constructor.getAnnotation(AnnClass).message();\n" + 
24621
		"	final String message = constructor.getAnnotation(AnnClass).message();\n" + 
24607
		"	                                                           ^^^^^^^\n" + 
24622
		"	                                                           ^^^^^^^\n" + 
24608
		"The method message() is undefined for the type Annotation\n" + 
24623
		"The method message() is undefined for the type Annotation\n" + 
Lines 25223-25234 Link Here
25223
			"	    ^^^^^^^^^^^^^^^^^\n" + 
25238
			"	    ^^^^^^^^^^^^^^^^^\n" + 
25224
			"Cannot perform instanceof check against parameterized type List<? extends String>. Use instead its raw form List since generic type information will be erased at runtime\n" + 
25239
			"Cannot perform instanceof check against parameterized type List<? extends String>. Use instead its raw form List since generic type information will be erased at runtime\n" + 
25225
			"----------\n" + 
25240
			"----------\n" + 
25226
			"7. WARNING in X.java (at line 19)\n" + 
25241
			"7. WARNING in X.java (at line 18)\n" + 
25242
			"	void foo(List[] ls) {\n" + 
25243
			"	         ^^^^\n" + 
25244
			"List is a raw type. References to generic type List<E> should be parameterized\n" + 
25245
			"----------\n" + 
25246
			"8. WARNING in X.java (at line 19)\n" + 
25227
			"	if (ls instanceof List<?>[]) {}\n" + 
25247
			"	if (ls instanceof List<?>[]) {}\n" + 
25228
			"	    ^^^^^^^^^^^^^^^^^^^^^^^\n" + 
25248
			"	    ^^^^^^^^^^^^^^^^^^^^^^^\n" + 
25229
			"The expression of type List[] is already an instance of type List<?>\n" + 
25249
			"The expression of type List[] is already an instance of type List<?>\n" + 
25230
			"----------\n" + 
25250
			"----------\n" + 
25231
			"8. ERROR in X.java (at line 20)\n" + 
25251
			"9. ERROR in X.java (at line 20)\n" + 
25232
			"	if (ls instanceof List<? extends String>[]) {}\n" + 
25252
			"	if (ls instanceof List<? extends String>[]) {}\n" + 
25233
			"	    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + 
25253
			"	    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + 
25234
			"Cannot perform instanceof check against parameterized type List<? extends String>[]. Use instead its raw form List[] since generic type information will be erased at runtime\n" + 
25254
			"Cannot perform instanceof check against parameterized type List<? extends String>[]. Use instead its raw form List[] since generic type information will be erased at runtime\n" + 
Lines 28500-28511 Link Here
28500
			"}\n",
28520
			"}\n",
28501
		},
28521
		},
28502
		"----------\n" + 
28522
		"----------\n" + 
28503
		"1. ERROR in X.java (at line 5)\n" + 
28523
		"1. WARNING in X.java (at line 4)\n" + 
28524
		"	void foo(List<? extends Collection<String>[]> l1, List<Collection[]> l2) {\n" + 
28525
		"	                                                       ^^^^^^^^^^\n" + 
28526
		"Collection is a raw type. References to generic type Collection<E> should be parameterized\n" + 
28527
		"----------\n" + 
28528
		"2. ERROR in X.java (at line 5)\n" + 
28504
		"	l1 = l2;\n" + 
28529
		"	l1 = l2;\n" + 
28505
		"	     ^^\n" + 
28530
		"	     ^^\n" + 
28506
		"Type mismatch: cannot convert from List<Collection[]> to List<? extends Collection<String>[]>\n" + 
28531
		"Type mismatch: cannot convert from List<Collection[]> to List<? extends Collection<String>[]>\n" + 
28507
		"----------\n" + 
28532
		"----------\n" + 
28508
		"2. ERROR in X.java (at line 6)\n" + 
28533
		"3. ERROR in X.java (at line 6)\n" + 
28509
		"	l2 = l1;\n" + 
28534
		"	l2 = l1;\n" + 
28510
		"	     ^^\n" + 
28535
		"	     ^^\n" + 
28511
		"Type mismatch: cannot convert from List<capture#2-of ? extends Collection<String>[]> to List<Collection[]>\n" + 
28536
		"Type mismatch: cannot convert from List<capture#2-of ? extends Collection<String>[]> to List<Collection[]>\n" + 
Lines 28539-28580 Link Here
28539
			"}\n",
28564
			"}\n",
28540
		},
28565
		},
28541
		"----------\n" + 
28566
		"----------\n" + 
28542
		"1. ERROR in X.java (at line 8)\n" + 
28567
		"1. WARNING in X.java (at line 4)\n" + 
28568
		"	List<Collection[]> lc1 = null;\n" + 
28569
		"	     ^^^^^^^^^^\n" + 
28570
		"Collection is a raw type. References to generic type Collection<E> should be parameterized\n" + 
28571
		"----------\n" + 
28572
		"2. WARNING in X.java (at line 7)\n" + 
28573
		"	List<? extends Collection[]> lc4 = null;\n" + 
28574
		"	               ^^^^^^^^^^\n" + 
28575
		"Collection is a raw type. References to generic type Collection<E> should be parameterized\n" + 
28576
		"----------\n" + 
28577
		"3. ERROR in X.java (at line 8)\n" + 
28543
		"	lc1 = lc2; //1 ko\n" + 
28578
		"	lc1 = lc2; //1 ko\n" + 
28544
		"	      ^^^\n" + 
28579
		"	      ^^^\n" + 
28545
		"Type mismatch: cannot convert from List<Collection<?>[]> to List<Collection[]>\n" + 
28580
		"Type mismatch: cannot convert from List<Collection<?>[]> to List<Collection[]>\n" + 
28546
		"----------\n" + 
28581
		"----------\n" + 
28547
		"2. ERROR in X.java (at line 9)\n" + 
28582
		"4. ERROR in X.java (at line 9)\n" + 
28548
		"	lc1 = lc3; //2 ko\n" + 
28583
		"	lc1 = lc3; //2 ko\n" + 
28549
		"	      ^^^\n" + 
28584
		"	      ^^^\n" + 
28550
		"Type mismatch: cannot convert from List<capture#1-of ? extends Collection<?>[]> to List<Collection[]>\n" + 
28585
		"Type mismatch: cannot convert from List<capture#1-of ? extends Collection<?>[]> to List<Collection[]>\n" + 
28551
		"----------\n" + 
28586
		"----------\n" + 
28552
		"3. ERROR in X.java (at line 10)\n" + 
28587
		"5. ERROR in X.java (at line 10)\n" + 
28553
		"	lc1 = lc4; //3 ko\n" + 
28588
		"	lc1 = lc4; //3 ko\n" + 
28554
		"	      ^^^\n" + 
28589
		"	      ^^^\n" + 
28555
		"Type mismatch: cannot convert from List<capture#2-of ? extends Collection[]> to List<Collection[]>\n" + 
28590
		"Type mismatch: cannot convert from List<capture#2-of ? extends Collection[]> to List<Collection[]>\n" + 
28556
		"----------\n" + 
28591
		"----------\n" + 
28557
		"4. ERROR in X.java (at line 11)\n" + 
28592
		"6. ERROR in X.java (at line 11)\n" + 
28558
		"	lc2 = lc1; //4 ko\n" + 
28593
		"	lc2 = lc1; //4 ko\n" + 
28559
		"	      ^^^\n" + 
28594
		"	      ^^^\n" + 
28560
		"Type mismatch: cannot convert from List<Collection[]> to List<Collection<?>[]>\n" + 
28595
		"Type mismatch: cannot convert from List<Collection[]> to List<Collection<?>[]>\n" + 
28561
		"----------\n" + 
28596
		"----------\n" + 
28562
		"5. ERROR in X.java (at line 12)\n" + 
28597
		"7. ERROR in X.java (at line 12)\n" + 
28563
		"	lc2 = lc3; //5 ko\n" + 
28598
		"	lc2 = lc3; //5 ko\n" + 
28564
		"	      ^^^\n" + 
28599
		"	      ^^^\n" + 
28565
		"Type mismatch: cannot convert from List<capture#3-of ? extends Collection<?>[]> to List<Collection<?>[]>\n" + 
28600
		"Type mismatch: cannot convert from List<capture#3-of ? extends Collection<?>[]> to List<Collection<?>[]>\n" + 
28566
		"----------\n" + 
28601
		"----------\n" + 
28567
		"6. ERROR in X.java (at line 13)\n" + 
28602
		"8. ERROR in X.java (at line 13)\n" + 
28568
		"	lc2 = lc4; //6 ko\n" + 
28603
		"	lc2 = lc4; //6 ko\n" + 
28569
		"	      ^^^\n" + 
28604
		"	      ^^^\n" + 
28570
		"Type mismatch: cannot convert from List<capture#4-of ? extends Collection[]> to List<Collection<?>[]>\n" + 
28605
		"Type mismatch: cannot convert from List<capture#4-of ? extends Collection[]> to List<Collection<?>[]>\n" + 
28571
		"----------\n" + 
28606
		"----------\n" + 
28572
		"7. ERROR in X.java (at line 14)\n" + 
28607
		"9. ERROR in X.java (at line 14)\n" + 
28573
		"	lc3 = lc1; //7 ko\n" + 
28608
		"	lc3 = lc1; //7 ko\n" + 
28574
		"	      ^^^\n" + 
28609
		"	      ^^^\n" + 
28575
		"Type mismatch: cannot convert from List<Collection[]> to List<? extends Collection<?>[]>\n" + 
28610
		"Type mismatch: cannot convert from List<Collection[]> to List<? extends Collection<?>[]>\n" + 
28576
		"----------\n" + 
28611
		"----------\n" + 
28577
		"8. ERROR in X.java (at line 16)\n" + 
28612
		"10. ERROR in X.java (at line 16)\n" + 
28578
		"	lc3 = lc4; //9 ko\n" + 
28613
		"	lc3 = lc4; //9 ko\n" + 
28579
		"	      ^^^\n" + 
28614
		"	      ^^^\n" + 
28580
		"Type mismatch: cannot convert from List<capture#8-of ? extends Collection[]> to List<? extends Collection<?>[]>\n" + 
28615
		"Type mismatch: cannot convert from List<capture#8-of ? extends Collection[]> to List<? extends Collection<?>[]>\n" + 
Lines 28608-28649 Link Here
28608
			"}\n",
28643
			"}\n",
28609
		},
28644
		},
28610
		"----------\n" + 
28645
		"----------\n" + 
28611
		"1. ERROR in X.java (at line 8)\n" + 
28646
		"1. WARNING in X.java (at line 4)\n" + 
28647
		"	List<Collection[]> lc1 = null;\n" + 
28648
		"	     ^^^^^^^^^^\n" + 
28649
		"Collection is a raw type. References to generic type Collection<E> should be parameterized\n" + 
28650
		"----------\n" + 
28651
		"2. WARNING in X.java (at line 7)\n" + 
28652
		"	List<? super Collection[]> lc4 = null;\n" + 
28653
		"	             ^^^^^^^^^^\n" + 
28654
		"Collection is a raw type. References to generic type Collection<E> should be parameterized\n" + 
28655
		"----------\n" + 
28656
		"3. ERROR in X.java (at line 8)\n" + 
28612
		"	lc1 = lc2; //1 ko\n" + 
28657
		"	lc1 = lc2; //1 ko\n" + 
28613
		"	      ^^^\n" + 
28658
		"	      ^^^\n" + 
28614
		"Type mismatch: cannot convert from List<Collection<?>[]> to List<Collection[]>\n" + 
28659
		"Type mismatch: cannot convert from List<Collection<?>[]> to List<Collection[]>\n" + 
28615
		"----------\n" + 
28660
		"----------\n" + 
28616
		"2. ERROR in X.java (at line 9)\n" + 
28661
		"4. ERROR in X.java (at line 9)\n" + 
28617
		"	lc1 = lc3; //2 ko\n" + 
28662
		"	lc1 = lc3; //2 ko\n" + 
28618
		"	      ^^^\n" + 
28663
		"	      ^^^\n" + 
28619
		"Type mismatch: cannot convert from List<capture#1-of ? super Collection<?>[]> to List<Collection[]>\n" + 
28664
		"Type mismatch: cannot convert from List<capture#1-of ? super Collection<?>[]> to List<Collection[]>\n" + 
28620
		"----------\n" + 
28665
		"----------\n" + 
28621
		"3. ERROR in X.java (at line 10)\n" + 
28666
		"5. ERROR in X.java (at line 10)\n" + 
28622
		"	lc1 = lc4; //3 ko\n" + 
28667
		"	lc1 = lc4; //3 ko\n" + 
28623
		"	      ^^^\n" + 
28668
		"	      ^^^\n" + 
28624
		"Type mismatch: cannot convert from List<capture#2-of ? super Collection[]> to List<Collection[]>\n" + 
28669
		"Type mismatch: cannot convert from List<capture#2-of ? super Collection[]> to List<Collection[]>\n" + 
28625
		"----------\n" + 
28670
		"----------\n" + 
28626
		"4. ERROR in X.java (at line 11)\n" + 
28671
		"6. ERROR in X.java (at line 11)\n" + 
28627
		"	lc2 = lc1; //4 ko\n" + 
28672
		"	lc2 = lc1; //4 ko\n" + 
28628
		"	      ^^^\n" + 
28673
		"	      ^^^\n" + 
28629
		"Type mismatch: cannot convert from List<Collection[]> to List<Collection<?>[]>\n" + 
28674
		"Type mismatch: cannot convert from List<Collection[]> to List<Collection<?>[]>\n" + 
28630
		"----------\n" + 
28675
		"----------\n" + 
28631
		"5. ERROR in X.java (at line 12)\n" + 
28676
		"7. ERROR in X.java (at line 12)\n" + 
28632
		"	lc2 = lc3; //5 ko\n" + 
28677
		"	lc2 = lc3; //5 ko\n" + 
28633
		"	      ^^^\n" + 
28678
		"	      ^^^\n" + 
28634
		"Type mismatch: cannot convert from List<capture#3-of ? super Collection<?>[]> to List<Collection<?>[]>\n" + 
28679
		"Type mismatch: cannot convert from List<capture#3-of ? super Collection<?>[]> to List<Collection<?>[]>\n" + 
28635
		"----------\n" + 
28680
		"----------\n" + 
28636
		"6. ERROR in X.java (at line 13)\n" + 
28681
		"8. ERROR in X.java (at line 13)\n" + 
28637
		"	lc2 = lc4; //6 ko\n" + 
28682
		"	lc2 = lc4; //6 ko\n" + 
28638
		"	      ^^^\n" + 
28683
		"	      ^^^\n" + 
28639
		"Type mismatch: cannot convert from List<capture#4-of ? super Collection[]> to List<Collection<?>[]>\n" + 
28684
		"Type mismatch: cannot convert from List<capture#4-of ? super Collection[]> to List<Collection<?>[]>\n" + 
28640
		"----------\n" + 
28685
		"----------\n" + 
28641
		"7. ERROR in X.java (at line 18)\n" + 
28686
		"9. ERROR in X.java (at line 18)\n" + 
28642
		"	lc4 = lc2; //11 ko\n" + 
28687
		"	lc4 = lc2; //11 ko\n" + 
28643
		"	      ^^^\n" + 
28688
		"	      ^^^\n" + 
28644
		"Type mismatch: cannot convert from List<Collection<?>[]> to List<? super Collection[]>\n" + 
28689
		"Type mismatch: cannot convert from List<Collection<?>[]> to List<? super Collection[]>\n" + 
28645
		"----------\n" + 
28690
		"----------\n" + 
28646
		"8. ERROR in X.java (at line 19)\n" + 
28691
		"10. ERROR in X.java (at line 19)\n" + 
28647
		"	lc4 = lc3; //12 ko		\n" + 
28692
		"	lc4 = lc3; //12 ko		\n" + 
28648
		"	      ^^^\n" + 
28693
		"	      ^^^\n" + 
28649
		"Type mismatch: cannot convert from List<capture#12-of ? super Collection<?>[]> to List<? super Collection[]>\n" + 
28694
		"Type mismatch: cannot convert from List<capture#12-of ? super Collection<?>[]> to List<? super Collection[]>\n" + 
Lines 32785-32790 Link Here
32785
		"	x.bar2(\"\");\n" + 
32830
		"	x.bar2(\"\");\n" + 
32786
		"	  ^^^^\n" + 
32831
		"	  ^^^^\n" + 
32787
		"The method bar2(Class...) in the type X is not applicable for the arguments (String)\n" + 
32832
		"The method bar2(Class...) in the type X is not applicable for the arguments (String)\n" + 
32833
		"----------\n" + 
32834
		"5. WARNING in X.java (at line 9)\n" + 
32835
		"	void bar2(Class... classes) {}\n" + 
32836
		"	          ^^^^^\n" + 
32837
		"Class is a raw type. References to generic type Class<T> should be parameterized\n" + 
32788
		"----------\n");
32838
		"----------\n");
32789
}
32839
}
32790
//https://bugs.eclipse.org/bugs/show_bug.cgi?id=158519
32840
//https://bugs.eclipse.org/bugs/show_bug.cgi?id=158519
Lines 33370-33373 Link Here
33370
		assertTrue(false);
33420
		assertTrue(false);
33371
	}			
33421
	}			
33372
}
33422
}
33423
//https://bugs.eclipse.org/bugs/show_bug.cgi?id=159245
33424
public void test1041() {
33425
	this.runNegativeTest(
33426
		new String[] {
33427
			"p/X.java",
33428
			"package p;\n" + 
33429
			"\n" + 
33430
			"public class X<T> {\n" + 
33431
			"	{\n" + 
33432
			"		X rawx = null;\n" + 
33433
			"		X[] rawxs = { rawx };\n" + 
33434
			"		System.out.println(rawxs.length);\n" + 
33435
			"	}\n" + 
33436
			"	{\n" + 
33437
			"		p.X rawx = null;\n" + 
33438
			"		p.X[] rawxs = { rawx };\n" + 
33439
			"		System.out.println(rawxs.length);\n" + 
33440
			"	}\n" + 
33441
			"	Zork z;\n" +
33442
			"}", // =================
33443
		}, 
33444
		"----------\n" + 
33445
		"1. WARNING in p\\X.java (at line 5)\n" + 
33446
		"	X rawx = null;\n" + 
33447
		"	^\n" + 
33448
		"X is a raw type. References to generic type X<T> should be parameterized\n" + 
33449
		"----------\n" + 
33450
		"2. WARNING in p\\X.java (at line 6)\n" + 
33451
		"	X[] rawxs = { rawx };\n" + 
33452
		"	^\n" + 
33453
		"X is a raw type. References to generic type X<T> should be parameterized\n" + 
33454
		"----------\n" + 
33455
		"3. WARNING in p\\X.java (at line 10)\n" + 
33456
		"	p.X rawx = null;\n" + 
33457
		"	^^^\n" + 
33458
		"X is a raw type. References to generic type X<T> should be parameterized\n" + 
33459
		"----------\n" + 
33460
		"4. WARNING in p\\X.java (at line 11)\n" + 
33461
		"	p.X[] rawxs = { rawx };\n" + 
33462
		"	^^^^^\n" + 
33463
		"X is a raw type. References to generic type X<T> should be parameterized\n" + 
33464
		"----------\n" + 
33465
		"5. ERROR in p\\X.java (at line 14)\n" + 
33466
		"	Zork z;\n" + 
33467
		"	^^^^\n" + 
33468
		"Zork cannot be resolved to a type\n" + 
33469
		"----------\n");
33470
}
33373
}
33471
}
(-)src/org/eclipse/jdt/core/tests/compiler/regression/VarargsTest.java (-2 / +7 lines)
Lines 1712-1723 Link Here
1712
					"}\n",
1712
					"}\n",
1713
				},
1713
				},
1714
				"----------\n" + 
1714
				"----------\n" + 
1715
				"1. WARNING in X.java (at line 9)\n" + 
1715
				"1. WARNING in X.java (at line 5)\n" + 
1716
				"	void bar(Y... y) {\n" + 
1717
				"	         ^\n" + 
1718
				"Y is a raw type. References to generic type Y<E> should be parameterized\n" + 
1719
				"----------\n" + 
1720
				"2. WARNING in X.java (at line 9)\n" + 
1716
				"	bar((Y[])foo());\n" + 
1721
				"	bar((Y[])foo());\n" + 
1717
				"	    ^^^^^^^^^^\n" + 
1722
				"	    ^^^^^^^^^^\n" + 
1718
				"Unnecessary cast from Y<String>[] to Y[]\n" + 
1723
				"Unnecessary cast from Y<String>[] to Y[]\n" + 
1719
				"----------\n" + 
1724
				"----------\n" + 
1720
				"2. ERROR in X.java (at line 10)\n" + 
1725
				"3. ERROR in X.java (at line 10)\n" + 
1721
				"	Zork z;\n" + 
1726
				"	Zork z;\n" + 
1722
				"	^^^^\n" + 
1727
				"	^^^^\n" + 
1723
				"Zork cannot be resolved to a type\n" + 
1728
				"Zork cannot be resolved to a type\n" + 
(-)src/org/eclipse/jdt/core/tests/compiler/regression/AnnotationTest.java (-1 / +6 lines)
Lines 3495-3501 Link Here
3495
				"	}\n" + 
3495
				"	}\n" + 
3496
				"}\n",
3496
				"}\n",
3497
            },
3497
            },
3498
            "----------\n" + 
3498
    		"----------\n" + 
3499
    		"1. WARNING in X.java (at line 8)\n" + 
3499
    		"1. WARNING in X.java (at line 8)\n" + 
3500
    		"	interface Iface extends Ann {\n" + 
3500
    		"	interface Iface extends Ann {\n" + 
3501
    		"	                        ^^^\n" + 
3501
    		"	                        ^^^\n" + 
Lines 3535-3540 Link Here
3535
    		"	Class c = SubKlass.class;\n" + 
3535
    		"	Class c = SubKlass.class;\n" + 
3536
    		"	^^^^^\n" + 
3536
    		"	^^^^^\n" + 
3537
    		"Class is a raw type. References to generic type Class<T> should be parameterized\n" + 
3537
    		"Class is a raw type. References to generic type Class<T> should be parameterized\n" + 
3538
    		"----------\n" + 
3539
    		"9. WARNING in X.java (at line 41)\n" + 
3540
    		"	Class[] i = c.getInterfaces();\n" + 
3541
    		"	^^^^^\n" + 
3542
    		"Class is a raw type. References to generic type Class<T> should be parameterized\n" + 
3538
    		"----------\n");
3543
    		"----------\n");
3539
    }            
3544
    }            
3540
    // https://bugs.eclipse.org/bugs/show_bug.cgi?id=86291
3545
    // https://bugs.eclipse.org/bugs/show_bug.cgi?id=86291
(-)src/org/eclipse/jdt/core/tests/compiler/regression/Compliance_1_5.java (-3 / +28 lines)
Lines 2868-2877 Link Here
2868
		"	^^^^^\n" + 
2868
		"	^^^^^\n" + 
2869
		"Class is a raw type. References to generic type Class<T> should be parameterized\n" + 
2869
		"Class is a raw type. References to generic type Class<T> should be parameterized\n" + 
2870
		"----------\n" + 
2870
		"----------\n" + 
2871
		"5. WARNING in p\\X.java (at line 39)\n" + 
2871
		"5. WARNING in p\\X.java (at line 32)\n" + 
2872
		"	Class _getClasses [] = X.class.getClasses(); \n" + 
2873
		"	^^^^^\n" + 
2874
		"Class is a raw type. References to generic type Class<T> should be parameterized\n" + 
2875
		"----------\n" + 
2876
		"6. WARNING in p\\X.java (at line 36)\n" + 
2877
		"	Constructor _getConstructors[] = c.getConstructors(); \n" + 
2878
		"	^^^^^^^^^^^\n" + 
2879
		"Constructor is a raw type. References to generic type Constructor<T> should be parameterized\n" + 
2880
		"----------\n" + 
2881
		"7. WARNING in p\\X.java (at line 39)\n" + 
2872
		"	Method _getMethod = c.getMethod(\"d\",null);\n" + 
2882
		"	Method _getMethod = c.getMethod(\"d\",null);\n" + 
2873
		"	                    ^^^^^^^^^^^^^^^^^^^^^\n" + 
2883
		"	                    ^^^^^^^^^^^^^^^^^^^^^\n" + 
2874
		"The argument of type null should explicitly be cast to Class[] for the invocation of the varargs method getMethod(String, Class...) from type Class. It could alternatively be cast to Class for a varargs invocation\n" + 
2884
		"The argument of type null should explicitly be cast to Class[] for the invocation of the varargs method getMethod(String, Class...) from type Class. It could alternatively be cast to Class for a varargs invocation\n" + 
2885
		"----------\n" + 
2886
		"8. WARNING in p\\X.java (at line 39)\n" + 
2887
		"	Method _getMethod = c.getMethod(\"d\",null);\n" + 
2888
		"	                    ^^^^^^^^^^^^^^^^^^^^^\n" + 
2889
		"Type safety: The method getMethod(String, Class...) belongs to the raw type Class. References to generic type Class<T> should be parameterized\n" + 
2875
		"----------\n";
2890
		"----------\n";
2876
	if (System.getProperty("java.version").startsWith("1.6")) {
2891
	if (System.getProperty("java.version").startsWith("1.6")) {
2877
		errorMessage =
2892
		errorMessage =
Lines 2896-2907 Link Here
2896
			"	^^^^^\n" + 
2911
			"	^^^^^\n" + 
2897
			"Class is a raw type. References to generic type Class<T> should be parameterized\n" + 
2912
			"Class is a raw type. References to generic type Class<T> should be parameterized\n" + 
2898
			"----------\n" + 
2913
			"----------\n" + 
2899
			"5. WARNING in p\\X.java (at line 39)\n" + 
2914
			"5. WARNING in p\\X.java (at line 32)\n" + 
2915
			"	Class _getClasses [] = X.class.getClasses(); \n" + 
2916
			"	^^^^^\n" + 
2917
			"Class is a raw type. References to generic type Class<T> should be parameterized\n" + 
2918
			"----------\n" + 
2919
			"6. WARNING in p\\X.java (at line 36)\n" + 
2920
			"	Constructor _getConstructors[] = c.getConstructors(); \n" + 
2921
			"	^^^^^^^^^^^\n" + 
2922
			"Constructor is a raw type. References to generic type Constructor<T> should be parameterized\n" + 
2923
			"----------\n" + 
2924
			"7. WARNING in p\\X.java (at line 39)\n" + 
2900
			"	Method _getMethod = c.getMethod(\"d\",null);\n" + 
2925
			"	Method _getMethod = c.getMethod(\"d\",null);\n" + 
2901
			"	                    ^^^^^^^^^^^^^^^^^^^^^\n" + 
2926
			"	                    ^^^^^^^^^^^^^^^^^^^^^\n" + 
2902
			"The argument of type null should explicitly be cast to Class[] for the invocation of the varargs method getMethod(String, Class...) from type Class. It could alternatively be cast to Class for a varargs invocation\n" + 
2927
			"The argument of type null should explicitly be cast to Class[] for the invocation of the varargs method getMethod(String, Class...) from type Class. It could alternatively be cast to Class for a varargs invocation\n" + 
2903
			"----------\n" + 
2928
			"----------\n" + 
2904
			"6. WARNING in p\\X.java (at line 39)\n" + 
2929
			"8. WARNING in p\\X.java (at line 39)\n" + 
2905
			"	Method _getMethod = c.getMethod(\"d\",null);\n" + 
2930
			"	Method _getMethod = c.getMethod(\"d\",null);\n" + 
2906
			"	                    ^^^^^^^^^^^^^^^^^^^^^\n" + 
2931
			"	                    ^^^^^^^^^^^^^^^^^^^^^\n" + 
2907
			"Type safety: The method getMethod(String, Class...) belongs to the raw type Class. References to generic type Class<T> should be parameterized\n" + 
2932
			"Type safety: The method getMethod(String, Class...) belongs to the raw type Class. References to generic type Class<T> should be parameterized\n" + 
(-)src/org/eclipse/jdt/core/tests/compiler/regression/DeprecatedTest.java (-1 / +56 lines)
Lines 485-491 Link Here
485
			customOptions);
485
			customOptions);
486
	}
486
	}
487
}
487
}
488
488
public void test014() {
489
	this.runNegativeTest(
490
		new String[] {
491
			"p/X.java",
492
			"package p;\n" +
493
			"/**\n" + 
494
			" * @deprecated\n" + 
495
			" */\n" + 
496
			"public class X {\n" + 
497
			"}\n",
498
			"Y.java",
499
			"import p.X;\n" +
500
			"public class Y {\n" + 
501
			"  Zork z;\n" +
502
			"  void foo() {\n" + 
503
			"    X x;\n" + 
504
			"    X[] xs = { x };\n" + 
505
			"  }\n" + 
506
			"  void bar() {\n" + 
507
			"    p.X x;\n" + 
508
			"    p.X[] xs = { x };\n" + 
509
			"  }\n" + 
510
			"}\n",
511
		}, 
512
		"----------\n" + 
513
		"1. WARNING in Y.java (at line 1)\n" + 
514
		"	import p.X;\n" + 
515
		"	       ^^^\n" + 
516
		"The type X is deprecated\n" + 
517
		"----------\n" + 
518
		"2. ERROR in Y.java (at line 3)\n" + 
519
		"	Zork z;\n" + 
520
		"	^^^^\n" + 
521
		"Zork cannot be resolved to a type\n" + 
522
		"----------\n" + 
523
		"3. WARNING in Y.java (at line 5)\n" + 
524
		"	X x;\n" + 
525
		"	^\n" + 
526
		"The type X is deprecated\n" + 
527
		"----------\n" + 
528
		"4. WARNING in Y.java (at line 6)\n" + 
529
		"	X[] xs = { x };\n" + 
530
		"	^\n" + 
531
		"The type X is deprecated\n" + 
532
		"----------\n" + 
533
		"5. WARNING in Y.java (at line 9)\n" + 
534
		"	p.X x;\n" + 
535
		"	^^^\n" + 
536
		"The type X is deprecated\n" + 
537
		"----------\n" + 
538
		"6. WARNING in Y.java (at line 10)\n" + 
539
		"	p.X[] xs = { x };\n" + 
540
		"	^^^^^\n" + 
541
		"The type X is deprecated\n" + 
542
		"----------\n");
543
}
489
public static Class testClass() {
544
public static Class testClass() {
490
	return DeprecatedTest.class;
545
	return DeprecatedTest.class;
491
}
546
}
(-)compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java (-2 / +12 lines)
Lines 1179-1191 Link Here
1179
	if (location == null) return; // 1G828DN - no type ref for synthetic arguments
1179
	if (location == null) return; // 1G828DN - no type ref for synthetic arguments
1180
	int severity = computeSeverity(IProblem.UsingDeprecatedType);
1180
	int severity = computeSeverity(IProblem.UsingDeprecatedType);
1181
	if (severity == ProblemSeverities.Ignore) return;
1181
	if (severity == ProblemSeverities.Ignore) return;
1182
	type = type.leafComponentType();
1183
	int end = location.sourceEnd;
1184
	if (location instanceof ArrayTypeReference) {
1185
		end = ((ArrayTypeReference) location).originalSourceEnd;
1186
	}
1182
	this.handle(
1187
	this.handle(
1183
		IProblem.UsingDeprecatedType,
1188
		IProblem.UsingDeprecatedType,
1184
		new String[] {new String(type.readableName())},
1189
		new String[] {new String(type.readableName())},
1185
		new String[] {new String(type.shortReadableName())},
1190
		new String[] {new String(type.shortReadableName())},
1186
		severity,
1191
		severity,
1187
		location.sourceStart,
1192
		location.sourceStart,
1188
		location.sourceEnd);
1193
		end);
1189
}
1194
}
1190
public void disallowedTargetForAnnotation(Annotation annotation) {
1195
public void disallowedTargetForAnnotation(Annotation annotation) {
1191
	this.handle(
1196
	this.handle(
Lines 5276-5287 Link Here
5276
		location.sourceEnd);
5281
		location.sourceEnd);
5277
}
5282
}
5278
public void rawTypeReference(ASTNode location, TypeBinding type) {
5283
public void rawTypeReference(ASTNode location, TypeBinding type) {
5284
	type = type.leafComponentType();
5285
	int end = location.sourceEnd;
5286
	if (location instanceof ArrayTypeReference) {
5287
		end = ((ArrayTypeReference) location).originalSourceEnd;
5288
	}
5279
    this.handle(
5289
    this.handle(
5280
		IProblem.RawTypeReference,
5290
		IProblem.RawTypeReference,
5281
		new String[] {new String(type.readableName()), new String(type.erasure().readableName()), },
5291
		new String[] {new String(type.readableName()), new String(type.erasure().readableName()), },
5282
		new String[] {new String(type.shortReadableName()),new String(type.erasure().shortReadableName()),},
5292
		new String[] {new String(type.shortReadableName()),new String(type.erasure().shortReadableName()),},
5283
		location.sourceStart,
5293
		location.sourceStart,
5284
		location.sourceEnd);
5294
		end);
5285
}
5295
}
5286
public void recursiveConstructorInvocation(ExplicitConstructorCall constructorCall) {
5296
public void recursiveConstructorInvocation(ExplicitConstructorCall constructorCall) {
5287
5297
(-)compiler/org/eclipse/jdt/internal/compiler/ast/TypeReference.java (-4 / +6 lines)
Lines 134-143 Link Here
134
		reportInvalidType(scope);
134
		reportInvalidType(scope);
135
		return null;
135
		return null;
136
	}
136
	}
137
	if (isTypeUseDeprecated(this.resolvedType, scope))
137
	if (isTypeUseDeprecated(type, scope))
138
		reportDeprecatedType(scope);
138
		reportDeprecatedType(scope);
139
	
139
	type = scope.environment().convertToRawType(type);
140
	type = scope.environment().convertToRawType(type);
140
	if (type.isRawType() 
141
	if (type.leafComponentType().isRawType() 
141
			&& (this.bits & IgnoreRawTypeCheck) == 0 
142
			&& (this.bits & IgnoreRawTypeCheck) == 0 
142
			&& scope.compilerOptions().getSeverity(CompilerOptions.RawTypeReference) != ProblemSeverities.Ignore) {	
143
			&& scope.compilerOptions().getSeverity(CompilerOptions.RawTypeReference) != ProblemSeverities.Ignore) {	
143
		scope.problemReporter().rawTypeReference(this, type);
144
		scope.problemReporter().rawTypeReference(this, type);
Lines 157-166 Link Here
157
		reportInvalidType(scope);
158
		reportInvalidType(scope);
158
		return null;
159
		return null;
159
	}
160
	}
160
	if (isTypeUseDeprecated(this.resolvedType, scope))
161
	if (isTypeUseDeprecated(type, scope))
161
		reportDeprecatedType(scope);
162
		reportDeprecatedType(scope);
163
	
162
	type = scope.environment().convertToRawType(type);
164
	type = scope.environment().convertToRawType(type);
163
	if (type.isRawType() 
165
	if (type.leafComponentType().isRawType() 
164
			&& (this.bits & IgnoreRawTypeCheck) == 0 
166
			&& (this.bits & IgnoreRawTypeCheck) == 0 
165
			&& scope.compilerOptions().getSeverity(CompilerOptions.RawTypeReference) != ProblemSeverities.Ignore) {
167
			&& scope.compilerOptions().getSeverity(CompilerOptions.RawTypeReference) != ProblemSeverities.Ignore) {
166
		scope.problemReporter().rawTypeReference(this, type);
168
		scope.problemReporter().rawTypeReference(this, type);

Return to bug 159245