if (drop_vars && node instanceof AST_Definitions && !(tt.parent() instanceof AST_ForIn)) {
var def = node.definitions.filter(function(def){
if (def.value) def.value = def.value.transform(tt);
- if (def.name.definition().id in in_use_ids) return true;
+ var sym = def.name.definition();
+ if (sym.id in in_use_ids) return true;
+ if (sym.orig[0] instanceof AST_SymbolCatch
+ && sym.scope.parent_scope.find_variable(def.name).orig[0] === def.name) {
+ def.value = def.value && def.value.drop_side_effect_free(compressor);
+ return true;
+ }
var w = {
name : def.name.name,
file : def.name.start.file,