From ec1651df9276baba5bf59e22b43165239461aa62 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Fri, 21 May 2021 11:28:53 +0300 Subject: [PATCH] [FIR] Store dependencies symbol provider as separate session component --- .../jetbrains/kotlin/fir/session/FirSessionFactory.kt | 9 +++++++-- .../kotlin/fir/resolve/MainSessionComponents.kt | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt index 32c4d632534..620635424bd 100644 --- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt @@ -160,6 +160,7 @@ object FirSessionFactory { ) } + val dependenciesSymbolProvider = FirDependenciesSymbolProviderImpl(this) register( FirSymbolProvider::class, FirCompositeSymbolProvider( @@ -168,17 +169,21 @@ object FirSessionFactory { firProvider.symbolProvider, symbolProviderForBinariesFromIncrementalCompilation, JavaSymbolProvider(this, moduleData, project, scope), - FirDependenciesSymbolProviderImpl(this), + dependenciesSymbolProvider, ) ) ) + register( + FirDependenciesSymbolProviderImpl::class, + dependenciesSymbolProvider + ) + FirSessionConfigurator(this).apply { registerCommonCheckers() registerJvmCheckers() init() }.configure() - PsiElementFinder.EP.getPoint(project).registerExtension(FirJavaElementFinder(this, project), project) } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/MainSessionComponents.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/MainSessionComponents.kt index 580c25f107a..ea53fdbff52 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/MainSessionComponents.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/MainSessionComponents.kt @@ -8,10 +8,12 @@ package org.jetbrains.kotlin.fir.resolve import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.resolve.providers.FirProvider import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider +import org.jetbrains.kotlin.fir.resolve.providers.impl.FirDependenciesSymbolProviderImpl import org.jetbrains.kotlin.fir.scopes.impl.FirDeclaredMemberScopeProvider import org.jetbrains.kotlin.fir.types.FirCorrespondingSupertypesCache val FirSession.symbolProvider: FirSymbolProvider by FirSession.sessionComponentAccessor() +val FirSession.dependenciesSymbolProvider: FirSymbolProvider by FirSession.sessionComponentAccessor() val FirSession.firProvider: FirProvider by FirSession.sessionComponentAccessor() val FirSession.correspondingSupertypesCache: FirCorrespondingSupertypesCache by FirSession.sessionComponentAccessor() val FirSession.declaredMemberScopeProvider: FirDeclaredMemberScopeProvider by FirSession.sessionComponentAccessor()