From f4d36a58c28cd6dd598a5e92c6ab56605b8c17e4 Mon Sep 17 00:00:00 2001 From: Richard van Velzen Date: Thu, 23 Oct 2014 15:57:12 +0200 Subject: Fix #569 When no arguments are given to `new Function()`, it should be treated as a regular anonymous function (http://es5.github.io/#x15.3.2.1) --- lib/compress.js | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'lib/compress.js') diff --git a/lib/compress.js b/lib/compress.js index f8030722..2c950992 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -1722,6 +1722,11 @@ merge(Compressor.prototype, { }).transform(compressor); break; case "Function": + // new Function() => function(){} + if (self.args.length == 0) return make_node(AST_Function, self, { + argnames: [], + body: [] + }); if (all(self.args, function(x){ return x instanceof AST_String })) { // quite a corner-case, but we can handle it: // https://github.com/mishoo/UglifyJS2/issues/203 -- cgit v1.2.3