Thu, 21 Feb 2013 15:27:05 +0000
8008444: Inherited generic functional descriptors are merged incorrectly
Summary: Missing call to Types.createMethodWithThrownTypes
Reviewed-by: jjg
mcimadamore@780 | 1 | /** |
mcimadamore@780 | 2 | * @test /nodynamiccopyright/ |
mcimadamore@780 | 3 | * @bug 6476118 |
mcimadamore@780 | 4 | * @summary compiler bug causes runtime ClassCastException for generics overloading |
mcimadamore@780 | 5 | * @compile/fail/ref=T6476118c.out -XDrawDiagnostics T6476118c.java |
mcimadamore@780 | 6 | */ |
mcimadamore@780 | 7 | |
mcimadamore@858 | 8 | class T6476118c { |
mcimadamore@780 | 9 | static class A<T> { |
mcimadamore@780 | 10 | public void foo(T t) { } |
mcimadamore@780 | 11 | } |
mcimadamore@780 | 12 | |
mcimadamore@780 | 13 | static class B<T extends Number> extends A<T> { |
mcimadamore@780 | 14 | public void foo(T t) { } |
mcimadamore@780 | 15 | } |
mcimadamore@780 | 16 | |
mcimadamore@780 | 17 | static class C extends B<Integer> { |
mcimadamore@780 | 18 | public void foo(Object o) { } |
mcimadamore@780 | 19 | public void foo(Number o) { } |
mcimadamore@780 | 20 | } |
mcimadamore@780 | 21 | |
mcimadamore@780 | 22 | static class D extends C {} //check that no spurious diags generated here! |
mcimadamore@780 | 23 | } |