enhance unused (#4968)
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user