return make_node(AST_SymbolRef, expr.name, expr.name);
}
} else if (expr instanceof AST_Assign) {
- var lhs = expr.left;
- if (expr.operator == "=" && lhs instanceof AST_SymbolRef) {
- var def = lhs.definition();
- if (def.references[0] === lhs) {
- var referenced = def.references.length - def.replaced;
- if (referenced > 1) mangleable_var(expr.right);
- }
+ var def, lhs = expr.left;
+ if (expr.operator == "="
+ && lhs instanceof AST_SymbolRef
+ && (def = lhs.definition()).references[0] === lhs
+ && !compressor.exposed(def)) {
+ var referenced = def.references.length - def.replaced;
+ if (referenced > 1) mangleable_var(expr.right);
}
return lhs;
} else {