fix corner case in collapse_vars (#5113)

fixes #5112
This commit is contained in:
Alex Lam S.L
2021-08-18 03:54:24 +01:00
committed by GitHub
parent c09f63aefb
commit 02eb8baa1c
2 changed files with 78 additions and 2 deletions

View File

@@ -1815,7 +1815,11 @@ merge(Compressor.prototype, {
var node = compressor.self(), level = 0;
do {
if (node instanceof AST_Catch) {
if (!compressor.parent(level).bfinally) level++;
if (compressor.parent(level).bfinally) {
if (!in_try) in_try = {};
in_try.bfinally = true;
}
level++;
} else if (node instanceof AST_Finally) {
level++;
} else if (node instanceof AST_IterationStatement) {
@@ -1824,7 +1828,9 @@ merge(Compressor.prototype, {
scope = node;
break;
} else if (node instanceof AST_Try) {
if (!in_try) in_try = node;
if (!in_try) in_try = {};
if (node.bcatch) in_try.bcatch = true;
if (node.bfinally) in_try.bfinally = true;
}
} while (node = compressor.parent(level++));
}