fix corner case in reduce_vars (#4262)

fixes #4261
This commit is contained in:
Alex Lam S.L
2020-11-07 02:00:04 +00:00
committed by GitHub
parent c2f6fd5fde
commit 4bbeb09f7c
4 changed files with 93 additions and 14 deletions

View File

@@ -1135,3 +1135,43 @@ issue_4248: {
}
expect_stdout: "PASS"
}
issue_4261: {
options = {
inline: true,
reduce_funcs: true,
reduce_vars: true,
toplevel: true,
unused: true,
}
input: {
{
const a = 42;
(function() {
function f() {
console.log(a);
}
function g() {
while (f());
}
(function() {
while (g());
})();
})();
}
}
expect: {
{
const a = 42;
(function() {
function g() {
while (void console.log(a));
}
(function() {
while (g());
})();
})();
}
}
expect_stdout: "42"
}

View File

@@ -2081,7 +2081,7 @@ issue_3016_1: {
var b = 1;
do {
3[b];
} while(0);
} while (0);
console.log(b);
}
expect_stdout: "1"
@@ -2112,7 +2112,7 @@ issue_3016_2: {
do {
a = 3,
a[b];
} while(0);
} while (0);
var a;
console.log(b);
}
@@ -2145,7 +2145,7 @@ issue_3016_2_ie8: {
do {
a = 3,
a[b];
} while(0);
} while (0);
var a;
console.log(b);
}
@@ -2175,7 +2175,7 @@ issue_3016_3: {
var b = 1;
do {
console.log((a = void 0, a ? "FAIL" : a = "PASS"));
} while(b--);
} while (b--);
var a;
}
expect_stdout: [
@@ -2208,7 +2208,7 @@ issue_3016_3_ie8: {
var b = 1;
do {
console.log((a = void 0, a ? "FAIL" : a = "PASS"));
} while(b--);
} while (b--);
var a;
}
expect_stdout: [
@@ -5141,3 +5141,45 @@ issue_4259: {
}
expect_stdout: "function"
}
issue_4261: {
options = {
inline: true,
reduce_funcs: true,
reduce_vars: true,
toplevel: true,
unused: true,
}
input: {
try {
throw 42;
} catch (e) {
(function() {
function f() {
e.p;
}
function g() {
while (f());
}
(function() {
while (console.log(g()));
})();
})();
}
}
expect: {
try {
throw 42;
} catch (e) {
(function() {
function g() {
while (void e.p);
}
(function() {
while (console.log(g()));
})();
})();
}
}
expect_stdout: true
}