From b7707d8755e38d3e5e7d07c3362793c60dee42f3 Mon Sep 17 00:00:00 2001 From: Pavel Kunyavskiy Date: Wed, 16 Jun 2021 12:10:56 +0300 Subject: [PATCH] [K/N] Introduce api for getting existing global by name from StaticData --- .../jetbrains/kotlin/backend/konan/llvm/StaticData.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/StaticData.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/StaticData.kt index b0efffa7147..503b5dba3c3 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/StaticData.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/StaticData.kt @@ -51,6 +51,11 @@ internal class StaticData(override val context: Context): ContextUtils { val llvmGlobal = createLlvmGlobal(module!!, type, name, isExported) return Global(staticData, llvmGlobal) } + + fun get(staticData: StaticData, name: String): Global? { + val llvmGlobal = LLVMGetNamedGlobal(staticData.context.llvmModule, name) ?: return null + return Global(staticData, llvmGlobal) + } } val type get() = getGlobalType(this.llvmGlobal) @@ -147,6 +152,10 @@ internal class StaticData(override val context: Context): ContextUtils { return global } + fun getGlobal(name: String): Global? { + return Global.get(this, name) + } + /** * Creates array-typed global with given name and value. */