[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.SessionConfiguration
|
||||||
import org.jetbrains.kotlin.fir.analysis.FirOverridesBackwardCompatibilityHelper
|
import org.jetbrains.kotlin.fir.analysis.FirOverridesBackwardCompatibilityHelper
|
||||||
import org.jetbrains.kotlin.fir.analysis.jvm.FirJvmOverridesBackwardCompatibilityHelper
|
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.deserialization.SingleModuleDataProvider
|
||||||
import org.jetbrains.kotlin.fir.java.deserialization.OptionalAnnotationClassesProvider
|
import org.jetbrains.kotlin.fir.java.deserialization.OptionalAnnotationClassesProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.calls.ConeCallConflictResolverFactory
|
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.FirKotlinScopeProvider
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirPlatformClassMapper
|
import org.jetbrains.kotlin.fir.scopes.FirPlatformClassMapper
|
||||||
import org.jetbrains.kotlin.fir.session.DefaultCallConflictResolverFactory
|
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
|
import org.jetbrains.kotlin.utils.addIfNotNull
|
||||||
|
|
||||||
@OptIn(SessionConfiguration::class)
|
@OptIn(SessionConfiguration::class)
|
||||||
@@ -45,6 +48,8 @@ internal class LLFirCommonSessionFactory(project: Project) : LLFirAbstractSessio
|
|||||||
context.dependencyProvider,
|
context.dependencyProvider,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
registerPlatformSpecificComponentsIfAny(module)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -62,12 +67,15 @@ internal class LLFirCommonSessionFactory(project: Project) : LLFirAbstractSessio
|
|||||||
context.dependencyProvider,
|
context.dependencyProvider,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
registerPlatformSpecificComponentsIfAny(module)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun createBinaryLibrarySession(module: KtBinaryModule): LLFirLibrarySession {
|
override fun createBinaryLibrarySession(module: KtBinaryModule): LLFirLibrarySession {
|
||||||
return doCreateBinaryLibrarySession(module) {
|
return doCreateBinaryLibrarySession(module) {
|
||||||
registerModuleIndependentCommonComponents()
|
registerModuleIndependentCommonComponents()
|
||||||
|
registerPlatformSpecificComponentsIfAny(module)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,4 +110,9 @@ internal class LLFirCommonSessionFactory(project: Project) : LLFirAbstractSessio
|
|||||||
register(FirPlatformClassMapper::class, FirPlatformClassMapper.Default)
|
register(FirPlatformClassMapper::class, FirPlatformClassMapper.Default)
|
||||||
register(FirOverridesBackwardCompatibilityHelper::class, FirJvmOverridesBackwardCompatibilityHelper)
|
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