@@ -4739,13 +4739,25 @@ merge(Compressor.prototype, {
|
||||
if (node === self) root = segment;
|
||||
if (node instanceof AST_Lambda) {
|
||||
if (node.name) references[node.name.definition().id] = false;
|
||||
node.each_argname(node.uses_arguments && !tw.has_directive("use strict") ? function(node) {
|
||||
references[node.definition().id] = false;
|
||||
var marker = node.uses_arguments && !tw.has_directive("use strict") ? function(node) {
|
||||
if (node instanceof AST_SymbolFunarg) references[node.definition().id] = false;
|
||||
} : function(node) {
|
||||
mark(node, false, true);
|
||||
if (node instanceof AST_SymbolFunarg) mark(node, false, true);
|
||||
};
|
||||
var scanner = new TreeWalker(function(ref) {
|
||||
if (!(ref instanceof AST_SymbolRef)) return;
|
||||
var def = ref.definition();
|
||||
var ldef = node.variables.get(ref.name);
|
||||
if (ldef && (ldef === def || def.undeclared || node.parent_scope.find_variable(ref) === def)) {
|
||||
references[ldef.id] = false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
node.argnames.forEach(function(argname) {
|
||||
argname.mark_symbol(marker, scanner);
|
||||
});
|
||||
}
|
||||
descend();
|
||||
walk_body(node, tw);
|
||||
pop();
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user