UNPKG

solidity-antlr4

Version:

Solidity Lang Lexer and Parser by official ANTLR4 grammar

24 lines (23 loc) 631 B
import { BaseNodeString } from "../base.js"; class TypeNameWithArray extends BaseNodeString { type = "TypeName"; baseType; expression; constructor(ctx, visitor) { super(ctx, visitor); const target = [ ctx.elementaryTypeName(), ctx.functionTypeName(), ctx.mappingType(), ctx.identifierPath(), ctx.typeName() ].find(Boolean); if (!ctx.LBrack()) { return target.accept(visitor); } this.name = ctx.getText(); this.baseType = target.accept(visitor); this.expression = ctx.expression()?.accept(visitor) ?? null; } } export const TypeName = TypeNameWithArray;