[Native] Use FORWARD_DECLARATIONS_MODULE_NAME instead of hardcoded value
This commit is contained in:
+2
-1
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.resolve.providers.impl.FirBuiltinSyntheticFuncti
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.impl.FirExtensionSyntheticFunctionInterfaceProvider
|
||||
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
||||
import org.jetbrains.kotlin.fir.scopes.FirPlatformClassMapper
|
||||
import org.jetbrains.kotlin.library.metadata.impl.KlibResolvedModuleDescriptorsFactoryImpl.Companion.FORWARD_DECLARATIONS_MODULE_NAME
|
||||
import org.jetbrains.kotlin.library.metadata.resolver.KotlinResolvedLibrary
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
@@ -43,7 +44,7 @@ object FirNativeSessionFactory : FirAbstractSessionFactory() {
|
||||
createKotlinScopeProvider = { FirKotlinScopeProvider() },
|
||||
createProviders = { session, builtinsModuleData, kotlinScopeProvider, syntheticFunctionInterfaceProvider ->
|
||||
val forwardDeclarationsModuleData = BinaryModuleData.createDependencyModuleData(
|
||||
Name.special("<forward declarations>"),
|
||||
FORWARD_DECLARATIONS_MODULE_NAME,
|
||||
moduleDataProvider.platform,
|
||||
moduleDataProvider.analyzerServices,
|
||||
).apply {
|
||||
|
||||
-4
@@ -29,10 +29,6 @@ tailrec fun DeclarationDescriptor.findPackage(): PackageFragmentDescriptor {
|
||||
else this.containingDeclaration!!.findPackage()
|
||||
}
|
||||
|
||||
// This is Native specific. Try to eliminate.
|
||||
val ModuleDescriptor.isForwardDeclarationModule get() =
|
||||
name == Name.special("<forward declarations>")
|
||||
|
||||
private fun sourceByIndex(descriptor: CallableMemberDescriptor, index: Int): SourceFile {
|
||||
val fragment = descriptor.findPackage() as KlibMetadataDeserializedPackageFragment
|
||||
val fileName = fragment.proto.strings.stringList[index]
|
||||
|
||||
+2
-5
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.library.BaseKotlinLibrary
|
||||
import org.jetbrains.kotlin.library.irProviderName
|
||||
import org.jetbrains.kotlin.library.metadata.DeserializedKlibModuleOrigin
|
||||
import org.jetbrains.kotlin.library.metadata.KlibDeserializedContainerSource
|
||||
import org.jetbrains.kotlin.library.metadata.impl.KlibResolvedModuleDescriptorsFactoryImpl.Companion.FORWARD_DECLARATIONS_MODULE_NAME
|
||||
import org.jetbrains.kotlin.library.metadata.klibModuleOrigin
|
||||
import org.jetbrains.kotlin.library.metadata.kotlinLibrary
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -46,11 +47,7 @@ private fun IrDeclaration.propertyIfAccessor(): IrDeclaration =
|
||||
(this as? IrSimpleFunction)?.correspondingPropertySymbol?.owner ?: this
|
||||
|
||||
val ModuleDescriptor.isForwardDeclarationModule: Boolean
|
||||
get() {
|
||||
// TODO: use KlibResolvedModuleDescriptorsFactoryImpl.FORWARD_DECLARATIONS_MODULE_NAME instead of
|
||||
// manually created Name instance
|
||||
return name == Name.special("<forward declarations>")
|
||||
}
|
||||
get() = name == FORWARD_DECLARATIONS_MODULE_NAME
|
||||
|
||||
fun BaseKotlinLibrary.isInteropLibrary() = irProviderName == KLIB_INTEROP_IR_PROVIDER_IDENTIFIER
|
||||
|
||||
|
||||
+2
-1
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.ir.types.isUnit
|
||||
import org.jetbrains.kotlin.ir.util.*
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
|
||||
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
|
||||
import org.jetbrains.kotlin.library.metadata.impl.KlibResolvedModuleDescriptorsFactoryImpl.Companion.FORWARD_DECLARATIONS_MODULE_NAME
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
@@ -483,7 +484,7 @@ internal object DataFlowIR {
|
||||
@OptIn(ObsoleteDescriptorBasedAPI::class)
|
||||
fun mapClassReferenceType(irClass: IrClass): Type {
|
||||
// Do not try to devirtualize ObjC classes.
|
||||
if (irClass.module.name == Name.special("<forward declarations>") || irClass.isObjCClass())
|
||||
if (irClass.module.name == FORWARD_DECLARATIONS_MODULE_NAME || irClass.isObjCClass())
|
||||
return Type.Virtual
|
||||
|
||||
val isFinal = irClass.isFinalClass
|
||||
|
||||
+3
-1
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.backend.common.serialization.encodings.BinarySymbolD
|
||||
import org.jetbrains.kotlin.backend.common.serialization.encodings.FunctionFlags
|
||||
import org.jetbrains.kotlin.backend.konan.*
|
||||
import org.jetbrains.kotlin.backend.konan.descriptors.findPackage
|
||||
import org.jetbrains.kotlin.backend.konan.descriptors.isForwardDeclarationModule
|
||||
import org.jetbrains.kotlin.backend.konan.descriptors.isFromInteropLibrary
|
||||
import org.jetbrains.kotlin.backend.konan.descriptors.isInteropLibrary
|
||||
import org.jetbrains.kotlin.backend.konan.ir.interop.IrProviderForCEnumAndCStructStubs
|
||||
@@ -48,6 +49,7 @@ import org.jetbrains.kotlin.ir.types.*
|
||||
import org.jetbrains.kotlin.ir.util.*
|
||||
import org.jetbrains.kotlin.library.KotlinAbiVersion
|
||||
import org.jetbrains.kotlin.library.KotlinLibrary
|
||||
import org.jetbrains.kotlin.library.metadata.impl.KlibResolvedModuleDescriptorsFactoryImpl.Companion.FORWARD_DECLARATIONS_MODULE_NAME
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.NativeForwardDeclarationKind
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
@@ -659,7 +661,7 @@ internal class KonanIrLinker(
|
||||
override val kind get() = IrModuleDeserializerKind.SYNTHETIC
|
||||
}
|
||||
|
||||
private val String.isForwardDeclarationModuleName: Boolean get() = this == "<forward declarations>"
|
||||
private val String.isForwardDeclarationModuleName: Boolean get() = this == FORWARD_DECLARATIONS_MODULE_NAME.asString()
|
||||
|
||||
val modules: Map<String, IrModuleFragment>
|
||||
get() = mutableMapOf<String, IrModuleFragment>().apply {
|
||||
|
||||
Reference in New Issue
Block a user