@@ -2921,7 +2921,29 @@ merge(Compressor.prototype, {
|
||||
if (value) {
|
||||
lvalues.add(node.name, is_modified(compressor, tw, node, value, 0));
|
||||
} else if (node instanceof AST_Lambda) {
|
||||
if (!(tw.find_parent(AST_Call) || tw.find_parent(AST_Scope))) return true;
|
||||
for (var level = 0, parent, child = node; parent = tw.parent(level++); child = parent) {
|
||||
if (parent instanceof AST_Assign) {
|
||||
if (parent.left === child) break;
|
||||
if (parent.operator == "=") continue;
|
||||
if (lazy_op[parent.operator.slice(0, -1)]) continue;
|
||||
break;
|
||||
}
|
||||
if (parent instanceof AST_Binary) {
|
||||
if (lazy_op[parent.operator]) continue;
|
||||
break;
|
||||
}
|
||||
if (parent instanceof AST_Call) return;
|
||||
if (parent instanceof AST_Scope) return;
|
||||
if (parent instanceof AST_Sequence) {
|
||||
if (parent.tail_node() === child) continue;
|
||||
break;
|
||||
}
|
||||
if (parent instanceof AST_Template) {
|
||||
if (parent.tag) return;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
} else if (find_arguments && node instanceof AST_Sub) {
|
||||
scope.each_argname(function(argname) {
|
||||
if (!compressor.option("reduce_vars") || argname.definition().assignments) {
|
||||
|
||||
Reference in New Issue
Block a user