From 69905ab32534eb96298afeedd7d424de6fb17915 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Tue, 8 Oct 2019 12:14:49 +0300 Subject: [PATCH] Derive FirClassDeclaredMemberScopeProvider from FirSessionComponent --- .../src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt | 2 ++ .../kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt index 36daab34515..6f08a67b328 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt @@ -15,6 +15,7 @@ import org.jetbrains.kotlin.fir.references.FirErrorNamedReference import org.jetbrains.kotlin.fir.resolve.calls.FirNamedReferenceWithCandidate import org.jetbrains.kotlin.fir.resolve.substitution.AbstractConeSubstitutor import org.jetbrains.kotlin.fir.resolve.transformers.resultType +import org.jetbrains.kotlin.fir.scopes.impl.FirClassDeclaredMemberScopeProvider import org.jetbrains.kotlin.fir.scopes.impl.withReplacedConeType import org.jetbrains.kotlin.fir.symbols.* import org.jetbrains.kotlin.fir.symbols.impl.* @@ -38,6 +39,7 @@ inline fun MutableMap.getOrPut(key: K, defaultValue: (K) -> val FirSession.firSymbolProvider: FirSymbolProvider by componentArrayAccessor() val FirSession.firProvider: FirProvider by componentArrayAccessor() val FirSession.correspondingSupertypesCache: FirCorrespondingSupertypesCache by componentArrayAccessor() +val FirSession.declaredMemberScopeProvider: FirClassDeclaredMemberScopeProvider by componentArrayAccessor() fun ConeClassLikeLookupTag.toSymbol(useSiteSession: FirSession): FirClassLikeSymbol<*>? { val firSymbolProvider = useSiteSession.firSymbolProvider diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt index 059307390e8..86503d68f55 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt @@ -5,19 +5,20 @@ package org.jetbrains.kotlin.fir.scopes.impl +import org.jetbrains.kotlin.fir.FirSessionComponent import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration import org.jetbrains.kotlin.fir.declarations.FirConstructor import org.jetbrains.kotlin.fir.declarations.FirRegularClass +import org.jetbrains.kotlin.fir.resolve.declaredMemberScopeProvider import org.jetbrains.kotlin.fir.scopes.FirPosition import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.ProcessorAction import org.jetbrains.kotlin.fir.scopes.ProcessorAction.NEXT import org.jetbrains.kotlin.fir.scopes.ProcessorAction.STOP -import org.jetbrains.kotlin.fir.service import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.name.Name -class FirClassDeclaredMemberScopeProvider { +class FirClassDeclaredMemberScopeProvider : FirSessionComponent { val cache = mutableMapOf() fun declaredMemberScope(klass: FirRegularClass): FirClassDeclaredMemberScope { @@ -30,7 +31,7 @@ class FirClassDeclaredMemberScopeProvider { fun declaredMemberScope(klass: FirRegularClass): FirClassDeclaredMemberScope { return klass .session - .service() + .declaredMemberScopeProvider .declaredMemberScope(klass) }