fix corner case in inline

fixes #5576
This commit is contained in:
alexlamsl 2022-07-26 08:14:45 +08:00
parent 996836b67e
commit baf98fb6b9
2 changed files with 36 additions and 1 deletions

View File

@ -3828,7 +3828,8 @@ Compressor.prototype.compress = function(node) {
var changed = false;
var index = statements.length - 1;
if (in_lambda && index >= 0) {
var inlined = statements[index].try_inline(compressor, block_scope);
var no_return = in_try && in_try.bfinally && in_async_generator(scope);
var inlined = statements[index].try_inline(compressor, block_scope, no_return);
if (inlined) {
statements[index--] = inlined;
changed = true;

View File

@ -1701,3 +1701,37 @@ issue_5526: {
]
node_version: ">=10"
}
issue_5576: {
options = {
inline: true,
}
input: {
(async function*() {
try {
(function() {
while (console.log("foo"));
})();
} finally {
console.log("bar");
}
})().next();
console.log("baz");
}
expect: {
(async function*() {
try {
while (console.log("foo"));
} finally {
console.log("bar");
}
})().next();
console.log("baz");
}
expect_stdout: [
"foo",
"bar",
"baz",
]
node_version: ">=10"
}