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