[JS IR] Drop generateScriptModule flag from Merger class

This commit is contained in:
Alexander Korepanov
2022-11-04 14:59:07 +01:00
committed by Space Team
parent f1bce9fad4
commit 4d37c1d49c
3 changed files with 23 additions and 45 deletions
@@ -30,7 +30,6 @@ class JsExecutableProducer(
moduleKind = moduleKind, moduleKind = moduleKind,
fragments = modules.flatMap { it.fragments }, fragments = modules.flatMap { it.fragments },
sourceMapsInfo = sourceMapsInfo, sourceMapsInfo = sourceMapsInfo,
generateScriptModule = false,
generateCallToMain = true, generateCallToMain = true,
outJsProgram = outJsProgram outJsProgram = outJsProgram
) )
@@ -64,7 +63,6 @@ class JsExecutableProducer(
moduleKind = moduleKind, moduleKind = moduleKind,
associatedModule.fragments, associatedModule.fragments,
sourceMapsInfo = sourceMapsInfo, sourceMapsInfo = sourceMapsInfo,
generateScriptModule = false,
generateCallToMain = generateCallToMain, generateCallToMain = generateCallToMain,
crossModuleReferences = crossRef, crossModuleReferences = crossRef,
outJsProgram = outJsProgram outJsProgram = outJsProgram
@@ -89,7 +89,6 @@ class JsCodeGenerator(
program, program,
sourceMapsInfo, sourceMapsInfo,
relativeRequirePath, relativeRequirePath,
false,
outJsProgram outJsProgram
) )
} }
@@ -388,7 +387,6 @@ private fun generateWrappedModuleBody(
program: JsIrProgram, program: JsIrProgram,
sourceMapsInfo: SourceMapsInfo?, sourceMapsInfo: SourceMapsInfo?,
relativeRequirePath: Boolean, relativeRequirePath: Boolean,
generateScriptModule: Boolean,
outJsProgram: Boolean outJsProgram: Boolean
): CompilationOutputs { ): CompilationOutputs {
if (multiModule) { if (multiModule) {
@@ -402,7 +400,6 @@ private fun generateWrappedModuleBody(
moduleKind, moduleKind,
main.fragments, main.fragments,
sourceMapsInfo, sourceMapsInfo,
generateScriptModule,
generateCallToMain = true, generateCallToMain = true,
mainRef, mainRef,
outJsProgram outJsProgram
@@ -418,7 +415,6 @@ private fun generateWrappedModuleBody(
moduleKind, moduleKind,
module.fragments, module.fragments,
sourceMapsInfo, sourceMapsInfo,
generateScriptModule,
generateCallToMain = false, generateCallToMain = false,
moduleRef, moduleRef,
outJsProgram outJsProgram
@@ -435,7 +431,6 @@ private fun generateWrappedModuleBody(
moduleKind, moduleKind,
program.asFragments(), program.asFragments(),
sourceMapsInfo, sourceMapsInfo,
generateScriptModule,
generateCallToMain = true, generateCallToMain = true,
outJsProgram = outJsProgram outJsProgram = outJsProgram
) )
@@ -447,7 +442,6 @@ fun generateSingleWrappedModuleBody(
moduleKind: ModuleKind, moduleKind: ModuleKind,
fragments: List<JsIrProgramFragment>, fragments: List<JsIrProgramFragment>,
sourceMapsInfo: SourceMapsInfo?, sourceMapsInfo: SourceMapsInfo?,
generateScriptModule: Boolean,
generateCallToMain: Boolean, generateCallToMain: Boolean,
crossModuleReferences: CrossModuleReferences = CrossModuleReferences.Empty(moduleKind), crossModuleReferences: CrossModuleReferences = CrossModuleReferences.Empty(moduleKind),
outJsProgram: Boolean = true outJsProgram: Boolean = true
@@ -457,7 +451,6 @@ fun generateSingleWrappedModuleBody(
moduleKind, moduleKind,
fragments, fragments,
crossModuleReferences, crossModuleReferences,
generateScriptModule,
generateRegionComments = true, generateRegionComments = true,
generateCallToMain, generateCallToMain,
).merge() ).merge()
@@ -16,7 +16,6 @@ class Merger(
private val moduleKind: ModuleKind, private val moduleKind: ModuleKind,
private val fragments: List<JsIrProgramFragment>, private val fragments: List<JsIrProgramFragment>,
private val crossModuleReferences: CrossModuleReferences, private val crossModuleReferences: CrossModuleReferences,
private val generateScriptModule: Boolean,
private val generateRegionComments: Boolean, private val generateRegionComments: Boolean,
private val generateCallToMain: Boolean, private val generateCallToMain: Boolean,
) { ) {
@@ -239,48 +238,36 @@ class Merger(
val program = JsProgram() val program = JsProgram()
if (generateScriptModule) { val internalModuleName = ReservedJsNames.makeInternalModuleName()
with(program.globalBlock) { val rootFunction = JsFunction(program.rootScope, JsBlock(), "root function").apply {
polyfillDeclarationBlock.statements parameters += JsParameter(internalModuleName)
.takeIf { it.isNotEmpty() } parameters += (importedJsModules).map { JsParameter(it.internalName) }
?.let { statements.addWithComment("block: polyfills", it) } with(body) {
if (!isEsModules) {
statements += JsStringLiteral("use strict").makeStmt()
}
statements.addWithComment("block: imports", importStatements) statements.addWithComment("block: imports", importStatements)
statements += moduleBody statements += moduleBody
statements.addWithComment("block: exports", exportStatements) statements.addWithComment("block: exports", exportStatements)
} if (generateCallToMain) {
} else { callToMain?.let { this.statements += 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)
if (generateCallToMain) {
callToMain?.let { this.statements += it }
}
this.statements += JsReturn(internalModuleName.makeRef())
} }
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 return program
} }