From 460e21c7bcc33e54aae29ab2f7bc6569baf6a45e Mon Sep 17 00:00:00 2001 From: Dmitriy Dolovov Date: Thu, 13 Oct 2022 18:15:41 +0200 Subject: [PATCH] [IR][JS] Partial linkage: Enable PL for IR IC compiler --- .../org/jetbrains/kotlin/ir/backend/js/ic/JsIrLinkerLoader.kt | 4 +++- .../src/org/jetbrains/kotlin/ir/backend/js/klib.kt | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/JsIrLinkerLoader.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/JsIrLinkerLoader.kt index 6504a3256ec..ecd5dbfea9d 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/JsIrLinkerLoader.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/JsIrLinkerLoader.kt @@ -22,6 +22,7 @@ import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.ir.util.ExternalDependenciesGenerator import org.jetbrains.kotlin.ir.util.SymbolTable import org.jetbrains.kotlin.ir.util.irMessageLogger +import org.jetbrains.kotlin.js.config.JSConfigurationKeys import org.jetbrains.kotlin.library.KotlinLibrary import org.jetbrains.kotlin.library.unresolvedDependencies import org.jetbrains.kotlin.psi2ir.descriptors.IrBuiltInsOverDescriptors @@ -49,7 +50,8 @@ internal class JsIrLinkerLoader( val moduleDescriptor = loadedModules.keys.last() val typeTranslator = TypeTranslatorImpl(symbolTable, compilerConfiguration.languageVersionSettings, moduleDescriptor) val irBuiltIns = IrBuiltInsOverDescriptors(moduleDescriptor.builtIns, typeTranslator, symbolTable) - return JsIrLinker(null, compilerConfiguration.irMessageLogger, irBuiltIns, symbolTable, partialLinkageEnabled = false, null) + val partialLinkageEnabled = compilerConfiguration[JSConfigurationKeys.PARTIAL_LINKAGE] ?: false + return JsIrLinker(null, compilerConfiguration.irMessageLogger, irBuiltIns, symbolTable, partialLinkageEnabled, null) } private fun loadModules(): Map { diff --git a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt index f4079c2e5db..c51fc5b8f29 100644 --- a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt +++ b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt @@ -171,7 +171,7 @@ fun generateIrForKlibSerialization( messageLogger, psi2IrContext.irBuiltIns, psi2IrContext.symbolTable, - partialLinkageEnabled = false, + partialLinkageEnabled = partialLinkageEnabled, feContext, ICData(serializedIrFiles, errorPolicy.allowErrors), stubGenerator = stubGenerator