UNPKG

solidity-antlr4

Version:

Solidity Lang Lexer and Parser by official ANTLR4 grammar

21 lines (20 loc) 725 B
import { BaseNode } from "../base.js"; import { UncheckedBlockContext } from "../../antlr4/index.js"; export class Block extends BaseNode { type = "Block"; unchecked = false; statements = []; constructor(_ctx, visitor) { super(_ctx, visitor); this.unchecked = _ctx instanceof UncheckedBlockContext; const ctx = _ctx instanceof UncheckedBlockContext ? _ctx.block() : _ctx; const statementsCount = ctx.getChildCount() >= 2 ? ctx.getChildCount() : 2; for (let index = 1; index < statementsCount - 1; index += 1) { const statement = ctx.getChild(index); if (!statement) return; this.statements.push(statement.accept(visitor)); } } } export { Block as UncheckedBlock };