From: Alex Lam S.L Date: Tue, 26 Jan 2021 17:30:05 +0000 (+0000) Subject: fix corner case in `inline` (#4596) X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=d0bb1476397d2cf6f240267aa003fe6edc445683;p=UglifyJS.git fix corner case in `inline` (#4596) fixes #4595 --- diff --git a/lib/compress.js b/lib/compress.js index ac380cf3..a662b991 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -8270,7 +8270,7 @@ merge(Compressor.prototype, { if (can_inline && !fn.uses_arguments && !fn.pinned() - && !(fn.name && fn instanceof AST_Function) + && !(fn.name && is_function(fn)) && (exp === fn || !recursive_ref(compressor, def = exp.definition()) && fn.is_constant_expression(find_scope(compressor))) && !has_spread diff --git a/test/compress/awaits.js b/test/compress/awaits.js index 0ffa1a9b..01a55710 100644 --- a/test/compress/awaits.js +++ b/test/compress/awaits.js @@ -1024,3 +1024,26 @@ issue_4581: { expect_stdout: "PASS" node_version: ">=8" } + +issue_4595: { + options = { + awaits: true, + inline: true, + } + input: { + (async function() { + await async function f() { + console.log(f.length); + }(); + })(); + } + expect: { + (async function() { + await async function f() { + console.log(f.length); + }(); + })(); + } + expect_stdout: "0" + node_version: ">=8" +}