From bfa4fa31983ae4f8fa7dadaff63ad0c950121029 Mon Sep 17 00:00:00 2001 From: Duncan Uszkay Date: Wed, 27 May 2020 13:22:11 -0400 Subject: [PATCH 1/2] empty use declarations now delete exported elements --- src/program.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/program.ts b/src/program.ts index e6f628e46d..ab7ec8056e 100644 --- a/src/program.ts +++ b/src/program.ts @@ -1265,7 +1265,10 @@ export class Program extends DiagnosticEmitter { let alias = unchecked(_keys[i]); let name = changetype(globalAliases.get(alias)); assert(name != null); - if (!name.length) continue; // explicitly disabled + if (!name.length) { + this.elementsByName.delete(alias); + continue; + } let firstChar = name.charCodeAt(0); if (firstChar >= CharCode._0 && firstChar <= CharCode._9) { this.registerConstantInteger(alias, Type.i32, i64_new(parseInt(name, 10))); From 4bf8fce22ab5b14e2c021c8083dfa1c15d25cb5c Mon Sep 17 00:00:00 2001 From: Duncan Uszkay Date: Wed, 27 May 2020 15:06:25 -0400 Subject: [PATCH 2/2] create test --- tests/compiler/empty-use.json | 10 ++++++++++ tests/compiler/empty-use.ts | 3 +++ 2 files changed, 13 insertions(+) create mode 100644 tests/compiler/empty-use.json create mode 100644 tests/compiler/empty-use.ts diff --git a/tests/compiler/empty-use.json b/tests/compiler/empty-use.json new file mode 100644 index 0000000000..38253855dc --- /dev/null +++ b/tests/compiler/empty-use.json @@ -0,0 +1,10 @@ +{ + "asc_flags": [ + "--runtime none", + "--use Date=" + ], + "stderr": [ + "TS2304: Cannot find name 'Date'.", + "EOF" + ] +} \ No newline at end of file diff --git a/tests/compiler/empty-use.ts b/tests/compiler/empty-use.ts new file mode 100644 index 0000000000..8d65799a8a --- /dev/null +++ b/tests/compiler/empty-use.ts @@ -0,0 +1,3 @@ +Date.now(); + +ERROR("EOF");