fix corner case in if_return (#4439)

fixes #4438
This commit is contained in:
Alex Lam S.L
2020-12-23 20:08:57 +00:00
committed by GitHub
parent cb4a02949e
commit 7e575e9d7f
2 changed files with 33 additions and 1 deletions

View File

@@ -2669,7 +2669,7 @@ merge(Compressor.prototype, {
block = last.body;
}
block.pop();
if (ab.value) body.push(make_node(AST_SimpleStatement, ab.value, {
if (ab.value) block.push(make_node(AST_SimpleStatement, ab.value, {
body: ab.value.expression
}));
return body;

View File

@@ -1228,3 +1228,35 @@ issue_1753_toplevel: {
expect_stdout: "0"
node_version: ">=4"
}
issue_4438: {
options = {
if_return: true,
}
input: {
"use strict";
function f() {
if (console) {
{
let a = console.log;
return void a("PASS");
}
}
}
f();
}
expect: {
"use strict";
function f() {
if (!console)
;
else {
let a = console.log;
a("PASS");
}
}
f();
}
expect_stdout: "PASS"
node_version: ">=4"
}