diff --git a/bin/uglifyjs b/bin/uglifyjs index 90b71a20..b103cc3e 100755 --- a/bin/uglifyjs +++ b/bin/uglifyjs @@ -251,7 +251,6 @@ async.eachLimit(files, 1, function (file, cb) { else if (ARGS.acorn) { TOPLEVEL = acorn.parse(code, { locations : true, - trackComments : true, sourceFile : file, program : TOPLEVEL }); diff --git a/lib/output.js b/lib/output.js index e7f3f4dd..7eb685a0 100644 --- a/lib/output.js +++ b/lib/output.js @@ -378,14 +378,15 @@ function OutputStream(options) { var start = self.start; if (start && !start._comments_dumped) { start._comments_dumped = true; - var comments = start.comments_before; + var comments = start.comments_before || []; // XXX: ugly fix for https://github.com/mishoo/UglifyJS2/issues/112 // if this node is `return` or `throw`, we cannot allow comments before // the returned or thrown value. - if (self instanceof AST_Exit && - self.value && self.value.start.comments_before.length > 0) { - comments = (comments || []).concat(self.value.start.comments_before); + if (self instanceof AST_Exit && self.value + && self.value.start.comments_before + && self.value.start.comments_before.length > 0) { + comments = comments.concat(self.value.start.comments_before); self.value.start.comments_before = []; }