32 lines
1.2 KiB
C#
32 lines
1.2 KiB
C#
using System.Collections.Generic;
|
|
using Upsilon.Text;
|
|
|
|
namespace Upsilon.Parser
|
|
{
|
|
public class FunctionAssignmentStatementSyntax : StatementSyntax
|
|
{
|
|
public FunctionAssignmentStatementSyntax(SyntaxToken localToken, IdentifierToken identifier, FunctionExpressionSyntax functionExpression)
|
|
{
|
|
LocalToken = localToken;
|
|
Identifier = identifier;
|
|
FunctionExpression = functionExpression;
|
|
var start = Identifier.Span.Start;
|
|
if (localToken != null) start = localToken.Span.Start;
|
|
Span = new TextSpan(start, FunctionExpression.Span.End - start);
|
|
}
|
|
|
|
public SyntaxToken LocalToken { get; }
|
|
public IdentifierToken Identifier { get; }
|
|
public FunctionExpressionSyntax FunctionExpression { get; }
|
|
public string[] CommentData { get; set; }
|
|
|
|
public override SyntaxKind Kind => SyntaxKind.FunctionAssignmentStatement;
|
|
public override IEnumerable<SyntaxNode> ChildNodes()
|
|
{
|
|
if (LocalToken != null)
|
|
yield return LocalToken;
|
|
yield return Identifier;
|
|
yield return FunctionExpression;
|
|
}
|
|
}
|
|
} |