exprs = trim(exprs, compressor, first_in_statement, array_spread);
return exprs && make_sequence(self, exprs.map(convert_spread));
}
- if (!fn.contains_this()) self = make_node(AST_Call, self, self);
+ if (!fn.contains_this()) {
+ self = make_node(AST_Call, self, self);
+ self.expression = self.expression.clone();
+ self.args = self.args.slice();
+ }
}
}
self.call_only = true;
expression: exp.expression,
property: "call",
}),
- args: args
+ args: args,
}).optimize(compressor);
}
break;
self.args[0],
make_node(AST_Call, self, {
expression: exp.expression,
- args: self.args.slice(1)
- })
+ args: self.args.slice(1),
+ }),
]) : make_node(AST_Call, self, {
expression: exp.expression,
- args: []
+ args: [],
})).optimize(compressor);
}
break;