fix comment parsing around parentheses

This commit is contained in:
alexlamsl 2017-12-24 05:22:09 +08:00
parent 11f1beb337
commit 5713261fbf

View File

@ -1276,11 +1276,11 @@ function parse($TEXT, options) {
case "(":
next();
var ex = expression(true);
var orig_len = start.comments_before.length;
start.comments_before.orig_len = orig_len;
[].push.apply(start.comments_before, ex.start.comments_before);
ex.start.comments_before = start.comments_before;
if (orig_len == 0 && start.comments_before.length > 0) {
var len = start.comments_before.length;
[].unshift.apply(ex.start.comments_before, start.comments_before);
start.comments_before = ex.start.comments_before;
start.comments_before_length = len;
if (len == 0 && start.comments_before.length > 0) {
var comment = start.comments_before[0];
if (!comment.nlb) {
comment.nlb = start.nlb;
@ -1444,8 +1444,9 @@ function parse($TEXT, options) {
};
function mark_pure(call) {
var comments = call.start.comments_before;
var i = HOP(comments, "orig_len") ? comments.orig_len : comments.length;
var start = call.start;
var comments = start.comments_before;
var i = HOP(start, "comments_before_length") ? start.comments_before_length : comments.length;
while (--i >= 0) {
var comment = comments[i];
if (/[@#]__PURE__/.test(comment.value)) {