@@ -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();
|
||||
|
||||
@@ -3146,3 +3146,40 @@ issue_4255: {
|
||||
}
|
||||
expect_stdout: "0"
|
||||
}
|
||||
|
||||
issue_4257: {
|
||||
options = {
|
||||
merge_vars: true,
|
||||
toplevel: true,
|
||||
}
|
||||
input: {
|
||||
var a = 0;
|
||||
for (var i = 0; i < 2; i++)
|
||||
switch (--a) {
|
||||
case 0:
|
||||
var b = 0;
|
||||
break;
|
||||
case 0:
|
||||
default:
|
||||
var c = 1 + (0 | (b && A));
|
||||
console.log(c);
|
||||
}
|
||||
}
|
||||
expect: {
|
||||
var a = 0;
|
||||
for (var i = 0; i < 2; i++)
|
||||
switch (--a) {
|
||||
case 0:
|
||||
var b = 0;
|
||||
break;
|
||||
case 0:
|
||||
default:
|
||||
var c = 1 + (0 | (b && A));
|
||||
console.log(c);
|
||||
}
|
||||
}
|
||||
expect_stdout: [
|
||||
"1",
|
||||
"1",
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user