[JS IR] support generateScriptModule

This commit is contained in:
Anton Bannykh
2021-10-29 11:00:40 +03:00
committed by TeamCityServer
parent 0506d422a3
commit a7d8c34927
@@ -62,7 +62,8 @@ class IrModuleToJsTransformerTmp(
mainModuleName, mainModuleName,
moduleKind, moduleKind,
generateProgramFragments(modules, exportData), generateProgramFragments(modules, exportData),
relativeRequirePath relativeRequirePath,
generateScriptModule,
) else null ) else null
val dceJsCode = if (dceJs) { val dceJsCode = if (dceJs) {
@@ -73,7 +74,8 @@ class IrModuleToJsTransformerTmp(
mainModuleName, mainModuleName,
moduleKind, moduleKind,
generateProgramFragments(modules, exportData), generateProgramFragments(modules, exportData),
relativeRequirePath relativeRequirePath,
generateScriptModule,
) )
} else null } else null
@@ -261,6 +263,7 @@ private fun generateWrappedModuleBody(
moduleKind: ModuleKind, moduleKind: ModuleKind,
program: JsIrProgram, program: JsIrProgram,
relativeRequirePath: Boolean, relativeRequirePath: Boolean,
generateScriptModule: Boolean,
): CompilationOutputs { ): CompilationOutputs {
if (multiModule) { if (multiModule) {
@@ -273,8 +276,9 @@ private fun generateWrappedModuleBody(
mainModuleName, mainModuleName,
moduleKind, moduleKind,
main.fragments, main.fragments,
moduleToRef[main]!!, generateScriptModule,
generateCallToMain = true, generateCallToMain = true,
moduleToRef[main]!!,
) )
val dependencies = others.map { module -> val dependencies = others.map { module ->
@@ -284,8 +288,9 @@ private fun generateWrappedModuleBody(
moduleName, moduleName,
moduleKind, moduleKind,
module.fragments, module.fragments,
moduleToRef[module]!!, generateScriptModule,
generateCallToMain = false, generateCallToMain = false,
moduleToRef[module]!!,
) )
} }
@@ -295,6 +300,7 @@ private fun generateWrappedModuleBody(
mainModuleName, mainModuleName,
moduleKind, moduleKind,
program.modules.flatMap { it.fragments }, program.modules.flatMap { it.fragments },
generateScriptModule,
generateCallToMain = true, generateCallToMain = true,
) )
} }
@@ -304,15 +310,16 @@ fun generateSingleWrappedModuleBody(
moduleName: String, moduleName: String,
moduleKind: ModuleKind, moduleKind: ModuleKind,
fragments: List<JsIrProgramFragment>, fragments: List<JsIrProgramFragment>,
crossModuleReferences: CrossModuleReferences = CrossModuleReferences.Empty, generateScriptModule: Boolean,
generateCallToMain: Boolean, generateCallToMain: Boolean,
crossModuleReferences: CrossModuleReferences = CrossModuleReferences.Empty,
): CompilationOutputs { ): CompilationOutputs {
val program = Merger( val program = Merger(
moduleName, moduleName,
moduleKind, moduleKind,
fragments, fragments,
crossModuleReferences, crossModuleReferences,
generateScriptModule = false, generateScriptModule,
generateRegionComments = true, generateRegionComments = true,
generateCallToMain, generateCallToMain,
).merge() ).merge()