@@ -4403,6 +4403,17 @@ merge(Compressor.prototype, {
|
|||||||
mark(node);
|
mark(node);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
if (node instanceof AST_Try) {
|
||||||
|
var save = segment;
|
||||||
|
segment = node;
|
||||||
|
node.body.forEach(function(branch) {
|
||||||
|
branch.walk(tw);
|
||||||
|
});
|
||||||
|
if (node.bcatch) node.bcatch.walk(tw);
|
||||||
|
segment = save;
|
||||||
|
if (node.bfinally) node.bfinally.walk(tw);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
if (node instanceof AST_Unary) {
|
if (node instanceof AST_Unary) {
|
||||||
if (!unary_arithmetic[node.operator]) return;
|
if (!unary_arithmetic[node.operator]) return;
|
||||||
var sym = node.expression;
|
var sym = node.expression;
|
||||||
|
|||||||
@@ -182,6 +182,35 @@ switch_branch: {
|
|||||||
expect_stdout: "PASS"
|
expect_stdout: "PASS"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try_branch: {
|
||||||
|
options = {
|
||||||
|
merge_vars: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
console.log(function(a) {
|
||||||
|
var b = "FAIL", c;
|
||||||
|
try {
|
||||||
|
a && F();
|
||||||
|
} catch (e) {
|
||||||
|
c = b;
|
||||||
|
}
|
||||||
|
return c || "PASS";
|
||||||
|
}());
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
console.log(function(a) {
|
||||||
|
var b = "FAIL", c;
|
||||||
|
try {
|
||||||
|
a && F();
|
||||||
|
} catch (e) {
|
||||||
|
c = b;
|
||||||
|
}
|
||||||
|
return c || "PASS";
|
||||||
|
}());
|
||||||
|
}
|
||||||
|
expect_stdout: "PASS"
|
||||||
|
}
|
||||||
|
|
||||||
read_before_assign_1: {
|
read_before_assign_1: {
|
||||||
options = {
|
options = {
|
||||||
inline: true,
|
inline: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user