[KLIB] Extract "ir_provider" manifest property name as a const val
This commit is contained in:
committed by
Space Team
parent
b1faee5ec6
commit
72525a22a6
+2
-1
@@ -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
|
||||
|
||||
@@ -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`
|
||||
|
||||
@@ -253,7 +253,7 @@ abstract class KotlinLibraryProperResolverWithAttributes<L : KotlinLibrary>(
|
||||
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
|
||||
|
||||
+2
-1
@@ -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
|
||||
|
||||
+2
-1
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user