fix corner case in reduce_vars (#4283)

fixes #4282
This commit is contained in:
Alex Lam S.L
2020-11-17 06:43:04 +00:00
committed by GitHub
parent b9798a01a8
commit 2a612fd472
2 changed files with 30 additions and 2 deletions

View File

@@ -616,7 +616,11 @@ merge(Compressor.prototype, {
if (node instanceof AST_DestructuredObject) {
var save = fixed;
node.properties.forEach(function(node) {
if (node.key instanceof AST_Node) node.key.walk(tw);
if (node.key instanceof AST_Node) {
push(tw);
node.key.walk(tw);
pop(tw);
}
fixed = function() {
var key = node.key;
var type = AST_Sub;

View File

@@ -541,7 +541,7 @@ funarg_reduce_vars_3: {
(function({
[a++]: b
}) {})(0);
console.log(1);
console.log(a);
}
expect_stdout: "1"
node_version: ">=6"
@@ -1317,3 +1317,27 @@ issue_4280: {
expect_stdout: "undefined"
node_version: ">=6"
}
issue_4282: {
options = {
evaluate: true,
reduce_vars: true,
unused: true,
}
input: {
(function(a) {
({
[a = "bar"]: 0[console.log(a)],
} = 0);
})("foo");
}
expect: {
(function(a) {
({
[a = "bar"]: 0[console.log(a)],
} = 0);
})("foo");
}
expect_stdout: true
node_version: ">=6"
}