test/tools/javac/defaultMethods/Neg12.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

mcimadamore@1393 1 /*
mcimadamore@1393 2 * @test /nodynamiccopyright/
mcimadamore@1393 3 * @summary check that abstract methods are discarded in overload resolution diags
mcimadamore@1415 4 * @compile/fail/ref=Neg12.out -XDrawDiagnostics Neg12.java
mcimadamore@1393 5 */
mcimadamore@1393 6 class Neg12 {
mcimadamore@1393 7
mcimadamore@1393 8 interface I1 {
mcimadamore@1393 9 default void m(String s) {};
mcimadamore@1393 10 }
mcimadamore@1393 11
mcimadamore@1393 12 interface I2 {
mcimadamore@1393 13 void m(String s);
mcimadamore@1393 14 }
mcimadamore@1393 15
mcimadamore@1393 16 static class B {
mcimadamore@1393 17 void m(Integer i) { }
mcimadamore@1393 18 }
mcimadamore@1393 19
mcimadamore@1393 20 static class C extends B implements I1 { }
mcimadamore@1393 21 static class D extends B implements I2 { }
mcimadamore@1393 22
mcimadamore@1393 23 void test(C c, D d) {
mcimadamore@1393 24 c.m();
mcimadamore@1393 25 d.m();
mcimadamore@1393 26 }
mcimadamore@1393 27 }

mercurial