780 references to CurrentToken
Microsoft.CodeAnalysis.CSharp (780)
Parser\DirectiveParser.cs (28)
50
SyntaxKind contextualKind = this.
CurrentToken
.ContextualKind;
89
result = (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken) ?
377
switch (this.
CurrentToken
.Kind)
398
if (this.
CurrentToken
.Kind == SyntaxKind.StringLiteralToken &&
399
(line.IsMissing || line.GetTrailingTriviaWidth() > 0 || this.
CurrentToken
.GetLeadingTriviaWidth() > 0)) //require separation between line number and file name
414
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
433
var characterOffset = (
CurrentToken
.Kind == SyntaxKind.NumericLiteralToken) ?
546
SyntaxToken setting = this.
CurrentToken
.Kind switch
554
SyntaxToken target = this.
CurrentToken
.Kind switch
575
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WarningKeyword)
579
if (this.
CurrentToken
.Kind == SyntaxKind.DisableKeyword || this.
CurrentToken
.Kind == SyntaxKind.RestoreKeyword)
584
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfDirectiveToken)
589
if (this.
CurrentToken
.Kind == SyntaxKind.NumericLiteralToken)
601
else if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
622
if (this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
640
else if (this.
CurrentToken
.Kind == SyntaxKind.ChecksumKeyword)
729
if (this.
CurrentToken
.Kind != SyntaxKind.EndOfDirectiveToken &&
730
this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
749
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfDirectiveToken &&
750
this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
757
SyntaxToken endOfDirective = this.
CurrentToken
.Kind == SyntaxKind.EndOfDirectiveToken
778
while (this.
CurrentToken
.Kind == SyntaxKind.BarBarToken)
791
while (this.
CurrentToken
.Kind == SyntaxKind.AmpersandAmpersandToken)
804
while (this.
CurrentToken
.Kind == SyntaxKind.EqualsEqualsToken || this.
CurrentToken
.Kind == SyntaxKind.ExclamationEqualsToken)
816
if (this.
CurrentToken
.Kind == SyntaxKind.ExclamationToken)
827
var k = this.
CurrentToken
.Kind;
Parser\DocumentationCommentParser.cs (90)
81
if (this.
CurrentToken
.Kind != SyntaxKind.EndOfDocumentationCommentToken)
101
bool endTag = this.
CurrentToken
.Kind == SyntaxKind.LessThanSlashToken;
108
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfDocumentationCommentToken)
147
switch (this.
CurrentToken
.Kind)
171
switch (this.
CurrentToken
.Kind)
190
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
191
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken
192
|| this.
CurrentToken
.Kind == SyntaxKind.XmlEntityLiteralToken)
218
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
258
if (this.
CurrentToken
.Kind != SyntaxKind.GreaterThanToken)
261
p => p.
CurrentToken
.Kind != SyntaxKind.GreaterThanToken,
328
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
344
p => p.
CurrentToken
.Kind != SyntaxKind.IdentifierName,
347
p => p.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken
348
|| p.
CurrentToken
.Kind == SyntaxKind.SlashGreaterThanToken
349
|| p.
CurrentToken
.Kind == SyntaxKind.LessThanToken
350
|| p.
CurrentToken
.Kind == SyntaxKind.LessThanSlashToken
351
|| p.
CurrentToken
.Kind == SyntaxKind.EndOfDocumentationCommentToken
352
|| p.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken,
452
switch (this.
CurrentToken
.Kind)
525
SyntaxToken openQuote = EatToken(this.
CurrentToken
.Kind == SyntaxKind.SingleQuoteToken
532
SyntaxToken current = this.
CurrentToken
;
539
current = this.
CurrentToken
;
606
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
607
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken
608
|| this.
CurrentToken
.Kind == SyntaxKind.XmlEntityLiteralToken
609
|| this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
631
if (IsNonAsciiQuotationMark(this.
CurrentToken
))
636
var quoteKind = this.
CurrentToken
.Kind == SyntaxKind.SingleQuoteToken
650
if (IsNonAsciiQuotationMark(this.
CurrentToken
))
685
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
725
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
726
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken
727
|| this.
CurrentToken
.Kind == SyntaxKind.MinusMinusToken)
752
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
753
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken)
774
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
775
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken)
900
else if (type.Kind != SyntaxKind.QualifiedName && this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
940
switch (
CurrentToken
.Kind)
949
case SyntaxKind.IdentifierToken when
CurrentToken
.ContextualKind == SyntaxKind.ExtensionKeyword:
973
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.ThisKeyword);
987
Debug.Assert(
CurrentToken
.ContextualKind == SyntaxKind.ExtensionKeyword);
990
TypeArgumentListSyntax? typeArguments = (
CurrentToken
.Kind == SyntaxKind.LessThanToken) ? ParseTypeArguments(typeArgumentsMustBeIdentifiers: true) : null;
991
CrefParameterListSyntax? parameters = (
CurrentToken
.Kind == SyntaxKind.OpenParenToken) ? ParseCrefParameterList() : null;
993
if (parameters is null ||
CurrentToken
.Kind != SyntaxKind.DotToken)
1018
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OperatorKeyword);
1024
if (SyntaxFacts.IsAnyOverloadableOperator(
CurrentToken
.Kind))
1035
if (SyntaxFacts.IsUnaryOperatorDeclarationToken(
CurrentToken
.Kind) || SyntaxFacts.IsBinaryExpressionOperatorToken(
CurrentToken
.Kind))
1048
if (operatorToken.Kind == SyntaxKind.GreaterThanToken && LanguageParser.NoTriviaBetween(operatorToken,
CurrentToken
))
1050
if (
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
1054
if (LanguageParser.NoTriviaBetween(operatorToken2,
CurrentToken
) &&
1055
CurrentToken
.Kind is (SyntaxKind.GreaterThanToken or SyntaxKind.GreaterThanEqualsToken))
1091
else if (
CurrentToken
.Kind == SyntaxKind.EqualsToken)
1101
else if (
CurrentToken
.Kind == SyntaxKind.GreaterThanEqualsToken)
1159
if (LanguageParser.NoTriviaBetween(operatorToken,
CurrentToken
) &&
CurrentToken
.Kind == SyntaxKind.EqualsToken)
1181
(isConversion || SyntaxFacts.IsAnyOverloadableOperator(
CurrentToken
.Kind)))
1190
if (
CurrentToken
.Kind == SyntaxKind.UncheckedKeyword)
1207
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.ExplicitKeyword ||
1208
CurrentToken
.Kind == SyntaxKind.ImplicitKeyword);
1245
if (
CurrentToken
.Kind != openKind)
1255
while (
CurrentToken
.Kind == SyntaxKind.CommaToken || IsPossibleCrefParameter())
1259
if (
CurrentToken
.Kind != closeKind)
1270
Debug.Assert(
CurrentToken
.Kind != SyntaxKind.CommaToken);
1295
SyntaxKind kind = this.
CurrentToken
.Kind;
1317
switch (
CurrentToken
.Kind)
1327
if (
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword && refKindOpt is not null)
1354
if (
CurrentToken
.Kind != SyntaxKind.LessThanToken)
1364
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.LessThanToken);
1382
var currentKind =
CurrentToken
.Kind;
1384
SyntaxFacts.IsPredefinedType(
CurrentToken
.Kind))
1444
if (SyntaxFacts.IsPredefinedType(
CurrentToken
.Kind))
1453
else if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken && PeekToken(1).Kind == SyntaxKind.ColonColonToken)
1473
if (checkForMember && (leftName.IsMissing ||
CurrentToken
.Kind != SyntaxKind.DotToken))
1485
while (
CurrentToken
.Kind == SyntaxKind.DotToken)
1494
if (checkForMember && (rightName.IsMissing ||
CurrentToken
.Kind != SyntaxKind.DotToken))
1516
if (
CurrentToken
.Kind == SyntaxKind.QuestionToken)
1521
while (
CurrentToken
.Kind == SyntaxKind.AsteriskToken)
1526
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
1532
while (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
1538
while (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
1540
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
1590
switch (
CurrentToken
.Kind)
1602
return
CurrentToken
.Text == SyntaxFacts.GetText(SyntaxKind.LessThanToken) ||
1603
IsNonAsciiQuotationMark(
CurrentToken
);
1658
switch (
CurrentToken
.Kind)
1670
return
CurrentToken
.Text == SyntaxFacts.GetText(SyntaxKind.LessThanToken) ||
1671
IsNonAsciiQuotationMark(
CurrentToken
);
Parser\LanguageParser.cs (613)
96
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken)
251
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NamespaceKeyword);
264
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
268
else if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || IsPossibleNamespaceMemberDeclaration())
586
switch (this.
CurrentToken
.Kind)
675
if (this.
CurrentToken
.ContextualKind != SyntaxKind.GlobalKeyword || this.PeekToken(1).Kind != SyntaxKind.UsingKeyword)
870
switch (this.
CurrentToken
.Kind)
879
return IsPossibleStartOfTypeDeclaration(this.
CurrentToken
.Kind);
885
if (this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword)
902
return this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken;
927
return this.
CurrentToken
.Kind == SyntaxKind.ExternKeyword
940
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ExternKeyword);
964
var globalToken = this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword
968
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.UsingKeyword);
975
if (staticToken is null && unsafeToken != null && this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
987
var isAliasToFunctionPointer = alias != null && this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword;
1006
type = _syntaxFactory.IdentifierName(CreateMissingToken(SyntaxKind.IdentifierToken, this.
CurrentToken
.Kind));
1029
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken
1049
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
1067
if (SyntaxFacts.IsLiteralExpression(this.
CurrentToken
.Kind))
1111
return this.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken
1116
=> IsSomeWord(this.
CurrentToken
.Kind) && this.PeekToken(1).Kind == SyntaxKind.ColonToken;
1161
if (this.
CurrentToken
.Kind == SyntaxKind.DotToken)
1167
if (this.
CurrentToken
.Kind == SyntaxKind.MinusGreaterThanToken)
1172
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken &&
1185
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttribute(),
1186
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
1215
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
1240
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttributeArgument(),
1241
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
1275
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
1366
var newMod = GetModifierExcludingScoped(this.
CurrentToken
);
1503
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None);
1522
(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword))
1539
var currentTokenKind = this.
CurrentToken
.Kind;
1561
var currentTokenKind = this.
CurrentToken
.Kind;
1579
if (SyntaxFacts.IsPredefinedType(this.
CurrentToken
.Kind))
1586
if (IsNonContextualModifier(this.
CurrentToken
))
1621
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword);
1645
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword);
1678
switch (this.
CurrentToken
.Kind)
1681
if (this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
1701
switch (this.
CurrentToken
.Kind)
1719
Debug.Assert(
CurrentToken
.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword);
1723
throw ExceptionUtilities.UnexpectedValue(this.
CurrentToken
.Kind);
1729
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword or SyntaxKind.InterfaceKeyword ||
1730
this.
CurrentToken
.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword);
1751
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
1764
var paramList =
CurrentToken
.Kind == SyntaxKind.OpenParenToken || isExtension
1776
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
1787
if (
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
1811
SyntaxKind kind = this.
CurrentToken
.Kind;
1847
? this.CreateMissingToken(SyntaxKind.CloseBraceToken, this.
CurrentToken
.Kind)
1870
if (this.
CurrentToken
.ContextualKind == SyntaxKind.RecordKeyword)
1873
recordModifier = this.
CurrentToken
.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword
1880
if (this.
CurrentToken
.Kind is SyntaxKind.StructKeyword or SyntaxKind.ClassKeyword &&
2034
SyntaxKind kind = this.
CurrentToken
.Kind;
2082
return this.IsPossibleMemberStart() || this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken;
2087
return this.
CurrentToken
.Kind is SyntaxKind.ColonToken or SyntaxKind.OpenBraceToken
2104
list.Add(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken
2111
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken ||
2117
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
2131
if (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None)
2154
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttribute(),
2155
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || p.IsCurrentTokenWhereOfConstraintClause(),
2163
this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword &&
2170
while (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
2188
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.IsCurrentTokenWhereOfConstraintClause())
2202
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
2203
|| ((_termState & TerminatorState.IsEndOfTypeSignature) != 0 && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
2204
|| this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
2205
|| this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
2209
else if (haveComma = (this.
CurrentToken
.Kind == SyntaxKind.CommaToken) || this.IsPossibleTypeParameterConstraint())
2249
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleTypeParameterConstraint(),
2250
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || p.IsCurrentTokenWhereOfConstraintClause(),
2257
switch (this.
CurrentToken
.Kind)
2266
return (this.
CurrentToken
.ContextualKind == SyntaxKind.AllowsKeyword && PeekToken(1).Kind == SyntaxKind.RefKeyword) || this.IsTrueIdentifier();
2268
return IsPredefinedType(this.
CurrentToken
.Kind);
2274
return this.
CurrentToken
.Kind switch
2286
this.
CurrentToken
.Kind == SyntaxKind.QuestionToken
2318
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AllowsKeyword &&
2332
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken && PeekToken(1).Kind == SyntaxKind.RefKeyword)
2350
return CanStartMember(this.
CurrentToken
.Kind);
2411
switch (this.
CurrentToken
.Kind)
2421
if (
CurrentToken
.ContextualKind == SyntaxKind.RecordKeyword)
2558
switch (this.
CurrentToken
.Kind)
2600
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken)
2634
if (this.
CurrentToken
.Kind == SyntaxKind.ConstKeyword)
2647
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
2653
if (this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword)
2665
if (this.
CurrentToken
.Kind == SyntaxKind.NamespaceKeyword)
2687
if (this.
CurrentToken
.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken &&
2928
if (
CurrentToken
.Kind == SyntaxKind.UsingKeyword)
2933
if (
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
2948
if (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None &&
2949
this.
CurrentToken
.ContextualKind is not (SyntaxKind.PartialKeyword or SyntaxKind.AsyncKeyword or SyntaxKind.RequiredKeyword or SyntaxKind.FileKeyword) &&
2952
var misplacedModifier = this.
CurrentToken
;
3015
offset: incompleteMember.Width + incompleteMember.GetTrailingTriviaWidth() + this.
CurrentToken
.GetLeadingTriviaWidth(),
3016
this.
CurrentToken
.Width,
3018
this.
CurrentToken
.Text);
3082
|| this.
CurrentToken
.Kind is not SyntaxKind.OpenParenToken and not SyntaxKind.OpenBraceToken and not SyntaxKind.EqualsGreaterThanToken) &&
3190
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken)
3196
if (this.
CurrentToken
.Kind == SyntaxKind.TildeToken)
3202
if (this.
CurrentToken
.Kind == SyntaxKind.ConstKeyword)
3208
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
3214
if (this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword)
3322
return this.
CurrentToken
.ContextualKind == SyntaxKind.ExtensionKeyword &&
3354
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
3359
if (this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
3397
return this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword or SyntaxKind.OperatorKeyword;
3455
var currentTokenKind = this.
CurrentToken
.Kind;
3472
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.ColonToken or SyntaxKind.EqualsGreaterThanToken);
3475
var token = this.
CurrentToken
.Kind is SyntaxKind.BaseKeyword or SyntaxKind.ThisKeyword
3479
var argumentList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken
3497
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.TildeToken);
3523
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3531
blockBody = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
3535
expressionBody = this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
3546
else if (parseSemicolonAfterBlock && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3558
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
3564
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
3570
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
3586
=> this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3590
return this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3594
=> this.
CurrentToken
.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
3597
=> this.
CurrentToken
.Kind == (errored ? SyntaxKind.CloseParenToken : SyntaxKind.GreaterThanToken);
3600
=> this.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken;
3617
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
3622
else if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
3625
var colonToken = this.
CurrentToken
;
3672
switch (this.
CurrentToken
.Kind)
3691
if (this.
CurrentToken
.Kind is not (SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword))
3695
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
3705
if (this.
CurrentToken
.Kind == SyntaxKind.OperatorKeyword)
3719
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken))
3725
separatorKind = this.
CurrentToken
.Kind;
3747
if (this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword ||
3769
var style = this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword
3779
if (!style.IsMissing && explicitInterfaceOpt is not null && this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword && style.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia))
3811
bool couldBeParameterList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken;
3816
this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
3847
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
3864
if (this.
CurrentToken
.Kind == SyntaxKind.OperatorKeyword)
3874
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken);
3913
if (
CurrentToken
.Kind == SyntaxKind.UncheckedKeyword)
3932
var firstToken = this.
CurrentToken
;
3965
if (SyntaxFacts.IsAnyOverloadableOperator(this.
CurrentToken
.Kind))
3974
if (this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword)
3977
(opTokenErrorOffset, opTokenErrorWidth) = (0, this.
CurrentToken
.Width);
4009
var tk = this.
CurrentToken
;
4016
tk = this.
CurrentToken
;
4148
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
4156
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4165
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
4200
if (this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken)
4208
var accessorList = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
4216
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
4222
else if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
4234
else if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4319
if (this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken)
4354
var refKeyword = this.
CurrentToken
.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
4365
static p => p.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken && !p.IsPossibleAccessor(),
4372
return this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken
4374
|| SyntaxFacts.GetAccessorDeclarationKind(this.
CurrentToken
.ContextualKind) != SyntaxKind.None
4375
|| this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken // for accessor blocks w/ missing keyword
4376
|| this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken // for empty body accessors w/ missing keyword
4398
if (GetModifierExcludingScoped(this.
CurrentToken
) == DeclarationModifiers.None)
4546
var token = (first && !this.
CurrentToken
.ContainsDiagnostics) ? this.EatTokenEvenWithIncorrectKind(expected) : this.EatToken();
4572
var token = (first && !this.
CurrentToken
.ContainsDiagnostics) ? this.EatTokenWithPrejudice(errorCode) : this.EatToken();
4628
bool currentTokenIsSemicolon = this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken;
4629
bool currentTokenIsArrow = this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken;
4630
bool currentTokenIsOpenBraceToken = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken;
4812
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleParameter(),
4813
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
4820
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken;
4825
switch (this.
CurrentToken
.Kind)
4837
return IsParameterModifierExcludingScoped(this.
CurrentToken
) ||
4839
IsPredefinedType(this.
CurrentToken
.Kind);
4899
if (this.
CurrentToken
.Kind == SyntaxKind.ArgListKeyword)
4910
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && IsCurrentTokenWhereOfConstraintClause())
4917
identifier = allowOptionalIdentifier && this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken
4923
if (identifier is not null && this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind is SyntaxKind.CloseBracketToken)
4972
if (IsParameterModifierExcludingScoped(this.
CurrentToken
))
5018
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword);
5036
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.EventKeyword);
5060
if (explicitInterfaceOpt != null && this.
CurrentToken
.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
5112
if (explicitInterfaceOpt != null && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5139
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5192
if (this.
CurrentToken
.Kind == SyntaxKind.DotToken)
5208
return this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken;
5273
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5277
else if (stopOnCloseParen && this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
5281
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
5331
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
5332
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
5486
var currentTokenKind = this.
CurrentToken
.Kind;
5497
currentTokenKind = this.
CurrentToken
.Kind;
5547
switch (this.
CurrentToken
.Kind)
5558
var refKeyword = isLocalOrField && !isConst && this.
CurrentToken
.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
5635
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5653
Debug.Assert(this.
CurrentToken
.Kind != SyntaxKind.EqualsToken);
5693
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5707
this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
5732
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or SyntaxKind.LessThanToken);
5740
(this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.EqualsGreaterThanToken ||
5741
this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword))
5751
switch (this.
CurrentToken
.Kind)
5763
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
5770
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.IsPossibleExpression();
5789
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword);
5800
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
5822
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.EnumKeyword);
5837
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
5853
if (
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5898
static p => p.
CurrentToken
.Kind is not SyntaxKind.CommaToken and not SyntaxKind.SemicolonToken && !p.IsPossibleEnumMemberDeclaration(),
5899
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
5914
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5919
this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBraceToken
5929
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken || this.IsTrueIdentifier();
5934
return this.
CurrentToken
.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
5973
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
6013
var ctk = this.
CurrentToken
.Kind;
6025
result = this.AddError(result, ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
6051
if (this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword)
6064
return
CurrentToken
.ContextualKind == SyntaxKind.FieldKeyword &&
6071
if (this.
CurrentToken
.Kind != SyntaxKind.LessThanToken)
6101
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
6102
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
6114
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken or SyntaxKind.InKeyword or SyntaxKind.OutKeyword)
6123
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
6142
this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword ? EatToken() : null,
6159
if (this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
6169
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6194
if (this.
CurrentToken
.Kind != SyntaxKind.LessThanToken)
6244
switch (this.
CurrentToken
.Kind)
6326
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6336
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6353
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
6359
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
6368
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6403
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
6430
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
6452
isDefinitelyTypeArgumentList = this.
CurrentToken
.Kind == SyntaxKind.CommaToken;
6470
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken);
6472
if (this.
CurrentToken
.Kind != SyntaxKind.GreaterThanToken)
6478
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken)
6487
if (lastScannedType is ScanTypeFlags.TupleType && this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken)
6500
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken;
6512
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6522
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6539
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
6546
if (tokenBreaksTypeArgumentList(this.
CurrentToken
))
6555
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken && tokenBreaksTypeArgumentList(this.PeekToken(1)))
6564
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken
6570
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken || this.IsPossibleType())
6640
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleType(),
6641
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken,
6649
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken)
6665
var varianceToken = this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword
6692
this.
CurrentToken
.Kind is not SyntaxKind.CommaToken and not SyntaxKind.GreaterThanToken &&
6714
=> this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken;
6718
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6756
if (this.
CurrentToken
.Kind == SyntaxKind.ThisKeyword)
6807
if (isEvent && this.
CurrentToken
.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
6878
separator = this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken
6891
if (this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken)
6920
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
6996
return this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken
7126
var tk = this.
CurrentToken
.Kind;
7147
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken || !this.IsTrueIdentifier())
7154
if (this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
7169
if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
7174
if (this.
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword)
7181
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken or SyntaxKind.ColonColonToken)
7184
if (this.
CurrentToken
.Kind is SyntaxKind.ColonColonToken)
7198
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken);
7238
else if (IsPredefinedType(this.
CurrentToken
.Kind))
7244
else if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
7249
if (result == ScanTypeFlags.NotType || mode == ParseTypeMode.DefinitePattern && this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
7269
switch (this.
CurrentToken
.Kind)
7310
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7315
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7348
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7366
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken);
7368
if (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
7390
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
7393
switch (
CurrentToken
)
7408
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
7425
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
7438
if (!IsPossibleFunctionPointerParameterListStart(
CurrentToken
))
7478
if (!validStartingToken &&
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
7492
isNotExpectedFunction: static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
7513
if (this.
CurrentToken
.Kind == SyntaxKind.VoidKeyword && this.PeekToken(1).Kind != SyntaxKind.AsteriskToken)
7538
if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
7542
this.
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword ? this.EatToken() : null,
7586
switch (this.
CurrentToken
.Kind)
7634
while (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken);
7655
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.QuestionToken);
7678
if (mode == ParseTypeMode.AfterIs && this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken)
7705
return this.
CurrentToken
.Kind != SyntaxKind.ColonToken;
7732
if (IsTrueIdentifier(this.
CurrentToken
))
7741
if (this.
CurrentToken
.ContextualKind is SyntaxKind.AsyncKeyword or SyntaxKind.AwaitKeyword or SyntaxKind.FromKeyword)
7795
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken)
7804
this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or // ctor parameters
7839
while (IsMakingProgress(ref lastTokenPosition) && this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7841
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7854
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7895
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
7899
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7934
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
7935
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken,
7941
if (IsPredefinedType(this.
CurrentToken
.Kind))
7945
if (token.Kind == SyntaxKind.VoidKeyword && this.
CurrentToken
.Kind != SyntaxKind.AsteriskToken)
7954
if (IsTrueIdentifier() || this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken)
7959
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
7982
if (!IsPossibleFunctionPointerParameterListStart(
CurrentToken
))
8025
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
8036
lessThanToken.IsMissing &&
CurrentToken
.Kind == SyntaxKind.CloseParenToken
8051
isNotExpectedFunction: static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
8059
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
8063
switch (
CurrentToken
)
8067
managedSpecifier = EatContextualToken(
CurrentToken
.ContextualKind);
8087
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
8105
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
8135
=>
CurrentToken
.Kind == SyntaxKind.DelegateKeyword && PeekToken(1).Kind == SyntaxKind.AsteriskToken;
8146
while (this.
CurrentToken
.Kind == SyntaxKind.AsteriskToken)
8166
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
8180
while (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
8190
var isCollectionExpression = this.
CurrentToken
.Kind
8203
|| IsExpectedBinaryOperator(this.
CurrentToken
.Kind)
8204
|| IsExpectedAssignmentOperator(this.
CurrentToken
.Kind)
8205
|| (this.
CurrentToken
.ContextualKind is SyntaxKind.SwitchKeyword or SyntaxKind.WithKeyword && this.PeekToken(1).Kind is SyntaxKind.OpenBraceToken);
8209
this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
8268
switch (this.
CurrentToken
.Kind)
8364
bool beginsWithAwait = this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword;
8399
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword &&
8440
=>
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword && PeekToken(1).Kind == SyntaxKind.UsingKeyword;
8454
return this.
CurrentToken
.ContextualKind == SyntaxKind.YieldKeyword &&
8464
var tk = this.
CurrentToken
.Kind;
8492
tk = this.
CurrentToken
.ContextualKind;
8507
bool? typedIdentifier = IsPossibleTypedIdentifierStart(this.
CurrentToken
, this.PeekToken(1), allowThisKeyword: false);
8528
var tk = this.
CurrentToken
.ContextualKind;
8572
if (st == ScanTypeFlags.MustBeType && this.
CurrentToken
.Kind is not SyntaxKind.DotToken and not SyntaxKind.OpenParenToken)
8582
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
8590
return st == ScanTypeFlags.GenericTypeOrExpression && (IsDefiniteStatement() || IsTypeDeclarationStart() || IsAccessibilityModifier(
CurrentToken
.Kind));
8611
if (this.
CurrentToken
.Kind != SyntaxKind.UsingKeyword)
8677
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken)
8698
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
8705
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
8714
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.SemicolonToken;
8732
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
8739
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
8831
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword);
8859
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
8868
if (scanResult == ScanTypeFlags.TupleType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
8879
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NewKeyword);
9024
CSharpSyntaxNode openBrace = isAccessorBody && this.
CurrentToken
.Kind != SyntaxKind.OpenBraceToken
9105
while (this.
CurrentToken
.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken
9137
return this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
9149
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken,
9157
var tk = this.
CurrentToken
.Kind;
9194
var tk = this.
CurrentToken
.Kind;
9239
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken;
9302
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.TryKeyword or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
9315
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
9329
if (this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword)
9332
while (this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword)
9338
if (this.
CurrentToken
.Kind == SyntaxKind.FinallyKeyword)
9373
return this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword;
9378
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword);
9385
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
9405
var keywordKind = this.
CurrentToken
.ContextualKind;
9437
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken
9446
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken
9454
return this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken
9461
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.CheckedKeyword or SyntaxKind.UncheckedKeyword);
9478
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DoKeyword);
9502
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken;
9519
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9540
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9550
var condition = this.
CurrentToken
.Kind is not SyntaxKind.SemicolonToken and not SyntaxKind.CommaToken
9559
var incrementors = this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken
9588
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
9597
isDeclaration = ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
9601
else if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
9618
else if (this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
9633
=> this.
CurrentToken
.Kind is SyntaxKind.CommaToken
9641
while (this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CommaToken)
9665
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
9669
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
9670
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
9677
return this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken;
9684
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForEachKeyword || this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9695
if (this.
CurrentToken
.Kind == SyntaxKind.ForKeyword)
9789
if (this.IsInAsync && this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword)
9797
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
9800
if (ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
9847
return this.
CurrentToken
.Kind == SyntaxKind.CommaToken;
9849
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseParenToken;
9862
if (!this.
CurrentToken
.IsIdentifierVar())
9901
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.GotoKeyword);
9909
if (this.
CurrentToken
.Kind is SyntaxKind.CaseKeyword or SyntaxKind.DefaultKeyword)
9937
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
9948
if (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken &&
9967
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IfKeyword);
9980
var elseKeyword = this.
CurrentToken
.Kind != SyntaxKind.ElseKeyword ?
9991
if (this.
CurrentToken
.Kind != SyntaxKind.IfKeyword)
10032
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ElseKeyword);
10046
return this.
CurrentToken
.Kind != SyntaxKind.ElseKeyword
10055
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LockKeyword);
10067
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ReturnKeyword);
10071
this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken ? this.ParsePossibleRefExpression() : null,
10077
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.YieldKeyword);
10084
if (this.
CurrentToken
.Kind == SyntaxKind.BreakKeyword)
10093
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
10114
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.SwitchKeyword or SyntaxKind.CaseKeyword);
10139
if (this.
CurrentToken
.Kind is SyntaxKind.CaseKeyword)
10184
return this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword ||
10185
(this.
CurrentToken
.Kind == SyntaxKind.DefaultKeyword && this.PeekToken(1).Kind != SyntaxKind.OpenParenToken);
10199
if (this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword)
10203
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
10215
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhenKeyword && node is ExpressionSyntax ex)
10240
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DefaultKeyword);
10262
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ThrowKeyword);
10266
this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken ? this.ParseExpressionCore() : null,
10272
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.UnsafeKeyword);
10340
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
10367
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken &&
10399
bool condition1 = st == ScanTypeFlags.MustBeType && this.
CurrentToken
.Kind != SyntaxKind.DotToken;
10400
bool condition2 = st != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
10408
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.WhileKeyword);
10443
else if (this.
CurrentToken
.Kind == SyntaxKind.UsingKeyword)
10539
if (this.
CurrentToken
.ContextualKind != SyntaxKind.ScopedKeyword)
10556
if (IsParameterModifierExcludingScoped(this.
CurrentToken
))
10573
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
10575
else if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
10600
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
10608
done = (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken);
10621
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
10651
return
CurrentToken
.ContextualKind == SyntaxKind.UnderscoreToken
10658
if (this.
CurrentToken
.ContextualKind != SyntaxKind.WhenKeyword)
10742
switch (this.
CurrentToken
.Kind)
10755
while (IsDeclarationModifier(k = this.
CurrentToken
.ContextualKind) || IsAdditionalLocalFunctionModifier(k))
10792
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken);
10798
if (IsDeclarationModifier(this.
CurrentToken
.Kind) ||
10799
IsAdditionalLocalFunctionModifier(this.
CurrentToken
.Kind))
10806
if (ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
10814
while (IsAdditionalLocalFunctionModifier(this.
CurrentToken
.ContextualKind));
10954
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
10993
if (IsScript && this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken)
11037
SyntaxKind tk = this.
CurrentToken
.Kind;
11083
return this.IsTrueIdentifier() || this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword;
11319
return (this.IsScript || this.IsInAsync) && this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword;
11324
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword)
11402
var tk = this.
CurrentToken
.Kind;
11444
if (this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword && IsInQuery)
11451
this.AddError(this.EatToken(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text));
11498
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional)
11596
if (this.
CurrentToken
.Kind != SyntaxKind.ColonToken &&
11614
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
11626
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken && this.lexer.InterpolationFollowedByColon)
11685
var token1 = this.
CurrentToken
;
11787
if (operatorExpressionKind == SyntaxKind.SimpleAssignmentExpression &&
CurrentToken
.Kind == SyntaxKind.RefKeyword &&
11807
if (this.
CurrentToken
.Kind != SyntaxKind.DotToken)
11811
return nextToken.Kind == SyntaxKind.DotToken && NoTriviaBetween(this.
CurrentToken
, nextToken);
11829
if (this.
CurrentToken
is { Kind: SyntaxKind.DotToken } token3 &&
11899
var tk = this.
CurrentToken
.Kind;
11935
return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
11964
return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
12032
if (this.
CurrentToken
.Kind != SyntaxKind.DotToken || tk == SyntaxKind.VoidKeyword)
12057
offset: this.
CurrentToken
.GetLeadingTriviaWidth(),
12058
width: this.
CurrentToken
.Width,
12082
switch (this.
CurrentToken
.Kind)
12094
expr = _syntaxFactory.PostfixUnaryExpression(SyntaxFacts.GetPostfixUnaryExpression(this.
CurrentToken
.Kind), expr, this.EatToken());
12129
if (this.
CurrentToken
.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia) &&
12163
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.BaseKeyword);
12177
if (precedence > Precedence.Assignment || !(this.
CurrentToken
.IsIdentifierVar() || IsPredefinedType(this.
CurrentToken
.Kind)))
12186
this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken && ScanDesignator() &&
12187
this.
CurrentToken
.Kind == SyntaxKind.EqualsToken;
12192
switch (this.
CurrentToken
.Kind)
12211
switch (this.
CurrentToken
.Kind)
12285
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken)
12324
return this.
CurrentToken
.Kind != SyntaxKind.ColonToken;
12337
while (this.
CurrentToken
.Kind == SyntaxKind.ExclamationToken)
12373
=> this.
CurrentToken
.Kind switch
12432
openToken = this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or SyntaxKind.OpenBracketToken
12439
if (this.
CurrentToken
.Kind != closeKind && this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
12467
else if (isIndexer && this.
CurrentToken
.Kind == closeKind)
12483
closeToken = this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken
12492
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
12496
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleArgumentExpression(),
12497
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
12504
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken;
12509
return IsValidArgumentRefKindKeyword(this.
CurrentToken
.Kind) || this.IsPossibleExpression();
12527
var nameColon = this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.ColonToken
12534
if (IsValidArgumentRefKindKeyword(this.
CurrentToken
.Kind) &&
12536
!(this.
CurrentToken
.Kind == SyntaxKind.RefKeyword &&
12544
if (isIndexer && this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBracketToken)
12548
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12580
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
12658
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12689
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12715
if (IsParameterModifierIncludingScoped(this.
CurrentToken
))
12741
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
12749
switch (this.
CurrentToken
.Kind)
12765
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12793
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12801
if (expression.Kind == SyntaxKind.IdentifierName && this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
12822
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12827
var argument = expression.Kind != SyntaxKind.IdentifierName || this.
CurrentToken
.Kind != SyntaxKind.ColonToken
12855
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
12868
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
12875
if (forPattern && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
12887
if (inSwitchArmPattern && this.
CurrentToken
.ContextualKind == SyntaxKind.WhenKeyword)
12909
return !forPattern || this.
CurrentToken
.Kind switch
12934
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken || CanFollowCast(this.
CurrentToken
.Kind);
12940
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken &&
12949
return CanFollowCast(this.
CurrentToken
.Kind);
12980
return this.
CurrentToken
.ContextualKind is SyntaxKind.OrKeyword or SyntaxKind.AndKeyword;
13009
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
13025
if (this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
13030
else if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13044
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
13054
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13062
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
13073
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13082
if (st == ScanTypeFlags.NotType || this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13099
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
13107
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13179
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NewKeyword);
13198
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken);
13219
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleCollectionElement(),
13220
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13234
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WithKeyword &&
13252
return this.
CurrentToken
.Kind == SyntaxKind.NewKeyword && this.PeekToken(1).Kind == SyntaxKind.OpenBraceToken;
13260
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken);
13297
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken;
13312
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken;
13328
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
13338
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13343
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
13365
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13376
switch (this.
CurrentToken
.Kind)
13495
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
13496
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13505
this.
CurrentToken
.Kind == SyntaxKind.ColonToken
13508
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13519
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13547
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.NewKeyword or SyntaxKind.StackAllocKeyword);
13574
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13614
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleVariableInitializer(),
13615
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13641
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13663
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken ? this.ParseArrayInitializer() : null);
13680
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13693
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBraceToken)
13724
if (this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
13730
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13745
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword);
13770
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken &&
13798
if (
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13805
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13818
var identifier = (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.EqualsGreaterThanToken)
13835
=>
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13866
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleLambdaParameter(),
13867
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13874
switch (this.
CurrentToken
.Kind)
13892
return IsPredefinedType(this.
CurrentToken
.Kind);
13903
if (IsParameterModifierIncludingScoped(this.
CurrentToken
))
13930
if (IsPredefinedType(this.
CurrentToken
.Kind))
13936
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13946
if (this.IsTrueIdentifier(this.
CurrentToken
))
13973
=> IsTokenQueryContextualKeyword(this.
CurrentToken
);
14015
return this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword &&
14068
return this.ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken or SyntaxKind.InKeyword;
14090
switch (this.
CurrentToken
.ContextualKind)
14113
SelectOrGroupClauseSyntax selectOrGroupBy = this.
CurrentToken
.ContextualKind switch
14125
this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword
14132
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword);
14141
(this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken || SyntaxFacts.IsQueryContextualKeyword(this.
CurrentToken
.ContextualKind)))
14165
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.JoinKeyword);
14178
into: this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword
14185
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.LetKeyword);
14189
SyntaxFacts.IsReservedKeyword(this.
CurrentToken
.Kind) && this.PeekToken(1).Kind == SyntaxKind.EqualsToken
14198
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword);
14206
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.OrderByKeyword);
14214
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
14216
if (this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
14220
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
14241
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
14242
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseParenToken
14243
|| p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
14255
if (this.
CurrentToken
.ContextualKind is SyntaxKind.AscendingKeyword or SyntaxKind.DescendingKeyword)
14269
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.SelectKeyword);
14277
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.GroupKeyword);
14287
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword);
14418
if (requireOneElement || this.
CurrentToken
.Kind != closeTokenKind)
14435
if (this.
CurrentToken
.Kind == closeTokenKind)
14446
nodes.AddSeparator(this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
14453
if (this.
CurrentToken
.Kind == closeTokenKind)
14488
if (this.
CurrentToken
.Kind == separatorTokenKind)
14493
if (allowSemicolonAsSeparator && this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken)
14582
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken) return node;
14584
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
Parser\LanguageParser_InterpolatedString.cs (3)
112
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.InterpolatedStringToken);
537
if (this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
550
var leading = this.
CurrentToken
.GetLeadingTrivia();
Parser\LanguageParser_Patterns.cs (34)
61
while (this.
CurrentToken
.ContextualKind == SyntaxKind.OrKeyword)
78
var tk =
CurrentToken
.Kind;
84
if (tk == SyntaxKind.IdentifierToken && this.
CurrentToken
.ContextualKind != SyntaxKind.UnderscoreToken &&
85
(this.
CurrentToken
.ContextualKind != SyntaxKind.NameOfKeyword || this.PeekToken(1).Kind != SyntaxKind.OpenParenToken))
107
while (this.
CurrentToken
.ContextualKind == SyntaxKind.AndKeyword)
121
switch (this.
CurrentToken
.Kind)
143
switch (this.
CurrentToken
.Kind)
160
if (this.
CurrentToken
.ContextualKind == SyntaxKind.NotKeyword)
166
else if (this.
CurrentToken
.Kind == SyntaxKind.EqualsEqualsToken)
172
else if (this.
CurrentToken
.Kind == SyntaxKind.ExclamationEqualsToken)
190
var tk = this.
CurrentToken
.Kind;
202
if (
CurrentToken
.ContextualKind == SyntaxKind.UnderscoreToken)
207
switch (
CurrentToken
.Kind)
259
switch (this.
CurrentToken
.Kind)
291
(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken || this.IsValidPatternDesignation(inSwitchArmPattern)))
300
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken && (type != null || !looksLikeCast()))
383
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
409
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
411
switch (
CurrentToken
.ContextualKind)
502
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
534
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken && ConvertPatternToExpressionIfPossible(pattern, permitTypeArguments: true) is ExpressionSyntax expr)
555
this.
CurrentToken
.Kind is
568
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBraceToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
575
if (@this._termState.HasFlag(TerminatorState.IsExpressionOrPatternInCaseLabelOfSwitchStatement) && @this.
CurrentToken
.Kind is SyntaxKind.ColonToken)
584
if (@this._termState.HasFlag(TerminatorState.IsPatternInSwitchExpressionArm) && @this.
CurrentToken
.Kind is SyntaxKind.EqualsGreaterThanToken or SyntaxKind.ColonToken)
588
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleSubpatternElement(),
589
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
609
while (this.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken)
615
var errantCase = this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword
634
this.
CurrentToken
.Kind == SyntaxKind.ColonToken
640
if (errantCase is null && switchExpressionCase.FullWidth == 0 && this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
647
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken)
649
var commaToken = this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
Parser\SyntaxParser.cs (12)
488
var ct = this.
CurrentToken
;
498
=> this.
CurrentToken
.Kind == kind ? this.EatToken() : null;
525
var ct = this.
CurrentToken
;
533
return CreateMissingToken(kind, this.
CurrentToken
.Kind);
541
var ct = this.
CurrentToken
;
548
var replacement = CreateMissingToken(expected, this.
CurrentToken
.Kind);
578
if (this.
CurrentToken
.Kind != kind)
592
if (this.
CurrentToken
.Kind != kind)
611
var token = this.
CurrentToken
;
649
if (this.
CurrentToken
.ContextualKind != kind)
663
var contextualKind = this.
CurrentToken
.ContextualKind;
847
var token = this.
CurrentToken
;