@@ -853,7 +853,7 @@ def create_sending(metadata, library_symbols):
853
853
elems .append (f'{ v } as { k } ' )
854
854
elems = ',\n ' .join (elems )
855
855
exports = '// Export JS functions to the wasm module with demangled names.\n '
856
- exports += f"export {{\n { elems } \n }};\n \n "
856
+ exports += f"export {{\n { elems } \n }};"
857
857
return exports
858
858
859
859
prefix = ''
@@ -885,7 +885,7 @@ def create_reexports(metadata):
885
885
wasm_exports .append (exp )
886
886
elif demangled == 'main' and '__main_argc_argv' in settings .WASM_EXPORTS :
887
887
wasm_exports .append ('_main' )
888
- exports += f"export {{ { ', ' .join (wasm_exports )} }};\n \n "
888
+ exports += f"export {{ { ', ' .join (wasm_exports )} }};"
889
889
return exports
890
890
891
891
@@ -936,7 +936,7 @@ def create_receiving(function_exports, tag_exports, library_symbols):
936
936
receiving .append (f" dynCalls['{ sig_str } '] = { sym } ;" )
937
937
receiving .append ('}' )
938
938
939
- return '\n ' .join (receiving ) + ' \n \n '
939
+ return '\n ' .join (receiving )
940
940
941
941
# When not declaring asm exports this section is empty and we instead programmatically export
942
942
# symbols on the global object by calling exportWasmSymbols after initialization
@@ -994,18 +994,15 @@ def create_receiving(function_exports, tag_exports, library_symbols):
994
994
receiving .append (f" { export_assignment } { dynCallAssignment } { mangled } = wasmExports['{ sym } '];" )
995
995
receiving .append ('}' )
996
996
997
- return '\n ' .join (receiving ) + ' \n '
997
+ return '\n ' .join (receiving )
998
998
999
999
1000
1000
def create_module (metadata , function_exports , global_exports , tag_exports , library_symbols ):
1001
1001
module = []
1002
+ module .append (create_receiving (function_exports , tag_exports , library_symbols ))
1003
+ module .append (create_global_exports (global_exports ))
1002
1004
1003
- receiving = create_receiving (function_exports , tag_exports , library_symbols )
1004
- receiving += create_global_exports (global_exports )
1005
1005
sending = create_sending (metadata , library_symbols )
1006
-
1007
- module .append (receiving )
1008
-
1009
1006
if settings .WASM_ESM_INTEGRATION :
1010
1007
module .append (sending )
1011
1008
else :
@@ -1015,13 +1012,12 @@ def create_module(metadata, function_exports, global_exports, tag_exports, libra
1015
1012
var wasmImports;
1016
1013
function assignWasmImports() {
1017
1014
wasmImports = %s;
1018
- }
1019
- ''' % sending )
1015
+ }''' % sending )
1020
1016
else :
1021
- module .append ('var wasmImports = %s;\n ' % sending )
1017
+ module .append ('var wasmImports = %s;' % sending )
1022
1018
1023
1019
if settings .SUPPORT_LONGJMP == 'emscripten' or not settings .DISABLE_EXCEPTION_CATCHING :
1024
- module . append ( create_invoke_wrappers (metadata ) )
1020
+ module += create_invoke_wrappers (metadata )
1025
1021
else :
1026
1022
assert not metadata .invoke_funcs , "invoke_ functions exported but exceptions and longjmp are both disabled"
1027
1023
@@ -1031,15 +1027,16 @@ def create_module(metadata, function_exports, global_exports, tag_exports, libra
1031
1027
if settings .WASM_ESM_INTEGRATION :
1032
1028
module .append (create_reexports (metadata ))
1033
1029
1034
- return module
1030
+ module = [chunk for chunk in module if chunk ]
1031
+ return '\n \n ' .join (module ) + '\n '
1035
1032
1036
1033
1037
1034
def create_invoke_wrappers (metadata ):
1038
1035
"""Asm.js-style exception handling: invoke wrapper generation."""
1039
- invoke_wrappers = ''
1036
+ invoke_wrappers = []
1040
1037
for invoke in metadata .invoke_funcs :
1041
1038
sig = removeprefix (invoke , 'invoke_' )
1042
- invoke_wrappers += ' \n ' + js_manipulation .make_invoke (sig ) + ' \n '
1039
+ invoke_wrappers . append ( js_manipulation .make_invoke (sig ))
1043
1040
return invoke_wrappers
1044
1041
1045
1042
0 commit comments