fix corner case in inline (#5284)

fixes #5283
This commit is contained in:
Alex Lam S.L
2022-01-10 07:43:26 +00:00
committed by GitHub
parent caaa753861
commit c7d2837184
2 changed files with 38 additions and 0 deletions

View File

@@ -12998,6 +12998,7 @@ Compressor.prototype.compress = function(node) {
});
scope = scope.parent_scope;
}
if (!member(scope, compressor.stack)) return;
if (scope instanceof AST_Toplevel && fn.variables.size() > (arrow ? 0 : 1)) {
if (!compressor.toplevel.vars) return;
if (fn.functions.size() > 0 && !compressor.toplevel.funcs) return;

View File

@@ -7977,3 +7977,40 @@ issue_5264_2: {
"baz",
]
}
issue_5283: {
options = {
if_return: true,
inline: true,
pure_getters: "strict",
side_effects: true,
unused: true,
}
input: {
var a = "FAIL 1";
(function() {
(a = "PASS")[function() {
if (console)
return null;
var b = function f(a) {
console.log("FAIL 2");
var c = a.p;
}();
}()];
})();
console.log(a);
}
expect: {
var a = "FAIL 1";
(function() {
a = "PASS";
if (!console)
(function(a) {
console.log("FAIL 2");
a.p;
})();
})();
console.log(a);
}
expect_stdout: "PASS"
}