From: Alex Lam S.L Date: Sun, 14 Mar 2021 06:09:29 +0000 (+0000) Subject: parse parentheses-terminated statements correctly (#4774) X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=e124ef57e34190205534aa3ab856a7fcb6caaab5;p=UglifyJS.git parse parentheses-terminated statements correctly (#4774) fixes #4772 --- diff --git a/lib/parse.js b/lib/parse.js index 21f76f5b..7bea41d8 100644 --- a/lib/parse.js +++ b/lib/parse.js @@ -1835,7 +1835,10 @@ function parse($TEXT, options) { expect(")"); var end = prev(); end.comments_before = ex.end.comments_before; - [].push.apply(ex.end.comments_after, end.comments_after); + end.comments_after.forEach(function(comment) { + ex.end.comments_after.push(comment); + if (comment.nlb) S.token.nlb = true; + }); end.comments_after.length = 0; end.comments_after = ex.end.comments_after; ex.end = end; diff --git a/test/compress/arrows.js b/test/compress/arrows.js index 6cb55223..c906aa4c 100644 --- a/test/compress/arrows.js +++ b/test/compress/arrows.js @@ -803,3 +803,13 @@ issue_4687_2: { expect_stdout: "PASS" node_version: ">=4" } + +issue_4772: { + input: { + var f = a => (a) + /**/ console.log(f("PASS")); + } + expect_exact: 'var f=a=>a;console.log(f("PASS"));' + expect_stdout: "PASS" + node_version: ">=4" +}