diff --git a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibDeserializedContainerSource.kt b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibDeserializedContainerSource.kt index e9061b43050..fde80742096 100644 --- a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibDeserializedContainerSource.kt +++ b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibDeserializedContainerSource.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.library.metadata import org.jetbrains.kotlin.descriptors.SourceFile import org.jetbrains.kotlin.konan.library.KLIB_INTEROP_IR_PROVIDER_IDENTIFIER +import org.jetbrains.kotlin.library.KLIB_PROPERTY_IR_PROVIDER import org.jetbrains.kotlin.library.KotlinLibrary import org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Header import org.jetbrains.kotlin.name.FqName @@ -44,4 +45,4 @@ class KlibDeserializedContainerSource( } private fun KotlinLibrary.isInteropLibrary() = - manifestProperties["ir_provider"] == KLIB_INTEROP_IR_PROVIDER_IDENTIFIER + manifestProperties[KLIB_PROPERTY_IR_PROVIDER] == KLIB_INTEROP_IR_PROVIDER_IDENTIFIER diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibrary.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibrary.kt index b771347c5f7..878c3f03abc 100644 --- a/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibrary.kt +++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibrary.kt @@ -27,6 +27,7 @@ const val KLIB_PROPERTY_CONTAINS_ERROR_CODE = "contains_error_code" const val KLIB_PROPERTY_INTEROP = "interop" const val KLIB_PROPERTY_EXPORT_FORWARD_DECLARATIONS = "exportForwardDeclarations" const val KLIB_PROPERTY_INCLUDED_FORWARD_DECLARATIONS = "includedForwardDeclarations" +const val KLIB_PROPERTY_IR_PROVIDER = "ir_provider" /** * Copy-pasted to `kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/Utils.kt` diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/SearchPathResolver.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/SearchPathResolver.kt index ee08ed86383..a81ee96a8ed 100644 --- a/compiler/util-klib/src/org/jetbrains/kotlin/library/SearchPathResolver.kt +++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/SearchPathResolver.kt @@ -253,7 +253,7 @@ abstract class KotlinLibraryProperResolverWithAttributes( return false } - candidate.manifestProperties["ir_provider"]?.let { + candidate.manifestProperties[KLIB_PROPERTY_IR_PROVIDER]?.let { if (it !in knownIrProviders) { logger.warning("skipping $candidatePath. The library requires unknown IR provider $it.") return false diff --git a/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/main.kt b/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/main.kt index 1ddbba56713..8133dd73216 100644 --- a/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/main.kt +++ b/kotlin-native/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/main.kt @@ -31,6 +31,7 @@ import org.jetbrains.kotlin.konan.target.KonanTarget import org.jetbrains.kotlin.konan.util.DefFile import org.jetbrains.kotlin.konan.util.KonanHomeProvider import org.jetbrains.kotlin.konan.util.usingNativeMemoryAllocator +import org.jetbrains.kotlin.library.KLIB_PROPERTY_IR_PROVIDER import org.jetbrains.kotlin.library.KotlinLibrary import org.jetbrains.kotlin.library.metadata.resolver.TopologicalLibraryOrder import org.jetbrains.kotlin.library.metadata.resolver.impl.KotlinLibraryResolverImpl @@ -378,7 +379,7 @@ private fun processCLib( } def.manifestAddendProperties["interop"] = "true" if (stubIrOutput is StubIrDriver.Result.Metadata) { - def.manifestAddendProperties["ir_provider"] = KLIB_INTEROP_IR_PROVIDER_IDENTIFIER + def.manifestAddendProperties[KLIB_PROPERTY_IR_PROVIDER] = KLIB_INTEROP_IR_PROVIDER_IDENTIFIER } stubIrContext.addManifestProperties(def.manifestAddendProperties) // cinterop command line option overrides def file property diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/utils.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/utils.kt index 5318964a0eb..af8b741b107 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/utils.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/utils.kt @@ -15,6 +15,7 @@ import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction import org.jetbrains.kotlin.ir.descriptors.IrBasedDeclarationDescriptor import org.jetbrains.kotlin.konan.library.KLIB_INTEROP_IR_PROVIDER_IDENTIFIER import org.jetbrains.kotlin.library.BaseKotlinLibrary +import org.jetbrains.kotlin.library.KLIB_PROPERTY_IR_PROVIDER import org.jetbrains.kotlin.library.metadata.DeserializedKlibModuleOrigin import org.jetbrains.kotlin.library.metadata.KlibDeserializedContainerSource import org.jetbrains.kotlin.library.metadata.klibModuleOrigin @@ -53,7 +54,7 @@ val ModuleDescriptor.isForwardDeclarationModule: Boolean } fun BaseKotlinLibrary.isInteropLibrary() = - manifestProperties["ir_provider"] == KLIB_INTEROP_IR_PROVIDER_IDENTIFIER + manifestProperties[KLIB_PROPERTY_IR_PROVIDER] == KLIB_INTEROP_IR_PROVIDER_IDENTIFIER fun DeclarationDescriptor.isFromInteropLibrary(): Boolean = this.isFromFirDeserializedInteropLibrary() || this.module.isFromInteropLibrary()