FIR IDE: implement FirIdeProvider.getClassNamesInPackage

#KT-41048 fixed
This commit is contained in:
Ilya Kirillov
2020-12-31 12:22:05 +01:00
parent a52674f181
commit c131983188
2 changed files with 8 additions and 4 deletions
@@ -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<KtFunction> =
KotlinTopLevelFunctionByPackageIndex.getInstance().get(packageFqName.asStringForIndexes(), project, scope)
fun getClassNamesInPackage(packageFqName: FqName): Set<Name> =
KotlinTopLevelClassByPackageIndex.getInstance()
.get(packageFqName.asStringForIndexes(), project, scope)
.mapNotNullTo(hashSetOf()) { it.nameAsName }
companion object {
private fun CallableId.asStringForIndexes(): String =
@@ -114,10 +114,8 @@ internal class FirIdeProvider(
TODO()
}
override fun getClassNamesInPackage(fqName: FqName): Set<Name> {
// TODO: KT-41048
return emptySet()
}
override fun getClassNamesInPackage(fqName: FqName): Set<Name> =
indexHelper.getClassNamesInPackage(fqName)
@NoMutableState
private inner class SymbolProvider : FirSymbolProvider(session) {