unrelated defaults: check if current class contains explicit method (IDEA-164732)

This commit is contained in:
Anna.Kozlova
2016-12-02 11:09:46 +01:00
parent 4cddcc91a3
commit 382b78aeca
3 changed files with 32 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
interface A<E> {
void foo(E item);
}
interface B1<E> extends A<E> {
@Override
default void foo(E item) {}
}
interface B2<E> extends A<E> {
@Override
default void foo(E item) {}
}
interface C1<E> extends B1<E> {}
interface C2<E> extends B2<E> {}
interface Bottom1<E> extends C2<E>, C1<E> {
@Override
default void foo(E item) {}
}
interface Bottom2<E> extends C2<E>, C1<E> {
@Override
void foo(E item);
}
interface <error descr="Bottom3 inherits unrelated defaults for foo(E) from types B2 and B1">Bottom3</error><E> extends C2<E>, C1<E> {}