From f1860471011731c60a58ff3dc8edcc231117a7ee Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Fri, 22 Jan 2021 17:20:15 +0300 Subject: [PATCH] [JS IR] Add additional exported declarations with exported stub to dce ^KT-44469 fixed --- .../backend.js/src/org/jetbrains/kotlin/ir/backend/js/Dce.kt | 2 +- .../kotlin/ir/backend/js/lower/ExportedDefaultParameterStub.kt | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/Dce.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/Dce.kt index 7b4e4906b2d..c4c5ff00461 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/Dce.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/Dce.kt @@ -413,7 +413,7 @@ fun usefulDeclarations(roots: Iterable, context: JsIrBackendConte reachabilityInfo.forEach(::println) } - return result + return result + context.additionalExportedDeclarations } private fun Collection.filterDescendantsOf(bases: Collection): Collection { diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ExportedDefaultParameterStub.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ExportedDefaultParameterStub.kt index 70fc7c882de..5598756c09c 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ExportedDefaultParameterStub.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/ExportedDefaultParameterStub.kt @@ -19,6 +19,7 @@ import org.jetbrains.kotlin.ir.backend.js.ir.JsIrBuilder import org.jetbrains.kotlin.ir.backend.js.utils.JsAnnotations import org.jetbrains.kotlin.ir.backend.js.utils.hasStableJsName import org.jetbrains.kotlin.ir.builders.* +import org.jetbrains.kotlin.ir.builders.declarations.addFunction import org.jetbrains.kotlin.ir.builders.declarations.buildFun import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.IrConstructorCall @@ -104,6 +105,8 @@ class ExportedDefaultParameterStub(val context: JsIrBackendContext) : Declaratio origin = JsIrBuilder.SYNTHESIZED_DECLARATION } + context.additionalExportedDeclarations.add(exportedDefaultStubFun) + exportedDefaultStubFun.returnType = declaration.returnType.remapTypeParameters(declaration, exportedDefaultStubFun) exportedDefaultStubFun.parent = declaration.parent exportedDefaultStubFun.copyParameterDeclarationsFrom(declaration)