/
EvilBeaver
/
OneScript
Обзор
Документация
Войти
/
EvilBeaver
/
OneScript
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
src/OneScript.Language/SyntaxAnalysis/AstNodes/NonTerminalNode.cs
45 строк
1 KB
Andrei Ovsiankin
Переделал Kind на перечисление
17 сен 2020, 20:25
17 сен 2020, 20:25
20260ab
Код
Авторство
О чём код?
/*---------------------------------------------------------- This Source Code Form is subject to the terms of the Mozilla Public License, v.2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. ----------------------------------------------------------*/ using System.Collections.Generic; using OneScript.Language.LexicalAnalysis; namespace OneScript.Language.SyntaxAnalysis.AstNodes { public class NonTerminalNode : BslSyntaxNode { private List<BslSyntaxNode> _children = new List<BslSyntaxNode>(); public NonTerminalNode(NodeKind kind, Lexem startLexem) :this(kind) { Location = startLexem.Location; } protected NonTerminalNode() { } public NonTerminalNode(NodeKind kind) { Kind = kind; } public override IReadOnlyList<BslSyntaxNode> Children => _children; public void AddChild(BslSyntaxNode child) { child.Parent = this; _children.Add(child); OnChildAdded(child); } protected virtual void OnChildAdded(BslSyntaxNode child) { } } }