diff --git a/babylon-to-espree/convertComments.js b/babylon-to-espree/convertComments.js new file mode 100644 index 00000000..11c2a335 --- /dev/null +++ b/babylon-to-espree/convertComments.js @@ -0,0 +1,15 @@ +module.exports = function (comments) { + for (var i = 0; i < comments.length; i++) { + var comment = comments[i]; + if (comment.type === "CommentBlock") { + comment.type = "Block"; + } else if (comment.type === "CommentLine") { + comment.type = "Line"; + } + // sometimes comments don't get ranges computed, + // even with options.ranges === true + if (!comment.range) { + comment.range = [comment.start, comment.end]; + } + } +}; diff --git a/babylon-to-espree/index.js b/babylon-to-espree/index.js index 401570b6..4dd83f08 100644 --- a/babylon-to-espree/index.js +++ b/babylon-to-espree/index.js @@ -3,18 +3,4 @@ exports.attachComments = require("./attachComments"); exports.toTokens = require("./toTokens"); exports.toAST = require("./toAST"); -exports.convertComments = function (comments) { - for (var i = 0; i < comments.length; i++) { - var comment = comments[i]; - if (comment.type === "CommentBlock") { - comment.type = "Block"; - } else if (comment.type === "CommentLine") { - comment.type = "Line"; - } - // sometimes comments don't get ranges computed, - // even with options.ranges === true - if (!comment.range) { - comment.range = [comment.start, comment.end]; - } - } -}; +exports.convertComments = require("./convertComments"); diff --git a/babylon-to-espree/toAST.js b/babylon-to-espree/toAST.js index ba1e8d74..ecdb9366 100644 --- a/babylon-to-espree/toAST.js +++ b/babylon-to-espree/toAST.js @@ -1,3 +1,5 @@ +var convertComments = require("./convertComments"); + module.exports = function (ast, traverse, code) { var state = { source: code }; ast.range = [ast.start, ast.end]; @@ -15,18 +17,6 @@ function changeToLiteral(node, state) { } } -function changeComments(nodeComments) { - for (var i = 0; i < nodeComments.length; i++) { - var comment = nodeComments[i]; - if (comment.type === "CommentLine") { - comment.type = "Line"; - } else if (comment.type === "CommentBlock") { - comment.type = "Block"; - } - comment.range = [comment.start, comment.end]; - } -} - var astTransformVisitor = { noScope: true, enter (path) { @@ -43,11 +33,11 @@ var astTransformVisitor = { } if (node.trailingComments) { - changeComments(node.trailingComments); + convertComments(node.trailingComments); } if (node.leadingComments) { - changeComments(node.leadingComments); + convertComments(node.leadingComments); } // make '_paths' non-enumerable (babel-eslint #200)