/
krasninja
/
querycat
Обзор
Документация
Войти
/
krasninja
/
querycat
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/QueryCat.Backend/Ast/Nodes/Select/SelectTableReferenceListNode.cs
37 строк
1 KB
Ivan Kozhin
Improve AST clone support
29 апр 2024, 20:52
29 апр 2024, 20:52
a38ad63
Код
Авторство
О чём код?
namespace QueryCat.Backend.Ast.Nodes.Select; internal sealed class SelectTableReferenceListNode : AstNode { public List<ExpressionNode> TableFunctionsNodes { get; } = new(); /// <inheritdoc /> public override string Code => "from_list"; public SelectTableReferenceListNode(IEnumerable<ExpressionNode> tableFunctionsNodes) { TableFunctionsNodes.AddRange(tableFunctionsNodes); } public SelectTableReferenceListNode(params ExpressionNode[] tableFunctionsNodes) { TableFunctionsNodes.AddRange(tableFunctionsNodes); } public SelectTableReferenceListNode(SelectTableReferenceListNode node) : this(node.TableFunctionsNodes.Select(tf => (ExpressionNode)tf.Clone()).ToArray()) { node.CopyTo(this); } /// <inheritdoc /> public override IEnumerable<IAstNode> GetChildren() => TableFunctionsNodes; /// <inheritdoc /> public override object Clone() => new SelectTableReferenceListNode(this); /// <inheritdoc /> public override void Accept(AstVisitor visitor) => visitor.Visit(this); /// <inheritdoc /> public override string ToString() => string.Join(", ", TableFunctionsNodes.Select(tf => tf.ToString())); }