Skip to content

Commit d8b2324

Browse files
authored
Remove duplicate implementation of js identifier checking. NFC (#24761)
1 parent 6b64ffc commit d8b2324

File tree

2 files changed

+3
-11
lines changed

2 files changed

+3
-11
lines changed

test/test_other.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16143,7 +16143,7 @@ def test_cxx20_modules_std_headers(self):
1614316143
def test_invalid_export_name(self):
1614416144
create_file('test.c', '__attribute__((export_name("my.func"))) void myfunc() {}')
1614516145
err = self.expect_fail([EMCC, 'test.c'])
16146-
self.assertContained('emcc: error: invalid export name: my.func', err)
16146+
self.assertContained('emcc: error: invalid export name: "my.func"', err)
1614716147

1614816148
# GCC (and clang) and JavaScript also allow $ in symbol names
1614916149
create_file('valid.c', '''

tools/emscripten.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import subprocess
1717
import logging
1818
import pprint
19-
import re
2019
import shutil
2120
import sys
2221
import textwrap
@@ -456,13 +455,6 @@ def get_metadata(infile, outfile, modify_wasm, args):
456455
return metadata
457456

458457

459-
def is_valid_js_identifier(ident):
460-
# See https://developer.mozilla.org/en-US/docs/Glossary/Identifier
461-
if ident[0].isdigit():
462-
return False
463-
return re.fullmatch(r'[0-9a-zA-Z_\$]+', ident)
464-
465-
466458
def finalize_wasm(infile, outfile, js_syms):
467459
building.save_intermediate(infile, 'base.wasm')
468460
args = []
@@ -571,8 +563,8 @@ def finalize_wasm(infile, outfile, js_syms):
571563
# not known auto-generated system functions.
572564
unexpected_exports = [e for e in metadata.all_exports if shared.is_user_export(e)]
573565
for n in unexpected_exports:
574-
if not is_valid_js_identifier(n):
575-
exit_with_error(f'invalid export name: {n}')
566+
if not js_manipulation.isidentifier(n):
567+
exit_with_error(f'invalid export name: "{n}"')
576568
unexpected_exports = [asmjs_mangle(e) for e in unexpected_exports]
577569
unexpected_exports = [e for e in unexpected_exports if e not in expected_exports]
578570

0 commit comments

Comments
 (0)