[JS IR] Drop generateScriptModule flag from Merger class
This commit is contained in:
committed by
Space Team
parent
f1bce9fad4
commit
4d37c1d49c
-2
@@ -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
|
||||
|
||||
-7
@@ -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<JsIrProgramFragment>,
|
||||
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()
|
||||
|
||||
+23
-36
@@ -16,7 +16,6 @@ class Merger(
|
||||
private val moduleKind: ModuleKind,
|
||||
private val fragments: List<JsIrProgramFragment>,
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user