fix inheritance of abstract and default methods when multiple defaults are present

This commit is contained in:
Anna.Kozlova
2016-08-09 14:32:14 +02:00
parent dad8ec13e5
commit 0e3d077bfe
4 changed files with 93 additions and 15 deletions

View File

@@ -0,0 +1,22 @@
interface I {
void foo();
}
interface I1 extends I {
//void foo();
}
interface J {
default void foo() {}
}
interface A extends J, I {
@Override
default void foo() {}
}
interface O extends J {
}
interface R extends O, A, I1{}

View File

@@ -0,0 +1,22 @@
interface I {
void foo();
}
interface I1 extends I {
}
interface J {
default void foo() {}
}
interface A extends J, I {
@Override
default void foo() {}
}
interface O extends J {
default void foo() {}
}
interface <error descr="R inherits unrelated defaults for foo() from types O and A">R</error> extends O, A, I1{}