fix corner case in side_effects

fixes #4512
This commit is contained in:
alexlamsl 2021-01-06 00:00:07 +08:00
parent 7ebfb22d16
commit 76ac9b3d88
2 changed files with 15 additions and 9 deletions

View File

@ -8072,15 +8072,7 @@ merge(Compressor.prototype, {
}
if (argname instanceof AST_Destructured) {
has_destructured = true;
var abort = false;
argname.walk(new TreeWalker(function(node) {
if (abort) return true;
if (node instanceof AST_DestructuredKeyVal) {
var key = node.key;
if (key instanceof AST_Node && has_arg_refs(key)) return abort = true;
}
}));
if (abort) return false;
if (has_arg_refs(argname)) return false;
}
return true;
});

View File

@ -2384,3 +2384,17 @@ issue_4508: {
]
node_version: ">=6"
}
issue_4512: {
options = {
side_effects: true,
}
input: {
console.log(function([ a, b = a ]) {}([]));
}
expect: {
console.log(function([ a, b = a ]) {}([]));
}
expect_stdout: "undefined"
node_version: ">=6"
}