TableConstructorExpressionNode.cs 890 B

1234567891011121314
  1. namespace Lua.CodeAnalysis.Syntax.Nodes;
  2. public record TableConstructorExpressionNode(TableConstructorField[] Fields, SourcePosition Position) : ExpressionNode(Position)
  3. {
  4. public override TResult Accept<TContext, TResult>(ISyntaxNodeVisitor<TContext, TResult> visitor, TContext context)
  5. {
  6. return visitor.VisitTableConstructorExpressionNode(this, context);
  7. }
  8. }
  9. public abstract record TableConstructorField(SourcePosition Position);
  10. public record GeneralTableConstructorField(ExpressionNode KeyExpression, ExpressionNode ValueExpression, SourcePosition Position) : TableConstructorField(Position);
  11. public record RecordTableConstructorField(string Key, ExpressionNode ValueExpression, SourcePosition Position) : TableConstructorField(Position);
  12. public record ListTableConstructorField(ExpressionNode Expression, SourcePosition Position) : TableConstructorField(Position);