});
}
+ AST_Lambda.DEFMETHOD("first_statement", function() {
+ var body = this.body;
+ for (var i = 0; i < body.length; i++) {
+ var stat = body[i];
+ if (!(stat instanceof AST_Directive)) return stat;
+ }
+ });
+
function try_evaluate(compressor, node) {
var ev = node.evaluate(compressor);
if (ev === node) return node;
if (fn instanceof AST_Lambda) {
if (fn.evaluating) return this;
if (fn.name && fn.name.definition().recursive_refs > 0) return this;
- var stat = fn.body[0];
+ var stat = fn.first_statement();
if (!(stat instanceof AST_Return)) return this;
var args = eval_args(this.args);
if (!args) return this;
}
}
}
- var stat = is_func && fn.body[0];
+ var stat = is_func && fn.first_statement();
var can_inline = compressor.option("inline") && !self.is_expr_pure(compressor);
if (exp === fn && can_inline && stat instanceof AST_Return) {
var value = stat.value;