[Native] Use FORWARD_DECLARATIONS_MODULE_NAME instead of hardcoded value
This commit is contained in:
+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