drop side_effects-free return values (#2965)

This commit is contained in:
Alex Lam S.L
2018-02-28 19:59:19 +08:00
committed by GitHub
parent 36bca6934d
commit 73e98dcda4
2 changed files with 66 additions and 10 deletions

View File

@@ -3644,7 +3644,15 @@ merge(Compressor.prototype, {
if (this.expression instanceof AST_Function
&& (!this.expression.name || !this.expression.name.definition().references.length)) {
var node = this.clone();
node.expression.process_expression(false, compressor);
var exp = node.expression;
exp.process_expression(false, compressor);
exp.walk(new TreeWalker(function(node) {
if (node instanceof AST_Return && node.value) {
node.value = node.value.drop_side_effect_free(compressor);
return true;
}
if (node instanceof AST_Scope && node !== exp) return true;
}));
return node;
}
return this;