mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
java: override default: fix super qualifier for default method (IDEA-260570)
exclude class inheritance GitOrigin-RevId: 6d731ea550391c8f62c8800d11d85728d1bd420c
This commit is contained in:
committed by
intellij-monorepo-bot
parent
54ebbcd389
commit
e9fba42084
@@ -342,7 +342,7 @@ public final class OverrideImplementUtil extends OverrideImplementExploreUtil {
|
||||
for (PsiClassType type : targetClass.getSuperTypes()) {
|
||||
PsiClass superClass = type.resolve();
|
||||
if (InheritanceUtil.isInheritorOrSelf(superClass, aClass, true)) {
|
||||
return superClass;
|
||||
return superClass.isInterface() ? superClass : null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
interface A {
|
||||
default void foo() {}
|
||||
}
|
||||
|
||||
interface B1 extends A {}
|
||||
|
||||
class B implements A {}
|
||||
|
||||
class C extends B implements B1 {
|
||||
@Override
|
||||
public void foo() {
|
||||
<selection><caret>super.foo();</selection>
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
interface A {
|
||||
default void foo() {}
|
||||
}
|
||||
|
||||
interface B1 extends A {}
|
||||
|
||||
class B implements A {}
|
||||
|
||||
class C extends B implements B1 {
|
||||
<caret>
|
||||
}
|
||||
@@ -53,6 +53,8 @@ class OverrideImplementTest extends LightJavaCodeInsightFixtureTestCase {
|
||||
|
||||
void testExtensionMethods1() { doTest(true) }
|
||||
|
||||
void testExtensionMethods2() { doTest(true) }
|
||||
|
||||
void testSkipUnknownAnnotations() { doTest(true) }
|
||||
|
||||
void testMultipleInheritedThrows() { doTest(false) }
|
||||
|
||||
Reference in New Issue
Block a user