From: Alex Lam S.L Date: Wed, 30 Sep 2020 13:03:28 +0000 (+0100) Subject: enhance `inline` (#4163) X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=090ee895e12ff7e985a972c448b7d29f63e12696;p=UglifyJS.git enhance `inline` (#4163) --- diff --git a/lib/compress.js b/lib/compress.js index 69394a3d..dfe444ad 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -6831,7 +6831,7 @@ merge(Compressor.prototype, { return arg; })).optimize(compressor); node = maintain_this_binding(compressor, compressor.parent(), compressor.self(), node); - if (replacing || best_of(compressor, self, node) === node) { + if (replacing || best_of_expression(node, self) === node) { refs.forEach(function(ref) { var def = ref.definition(); def.references.push(ref); diff --git a/test/compress/functions.js b/test/compress/functions.js index 4d753469..0cd07dda 100644 --- a/test/compress/functions.js +++ b/test/compress/functions.js @@ -4829,3 +4829,27 @@ issue_4159: { } expect_stdout: "42 42" } + +direct_inline: { + options = { + inline: true, + reduce_vars: true, + unused: true, + } + input: { + function f(a, b) { + function g(c) { + return c >> 1; + } + return g(a) + g(b); + } + console.log(f(13, 31)); + } + expect: { + function f(a, b) { + return (a >> 1) + (b >> 1); + } + console.log(f(13, 31)); + } + expect_stdout: "21" +}