enhance unused (#4968)

This commit is contained in:
Alex Lam S.L
2021-05-26 15:25:07 +01:00
committed by GitHub
parent e3798d9a76
commit 362abe0ffb
2 changed files with 4 additions and 22 deletions

View File

@@ -6890,25 +6890,10 @@ merge(Compressor.prototype, {
node.value = node.value.transform(tt);
var name = node.name.transform(trimmer);
if (!name) {
if (node.name instanceof AST_Destructured) return null;
var value = node.value.drop_side_effect_free(compressor);
if (!value) return null;
name = node.name;
if (name instanceof AST_Destructured) {
name = name.clone();
name[name instanceof AST_DestructuredArray ? "elements" : "properties"] = [];
if (!(value instanceof AST_Array || value.is_string(compressor)
|| name instanceof AST_DestructuredObject
&& (value instanceof AST_Object
|| value.is_boolean(compressor)
|| value.is_number(compressor)))) {
value = make_node(AST_Array, value, {
elements: [ value ],
});
}
node.name = name;
} else {
log(name, "Side effects in default value of unused variable {name}");
}
log(node.name, "Side effects in default value of unused variable {name}");
node.value = value;
}
return node;

View File

@@ -598,6 +598,7 @@ unused_var_1: {
unused_var_2: {
options = {
pure_getters: "strict",
toplevel: true,
unused: true,
}
@@ -609,11 +610,7 @@ unused_var_2: {
};
}
expect: {
var {
p: [] = [ console.log("FAIL") ],
} = {
p: [ console.log("PASS") ],
};
console.log("PASS");
}
expect_stdout: "PASS"
node_version: ">=6"