fix corner case in `unused` (#5225)
[UglifyJS.git] / lib / compress.js
index cf8c7eb..949abac 100644 (file)
@@ -8076,7 +8076,11 @@ Compressor.prototype.compress = function(node) {
                         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;
@@ -9565,7 +9569,7 @@ Compressor.prototype.compress = function(node) {
                             expression: exp.expression,
                             property: "call",
                         }),
-                        args: args
+                        args: args,
                     }).optimize(compressor);
                 }
                 break;
@@ -9579,11 +9583,11 @@ Compressor.prototype.compress = function(node) {
                         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;