| /** |
| * @test /nodynamiccopyright/ |
| * @bug 6747671 8022567 |
| * @summary -Xlint:rawtypes |
| * @compile/ref=T6747671.out -XDrawDiagnostics -Xlint:rawtypes T6747671.java |
| */ |
| |
| |
| class T6747671<E> { |
| |
| static class B<X> {} |
| |
| class A<X> { |
| class X {} |
| class Z<Y> {} |
| } |
| |
| |
| A.X x1;//raw warning |
| A.Z z1;//raw warning |
| |
| T6747671.B<Integer> b1;//ok |
| T6747671.B b2;//raw warning |
| |
| A<String>.X x2;//ok |
| A<String>.Z<Integer> z2;//ok |
| A<B>.Z<A<B>> z3;//raw warning (2) |
| |
| void test(Object arg1, B arg2) {//raw warning |
| boolean b = arg1 instanceof A;//ok |
| Object a = (A)arg1;//ok |
| A a2 = new A() {};//raw warning (2) |
| a2.new Z() {};//raw warning |
| } |
| |
| @TA B @TA[] arr = new @TA B @TA [0];//JDK-8022567: raw warning (2) |
| //todo: 8057688 type annotations in type argument position are lost |
| Class<B[]> classes1;//no warning |
| Class<B>[] classes2;//no warning |
| |
| @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_USE) |
| @interface TA { } |
| } |