/
krasninja
/
querycat
Обзор
Документация
Войти
/
krasninja
/
querycat
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/QueryCat.Backend/Ast/Nodes/Select/SelectColumnsSublistWindowNode.cs
43 строки
1 KB
Ivan Kozhin
Improve AST clone support
29 апр 2024, 20:52
29 апр 2024, 20:52
a38ad63
Код
Авторство
О чём код?
using QueryCat.Backend.Ast.Nodes.Function; namespace QueryCat.Backend.Ast.Nodes.Select; internal sealed class SelectColumnsSublistWindowNode : SelectColumnsSublistNode { public FunctionCallNode AggregateFunctionNode { get; } public SelectWindowSpecificationNode WindowSpecificationNode { get; internal set; } /// <inheritdoc /> public override string Code => "column_window"; /// <inheritdoc /> public SelectColumnsSublistWindowNode(FunctionCallNode aggregateFunctionNode, SelectWindowSpecificationNode windowSpecificationNode) { AggregateFunctionNode = aggregateFunctionNode; WindowSpecificationNode = windowSpecificationNode; } public SelectColumnsSublistWindowNode(SelectColumnsSublistWindowNode node) : this( (FunctionCallNode)node.AggregateFunctionNode.Clone(), (SelectWindowSpecificationNode)node.WindowSpecificationNode.Clone()) { Alias = node.Alias; node.CopyTo(this); } /// <inheritdoc /> public override IEnumerable<IAstNode> GetChildren() { yield return AggregateFunctionNode; yield return WindowSpecificationNode; } /// <inheritdoc /> public override void Accept(AstVisitor visitor) => visitor.Visit(this); /// <inheritdoc /> public override object Clone() => new SelectColumnsSublistWindowNode(this); }