using Canon.Core.Enums; namespace Canon.Core.SyntaxNodes; public class VarDeclaration : NonTerminatedSyntaxNode { public override NonTerminatorType Type => NonTerminatorType.VarDeclaration; // public bool IsRecursive { get; private init; } // /// // /// 声明的变量 // /// // public (IdentifierList, TypeSyntaxNode) Variable => GetVariable(); // private (IdentifierList, TypeSyntaxNode) GetVariable() // { // if (IsRecursive) // { // return (Children[2].Convert(), Children[4].Convert()); // } // else // { // return (Children[0].Convert(), Children[2].Convert()); // } // } public static VarDeclaration Create(List children) { /*bool isRecursive; if (children.Count == 2) { isRecursive = false; } else if (children.Count == 4) { isRecursive = true; } else { throw new InvalidOperationException(); }*/ return new VarDeclaration {Children = children}; } }