UNPKG

solidity-antlr4

Version:

Solidity Lang Lexer and Parser by official ANTLR4 grammar

30 lines (29 loc) 903 B
"use strict"; 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;