716 references to CurrentToken
Microsoft.CodeAnalysis.CSharp (716)
Parser\DirectiveParser.cs (28)
52
SyntaxKind contextualKind = this.
CurrentToken
.ContextualKind;
91
result = (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken) ?
371
switch (this.
CurrentToken
.Kind)
392
if (this.
CurrentToken
.Kind == SyntaxKind.StringLiteralToken &&
393
(line.IsMissing || line.GetTrailingTriviaWidth() > 0 || this.
CurrentToken
.GetLeadingTriviaWidth() > 0)) //require separation between line number and file name
408
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
427
var characterOffset = (
CurrentToken
.Kind == SyntaxKind.NumericLiteralToken) ?
540
SyntaxToken setting = this.
CurrentToken
.Kind switch
548
SyntaxToken target = this.
CurrentToken
.Kind switch
569
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WarningKeyword)
573
if (this.
CurrentToken
.Kind == SyntaxKind.DisableKeyword || this.
CurrentToken
.Kind == SyntaxKind.RestoreKeyword)
578
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfDirectiveToken)
583
if (this.
CurrentToken
.Kind == SyntaxKind.NumericLiteralToken)
595
else if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
616
if (this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
634
else if (this.
CurrentToken
.Kind == SyntaxKind.ChecksumKeyword)
697
if (this.
CurrentToken
.Kind != SyntaxKind.EndOfDirectiveToken &&
698
this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
717
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfDirectiveToken &&
718
this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
725
SyntaxToken endOfDirective = this.
CurrentToken
.Kind == SyntaxKind.EndOfDirectiveToken
746
while (this.
CurrentToken
.Kind == SyntaxKind.BarBarToken)
759
while (this.
CurrentToken
.Kind == SyntaxKind.AmpersandAmpersandToken)
772
while (this.
CurrentToken
.Kind == SyntaxKind.EqualsEqualsToken || this.
CurrentToken
.Kind == SyntaxKind.ExclamationEqualsToken)
784
if (this.
CurrentToken
.Kind == SyntaxKind.ExclamationToken)
795
var k = this.
CurrentToken
.Kind;
Parser\DocumentationCommentParser.cs (81)
82
if (this.
CurrentToken
.Kind != SyntaxKind.EndOfDocumentationCommentToken)
102
bool endTag = this.
CurrentToken
.Kind == SyntaxKind.LessThanSlashToken;
109
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfDocumentationCommentToken)
148
switch (this.
CurrentToken
.Kind)
172
switch (this.
CurrentToken
.Kind)
191
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
192
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken
193
|| this.
CurrentToken
.Kind == SyntaxKind.XmlEntityLiteralToken)
219
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
259
if (this.
CurrentToken
.Kind != SyntaxKind.GreaterThanToken)
262
p => p.
CurrentToken
.Kind != SyntaxKind.GreaterThanToken,
329
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
349
p => p.
CurrentToken
.Kind != SyntaxKind.IdentifierName,
352
p => p.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken
353
|| p.
CurrentToken
.Kind == SyntaxKind.SlashGreaterThanToken
354
|| p.
CurrentToken
.Kind == SyntaxKind.LessThanToken
355
|| p.
CurrentToken
.Kind == SyntaxKind.LessThanSlashToken
356
|| p.
CurrentToken
.Kind == SyntaxKind.EndOfDocumentationCommentToken
357
|| p.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken,
457
switch (this.
CurrentToken
.Kind)
530
SyntaxToken openQuote = EatToken(this.
CurrentToken
.Kind == SyntaxKind.SingleQuoteToken
537
SyntaxToken current = this.
CurrentToken
;
544
current = this.
CurrentToken
;
611
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
612
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken
613
|| this.
CurrentToken
.Kind == SyntaxKind.XmlEntityLiteralToken
614
|| this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
636
if (IsNonAsciiQuotationMark(this.
CurrentToken
))
641
var quoteKind = this.
CurrentToken
.Kind == SyntaxKind.SingleQuoteToken
655
if (IsNonAsciiQuotationMark(this.
CurrentToken
))
690
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
730
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
731
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken
732
|| this.
CurrentToken
.Kind == SyntaxKind.MinusMinusToken)
757
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
758
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken)
779
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
780
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken)
905
else if (type.Kind != SyntaxKind.QualifiedName && this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
945
switch (
CurrentToken
.Kind)
976
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.ThisKeyword);
988
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OperatorKeyword);
994
if (SyntaxFacts.IsAnyOverloadableOperator(
CurrentToken
.Kind))
1007
if (SyntaxFacts.IsUnaryOperatorDeclarationToken(
CurrentToken
.Kind) || SyntaxFacts.IsBinaryExpressionOperatorToken(
CurrentToken
.Kind))
1020
if (operatorToken.Kind == SyntaxKind.GreaterThanToken && operatorToken.GetTrailingTriviaWidth() == 0 &&
CurrentToken
.GetLeadingTriviaWidth() == 0)
1022
if (
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
1026
if (operatorToken2.GetTrailingTriviaWidth() == 0 &&
CurrentToken
.GetLeadingTriviaWidth() == 0 &&
1027
CurrentToken
.Kind is (SyntaxKind.GreaterThanToken or SyntaxKind.GreaterThanEqualsToken))
1074
else if (
CurrentToken
.Kind == SyntaxKind.EqualsToken)
1084
else if (
CurrentToken
.Kind == SyntaxKind.GreaterThanEqualsToken)
1120
(isConversion || SyntaxFacts.IsAnyOverloadableOperator(
CurrentToken
.Kind)))
1129
if (
CurrentToken
.Kind == SyntaxKind.UncheckedKeyword)
1146
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.ExplicitKeyword ||
1147
CurrentToken
.Kind == SyntaxKind.ImplicitKeyword);
1184
if (
CurrentToken
.Kind != openKind)
1194
while (
CurrentToken
.Kind == SyntaxKind.CommaToken || IsPossibleCrefParameter())
1198
if (
CurrentToken
.Kind != closeKind)
1209
Debug.Assert(
CurrentToken
.Kind != SyntaxKind.CommaToken);
1234
SyntaxKind kind = this.
CurrentToken
.Kind;
1256
switch (
CurrentToken
.Kind)
1278
if (
CurrentToken
.Kind != SyntaxKind.LessThanToken)
1300
var currentKind =
CurrentToken
.Kind;
1302
SyntaxFacts.IsPredefinedType(
CurrentToken
.Kind))
1362
if (SyntaxFacts.IsPredefinedType(
CurrentToken
.Kind))
1371
else if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken && PeekToken(1).Kind == SyntaxKind.ColonColonToken)
1391
if (checkForMember && (leftName.IsMissing ||
CurrentToken
.Kind != SyntaxKind.DotToken))
1403
while (
CurrentToken
.Kind == SyntaxKind.DotToken)
1412
if (checkForMember && (rightName.IsMissing ||
CurrentToken
.Kind != SyntaxKind.DotToken))
1434
if (
CurrentToken
.Kind == SyntaxKind.QuestionToken)
1439
while (
CurrentToken
.Kind == SyntaxKind.AsteriskToken)
1444
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
1450
while (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
1456
while (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
1458
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
1508
switch (
CurrentToken
.Kind)
1520
return
CurrentToken
.Text == SyntaxFacts.GetText(SyntaxKind.LessThanToken) ||
1521
IsNonAsciiQuotationMark(
CurrentToken
);
1576
switch (
CurrentToken
.Kind)
1588
return
CurrentToken
.Text == SyntaxFacts.GetText(SyntaxKind.LessThanToken) ||
1589
IsNonAsciiQuotationMark(
CurrentToken
);
Parser\LanguageParser.cs (562)
94
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken)
249
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NamespaceKeyword);
262
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
266
else if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || IsPossibleNamespaceMemberDeclaration())
429
switch (this.
CurrentToken
.Kind)
518
if (this.
CurrentToken
.ContextualKind != SyntaxKind.GlobalKeyword || this.PeekToken(1).Kind != SyntaxKind.UsingKeyword)
695
switch (this.
CurrentToken
.Kind)
704
return IsPossibleStartOfTypeDeclaration(this.
CurrentToken
.Kind);
710
if (this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword)
727
return this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken;
752
return this.
CurrentToken
.Kind == SyntaxKind.ExternKeyword
765
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ExternKeyword);
789
var globalToken = this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword
793
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.UsingKeyword);
804
var isAliasToFunctionPointer = alias != null && this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword;
823
type = WithAdditionalDiagnostics(CreateMissingIdentifierName(), GetExpectedTokenError(SyntaxKind.IdentifierToken, this.
CurrentToken
.Kind));
846
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken
865
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken;
884
return this.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken
898
var location = IsSomeWord(this.
CurrentToken
.Kind) && this.PeekToken(1).Kind == SyntaxKind.ColonToken
922
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttribute(),
923
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
952
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
976
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttributeArgument(),
977
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
994
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
1085
var newMod = GetModifierExcludingScoped(this.
CurrentToken
);
1222
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None);
1241
(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword))
1258
var currentTokenKind = this.
CurrentToken
.Kind;
1280
var currentTokenKind = this.
CurrentToken
.Kind;
1298
if (SyntaxFacts.IsPredefinedType(this.
CurrentToken
.Kind))
1305
if (IsNonContextualModifier(this.
CurrentToken
))
1340
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword);
1381
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword);
1396
switch (this.
CurrentToken
.Kind)
1399
if (this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
1419
switch (this.
CurrentToken
.Kind)
1437
Debug.Assert(
CurrentToken
.ContextualKind == SyntaxKind.RecordKeyword);
1441
throw ExceptionUtilities.UnexpectedValue(this.
CurrentToken
.Kind);
1449
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword or SyntaxKind.InterfaceKeyword ||
1450
this.
CurrentToken
.ContextualKind == SyntaxKind.RecordKeyword);
1469
var paramList =
CurrentToken
.Kind == SyntaxKind.OpenParenToken
1481
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
1492
if (
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
1516
SyntaxKind kind = this.
CurrentToken
.Kind;
1554
closeBrace = WithAdditionalDiagnostics(closeBrace, this.GetExpectedTokenError(SyntaxKind.CloseBraceToken, this.
CurrentToken
.Kind));
1581
if (this.
CurrentToken
.ContextualKind == SyntaxKind.RecordKeyword)
1584
recordModifier = this.
CurrentToken
.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword
1591
if (this.
CurrentToken
.Kind is SyntaxKind.StructKeyword or SyntaxKind.ClassKeyword &&
1726
SyntaxKind kind = this.
CurrentToken
.Kind;
1774
return this.IsPossibleMemberStart() || this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken;
1779
return this.
CurrentToken
.Kind is SyntaxKind.ColonToken or SyntaxKind.OpenBraceToken
1794
var argumentList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken
1805
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken ||
1806
((_termState & TerminatorState.IsEndOfRecordOrClassOrStructOrInterfaceSignature) != 0 && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken) ||
1811
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken || this.IsPossibleType())
1828
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttribute(),
1829
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || p.IsCurrentTokenWhereOfConstraintClause(),
1837
this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword &&
1844
while (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
1862
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.IsCurrentTokenWhereOfConstraintClause())
1873
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
1874
|| ((_termState & TerminatorState.IsEndOfRecordOrClassOrStructOrInterfaceSignature) != 0 && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
1875
|| this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
1876
|| this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
1880
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken || this.IsPossibleTypeParameterConstraint())
1911
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleTypeParameterConstraint(),
1912
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || p.IsCurrentTokenWhereOfConstraintClause(),
1919
switch (this.
CurrentToken
.Kind)
1929
return IsPredefinedType(this.
CurrentToken
.Kind);
1935
return this.
CurrentToken
.Kind switch
1947
this.
CurrentToken
.Kind == SyntaxKind.QuestionToken
1980
return CanStartMember(this.
CurrentToken
.Kind);
2041
switch (this.
CurrentToken
.Kind)
2051
if (
CurrentToken
.ContextualKind == SyntaxKind.RecordKeyword)
2187
switch (this.
CurrentToken
.Kind)
2233
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken)
2267
if (this.
CurrentToken
.Kind == SyntaxKind.ConstKeyword)
2280
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
2286
if (this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword)
2298
if (this.
CurrentToken
.Kind == SyntaxKind.NamespaceKeyword)
2320
if (this.
CurrentToken
.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken &&
2565
if (
CurrentToken
.Kind == SyntaxKind.UsingKeyword)
2570
if (
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
2585
if (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None &&
2586
this.
CurrentToken
.ContextualKind is not (SyntaxKind.PartialKeyword or SyntaxKind.AsyncKeyword or SyntaxKind.RequiredKeyword or SyntaxKind.FileKeyword) &&
2589
var misplacedModifier = this.
CurrentToken
;
2633
incompleteMember.FullWidth + this.
CurrentToken
.GetLeadingTriviaWidth(),
2634
this.
CurrentToken
.Width,
2636
this.
CurrentToken
.Text);
2653
|| this.
CurrentToken
.Kind is not SyntaxKind.OpenParenToken and not SyntaxKind.OpenBraceToken and not SyntaxKind.EqualsGreaterThanToken) &&
2681
if (IsStartOfPropertyBody(this.
CurrentToken
.Kind) ||
2682
(this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken && IsStartOfPropertyBody(this.PeekToken(1).Kind)))
2735
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken)
2741
if (this.
CurrentToken
.Kind == SyntaxKind.TildeToken)
2747
if (this.
CurrentToken
.Kind == SyntaxKind.ConstKeyword)
2753
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
2759
if (this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword)
2891
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
2896
if (this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
2937
return this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword or SyntaxKind.OperatorKeyword;
2979
var initializer = this.
CurrentToken
.Kind == SyntaxKind.ColonToken
2998
var kind = this.
CurrentToken
.Kind == SyntaxKind.BaseKeyword
3003
if (this.
CurrentToken
.Kind is SyntaxKind.BaseKeyword or SyntaxKind.ThisKeyword)
3015
var argumentList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken
3027
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.TildeToken);
3053
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3061
blockBody = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
3065
expressionBody = this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
3076
else if (parseSemicolonAfterBlock && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3088
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
3094
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
3100
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
3116
=> this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3120
return this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3124
=> this.
CurrentToken
.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
3127
=> this.
CurrentToken
.Kind == (errored ? SyntaxKind.CloseParenToken : SyntaxKind.GreaterThanToken);
3130
=> this.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken;
3147
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
3152
else if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
3155
var colonToken = this.
CurrentToken
;
3205
switch (this.
CurrentToken
.Kind)
3224
if (this.
CurrentToken
.Kind is not (SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword))
3228
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
3238
if (this.
CurrentToken
.Kind == SyntaxKind.OperatorKeyword)
3252
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken))
3258
separatorKind = this.
CurrentToken
.Kind;
3280
if (this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword ||
3302
var style = this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword
3312
if (!style.IsMissing && explicitInterfaceOpt is not null && this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword && style.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia))
3344
bool couldBeParameterList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken;
3349
this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
3380
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
3397
if (this.
CurrentToken
.Kind == SyntaxKind.OperatorKeyword)
3407
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken);
3446
if (
CurrentToken
.Kind == SyntaxKind.UncheckedKeyword)
3469
if (SyntaxFacts.IsAnyOverloadableOperator(this.
CurrentToken
.Kind))
3478
if (this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword)
3511
var tk = this.
CurrentToken
;
3516
tk = this.
CurrentToken
;
3621
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
3629
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3638
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
3673
if (this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken)
3679
Debug.Assert(IsStartOfPropertyBody(this.
CurrentToken
.Kind));
3681
var accessorList = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
3689
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
3694
else if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
3706
else if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3735
if (this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken)
3770
var refKeyword = this.
CurrentToken
.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
3781
static p => p.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken && !p.IsPossibleAccessor(),
3788
return this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken
3790
|| SyntaxFacts.GetAccessorDeclarationKind(this.
CurrentToken
.ContextualKind) != SyntaxKind.None
3791
|| this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken // for accessor blocks w/ missing keyword
3792
|| this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken // for empty body accessors w/ missing keyword
3814
if (GetModifierExcludingScoped(this.
CurrentToken
) == DeclarationModifiers.None)
3962
var token = (first && !this.
CurrentToken
.ContainsDiagnostics) ? this.EatTokenWithPrejudice(expected) : this.EatToken();
3988
var token = (first && !this.
CurrentToken
.ContainsDiagnostics) ? this.EatTokenWithPrejudice(errorCode) : this.EatToken();
4042
bool currentTokenIsSemicolon = this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken;
4043
bool currentTokenIsArrow = this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken;
4044
bool currentTokenIsOpenBraceToken = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken;
4221
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleParameter(),
4222
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
4229
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken;
4234
switch (this.
CurrentToken
.Kind)
4246
return IsParameterModifierExcludingScoped(this.
CurrentToken
) || IsPossibleScopedKeyword(isFunctionPointerParameter: false) || IsPredefinedType(this.
CurrentToken
.Kind);
4298
if (this.
CurrentToken
.Kind == SyntaxKind.ArgListKeyword)
4309
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && IsCurrentTokenWhereOfConstraintClause())
4319
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind is SyntaxKind.CloseBracketToken)
4350
if (this.
CurrentToken
.Kind is SyntaxKind.ExclamationEqualsToken)
4363
else if (this.
CurrentToken
.Kind is SyntaxKind.ExclamationToken)
4368
if (this.
CurrentToken
.Kind is SyntaxKind.ExclamationToken)
4372
else if (this.
CurrentToken
.Kind is SyntaxKind.ExclamationEqualsToken)
4439
while (IsParameterModifierExcludingScoped(this.
CurrentToken
))
4441
if (this.
CurrentToken
.Kind is SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword)
4458
if (this.
CurrentToken
.Kind is (SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword))
4471
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword);
4500
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.EventKeyword);
4524
if (explicitInterfaceOpt != null && this.
CurrentToken
.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
4576
if (explicitInterfaceOpt != null && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4603
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4673
if (this.
CurrentToken
.Kind == SyntaxKind.DotToken)
4694
return this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken;
4748
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4752
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
4779
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
4780
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
4932
var currentTokenKind = this.
CurrentToken
.Kind;
4942
currentTokenKind = this.
CurrentToken
.Kind;
4993
switch (this.
CurrentToken
.Kind)
5004
var refKeyword = isLocalOrField && !isConst && this.
CurrentToken
.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
5081
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5117
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or SyntaxKind.LessThanToken);
5125
(this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.EqualsGreaterThanToken ||
5126
this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword))
5136
switch (this.
CurrentToken
.Kind)
5148
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
5155
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.IsPossibleExpression();
5175
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword);
5186
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
5208
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.EnumKeyword);
5223
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
5239
if (
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5284
static p => p.
CurrentToken
.Kind is not SyntaxKind.CommaToken and not SyntaxKind.SemicolonToken && !p.IsPossibleEnumMemberDeclaration(),
5285
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
5300
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5305
this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBraceToken
5315
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken || this.IsTrueIdentifier();
5320
return this.
CurrentToken
.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
5359
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
5399
var ctk = this.
CurrentToken
.Kind;
5411
result = this.AddError(result, ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
5437
if (this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword)
5450
if (this.
CurrentToken
.Kind != SyntaxKind.LessThanToken)
5480
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
5481
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
5492
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken)
5496
if (this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword)
5513
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken)
5523
this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword ? EatToken() : null,
5540
if (this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
5550
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
5575
if (this.
CurrentToken
.Kind != SyntaxKind.LessThanToken)
5625
switch (this.
CurrentToken
.Kind)
5707
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
5717
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
5733
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
5739
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
5822
isDefinitelyTypeArgumentList = this.
CurrentToken
.Kind == SyntaxKind.CommaToken;
5832
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken);
5834
if (this.
CurrentToken
.Kind != SyntaxKind.GreaterThanToken)
5848
isDefinitelyTypeArgumentList = this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
5857
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
5867
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
5884
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
5888
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken || this.IsPossibleType())
5907
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleType(),
5908
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken,
5916
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken)
5932
var varianceToken = this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword
5959
this.
CurrentToken
.Kind is not SyntaxKind.CommaToken and not SyntaxKind.GreaterThanToken &&
5981
=> this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken;
5985
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6023
if (this.
CurrentToken
.Kind == SyntaxKind.ThisKeyword)
6074
if (isEvent && this.
CurrentToken
.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
6145
if (this.
CurrentToken
.Kind == SyntaxKind.DotDotToken)
6153
separator = this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken
6167
if (this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken)
6173
else if (this.
CurrentToken
.Kind == SyntaxKind.DotDotToken)
6202
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
6278
return this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken
6304
return this.IsDotOrColonColon() || this.
CurrentToken
.Kind == SyntaxKind.DotDotToken;
6426
var tk = this.
CurrentToken
.Kind;
6447
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken || !this.IsTrueIdentifier())
6454
if (this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
6469
if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
6474
if (this.
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword)
6481
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken or SyntaxKind.ColonColonToken)
6484
if (this.
CurrentToken
.Kind is SyntaxKind.ColonColonToken)
6498
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken);
6538
else if (IsPredefinedType(this.
CurrentToken
.Kind))
6544
else if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
6549
if (result == ScanTypeFlags.NotType || mode == ParseTypeMode.DefinitePattern && this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
6569
switch (this.
CurrentToken
.Kind)
6611
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6616
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
6649
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6667
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken);
6669
if (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
6691
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
6694
switch (
CurrentToken
)
6709
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
6726
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
6739
if (!IsPossibleFunctionPointerParameterListStart(
CurrentToken
))
6779
if (!validStartingToken &&
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
6793
isNotExpectedFunction: static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
6814
if (this.
CurrentToken
.Kind == SyntaxKind.VoidKeyword && this.PeekToken(1).Kind != SyntaxKind.AsteriskToken)
6839
if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
6843
this.
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword ? this.EatToken() : null,
6887
switch (this.
CurrentToken
.Kind)
6949
while (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken);
6966
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.QuestionToken);
6997
this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or // ctor parameters
7032
while (IsMakingProgress(ref lastTokenPosition) && this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7034
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7047
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7092
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
7096
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7131
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
7132
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken,
7138
if (IsPredefinedType(this.
CurrentToken
.Kind))
7142
if (token.Kind == SyntaxKind.VoidKeyword && this.
CurrentToken
.Kind != SyntaxKind.AsteriskToken)
7151
if (IsTrueIdentifier() || this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken)
7156
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
7179
if (!IsPossibleFunctionPointerParameterListStart(
CurrentToken
))
7222
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
7233
lessThanToken.IsMissing &&
CurrentToken
.Kind == SyntaxKind.CloseParenToken
7248
isNotExpectedFunction: static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
7256
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
7260
switch (
CurrentToken
)
7264
managedSpecifier = EatContextualToken(
CurrentToken
.ContextualKind);
7284
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
7302
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
7332
=>
CurrentToken
.Kind == SyntaxKind.DelegateKeyword && PeekToken(1).Kind == SyntaxKind.AsteriskToken;
7343
while (this.
CurrentToken
.Kind == SyntaxKind.AsteriskToken)
7380
switch (this.
CurrentToken
.Kind)
7471
bool beginsWithAwait = this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword;
7507
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword &&
7548
=>
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword && PeekToken(1).Kind == SyntaxKind.UsingKeyword;
7562
return this.
CurrentToken
.ContextualKind == SyntaxKind.YieldKeyword &&
7572
var tk = this.
CurrentToken
.Kind;
7600
tk = this.
CurrentToken
.ContextualKind;
7620
bool? typedIdentifier = IsPossibleTypedIdentifierStart(this.
CurrentToken
, this.PeekToken(1), allowThisKeyword: false);
7641
var tk = this.
CurrentToken
.ContextualKind;
7685
if (st == ScanTypeFlags.MustBeType && this.
CurrentToken
.Kind is not SyntaxKind.DotToken and not SyntaxKind.OpenParenToken)
7690
if (st == ScanTypeFlags.NotType || this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
7713
if (this.
CurrentToken
.Kind != SyntaxKind.UsingKeyword)
7779
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken)
7800
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
7807
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
7816
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.SemicolonToken;
7834
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
7841
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
7925
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NewKeyword);
8070
CSharpSyntaxNode openBrace = isAccessorBody && this.
CurrentToken
.Kind != SyntaxKind.OpenBraceToken
8151
while (this.
CurrentToken
.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken
8183
return this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
8195
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken,
8203
var tk = this.
CurrentToken
.Kind;
8275
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken;
8338
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.TryKeyword or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
8351
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
8365
if (this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword)
8368
while (this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword)
8374
if (this.
CurrentToken
.Kind == SyntaxKind.FinallyKeyword)
8409
return this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword;
8414
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword);
8421
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
8441
var keywordKind = this.
CurrentToken
.ContextualKind;
8473
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken
8482
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken
8490
return this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken
8497
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.CheckedKeyword or SyntaxKind.UncheckedKeyword);
8514
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DoKeyword);
8538
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken;
8555
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
8576
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
8595
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
8604
isDeclaration = ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
8610
else if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
8647
else if (this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
8655
if (this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
8661
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
8688
return this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken;
8706
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
8710
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
8711
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
8720
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForEachKeyword || this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
8731
if (this.
CurrentToken
.Kind == SyntaxKind.ForKeyword)
8825
if (this.IsInAsync && this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword)
8833
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
8836
if (ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
8883
return this.
CurrentToken
.Kind == SyntaxKind.CommaToken;
8885
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseParenToken;
8898
if (!this.
CurrentToken
.IsIdentifierVar())
8937
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.GotoKeyword);
8945
if (this.
CurrentToken
.Kind is SyntaxKind.CaseKeyword or SyntaxKind.DefaultKeyword)
8970
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IfKeyword);
8984
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ElseKeyword);
8998
return this.
CurrentToken
.Kind != SyntaxKind.ElseKeyword
9007
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LockKeyword);
9019
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ReturnKeyword);
9023
this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken ? this.ParsePossibleRefExpression() : null,
9029
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.YieldKeyword);
9036
if (this.
CurrentToken
.Kind == SyntaxKind.BreakKeyword)
9045
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
9066
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.SwitchKeyword or SyntaxKind.CaseKeyword);
9091
if (this.
CurrentToken
.Kind is SyntaxKind.CaseKeyword)
9136
return this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword ||
9137
(this.
CurrentToken
.Kind == SyntaxKind.DefaultKeyword && this.PeekToken(1).Kind != SyntaxKind.OpenParenToken);
9151
if (this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword)
9155
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
9167
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhenKeyword && node is ExpressionSyntax ex)
9192
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DefaultKeyword);
9214
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ThrowKeyword);
9218
this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken ? this.ParseExpressionCore() : null,
9224
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.UnsafeKeyword);
9293
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
9320
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken &&
9352
bool condition1 = st == ScanTypeFlags.MustBeType && this.
CurrentToken
.Kind != SyntaxKind.DotToken;
9353
bool condition2 = st != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
9361
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.WhileKeyword);
9396
else if (this.
CurrentToken
.Kind == SyntaxKind.UsingKeyword)
9480
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
9486
if (this.
CurrentToken
.Kind is not (SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword))
9492
? this.
CurrentToken
.Kind is not (SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken)
9493
: this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken))
9515
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
9523
done = (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken);
9536
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
9566
return
CurrentToken
.ContextualKind == SyntaxKind.UnderscoreToken
9573
if (this.
CurrentToken
.ContextualKind != SyntaxKind.WhenKeyword)
9636
switch (this.
CurrentToken
.Kind)
9650
while (IsDeclarationModifier(k = this.
CurrentToken
.ContextualKind) || IsAdditionalLocalFunctionModifier(k))
9685
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken);
9691
if (IsDeclarationModifier(this.
CurrentToken
.Kind) ||
9692
IsAdditionalLocalFunctionModifier(this.
CurrentToken
.Kind))
9699
if (ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
9707
while (IsAdditionalLocalFunctionModifier(this.
CurrentToken
.ContextualKind));
9848
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
9891
if (IsScript && this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken)
9935
SyntaxKind tk = this.
CurrentToken
.Kind;
9981
return this.IsTrueIdentifier() || this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword;
10215
return (this.IsScript || this.IsInAsync) && this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword;
10220
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword)
10301
var tk = this.
CurrentToken
.Kind;
10345
else if (this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword && IsInQuery)
10351
skipped = this.AddError(skipped, ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
10379
var tk = this.
CurrentToken
.ContextualKind;
10415
&& NoTriviaBetween(this.
CurrentToken
, this.PeekToken(1))) // check to see if they really are adjacent
10516
if (opKind == SyntaxKind.SimpleAssignmentExpression &&
CurrentToken
.Kind == SyntaxKind.RefKeyword &&
10571
if (
CurrentToken
.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional)
10575
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken && this.lexer.InterpolationFollowedByColon)
10632
var tk = this.
CurrentToken
.Kind;
10668
return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
10693
return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
10762
if (this.
CurrentToken
.Kind != SyntaxKind.DotToken || tk == SyntaxKind.VoidKeyword)
10789
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.BaseKeyword);
10803
if (precedence > Precedence.Assignment || !(this.
CurrentToken
.IsIdentifierVar() || IsPredefinedType(this.
CurrentToken
.Kind)))
10812
this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken && ScanDesignator() &&
10813
this.
CurrentToken
.Kind == SyntaxKind.EqualsToken;
10818
switch (this.
CurrentToken
.Kind)
10837
switch (this.
CurrentToken
.Kind)
10873
switch (this.
CurrentToken
.Kind)
10885
expr = _syntaxFactory.PostfixUnaryExpression(SyntaxFacts.GetPostfixUnaryExpression(this.
CurrentToken
.Kind), expr, this.EatToken());
10920
if (this.
CurrentToken
.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia) &&
10961
Debug.Assert(CanStartConsequenceExpression(this.
CurrentToken
.Kind));
10962
ExpressionSyntax expr = this.
CurrentToken
.Kind switch
10975
while (this.
CurrentToken
.Kind == SyntaxKind.ExclamationToken)
10979
switch (this.
CurrentToken
.Kind)
11065
openToken = this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or SyntaxKind.OpenBracketToken
11072
if (this.
CurrentToken
.Kind != closeKind && this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
11100
else if (isIndexer && this.
CurrentToken
.Kind == closeKind)
11116
closeToken = this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken
11125
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
11129
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleArgumentExpression(),
11130
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
11137
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken;
11142
return IsValidArgumentRefKindKeyword(this.
CurrentToken
.Kind) || this.IsPossibleExpression();
11160
var nameColon = this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.ColonToken
11167
if (IsValidArgumentRefKindKeyword(this.
CurrentToken
.Kind) &&
11169
!(this.
CurrentToken
.Kind == SyntaxKind.RefKeyword &&
11177
if (isIndexer && this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBracketToken)
11181
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
11213
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
11286
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
11385
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
11412
if (IsParameterModifierExcludingScoped(this.
CurrentToken
) || this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
11440
switch (this.
CurrentToken
.Kind)
11456
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
11484
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
11492
if (expression.Kind == SyntaxKind.IdentifierName && this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
11513
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
11518
var argument = expression.Kind != SyntaxKind.IdentifierName || this.
CurrentToken
.Kind != SyntaxKind.ColonToken
11544
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
11557
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
11564
if (forPattern && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
11586
return !forPattern || this.
CurrentToken
.Kind switch
11603
return CanFollowCast(this.
CurrentToken
.Kind);
11634
return this.
CurrentToken
.ContextualKind is SyntaxKind.OrKeyword or SyntaxKind.AndKeyword;
11681
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
11687
if (this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
11692
else if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
11706
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
11716
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
11724
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
11735
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
11744
if (st == ScanTypeFlags.NotType || this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
11761
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
11769
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
11842
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NewKeyword);
11861
return this.
CurrentToken
.Kind == SyntaxKind.NewKeyword && this.PeekToken(1).Kind == SyntaxKind.OpenBraceToken;
11869
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken);
11906
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken;
11916
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken;
11932
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
11942
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
11947
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
11969
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
11980
switch (this.
CurrentToken
.Kind)
12099
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
12100
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
12110
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
12121
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
12149
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.NewKeyword or SyntaxKind.StackAllocKeyword);
12176
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12216
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleVariableInitializer(),
12217
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
12243
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12265
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken ? this.ParseArrayInitializer() : null);
12286
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
12299
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBraceToken)
12330
if (this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
12336
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
12351
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword);
12376
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken &&
12406
if (
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
12413
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
12427
var identifier = (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.EqualsGreaterThanToken)
12459
=>
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
12490
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleLambdaParameter(),
12491
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
12498
switch (this.
CurrentToken
.Kind)
12518
return IsPredefinedType(this.
CurrentToken
.Kind);
12529
if (IsParameterModifierExcludingScoped(this.
CurrentToken
) || this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
12558
if (IsPredefinedType(this.
CurrentToken
.Kind))
12564
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
12574
if (this.IsTrueIdentifier(this.
CurrentToken
))
12602
=> IsTokenQueryContextualKeyword(this.
CurrentToken
);
12644
return this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword &&
12697
return this.ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken or SyntaxKind.InKeyword;
12721
switch (this.
CurrentToken
.ContextualKind)
12745
SelectOrGroupClauseSyntax selectOrGroupBy = this.
CurrentToken
.ContextualKind switch
12757
this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword
12764
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword);
12773
(this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken || SyntaxFacts.IsQueryContextualKeyword(this.
CurrentToken
.ContextualKind)))
12797
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.JoinKeyword);
12810
into: this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword
12817
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.LetKeyword);
12827
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword);
12835
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.OrderByKeyword);
12843
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12845
if (this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
12849
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12870
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
12871
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseParenToken
12872
|| p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
12884
if (this.
CurrentToken
.ContextualKind is SyntaxKind.AscendingKeyword or SyntaxKind.DescendingKeyword)
12898
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.SelectKeyword);
12906
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.GroupKeyword);
12916
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword);
13025
if (requireOneElement || this.
CurrentToken
.Kind != closeTokenKind)
13040
if (this.
CurrentToken
.Kind == closeTokenKind)
13046
nodes.AddSeparator(this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
13053
if (this.
CurrentToken
.Kind == closeTokenKind)
13087
if (this.
CurrentToken
.Kind == separatorTokenKind)
13092
if (allowSemicolonAsSeparator && this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken)
13174
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken) return node;
13176
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
Parser\LanguageParser_InterpolatedString.cs (3)
40
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.InterpolatedStringToken);
408
if (this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
421
var leading = this.
CurrentToken
.GetLeadingTrivia();
Parser\LanguageParser_Patterns.cs (30)
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)
175
var tk = this.
CurrentToken
.Kind;
187
if (
CurrentToken
.ContextualKind == SyntaxKind.UnderscoreToken)
192
switch (
CurrentToken
.Kind)
240
switch (this.
CurrentToken
.Kind)
272
(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken || this.IsValidPatternDesignation(whenIsKeyword)))
281
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken && (type != null || !looksLikeCast()))
356
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
382
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
384
switch (
CurrentToken
.ContextualKind)
470
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
502
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken && ConvertPatternToExpressionIfPossible(pattern, permitTypeArguments: true) is ExpressionSyntax expr)
523
this.
CurrentToken
.Kind is
536
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBraceToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
540
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleSubpatternElement(),
541
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
562
while (this.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken)
568
var errantCase = this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword
586
this.
CurrentToken
.Kind == SyntaxKind.ColonToken
592
if (switchExpressionCase.Width == 0 && this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
596
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken)
598
var commaToken = this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
Parser\SyntaxParser.cs (12)
452
var ct = this.
CurrentToken
;
462
=> this.
CurrentToken
.Kind == kind ? this.EatToken() : null;
489
var ct = this.
CurrentToken
;
497
return CreateMissingToken(kind, this.
CurrentToken
.Kind, reportError: true);
505
var ct = this.
CurrentToken
;
512
var replacement = CreateMissingToken(expected, this.
CurrentToken
.Kind, reportError: true);
548
if (this.
CurrentToken
.Kind != kind)
562
if (this.
CurrentToken
.Kind != kind)
574
var token = this.
CurrentToken
;
596
if (this.
CurrentToken
.ContextualKind != kind)
610
var contextualKind = this.
CurrentToken
.ContextualKind;
700
SyntaxToken ct = this.
CurrentToken
;