test/tools/javac/defaultMethods/Neg02.java

Mon, 04 Jul 2016 13:06:03 -0700

author
asaha
date
Mon, 04 Jul 2016 13:06:03 -0700
changeset 3255
b4bd1c5fbbe3
parent 2020
bb7271e64ef6
child 2525
2eb010b6cb22
permissions
-rw-r--r--

Added tag jdk8u111-b03 for changeset 386c8bc6dd3e

jfranck@2020 1 /* @test /nodynamiccopyright/
jfranck@2020 2 * @bug 7192246
mcimadamore@1393 3 * @summary check that ill-formed MI hierarchies do not compile
mcimadamore@1415 4 * @compile/fail/ref=Neg02.out -XDrawDiagnostics Neg02.java
mcimadamore@1393 5 */
mcimadamore@1393 6
mcimadamore@1393 7 class Neg02 {
mcimadamore@1393 8 interface A {
mcimadamore@1393 9 default void m() { Neg02.impl(this); }
mcimadamore@1393 10 }
mcimadamore@1393 11
mcimadamore@1393 12 interface B {
mcimadamore@1393 13 default void m() { Neg02.impl(this); }
mcimadamore@1393 14 }
mcimadamore@1393 15
mcimadamore@1393 16 static class X implements A, B { } //error
mcimadamore@1393 17
mcimadamore@1393 18 void test(X x) {
mcimadamore@1393 19 x.m();
mcimadamore@1393 20 ((A)x).m();
mcimadamore@1393 21 ((B)x).m();
mcimadamore@1393 22 }
mcimadamore@1393 23
mcimadamore@1393 24 static void impl(A a) { }
mcimadamore@1393 25 static void impl(B b) { }
mcimadamore@1393 26 }

mercurial