From 75a3d2fb9778d4b309e978070897efb54ba4ef93 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Tue, 8 Oct 2019 11:56:46 +0300 Subject: [PATCH] FirClassDeclaredMemberScope: keep cache in provider but not in ScopeSession --- .../src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt | 2 +- .../src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt index 1f4ebc2fc9e..3ec839573b7 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt @@ -90,7 +90,7 @@ class JavaSymbolProvider( visitedSymbols: MutableSet> ): JavaClassUseSiteScope { return scopeSession.getOrBuild(regularClass.symbol, JAVA_USE_SITE) { - val declaredScope = scopeSession.getOrBuild(regularClass.symbol, DECLARED) { declaredMemberScope(regularClass) } + val declaredScope = declaredMemberScope(regularClass) val superTypeEnhancementScopes = lookupSuperTypes(regularClass, lookupInterfaces = true, deep = false, useSiteSession = useSiteSession) .mapNotNull { useSiteSuperType -> diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt index 216d342254b..1d490d0c09c 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt @@ -48,7 +48,6 @@ inline fun scopeSessionKey(): ScopeSessionKey { } val USE_SITE = scopeSessionKey() -val DECLARED = scopeSessionKey() data class SubstitutionScopeKey(val type: ConeClassLikeType) : ScopeSessionKey() {} @@ -67,7 +66,7 @@ fun FirTypeAlias.buildUseSiteScope(useSiteSession: FirSession, builder: ScopeSes fun FirRegularClass.buildDefaultUseSiteScope(useSiteSession: FirSession, builder: ScopeSession): FirScope { return builder.getOrBuild(symbol, USE_SITE) { - val declaredScope = builder.getOrBuild(this.symbol, DECLARED) { declaredMemberScope(this) } + val declaredScope = declaredMemberScope(this) val scopes = lookupSuperTypes(this, lookupInterfaces = true, deep = false, useSiteSession = useSiteSession) .mapNotNull { useSiteSuperType -> if (useSiteSuperType is ConeClassErrorType) return@mapNotNull null