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); node.value = node.value.transform(tt);
var name = node.name.transform(trimmer); var name = node.name.transform(trimmer);
if (!name) { if (!name) {
if (node.name instanceof AST_Destructured) return null;
var value = node.value.drop_side_effect_free(compressor); var value = node.value.drop_side_effect_free(compressor);
if (!value) return null; if (!value) return null;
name = node.name; log(node.name, "Side effects in default value of unused variable {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}");
}
node.value = value; node.value = value;
} }
return node; return node;

View File

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