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