[KLIB] Extract "ir_provider" manifest property name as a const val, p.2

This commit is contained in:
Dmitriy Dolovov
2023-06-16 15:17:02 +02:00
committed by Space Team
parent 04998cff8a
commit 56bebeaf92
4 changed files with 8 additions and 8 deletions
@@ -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
@@ -115,6 +115,9 @@ val KotlinLibrary.exportForwardDeclarations: List<String>
val KotlinLibrary.includedForwardDeclarations: List<String>
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<String>
get() = manifestProperties.propertyList(KLIB_PROPERTY_NATIVE_TARGETS)
@@ -253,7 +253,7 @@ abstract class KotlinLibraryProperResolverWithAttributes<L : KotlinLibrary>(
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
@@ -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("<forward declarations>")
}
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()