public override ASTNode VisitFuncDcl([NotNull] p4Parser.FuncDclContext context) { ASTNode returntype = Visit(context.returnsStmt()); ASTNode functionId = new IdAstNode(context.Id().Symbol, SALType.Types[returntype.Token.Text]); return(new FunctionDeclarationAstNode(functionId, Visit(context.@params()), Visit(context.block()), context.Function().Symbol)); }
/// <summary> /// Visit a parse tree produced by <see cref="p4Parser.funcDcl"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitFuncDcl([NotNull] p4Parser.FuncDclContext context) { return(VisitChildren(context)); }
/// <summary> /// Exit a parse tree produced by <see cref="p4Parser.funcDcl"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitFuncDcl([NotNull] p4Parser.FuncDclContext context) { }