public override ASTNode VisitFunctionCall([NotNull] DaedalusParser.FunctionCallContext context) { DaedalusParser.NameNodeContext nameNodeContext = context.nameNode(); ReferenceNode referenceNode = new ReferenceNode(nameNodeContext.GetText(), GetLocation(nameNodeContext)); ReferenceNodes.Add(referenceNode); List <ExpressionNode> expressionNodes = new List <ExpressionNode>(); foreach (DaedalusParser.ExpressionContext expressionContext in context.expression()) { expressionNodes.Add((ExpressionNode)Visit(expressionContext)); } return(new FunctionCallNode(GetLocation(context), referenceNode, expressionNodes)); }
/// <summary> /// Visit a parse tree produced by <see cref="DaedalusParser.functionCall"/>. /// <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 VisitFunctionCall([NotNull] DaedalusParser.FunctionCallContext context) { return(VisitChildren(context)); }