public override CSharpSyntaxNode VisitVector([NotNull] DonatelloParser.VectorContext context) { var children = context.form(); var arguments = children .Select(child => Argument(Visit(child) as ExpressionSyntax)) .ToArray(); return(InvocationExpression( MemberAccessExpression( SyntaxKind.SimpleMemberAccessExpression, IdentifierName(nameof(ImmutableArray)), IdentifierName(nameof(ImmutableArray.Create)))) .WithArgumentList(ArgumentList(SeparatedList(arguments)))); }
/// <summary> /// Exit a parse tree produced by <see cref="DonatelloParser.vector"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitVector([NotNull] DonatelloParser.VectorContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="DonatelloParser.vector"/>. /// <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 VisitVector([NotNull] DonatelloParser.VectorContext context) { return(VisitChildren(context)); }