Skip to content

Commit b0aede7

Browse files
committed
Avoid excessive variable reuse in modularize function. NFC
I think this makes it a little easier to follow.
1 parent 2ac4c4f commit b0aede7

File tree

1 file changed

+12
-17
lines changed

1 file changed

+12
-17
lines changed

tools/link.py

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2377,7 +2377,7 @@ def node_pthread_detection():
23772377
def modularize():
23782378
global final_js
23792379
logger.debug(f'Modularizing, assigning to var {settings.EXPORT_NAME}')
2380-
src = read_file(final_js)
2380+
generated_js = read_file(final_js)
23812381

23822382
# When targetting node and ES6 we use `await import ..` in the generated code
23832383
# so the outer function needs to be marked as async.
@@ -2390,35 +2390,30 @@ def modularize():
23902390
diagnostics.warning('emcc', 'EXPORT_NAME should not be named "config" when targeting Safari')
23912391

23922392
if settings.MODULARIZE == 'instance':
2393-
src = '''
2393+
wrapper_funcion = '''
23942394
export default async function init(moduleArg = {}) {
23952395
var moduleRtn;
23962396
2397-
%(src)s
2397+
%(generated_js)s
23982398
23992399
return await moduleRtn;
24002400
}
2401-
''' % {
2402-
'src': src,
2403-
}
2401+
''' % {'generated_js': generated_js}
24042402
else:
2405-
src = '''
2403+
wrapper_funcion = '''
24062404
%(maybe_async)sfunction(moduleArg = {}) {
24072405
var moduleRtn;
24082406
2409-
%(src)s
2407+
%(generated_js)s
24102408
24112409
return moduleRtn;
24122410
}
2413-
''' % {
2414-
'maybe_async': async_emit,
2415-
'src': src,
2416-
}
2411+
''' % {'maybe_async': async_emit, 'generated_js': generated_js}
24172412

24182413
if settings.MINIMAL_RUNTIME and not settings.PTHREADS:
24192414
# Single threaded MINIMAL_RUNTIME programs do not need access to
24202415
# document.currentScript, so a simple export declaration is enough.
2421-
src = '/** @nocollapse */ var %s = %s' % (settings.EXPORT_NAME, src)
2416+
src = f'/** @nocollapse */ var {settings.EXPORT_NAME} = {wrapper_funcion};'
24222417
else:
24232418
script_url_node = ''
24242419
# When MODULARIZE this JS may be executed later,
@@ -2436,24 +2431,24 @@ def modularize():
24362431
src = '''\
24372432
var _scriptName = %(script_url)s;
24382433
%(script_url_node)s
2439-
%(src)s
2434+
%(wrapper_funcion)s
24402435
''' % {
24412436
'script_url': script_url,
24422437
'script_url_node': script_url_node,
2443-
'src': src,
2438+
'wrapper_funcion': wrapper_funcion,
24442439
}
24452440
else:
24462441
src = '''\
24472442
var %(EXPORT_NAME)s = (() => {
24482443
var _scriptName = %(script_url)s;
24492444
%(script_url_node)s
2450-
return (%(src)s);
2445+
return (%(wrapper_funcion)s);
24512446
})();
24522447
''' % {
24532448
'EXPORT_NAME': settings.EXPORT_NAME,
24542449
'script_url': script_url,
24552450
'script_url_node': script_url_node,
2456-
'src': src,
2451+
'wrapper_funcion': wrapper_funcion,
24572452
}
24582453

24592454
# Given the async nature of how the Module function and Module object

0 commit comments

Comments
 (0)