test/tools/javac/defaultMethods/Neg05.java

Fri, 05 Jul 2013 11:04:22 +0100

author
mcimadamore
date
Fri, 05 Jul 2013 11:04:22 +0100
changeset 1890
bfbedbfc522a
parent 1415
01c9d4161882
child 2020
bb7271e64ef6
permissions
-rw-r--r--

8016702: use of ternary operator in lambda expression gives incorrect results
Summary: Constant types erroneously creep in during inference
Reviewed-by: jjg, vromero

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 }

mercurial