27 lines
858 B
C#
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;
|
|
}
|
|
}
|
|
} |