T6747671.java revision 2628:8df25ec8c930
1/** 2 * @test /nodynamiccopyright/ 3 * @bug 6747671 8022567 4 * @summary -Xlint:rawtypes 5 * @compile/ref=T6747671.out -XDrawDiagnostics -Xlint:rawtypes T6747671.java 6 */ 7 8 9class T6747671<E> { 10 11 static class B<X> {} 12 13 class A<X> { 14 class X {} 15 class Z<Y> {} 16 } 17 18 19 A.X x1;//raw warning 20 A.Z z1;//raw warning 21 22 T6747671.B<Integer> b1;//ok 23 T6747671.B b2;//raw warning 24 25 A<String>.X x2;//ok 26 A<String>.Z<Integer> z2;//ok 27 A<B>.Z<A<B>> z3;//raw warning (2) 28 29 void test(Object arg1, B arg2) {//raw warning 30 boolean b = arg1 instanceof A;//ok 31 Object a = (A)arg1;//ok 32 A a2 = new A() {};//raw warning (2) 33 a2.new Z() {};//raw warning 34 } 35 36 @TA B @TA[] arr = new @TA B @TA [0];//JDK-8022567: raw warning (2) 37 //todo: 8057688 type annotations in type argument position are lost 38 Class<B[]> classes1;//no warning 39 Class<B>[] classes2;//no warning 40 41 @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_USE) 42 @interface TA { } 43} 44