[Analysis API] optimize DeclarationsInPackageProvider.getTopLevelClassifierNamesInPackageProvider

This commit is contained in:
Ilya Kirillov
2023-05-15 21:37:26 +02:00
committed by Space Team
parent d1da3b8acd
commit 993acad3f3
@@ -5,6 +5,8 @@
package org.jetbrains.kotlin.analysis.api.fir.scopes package org.jetbrains.kotlin.analysis.api.fir.scopes
import com.intellij.psi.PsiManager
import com.intellij.psi.impl.file.PsiPackageImpl
import org.jetbrains.kotlin.analysis.api.fir.KtFirAnalysisSession import org.jetbrains.kotlin.analysis.api.fir.KtFirAnalysisSession
import org.jetbrains.kotlin.analysis.providers.impl.forEachNonKotlinPsiElementFinder import org.jetbrains.kotlin.analysis.providers.impl.forEachNonKotlinPsiElementFinder
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
@@ -21,10 +23,10 @@ internal object DeclarationsInPackageProvider {
when { when {
analysisSession.targetPlatform.isJvm() -> { analysisSession.targetPlatform.isJvm() -> {
val psiPackage = PsiPackageImpl(PsiManager.getInstance(analysisSession.project), packageFqName.asString())
forEachNonKotlinPsiElementFinder(analysisSession.project) { finder -> forEachNonKotlinPsiElementFinder(analysisSession.project) { finder ->
finder.findPackage(packageFqName.asString()) finder.getClassNames(psiPackage, analysisSession.useSiteAnalysisScope)
?.getClasses(analysisSession.useSiteAnalysisScope) .mapNotNullTo(this, Name::identifier)
?.mapNotNullTo(this) { it.name?.let(Name::identifier) }
} }
} }
} }