From f23ca8f7e4e6bc74e2ad306d269653a55fa2fe91 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Thu, 5 Jun 2025 13:50:17 +0200 Subject: [PATCH] [kotlin] k2 unused symbol: use the correct session to analyze usages ^KTIJ-34457 fixed GitOrigin-RevId: fed14af2b01053816639e54b2125596cf00772b1 --- .../kotlin/idea/highlighting/K2UnusedSymbolUtil.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/kotlin/highlighting/highlighting-k2/src/org/jetbrains/kotlin/idea/highlighting/K2UnusedSymbolUtil.kt b/plugins/kotlin/highlighting/highlighting-k2/src/org/jetbrains/kotlin/idea/highlighting/K2UnusedSymbolUtil.kt index 21eff6cfa212..988b374e29ea 100644 --- a/plugins/kotlin/highlighting/highlighting-k2/src/org/jetbrains/kotlin/idea/highlighting/K2UnusedSymbolUtil.kt +++ b/plugins/kotlin/highlighting/highlighting-k2/src/org/jetbrains/kotlin/idea/highlighting/K2UnusedSymbolUtil.kt @@ -419,7 +419,7 @@ object K2UnusedSymbolUtil { if (declaration is KtEnumEntry) { val enumClass = declarationContainingClass?.takeIf { it.isEnum() } - if (hasBuiltInEnumFunctionReference(enumClass, useScope, declaration)) return true + if (hasBuiltInEnumFunctionReference(enumClass, useScope)) return true } } @@ -493,10 +493,11 @@ object K2UnusedSymbolUtil { } context(KaSession) - private fun hasBuiltInEnumFunctionReference(enumClass: KtClass?, useScope: SearchScope, declaration: KtNamedDeclaration): Boolean { + private fun hasBuiltInEnumFunctionReference(enumClass: KtClass?, useScope: SearchScope): Boolean { if (enumClass == null) return false val isFoundEnumFunctionReferenceViaSearch = referenceExists(enumClass, useScope) { - analyze(declaration) { + val ktElement = it.element as? KtElement ?: return@referenceExists false + analyze(ktElement) { hasBuiltInEnumFunctionReference(it, enumClass) } }