27 lines
550 B
Java
27 lines
550 B
Java
|
/*
|
||
|
* @test /nodynamiccopyright/
|
||
|
* @summary check that ill-formed MI hierarchies do not compile
|
||
|
* @compile/fail/ref=Neg02.out -XDallowDefaultMethods -XDrawDiagnostics Neg02.java
|
||
|
*/
|
||
|
|
||
|
class Neg02 {
|
||
|
interface A {
|
||
|
default void m() { Neg02.impl(this); }
|
||
|
}
|
||
|
|
||
|
interface B {
|
||
|
default void m() { Neg02.impl(this); }
|
||
|
}
|
||
|
|
||
|
static class X implements A, B { } //error
|
||
|
|
||
|
void test(X x) {
|
||
|
x.m();
|
||
|
((A)x).m();
|
||
|
((B)x).m();
|
||
|
}
|
||
|
|
||
|
static void impl(A a) { }
|
||
|
static void impl(B b) { }
|
||
|
}
|