if (is_lhs_read_only(value, compressor)) return;
var referenced = def.references.length - def.replaced;
if (referenced < 2) return;
- candidate = candidate.clone();
- candidate[candidate instanceof AST_Assign ? "right" : "value"] = value;
+ var expr = candidate.clone();
+ expr[expr instanceof AST_Assign ? "right" : "value"] = value;
+ if (candidate.name_index >= 0) {
+ expr.name_index = candidate.name_index;
+ expr.arg_index = candidate.arg_index;
+ }
+ candidate = expr;
}
return value_def = def;
}