711 references to CurrentToken
Microsoft.CodeAnalysis.CSharp (711)
Parser\DirectiveParser.cs (28)
50
SyntaxKind contextualKind = this.
CurrentToken
.ContextualKind;
89
result = (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken) ?
376
switch (this.
CurrentToken
.Kind)
397
if (this.
CurrentToken
.Kind == SyntaxKind.StringLiteralToken &&
398
(line.IsMissing || line.GetTrailingTriviaWidth() > 0 || this.
CurrentToken
.GetLeadingTriviaWidth() > 0)) //require separation between line number and file name
413
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
432
var characterOffset = (
CurrentToken
.Kind == SyntaxKind.NumericLiteralToken) ?
545
SyntaxToken setting = this.
CurrentToken
.Kind switch
553
SyntaxToken target = this.
CurrentToken
.Kind switch
574
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WarningKeyword)
578
if (this.
CurrentToken
.Kind == SyntaxKind.DisableKeyword || this.
CurrentToken
.Kind == SyntaxKind.RestoreKeyword)
583
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfDirectiveToken)
588
if (this.
CurrentToken
.Kind == SyntaxKind.NumericLiteralToken)
600
else if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
621
if (this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
639
else if (this.
CurrentToken
.Kind == SyntaxKind.ChecksumKeyword)
725
if (this.
CurrentToken
.Kind != SyntaxKind.EndOfDirectiveToken &&
726
this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
745
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfDirectiveToken &&
746
this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
753
SyntaxToken endOfDirective = this.
CurrentToken
.Kind == SyntaxKind.EndOfDirectiveToken
774
while (this.
CurrentToken
.Kind == SyntaxKind.BarBarToken)
787
while (this.
CurrentToken
.Kind == SyntaxKind.AmpersandAmpersandToken)
800
while (this.
CurrentToken
.Kind == SyntaxKind.EqualsEqualsToken || this.
CurrentToken
.Kind == SyntaxKind.ExclamationEqualsToken)
812
if (this.
CurrentToken
.Kind == SyntaxKind.ExclamationToken)
823
var k = this.
CurrentToken
.Kind;
Parser\DocumentationCommentParser.cs (76)
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)
328
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
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)
971
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.ThisKeyword);
983
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OperatorKeyword);
989
if (SyntaxFacts.IsAnyOverloadableOperator(
CurrentToken
.Kind))
1002
if (SyntaxFacts.IsUnaryOperatorDeclarationToken(
CurrentToken
.Kind) || SyntaxFacts.IsBinaryExpressionOperatorToken(
CurrentToken
.Kind))
1015
if (operatorToken.Kind == SyntaxKind.GreaterThanToken && LanguageParser.NoTriviaBetween(operatorToken,
CurrentToken
))
1017
if (
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
1021
if (LanguageParser.NoTriviaBetween(operatorToken2,
CurrentToken
) &&
1022
CurrentToken
.Kind is (SyntaxKind.GreaterThanToken or SyntaxKind.GreaterThanEqualsToken))
1058
else if (
CurrentToken
.Kind == SyntaxKind.EqualsToken)
1068
else if (
CurrentToken
.Kind == SyntaxKind.GreaterThanEqualsToken)
1126
if (LanguageParser.NoTriviaBetween(operatorToken,
CurrentToken
) &&
CurrentToken
.Kind == SyntaxKind.EqualsToken)
1148
(isConversion || SyntaxFacts.IsAnyOverloadableOperator(
CurrentToken
.Kind)))
1157
if (
CurrentToken
.Kind == SyntaxKind.UncheckedKeyword)
1174
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.ExplicitKeyword ||
1175
CurrentToken
.Kind == SyntaxKind.ImplicitKeyword);
1212
if (
CurrentToken
.Kind != openKind)
1222
while (
CurrentToken
.Kind == SyntaxKind.CommaToken || IsPossibleCrefParameter())
1226
if (
CurrentToken
.Kind != closeKind)
1237
Debug.Assert(
CurrentToken
.Kind != SyntaxKind.CommaToken);
1262
SyntaxKind kind = this.
CurrentToken
.Kind;
1284
switch (
CurrentToken
.Kind)
1294
if (
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword && refKindOpt is not null)
1321
if (
CurrentToken
.Kind != SyntaxKind.LessThanToken)
1343
var currentKind =
CurrentToken
.Kind;
1345
SyntaxFacts.IsPredefinedType(
CurrentToken
.Kind))
1405
if (SyntaxFacts.IsPredefinedType(
CurrentToken
.Kind))
1414
else if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken && PeekToken(1).Kind == SyntaxKind.ColonColonToken)
1434
if (checkForMember && (leftName.IsMissing ||
CurrentToken
.Kind != SyntaxKind.DotToken))
1446
while (
CurrentToken
.Kind == SyntaxKind.DotToken)
1455
if (checkForMember && (rightName.IsMissing ||
CurrentToken
.Kind != SyntaxKind.DotToken))
1477
if (
CurrentToken
.Kind == SyntaxKind.QuestionToken)
1482
while (
CurrentToken
.Kind == SyntaxKind.AsteriskToken)
1487
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
1493
while (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
1499
while (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
1501
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
1551
switch (
CurrentToken
.Kind)
1563
return
CurrentToken
.Text == SyntaxFacts.GetText(SyntaxKind.LessThanToken) ||
1564
IsNonAsciiQuotationMark(
CurrentToken
);
1619
switch (
CurrentToken
.Kind)
1631
return
CurrentToken
.Text == SyntaxFacts.GetText(SyntaxKind.LessThanToken) ||
1632
IsNonAsciiQuotationMark(
CurrentToken
);
Parser\LanguageParser.cs (563)
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)
862
switch (this.
CurrentToken
.Kind)
871
return IsPossibleStartOfTypeDeclaration(this.
CurrentToken
.Kind);
877
if (this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword)
894
return this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken;
919
return this.
CurrentToken
.Kind == SyntaxKind.ExternKeyword
932
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ExternKeyword);
956
var globalToken = this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword
960
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.UsingKeyword);
967
if (staticToken is null && unsafeToken != null && this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
979
var isAliasToFunctionPointer = alias != null && this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword;
998
type = WithAdditionalDiagnostics(CreateMissingIdentifierName(), GetExpectedTokenError(SyntaxKind.IdentifierToken, this.
CurrentToken
.Kind));
1021
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken
1041
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
1059
if (SyntaxFacts.IsLiteralExpression(this.
CurrentToken
.Kind))
1103
return this.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken
1108
=> IsSomeWord(this.
CurrentToken
.Kind) && this.PeekToken(1).Kind == SyntaxKind.ColonToken;
1153
if (this.
CurrentToken
.Kind == SyntaxKind.DotToken)
1159
if (this.
CurrentToken
.Kind == SyntaxKind.MinusGreaterThanToken)
1164
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken &&
1207
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
1267
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
1358
var newMod = GetModifierExcludingScoped(this.
CurrentToken
);
1495
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None);
1514
(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword))
1531
var currentTokenKind = this.
CurrentToken
.Kind;
1553
var currentTokenKind = this.
CurrentToken
.Kind;
1571
if (SyntaxFacts.IsPredefinedType(this.
CurrentToken
.Kind))
1578
if (IsNonContextualModifier(this.
CurrentToken
))
1613
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword);
1637
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword);
1670
switch (this.
CurrentToken
.Kind)
1673
if (this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
1693
switch (this.
CurrentToken
.Kind)
1711
Debug.Assert(
CurrentToken
.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword);
1715
throw ExceptionUtilities.UnexpectedValue(this.
CurrentToken
.Kind);
1721
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword or SyntaxKind.InterfaceKeyword ||
1722
this.
CurrentToken
.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword);
1743
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
1756
var paramList =
CurrentToken
.Kind == SyntaxKind.OpenParenToken || isExtension
1768
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
1779
if (
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
1803
SyntaxKind kind = this.
CurrentToken
.Kind;
1841
closeBrace = WithAdditionalDiagnostics(closeBrace, this.GetExpectedTokenError(SyntaxKind.CloseBraceToken, this.
CurrentToken
.Kind));
1868
if (this.
CurrentToken
.ContextualKind == SyntaxKind.RecordKeyword)
1871
recordModifier = this.
CurrentToken
.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword
1878
if (this.
CurrentToken
.Kind is SyntaxKind.StructKeyword or SyntaxKind.ClassKeyword &&
2032
SyntaxKind kind = this.
CurrentToken
.Kind;
2080
return this.IsPossibleMemberStart() || this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken;
2085
return this.
CurrentToken
.Kind is SyntaxKind.ColonToken or SyntaxKind.OpenBraceToken
2102
list.Add(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken
2109
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken ||
2115
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
2129
if (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None)
2161
this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword &&
2168
while (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
2186
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.IsCurrentTokenWhereOfConstraintClause())
2200
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
2201
|| ((_termState & TerminatorState.IsEndOfTypeSignature) != 0 && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
2202
|| this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
2203
|| this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
2207
else if (haveComma = (this.
CurrentToken
.Kind == SyntaxKind.CommaToken) || this.IsPossibleTypeParameterConstraint())
2255
switch (this.
CurrentToken
.Kind)
2264
return (this.
CurrentToken
.ContextualKind == SyntaxKind.AllowsKeyword && PeekToken(1).Kind == SyntaxKind.RefKeyword) || this.IsTrueIdentifier();
2266
return IsPredefinedType(this.
CurrentToken
.Kind);
2272
return this.
CurrentToken
.Kind switch
2284
this.
CurrentToken
.Kind == SyntaxKind.QuestionToken
2316
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AllowsKeyword &&
2330
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken && PeekToken(1).Kind == SyntaxKind.RefKeyword)
2348
return CanStartMember(this.
CurrentToken
.Kind);
2409
switch (this.
CurrentToken
.Kind)
2419
if (
CurrentToken
.ContextualKind == SyntaxKind.RecordKeyword)
2561
switch (this.
CurrentToken
.Kind)
2607
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken)
2641
if (this.
CurrentToken
.Kind == SyntaxKind.ConstKeyword)
2654
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
2660
if (this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword)
2672
if (this.
CurrentToken
.Kind == SyntaxKind.NamespaceKeyword)
2694
if (this.
CurrentToken
.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken &&
2939
if (
CurrentToken
.Kind == SyntaxKind.UsingKeyword)
2944
if (
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
2959
if (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None &&
2960
this.
CurrentToken
.ContextualKind is not (SyntaxKind.PartialKeyword or SyntaxKind.AsyncKeyword or SyntaxKind.RequiredKeyword or SyntaxKind.FileKeyword) &&
2963
var misplacedModifier = this.
CurrentToken
;
3007
incompleteMember.FullWidth + this.
CurrentToken
.GetLeadingTriviaWidth(),
3008
this.
CurrentToken
.Width,
3010
this.
CurrentToken
.Text);
3027
|| this.
CurrentToken
.Kind is not SyntaxKind.OpenParenToken and not SyntaxKind.OpenBraceToken and not SyntaxKind.EqualsGreaterThanToken) &&
3055
if (IsStartOfPropertyBody(this.
CurrentToken
.Kind) ||
3056
(this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken && IsStartOfPropertyBody(this.PeekToken(1).Kind)))
3114
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken)
3120
if (this.
CurrentToken
.Kind == SyntaxKind.TildeToken)
3126
if (this.
CurrentToken
.Kind == SyntaxKind.ConstKeyword)
3132
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
3138
if (this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword)
3244
return this.
CurrentToken
.ContextualKind == SyntaxKind.ExtensionKeyword && IsFeatureEnabled(MessageID.IDS_FeatureExtensions);
3275
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
3280
if (this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
3320
return this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword or SyntaxKind.OperatorKeyword;
3362
var initializer = this.
CurrentToken
.Kind == SyntaxKind.ColonToken
3381
var kind = this.
CurrentToken
.Kind == SyntaxKind.BaseKeyword
3386
if (this.
CurrentToken
.Kind is SyntaxKind.BaseKeyword or SyntaxKind.ThisKeyword)
3398
var argumentList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken
3410
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.TildeToken);
3436
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3444
blockBody = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
3448
expressionBody = this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
3459
else if (parseSemicolonAfterBlock && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3471
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
3477
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
3483
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
3499
=> this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3503
return this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3507
=> this.
CurrentToken
.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
3510
=> this.
CurrentToken
.Kind == (errored ? SyntaxKind.CloseParenToken : SyntaxKind.GreaterThanToken);
3513
=> this.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken;
3530
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
3535
else if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
3538
var colonToken = this.
CurrentToken
;
3588
switch (this.
CurrentToken
.Kind)
3607
if (this.
CurrentToken
.Kind is not (SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword))
3611
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
3621
if (this.
CurrentToken
.Kind == SyntaxKind.OperatorKeyword)
3635
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken))
3641
separatorKind = this.
CurrentToken
.Kind;
3663
if (this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword ||
3685
var style = this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword
3695
if (!style.IsMissing && explicitInterfaceOpt is not null && this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword && style.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia))
3727
bool couldBeParameterList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken;
3732
this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
3763
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
3780
if (this.
CurrentToken
.Kind == SyntaxKind.OperatorKeyword)
3790
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken);
3829
if (
CurrentToken
.Kind == SyntaxKind.UncheckedKeyword)
3848
var firstToken = this.
CurrentToken
;
3881
if (SyntaxFacts.IsAnyOverloadableOperator(this.
CurrentToken
.Kind))
3890
if (this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword)
3925
var tk = this.
CurrentToken
;
3932
tk = this.
CurrentToken
;
4064
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
4072
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4081
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
4116
if (this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken)
4122
Debug.Assert(IsStartOfPropertyBody(this.
CurrentToken
.Kind));
4124
var accessorList = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
4132
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
4140
else if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
4152
else if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4206
if (this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken)
4241
var refKeyword = this.
CurrentToken
.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
4259
return this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken
4261
|| SyntaxFacts.GetAccessorDeclarationKind(this.
CurrentToken
.ContextualKind) != SyntaxKind.None
4262
|| this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken // for accessor blocks w/ missing keyword
4263
|| this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken // for empty body accessors w/ missing keyword
4285
if (GetModifierExcludingScoped(this.
CurrentToken
) == DeclarationModifiers.None)
4433
var token = (first && !this.
CurrentToken
.ContainsDiagnostics) ? this.EatTokenWithPrejudice(expected) : this.EatToken();
4459
var token = (first && !this.
CurrentToken
.ContainsDiagnostics) ? this.EatTokenWithPrejudice(errorCode) : this.EatToken();
4515
bool currentTokenIsSemicolon = this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken;
4516
bool currentTokenIsArrow = this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken;
4517
bool currentTokenIsOpenBraceToken = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken;
4708
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken;
4713
switch (this.
CurrentToken
.Kind)
4725
return IsParameterModifierExcludingScoped(this.
CurrentToken
) || IsPossibleScopedKeyword(isFunctionPointerParameter: false) || IsPredefinedType(this.
CurrentToken
.Kind);
4785
if (this.
CurrentToken
.Kind == SyntaxKind.ArgListKeyword)
4796
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && IsCurrentTokenWhereOfConstraintClause())
4803
identifier = allowOptionalIdentifier && this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken
4809
if (identifier is not null && this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind is SyntaxKind.CloseBracketToken)
4854
while (IsParameterModifierExcludingScoped(this.
CurrentToken
))
4856
if (this.
CurrentToken
.Kind is SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword or SyntaxKind.ReadOnlyKeyword)
4873
while (this.
CurrentToken
.Kind is SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword or SyntaxKind.ReadOnlyKeyword)
4886
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword);
4904
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.EventKeyword);
4928
if (explicitInterfaceOpt != null && this.
CurrentToken
.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
4980
if (explicitInterfaceOpt != null && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5007
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5060
if (this.
CurrentToken
.Kind == SyntaxKind.DotToken)
5076
return this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken;
5141
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5145
else if (stopOnCloseParen && this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
5149
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
5354
var currentTokenKind = this.
CurrentToken
.Kind;
5364
currentTokenKind = this.
CurrentToken
.Kind;
5415
switch (this.
CurrentToken
.Kind)
5426
var refKeyword = isLocalOrField && !isConst && this.
CurrentToken
.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
5503
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5539
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or SyntaxKind.LessThanToken);
5547
(this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.EqualsGreaterThanToken ||
5548
this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword))
5558
switch (this.
CurrentToken
.Kind)
5570
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
5577
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.IsPossibleExpression();
5596
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword);
5607
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
5629
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.EnumKeyword);
5644
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
5660
if (
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5721
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5726
this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBraceToken
5736
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken || this.IsTrueIdentifier();
5741
return this.
CurrentToken
.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
5780
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
5820
var ctk = this.
CurrentToken
.Kind;
5832
result = this.AddError(result, ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
5858
if (this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword)
5871
return
CurrentToken
.ContextualKind == SyntaxKind.FieldKeyword &&
5878
if (this.
CurrentToken
.Kind != SyntaxKind.LessThanToken)
5920
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken)
5924
if (this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword)
5941
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken)
5951
this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword ? EatToken() : null,
5968
if (this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
5978
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6003
if (this.
CurrentToken
.Kind != SyntaxKind.LessThanToken)
6053
switch (this.
CurrentToken
.Kind)
6135
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6145
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6162
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
6168
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
6177
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6212
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
6239
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
6261
isDefinitelyTypeArgumentList = this.
CurrentToken
.Kind == SyntaxKind.CommaToken;
6279
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken);
6281
if (this.
CurrentToken
.Kind != SyntaxKind.GreaterThanToken)
6287
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken)
6296
if (lastScannedType is ScanTypeFlags.TupleType && this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken)
6309
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken;
6321
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6331
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6348
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
6355
if (tokenBreaksTypeArgumentList(this.
CurrentToken
))
6364
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken && tokenBreaksTypeArgumentList(this.PeekToken(1)))
6373
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken
6379
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken || this.IsPossibleType())
6458
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken)
6474
var varianceToken = this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword
6501
this.
CurrentToken
.Kind is not SyntaxKind.CommaToken and not SyntaxKind.GreaterThanToken &&
6523
=> this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken;
6527
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6565
if (this.
CurrentToken
.Kind == SyntaxKind.ThisKeyword)
6616
if (isEvent && this.
CurrentToken
.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
6687
separator = this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken
6700
if (this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken)
6729
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
6805
return this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken
6935
var tk = this.
CurrentToken
.Kind;
6956
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken || !this.IsTrueIdentifier())
6963
if (this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
6978
if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
6983
if (this.
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword)
6990
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken or SyntaxKind.ColonColonToken)
6993
if (this.
CurrentToken
.Kind is SyntaxKind.ColonColonToken)
7007
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken);
7047
else if (IsPredefinedType(this.
CurrentToken
.Kind))
7053
else if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
7058
if (result == ScanTypeFlags.NotType || mode == ParseTypeMode.DefinitePattern && this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
7078
switch (this.
CurrentToken
.Kind)
7119
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7124
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7157
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7175
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken);
7177
if (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
7199
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
7202
switch (
CurrentToken
)
7217
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
7234
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
7247
if (!IsPossibleFunctionPointerParameterListStart(
CurrentToken
))
7287
if (!validStartingToken &&
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
7301
isNotExpectedFunction: static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
7322
if (this.
CurrentToken
.Kind == SyntaxKind.VoidKeyword && this.PeekToken(1).Kind != SyntaxKind.AsteriskToken)
7347
if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
7351
this.
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword ? this.EatToken() : null,
7395
switch (this.
CurrentToken
.Kind)
7443
while (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken);
7464
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.QuestionToken);
7487
if (mode == ParseTypeMode.AfterIs && this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken)
7514
return this.
CurrentToken
.Kind != SyntaxKind.ColonToken;
7541
if (IsTrueIdentifier(this.
CurrentToken
))
7550
if (this.
CurrentToken
.ContextualKind is SyntaxKind.AsyncKeyword or SyntaxKind.AwaitKeyword or SyntaxKind.FromKeyword)
7604
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken)
7613
this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or // ctor parameters
7648
while (IsMakingProgress(ref lastTokenPosition) && this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7650
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7663
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7708
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
7712
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7754
if (IsPredefinedType(this.
CurrentToken
.Kind))
7758
if (token.Kind == SyntaxKind.VoidKeyword && this.
CurrentToken
.Kind != SyntaxKind.AsteriskToken)
7767
if (IsTrueIdentifier() || this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken)
7772
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
7795
if (!IsPossibleFunctionPointerParameterListStart(
CurrentToken
))
7838
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
7849
lessThanToken.IsMissing &&
CurrentToken
.Kind == SyntaxKind.CloseParenToken
7872
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
7876
switch (
CurrentToken
)
7880
managedSpecifier = EatContextualToken(
CurrentToken
.ContextualKind);
7900
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
7918
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
7948
=>
CurrentToken
.Kind == SyntaxKind.DelegateKeyword && PeekToken(1).Kind == SyntaxKind.AsteriskToken;
7959
while (this.
CurrentToken
.Kind == SyntaxKind.AsteriskToken)
7979
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
7993
while (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
8003
var isCollectionExpression = this.
CurrentToken
.Kind
8016
|| IsExpectedBinaryOperator(this.
CurrentToken
.Kind)
8017
|| IsExpectedAssignmentOperator(this.
CurrentToken
.Kind)
8018
|| (this.
CurrentToken
.ContextualKind is SyntaxKind.SwitchKeyword or SyntaxKind.WithKeyword && this.PeekToken(1).Kind is SyntaxKind.OpenBraceToken);
8022
this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
8081
switch (this.
CurrentToken
.Kind)
8177
bool beginsWithAwait = this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword;
8213
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword &&
8254
=>
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword && PeekToken(1).Kind == SyntaxKind.UsingKeyword;
8268
return this.
CurrentToken
.ContextualKind == SyntaxKind.YieldKeyword &&
8278
var tk = this.
CurrentToken
.Kind;
8306
tk = this.
CurrentToken
.ContextualKind;
8327
bool? typedIdentifier = IsPossibleTypedIdentifierStart(this.
CurrentToken
, this.PeekToken(1), allowThisKeyword: false);
8348
var tk = this.
CurrentToken
.ContextualKind;
8392
if (st == ScanTypeFlags.MustBeType && this.
CurrentToken
.Kind is not SyntaxKind.DotToken and not SyntaxKind.OpenParenToken)
8397
if (st == ScanTypeFlags.NotType || this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
8420
if (this.
CurrentToken
.Kind != SyntaxKind.UsingKeyword)
8486
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken)
8507
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
8514
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
8523
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.SemicolonToken;
8541
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
8548
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
8632
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NewKeyword);
8777
CSharpSyntaxNode openBrace = isAccessorBody && this.
CurrentToken
.Kind != SyntaxKind.OpenBraceToken
8858
while (this.
CurrentToken
.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken
8890
return this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
8902
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken,
8910
var tk = this.
CurrentToken
.Kind;
8974
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken;
9037
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.TryKeyword or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
9050
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
9064
if (this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword)
9067
while (this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword)
9073
if (this.
CurrentToken
.Kind == SyntaxKind.FinallyKeyword)
9108
return this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword;
9113
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword);
9120
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
9140
var keywordKind = this.
CurrentToken
.ContextualKind;
9172
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken
9181
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken
9189
return this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken
9196
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.CheckedKeyword or SyntaxKind.UncheckedKeyword);
9213
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DoKeyword);
9237
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken;
9254
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9275
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9285
var condition = this.
CurrentToken
.Kind is not SyntaxKind.SemicolonToken and not SyntaxKind.CommaToken
9294
var incrementors = this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken
9323
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
9332
isDeclaration = ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
9336
else if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
9353
else if (this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
9368
=> this.
CurrentToken
.Kind is SyntaxKind.CommaToken
9376
while (this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CommaToken)
9400
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
9412
return this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken;
9419
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForEachKeyword || this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9430
if (this.
CurrentToken
.Kind == SyntaxKind.ForKeyword)
9524
if (this.IsInAsync && this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword)
9532
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
9535
if (ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
9582
return this.
CurrentToken
.Kind == SyntaxKind.CommaToken;
9584
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseParenToken;
9597
if (!this.
CurrentToken
.IsIdentifierVar())
9636
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.GotoKeyword);
9644
if (this.
CurrentToken
.Kind is SyntaxKind.CaseKeyword or SyntaxKind.DefaultKeyword)
9669
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IfKeyword);
9682
var elseKeyword = this.
CurrentToken
.Kind != SyntaxKind.ElseKeyword ?
9693
if (this.
CurrentToken
.Kind != SyntaxKind.IfKeyword)
9734
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ElseKeyword);
9748
return this.
CurrentToken
.Kind != SyntaxKind.ElseKeyword
9757
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LockKeyword);
9769
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ReturnKeyword);
9773
this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken ? this.ParsePossibleRefExpression() : null,
9779
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.YieldKeyword);
9786
if (this.
CurrentToken
.Kind == SyntaxKind.BreakKeyword)
9795
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
9816
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.SwitchKeyword or SyntaxKind.CaseKeyword);
9841
if (this.
CurrentToken
.Kind is SyntaxKind.CaseKeyword)
9886
return this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword ||
9887
(this.
CurrentToken
.Kind == SyntaxKind.DefaultKeyword && this.PeekToken(1).Kind != SyntaxKind.OpenParenToken);
9901
if (this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword)
9905
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
9917
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhenKeyword && node is ExpressionSyntax ex)
9942
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DefaultKeyword);
9964
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ThrowKeyword);
9968
this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken ? this.ParseExpressionCore() : null,
9974
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.UnsafeKeyword);
10042
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
10069
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken &&
10101
bool condition1 = st == ScanTypeFlags.MustBeType && this.
CurrentToken
.Kind != SyntaxKind.DotToken;
10102
bool condition2 = st != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
10110
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.WhileKeyword);
10145
else if (this.
CurrentToken
.Kind == SyntaxKind.UsingKeyword)
10241
if (this.
CurrentToken
.ContextualKind != SyntaxKind.ScopedKeyword)
10253
if (this.
CurrentToken
.Kind is (SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword))
10282
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
10284
else if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
10300
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
10308
done = (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken);
10321
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
10351
return
CurrentToken
.ContextualKind == SyntaxKind.UnderscoreToken
10358
if (this.
CurrentToken
.ContextualKind != SyntaxKind.WhenKeyword)
10442
switch (this.
CurrentToken
.Kind)
10455
while (IsDeclarationModifier(k = this.
CurrentToken
.ContextualKind) || IsAdditionalLocalFunctionModifier(k))
10494
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken);
10500
if (IsDeclarationModifier(this.
CurrentToken
.Kind) ||
10501
IsAdditionalLocalFunctionModifier(this.
CurrentToken
.Kind))
10508
if (ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
10516
while (IsAdditionalLocalFunctionModifier(this.
CurrentToken
.ContextualKind));
10657
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
10700
if (IsScript && this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken)
10744
SyntaxKind tk = this.
CurrentToken
.Kind;
10790
return this.IsTrueIdentifier() || this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword;
11026
return (this.IsScript || this.IsInAsync) && this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword;
11031
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword)
11109
var tk = this.
CurrentToken
.Kind;
11151
if (this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword && IsInQuery)
11158
this.AddError(this.EatToken(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text));
11205
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional)
11303
if (this.
CurrentToken
.Kind != SyntaxKind.ColonToken &&
11318
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
11330
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken && this.lexer.InterpolationFollowedByColon)
11389
var token1 = this.
CurrentToken
;
11491
if (operatorExpressionKind == SyntaxKind.SimpleAssignmentExpression &&
CurrentToken
.Kind == SyntaxKind.RefKeyword &&
11511
if (this.
CurrentToken
.Kind != SyntaxKind.DotToken)
11515
return nextToken.Kind == SyntaxKind.DotToken && NoTriviaBetween(this.
CurrentToken
, nextToken);
11533
if (this.
CurrentToken
is { Kind: SyntaxKind.DotToken } token3 &&
11603
var tk = this.
CurrentToken
.Kind;
11639
return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
11668
return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
11735
if (this.
CurrentToken
.Kind != SyntaxKind.DotToken || tk == SyntaxKind.VoidKeyword)
11770
switch (this.
CurrentToken
.Kind)
11782
expr = _syntaxFactory.PostfixUnaryExpression(SyntaxFacts.GetPostfixUnaryExpression(this.
CurrentToken
.Kind), expr, this.EatToken());
11817
if (this.
CurrentToken
.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia) &&
11851
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.BaseKeyword);
11865
if (precedence > Precedence.Assignment || !(this.
CurrentToken
.IsIdentifierVar() || IsPredefinedType(this.
CurrentToken
.Kind)))
11874
this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken && ScanDesignator() &&
11875
this.
CurrentToken
.Kind == SyntaxKind.EqualsToken;
11880
switch (this.
CurrentToken
.Kind)
11899
switch (this.
CurrentToken
.Kind)
11973
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken)
12012
return this.
CurrentToken
.Kind != SyntaxKind.ColonToken;
12025
while (this.
CurrentToken
.Kind == SyntaxKind.ExclamationToken)
12061
=> this.
CurrentToken
.Kind switch
12120
openToken = this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or SyntaxKind.OpenBracketToken
12127
if (this.
CurrentToken
.Kind != closeKind && this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
12155
else if (isIndexer && this.
CurrentToken
.Kind == closeKind)
12171
closeToken = this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken
12180
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
12192
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken;
12197
return IsValidArgumentRefKindKeyword(this.
CurrentToken
.Kind) || this.IsPossibleExpression();
12215
var nameColon = this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.ColonToken
12222
if (IsValidArgumentRefKindKeyword(this.
CurrentToken
.Kind) &&
12224
!(this.
CurrentToken
.Kind == SyntaxKind.RefKeyword &&
12232
if (isIndexer && this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBracketToken)
12236
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12268
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
12346
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12377
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12403
if (IsParameterModifierIncludingScoped(this.
CurrentToken
))
12429
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
12437
switch (this.
CurrentToken
.Kind)
12453
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12481
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12489
if (expression.Kind == SyntaxKind.IdentifierName && this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
12510
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12515
var argument = expression.Kind != SyntaxKind.IdentifierName || this.
CurrentToken
.Kind != SyntaxKind.ColonToken
12541
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
12554
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
12561
if (forPattern && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
12583
return !forPattern || this.
CurrentToken
.Kind switch
12608
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken || CanFollowCast(this.
CurrentToken
.Kind);
12614
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken &&
12623
return CanFollowCast(this.
CurrentToken
.Kind);
12654
return this.
CurrentToken
.ContextualKind is SyntaxKind.OrKeyword or SyntaxKind.AndKeyword;
12683
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
12699
if (this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
12704
else if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
12718
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
12728
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
12736
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
12747
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
12756
if (st == ScanTypeFlags.NotType || this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
12773
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
12781
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
12853
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NewKeyword);
12872
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken);
12913
return this.
CurrentToken
.Kind == SyntaxKind.NewKeyword && this.PeekToken(1).Kind == SyntaxKind.OpenBraceToken;
12921
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken);
12958
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken;
12968
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken;
12984
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
12994
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
12999
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
13021
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13032
switch (this.
CurrentToken
.Kind)
13162
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13173
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13201
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.NewKeyword or SyntaxKind.StackAllocKeyword);
13228
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13295
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13317
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken ? this.ParseArrayInitializer() : null);
13345
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13358
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBraceToken)
13389
if (this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
13395
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13410
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword);
13435
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken &&
13472
if (
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13479
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13492
var identifier = (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.EqualsGreaterThanToken)
13509
=>
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13548
switch (this.
CurrentToken
.Kind)
13566
return IsPredefinedType(this.
CurrentToken
.Kind);
13577
if (IsParameterModifierIncludingScoped(this.
CurrentToken
))
13604
if (IsPredefinedType(this.
CurrentToken
.Kind))
13610
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13620
if (this.IsTrueIdentifier(this.
CurrentToken
))
13647
=> IsTokenQueryContextualKeyword(this.
CurrentToken
);
13689
return this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword &&
13742
return this.ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken or SyntaxKind.InKeyword;
13767
switch (this.
CurrentToken
.ContextualKind)
13791
SelectOrGroupClauseSyntax selectOrGroupBy = this.
CurrentToken
.ContextualKind switch
13803
this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword
13810
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword);
13819
(this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken || SyntaxFacts.IsQueryContextualKeyword(this.
CurrentToken
.ContextualKind)))
13843
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.JoinKeyword);
13856
into: this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword
13863
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.LetKeyword);
13873
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword);
13881
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.OrderByKeyword);
13889
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13891
if (this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
13895
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13930
if (this.
CurrentToken
.ContextualKind is SyntaxKind.AscendingKeyword or SyntaxKind.DescendingKeyword)
13944
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.SelectKeyword);
13952
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.GroupKeyword);
13962
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword);
14093
if (requireOneElement || this.
CurrentToken
.Kind != closeTokenKind)
14110
if (this.
CurrentToken
.Kind == closeTokenKind)
14116
nodes.AddSeparator(this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
14123
if (this.
CurrentToken
.Kind == closeTokenKind)
14158
if (this.
CurrentToken
.Kind == separatorTokenKind)
14163
if (allowSemicolonAsSeparator && this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken)
14252
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken) return node;
14254
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
Parser\LanguageParser_InterpolatedString.cs (3)
40
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.InterpolatedStringToken);
410
if (this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
423
var leading = this.
CurrentToken
.GetLeadingTrivia();
Parser\LanguageParser_Patterns.cs (29)
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)
244
switch (this.
CurrentToken
.Kind)
276
(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken || this.IsValidPatternDesignation(inSwitchArmPattern)))
285
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken && (type != null || !looksLikeCast()))
360
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
386
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
388
switch (
CurrentToken
.ContextualKind)
477
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
509
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken && ConvertPatternToExpressionIfPossible(pattern, permitTypeArguments: true) is ExpressionSyntax expr)
530
this.
CurrentToken
.Kind is
543
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBraceToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
550
if (@this._termState.HasFlag(TerminatorState.IsExpressionOrPatternInCaseLabelOfSwitchStatement) && @this.
CurrentToken
.Kind is SyntaxKind.ColonToken)
559
if (@this._termState.HasFlag(TerminatorState.IsPatternInSwitchExpressionArm) && @this.
CurrentToken
.Kind is SyntaxKind.EqualsGreaterThanToken or SyntaxKind.ColonToken)
584
while (this.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken)
590
var errantCase = this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword
609
this.
CurrentToken
.Kind == SyntaxKind.ColonToken
615
if (errantCase is null && switchExpressionCase.FullWidth == 0 && this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
622
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken)
624
var commaToken = this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
Parser\SyntaxParser.cs (12)
488
var ct = this.
CurrentToken
;
498
=> this.
CurrentToken
.Kind == kind ? this.EatToken() : null;
525
var ct = this.
CurrentToken
;
533
return CreateMissingToken(kind, this.
CurrentToken
.Kind, reportError: true);
541
var ct = this.
CurrentToken
;
548
var replacement = CreateMissingToken(expected, this.
CurrentToken
.Kind, reportError: true);
584
if (this.
CurrentToken
.Kind != kind)
598
if (this.
CurrentToken
.Kind != kind)
610
var token = this.
CurrentToken
;
632
if (this.
CurrentToken
.ContextualKind != kind)
646
var contextualKind = this.
CurrentToken
.ContextualKind;
736
SyntaxToken ct = this.
CurrentToken
;