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};
}
}