UNPKG

solidity-antlr4

Version:

Solidity Lang Lexer and Parser by official ANTLR4 grammar

28 lines (27 loc) 700 B
import { BaseNodeString } from "../base.js"; export class Visibility extends BaseNodeString { // type = 'Visibility' as const; name = null; constructor(ctx, visitor) { super(ctx, visitor); const format = (n) => { if (Array.isArray(n)) { return !!n.length; } else if (!!n?.symbol) { return true; } return false; }; if (format(ctx.External?.())) { this.name = "external"; } else if (format(ctx.Internal?.())) { this.name = "internal"; } else if (format(ctx.Private?.())) { this.name = "private"; } else if (format(ctx.Public?.())) { this.name = "public"; } else { this.name = null; } } }