fix corner case in merge_vars (#4402)

fixes #4401
This commit is contained in:
Alex Lam S.L
2020-12-18 04:20:43 +00:00
committed by GitHub
parent 1b646d3bc4
commit d2c50ace99
3 changed files with 31 additions and 2 deletions

View File

@@ -465,3 +465,28 @@ issue_4390: {
]
node_version: ">=4"
}
issue_4401: {
options = {
merge_vars: true,
}
input: {
(function() {
var a = (b => b(a))(console.log || a);
var c = console.log;
c && c(typeof b);
})();
}
expect: {
(function() {
var a = (b => b(a))(console.log || a);
var c = console.log;
c && c(typeof b);
})();
}
expect_stdout: [
"undefined",
"undefined",
]
node_version: ">=4"
}

View File

@@ -1011,7 +1011,7 @@ function _createExpression(recurmax, noComma, stmtDepth, canThrow) {
suffix = "})";
} else {
s.push("((" + params + ") => ");
switch (rng(4)) {
switch (rng(10)) {
case 0:
s.push('(typeof arguments != "undefined" && arguments && arguments[' + rng(3) + "])");
break;