test/tools/javac/defaultMethods/Neg05.java

changeset 1393
d7d932236fee
child 1415
01c9d4161882
equal deleted inserted replaced
1392:352d130c47c5 1393:d7d932236fee
1 /*
2 * @test /nodynamiccopyright/
3 * @summary check that abstract methods are compatible with inherited defaults
4 * @compile/fail/ref=Neg05.out -XDallowDefaultMethods -XDrawDiagnostics Neg05.java
5 */
6
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
11
12 static class C implements IA3{}
13
14 static int m1(IA1 a) { return 0; }
15 static int m2(IA2 b) { return 0; }
16 }

mercurial