enhance unused (#3800)

This commit is contained in:
Alex Lam S.L
2020-04-18 17:10:24 +01:00
committed by GitHub
parent 2a508c6e5f
commit f110601fb4
2 changed files with 33 additions and 3 deletions

View File

@@ -4200,8 +4200,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;
}
}
}
}