fix corner case in merge_vars (#5609)
This commit is contained in:
@@ -6474,16 +6474,13 @@ Compressor.prototype.compress = function(node) {
|
||||
} else {
|
||||
assigned = segment.block instanceof AST_ForEnumeration && segment.block.init === tw.parent();
|
||||
}
|
||||
node.name.mark_symbol(assigned ? function(node) {
|
||||
if (!(node instanceof AST_SymbolDeclaration)) return;
|
||||
walk_destructured(AST_SymbolDeclaration, assigned ? function(node) {
|
||||
if (node instanceof AST_SymbolVar) {
|
||||
mark(node);
|
||||
} else {
|
||||
references[node.definition().id] = false;
|
||||
}
|
||||
return true;
|
||||
} : function(node) {
|
||||
if (!(node instanceof AST_SymbolDeclaration)) return;
|
||||
var id = node.definition().id;
|
||||
if (!(node instanceof AST_SymbolVar)) {
|
||||
references[id] = false;
|
||||
@@ -6492,8 +6489,7 @@ Compressor.prototype.compress = function(node) {
|
||||
} else if (references[id]) {
|
||||
references[id].push(node);
|
||||
}
|
||||
return true;
|
||||
}, tw);
|
||||
}, node.name);
|
||||
return true;
|
||||
}
|
||||
if (node instanceof AST_While) {
|
||||
@@ -6613,13 +6609,16 @@ Compressor.prototype.compress = function(node) {
|
||||
pop();
|
||||
node.name.walk(marker);
|
||||
} else if (node instanceof AST_DestructuredKeyVal) {
|
||||
if (node.key instanceof AST_Node) {
|
||||
if (!(node.key instanceof AST_Node)) {
|
||||
node.value.walk(marker);
|
||||
} else if (node.value instanceof AST_PropAccess) {
|
||||
push();
|
||||
segment.block = node;
|
||||
node.key.walk(tw);
|
||||
node.value.walk(marker);
|
||||
pop();
|
||||
} else {
|
||||
node.key.walk(tw);
|
||||
node.value.walk(marker);
|
||||
}
|
||||
} else if (node instanceof symbol_type) {
|
||||
|
||||
Reference in New Issue
Block a user