fix corner case in inline (#5068)

fixes #5067
This commit is contained in:
Alex Lam S.L
2021-07-10 21:11:10 +01:00
committed by GitHub
parent aae1fcd12d
commit d147d5d7f0
2 changed files with 17 additions and 2 deletions

View File

@@ -2207,7 +2207,7 @@ merge(Compressor.prototype, {
fn = fn.fixed_value();
}
if (!(fn instanceof AST_Lambda)) return !node.is_expr_pure(compressor);
if (def && recursive_ref(compressor, def)) return true;
if (def && recursive_ref(compressor, def, fn)) return true;
if (fn.collapse_scanning) return false;
fn.collapse_scanning = true;
var replace = can_replace;
@@ -9481,7 +9481,7 @@ merge(Compressor.prototype, {
&& !fn.uses_arguments
&& !fn.pinned()
&& !(fn.name && fn instanceof AST_LambdaExpression)
&& (exp === fn || !recursive_ref(compressor, def = exp.definition())
&& (exp === fn || !recursive_ref(compressor, def = exp.definition(), fn)
&& fn.is_constant_expression(find_scope(compressor)))
&& !has_spread
&& (value = can_flatten_body(stat))