From a1c599bdcece533070e223775eaf5745be3c5075 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 29 Nov 2022 15:18:00 +0100 Subject: [PATCH] [kotlin] [fir] enable search by base method (KTIJ-21662) GitOrigin-RevId: 255219d64d4ad7d13d079ddd858336a047430ef4 --- .../findUsages/kotlin/conventions/invokeInheritance.0.kt | 1 + .../idea/searching/usages/KotlinK2FindUsagesSupport.kt | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/kotlin/idea/tests/testData/findUsages/kotlin/conventions/invokeInheritance.0.kt b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/conventions/invokeInheritance.0.kt index 5050063ea57f..200cb52a12b9 100644 --- a/plugins/kotlin/idea/tests/testData/findUsages/kotlin/conventions/invokeInheritance.0.kt +++ b/plugins/kotlin/idea/tests/testData/findUsages/kotlin/conventions/invokeInheritance.0.kt @@ -15,3 +15,4 @@ fun test() { c() c.invoke() } +// FIR_COMPARISON \ No newline at end of file diff --git a/plugins/kotlin/kotlin.searching/src/org/jetbrains/kotlin/idea/searching/usages/KotlinK2FindUsagesSupport.kt b/plugins/kotlin/kotlin.searching/src/org/jetbrains/kotlin/idea/searching/usages/KotlinK2FindUsagesSupport.kt index 8e7577711044..d3f4e645ae1c 100644 --- a/plugins/kotlin/kotlin.searching/src/org/jetbrains/kotlin/idea/searching/usages/KotlinK2FindUsagesSupport.kt +++ b/plugins/kotlin/kotlin.searching/src/org/jetbrains/kotlin/idea/searching/usages/KotlinK2FindUsagesSupport.kt @@ -113,8 +113,10 @@ internal class KotlinK2FindUsagesSupport : KotlinFindUsagesSupport { } override fun getSuperMethods(declaration: KtDeclaration, ignore: Collection?): List { - // TODO: implement this - return emptyList() + if (!declaration.hasModifier(KtTokens.OVERRIDE_KEYWORD)) return emptyList() + return analyzeInModalWindow(declaration, KotlinBundle.message("find.usages.progress.text.declaration.superMethods")) { + (declaration.getSymbol() as? KtCallableSymbol)?.getAllOverriddenSymbols()?.mapNotNull { it.psi }?.toList().orEmpty() + } } override fun checkSuperMethods(