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:
@@ -0,0 +1,5 @@
|
||||
function foo(a = 2) {
|
||||
for (let a = 1; a > 0; a--);
|
||||
expect(a).toBe(2);
|
||||
}
|
||||
foo();
|
||||
@@ -0,0 +1,5 @@
|
||||
function foo(a = 2) {
|
||||
for (let a, i = 0; i < 1; i++) a = 1;
|
||||
expect(a).toBe(2);
|
||||
}
|
||||
foo();
|
||||
@@ -0,0 +1,5 @@
|
||||
function foo(a = 2) {
|
||||
for (var i of [0]) var a = 1;
|
||||
expect(a).toBe(1);
|
||||
}
|
||||
foo();
|
||||
@@ -0,0 +1,5 @@
|
||||
function foo(a = 2) {
|
||||
for (var [a] of [[1]]);
|
||||
expect(a).toBe(1);
|
||||
}
|
||||
foo();
|
||||
@@ -0,0 +1,5 @@
|
||||
function foo(a = 2) {
|
||||
for (var i of [0]) var a;
|
||||
expect(a).toBe(2);
|
||||
}
|
||||
foo();
|
||||
@@ -0,0 +1,5 @@
|
||||
function foo(a = 2) {
|
||||
for (var a, i = 0; i < 1; i++);
|
||||
expect(a).toBe(undefined);
|
||||
}
|
||||
foo();
|
||||
Reference in New Issue
Block a user