Unbind FIR mangler from use-site session (by Simon Ogorodnik)

This commit is contained in:
Mikhail Glukhikh
2023-01-11 14:23:35 +01:00
committed by Space Team
parent 2237c964b5
commit ecc81098a6
9 changed files with 34 additions and 35 deletions
@@ -12,11 +12,12 @@ import org.jetbrains.kotlin.fir.backend.jvm.FirJvmKotlinMangler
import org.jetbrains.kotlin.fir.signaturer.FirBasedSignatureComposer
@NoMutableState
data class IdeSessionComponents(val signatureComposer: FirBasedSignatureComposer): FirSessionComponent {
data class IdeSessionComponents(val signatureComposer: FirBasedSignatureComposer) : FirSessionComponent {
companion object {
fun create(session: FirSession) = IdeSessionComponents(
signatureComposer = FirBasedSignatureComposer(FirJvmKotlinMangler(session))
fun create(): IdeSessionComponents = IdeSessionComponents(
signatureComposer = FirBasedSignatureComposer(FirJvmKotlinMangler())
)
}
}
val FirSession.ideSessionComponents: IdeSessionComponents by FirSession.sessionComponentAccessor()
@@ -38,7 +38,7 @@ import org.jetbrains.kotlin.load.java.createJavaClassFinder
@SessionConfiguration
internal fun LLFirSession.registerIdeComponents(project: Project) {
register(IdeSessionComponents::class, IdeSessionComponents.create(this))
register(IdeSessionComponents::class, IdeSessionComponents.create())
register(FirCachesFactory::class, FirThreadSafeCachesFactory)
register(SealedClassInheritorsProvider::class, project.createSealedInheritorsProvider())
register(SealedClassInheritorsProvider::class, project.createSealedInheritorsProvider())