fix corner case in side_effects (#4513)

fixes #4512
This commit is contained in:
Alex Lam S.L
2021-01-05 18:11:30 +00:00
committed by GitHub
parent 4c89550c43
commit 71c3d04681
2 changed files with 15 additions and 9 deletions

View File

@@ -8073,15 +8073,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"
}