mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-26 00:11:26 +07:00
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:
+24
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user