Thu, 21 Feb 2013 15:26:46 +0000
8007461: Regression: bad overload resolution when inner class and outer class have method with same name
Summary: Fix regression in varargs method resolution introduced by bad refactoring
Reviewed-by: jjg
mcimadamore@1393 | 1 | /* |
mcimadamore@1393 | 2 | * @test /nodynamiccopyright/ |
mcimadamore@1393 | 3 | * @summary check that abstract methods are compatible with inherited defaults |
mcimadamore@1415 | 4 | * @compile/fail/ref=Neg05.out -XDrawDiagnostics Neg05.java |
mcimadamore@1393 | 5 | */ |
mcimadamore@1393 | 6 | |
mcimadamore@1393 | 7 | class Neg05 { |
mcimadamore@1393 | 8 | interface IA1 { default Number m() { return Neg05.m1(this); } } |
mcimadamore@1393 | 9 | interface IA2 extends IA1 { default Integer m() { return Neg05.m2(this); } } |
mcimadamore@1393 | 10 | interface IA3 extends IA2 { Number m(); } //error |
mcimadamore@1393 | 11 | |
mcimadamore@1393 | 12 | static class C implements IA3{} |
mcimadamore@1393 | 13 | |
mcimadamore@1393 | 14 | static int m1(IA1 a) { return 0; } |
mcimadamore@1393 | 15 | static int m2(IA2 b) { return 0; } |
mcimadamore@1393 | 16 | } |