@@ -2734,7 +2734,7 @@ Compressor.prototype.compress = function(node) {
2734
2734
if (node instanceof AST_Function) {
2735
2735
return compressor.option("ie") && node.name && lvalues.has(node.name.name);
2736
2736
}
2737
- if (node instanceof AST_ObjectIdentity) return symbol_in_lvalues(node, parent );
2737
+ if (node instanceof AST_ObjectIdentity) return symbol_in_lvalues(node);
2738
2738
if (node instanceof AST_PropAccess) {
2739
2739
var exp = node.expression;
2740
2740
if (compressor.option("unsafe")) {
@@ -2751,8 +2751,9 @@ Compressor.prototype.compress = function(node) {
2751
2751
}
2752
2752
if (node instanceof AST_Spread) return true;
2753
2753
if (node instanceof AST_SymbolRef) {
2754
+ var assign_direct = symbol_in_lvalues(node);
2754
2755
if (is_undeclared_ref(node) && node.is_declared(compressor)) return false;
2755
- if (symbol_in_lvalues(node, parent) ) return !is_direct_assignment(node, parent);
2756
+ if (assign_direct ) return !is_direct_assignment(node, parent);
2756
2757
if (side_effects && may_modify(node)) return true;
2757
2758
var def = node.definition();
2758
2759
return (in_try || def.scope.resolve() !== scope) && !can_drop_symbol(node);
@@ -3618,7 +3619,7 @@ Compressor.prototype.compress = function(node) {
3618
3619
return true;
3619
3620
}
3620
3621
3621
- function symbol_in_lvalues(sym, parent ) {
3622
+ function symbol_in_lvalues(sym) {
3622
3623
var lvalue = lvalues.get(sym.name);
3623
3624
if (!lvalue || all(lvalue, function(lhs) {
3624
3625
return !lhs;
0 commit comments