From cde871555de1765263de8e5ddf7eaa2e3733d972 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Sun, 31 May 2015 21:26:12 +0100 Subject: [PATCH] don't pass comments in tokens to estraverse --- src/babel/helpers/parse.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/babel/helpers/parse.js b/src/babel/helpers/parse.js index 925c5bf331..024c659de7 100644 --- a/src/babel/helpers/parse.js +++ b/src/babel/helpers/parse.js @@ -3,8 +3,9 @@ import estraverse from "estraverse"; import * as acorn from "../../acorn"; export default function (code, opts = {}) { - var comments = []; - var tokens = []; + var commentsAndTokens = []; + var comments = []; + var tokens = []; var parseOpts = { allowImportExportEverywhere: opts.looseModules, @@ -20,6 +21,11 @@ export default function (code, opts = {}) { ranges: true }; + parseOpts.onToken = function (token) { + tokens.push(token); + commentsAndTokens.push(token); + }; + parseOpts.onComment = function (block, text, start, end, startLoc, endLoc) { var comment = { type: block ? "CommentBlock" : "CommentLine", @@ -30,7 +36,7 @@ export default function (code, opts = {}) { range: [start, end] }; - tokens.push(comment); + commentsAndTokens.push(comment); comments.push(comment); }; @@ -41,6 +47,6 @@ export default function (code, opts = {}) { var ast = acorn.parse(code, parseOpts); estraverse.attachComments(ast, comments, tokens); - ast = normalizeAst(ast, comments, tokens); + ast = normalizeAst(ast, comments, commentsAndTokens); return ast; }