UNPKG

solidity-antlr4

Version:

Solidity Lang Lexer and Parser by official ANTLR4 grammar

24 lines (23 loc) 653 B
import { BaseNode } from "../base.js"; export class YulStatement extends BaseNode { type = "YulStatement"; expression = null; constructor(ctx, visitor) { super(ctx, visitor); const target = [ ctx.yulBlock(), ctx.yulVariableDeclaration(), ctx.yulAssignment(), ctx.yulFunctionCall(), ctx.yulIfStatement(), ctx.yulForStatement(), ctx.yulSwitchStatement(), ctx.yulFunctionDefinition() ].find(Boolean); if (target) { this.expression = target.accept(visitor); } else if (ctx.YulBreak() || ctx.YulContinue() || ctx.YulLeave()) { this.expression = ctx.getText(); } } }