enhance unused

This commit is contained in:
alexlamsl 2020-04-18 22:34:20 +08:00
parent fd6144d95b
commit 2a5f234243
2 changed files with 33 additions and 3 deletions

View File

@ -4196,8 +4196,15 @@ merge(Compressor.prototype, {
} else if (sym.orig[0] instanceof AST_SymbolCatch) {
var value = def.value && def.value.drop_side_effect_free(compressor);
if (value) side_effects.push(value);
def.value = null;
head.push(def);
var var_defs = var_defs_by_id.get(sym.id);
if (var_defs.length > 1) {
AST_Node.warn("Dropping duplicated declaration of variable {name} [{file}:{line},{col}]", template(def.name));
remove(var_defs, def);
sym.eliminated++;
} else {
def.value = null;
head.push(def);
}
} else {
var value = def.value && !def.value.single_use && def.value.drop_side_effect_free(compressor);
if (value) {

View File

@ -1173,7 +1173,6 @@ var_catch_toplevel: {
x();
} catch (a) {
var a;
var a;
}
}();
}
@ -2465,3 +2464,27 @@ drop_duplicated_side_effects: {
}
expect_stdout: "1"
}
drop_duplicated_var_catch: {
options = {
unused: true,
}
input: {
function f() {
try {
x();
} catch (a) {
var a, a;
}
}
}
expect: {
function f() {
try {
x();
} catch (a) {
var a;
}
}
}
}