fix corner case in merge_vars (#4258)

fixes #4257
This commit is contained in:
Alex Lam S.L
2020-11-01 17:01:00 +00:00
committed by GitHub
parent 68091dbf69
commit e7643248a3
2 changed files with 43 additions and 2 deletions

View File

@@ -4502,7 +4502,7 @@ merge(Compressor.prototype, {
segment.loop = true;
var save = segment;
node.body.walk(tw);
if (segment.loop == "c") segment = save;
if (segment.inserted === node) segment = save;
node.condition.walk(tw);
pop();
return true;
@@ -4543,7 +4543,9 @@ merge(Compressor.prototype, {
if (node instanceof AST_LabeledStatement) {
push();
segment.block = node;
var save = segment;
node.body.walk(tw);
if (segment.inserted === node) segment = save;
pop();
return true;
}
@@ -4580,7 +4582,9 @@ merge(Compressor.prototype, {
node.body.forEach(function(branch) {
push();
segment.block = node;
var save = segment;
walk_body(branch, tw);
if (segment.inserted === node) segment = save;
pop();
});
return true;
@@ -4746,7 +4750,7 @@ merge(Compressor.prototype, {
stack.push(segment);
pop();
}
segment.loop = "c";
segment.inserted = segment.block;
push();
while (stack.length) {
var seg = stack.pop();