[LL] Register JvmTypeMapper for common modules with JVM platform
KT-60706
This commit is contained in:
committed by
Space Team
parent
0fb6382bd6
commit
6896684d36
+13
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.fir.FirVisibilityChecker
|
||||
import org.jetbrains.kotlin.fir.SessionConfiguration
|
||||
import org.jetbrains.kotlin.fir.analysis.FirOverridesBackwardCompatibilityHelper
|
||||
import org.jetbrains.kotlin.fir.analysis.jvm.FirJvmOverridesBackwardCompatibilityHelper
|
||||
import org.jetbrains.kotlin.fir.backend.jvm.FirJvmTypeMapper
|
||||
import org.jetbrains.kotlin.fir.deserialization.SingleModuleDataProvider
|
||||
import org.jetbrains.kotlin.fir.java.deserialization.OptionalAnnotationClassesProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.calls.ConeCallConflictResolverFactory
|
||||
@@ -27,6 +28,8 @@ import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
||||
import org.jetbrains.kotlin.fir.scopes.FirPlatformClassMapper
|
||||
import org.jetbrains.kotlin.fir.session.DefaultCallConflictResolverFactory
|
||||
import org.jetbrains.kotlin.platform.has
|
||||
import org.jetbrains.kotlin.platform.jvm.JvmPlatform
|
||||
import org.jetbrains.kotlin.utils.addIfNotNull
|
||||
|
||||
@OptIn(SessionConfiguration::class)
|
||||
@@ -45,6 +48,8 @@ internal class LLFirCommonSessionFactory(project: Project) : LLFirAbstractSessio
|
||||
context.dependencyProvider,
|
||||
)
|
||||
)
|
||||
|
||||
registerPlatformSpecificComponentsIfAny(module)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,12 +67,15 @@ internal class LLFirCommonSessionFactory(project: Project) : LLFirAbstractSessio
|
||||
context.dependencyProvider,
|
||||
)
|
||||
)
|
||||
|
||||
registerPlatformSpecificComponentsIfAny(module)
|
||||
}
|
||||
}
|
||||
|
||||
override fun createBinaryLibrarySession(module: KtBinaryModule): LLFirLibrarySession {
|
||||
return doCreateBinaryLibrarySession(module) {
|
||||
registerModuleIndependentCommonComponents()
|
||||
registerPlatformSpecificComponentsIfAny(module)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,4 +110,9 @@ internal class LLFirCommonSessionFactory(project: Project) : LLFirAbstractSessio
|
||||
register(FirPlatformClassMapper::class, FirPlatformClassMapper.Default)
|
||||
register(FirOverridesBackwardCompatibilityHelper::class, FirJvmOverridesBackwardCompatibilityHelper)
|
||||
}
|
||||
|
||||
private fun LLFirSession.registerPlatformSpecificComponentsIfAny(module: KtModule) {
|
||||
if (module.platform.has<JvmPlatform>())
|
||||
register(FirJvmTypeMapper::class, FirJvmTypeMapper(this))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user