solidity-antlr4
Version:
Solidity Lang Lexer and Parser by official ANTLR4 grammar
30 lines (29 loc) • 903 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getCommentTokens = exports.PrettierParser = void 0;
var _printer = require("./printer.cjs");
var _parser = require("../parser/index.cjs");
var _base = require("./printers/base.cjs");
const getCommentTokens = tokens => {
return tokens.filter(token => _base.comments.includes(token.type));
};
exports.getCommentTokens = getCommentTokens;
class PrettierParser {
static name = "solidity-antlr4";
astFormat = _printer.PrettierPrinter.name;
locStart = node => node.range[0];
locEnd = node => node.range[1] + 1;
parse = (text, _options) => {
const ast = (0, _parser.parse)(text, {
tolerant: true
});
const tokens = (0, _parser.tokenizer)(text, {
tolerant: true
});
if (ast) ast.comments = getCommentTokens(tokens);
return ast;
};
}
exports.PrettierParser = PrettierParser;