langtools/test/tools/javac/warnings/7090499/T7090499.java
author mcimadamore
Thu, 06 Oct 2011 18:39:31 +0100
changeset 10721 ca322e50ddb7
permissions -rw-r--r--
7090499: missing rawtypes warnings in anonymous inner class Summary: javac does not detect raw types inside anonymous inner classes Reviewed-by: jjg
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10721
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
     1
/**
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
     2
 * @test /nodynamiccopyright/
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
     3
 * @bug 7094099
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
     4
 * @summary -Xlint:rawtypes
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
     5
 * @compile/fail/ref=T7090499.out -XDrawDiagnostics -Xlint:rawtypes T7090499.java
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
     6
 */
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
     7
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
     8
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
     9
class T7090499<E> {
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    10
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    11
    static class B<X> {}
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    12
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    13
    class A<X> {
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    14
        class X {}
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    15
        class Z<Y> {}
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    16
    }
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    17
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    18
    T7090499 t = new T7090499() { //raw warning (2)
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    19
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    20
        A.X x1;//raw warning
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    21
        A.Z z1;//raw warning
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    22
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    23
        T7090499.B<Integer> b1;//ok
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    24
        T7090499.B b2;//raw warning
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    25
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    26
        A<String>.X x2;//ok
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    27
        A<String>.Z<Integer> z2;//ok
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    28
        A<B>.Z<A<B>> z3;//raw warning (2)
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    29
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    30
        void test(Object arg1, B arg2) {//raw warning
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    31
            boolean b = arg1 instanceof A;//ok
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    32
            Object a = (A)arg1;//ok
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    33
            A a2 = new A() {};//raw warning (2)
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    34
            a2.new Z() {};//raw warning
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    35
        }
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    36
    };
ca322e50ddb7 7090499: missing rawtypes warnings in anonymous inner class
mcimadamore
parents:
diff changeset
    37
}