UNPKG

solidity-antlr4

Version:

Solidity Lang Lexer and Parser by official ANTLR4 grammar

30 lines (25 loc) 749 B
"use strict"; var _vitest = require("vitest"); var _parser = require("../parser/index.cjs"); var _generator = require("../generator/index.cjs"); (0, _vitest.test)("generator", async () => { const code = ` pragma solidity solidity soliditysoliditysoliditysoliditysoliditysoliditysoliditysoliditysoliditysolidity ^0.8.20; contract Hi { struct MyStruct { string name; uint[2] nums; } } // asdf `; const ast = (0, _parser.parse)(code, { tolerant: true }); const tokens = (0, _parser.tokenizer)(code, { tolerant: true }); const target = ast.nodes[1].nodes[0]; target.comments = tokens.filter(token => token.type?.includes("COMMENT")); console.log(await (0, _generator.generate)(target)); });