/
krasninja
/
querycat
Обзор
Документация
Войти
/
krasninja
/
querycat
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/QueryCat.Backend/Ast/Nodes/Select/SelectWithListNode.cs
41 строка
1 KB
Ivan Kozhin
Make most of AST classes internal
04 дек 2023, 19:35
04 дек 2023, 19:35
7aa397b
Код
Авторство
О чём код?
namespace QueryCat.Backend.Ast.Nodes.Select; internal sealed class SelectWithListNode : AstNode { public List<SelectWithNode> WithNodes { get; } = new(); public bool IsRecursive { get; } /// <inheritdoc /> public override string Code => "with"; public SelectWithListNode(IEnumerable<SelectWithNode> withNodes, bool isRecursive) { WithNodes.AddRange(withNodes); IsRecursive = isRecursive; } public SelectWithListNode(SelectWithListNode node) : this(node.WithNodes.Select(c => (SelectWithNode)c.Clone()).ToList(), node.IsRecursive) { node.CopyTo(this); } /// <inheritdoc /> public override object Clone() => new SelectWithListNode(this); /// <inheritdoc /> public override IEnumerable<IAstNode> GetChildren() { foreach (var withNode in WithNodes) { yield return withNode; } } /// <inheritdoc /> public override void Accept(AstVisitor visitor) => visitor.Visit(this); /// <inheritdoc /> public override string ToString() => string.Join(", ", WithNodes.Select(n => n.ToString())); }