diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/IndexHelper.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/IndexHelper.kt index 304945e335d..22bb91aa05d 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/IndexHelper.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/IndexHelper.kt @@ -15,6 +15,7 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.IndexHelper.Companion.asStrin import org.jetbrains.kotlin.idea.stubindex.* import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.KtFunction import org.jetbrains.kotlin.psi.KtNamedFunction import org.jetbrains.kotlin.psi.KtProperty @@ -66,6 +67,11 @@ public class IndexHelper(val project: Project, private val scope: GlobalSearchSc fun getTopLevelFunctionsInPackage(packageFqName: FqName): Collection = KotlinTopLevelFunctionByPackageIndex.getInstance().get(packageFqName.asStringForIndexes(), project, scope) + fun getClassNamesInPackage(packageFqName: FqName): Set = + KotlinTopLevelClassByPackageIndex.getInstance() + .get(packageFqName.asStringForIndexes(), project, scope) + .mapNotNullTo(hashSetOf()) { it.nameAsName } + companion object { private fun CallableId.asStringForIndexes(): String = diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/providers/FirIdeProvider.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/providers/FirIdeProvider.kt index 26d426be04c..0bddd20fe05 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/providers/FirIdeProvider.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/providers/FirIdeProvider.kt @@ -114,10 +114,8 @@ internal class FirIdeProvider( TODO() } - override fun getClassNamesInPackage(fqName: FqName): Set { - // TODO: KT-41048 - return emptySet() - } + override fun getClassNamesInPackage(fqName: FqName): Set = + indexHelper.getClassNamesInPackage(fqName) @NoMutableState private inner class SymbolProvider : FirSymbolProvider(session) {