fix corner case in merge_vars

fixes #4548
This commit is contained in:
alexlamsl 2021-01-13 01:32:11 +08:00
parent fc816628c1
commit e04ee58dc9
2 changed files with 28 additions and 0 deletions

View File

@ -4979,7 +4979,9 @@ merge(Compressor.prototype, {
var marker = new TreeWalker(function(node) {
if (node instanceof AST_Destructured) return;
if (node instanceof AST_DefaultValue) {
push();
node.value.walk(tw);
pop();
node.name.walk(marker);
} else if (node instanceof AST_DestructuredKeyVal) {
if (node.key instanceof AST_Node) {

View File

@ -1570,3 +1570,29 @@ issue_4540: {
expect_stdout: "undefined"
node_version: ">=6"
}
issue_4548: {
options = {
merge_vars: true,
toplevel: true,
}
input: {
A = "foo";
var a = A;
[ b = c = "bar" ] = [ console, console.log(a) ];
console.log(c);
var c;
}
expect: {
A = "foo";
var a = A;
[ b = c = "bar" ] = [ console, console.log(a) ];
console.log(c);
var c;
}
expect_stdout: [
"foo",
"undefined",
]
node_version: ">=6"
}