fix corner case in inline (#5760)

fixes #5759
This commit is contained in:
Alex Lam S.L
2022-12-07 05:40:12 +02:00
committed by GitHub
parent 17c3ae6cba
commit dd88f3866b
2 changed files with 45 additions and 0 deletions

View File

@@ -14076,6 +14076,7 @@ Compressor.prototype.compress = function(node) {
var sym = def.orig[0];
if (sym instanceof AST_SymbolCatch) return;
body.push(make_node(AST_SimpleStatement, sym, { body: init_ref(compressor, flatten_var(sym)) }));
def.first_decl = null;
});
var defs = Object.create(null), syms = new Dictionary();
if (simple_argnames && all(call.args, function(arg) {

View File

@@ -2493,3 +2493,47 @@ issue_5756_3: {
expect_stdout: "PASS"
node_version: ">=4"
}
issue_5759: {
options = {
collapse_vars: true,
inline: true,
join_vars: true,
reduce_vars: true,
unused: true,
}
input: {
"use strict";
function f() {
for (var a in [ true ]) {
let b;
(function() {
var c = void 0;
b;
console.log(c);
var d = null;
console.log(c);
})();
}
}
f();
}
expect: {
"use strict";
function f() {
for (var a in [ true ]) {
let b;
var c = c = void 0;
b;
console.log(c);
console.log(c);
}
}
f();
}
expect_stdout: [
"undefined",
"undefined",
]
node_version: ">=4"
}