@@ -3924,10 +3924,20 @@ merge(Compressor.prototype, {
|
||||
return self;
|
||||
|
||||
function can_flatten_args(fn) {
|
||||
var scope = compressor.find_parent(AST_Scope);
|
||||
var scope, level = 0;
|
||||
var catches = Object.create(null);
|
||||
do {
|
||||
scope = compressor.parent(level++);
|
||||
if (scope instanceof AST_Catch) {
|
||||
catches[scope.argname.name] = true;
|
||||
}
|
||||
} while (!(scope instanceof AST_Scope));
|
||||
var safe_to_inject = compressor.toplevel.vars || !(scope instanceof AST_Toplevel);
|
||||
return all(fn.argnames, function(arg) {
|
||||
return arg.__unused || safe_to_inject && !scope.var_names()[arg.name];
|
||||
return arg.__unused
|
||||
|| safe_to_inject
|
||||
&& !catches[arg.name]
|
||||
&& !scope.var_names()[arg.name];
|
||||
}) && scope;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user