private StatementSyntax ParseStatementNoDeclaration()
{
if (IsPossibleDeclarationStatement())
return null;
var attributes = ParseAttributes();
switch (Current.Kind)
{
case SyntaxKind.BreakKeyword:
return ParseBreakStatement(attributes);
case SyntaxKind.ContinueKeyword:
return ParseContinueStatement(attributes);
case SyntaxKind.ConstKeyword:
return null;
case SyntaxKind.DiscardKeyword:
return ParseDiscardStatement(attributes);
case SyntaxKind.DoKeyword:
return ParseDoStatement(attributes);
case SyntaxKind.ForKeyword:
return ParseForStatement(attributes);
case SyntaxKind.IfKeyword:
return ParseIfStatement(attributes);
case SyntaxKind.ReturnKeyword:
return ParseReturnStatement(attributes);
case SyntaxKind.SwitchKeyword:
return ParseSwitchStatement(attributes);
case SyntaxKind.WhileKeyword:
return ParseWhileStatement(attributes);
case SyntaxKind.OpenBraceToken:
return ParseBlock(attributes);
case SyntaxKind.SemiToken:
return new EmptyStatementSyntax(attributes, NextToken());
default:
return ParseExpressionStatement(attributes);
}
}