Upsilon/Upsilon/Parser/ExpressionSyntax/ParenthesizedExpressionSyntax.cs

29 lines
971 B
C#

using System.Collections.Generic;
using Upsilon.Text;
namespace Upsilon.Parser
{
public class ParenthesizedExpressionSyntax : ExpressionSyntax
{
public ParenthesizedExpressionSyntax(SyntaxToken openParenthesis, ExpressionSyntax expression, SyntaxToken closeParenthesis)
{
OpenParenthesis = openParenthesis;
Expression = expression;
CloseParenthesis = closeParenthesis;
Span = TextSpan.Between(OpenParenthesis.Span, CloseParenthesis.Span);
}
public override SyntaxKind Kind => SyntaxKind.ParenthesizedExpression;
public SyntaxToken OpenParenthesis { get; }
public ExpressionSyntax Expression { get; }
public SyntaxToken CloseParenthesis { get; }
public override IEnumerable<SyntaxNode> ChildNodes()
{
yield return OpenParenthesis;
yield return Expression;
yield return CloseParenthesis;
}
}
}