From 8d2bf8828c20c76c0b60a5f7c59242bac3ad9e03 Mon Sep 17 00:00:00 2001 From: Marco Pennekamp Date: Thu, 19 Oct 2023 19:23:33 +0200 Subject: [PATCH] [LL FIR] Remove `LLFirProviderHelper.getTopLevelClassNamesInPackage` - We shouldn't bypass the symbol names cache, as the IDE declaration provider doesn't cache name sets. ^KT-57314 --- .../analysis/low/level/api/fir/providers/LLFirProvider.kt | 6 +++++- .../low/level/api/fir/providers/LLFirProviderHelper.kt | 5 ----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/providers/LLFirProvider.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/providers/LLFirProvider.kt index b48840c57a2..5578e22ae3c 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/providers/LLFirProvider.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/providers/LLFirProvider.kt @@ -101,7 +101,11 @@ internal class LLFirProvider( override fun getFirFilesByPackage(fqName: FqName): List = error("Should not be called in FIR IDE") - override fun getClassNamesInPackage(fqName: FqName): Set = providerHelper.getTopLevelClassNamesInPackage(fqName) + override fun getClassNamesInPackage(fqName: FqName): Set = + providerHelper.symbolNameCache.getTopLevelClassifierNamesInPackage(fqName) + ?: errorWithAttachment("Cannot compute the set of class names in the given package") { + withEntry("packageFqName", fqName.asString()) + } @NoMutableState internal inner class SymbolProvider : LLFirKotlinSymbolProvider(session) { diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/providers/LLFirProviderHelper.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/providers/LLFirProviderHelper.kt index f994fd5c5da..a60dac80e30 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/providers/LLFirProviderHelper.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/providers/LLFirProviderHelper.kt @@ -119,11 +119,6 @@ internal class LLFirProviderHelper( return classifierByClassId.getNotNullValueForNotNullContext(classId, classLikeDeclaration) } - fun getTopLevelClassNamesInPackage(packageFqName: FqName): Set { - if (!allowKotlinPackage && packageFqName.isKotlinPackage()) return emptySet() - return declarationProvider.getTopLevelKotlinClassLikeDeclarationNamesInPackage(packageFqName) - } - fun getTopLevelCallableSymbols(packageFqName: FqName, name: Name): List> { if (!allowKotlinPackage && packageFqName.isKotlinPackage()) return emptyList() val callableId = CallableId(packageFqName, name)