test/tools/javac/defaultMethods/Neg05.java

Thu, 21 Feb 2013 15:26:46 +0000

author
mcimadamore
date
Thu, 21 Feb 2013 15:26:46 +0000
changeset 1599
9f0ec00514b6
parent 1415
01c9d4161882
child 2020
bb7271e64ef6
permissions
-rw-r--r--

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

     1 /*
     2  * @test /nodynamiccopyright/
     3  * @summary check that abstract methods are compatible with inherited defaults
     4  * @compile/fail/ref=Neg05.out -XDrawDiagnostics Neg05.java
     5  */
     7 class Neg05 {
     8     interface IA1 { default Number m() { return Neg05.m1(this); } }
     9     interface IA2 extends IA1 { default Integer m() { return Neg05.m2(this); } }
    10     interface IA3 extends IA2 { Number m(); } //error
    12     static class C implements IA3{}
    14     static int m1(IA1 a) { return 0; }
    15     static int m2(IA2 b) { return 0; }
    16 }

mercurial