793 references to CurrentToken
Microsoft.CodeAnalysis.CSharp (793)
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_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\LanguageParser.cs (626)
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)
871
switch (this.
CurrentToken
.Kind)
881
return IsPossibleStartOfTypeDeclaration(this.
CurrentToken
.Kind);
887
return this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken;
912
return this.
CurrentToken
.Kind == SyntaxKind.ExternKeyword
925
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ExternKeyword);
949
var globalToken = this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword
953
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.UsingKeyword);
960
if (staticToken is null && unsafeToken != null && this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
972
var isAliasToFunctionPointer = alias != null && this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword;
991
type = _syntaxFactory.IdentifierName(CreateMissingToken(SyntaxKind.IdentifierToken, this.
CurrentToken
.Kind));
1014
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken
1034
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
1052
if (SyntaxFacts.IsLiteralExpression(this.
CurrentToken
.Kind))
1096
return this.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken
1101
=> IsSomeWord(this.
CurrentToken
.Kind) && this.PeekToken(1).Kind == SyntaxKind.ColonToken;
1146
if (this.
CurrentToken
.Kind == SyntaxKind.DotToken)
1152
if (this.
CurrentToken
.Kind == SyntaxKind.MinusGreaterThanToken)
1157
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken &&
1170
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttribute(),
1171
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
1200
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
1225
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttributeArgument(),
1226
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
1260
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
1353
var newMod = GetModifierExcludingScoped(this.
CurrentToken
);
1450
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.RefKeyword);
1467
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.RefKeyword);
1472
while (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None)
1480
return this.
CurrentToken
.ContextualKind is
1493
while (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None ||
1494
this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
1503
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None);
1543
var currentTokenKind = this.
CurrentToken
.Kind;
1565
var currentTokenKind = this.
CurrentToken
.Kind;
1583
if (SyntaxFacts.IsPredefinedType(this.
CurrentToken
.Kind))
1590
if (IsNonContextualModifier(this.
CurrentToken
))
1612
=> this.IsTypeDeclarationStart() || this.
CurrentToken
.Kind == SyntaxKind.NamespaceKeyword;
1639
if (this.
CurrentToken
.ContextualKind != SyntaxKind.PartialKeyword)
1654
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword);
1658
while (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None)
1671
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword);
1681
while (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None)
1685
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
1709
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
1714
if (this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword)
1740
switch (this.
CurrentToken
.Kind)
1743
if (this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
1763
switch (this.
CurrentToken
.Kind)
1781
Debug.Assert(
CurrentToken
.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword or SyntaxKind.UnionKeyword);
1785
throw ExceptionUtilities.UnexpectedValue(this.
CurrentToken
.Kind);
1791
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword or SyntaxKind.InterfaceKeyword ||
1792
this.
CurrentToken
.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword or SyntaxKind.UnionKeyword);
1814
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
1827
var paramList =
CurrentToken
.Kind == SyntaxKind.OpenParenToken || isExtension
1839
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
1850
if (
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
1874
SyntaxKind kind = this.
CurrentToken
.Kind;
1910
? this.CreateMissingToken(SyntaxKind.CloseBraceToken, this.
CurrentToken
.Kind)
1933
if (this.
CurrentToken
.ContextualKind == SyntaxKind.RecordKeyword)
1936
recordModifier = this.
CurrentToken
.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword
1943
if (this.
CurrentToken
.Kind is SyntaxKind.StructKeyword or SyntaxKind.ClassKeyword &&
2113
SyntaxKind kind = this.
CurrentToken
.Kind;
2161
return this.IsPossibleMemberStart() || this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken;
2166
return this.
CurrentToken
.Kind is SyntaxKind.ColonToken or SyntaxKind.OpenBraceToken
2183
list.Add(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken
2188
while (this.
CurrentToken
.Kind is not (SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken) &&
2191
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
2205
if (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None)
2228
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttribute(),
2229
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || p.IsCurrentTokenWhereOfConstraintClause(),
2237
this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword &&
2244
while (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
2262
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.IsCurrentTokenWhereOfConstraintClause())
2276
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
2277
|| ((_termState & TerminatorState.IsEndOfTypeSignature) != 0 && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
2278
|| this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
2279
|| this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
2283
else if (haveComma = (this.
CurrentToken
.Kind == SyntaxKind.CommaToken) || this.IsPossibleTypeParameterConstraint())
2323
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleTypeParameterConstraint(),
2324
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || p.IsCurrentTokenWhereOfConstraintClause(),
2331
switch (this.
CurrentToken
.Kind)
2340
return (this.
CurrentToken
.ContextualKind == SyntaxKind.AllowsKeyword && PeekToken(1).Kind == SyntaxKind.RefKeyword) || this.IsTrueIdentifier();
2342
return IsPredefinedType(this.
CurrentToken
.Kind);
2348
return this.
CurrentToken
.Kind switch
2360
this.
CurrentToken
.Kind == SyntaxKind.QuestionToken
2392
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AllowsKeyword &&
2406
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken && PeekToken(1).Kind == SyntaxKind.RefKeyword)
2424
return CanStartMember(this.
CurrentToken
.Kind);
2485
switch (this.
CurrentToken
.Kind)
2496
if (this.IsEnabledRecordOrUnionKeyword(this.
CurrentToken
))
2631
switch (this.
CurrentToken
.Kind)
2677
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken)
2711
if (this.
CurrentToken
.Kind == SyntaxKind.ConstKeyword)
2724
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
2730
if (this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword)
2742
if (this.
CurrentToken
.Kind == SyntaxKind.NamespaceKeyword)
2764
if (this.
CurrentToken
.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken &&
3005
if (
CurrentToken
.Kind == SyntaxKind.UsingKeyword)
3010
if (
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
3025
if (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None &&
3026
this.
CurrentToken
.ContextualKind is not (SyntaxKind.PartialKeyword or SyntaxKind.AsyncKeyword or SyntaxKind.RequiredKeyword or SyntaxKind.FileKeyword or SyntaxKind.ClosedKeyword or SyntaxKind.SafeKeyword) &&
3029
var misplacedModifier = this.
CurrentToken
;
3092
offset: incompleteMember.Width + incompleteMember.GetTrailingTriviaWidth() + this.
CurrentToken
.GetLeadingTriviaWidth(),
3093
this.
CurrentToken
.Width,
3095
this.
CurrentToken
.Text);
3159
|| this.
CurrentToken
.Kind is not SyntaxKind.OpenParenToken and not SyntaxKind.OpenBraceToken and not SyntaxKind.EqualsGreaterThanToken) &&
3267
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken)
3273
if (this.
CurrentToken
.Kind == SyntaxKind.TildeToken)
3279
if (this.
CurrentToken
.Kind == SyntaxKind.ConstKeyword)
3285
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
3291
if (this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword)
3399
return this.
CurrentToken
.ContextualKind == SyntaxKind.ExtensionKeyword &&
3431
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
3436
if (this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
3474
return this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword or SyntaxKind.OperatorKeyword;
3532
var currentTokenKind = this.
CurrentToken
.Kind;
3549
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.ColonToken or SyntaxKind.EqualsGreaterThanToken);
3552
var token = this.
CurrentToken
.Kind is SyntaxKind.BaseKeyword or SyntaxKind.ThisKeyword
3556
var argumentList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken
3574
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.TildeToken);
3600
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3608
blockBody = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
3612
expressionBody = this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
3623
else if (parseSemicolonAfterBlock && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3635
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
3641
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
3647
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
3663
=> this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3667
return this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3671
=> this.
CurrentToken
.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
3674
=> this.
CurrentToken
.Kind == (errored ? SyntaxKind.CloseParenToken : SyntaxKind.GreaterThanToken);
3677
=> this.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken;
3694
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
3699
else if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
3702
var colonToken = this.
CurrentToken
;
3749
switch (this.
CurrentToken
.Kind)
3768
if (this.
CurrentToken
.Kind is not (SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword))
3772
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
3776
while (this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword)
3789
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken))
3795
separatorKind = this.
CurrentToken
.Kind;
3815
if (this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword ||
3837
var style = this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword
3847
if (!style.IsMissing && explicitInterfaceOpt is not null && this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword && style.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia))
3879
bool couldBeParameterList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken;
3884
this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
3915
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
3932
if (this.
CurrentToken
.Kind == SyntaxKind.OperatorKeyword)
3942
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken);
3981
if (
CurrentToken
.Kind == SyntaxKind.UncheckedKeyword)
4000
var firstToken = this.
CurrentToken
;
4033
if (SyntaxFacts.IsAnyOverloadableOperator(this.
CurrentToken
.Kind))
4042
if (this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword)
4045
(opTokenErrorOffset, opTokenErrorWidth) = (0, this.
CurrentToken
.Width);
4077
var tk = this.
CurrentToken
;
4084
tk = this.
CurrentToken
;
4216
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
4224
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4233
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
4268
if (this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken)
4276
var accessorList = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
4284
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
4290
else if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
4302
else if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4385
while (this.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken)
4418
var refKeyword = this.
CurrentToken
.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
4429
static p => p.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken && !p.IsPossibleAccessor(),
4450
if (SyntaxFacts.GetAccessorDeclarationKind(this.
CurrentToken
.ContextualKind) != SyntaxKind.None)
4454
if (IsAccessorBodyStart(this.
CurrentToken
))
4460
if (this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken or SyntaxKind.EndOfFileToken)
4465
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && IsAccessorBodyStart(PeekToken(1)))
4474
return this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
4597
var token = (first && !this.
CurrentToken
.ContainsDiagnostics) ? this.EatTokenEvenWithIncorrectKind(expected) : this.EatToken();
4623
var token = (first && !this.
CurrentToken
.ContainsDiagnostics) ? this.EatTokenWithPrejudice(errorCode) : this.EatToken();
4679
bool currentTokenIsSemicolon = this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken;
4680
bool currentTokenIsArrow = this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken;
4681
bool currentTokenIsOpenBraceToken = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken;
4863
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleParameter(),
4864
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
4871
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken;
4876
switch (this.
CurrentToken
.Kind)
4888
return IsParameterModifierExcludingScoped(this.
CurrentToken
) ||
4890
IsPredefinedType(this.
CurrentToken
.Kind);
4950
if (this.
CurrentToken
.Kind == SyntaxKind.ArgListKeyword)
4961
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && IsCurrentTokenWhereOfConstraintClause())
4968
identifier = identifierIsOptional && this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken
4974
if (identifier is not null && this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind is SyntaxKind.CloseBracketToken)
5023
if (IsParameterModifierExcludingScoped(this.
CurrentToken
))
5069
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword);
5087
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.EventKeyword);
5111
if (explicitInterfaceOpt != null && this.
CurrentToken
.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
5163
if (explicitInterfaceOpt != null && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5190
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5243
if (this.
CurrentToken
.Kind == SyntaxKind.DotToken)
5259
return this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken;
5322
while (this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
5324
if (stopOnCloseParen && this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
5328
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
5378
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
5379
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
5534
var currentTokenKind = this.
CurrentToken
.Kind;
5545
currentTokenKind = this.
CurrentToken
.Kind;
5595
switch (this.
CurrentToken
.Kind)
5606
var refKeyword = isLocalOrField && !isConst && this.
CurrentToken
.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
5683
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5701
Debug.Assert(this.
CurrentToken
.Kind != SyntaxKind.EqualsToken);
5741
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5755
this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
5780
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or SyntaxKind.LessThanToken);
5788
(this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.EqualsGreaterThanToken ||
5789
this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword))
5799
switch (this.
CurrentToken
.Kind)
5811
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
5818
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.IsPossibleExpression();
5837
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword);
5848
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
5870
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.EnumKeyword);
5885
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
5901
if (
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5946
static p => p.
CurrentToken
.Kind is not SyntaxKind.CommaToken and not SyntaxKind.SemicolonToken && !p.IsPossibleEnumMemberDeclaration(),
5947
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
5962
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5967
this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBraceToken
5977
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken || this.IsTrueIdentifier();
5982
return this.
CurrentToken
.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
6021
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
6061
var ctk = this.
CurrentToken
.Kind;
6073
result = this.AddError(result, ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
6099
return
CurrentToken
.ContextualKind == SyntaxKind.FieldKeyword &&
6106
if (this.
CurrentToken
.Kind != SyntaxKind.LessThanToken)
6136
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
6137
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
6149
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken or SyntaxKind.InKeyword or SyntaxKind.OutKeyword)
6158
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
6177
this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword ? EatToken() : null,
6194
if (this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
6204
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6229
if (this.
CurrentToken
.Kind != SyntaxKind.LessThanToken)
6279
switch (this.
CurrentToken
.Kind)
6361
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6371
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6388
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
6394
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
6403
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6438
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
6465
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
6487
isDefinitelyTypeArgumentList = this.
CurrentToken
.Kind == SyntaxKind.CommaToken;
6505
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken);
6507
if (this.
CurrentToken
.Kind != SyntaxKind.GreaterThanToken)
6513
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken)
6522
if (lastScannedType is ScanTypeFlags.TupleType && this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken)
6535
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken;
6547
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6557
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6572
while (this.
CurrentToken
.Kind != SyntaxKind.GreaterThanToken)
6576
if (tokenBreaksTypeArgumentList(this.
CurrentToken
))
6585
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken && tokenBreaksTypeArgumentList(this.PeekToken(1)))
6594
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken
6600
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken || this.IsPossibleType())
6670
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleType(),
6671
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken,
6679
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken)
6695
var varianceToken = this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword
6722
this.
CurrentToken
.Kind is not SyntaxKind.CommaToken and not SyntaxKind.GreaterThanToken &&
6744
=> this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken;
6748
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6786
if (this.
CurrentToken
.Kind == SyntaxKind.ThisKeyword)
6837
if (isEvent && this.
CurrentToken
.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
6908
separator = this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken
6921
if (this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken)
6950
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
7026
return this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken
7156
var tk = this.
CurrentToken
.Kind;
7177
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken || !this.IsTrueIdentifier())
7184
if (this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
7199
if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
7204
if (this.
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword)
7211
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken or SyntaxKind.ColonColonToken)
7214
if (this.
CurrentToken
.Kind is SyntaxKind.ColonColonToken)
7228
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken);
7268
else if (IsPredefinedType(this.
CurrentToken
.Kind))
7274
else if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
7279
if (result == ScanTypeFlags.NotType || mode == ParseTypeMode.DefinitePattern && this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
7299
switch (this.
CurrentToken
.Kind)
7340
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7345
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7378
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7396
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken);
7398
if (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
7420
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
7423
switch (
CurrentToken
)
7438
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
7455
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
7468
if (!IsPossibleFunctionPointerParameterListStart(
CurrentToken
))
7508
if (!validStartingToken &&
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
7522
isNotExpectedFunction: static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
7543
if (this.
CurrentToken
.Kind == SyntaxKind.VoidKeyword && this.PeekToken(1).Kind != SyntaxKind.AsteriskToken)
7568
if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
7572
this.
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword ? this.EatToken() : null,
7616
switch (this.
CurrentToken
.Kind)
7664
while (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken);
7685
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.QuestionToken);
7708
if (mode == ParseTypeMode.AfterIs && this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken)
7735
return this.
CurrentToken
.Kind != SyntaxKind.ColonToken;
7762
if (IsTrueIdentifier(this.
CurrentToken
))
7771
if (this.
CurrentToken
.ContextualKind is SyntaxKind.AsyncKeyword or SyntaxKind.AwaitKeyword or SyntaxKind.FromKeyword)
7825
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken)
7834
this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or // ctor parameters
7869
while (IsMakingProgress(ref lastTokenPosition) && this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7871
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7884
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7925
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
7929
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7964
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
7965
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken,
7971
if (IsPredefinedType(this.
CurrentToken
.Kind))
7975
if (token.Kind == SyntaxKind.VoidKeyword && this.
CurrentToken
.Kind != SyntaxKind.AsteriskToken)
7984
if (IsTrueIdentifier() || this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken)
7989
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
8012
if (!IsPossibleFunctionPointerParameterListStart(
CurrentToken
))
8055
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
8066
lessThanToken.IsMissing &&
CurrentToken
.Kind == SyntaxKind.CloseParenToken
8081
isNotExpectedFunction: static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
8089
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
8093
switch (
CurrentToken
)
8097
managedSpecifier = EatContextualToken(
CurrentToken
.ContextualKind);
8117
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
8135
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
8165
=>
CurrentToken
.Kind == SyntaxKind.DelegateKeyword && PeekToken(1).Kind == SyntaxKind.AsteriskToken;
8176
while (this.
CurrentToken
.Kind == SyntaxKind.AsteriskToken)
8196
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
8210
while (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
8220
var isCollectionExpression = this.
CurrentToken
.Kind
8233
|| IsExpectedBinaryOperator(this.
CurrentToken
.Kind)
8234
|| IsExpectedAssignmentOperator(this.
CurrentToken
.Kind)
8235
|| (this.
CurrentToken
.ContextualKind is SyntaxKind.SwitchKeyword or SyntaxKind.WithKeyword && this.PeekToken(1).Kind is SyntaxKind.OpenBraceToken);
8239
this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
8298
switch (this.
CurrentToken
.Kind)
8394
bool beginsWithAwait = this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword;
8429
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword &&
8491
=>
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword && PeekToken(1).Kind == SyntaxKind.UsingKeyword;
8500
return this.
CurrentToken
.ContextualKind == SyntaxKind.YieldKeyword &&
8510
var tk = this.
CurrentToken
.Kind;
8538
tk = this.
CurrentToken
.ContextualKind;
8553
bool? typedIdentifier = IsPossibleTypedIdentifierStart(this.
CurrentToken
, this.PeekToken(1), allowThisKeyword: false);
8574
var tk = this.
CurrentToken
.ContextualKind;
8618
if (st == ScanTypeFlags.MustBeType && this.
CurrentToken
.Kind is not SyntaxKind.DotToken and not SyntaxKind.OpenParenToken)
8628
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
8636
return st == ScanTypeFlags.GenericTypeOrExpression && (IsDefiniteStatement() || IsTypeDeclarationStart() || IsAccessibilityModifier(
CurrentToken
.Kind));
8657
if (this.
CurrentToken
.Kind != SyntaxKind.UsingKeyword)
8723
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken)
8744
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
8751
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
8760
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.SemicolonToken;
8778
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
8785
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
8877
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword);
8905
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
8914
if (scanResult == ScanTypeFlags.TupleType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
8925
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NewKeyword);
9070
CSharpSyntaxNode openBrace = isAccessorBody && this.
CurrentToken
.Kind != SyntaxKind.OpenBraceToken
9151
while (this.
CurrentToken
.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken
9183
return this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
9195
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken,
9203
var tk = this.
CurrentToken
.Kind;
9240
var tk = this.
CurrentToken
.Kind;
9285
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken;
9350
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.TryKeyword or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
9363
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
9377
if (this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword)
9380
while (this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword)
9386
if (this.
CurrentToken
.Kind == SyntaxKind.FinallyKeyword)
9421
return this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword;
9426
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword);
9433
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
9453
var keywordKind = this.
CurrentToken
.ContextualKind;
9485
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken
9494
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken
9502
return this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken
9509
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.CheckedKeyword or SyntaxKind.UncheckedKeyword);
9526
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DoKeyword);
9550
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken;
9567
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9588
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9598
var condition = this.
CurrentToken
.Kind is not SyntaxKind.SemicolonToken and not SyntaxKind.CommaToken
9607
var incrementors = this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken
9636
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
9645
isDeclaration = ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
9649
else if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
9666
else if (this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
9681
=> this.
CurrentToken
.Kind is SyntaxKind.CommaToken
9689
while (this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CommaToken)
9713
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
9717
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
9718
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
9725
return this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken;
9732
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForEachKeyword || this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9743
if (this.
CurrentToken
.Kind == SyntaxKind.ForKeyword)
9837
if (this.IsInAsync && this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword)
9845
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
9848
if (ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
9895
return this.
CurrentToken
.Kind == SyntaxKind.CommaToken;
9897
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseParenToken;
9910
if (!this.
CurrentToken
.IsIdentifierVar())
9949
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.GotoKeyword);
9957
if (this.
CurrentToken
.Kind is SyntaxKind.CaseKeyword or SyntaxKind.DefaultKeyword)
9985
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
9996
if (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken &&
10015
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IfKeyword);
10028
var elseKeyword = this.
CurrentToken
.Kind != SyntaxKind.ElseKeyword ?
10039
if (this.
CurrentToken
.Kind != SyntaxKind.IfKeyword)
10080
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ElseKeyword);
10094
return this.
CurrentToken
.Kind != SyntaxKind.ElseKeyword
10103
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LockKeyword);
10115
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ReturnKeyword);
10119
this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken ? this.ParsePossibleRefExpression() : null,
10125
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.YieldKeyword);
10132
if (this.
CurrentToken
.Kind == SyntaxKind.BreakKeyword)
10141
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
10162
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.SwitchKeyword or SyntaxKind.CaseKeyword);
10187
if (this.
CurrentToken
.Kind is SyntaxKind.CaseKeyword)
10232
return this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword ||
10233
(this.
CurrentToken
.Kind == SyntaxKind.DefaultKeyword && this.PeekToken(1).Kind != SyntaxKind.OpenParenToken);
10247
if (this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword)
10251
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
10263
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhenKeyword && node is ExpressionSyntax ex)
10288
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DefaultKeyword);
10310
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ThrowKeyword);
10314
this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken ? this.ParseExpressionCore() : null,
10320
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.UnsafeKeyword);
10388
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
10415
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken &&
10447
bool condition1 = st == ScanTypeFlags.MustBeType && this.
CurrentToken
.Kind != SyntaxKind.DotToken;
10448
bool condition2 = st != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
10456
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.WhileKeyword);
10491
else if (this.
CurrentToken
.Kind == SyntaxKind.UsingKeyword)
10587
if (this.
CurrentToken
.ContextualKind != SyntaxKind.ScopedKeyword)
10604
if (IsParameterModifierExcludingScoped(this.
CurrentToken
))
10621
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
10623
else if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
10648
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
10656
done = (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken);
10669
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
10699
return
CurrentToken
.ContextualKind == SyntaxKind.UnderscoreToken
10706
if (this.
CurrentToken
.ContextualKind != SyntaxKind.WhenKeyword)
10790
switch (this.
CurrentToken
.Kind)
10803
while (IsDeclarationModifier(k = this.
CurrentToken
.ContextualKind) || IsAdditionalLocalFunctionModifier(k))
10840
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken);
10846
if (IsDeclarationModifier(this.
CurrentToken
.Kind) ||
10847
IsAdditionalLocalFunctionModifier(this.
CurrentToken
.Kind))
10854
if (ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
10862
while (IsAdditionalLocalFunctionModifier(this.
CurrentToken
.ContextualKind));
11006
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
11045
if (IsScript && this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken)
11089
SyntaxKind tk = this.
CurrentToken
.Kind;
11136
return this.IsTrueIdentifier() || this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword;
11373
return (this.IsScript || this.IsInAsync) && this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword;
11378
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword)
11456
var tk = this.
CurrentToken
.Kind;
11498
if (this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword && IsInQuery)
11505
this.AddError(this.EatToken(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text));
11552
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional)
11650
if (this.
CurrentToken
.Kind != SyntaxKind.ColonToken &&
11668
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
11680
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken && this.lexer.InterpolationFollowedByColon)
11739
var token1 = this.
CurrentToken
;
11841
if (operatorExpressionKind == SyntaxKind.SimpleAssignmentExpression &&
CurrentToken
.Kind == SyntaxKind.RefKeyword &&
11861
if (this.
CurrentToken
.Kind != SyntaxKind.DotToken)
11865
return nextToken.Kind == SyntaxKind.DotToken && NoTriviaBetween(this.
CurrentToken
, nextToken);
11883
if (this.
CurrentToken
is { Kind: SyntaxKind.DotToken } token3 &&
11953
var tk = this.
CurrentToken
.Kind;
11991
return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
12020
return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
12088
if (this.
CurrentToken
.Kind != SyntaxKind.DotToken || tk == SyntaxKind.VoidKeyword)
12113
offset: this.
CurrentToken
.GetLeadingTriviaWidth(),
12114
width: this.
CurrentToken
.Width,
12138
switch (this.
CurrentToken
.Kind)
12150
expr = _syntaxFactory.PostfixUnaryExpression(SyntaxFacts.GetPostfixUnaryExpression(this.
CurrentToken
.Kind), expr, this.EatToken());
12185
if (this.
CurrentToken
.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia) &&
12219
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.BaseKeyword);
12233
if (precedence > Precedence.Assignment || !(this.
CurrentToken
.IsIdentifierVar() || IsPredefinedType(this.
CurrentToken
.Kind)))
12242
this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken && ScanDesignator() &&
12243
this.
CurrentToken
.Kind == SyntaxKind.EqualsToken;
12248
switch (this.
CurrentToken
.Kind)
12267
switch (this.
CurrentToken
.Kind)
12341
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken)
12380
return this.
CurrentToken
.Kind != SyntaxKind.ColonToken;
12393
while (this.
CurrentToken
.Kind == SyntaxKind.ExclamationToken)
12429
=> this.
CurrentToken
.Kind switch
12488
openToken = this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or SyntaxKind.OpenBracketToken
12495
if (this.
CurrentToken
.Kind != closeKind && this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
12523
else if (isIndexer && this.
CurrentToken
.Kind == closeKind)
12539
closeToken = this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken
12548
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
12552
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleArgumentExpression(),
12553
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
12560
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken;
12565
return IsValidArgumentRefKindKeyword(this.
CurrentToken
.Kind) || this.IsPossibleExpression();
12583
var nameColon = this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.ColonToken
12590
if (IsValidArgumentRefKindKeyword(this.
CurrentToken
.Kind) &&
12592
!(this.
CurrentToken
.Kind == SyntaxKind.RefKeyword &&
12600
if (isIndexer && this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBracketToken)
12604
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12636
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
12723
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12754
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12780
if (IsParameterModifierIncludingScoped(this.
CurrentToken
))
12806
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
12814
switch (this.
CurrentToken
.Kind)
12830
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12858
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12866
if (expression.Kind == SyntaxKind.IdentifierName && this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
12887
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12892
var argument = expression.Kind != SyntaxKind.IdentifierName || this.
CurrentToken
.Kind != SyntaxKind.ColonToken
12920
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
12933
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
12940
if (forPattern && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
12952
if (inSwitchArmPattern && this.
CurrentToken
.ContextualKind == SyntaxKind.WhenKeyword)
12974
return !forPattern || this.
CurrentToken
.Kind switch
12999
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken || CanFollowCast(this.
CurrentToken
.Kind);
13005
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken &&
13014
return CanFollowCast(this.
CurrentToken
.Kind);
13045
return this.
CurrentToken
.ContextualKind is SyntaxKind.OrKeyword or SyntaxKind.AndKeyword;
13074
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
13093
if (this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
13098
else if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13112
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
13122
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13130
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
13141
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13150
if (st == ScanTypeFlags.NotType || this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13167
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
13175
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13247
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NewKeyword);
13266
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken);
13287
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleCollectionElement(),
13288
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13302
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WithKeyword &&
13320
return this.
CurrentToken
.Kind == SyntaxKind.NewKeyword && this.PeekToken(1).Kind == SyntaxKind.OpenBraceToken;
13328
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken);
13365
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken;
13380
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken;
13396
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
13406
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13411
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
13433
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13444
switch (this.
CurrentToken
.Kind)
13563
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
13564
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13573
this.
CurrentToken
.Kind == SyntaxKind.ColonToken
13576
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13587
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13615
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.NewKeyword or SyntaxKind.StackAllocKeyword);
13642
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13682
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleVariableInitializer(),
13683
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13709
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13731
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken ? this.ParseArrayInitializer() : null);
13748
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13761
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBraceToken)
13793
var allowPartial = this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword &&
13800
if (allowPartial && this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword)
13806
if (this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
13812
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13843
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13856
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword);
13881
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken &&
13909
if (
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13916
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13929
var identifier = (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.EqualsGreaterThanToken)
13946
=>
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13977
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleLambdaParameter(),
13978
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13985
switch (this.
CurrentToken
.Kind)
14003
return IsPredefinedType(this.
CurrentToken
.Kind);
14014
if (IsParameterModifierIncludingScoped(this.
CurrentToken
))
14041
if (IsPredefinedType(this.
CurrentToken
.Kind))
14047
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
14057
if (this.IsTrueIdentifier(this.
CurrentToken
))
14084
=> IsTokenQueryContextualKeyword(this.
CurrentToken
);
14126
return this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword &&
14179
return this.ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken or SyntaxKind.InKeyword;
14201
switch (this.
CurrentToken
.ContextualKind)
14224
SelectOrGroupClauseSyntax selectOrGroupBy = this.
CurrentToken
.ContextualKind switch
14236
this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword
14243
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword);
14252
(this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken || SyntaxFacts.IsQueryContextualKeyword(this.
CurrentToken
.ContextualKind)))
14276
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.JoinKeyword);
14289
into: this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword
14296
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.LetKeyword);
14300
SyntaxFacts.IsReservedKeyword(this.
CurrentToken
.Kind) && this.PeekToken(1).Kind == SyntaxKind.EqualsToken
14309
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword);
14317
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.OrderByKeyword);
14325
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
14327
if (this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
14331
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
14352
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
14353
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseParenToken
14354
|| p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
14366
if (this.
CurrentToken
.ContextualKind is SyntaxKind.AscendingKeyword or SyntaxKind.DescendingKeyword)
14380
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.SelectKeyword);
14388
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.GroupKeyword);
14398
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword);
14529
if (requireOneElement || this.
CurrentToken
.Kind != closeTokenKind)
14546
if (this.
CurrentToken
.Kind == closeTokenKind)
14557
nodes.AddSeparator(this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
14564
if (this.
CurrentToken
.Kind == closeTokenKind)
14599
if (this.
CurrentToken
.Kind == separatorTokenKind)
14604
if (allowSemicolonAsSeparator && this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken)
14693
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken) return node;
14695
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
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
;