diff --git a/lib/compress.js b/lib/compress.js index cde4b6f7..3e5b524d 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -741,9 +741,10 @@ merge(Compressor.prototype, { }); def(AST_SimpleStatement, function(){ - if (this.body instanceof AST_Function) return false; return this.body.has_side_effects(); }); + def(AST_Defun, function(){ return true }); + def(AST_Function, function(){ return false }); def(AST_Binary, function(){ return this.left.has_side_effects() || this.right.has_side_effects(); @@ -1354,7 +1355,7 @@ merge(Compressor.prototype, { if (compressor.option("side_effects")) { if (self.expression instanceof AST_Function && self.args.length == 0 - && !self.expression.has_side_effects()) { + && !AST_Block.prototype.has_side_effects.call(self.expression)) { return make_node(AST_Undefined, self).transform(compressor); } }