From ff063f553eebc97ba99777b526678e8ae717f267 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Mon, 8 Jan 2024 14:43:15 +0200 Subject: [PATCH] [FIR] Make session part of the key of declared scope cache In the following commits, there will be a need to retrieve the scope of the same class from different sessions, so we need to consider the session as part of the key along with class symbol --- .../src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt | 2 +- .../org/jetbrains/kotlin/fir/scopes/FirKotlinScopeProvider.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt index fb4866ee86d..8be1be195f4 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt @@ -175,7 +175,7 @@ inline fun scopeSessionKey(): ScopeSes return object : ScopeSessionKey() {} } -val USE_SITE = scopeSessionKey, FirTypeScope>() +val USE_SITE = scopeSessionKey>, FirTypeScope>() /* TODO REMOVE */ fun createSubstitutionForScope( diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/FirKotlinScopeProvider.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/FirKotlinScopeProvider.kt index fcf84c88eac..d59ad4c4869 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/FirKotlinScopeProvider.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/FirKotlinScopeProvider.kt @@ -46,7 +46,7 @@ class FirKotlinScopeProvider( klass.lazyResolveToPhaseWithCallableMembers(it) } - return scopeSession.getOrBuild(klass.symbol, USE_SITE) { + return scopeSession.getOrBuild(useSiteSession to klass.symbol, USE_SITE) { val declaredScope = useSiteSession.declaredMemberScope(klass, memberRequiredPhase) val possiblyDelegatedDeclaredMemberScope = declaredMemberScopeDecorator( klass,