if (!call || call.TYPE != "Call") break;
var fn = call.expression;
if (fn instanceof AST_SymbolRef) {
+ if (self.name && self.name.definition() === fn.definition()) break;
fn = fn.fixed_value();
}
if (!(fn instanceof AST_Lambda)) break;
if (fn.uses_arguments) break;
+ if (fn === call.expression) {
+ if (fn.parent_scope !== self) break;
+ if (!all(fn.enclosed, function(def) {
+ return def.scope !== self;
+ })) break;
+ }
if (fn.contains_this()) break;
var j = fn.argnames.length;
if (j > 0 && compressor.option("inline") < 2) break;