From 8d15e0e82469b5130df6689065fb4bb123f8d888 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Wed, 29 Sep 2021 13:27:40 +0200 Subject: [PATCH] Analysis API: use FirSession from star importing scope for resolving classifiers Resolve should happen from the use-site of the file to which importing scope belongs to --- .../kotlin/analysis/api/fir/components/KtFirScopeProvider.kt | 2 +- .../analysis/api/fir/scopes/KtFirNonStarImportingScope.kt | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirScopeProvider.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirScopeProvider.kt index 251922317dc..a4393c00414 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirScopeProvider.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirScopeProvider.kt @@ -182,7 +182,7 @@ internal class KtFirScopeProvider( private fun convertToKtScope(firScope: FirScope): KtScope { return when (firScope) { - is FirAbstractSimpleImportingScope -> KtFirNonStarImportingScope(firScope, builder, token, analysisSession.rootModuleSession) + is FirAbstractSimpleImportingScope -> KtFirNonStarImportingScope(firScope, builder, token) is FirAbstractStarImportingScope -> KtFirStarImportingScope(firScope, builder, project, token) is FirPackageMemberScope -> KtFirPackageScope( firScope.fqName, diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/scopes/KtFirNonStarImportingScope.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/scopes/KtFirNonStarImportingScope.kt index a31b6cc988c..3e122754a98 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/scopes/KtFirNonStarImportingScope.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/scopes/KtFirNonStarImportingScope.kt @@ -27,7 +27,6 @@ internal class KtFirNonStarImportingScope( private val firScope: FirAbstractSimpleImportingScope, private val builder: KtSymbolByFirBuilder, override val token: ValidityToken, - private val firSession: FirSession ) : KtNonStarImportingScope, ValidityTokenOwner { @OptIn(ExperimentalStdlibApi::class) @@ -38,7 +37,7 @@ internal class KtFirNonStarImportingScope( val importedClassId = import.importedName?.let { importedName -> val importedClassId = import.resolvedParentClassId?.createNestedClassId(importedName) ?: ClassId(import.packageFqName, importedName) - importedClassId.takeIf { firSession.symbolProvider.getClassLikeSymbolByClassId(it) != null } + importedClassId.takeIf { firScope.session.symbolProvider.getClassLikeSymbolByClassId(it) != null } } NonStarImport( import.packageFqName,