From aa625ffb0da7549f40ff244d04ac4404488eea7b Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Mon, 12 Dec 2022 23:43:56 +0100 Subject: [PATCH] [SLC] implement 'isInheritor' for 'DefaultImpls' ^KT-55442 Fixed --- .../classes/SymbolLightClassForInterfaceDefaultImpls.kt | 7 ++++++- .../testData/structureByFqName/DefaultImpls.inh.txt | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForInterfaceDefaultImpls.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForInterfaceDefaultImpls.kt index 0589cab1983..388a1a33503 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForInterfaceDefaultImpls.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForInterfaceDefaultImpls.kt @@ -48,8 +48,13 @@ internal class SymbolLightClassForInterfaceDefaultImpls(private val containingCl override fun isAnnotationType(): Boolean = false override fun isEnum(): Boolean = false override fun hasTypeParameters(): Boolean = false - override fun isInheritor(baseClass: PsiClass, checkDeep: Boolean): Boolean = false + override fun isInheritor(baseClass: PsiClass, checkDeep: Boolean): Boolean = + baseClass.qualifiedName == CommonClassNames.JAVA_LANG_OBJECT + + override fun getExtendsListTypes(): Array = PsiClassType.EMPTY_ARRAY override fun getExtendsList(): PsiReferenceList? = null + override fun getImplementsListTypes(): Array = PsiClassType.EMPTY_ARRAY + override fun getImplementsList(): PsiReferenceList? = null @Throws(IncorrectOperationException::class) override fun setName(name: String): PsiElement { diff --git a/analysis/symbol-light-classes/testData/structureByFqName/DefaultImpls.inh.txt b/analysis/symbol-light-classes/testData/structureByFqName/DefaultImpls.inh.txt index 36619de6524..6bb5f9310fe 100644 --- a/analysis/symbol-light-classes/testData/structureByFqName/DefaultImpls.inh.txt +++ b/analysis/symbol-light-classes/testData/structureByFqName/DefaultImpls.inh.txt @@ -1,2 +1,2 @@ -one.two.MyInterface.DefaultImpls|java.lang.Object|false| -> false -one.two.MyInterface.DefaultImpls|java.lang.Object|true| -> false +one.two.MyInterface.DefaultImpls|java.lang.Object|false| -> true +one.two.MyInterface.DefaultImpls|java.lang.Object|true| -> true