fix corner case in dead_code (#4378)

fixes #4377
This commit is contained in:
Alex Lam S.L
2020-12-13 16:03:44 +00:00
committed by GitHub
parent b309527264
commit fcc40d0502
2 changed files with 27 additions and 2 deletions

View File

@@ -3016,7 +3016,7 @@ merge(Compressor.prototype, {
}
function extract_declarations_from_unreachable_code(compressor, stat, target) {
if (!(stat instanceof AST_Definitions || stat instanceof AST_Defun)) {
if (!(stat instanceof AST_Definitions || is_defun(stat))) {
AST_Node.warn("Dropping unreachable code [{file}:{line},{col}]", stat.start);
}
var block;
@@ -3032,7 +3032,7 @@ merge(Compressor.prototype, {
}
return true;
}
if (node instanceof AST_Defun) {
if (is_defun(node)) {
push(node);
return true;
}

View File

@@ -471,3 +471,28 @@ issue_4359: {
expect_stdout: "PASS"
node_version: ">=8"
}
issue_4377: {
options = {
dead_code: true,
inline: true,
side_effects: true,
}
input: {
console.log(typeof function() {
return function() {
f;
async function f() {}
return f();
}();
}().then);
}
expect: {
console.log(typeof function() {
return f();
async function f() {}
}().then);
}
expect_stdout: "function"
node_version: ">=8"
}