decaffeinate-parser
Version:
A better AST for CoffeeScript, inspired by CoffeeScriptRedux.
24 lines (23 loc) • 1.04 kB
JavaScript
;
exports.__esModule = true;
var coffee_lex_1 = require("coffee-lex");
var util_1 = require("util");
function rangeOfBracketTokensForIndexNode(context, indexNode) {
var start = context.linesAndColumns.indexForLocation({
line: indexNode.locationData.first_line,
column: indexNode.locationData.first_column
});
if (start !== null) {
var startTokenIndex = context.sourceTokens.indexOfTokenStartingAtSourceIndex(start);
if (startTokenIndex !== null) {
var range = context.sourceTokens.rangeOfMatchingTokensContainingTokenIndex(coffee_lex_1.SourceType.LBRACKET, coffee_lex_1.SourceType.RBRACKET, startTokenIndex);
if (range !== null) {
return range;
}
}
}
throw new Error("cannot find braces surrounding index at " +
(indexNode.locationData.first_line + 1 + ":" + indexNode.locationData.first_column + ": ") +
("" + util_1.inspect(indexNode)));
}
exports["default"] = rangeOfBracketTokensForIndexNode;