[FIR] Fix ambiguity of Throws and other std annotations importing
Including `SharedImmutable` and `ThreadLocal` Simplify code, remove `DefaultImportPriority.KOTLIN_THROWS` Introduce `FirNativeClassMapper`
This commit is contained in:
committed by
Space Team
parent
adf4f823ae
commit
115d685d91
@@ -7,6 +7,7 @@ dependencies {
|
||||
api(project(":core:descriptors.jvm"))
|
||||
api(project(":compiler:frontend.java"))
|
||||
api(project(":compiler:fir:java"))
|
||||
api(project(":compiler:fir:native"))
|
||||
api(project(":compiler:fir:raw-fir:psi2fir"))
|
||||
api(project(":compiler:fir:raw-fir:light-tree2fir"))
|
||||
api(project(":compiler:fir:fir2ir"))
|
||||
|
||||
+7
@@ -9,12 +9,15 @@ import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||
import org.jetbrains.kotlin.fir.BinaryModuleData
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.SessionConfiguration
|
||||
import org.jetbrains.kotlin.fir.backend.native.FirNativeClassMapper
|
||||
import org.jetbrains.kotlin.fir.checkers.registerNativeCheckers
|
||||
import org.jetbrains.kotlin.fir.deserialization.ModuleDataProvider
|
||||
import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar
|
||||
import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirBuiltinSyntheticFunctionInterfaceProvider
|
||||
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
||||
import org.jetbrains.kotlin.fir.scopes.FirPlatformClassMapper
|
||||
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper.registerDefaultComponents
|
||||
import org.jetbrains.kotlin.library.isNativeStdlib
|
||||
import org.jetbrains.kotlin.library.metadata.impl.KlibResolvedModuleDescriptorsFactoryImpl.Companion.FORWARD_DECLARATIONS_MODULE_NAME
|
||||
@@ -22,6 +25,7 @@ import org.jetbrains.kotlin.library.metadata.resolver.KotlinResolvedLibrary
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
object FirNativeSessionFactory : FirAbstractSessionFactory() {
|
||||
@OptIn(SessionConfiguration::class)
|
||||
fun createLibrarySession(
|
||||
mainModuleName: Name,
|
||||
resolvedLibraries: List<KotlinResolvedLibrary>,
|
||||
@@ -39,6 +43,7 @@ object FirNativeSessionFactory : FirAbstractSessionFactory() {
|
||||
extensionRegistrars,
|
||||
registerExtraComponents = { session ->
|
||||
session.registerDefaultComponents()
|
||||
session.register(FirPlatformClassMapper::class, FirNativeClassMapper())
|
||||
registerExtraComponents(session)
|
||||
},
|
||||
createKotlinScopeProvider = { FirKotlinScopeProvider() },
|
||||
@@ -64,6 +69,7 @@ object FirNativeSessionFactory : FirAbstractSessionFactory() {
|
||||
})
|
||||
}
|
||||
|
||||
@OptIn(SessionConfiguration::class)
|
||||
fun createModuleBasedSession(
|
||||
moduleData: FirModuleData,
|
||||
sessionProvider: FirProjectSessionProvider,
|
||||
@@ -83,6 +89,7 @@ object FirNativeSessionFactory : FirAbstractSessionFactory() {
|
||||
init,
|
||||
registerExtraComponents = {
|
||||
it.registerDefaultComponents()
|
||||
it.register(FirPlatformClassMapper::class, FirNativeClassMapper())
|
||||
registerExtraComponents(it)
|
||||
},
|
||||
registerExtraCheckers = { it.registerNativeCheckers() },
|
||||
|
||||
Reference in New Issue
Block a user