[FIR] Introduce caching service for metadata declarations provided by extensions
This is needed to allow to call for provided declarations multiple times with only one real invocation of plugins
This commit is contained in:
committed by
Space Team
parent
fb1cdf643b
commit
0f8c797d7c
@@ -17,6 +17,7 @@ dependencies {
|
||||
api(project(":js:js.frontend"))
|
||||
|
||||
implementation(project(":compiler:fir:resolve"))
|
||||
implementation(project(":compiler:fir:fir-serialization"))
|
||||
implementation(project(":compiler:fir:fir2ir:jvm-backend"))
|
||||
implementation(project(":compiler:backend.jvm"))
|
||||
implementation(project(":compiler:ir.serialization.common"))
|
||||
|
||||
@@ -42,6 +42,7 @@ import org.jetbrains.kotlin.fir.scopes.FirOverrideService
|
||||
import org.jetbrains.kotlin.fir.scopes.FirPlatformClassMapper
|
||||
import org.jetbrains.kotlin.fir.scopes.PlatformSpecificOverridabilityRules
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.*
|
||||
import org.jetbrains.kotlin.fir.serialization.FirProvidedDeclarationsForMetadataService
|
||||
import org.jetbrains.kotlin.fir.symbols.FirLazyDeclarationResolver
|
||||
import org.jetbrains.kotlin.fir.types.FirCorrespondingSupertypesCache
|
||||
import org.jetbrains.kotlin.fir.types.FirFunctionTypeKindService
|
||||
@@ -78,6 +79,7 @@ fun FirSession.registerCommonComponents(languageVersionSettings: LanguageVersion
|
||||
@OptIn(SessionConfiguration::class)
|
||||
fun FirSession.registerCommonComponentsAfterExtensionsAreConfigured() {
|
||||
register(FirFunctionTypeKindService::class, FirFunctionTypeKindServiceImpl(this))
|
||||
register(FirProvidedDeclarationsForMetadataService::class, FirProvidedDeclarationsForMetadataService.create(this))
|
||||
}
|
||||
|
||||
@OptIn(SessionConfiguration::class)
|
||||
|
||||
Reference in New Issue
Block a user