Files
Upsilon/Upsilon/Parser/StatementSyntax/BlockStatementSyntax.cs

27 lines
858 B
C#

using System.Collections.Generic;
using System.Collections.Immutable;
using System.Linq;
using Upsilon.Text;
namespace Upsilon.Parser
{
public sealed class BlockStatementSyntax : StatementSyntax
{
public BlockStatementSyntax(ImmutableArray<StatementSyntax> statements, SyntaxToken endToken)
{
Statements = statements;
EndToken = endToken;
var first = statements.FirstOrDefault();
if (first != null)
Span = new TextSpan(first.Span.Start, endToken.Span.End);
}
public ImmutableArray<StatementSyntax> Statements { get; }
public SyntaxToken EndToken { get; }
public override SyntaxKind Kind => SyntaxKind.BlockStatement;
public override IEnumerable<SyntaxNode> ChildNodes()
{
return Statements;
}
}
}