From: Mihai Bazon Date: Thu, 9 May 2013 05:58:47 +0000 (+0300) Subject: Use the negation hack rather than parens for a toplevel function expression call X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=a9511dfbe5c0d96d8cacb87582aa9a19737bbb98;p=UglifyJS.git Use the negation hack rather than parens for a toplevel function expression call (only in !beautify mode) --- diff --git a/lib/output.js b/lib/output.js index defd0215..a13c92ea 100644 --- a/lib/output.js +++ b/lib/output.js @@ -351,7 +351,9 @@ function OutputStream(options) { AST_Node.DEFMETHOD("print", function(stream, force_parens){ var self = this, generator = self._codegen; stream.push_node(self); - if (force_parens || self.needs_parens(stream)) { + var needs_parens = self.needs_parens(stream); + var fc = self instanceof AST_Function && !stream.option("beautify"); + if (force_parens || (needs_parens && !fc)) { stream.with_parens(function(){ self.add_comments(stream); self.add_source_map(stream); @@ -359,6 +361,7 @@ function OutputStream(options) { }); } else { self.add_comments(stream); + if (needs_parens && fc) stream.print("!"); self.add_source_map(stream); generator(self, stream); }