public override SyntaxNode VisitStructDefinition([NotNull] GrammarParser.StructDefinitionContext context) { if (context == null) { return(null); } var name = SyntaxFactory.IdentifierName(context.name().GetText()); var classDec = SyntaxFactory.ClassDeclaration(name.GetFirstToken()) .AddAttributeLists(SyntaxFactory.AttributeList( SyntaxFactory.SingletonSeparatedList(SyntaxFactory.Attribute(SyntaxFactory.IdentifierName("TarsStruct"))))) .AddModifiers(SyntaxFactory.Token(SyntaxKind.PublicKeyword)) .AddMembers(context.fieldDefinition() .Select(VisitFieldDefinition) .ToMemberDeclarationSyntaxArray()); return(classDec); }
/// <summary> /// Exit a parse tree produced by <see cref="GrammarParser.structDefinition"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitStructDefinition([NotNull] GrammarParser.StructDefinitionContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="GrammarParser.structDefinition"/>. /// <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 VisitStructDefinition([NotNull] GrammarParser.StructDefinitionContext context) { return(VisitChildren(context)); }