langtools/test/tools/javac/generics/6476118/T6476118c.java
author mcimadamore
Thu, 09 Dec 2010 15:50:34 +0000
changeset 7628 e7baeb97d164
child 8242 3873b4aaf4a8
permissions -rw-r--r--
6476118: compiler bug causes runtime ClassCastException for generics overloading Summary: compiler allows bridge methods to override unrelated method Reviewed-by: jjg
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7628
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
     1
/**
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
     2
 * @test  /nodynamiccopyright/
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
     3
 * @bug 6476118
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
     4
 * @summary compiler bug causes runtime ClassCastException for generics overloading
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
     5
 * @compile/fail/ref=T6476118c.out -XDrawDiagnostics T6476118c.java
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
     6
 */
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
     7
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
     8
class T6476118b {
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
     9
    static class A<T> {
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
    10
        public void foo(T t) { }
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
    11
    }
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
    12
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
    13
    static class B<T extends Number> extends A<T> {
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
    14
        public void foo(T t) { }
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
    15
    }
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
    16
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
    17
    static class C extends B<Integer> {
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
    18
        public void foo(Object o) { }
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
    19
        public void foo(Number o) { }
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
    20
    }
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
    21
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
    22
    static class D extends C {} //check that no spurious diags generated here!
e7baeb97d164 6476118: compiler bug causes runtime ClassCastException for generics overloading
mcimadamore
parents:
diff changeset
    23
}