fix: preserve shadowed for-loop declarators (#11242)

* fix: do not remove for-loop declarators

* fix: do not remove uninitialized var declarators in for init
This commit is contained in:
Huáng Jùnliàng
2020-03-12 14:07:59 -04:00
committed by GitHub
parent dadd22e161
commit 565ab9a3fc
10 changed files with 56 additions and 4 deletions

View File

@@ -0,0 +1,5 @@
function foo(a = 2) {
for (let a = 1; a > 0; a--);
expect(a).toBe(2);
}
foo();

View File

@@ -0,0 +1,5 @@
function foo(a = 2) {
for (let a, i = 0; i < 1; i++) a = 1;
expect(a).toBe(2);
}
foo();

View File

@@ -0,0 +1,5 @@
function foo(a = 2) {
for (var i of [0]) var a = 1;
expect(a).toBe(1);
}
foo();

View File

@@ -0,0 +1,5 @@
function foo(a = 2) {
for (var [a] of [[1]]);
expect(a).toBe(1);
}
foo();

View File

@@ -0,0 +1,5 @@
function foo(a = 2) {
for (var i of [0]) var a;
expect(a).toBe(2);
}
foo();

View File

@@ -0,0 +1,5 @@
function foo(a = 2) {
for (var a, i = 0; i < 1; i++);
expect(a).toBe(undefined);
}
foo();