diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/JsExecutableProducer.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/JsExecutableProducer.kt index 9af4bacfd01..87a6fef1126 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/JsExecutableProducer.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/JsExecutableProducer.kt @@ -30,7 +30,6 @@ class JsExecutableProducer( moduleKind = moduleKind, fragments = modules.flatMap { it.fragments }, sourceMapsInfo = sourceMapsInfo, - generateScriptModule = false, generateCallToMain = true, outJsProgram = outJsProgram ) @@ -64,7 +63,6 @@ class JsExecutableProducer( moduleKind = moduleKind, associatedModule.fragments, sourceMapsInfo = sourceMapsInfo, - generateScriptModule = false, generateCallToMain = generateCallToMain, crossModuleReferences = crossRef, outJsProgram = outJsProgram diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrModuleToJsTransformerTmp.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrModuleToJsTransformerTmp.kt index ad9880bd1e6..86e0dc9bf68 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrModuleToJsTransformerTmp.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrModuleToJsTransformerTmp.kt @@ -89,7 +89,6 @@ class JsCodeGenerator( program, sourceMapsInfo, relativeRequirePath, - false, outJsProgram ) } @@ -388,7 +387,6 @@ private fun generateWrappedModuleBody( program: JsIrProgram, sourceMapsInfo: SourceMapsInfo?, relativeRequirePath: Boolean, - generateScriptModule: Boolean, outJsProgram: Boolean ): CompilationOutputs { if (multiModule) { @@ -402,7 +400,6 @@ private fun generateWrappedModuleBody( moduleKind, main.fragments, sourceMapsInfo, - generateScriptModule, generateCallToMain = true, mainRef, outJsProgram @@ -418,7 +415,6 @@ private fun generateWrappedModuleBody( moduleKind, module.fragments, sourceMapsInfo, - generateScriptModule, generateCallToMain = false, moduleRef, outJsProgram @@ -435,7 +431,6 @@ private fun generateWrappedModuleBody( moduleKind, program.asFragments(), sourceMapsInfo, - generateScriptModule, generateCallToMain = true, outJsProgram = outJsProgram ) @@ -447,7 +442,6 @@ fun generateSingleWrappedModuleBody( moduleKind: ModuleKind, fragments: List, sourceMapsInfo: SourceMapsInfo?, - generateScriptModule: Boolean, generateCallToMain: Boolean, crossModuleReferences: CrossModuleReferences = CrossModuleReferences.Empty(moduleKind), outJsProgram: Boolean = true @@ -457,7 +451,6 @@ fun generateSingleWrappedModuleBody( moduleKind, fragments, crossModuleReferences, - generateScriptModule, generateRegionComments = true, generateCallToMain, ).merge() diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/Merger.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/Merger.kt index 8c2625f74b4..76c131b00d9 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/Merger.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/Merger.kt @@ -16,7 +16,6 @@ class Merger( private val moduleKind: ModuleKind, private val fragments: List, private val crossModuleReferences: CrossModuleReferences, - private val generateScriptModule: Boolean, private val generateRegionComments: Boolean, private val generateCallToMain: Boolean, ) { @@ -239,48 +238,36 @@ class Merger( val program = JsProgram() - if (generateScriptModule) { - with(program.globalBlock) { - polyfillDeclarationBlock.statements - .takeIf { it.isNotEmpty() } - ?.let { statements.addWithComment("block: polyfills", it) } - + val internalModuleName = ReservedJsNames.makeInternalModuleName() + val rootFunction = JsFunction(program.rootScope, JsBlock(), "root function").apply { + parameters += JsParameter(internalModuleName) + parameters += (importedJsModules).map { JsParameter(it.internalName) } + with(body) { + if (!isEsModules) { + statements += JsStringLiteral("use strict").makeStmt() + } statements.addWithComment("block: imports", importStatements) statements += moduleBody statements.addWithComment("block: exports", exportStatements) - } - } else { - val internalModuleName = ReservedJsNames.makeInternalModuleName() - val rootFunction = JsFunction(program.rootScope, JsBlock(), "root function").apply { - parameters += JsParameter(internalModuleName) - parameters += (importedJsModules).map { JsParameter(it.internalName) } - with(body) { - if (!isEsModules) { - statements += JsStringLiteral("use strict").makeStmt() - } - statements.addWithComment("block: imports", importStatements) - statements += moduleBody - statements.addWithComment("block: exports", exportStatements) - if (generateCallToMain) { - callToMain?.let { this.statements += it } - } - this.statements += JsReturn(internalModuleName.makeRef()) + if (generateCallToMain) { + callToMain?.let { this.statements += it } } + this.statements += JsReturn(internalModuleName.makeRef()) } - - polyfillDeclarationBlock.statements - .takeIf { it.isNotEmpty() } - ?.let { program.globalBlock.statements.addWithComment("block: polyfills", it) } - - program.globalBlock.statements += ModuleWrapperTranslation.wrap( - moduleName, - rootFunction, - importedJsModules, - program, - kind = moduleKind - ) } + polyfillDeclarationBlock.statements + .takeIf { it.isNotEmpty() } + ?.let { program.globalBlock.statements.addWithComment("block: polyfills", it) } + + program.globalBlock.statements += ModuleWrapperTranslation.wrap( + moduleName, + rootFunction, + importedJsModules, + program, + kind = moduleKind + ) + return program }