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);
});
} else {
self.add_comments(stream);
+ if (needs_parens && fc) stream.print("!");
self.add_source_map(stream);
generator(self, stream);
}