@@ -4151,22 +4151,17 @@ merge(Compressor.prototype, {
|
||||
def.value = def.value.drop_side_effect_free(compressor);
|
||||
}
|
||||
var var_defs = var_defs_by_id.get(sym.id);
|
||||
if (var_defs.length > 1) {
|
||||
if (!def.value) {
|
||||
if (!def.value) {
|
||||
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++;
|
||||
return;
|
||||
} else {
|
||||
head.push(def);
|
||||
}
|
||||
if (sym.orig.indexOf(def.name) > sym.eliminated) {
|
||||
remove(var_defs, def);
|
||||
duplicated++;
|
||||
}
|
||||
}
|
||||
if (!def.value) {
|
||||
head.push(def);
|
||||
} else if (compressor.option("functions")
|
||||
&& !compressor.option("ie8")
|
||||
&& var_defs.length == 1
|
||||
&& def.value === def.name.fixed_value()
|
||||
&& def.value instanceof AST_Function
|
||||
&& !(def.value.name && def.value.name.definition().assignments)
|
||||
@@ -4188,6 +4183,10 @@ merge(Compressor.prototype, {
|
||||
}
|
||||
body.push(defun);
|
||||
} else {
|
||||
if (var_defs.length > 1 && sym.orig.indexOf(def.name) > sym.eliminated) {
|
||||
remove(var_defs, def);
|
||||
duplicated++;
|
||||
}
|
||||
if (side_effects.length > 0) {
|
||||
if (tail.length > 0) {
|
||||
side_effects.push(def.value);
|
||||
|
||||
Reference in New Issue
Block a user