Interface.super method calls: ensure valid qualifier (IDEA-173888)

forbid calls to super methods which are overridden in direct superinterfaces
This commit is contained in:
Anna Kozlova
2017-06-05 14:34:18 +03:00
parent 893f166226
commit 12c350758d
2 changed files with 29 additions and 3 deletions
@@ -81,3 +81,27 @@ class InsideThisRxpression {
public interface Bar extends Foo {}
}
class SameDefaultMethodDifferentInheritors {
interface A { default void a() {} }
interface B extends A { default void a() {} }
interface B1 extends A { }
interface C extends A {}
class Clazz implements B, C {
{
<error descr="Bad type qualifier in default super call: method a is overridden in SameDefaultMethodDifferentInheritors.B">C</error>.super.a();
}
}
class Clazz1 implements B1, C {
{
C.super.a();
}
}
class Clazz2 implements C {
{
C.super.a();
}
}
}