From 56bebeaf921a6e00919d80402ab059ebffb2474b Mon Sep 17 00:00:00 2001 From: Dmitriy Dolovov Date: Fri, 16 Jun 2023 15:17:02 +0200 Subject: [PATCH] [KLIB] Extract "ir_provider" manifest property name as a const val, p.2 --- .../library/metadata/KlibDeserializedContainerSource.kt | 5 ++--- .../src/org/jetbrains/kotlin/library/KotlinLibrary.kt | 3 +++ .../src/org/jetbrains/kotlin/library/SearchPathResolver.kt | 2 +- .../org/jetbrains/kotlin/backend/konan/descriptors/utils.kt | 6 ++---- 4 files changed, 8 insertions(+), 8 deletions(-) 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 fde80742096..2430619d5d6 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,8 +7,8 @@ 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.irProviderName import org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Header import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.serialization.deserialization.DeserializationConfiguration @@ -44,5 +44,4 @@ class KlibDeserializedContainerSource( override fun getContainingFile(): SourceFile = SourceFile.NO_SOURCE_FILE } -private fun KotlinLibrary.isInteropLibrary() = - manifestProperties[KLIB_PROPERTY_IR_PROVIDER] == KLIB_INTEROP_IR_PROVIDER_IDENTIFIER +private fun KotlinLibrary.isInteropLibrary() = irProviderName == 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 878c3f03abc..6a6c8079c11 100644 --- a/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibrary.kt +++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinLibrary.kt @@ -115,6 +115,9 @@ val KotlinLibrary.exportForwardDeclarations: List val KotlinLibrary.includedForwardDeclarations: List get() = manifestProperties.propertyList(KLIB_PROPERTY_INCLUDED_FORWARD_DECLARATIONS, escapeInQuotes = true) +val BaseKotlinLibrary.irProviderName: String? + get() = manifestProperties.getProperty(KLIB_PROPERTY_IR_PROVIDER) + val BaseKotlinLibrary.nativeTargets: List get() = manifestProperties.propertyList(KLIB_PROPERTY_NATIVE_TARGETS) 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 a81ee96a8ed..cc6a9e88306 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[KLIB_PROPERTY_IR_PROVIDER]?.let { + candidate.irProviderName?.let { if (it !in knownIrProviders) { logger.warning("skipping $candidatePath. The library requires unknown IR provider $it.") return false 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 af8b741b107..882bdc2955d 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,14 +15,13 @@ 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.irProviderName import org.jetbrains.kotlin.library.metadata.DeserializedKlibModuleOrigin import org.jetbrains.kotlin.library.metadata.KlibDeserializedContainerSource import org.jetbrains.kotlin.library.metadata.klibModuleOrigin import org.jetbrains.kotlin.library.metadata.kotlinLibrary import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.descriptorUtil.module -import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedCallableMemberDescriptor fun DeclarationDescriptor.deepPrint() { this.accept(DeepPrintVisitor(PrintVisitor()), 0) @@ -53,8 +52,7 @@ val ModuleDescriptor.isForwardDeclarationModule: Boolean return name == Name.special("") } -fun BaseKotlinLibrary.isInteropLibrary() = - manifestProperties[KLIB_PROPERTY_IR_PROVIDER] == KLIB_INTEROP_IR_PROVIDER_IDENTIFIER +fun BaseKotlinLibrary.isInteropLibrary() = irProviderName == KLIB_INTEROP_IR_PROVIDER_IDENTIFIER fun DeclarationDescriptor.isFromInteropLibrary(): Boolean = this.isFromFirDeserializedInteropLibrary() || this.module.isFromInteropLibrary()