24 lines
577 B
C#
24 lines
577 B
C#
|
using CanonSharp.Pascal.Scanner;
|
|||
|
|
|||
|
namespace CanonSharp.Pascal.SyntaxTree;
|
|||
|
|
|||
|
public sealed class VariableNode : SyntaxNodeBase
|
|||
|
{
|
|||
|
public override SyntaxNodeType NodeType => SyntaxNodeType.Variable;
|
|||
|
|
|||
|
public LexicalToken Identifier { get; }
|
|||
|
|
|||
|
public List<SyntaxNodeBase> Indexers { get; } = [];
|
|||
|
|
|||
|
public VariableNode(LexicalToken identifier)
|
|||
|
{
|
|||
|
Identifier = identifier;
|
|||
|
}
|
|||
|
|
|||
|
public VariableNode(LexicalToken identifier, IEnumerable<SyntaxNodeBase> expressions)
|
|||
|
{
|
|||
|
Identifier = identifier;
|
|||
|
Indexers.AddRange(expressions);
|
|||
|
}
|
|||
|
}
|