From a1970d3d57eb4cf2b316aead803852ef0454a7ea Mon Sep 17 00:00:00 2001 From: Sergej Jaskiewicz Date: Mon, 18 Dec 2023 20:56:33 +0100 Subject: [PATCH] [K/N] Move `KonanIrModuleSerializer` to `serialization.native` KT-64392 --- .../konan/serialization/KonanIrModuleSerializer.kt | 9 +++++++-- .../jetbrains/kotlin/name/NativeStandardInteropNames.kt | 3 +++ .../ir/interop/IrProviderForCEnumAndCStructStubs.kt | 4 ---- .../serialization/KonanInteropModuleDeserializer.kt | 3 ++- 4 files changed, 12 insertions(+), 7 deletions(-) rename {kotlin-native/backend.native/compiler/ir/backend.native => compiler/ir/serialization.native}/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrModuleSerializer.kt (85%) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrModuleSerializer.kt b/compiler/ir/serialization.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrModuleSerializer.kt similarity index 85% rename from kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrModuleSerializer.kt rename to compiler/ir/serialization.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrModuleSerializer.kt index dd57c47f78e..dd7111c1139 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrModuleSerializer.kt +++ b/compiler/ir/serialization.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrModuleSerializer.kt @@ -1,12 +1,17 @@ +/* + * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + package org.jetbrains.kotlin.backend.konan.serialization import org.jetbrains.kotlin.backend.common.serialization.CompatibilityMode import org.jetbrains.kotlin.backend.common.serialization.IrModuleSerializer -import org.jetbrains.kotlin.backend.konan.ir.interop.IrProviderForCEnumAndCStructStubs import org.jetbrains.kotlin.config.LanguageVersionSettings import org.jetbrains.kotlin.ir.IrBuiltIns import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.ir.util.IrMessageLogger +import org.jetbrains.kotlin.name.NativeStandardInteropNames class KonanIrModuleSerializer( messageLogger: IrMessageLogger, @@ -28,7 +33,7 @@ class KonanIrModuleSerializer( // We may switch from IR generation to LazyIR later (at least for structs; enums are tricky) // without changing kotlin libraries that depend on interop libraries. override fun backendSpecificFileFilter(file: IrFile): Boolean = - file.fileEntry.name != IrProviderForCEnumAndCStructStubs.cTypeDefinitionsFileName + file.fileEntry.name != NativeStandardInteropNames.cTypeDefinitionsFileName override fun createSerializerForFile(file: IrFile): KonanIrFileSerializer = KonanIrFileSerializer(messageLogger, KonanDeclarationTable(globalDeclarationTable), diff --git a/core/compiler.common.native/src/org/jetbrains/kotlin/name/NativeStandardInteropNames.kt b/core/compiler.common.native/src/org/jetbrains/kotlin/name/NativeStandardInteropNames.kt index 9c7648c95ec..49357667ffb 100644 --- a/core/compiler.common.native/src/org/jetbrains/kotlin/name/NativeStandardInteropNames.kt +++ b/core/compiler.common.native/src/org/jetbrains/kotlin/name/NativeStandardInteropNames.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.name +@Suppress("ConstPropertyName") object NativeStandardInteropNames { val cInteropPackage = FqName("kotlinx.cinterop") @@ -32,4 +33,6 @@ object NativeStandardInteropNames { val syntheticPackages = setOf(cNamesPackage, objCNamesPackage) } + + const val cTypeDefinitionsFileName = "CTypeDefinitions" } \ No newline at end of file diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/interop/IrProviderForCEnumAndCStructStubs.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/interop/IrProviderForCEnumAndCStructStubs.kt index ef184dc4654..a21c76fca91 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/interop/IrProviderForCEnumAndCStructStubs.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ir/interop/IrProviderForCEnumAndCStructStubs.kt @@ -117,8 +117,4 @@ internal class IrProviderForCEnumAndCStructStubs( } } } - - companion object { - const val cTypeDefinitionsFileName = "CTypeDefinitions" - } } diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanInteropModuleDeserializer.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanInteropModuleDeserializer.kt index c41494a04cd..a1afbfee40a 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanInteropModuleDeserializer.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanInteropModuleDeserializer.kt @@ -27,6 +27,7 @@ import org.jetbrains.kotlin.ir.util.NaiveSourceBasedFileEntryImpl import org.jetbrains.kotlin.library.KotlinAbiVersion import org.jetbrains.kotlin.library.KotlinLibrary import org.jetbrains.kotlin.library.metadata.isInteropLibrary +import org.jetbrains.kotlin.name.NativeStandardInteropNames internal class KonanInteropModuleDeserializer( moduleDescriptor: ModuleDescriptor, @@ -65,7 +66,7 @@ internal class KonanInteropModuleDeserializer( private fun getIrFile(packageFragment: PackageFragmentDescriptor): IrFile = fileMap.getOrPut(packageFragment) { IrFileImpl( - NaiveSourceBasedFileEntryImpl(IrProviderForCEnumAndCStructStubs.cTypeDefinitionsFileName), + NaiveSourceBasedFileEntryImpl(NativeStandardInteropNames.cTypeDefinitionsFileName), packageFragment, moduleFragment ).also {