846 references to Kind
Microsoft.CodeAnalysis.CSharp (846)
Declarations\DeclarationTreeBuilder.cs (4)
1072
if (member.
Kind
== SyntaxKind.MethodDeclaration)
1099
switch (member.
Kind
)
1150
switch (member.
Kind
)
1248
switch (member.
Kind
)
Parser\DirectiveParser.cs (31)
89
result = (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken) ?
257
if (keyword.
Kind
== SyntaxKind.DefineKeyword)
292
bool isError = keyword.
Kind
== SyntaxKind.ErrorKeyword;
306
if (t.
Kind
== SyntaxKind.WhitespaceTrivia)
376
switch (this.CurrentToken.
Kind
)
385
if (isActive && !line.IsMissing && line.
Kind
== SyntaxKind.NumericLiteralToken)
397
if (this.CurrentToken.
Kind
== SyntaxKind.StringLiteralToken &&
413
Debug.Assert(CurrentToken.
Kind
== SyntaxKind.OpenParenToken);
432
var characterOffset = (CurrentToken.
Kind
== SyntaxKind.NumericLiteralToken) ?
486
else if (token.
Kind
== SyntaxKind.NumericLiteralToken)
545
SyntaxToken setting = this.CurrentToken.
Kind
switch
553
SyntaxToken target = this.CurrentToken.
Kind
switch
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)
804
left = SyntaxFactory.BinaryExpression(SyntaxFacts.GetBinaryExpression(op.
Kind
), left, op, right);
812
if (this.CurrentToken.
Kind
== SyntaxKind.ExclamationToken)
823
var k = this.CurrentToken.
Kind
;
Parser\DocumentationCommentParser.cs (81)
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
533
if ((current.
Kind
== SyntaxKind.XmlTextLiteralToken || current.
Kind
== SyntaxKind.XmlEntityLiteralToken) &&
534
current.ValueText != SyntaxFacts.GetText(openQuote.
Kind
) &&
540
if ((current.
Kind
== SyntaxKind.XmlTextLiteralToken || current.
Kind
== SyntaxKind.XmlEntityLiteralToken) &&
556
SyntaxKind quoteKind = startQuote.
Kind
;
574
SyntaxKind quoteKind = startQuote.
Kind
;
592
SyntaxKind quoteKind = startQuote.
Kind
;
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)
612
if (token.
Kind
== SyntaxKind.LessThanToken)
636
var quoteKind = this.CurrentToken.
Kind
== SyntaxKind.SingleQuoteToken
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)
730
if (token.
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)
1022
CurrentToken.
Kind
is (SyntaxKind.GreaterThanToken or SyntaxKind.GreaterThanEqualsToken))
1026
if (operatorToken3.
Kind
== SyntaxKind.GreaterThanToken)
1058
else if (CurrentToken.
Kind
== SyntaxKind.EqualsToken)
1068
else if (CurrentToken.
Kind
== SyntaxKind.GreaterThanEqualsToken)
1081
switch (operatorToken.
Kind
)
1118
Debug.Assert(SyntaxFacts.IsAnyOverloadableOperator(operatorToken.
Kind
));
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)
1296
if (refKindOpt.
Kind
!= SyntaxKind.RefKeyword)
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
)
1619
switch (CurrentToken.
Kind
)
Parser\LanguageParser.cs (647)
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
)
661
if (isGlobal && (this.PeekToken(1).
Kind
== SyntaxKind.OpenParenToken || (!IsScript && IsPossibleTopLevelUsingLocalDeclarationStatement())))
675
if (this.CurrentToken.ContextualKind != SyntaxKind.GlobalKeyword || this.PeekToken(1).
Kind
!= SyntaxKind.UsingKeyword)
862
switch (this.CurrentToken.
Kind
)
871
return IsPossibleStartOfTypeDeclaration(this.CurrentToken.
Kind
);
883
else if (this.PeekToken(1).
Kind
== SyntaxKind.NamespaceKeyword)
894
return this.CurrentToken.
Kind
== SyntaxKind.CloseBraceToken;
919
return this.CurrentToken.
Kind
== SyntaxKind.ExternKeyword
920
&& this.PeekToken(1) is {
Kind
: SyntaxKind.IdentifierToken, ContextualKind: SyntaxKind.AliasKeyword }
921
&& this.PeekToken(2).
Kind
== SyntaxKind.IdentifierToken
922
&& this.PeekToken(3).
Kind
== SyntaxKind.SemicolonToken;
932
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.ExternKeyword);
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
));
1010
if (type.IsMissing && this.PeekToken(1).
Kind
== SyntaxKind.SemicolonToken)
1021
return this.CurrentToken.
Kind
== SyntaxKind.OpenBracketToken
1023
&& this.PeekToken(2).
Kind
== SyntaxKind.ColonToken;
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 &&
1165
this.PeekToken(1).
Kind
== SyntaxKind.DotToken)
1207
if (this.CurrentToken.
Kind
!= SyntaxKind.OpenParenToken)
1267
if (this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken)
1269
switch (this.PeekToken(1).
Kind
)
1291
=> GetModifierExcludingScoped(token.
Kind
, token.ContextualKind);
1387
else if (nextToken.
Kind
== SyntaxKind.NamespaceKeyword)
1393
nextToken.
Kind
is SyntaxKind.EnumKeyword or SyntaxKind.DelegateKeyword ||
1394
(IsPossibleStartOfTypeDeclaration(nextToken.
Kind
) && GetModifierExcludingScoped(nextToken) != DeclarationModifiers.None))
1469
Debug.Assert(modTok.
Kind
is not (SyntaxKind.OutKeyword or SyntaxKind.InKeyword));
1475
if (token.
Kind
== SyntaxKind.StructKeyword)
1495
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken && GetModifierExcludingScoped(this.CurrentToken) != DeclarationModifiers.None);
1531
var currentTokenKind = this.CurrentToken.
Kind
;
1534
(currentTokenKind is SyntaxKind.ExplicitKeyword or SyntaxKind.ImplicitKeyword && PeekToken(1).
Kind
== SyntaxKind.OperatorKeyword))
1553
var currentTokenKind = this.CurrentToken.
Kind
;
1571
if (SyntaxFacts.IsPredefinedType(this.CurrentToken.
Kind
))
1615
switch (nextToken.
Kind
)
1641
if (this.PeekToken(1).
Kind
== SyntaxKind.EventKeyword)
1648
if (this.PeekToken(1).
Kind
== SyntaxKind.IdentifierToken &&
1649
this.PeekToken(2).
Kind
== SyntaxKind.OpenParenToken)
1670
switch (this.CurrentToken.
Kind
)
1673
if (this.CurrentToken.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).
Kind
== SyntaxKind.UsingKeyword)
1693
switch (this.CurrentToken.
Kind
)
1715
throw ExceptionUtilities.UnexpectedValue(this.CurrentToken.
Kind
);
1721
Debug.Assert(this.CurrentToken.
Kind
is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword or SyntaxKind.InterfaceKeyword ||
1732
bool isExtension = keyword.
Kind
== SyntaxKind.ExtensionKeyword;
1743
if (this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken)
1756
var paramList = CurrentToken.
Kind
== SyntaxKind.OpenParenToken || isExtension
1779
if (CurrentToken.
Kind
== SyntaxKind.SemicolonToken)
1803
SyntaxKind kind = this.CurrentToken.
Kind
;
1811
var member = this.ParseMemberDeclaration(keyword.
Kind
);
1841
closeBrace = WithAdditionalDiagnostics(closeBrace, this.GetExpectedTokenError(SyntaxKind.CloseBraceToken, this.CurrentToken.
Kind
));
1871
recordModifier = this.CurrentToken.
Kind
is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword
1878
if (this.CurrentToken.
Kind
is SyntaxKind.StructKeyword or SyntaxKind.ClassKeyword &&
1880
this.PeekToken(2).
Kind
is SyntaxKind.IdentifierToken)
1891
recordModifier = SyntaxFactory.MissingToken(misplacedToken.
Kind
);
1907
switch (keyword.
Kind
)
1962
SyntaxKind declarationKind = recordModifier?.
Kind
== SyntaxKind.StructKeyword ? SyntaxKind.RecordStructDeclaration : SyntaxKind.RecordDeclaration;
1995
throw ExceptionUtilities.UnexpectedValue(keyword.
Kind
);
2032
SyntaxKind kind = this.CurrentToken.
Kind
;
2036
!(kind == SyntaxKind.DelegateKeyword && this.PeekToken(1).
Kind
is SyntaxKind.OpenBraceToken or SyntaxKind.OpenParenToken))
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)
2162
this.PeekToken(1).
Kind
== SyntaxKind.IdentifierToken &&
2163
this.PeekToken(2).
Kind
== SyntaxKind.ColonToken;
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
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
2305
PeekToken(1).
Kind
== SyntaxKind.AsteriskToken
2317
PeekToken(1).
Kind
== SyntaxKind.RefKeyword)
2330
if (this.CurrentToken.
Kind
== SyntaxKind.CommaToken && PeekToken(1).
Kind
== SyntaxKind.RefKeyword)
2348
return CanStartMember(this.CurrentToken.
Kind
);
2409
switch (this.CurrentToken.
Kind
)
2561
switch (this.CurrentToken.
Kind
)
2564
if (this.PeekToken(1).
Kind
== SyntaxKind.OpenBraceToken)
2571
if (this.PeekToken(1).
Kind
== SyntaxKind.OpenParenToken)
2578
switch (this.PeekToken(1).
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)
3027
|| this.CurrentToken.
Kind
is not SyntaxKind.OpenParenToken and not SyntaxKind.OpenBraceToken and not SyntaxKind.EqualsGreaterThanToken) &&
3047
if (identifierOrThisOpt.
Kind
== SyntaxKind.ThisKeyword)
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)
3258
if (identifierOrThisOpt.
Kind
!= SyntaxKind.IdentifierToken)
3275
if (this.CurrentToken.
Kind
!= SyntaxKind.IdentifierToken)
3280
if (this.CurrentToken.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).
Kind
== SyntaxKind.UsingKeyword)
3291
var kind = this.PeekToken(1).
Kind
;
3298
IsStartOfPropertyBody(this.PeekToken(2).
Kind
))
3320
return this.CurrentToken.
Kind
is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword or SyntaxKind.OperatorKeyword;
3342
if (token.
Kind
!= SyntaxKind.None)
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;
3535
else if (this.CurrentToken.
Kind
== SyntaxKind.ColonToken)
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 ||
3668
else if (this.PeekToken(1).
Kind
is SyntaxKind.CheckedKeyword or SyntaxKind.UncheckedKeyword)
3670
possibleConversion = !SyntaxFacts.IsAnyOverloadableOperator(this.PeekToken(2).
Kind
);
3674
possibleConversion = !SyntaxFacts.IsAnyOverloadableOperator(this.PeekToken(1).
Kind
);
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);
3797
if (separator?.
Kind
== SyntaxKind.ColonColonToken)
3817
if (separator.
Kind
!= SyntaxKind.DotToken)
3819
separator = WithAdditionalDiagnostics(separator, GetExpectedTokenError(SyntaxKind.DotToken, separator.
Kind
, separator.GetLeadingTriviaWidth(), separator.Width));
3829
if (CurrentToken.
Kind
== SyntaxKind.UncheckedKeyword)
3849
if (firstToken.
Kind
is SyntaxKind.ExplicitKeyword or SyntaxKind.ImplicitKeyword &&
3850
this.PeekToken(1).
Kind
is SyntaxKind.OperatorKeyword)
3881
if (SyntaxFacts.IsAnyOverloadableOperator(this.CurrentToken.
Kind
))
3890
if (this.CurrentToken.
Kind
is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword)
3923
if (opToken.
Kind
== SyntaxKind.GreaterThanToken)
3927
if (tk.
Kind
== SyntaxKind.GreaterThanToken)
3934
if (tk.
Kind
== SyntaxKind.GreaterThanToken &&
3941
else if (tk.
Kind
== SyntaxKind.GreaterThanEqualsToken &&
3955
else if (tk.
Kind
== SyntaxKind.GreaterThanEqualsToken &&
3964
var opKind = opToken.
Kind
;
4048
Debug.Assert(thisKeyword.
Kind
== SyntaxKind.ThisKeyword);
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
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
4297
if (token.
Kind
is SyntaxKind.CloseBraceToken or SyntaxKind.EndOfFileToken)
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)
4836
switch (token.
Kind
)
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)
4953
else if (identifierOrThisOpt.
Kind
!= SyntaxKind.IdentifierToken)
4955
Debug.Assert(identifierOrThisOpt.
Kind
== SyntaxKind.ThisKeyword);
4964
Debug.Assert(identifier.
Kind
== SyntaxKind.IdentifierToken);
4980
if (explicitInterfaceOpt != null && this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken)
5007
if (this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken)
5026
if (modifiers is [.., SyntaxToken {
Kind
: SyntaxKind.ScopedKeyword } scopedKeyword])
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)
5164
if (flags.HasFlag(VariableFlags.ForStatement) && this.PeekToken(1).
Kind
!= SyntaxKind.SemicolonToken)
5168
this.PeekToken(2).
Kind
is SyntaxKind.CommaToken or SyntaxKind.EqualsToken or SyntaxKind.SemicolonToken;
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 ||
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);
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)
5800
token.
Kind
== SyntaxKind.IdentifierToken &&
5820
var ctk = this.CurrentToken.
Kind
;
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)
6051
Debug.Assert(greaterThanToken.
Kind
== SyntaxKind.GreaterThanToken);
6053
switch (this.CurrentToken.
Kind
)
6087
case SyntaxKind.GreaterThanToken when ((options & NameOptions.AfterIs) != 0) && this.PeekToken(1).
Kind
!= SyntaxKind.GreaterThanToken:
6108
(options & NameOptions.AfterTupleComma) != 0 && this.PeekToken(1).
Kind
is SyntaxKind.CommaToken or SyntaxKind.CloseParenToken ||
6109
(options & NameOptions.FirstElementOfPossibleTupleLiteral) != 0 && this.PeekToken(1).
Kind
== SyntaxKind.CommaToken)
6135
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.LessThanToken);
6145
while (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
6148
Debug.Assert(start.
Kind
== SyntaxKind.LessThanToken);
6149
Debug.Assert(greaterThanToken.
Kind
== SyntaxKind.GreaterThanToken);
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)
6364
if (this.CurrentToken.
Kind
is SyntaxKind.IdentifierToken && tokenBreaksTypeArgumentList(this.PeekToken(1)))
6373
if (this.CurrentToken.
Kind
is SyntaxKind.IdentifierToken
6374
&& this.PeekToken(1).
Kind
is SyntaxKind.CloseBracketToken)
6379
if (this.CurrentToken.
Kind
== SyntaxKind.CommaToken || this.IsPossibleType())
6404
switch (token.
Kind
)
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 &&
6502
this.PeekToken(1).
Kind
is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken)
6523
=> this.CurrentToken.
Kind
== SyntaxKind.GreaterThanToken;
6527
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.LessThanToken);
6529
while (this.PeekToken(n).
Kind
== SyntaxKind.CommaToken)
6532
return this.PeekToken(n).
Kind
== SyntaxKind.GreaterThanToken;
6565
if (this.CurrentToken.
Kind
== SyntaxKind.ThisKeyword)
6591
if (separator != null && separator.
Kind
== SyntaxKind.ColonColonToken)
6610
if (separator.
Kind
!= SyntaxKind.DotToken)
6612
separator = WithAdditionalDiagnostics(separator, GetExpectedTokenError(SyntaxKind.DotToken, separator.
Kind
, separator.GetLeadingTriviaWidth(), separator.Width));
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)
6765
if (separator != null && separator.
Kind
== SyntaxKind.ColonColonToken)
6792
if (separator.
Kind
!= SyntaxKind.DotToken)
6794
separator = WithAdditionalDiagnostics(separator, GetExpectedTokenError(SyntaxKind.DotToken, separator.
Kind
, separator.GetLeadingTriviaWidth(), separator.Width));
6805
return this.CurrentToken.
Kind
== SyntaxKind.ColonColonToken
6817
if (this.PeekToken(1).
Kind
== SyntaxKind.ThisKeyword)
6834
Debug.Assert(separator.
Kind
is SyntaxKind.DotToken or SyntaxKind.ColonColonToken);
6837
switch (separator.
Kind
)
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);
7010
isAlias = this.PeekToken(1).
Kind
== SyntaxKind.ColonColonToken;
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
)
7081
when lastTokenOfType.
Kind
is not SyntaxKind.QuestionToken // don't allow `Type??`
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)
7207
case var _ when peek1.
Kind
== SyntaxKind.OpenBracketToken:
7217
if (CurrentToken.
Kind
== SyntaxKind.OpenBracketToken)
7234
Debug.Assert(CurrentToken.
Kind
== SyntaxKind.CommaToken);
7257
var validStartingToken = EatToken().
Kind
== SyntaxKind.LessThanToken;
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)
7497
switch (this.PeekToken(1).
Kind
)
7514
return this.CurrentToken.
Kind
!= SyntaxKind.ColonToken;
7559
var nextTokenKind = nextToken.
Kind
;
7604
if (this.CurrentToken.
Kind
is SyntaxKind.OpenBracketToken)
7613
this.CurrentToken.
Kind
is SyntaxKind.OpenParenToken or // ctor parameters
7627
switch (this.PeekToken(i).
Kind
)
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)
7838
Debug.Assert(CurrentToken.
Kind
== SyntaxKind.CommaToken);
7849
lessThanToken.IsMissing && CurrentToken.
Kind
== SyntaxKind.CloseParenToken
7872
if (CurrentToken.
Kind
== SyntaxKind.IdentifierToken)
7888
case var _ when peek1.
Kind
== SyntaxKind.OpenBracketToken:
7900
if (CurrentToken.
Kind
== SyntaxKind.OpenBracketToken)
7918
Debug.Assert(CurrentToken.
Kind
== SyntaxKind.CommaToken);
7934
if (managedSpecifier.
Kind
== SyntaxKind.ManagedKeyword && unmanagedCallingConventions != null)
7948
=> CurrentToken.
Kind
== SyntaxKind.DelegateKeyword && PeekToken(1).
Kind
== SyntaxKind.AsteriskToken;
7953
=> token.
Kind
== SyntaxKind.LessThanToken || token.
Kind
== SyntaxKind.OpenParenToken;
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
)
8214
this.PeekToken(1).
Kind
== SyntaxKind.ForEachKeyword)
8220
if (PeekToken(2).
Kind
== SyntaxKind.OpenParenToken)
8247
=> PeekToken(1).
Kind
== SyntaxKind.OpenParenToken ? ParseUsingStatement(attributes) : ParseLocalDeclarationStatement(attributes);
8254
=> CurrentToken.ContextualKind == SyntaxKind.AwaitKeyword && PeekToken(1).
Kind
== SyntaxKind.UsingKeyword;
8258
return this.PeekToken(1).
Kind
== SyntaxKind.ColonToken && this.IsTrueIdentifier();
8263
return this.PeekToken(1).
Kind
== SyntaxKind.OpenBraceToken;
8269
this.PeekToken(1).
Kind
is SyntaxKind.ReturnKeyword or SyntaxKind.BreakKeyword;
8278
var tk = this.CurrentToken.
Kind
;
8282
this.PeekToken(1).
Kind
is not SyntaxKind.DotToken // e.g. `int.Parse()` is an expression
8291
Debug.Assert(PeekToken(1).
Kind
!= SyntaxKind.OpenParenToken);
8297
Debug.Assert(PeekToken(2).
Kind
!= SyntaxKind.OpenParenToken);
8353
if (token1.
Kind
== SyntaxKind.DotToken &&
8356
if (PeekToken(2).
Kind
== SyntaxKind.IdentifierToken &&
8357
PeekToken(3).
Kind
== SyntaxKind.IdentifierToken)
8372
var token4Kind = PeekToken(4).
Kind
;
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)
8425
var tk = PeekToken(1).
Kind
;
8486
if (this.CurrentToken.
Kind
is SyntaxKind.OpenBraceToken)
8492
if (identifierOrThisOpt.
Kind
== SyntaxKind.ThisKeyword)
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);
8639
switch (nextToken.
Kind
)
8667
if (SyntaxFacts.GetBaseTypeDeclarationKind(nextToken.
Kind
) != SyntaxKind.None)
8675
if (SyntaxFacts.IsPredefinedType(PeekToken(2).
Kind
))
8682
if (IsTypeModifierOrTypeKeyword(PeekToken(2).
Kind
))
8720
switch (next.
Kind
)
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)
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);
9198
if (this.PeekToken(1).
Kind
== SyntaxKind.OpenParenToken)
9205
SyntaxFacts.GetCheckStatement(keyword.
Kind
),
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);
9256
if (this.EatToken().
Kind
== SyntaxKind.OpenParenToken &&
9258
this.EatToken().
Kind
== SyntaxKind.IdentifierToken &&
9259
this.EatToken().
Kind
== SyntaxKind.InKeyword)
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
9325
if (this.PeekToken(1).
Kind
== SyntaxKind.RefKeyword)
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)
9535
if (ScanType() != ScanTypeFlags.NotType && this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken)
9540
if (this.PeekToken(1).
Kind
== SyntaxKind.CommaToken)
9548
if (this.PeekToken(1).
Kind
is SyntaxKind.CommaToken or SyntaxKind.CloseParenToken)
9574
if (!ScanDesignation(permitTupleDesignation && (typeIsVar || IsPredefinedType(lastTokenOfType.
Kind
))))
9582
return this.CurrentToken.
Kind
== SyntaxKind.CommaToken;
9584
return this.CurrentToken.
Kind
is SyntaxKind.CommaToken or SyntaxKind.CloseParenToken;
9602
switch (this.PeekToken(1).
Kind
)
9636
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.GotoKeyword);
9644
if (this.CurrentToken.
Kind
is SyntaxKind.CaseKeyword or SyntaxKind.DefaultKeyword)
9647
if (caseOrDefault.
Kind
== SyntaxKind.CaseKeyword)
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,
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)
9920
if (node.
Kind
== SyntaxKind.DiscardPattern)
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)
10049
switch (this.PeekToken(1).
Kind
)
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;
10103
bool condition3 = st == ScanTypeFlags.NonGenericTypeOrExpression || this.PeekToken(1).
Kind
== SyntaxKind.EqualsToken;
10110
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.WhileKeyword);
10124
Debug.Assert(this.IsTrueIdentifier() && this.PeekToken(1).
Kind
== SyntaxKind.ColonToken);
10145
else if (this.CurrentToken.
Kind
== SyntaxKind.UsingKeyword)
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)
10442
switch (this.CurrentToken.
Kind
)
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)
10700
if (IsScript && this.CurrentToken.
Kind
== SyntaxKind.EndOfFileToken)
10744
SyntaxKind tk = this.CurrentToken.
Kind
;
11043
switch (next.
Kind
)
11109
var tk = this.CurrentToken.
Kind
;
11205
if (this.CurrentToken.
Kind
== SyntaxKind.QuestionToken && precedence <= Precedence.Conditional)
11280
if (IsExpectedAssignmentOperator(operatorToken.
Kind
))
11283
if (IsExpectedBinaryOperator(operatorToken.
Kind
))
11303
if (this.CurrentToken.
Kind
!= SyntaxKind.ColonToken &&
11318
if (this.CurrentToken.
Kind
== SyntaxKind.ColonToken)
11330
if (this.CurrentToken.
Kind
== SyntaxKind.EndOfFileToken && this.lexer.InterpolationFollowedByColon)
11400
&& this.PeekToken(1) is {
Kind
: SyntaxKind.GreaterThanToken or SyntaxKind.GreaterThanEqualsToken } token2
11403
if (token2.
Kind
== SyntaxKind.GreaterThanToken)
11405
if (this.PeekToken(2) is {
Kind
: SyntaxKind.GreaterThanToken or SyntaxKind.GreaterThanEqualsToken } token3
11409
token1Kind = token3.
Kind
== SyntaxKind.GreaterThanToken
11432
if (token1Kind == SyntaxKind.SwitchKeyword && this.PeekToken(1).
Kind
== SyntaxKind.OpenBraceToken)
11435
if (token1Kind == SyntaxKind.WithKeyword && this.PeekToken(1).
Kind
== SyntaxKind.OpenBraceToken)
11486
Debug.Assert(IsExpectedAssignmentOperator(operatorToken.
Kind
));
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);
11519
=> token1.
Kind
== SyntaxKind.DotToken &&
11520
token2.
Kind
== SyntaxKind.DotToken &&
11533
if (this.CurrentToken is {
Kind
: SyntaxKind.DotToken } token3 &&
11550
if (this.PeekToken(1) is not {
Kind
: SyntaxKind.DotToken } token4 ||
11603
var tk = this.CurrentToken.
Kind
;
11657
else if (IsCurrentTokenFieldInKeywordContext() && PeekToken(1).
Kind
!= SyntaxKind.ColonColonToken)
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());
11786
if (this.PeekToken(1).
Kind
== SyntaxKind.IdentifierToken)
11818
this.PeekToken(1).
Kind
== SyntaxKind.IdentifierToken &&
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
)
11919
while (this.PeekToken(tokenIndex).
Kind
== SyntaxKind.StaticKeyword ||
11925
return this.PeekToken(tokenIndex).
Kind
== SyntaxKind.DelegateKeyword &&
11926
this.PeekToken(tokenIndex + 1).
Kind
!= SyntaxKind.AsteriskToken;
11973
if (this.CurrentToken.
Kind
== SyntaxKind.QuestionToken)
11976
var nextTokenKind = nextToken.
Kind
;
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)
12248
expression = refKindKeyword?.
Kind
== SyntaxKind.OutKeyword
12268
if (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken)
12312
Debug.Assert(checkedOrUnchecked.
Kind
is SyntaxKind.CheckedKeyword or SyntaxKind.UncheckedKeyword);
12313
var kind = checkedOrUnchecked.
Kind
== SyntaxKind.CheckedKeyword ? SyntaxKind.CheckedExpression : SyntaxKind.UncheckedExpression;
12346
Debug.Assert(CurrentToken.
Kind
== SyntaxKind.OpenParenToken);
12364
token.
Kind
is SyntaxKind.CommaToken ||
12370
return token.
Kind
== SyntaxKind.CloseParenToken &&
12371
this.PeekToken(index).
Kind
== SyntaxKind.EqualsGreaterThanToken;
12377
Debug.Assert(CurrentToken.
Kind
== SyntaxKind.OpenParenToken);
12429
if (this.CurrentToken.
Kind
== SyntaxKind.OpenBracketToken)
12437
switch (this.CurrentToken.
Kind
)
12443
return this.PeekToken(1).
Kind
== SyntaxKind.EqualsGreaterThanToken;
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 &&
12615
this.PeekToken(1).
Kind
== SyntaxKind.CloseBracketToken)
12623
return CanFollowCast(this.CurrentToken.
Kind
);
12675
if (token1.
Kind
== SyntaxKind.EqualsGreaterThanToken)
12683
if (CurrentToken.
Kind
== SyntaxKind.OpenBracketToken)
12699
if (this.CurrentToken.
Kind
== SyntaxKind.StaticKeyword)
12705
this.PeekToken(1).
Kind
== SyntaxKind.StaticKeyword)
12718
if (this.CurrentToken.
Kind
== SyntaxKind.EqualsGreaterThanToken)
12728
if (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken)
12736
if (this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken &&
12737
this.PeekToken(1).
Kind
== SyntaxKind.EqualsGreaterThanToken)
12756
if (st == ScanTypeFlags.NotType || this.CurrentToken.
Kind
!= SyntaxKind.OpenParenToken)
12773
if (this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken &&
12774
this.PeekToken(1).
Kind
== SyntaxKind.EqualsGreaterThanToken)
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;
12963
return IsTrueIdentifier() && this.PeekToken(1).
Kind
== SyntaxKind.EqualsToken;
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);
13202
return this.PeekToken(1).
Kind
== SyntaxKind.OpenBracketToken;
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)
13412
switch (this.PeekToken(1).
Kind
)
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
);
13604
if (IsPredefinedType(this.CurrentToken.
Kind
))
13610
if (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken)
13632
if (peek1.
Kind
13697
var pk1 = this.PeekToken(1).
Kind
;
13705
var pk2 = this.PeekToken(2).
Kind
;
13742
return this.ScanType() != ScanTypeFlags.NotType && this.CurrentToken.
Kind
is SyntaxKind.IdentifierToken or SyntaxKind.InKeyword;
13813
var type = this.PeekToken(1).
Kind
!= SyntaxKind.InKeyword
13819
(this.CurrentToken.
Kind
!= SyntaxKind.IdentifierToken || SyntaxFacts.IsQueryContextualKeyword(this.CurrentToken.ContextualKind)))
13846
type: this.PeekToken(1).
Kind
!= SyntaxKind.InKeyword
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)
13933
if (direction.
Kind
== SyntaxKind.DescendingKeyword)
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)
468
Debug.Assert(token.
Kind
== SyntaxKind.StringLiteralToken);
Parser\LanguageParser_Patterns.cs (24)
78
var tk = CurrentToken.
Kind
;
85
(this.CurrentToken.ContextualKind != SyntaxKind.NameOfKeyword || this.PeekToken(1).
Kind
!= SyntaxKind.OpenParenToken))
121
switch (this.CurrentToken.
Kind
)
143
switch (this.CurrentToken.
Kind
)
175
var tk = this.CurrentToken.
Kind
;
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)
394
var tk = PeekToken(1).
Kind
;
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\Lexer.cs (3)
2396
if (directive.
Kind
== SyntaxKind.EndIfDirectiveTrivia || (branching != null && branching.BranchTaken))
2400
else if (directive.
Kind
== SyntaxKind.IfDirectiveTrivia)
2755
else if (tr.
Kind
== SyntaxKind.EndOfLineTrivia)
Parser\SyntaxParser.cs (13)
151
if (token.
Kind
== SyntaxKind.EndOfFileToken)
498
=> this.CurrentToken.
Kind
== kind ? this.EatToken() : null;
526
if (ct.
Kind
== kind)
533
return CreateMissingToken(kind, this.CurrentToken.
Kind
, reportError: true);
542
if (ct.
Kind
== expected)
548
var replacement = CreateMissingToken(expected, this.CurrentToken.
Kind
, reportError: true);
584
if (this.CurrentToken.
Kind
!= kind)
598
if (this.CurrentToken.
Kind
!= kind)
612
if (token.
Kind
!= kind)
614
token = WithAdditionalDiagnostics(token, this.GetExpectedTokenError(kind, token.
Kind
));
796
if (trivia.
Kind
== SyntaxKind.SkippedTokensTrivia)
1098
if (token.
Kind
!= token.ContextualKind)
1119
var identifier = SyntaxToken.Identifier(token.
Kind
, token.LeadingTrivia.Node, token.Text, token.ValueText, token.TrailingTrivia.Node);
Syntax\InternalSyntax\CSharpSyntaxNode.cs (5)
66
public override string KindText => this.
Kind
.ToString();
76
public override bool IsSkippedTokensTrivia => this.
Kind
== SyntaxKind.SkippedTokensTrivia;
77
public override bool IsDocumentationCommentTrivia => SyntaxFacts.IsDocumentationCommentTrivia(this.
Kind
);
247
return this.
Kind
== SyntaxKind.EndOfLineTrivia
248
|| this.
Kind
== SyntaxKind.SingleLineCommentTrivia;
Syntax\InternalSyntax\CSharpSyntaxRewriter.cs (1)
57
Debug.Assert(visited != null && visited.
Kind
!= SyntaxKind.None, "Cannot remove node using Syntax.InternalSyntax.SyntaxRewriter.");
Syntax\InternalSyntax\StructuredTriviaSyntax.cs (1)
18
if (this.
Kind
== SyntaxKind.SkippedTokensTrivia)
Syntax\InternalSyntax\SyntaxToken.cs (7)
255
return this.
Kind
;
269
get { return SyntaxFacts.GetText(this.
Kind
); }
286
switch (this.
Kind
)
349
return new SyntaxTokenWithTrivia(this.
Kind
, trivia, null, this.GetDiagnostics(), this.GetAnnotations());
359
return new SyntaxTokenWithTrivia(this.
Kind
, null, trivia, this.GetDiagnostics(), this.GetAnnotations());
365
return new SyntaxToken(this.
Kind
, this.FullWidth, diagnostics, this.GetAnnotations());
371
return new SyntaxToken(this.
Kind
, this.FullWidth, this.GetDiagnostics(), annotations);
Syntax\InternalSyntax\SyntaxToken.MissingTokenWithTrivia.cs (5)
37
switch (this.
Kind
)
49
return new MissingTokenWithTrivia(this.
Kind
, trivia, this.TrailingField, this.GetDiagnostics(), this.GetAnnotations());
54
return new MissingTokenWithTrivia(this.
Kind
, this.LeadingField, trivia, this.GetDiagnostics(), this.GetAnnotations());
59
return new MissingTokenWithTrivia(this.
Kind
, this.LeadingField, this.TrailingField, diagnostics, this.GetAnnotations());
64
return new MissingTokenWithTrivia(this.
Kind
, this.LeadingField, this.TrailingField, this.GetDiagnostics(), annotations);
Syntax\InternalSyntax\SyntaxToken.SyntaxIdentifier.cs (2)
46
return new SyntaxIdentifierWithTrivia(this.
Kind
, this.TextField, this.TextField, trivia, null, this.GetDiagnostics(), this.GetAnnotations());
51
return new SyntaxIdentifierWithTrivia(this.
Kind
, this.TextField, this.TextField, null, trivia, this.GetDiagnostics(), this.GetAnnotations());
Syntax\InternalSyntax\SyntaxToken.SyntaxIdentifierWithTrailingTrivia.cs (1)
42
return new SyntaxIdentifierWithTrivia(this.
Kind
, this.TextField, this.TextField, trivia, _trailing, this.GetDiagnostics(), this.GetAnnotations());
Syntax\InternalSyntax\SyntaxToken.SyntaxLiteral.cs (4)
59
return new SyntaxTokenWithValueAndTrivia<T>(this.
Kind
, this.TextField, this.ValueField, trivia, null, this.GetDiagnostics(), this.GetAnnotations());
64
return new SyntaxTokenWithValueAndTrivia<T>(this.
Kind
, this.TextField, this.ValueField, null, trivia, this.GetDiagnostics(), this.GetAnnotations());
69
return new SyntaxTokenWithValue<T>(this.
Kind
, this.TextField, this.ValueField, diagnostics, this.GetAnnotations());
74
return new SyntaxTokenWithValue<T>(this.
Kind
, this.TextField, this.ValueField, this.GetDiagnostics(), annotations);
Syntax\InternalSyntax\SyntaxToken.SyntaxLiteralWithTrivia.cs (4)
65
return new SyntaxTokenWithValueAndTrivia<T>(this.
Kind
, this.TextField, this.ValueField, trivia, _trailing, this.GetDiagnostics(), this.GetAnnotations());
70
return new SyntaxTokenWithValueAndTrivia<T>(this.
Kind
, this.TextField, this.ValueField, _leading, trivia, this.GetDiagnostics(), this.GetAnnotations());
75
return new SyntaxTokenWithValueAndTrivia<T>(this.
Kind
, this.TextField, this.ValueField, _leading, _trailing, diagnostics, this.GetAnnotations());
80
return new SyntaxTokenWithValueAndTrivia<T>(this.
Kind
, this.TextField, this.ValueField, _leading, _trailing, this.GetDiagnostics(), annotations);
Syntax\InternalSyntax\SyntaxToken.SyntaxTokenWithTrivia.cs (4)
58
return new SyntaxTokenWithTrivia(this.
Kind
, trivia, this.TrailingField, this.GetDiagnostics(), this.GetAnnotations());
63
return new SyntaxTokenWithTrivia(this.
Kind
, this.LeadingField, trivia, this.GetDiagnostics(), this.GetAnnotations());
68
return new SyntaxTokenWithTrivia(this.
Kind
, this.LeadingField, this.TrailingField, diagnostics, this.GetAnnotations());
73
return new SyntaxTokenWithTrivia(this.
Kind
, this.LeadingField, this.TrailingField, this.GetDiagnostics(), annotations);
Syntax\InternalSyntax\SyntaxTrivia.cs (2)
67
return new SyntaxTrivia(this.
Kind
, this.Text, diagnostics, GetAnnotations());
72
return new SyntaxTrivia(this.
Kind
, this.Text, GetDiagnostics(), annotations);
Syntax\ShebangDirectiveTriviaSyntax.cs (2)
41
if (content.
Kind
is SyntaxKind.StringLiteralToken)
45
else if (content.
Kind
is not SyntaxKind.None)
Syntax\SyntaxFactory.cs (1)
1668
if (token.
Kind
== SyntaxKind.EndOfFileToken)
Syntax\SyntaxFacts.cs (1)
450
return node.IsIdentifierVar() || IsPredefinedType(node.
Kind
);