fix corner cases in inline (#5265)

fixes #5263
fixes #5264
This commit is contained in:
Alex Lam S.L
2022-01-04 14:05:03 +00:00
committed by GitHub
parent 2f568b9357
commit 3a3666a94e
2 changed files with 107 additions and 3 deletions

View File

@@ -12999,6 +12999,7 @@ Compressor.prototype.compress = function(node) {
});
var body = [];
fn.variables.each(function(def, name) {
if (name == "arguments") return;
names.set(name, true);
scope.enclosed.push(def);
scope.variables.set(name, def);
@@ -13007,9 +13008,10 @@ Compressor.prototype.compress = function(node) {
if (fn.functions.has(name) && def.orig.length == 1) return;
if (def.references.length == def.replaced) return;
if (!all(def.orig, function(sym) {
return !(sym instanceof AST_SymbolConst
|| sym instanceof AST_SymbolFunarg
|| sym instanceof AST_SymbolLet);
if (sym instanceof AST_SymbolConst) return false;
if (sym instanceof AST_SymbolFunarg) return def.scope.resolve() !== fn;
if (sym instanceof AST_SymbolLet) return false;
return true;
})) return;
var sym = def.orig[0];
var ref = make_node(AST_SymbolRef, sym, flatten_var(sym));