856 references to Kind
Microsoft.CodeAnalysis.CSharp (856)
Declarations\DeclarationTreeBuilder.cs (4)
1054
if (member.
Kind
== SyntaxKind.MethodDeclaration)
1081
switch (member.
Kind
)
1131
switch (member.
Kind
)
1229
switch (member.
Kind
)
Parser\DirectiveParser.cs (31)
94
result = (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken) ?
255
if (keyword.
Kind
== SyntaxKind.DefineKeyword)
290
bool isError = keyword.
Kind
== SyntaxKind.ErrorKeyword;
304
if (t.
Kind
== SyntaxKind.WhitespaceTrivia)
374
switch (this.CurrentToken.
Kind
)
383
if (isActive && !line.IsMissing && line.
Kind
== SyntaxKind.NumericLiteralToken)
395
if (this.CurrentToken.
Kind
== SyntaxKind.StringLiteralToken &&
411
Debug.Assert(CurrentToken.
Kind
== SyntaxKind.OpenParenToken);
430
var characterOffset = (CurrentToken.
Kind
== SyntaxKind.NumericLiteralToken) ?
484
else if (token.
Kind
== SyntaxKind.NumericLiteralToken)
543
SyntaxToken setting = this.CurrentToken.
Kind
switch
551
SyntaxToken target = this.CurrentToken.
Kind
switch
576
if (this.CurrentToken.
Kind
== SyntaxKind.DisableKeyword || this.CurrentToken.
Kind
== SyntaxKind.RestoreKeyword)
581
while (this.CurrentToken.
Kind
!= SyntaxKind.EndOfDirectiveToken)
586
if (this.CurrentToken.
Kind
== SyntaxKind.NumericLiteralToken)
598
else if (this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken)
619
if (this.CurrentToken.
Kind
!= SyntaxKind.CommaToken)
637
else if (this.CurrentToken.
Kind
== SyntaxKind.ChecksumKeyword)
700
if (this.CurrentToken.
Kind
!= SyntaxKind.EndOfDirectiveToken &&
701
this.CurrentToken.
Kind
!= SyntaxKind.EndOfFileToken)
720
while (this.CurrentToken.
Kind
!= SyntaxKind.EndOfDirectiveToken &&
721
this.CurrentToken.
Kind
!= SyntaxKind.EndOfFileToken)
728
SyntaxToken endOfDirective = this.CurrentToken.
Kind
== SyntaxKind.EndOfDirectiveToken
749
while (this.CurrentToken.
Kind
== SyntaxKind.BarBarToken)
762
while (this.CurrentToken.
Kind
== SyntaxKind.AmpersandAmpersandToken)
775
while (this.CurrentToken.
Kind
== SyntaxKind.EqualsEqualsToken || this.CurrentToken.
Kind
== SyntaxKind.ExclamationEqualsToken)
779
left = SyntaxFactory.BinaryExpression(SyntaxFacts.GetBinaryExpression(op.
Kind
), left, op, right);
787
if (this.CurrentToken.
Kind
== SyntaxKind.ExclamationToken)
798
var k = this.CurrentToken.
Kind
;
Parser\DocumentationCommentParser.cs (79)
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 && operatorToken.GetTrailingTriviaWidth() == 0 && CurrentToken.GetLeadingTriviaWidth() == 0)
1017
if (CurrentToken.
Kind
== SyntaxKind.GreaterThanToken)
1022
CurrentToken.
Kind
is (SyntaxKind.GreaterThanToken or SyntaxKind.GreaterThanEqualsToken))
1026
if (operatorToken3.
Kind
== SyntaxKind.GreaterThanToken)
1069
else if (CurrentToken.
Kind
== SyntaxKind.EqualsToken)
1079
else if (CurrentToken.
Kind
== SyntaxKind.GreaterThanEqualsToken)
1103
Debug.Assert(SyntaxFacts.IsAnyOverloadableOperator(operatorToken.
Kind
));
1115
(isConversion || SyntaxFacts.IsAnyOverloadableOperator(CurrentToken.
Kind
)))
1124
if (CurrentToken.
Kind
== SyntaxKind.UncheckedKeyword)
1141
Debug.Assert(CurrentToken.
Kind
== SyntaxKind.ExplicitKeyword ||
1142
CurrentToken.
Kind
== SyntaxKind.ImplicitKeyword);
1179
if (CurrentToken.
Kind
!= openKind)
1189
while (CurrentToken.
Kind
== SyntaxKind.CommaToken || IsPossibleCrefParameter())
1193
if (CurrentToken.
Kind
!= closeKind)
1204
Debug.Assert(CurrentToken.
Kind
!= SyntaxKind.CommaToken);
1229
SyntaxKind kind = this.CurrentToken.
Kind
;
1251
switch (CurrentToken.
Kind
)
1261
if (CurrentToken.
Kind
== SyntaxKind.ReadOnlyKeyword && refKindOpt is not null)
1263
if (refKindOpt.
Kind
!= SyntaxKind.RefKeyword)
1288
if (CurrentToken.
Kind
!= SyntaxKind.LessThanToken)
1310
var currentKind = CurrentToken.
Kind
;
1312
SyntaxFacts.IsPredefinedType(CurrentToken.
Kind
))
1372
if (SyntaxFacts.IsPredefinedType(CurrentToken.
Kind
))
1381
else if (CurrentToken.
Kind
== SyntaxKind.IdentifierToken && PeekToken(1).
Kind
== SyntaxKind.ColonColonToken)
1401
if (checkForMember && (leftName.IsMissing || CurrentToken.
Kind
!= SyntaxKind.DotToken))
1413
while (CurrentToken.
Kind
== SyntaxKind.DotToken)
1422
if (checkForMember && (rightName.IsMissing || CurrentToken.
Kind
!= SyntaxKind.DotToken))
1444
if (CurrentToken.
Kind
== SyntaxKind.QuestionToken)
1449
while (CurrentToken.
Kind
== SyntaxKind.AsteriskToken)
1454
if (CurrentToken.
Kind
== SyntaxKind.OpenBracketToken)
1460
while (CurrentToken.
Kind
== SyntaxKind.OpenBracketToken)
1466
while (this.CurrentToken.
Kind
!= SyntaxKind.CloseBracketToken)
1468
if (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
1518
switch (CurrentToken.
Kind
)
1586
switch (CurrentToken.
Kind
)
Parser\LanguageParser.cs (661)
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
)
1669
switch (this.CurrentToken.
Kind
)
1672
if (this.CurrentToken.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).
Kind
== SyntaxKind.UsingKeyword)
1692
switch (this.CurrentToken.
Kind
)
1714
throw ExceptionUtilities.UnexpectedValue(this.CurrentToken.
Kind
);
1720
Debug.Assert(this.CurrentToken.
Kind
is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword or SyntaxKind.InterfaceKeyword ||
1740
var paramList = CurrentToken.
Kind
== SyntaxKind.OpenParenToken
1763
if (CurrentToken.
Kind
== SyntaxKind.SemicolonToken)
1787
SyntaxKind kind = this.CurrentToken.
Kind
;
1795
var member = this.ParseMemberDeclaration(keyword.
Kind
);
1825
closeBrace = WithAdditionalDiagnostics(closeBrace, this.GetExpectedTokenError(SyntaxKind.CloseBraceToken, this.CurrentToken.
Kind
));
1855
recordModifier = this.CurrentToken.
Kind
is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword
1862
if (this.CurrentToken.
Kind
is SyntaxKind.StructKeyword or SyntaxKind.ClassKeyword &&
1864
this.PeekToken(2).
Kind
is SyntaxKind.IdentifierToken)
1875
recordModifier = SyntaxFactory.MissingToken(misplacedToken.
Kind
);
1891
switch (keyword.
Kind
)
1942
SyntaxKind declarationKind = recordModifier?.
Kind
== SyntaxKind.StructKeyword ? SyntaxKind.RecordStructDeclaration : SyntaxKind.RecordDeclaration;
1960
throw ExceptionUtilities.UnexpectedValue(keyword.
Kind
);
1997
SyntaxKind kind = this.CurrentToken.
Kind
;
2001
!(kind == SyntaxKind.DelegateKeyword && this.PeekToken(1).
Kind
is SyntaxKind.OpenBraceToken or SyntaxKind.OpenParenToken))
2045
return this.IsPossibleMemberStart() || this.CurrentToken.
Kind
== SyntaxKind.CloseBraceToken;
2050
return this.CurrentToken.
Kind
is SyntaxKind.ColonToken or SyntaxKind.OpenBraceToken
2065
var argumentList = this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken
2076
if (this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken ||
2077
((_termState & TerminatorState.IsEndOfRecordOrClassOrStructOrInterfaceSignature) != 0 && this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken) ||
2082
else if (this.CurrentToken.
Kind
== SyntaxKind.CommaToken || this.IsPossibleType())
2109
this.PeekToken(1).
Kind
== SyntaxKind.IdentifierToken &&
2110
this.PeekToken(2).
Kind
== SyntaxKind.ColonToken;
2133
if (this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken || this.IsCurrentTokenWhereOfConstraintClause())
2147
if (this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken
2148
|| ((_termState & TerminatorState.IsEndOfRecordOrClassOrStructOrInterfaceSignature) != 0 && this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken)
2149
|| this.CurrentToken.
Kind
== SyntaxKind.EqualsGreaterThanToken
2154
else if (haveComma = (this.CurrentToken.
Kind
== SyntaxKind.CommaToken) || this.IsPossibleTypeParameterConstraint())
2202
switch (this.CurrentToken.
Kind
)
2211
return (this.CurrentToken.ContextualKind == SyntaxKind.AllowsKeyword && PeekToken(1).
Kind
== SyntaxKind.RefKeyword) || this.IsTrueIdentifier();
2213
return IsPredefinedType(this.CurrentToken.
Kind
);
2219
return this.CurrentToken.
Kind
switch
2231
this.CurrentToken.
Kind
== SyntaxKind.QuestionToken
2252
PeekToken(1).
Kind
== SyntaxKind.AsteriskToken
2264
PeekToken(1).
Kind
== SyntaxKind.RefKeyword)
2277
if (this.CurrentToken.
Kind
== SyntaxKind.CommaToken && PeekToken(1).
Kind
== SyntaxKind.RefKeyword)
2295
return CanStartMember(this.CurrentToken.
Kind
);
2356
switch (this.CurrentToken.
Kind
)
2502
switch (this.CurrentToken.
Kind
)
2505
if (this.PeekToken(1).
Kind
== SyntaxKind.OpenBraceToken)
2512
if (this.PeekToken(1).
Kind
== SyntaxKind.OpenParenToken)
2519
switch (this.PeekToken(1).
Kind
)
2548
if (this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken && this.PeekToken(1).
Kind
== SyntaxKind.OpenParenToken)
2582
if (this.CurrentToken.
Kind
== SyntaxKind.ConstKeyword)
2595
if (this.CurrentToken.
Kind
== SyntaxKind.EventKeyword)
2601
if (this.CurrentToken.
Kind
== SyntaxKind.FixedKeyword)
2613
if (this.CurrentToken.
Kind
== SyntaxKind.NamespaceKeyword)
2635
if (this.CurrentToken.
Kind
is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken &&
2880
if (CurrentToken.
Kind
== SyntaxKind.UsingKeyword)
2885
if (CurrentToken.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).
Kind
== SyntaxKind.UsingKeyword)
2968
|| this.CurrentToken.
Kind
is not SyntaxKind.OpenParenToken and not SyntaxKind.OpenBraceToken and not SyntaxKind.EqualsGreaterThanToken) &&
2988
if (identifierOrThisOpt.
Kind
== SyntaxKind.ThisKeyword)
2996
if (IsStartOfPropertyBody(this.CurrentToken.
Kind
) ||
2997
(this.CurrentToken.
Kind
is SyntaxKind.SemicolonToken && IsStartOfPropertyBody(this.PeekToken(1).
Kind
)))
3050
if (this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken && this.PeekToken(1).
Kind
== SyntaxKind.OpenParenToken)
3056
if (this.CurrentToken.
Kind
== SyntaxKind.TildeToken)
3062
if (this.CurrentToken.
Kind
== SyntaxKind.ConstKeyword)
3068
if (this.CurrentToken.
Kind
== SyntaxKind.EventKeyword)
3074
if (this.CurrentToken.
Kind
== SyntaxKind.FixedKeyword)
3189
if (identifierOrThisOpt.
Kind
!= SyntaxKind.IdentifierToken)
3206
if (this.CurrentToken.
Kind
!= SyntaxKind.IdentifierToken)
3211
if (this.CurrentToken.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).
Kind
== SyntaxKind.UsingKeyword)
3222
var kind = this.PeekToken(1).
Kind
;
3229
IsStartOfPropertyBody(this.PeekToken(2).
Kind
))
3252
return this.CurrentToken.
Kind
is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword or SyntaxKind.OperatorKeyword;
3274
if (token.
Kind
!= SyntaxKind.None)
3294
var initializer = this.CurrentToken.
Kind
== SyntaxKind.ColonToken
3313
var kind = this.CurrentToken.
Kind
== SyntaxKind.BaseKeyword
3318
if (this.CurrentToken.
Kind
is SyntaxKind.BaseKeyword or SyntaxKind.ThisKeyword)
3330
var argumentList = this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken
3342
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.TildeToken);
3368
if (this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken)
3376
blockBody = this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken
3380
expressionBody = this.CurrentToken.
Kind
== SyntaxKind.EqualsGreaterThanToken
3391
else if (parseSemicolonAfterBlock && this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken)
3403
if (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken)
3409
if (this.CurrentToken.
Kind
== SyntaxKind.ColonToken)
3415
if (this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken)
3431
=> this.CurrentToken.
Kind
is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3435
return this.CurrentToken.
Kind
is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3439
=> this.CurrentToken.
Kind
is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
3442
=> this.CurrentToken.
Kind
== (errored ? SyntaxKind.CloseParenToken : SyntaxKind.GreaterThanToken);
3445
=> this.CurrentToken.
Kind
== SyntaxKind.CloseBracketToken;
3467
else if (this.CurrentToken.
Kind
== SyntaxKind.ColonToken)
3520
switch (this.CurrentToken.
Kind
)
3539
if (this.CurrentToken.
Kind
is not (SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword))
3543
if (this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken)
3553
if (this.CurrentToken.
Kind
== SyntaxKind.OperatorKeyword)
3567
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.CurrentToken.
Kind
!= SyntaxKind.OpenParenToken))
3573
separatorKind = this.CurrentToken.
Kind
;
3595
if (this.CurrentToken.
Kind
!= SyntaxKind.OperatorKeyword ||
3600
else if (this.PeekToken(1).
Kind
is SyntaxKind.CheckedKeyword or SyntaxKind.UncheckedKeyword)
3602
possibleConversion = !SyntaxFacts.IsAnyOverloadableOperator(this.PeekToken(2).
Kind
);
3606
possibleConversion = !SyntaxFacts.IsAnyOverloadableOperator(this.PeekToken(1).
Kind
);
3617
var style = this.CurrentToken.
Kind
is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword
3627
if (!style.IsMissing && explicitInterfaceOpt is not null && this.CurrentToken.
Kind
!= SyntaxKind.OperatorKeyword && style.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia))
3659
bool couldBeParameterList = this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken;
3664
this.CurrentToken.
Kind
!= SyntaxKind.OpenParenToken)
3695
if (this.CurrentToken.
Kind
!= SyntaxKind.IdentifierToken)
3712
if (this.CurrentToken.
Kind
== SyntaxKind.OperatorKeyword)
3722
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.CurrentToken.
Kind
!= SyntaxKind.OpenParenToken);
3729
if (separator?.
Kind
== SyntaxKind.ColonColonToken)
3749
if (separator.
Kind
!= SyntaxKind.DotToken)
3751
separator = WithAdditionalDiagnostics(separator, GetExpectedTokenError(SyntaxKind.DotToken, separator.
Kind
, separator.GetLeadingTriviaWidth(), separator.Width));
3761
if (CurrentToken.
Kind
== SyntaxKind.UncheckedKeyword)
3781
if (firstToken.
Kind
is SyntaxKind.ExplicitKeyword or SyntaxKind.ImplicitKeyword &&
3782
this.PeekToken(1).
Kind
is SyntaxKind.OperatorKeyword)
3813
if (SyntaxFacts.IsAnyOverloadableOperator(this.CurrentToken.
Kind
))
3822
if (this.CurrentToken.
Kind
is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword)
3854
var opKind = opToken.
Kind
;
3856
if (opToken.
Kind
== SyntaxKind.GreaterThanToken && tk.
Kind
== SyntaxKind.GreaterThanToken &&
3862
if (tk.
Kind
== SyntaxKind.GreaterThanToken &&
3949
Debug.Assert(thisKeyword.
Kind
== SyntaxKind.ThisKeyword);
3965
if (this.CurrentToken.
Kind
== SyntaxKind.EqualsGreaterThanToken)
3973
if (this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken)
3982
if (this.CurrentToken.
Kind
== SyntaxKind.EqualsGreaterThanToken
4017
if (this.CurrentToken.
Kind
is SyntaxKind.SemicolonToken)
4023
Debug.Assert(IsStartOfPropertyBody(this.CurrentToken.
Kind
));
4025
var accessorList = this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken
4033
if (this.CurrentToken.
Kind
== SyntaxKind.EqualsGreaterThanToken)
4038
else if (this.CurrentToken.
Kind
== SyntaxKind.EqualsToken)
4050
else if (this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken)
4079
if (this.CurrentToken.
Kind
== SyntaxKind.CloseBraceToken)
4114
var refKeyword = this.CurrentToken.
Kind
== SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
4132
return this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken
4135
|| this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken // for accessor blocks w/ missing keyword
4136
|| this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken // for empty body accessors w/ missing keyword
4170
if (token.
Kind
is SyntaxKind.CloseBraceToken or SyntaxKind.EndOfFileToken)
4386
bool currentTokenIsSemicolon = this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken;
4387
bool currentTokenIsArrow = this.CurrentToken.
Kind
== SyntaxKind.EqualsGreaterThanToken;
4388
bool currentTokenIsOpenBraceToken = this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken;
4573
return this.CurrentToken.
Kind
is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken;
4578
switch (this.CurrentToken.
Kind
)
4590
return IsParameterModifierExcludingScoped(this.CurrentToken) || IsPossibleScopedKeyword(isFunctionPointerParameter: false) || IsPredefinedType(this.CurrentToken.
Kind
);
4642
if (this.CurrentToken.
Kind
== SyntaxKind.ArgListKeyword)
4653
if (this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken && IsCurrentTokenWhereOfConstraintClause())
4663
if (this.CurrentToken.
Kind
is SyntaxKind.OpenBracketToken && this.PeekToken(1).
Kind
is SyntaxKind.CloseBracketToken)
4694
if (this.CurrentToken.
Kind
is SyntaxKind.ExclamationEqualsToken)
4707
else if (this.CurrentToken.
Kind
is SyntaxKind.ExclamationToken)
4712
if (this.CurrentToken.
Kind
is SyntaxKind.ExclamationToken)
4716
else if (this.CurrentToken.
Kind
is SyntaxKind.ExclamationEqualsToken)
4754
GetExpectedTokenError(kind, t1.
Kind
));
4764
switch (token.
Kind
)
4784
if (this.CurrentToken.
Kind
is SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword or SyntaxKind.ReadOnlyKeyword)
4801
while (this.CurrentToken.
Kind
is (SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword or SyntaxKind.ReadOnlyKeyword))
4814
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.FixedKeyword);
4832
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.EventKeyword);
4856
if (explicitInterfaceOpt != null && this.CurrentToken.
Kind
is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
4881
else if (identifierOrThisOpt.
Kind
!= SyntaxKind.IdentifierToken)
4883
Debug.Assert(identifierOrThisOpt.
Kind
== SyntaxKind.ThisKeyword);
4892
Debug.Assert(identifier.
Kind
== SyntaxKind.IdentifierToken);
4908
if (explicitInterfaceOpt != null && this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken)
4935
if (this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken)
4954
if (modifiers is [.., SyntaxToken {
Kind
: SyntaxKind.ScopedKeyword } scopedKeyword])
4988
if (this.CurrentToken.
Kind
== SyntaxKind.DotToken)
5004
return this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken;
5069
if (this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken)
5073
else if (stopOnCloseParen && this.CurrentToken.
Kind
== SyntaxKind.CloseParenToken)
5077
else if (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
5257
var currentTokenKind = this.CurrentToken.
Kind
;
5267
currentTokenKind = this.CurrentToken.
Kind
;
5318
switch (this.CurrentToken.
Kind
)
5329
var refKeyword = isLocalOrField && !isConst && this.CurrentToken.
Kind
== SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
5406
if (this.CurrentToken.
Kind
== SyntaxKind.EqualsToken)
5442
Debug.Assert(this.CurrentToken.
Kind
is SyntaxKind.OpenParenToken or SyntaxKind.LessThanToken);
5450
(this.CurrentToken.
Kind
is SyntaxKind.OpenBraceToken or SyntaxKind.EqualsGreaterThanToken ||
5461
switch (this.CurrentToken.
Kind
)
5473
return this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken
5480
return this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken || this.IsPossibleExpression();
5499
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.DelegateKeyword);
5532
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.EnumKeyword);
5547
if (this.CurrentToken.
Kind
== SyntaxKind.ColonToken)
5563
if (CurrentToken.
Kind
== SyntaxKind.SemicolonToken)
5624
if (this.CurrentToken.
Kind
== SyntaxKind.EqualsToken)
5629
this.CurrentToken.
Kind
is SyntaxKind.CommaToken or SyntaxKind.CloseBraceToken
5639
return this.CurrentToken.
Kind
== SyntaxKind.OpenBracketToken || this.IsTrueIdentifier();
5644
return this.CurrentToken.
Kind
is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
5683
if (this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken)
5703
token.
Kind
== SyntaxKind.IdentifierToken &&
5723
var ctk = this.CurrentToken.
Kind
;
5774
if (this.CurrentToken.
Kind
!= SyntaxKind.LessThanToken)
5816
if (this.CurrentToken.
Kind
== SyntaxKind.OpenBracketToken && this.PeekToken(1).
Kind
!= SyntaxKind.CloseBracketToken)
5820
if (this.CurrentToken.
Kind
is SyntaxKind.InKeyword or SyntaxKind.OutKeyword)
5837
if (this.CurrentToken.
Kind
== SyntaxKind.OpenBracketToken && this.PeekToken(1).
Kind
!= SyntaxKind.CloseBracketToken)
5847
this.CurrentToken.
Kind
is SyntaxKind.InKeyword or SyntaxKind.OutKeyword ? EatToken() : null,
5864
if (this.CurrentToken.
Kind
== SyntaxKind.LessThanToken)
5874
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.LessThanToken);
5899
if (this.CurrentToken.
Kind
!= SyntaxKind.LessThanToken)
5947
Debug.Assert(greaterThanToken.
Kind
== SyntaxKind.GreaterThanToken);
5949
switch (this.CurrentToken.
Kind
)
5983
case SyntaxKind.GreaterThanToken when ((options & NameOptions.AfterIs) != 0) && this.PeekToken(1).
Kind
!= SyntaxKind.GreaterThanToken:
6004
(options & NameOptions.AfterTupleComma) != 0 && this.PeekToken(1).
Kind
is SyntaxKind.CommaToken or SyntaxKind.CloseParenToken ||
6005
(options & NameOptions.FirstElementOfPossibleTupleLiteral) != 0 && this.PeekToken(1).
Kind
== SyntaxKind.CommaToken)
6031
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.LessThanToken);
6041
while (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
6044
Debug.Assert(start.
Kind
== SyntaxKind.LessThanToken);
6045
Debug.Assert(greaterThanToken.
Kind
== SyntaxKind.GreaterThanToken);
6058
if (this.CurrentToken.
Kind
== SyntaxKind.OpenBracketToken)
6064
if (this.CurrentToken.
Kind
== SyntaxKind.GreaterThanToken)
6099
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.CurrentToken.
Kind
is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
6126
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.CurrentToken.
Kind
is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
6148
isDefinitelyTypeArgumentList = this.CurrentToken.
Kind
== SyntaxKind.CommaToken;
6166
while (this.CurrentToken.
Kind
== SyntaxKind.CommaToken);
6168
if (this.CurrentToken.
Kind
!= SyntaxKind.GreaterThanToken)
6174
if (this.CurrentToken.
Kind
is SyntaxKind.IdentifierToken)
6183
if (lastScannedType is ScanTypeFlags.TupleType && this.CurrentToken.
Kind
is SyntaxKind.OpenParenToken)
6196
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.CurrentToken.
Kind
is SyntaxKind.CloseParenToken;
6208
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.LessThanToken);
6218
while (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
6235
if (this.CurrentToken.
Kind
== SyntaxKind.GreaterThanToken)
6251
if (this.CurrentToken.
Kind
is SyntaxKind.IdentifierToken && tokenBreaksTypeArgumentList(this.PeekToken(1)))
6260
if (this.CurrentToken.
Kind
is SyntaxKind.IdentifierToken
6261
&& this.PeekToken(1).
Kind
is SyntaxKind.CloseBracketToken)
6266
if (this.CurrentToken.
Kind
== SyntaxKind.CommaToken || this.IsPossibleType())
6291
switch (token.
Kind
)
6345
if (this.CurrentToken.
Kind
== SyntaxKind.OpenBracketToken && this.PeekToken(1).
Kind
!= SyntaxKind.CloseBracketToken)
6361
var varianceToken = this.CurrentToken.
Kind
is SyntaxKind.InKeyword or SyntaxKind.OutKeyword
6388
this.CurrentToken.
Kind
is not SyntaxKind.CommaToken and not SyntaxKind.GreaterThanToken &&
6389
this.PeekToken(1).
Kind
is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken)
6410
=> this.CurrentToken.
Kind
== SyntaxKind.GreaterThanToken;
6414
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.LessThanToken);
6416
while (this.PeekToken(n).
Kind
== SyntaxKind.CommaToken)
6419
return this.PeekToken(n).
Kind
== SyntaxKind.GreaterThanToken;
6452
if (this.CurrentToken.
Kind
== SyntaxKind.ThisKeyword)
6478
if (separator != null && separator.
Kind
== SyntaxKind.ColonColonToken)
6497
if (separator.
Kind
!= SyntaxKind.DotToken)
6499
separator = WithAdditionalDiagnostics(separator, GetExpectedTokenError(SyntaxKind.DotToken, separator.
Kind
, separator.GetLeadingTriviaWidth(), separator.Width));
6503
if (isEvent && this.CurrentToken.
Kind
is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
6574
if (this.CurrentToken.
Kind
== SyntaxKind.DotDotToken)
6582
separator = this.CurrentToken.
Kind
== SyntaxKind.ColonColonToken
6596
if (this.CurrentToken.
Kind
== SyntaxKind.ColonColonToken)
6602
else if (this.CurrentToken.
Kind
== SyntaxKind.DotDotToken)
6631
if (this.CurrentToken.
Kind
!= SyntaxKind.IdentifierToken)
6667
if (separator != null && separator.
Kind
== SyntaxKind.ColonColonToken)
6694
if (separator.
Kind
!= SyntaxKind.DotToken)
6696
separator = WithAdditionalDiagnostics(separator, GetExpectedTokenError(SyntaxKind.DotToken, separator.
Kind
, separator.GetLeadingTriviaWidth(), separator.Width));
6707
return this.CurrentToken.
Kind
== SyntaxKind.ColonColonToken
6719
if (this.PeekToken(1).
Kind
== SyntaxKind.ThisKeyword)
6733
return this.IsDotOrColonColon() || this.CurrentToken.
Kind
== SyntaxKind.DotDotToken;
6741
Debug.Assert(separator.
Kind
is SyntaxKind.DotToken or SyntaxKind.DotDotToken or SyntaxKind.ColonColonToken);
6744
switch (separator.
Kind
)
6786
Debug.Assert(separator.
Kind
== SyntaxKind.DotDotToken);
6855
var tk = this.CurrentToken.
Kind
;
6876
if (this.CurrentToken.
Kind
!= SyntaxKind.IdentifierToken || !this.IsTrueIdentifier())
6883
if (this.CurrentToken.
Kind
== SyntaxKind.LessThanToken)
6898
if (this.CurrentToken.
Kind
== SyntaxKind.RefKeyword)
6903
if (this.CurrentToken.
Kind
== SyntaxKind.ReadOnlyKeyword)
6910
if (this.CurrentToken.
Kind
is SyntaxKind.IdentifierToken or SyntaxKind.ColonColonToken)
6913
if (this.CurrentToken.
Kind
is SyntaxKind.ColonColonToken)
6927
Debug.Assert(this.CurrentToken.
Kind
is SyntaxKind.IdentifierToken);
6930
isAlias = this.PeekToken(1).
Kind
== SyntaxKind.ColonColonToken;
6967
else if (IsPredefinedType(this.CurrentToken.
Kind
))
6973
else if (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken)
6978
if (result == ScanTypeFlags.NotType || mode == ParseTypeMode.DefinitePattern && this.CurrentToken.
Kind
!= SyntaxKind.OpenBracketToken)
6998
switch (this.CurrentToken.
Kind
)
7001
when lastTokenOfType.
Kind
is not SyntaxKind.QuestionToken // don't allow `Type??`
7039
while (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
7044
if (this.CurrentToken.
Kind
!= SyntaxKind.CloseBracketToken)
7077
if (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
7095
while (this.CurrentToken.
Kind
== SyntaxKind.CommaToken);
7097
if (this.CurrentToken.
Kind
== SyntaxKind.CloseParenToken)
7119
if (CurrentToken.
Kind
== SyntaxKind.IdentifierToken)
7127
case var _ when peek1.
Kind
== SyntaxKind.OpenBracketToken:
7137
if (CurrentToken.
Kind
== SyntaxKind.OpenBracketToken)
7154
Debug.Assert(CurrentToken.
Kind
== SyntaxKind.CommaToken);
7177
var validStartingToken = EatToken().
Kind
== SyntaxKind.LessThanToken;
7207
if (!validStartingToken && CurrentToken.
Kind
== SyntaxKind.CloseParenToken)
7221
isNotExpectedFunction: static p => p.CurrentToken.
Kind
!= SyntaxKind.CommaToken,
7242
if (this.CurrentToken.
Kind
== SyntaxKind.VoidKeyword && this.PeekToken(1).
Kind
!= SyntaxKind.AsteriskToken)
7267
if (this.CurrentToken.
Kind
== SyntaxKind.RefKeyword)
7271
this.CurrentToken.
Kind
== SyntaxKind.ReadOnlyKeyword ? this.EatToken() : null,
7315
switch (this.CurrentToken.
Kind
)
7333
if (this.PeekToken(1).
Kind
== SyntaxKind.OpenBracketToken)
7338
this.PeekToken(1).
Kind
is not SyntaxKind.OpenParenToken and not SyntaxKind.OpenBraceToken)
7377
while (this.CurrentToken.
Kind
== SyntaxKind.OpenBracketToken);
7394
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.QuestionToken);
7437
var nextTokenKind = PeekToken(1).
Kind
;
7482
return !CanStartExpression() || this.CurrentToken.
Kind
is SyntaxKind.OpenBracketToken;
7488
this.CurrentToken.
Kind
is SyntaxKind.OpenParenToken or // ctor parameters
7502
switch (this.PeekToken(i).
Kind
)
7523
while (IsMakingProgress(ref lastTokenPosition) && this.CurrentToken.
Kind
!= SyntaxKind.CloseBracketToken)
7525
if (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
7538
if (this.CurrentToken.
Kind
!= SyntaxKind.CloseBracketToken)
7583
if (this.CurrentToken.
Kind
!= SyntaxKind.CloseParenToken)
7587
while (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
7629
if (IsPredefinedType(this.CurrentToken.
Kind
))
7633
if (token.
Kind
== SyntaxKind.VoidKeyword && this.CurrentToken.
Kind
!= SyntaxKind.AsteriskToken)
7642
if (IsTrueIdentifier() || this.CurrentToken.
Kind
== SyntaxKind.ColonColonToken)
7647
if (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken)
7713
Debug.Assert(CurrentToken.
Kind
== SyntaxKind.CommaToken);
7724
lessThanToken.IsMissing && CurrentToken.
Kind
== SyntaxKind.CloseParenToken
7747
if (CurrentToken.
Kind
== SyntaxKind.IdentifierToken)
7763
case var _ when peek1.
Kind
== SyntaxKind.OpenBracketToken:
7775
if (CurrentToken.
Kind
== SyntaxKind.OpenBracketToken)
7793
Debug.Assert(CurrentToken.
Kind
== SyntaxKind.CommaToken);
7809
if (managedSpecifier.
Kind
== SyntaxKind.ManagedKeyword && unmanagedCallingConventions != null)
7823
=> CurrentToken.
Kind
== SyntaxKind.DelegateKeyword && PeekToken(1).
Kind
== SyntaxKind.AsteriskToken;
7828
=> token.
Kind
== SyntaxKind.LessThanToken || token.
Kind
== SyntaxKind.OpenParenToken;
7834
while (this.CurrentToken.
Kind
== SyntaxKind.AsteriskToken)
7854
if (this.CurrentToken.
Kind
!= SyntaxKind.OpenBracketToken)
7868
while (this.CurrentToken.
Kind
== SyntaxKind.OpenBracketToken)
7876
var isCollectionExpression = this.CurrentToken.
Kind
7889
|| IsExpectedBinaryOperator(this.CurrentToken.
Kind
)
7890
|| IsExpectedAssignmentOperator(this.CurrentToken.
Kind
)
7891
|| this.CurrentToken.
Kind
is SyntaxKind.DotDotToken
7892
|| (this.CurrentToken.ContextualKind is SyntaxKind.SwitchKeyword or SyntaxKind.WithKeyword && this.PeekToken(1).
Kind
is SyntaxKind.OpenBraceToken);
7896
this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken)
7955
switch (this.CurrentToken.
Kind
)
8083
this.PeekToken(1).
Kind
== SyntaxKind.ForEachKeyword)
8089
if (PeekToken(2).
Kind
== SyntaxKind.OpenParenToken)
8116
=> PeekToken(1).
Kind
== SyntaxKind.OpenParenToken ? ParseUsingStatement(attributes) : ParseLocalDeclarationStatement(attributes);
8123
=> CurrentToken.ContextualKind == SyntaxKind.AwaitKeyword && PeekToken(1).
Kind
== SyntaxKind.UsingKeyword;
8127
return this.PeekToken(1).
Kind
== SyntaxKind.ColonToken && this.IsTrueIdentifier();
8132
return this.PeekToken(1).
Kind
== SyntaxKind.OpenBraceToken;
8138
this.PeekToken(1).
Kind
is SyntaxKind.ReturnKeyword or SyntaxKind.BreakKeyword;
8147
var tk = this.CurrentToken.
Kind
;
8151
this.PeekToken(1).
Kind
is not SyntaxKind.DotToken // e.g. `int.Parse()` is an expression
8160
Debug.Assert(PeekToken(1).
Kind
!= SyntaxKind.OpenParenToken);
8166
Debug.Assert(PeekToken(2).
Kind
!= SyntaxKind.OpenParenToken);
8222
if (token1.
Kind
== SyntaxKind.DotToken &&
8225
if (PeekToken(2).
Kind
== SyntaxKind.IdentifierToken &&
8226
PeekToken(3).
Kind
== SyntaxKind.IdentifierToken)
8241
var token4Kind = PeekToken(4).
Kind
;
8261
if (st == ScanTypeFlags.MustBeType && this.CurrentToken.
Kind
is not SyntaxKind.DotToken and not SyntaxKind.OpenParenToken)
8266
if (st == ScanTypeFlags.NotType || this.CurrentToken.
Kind
!= SyntaxKind.IdentifierToken)
8289
if (this.CurrentToken.
Kind
!= SyntaxKind.UsingKeyword)
8294
var tk = PeekToken(1).
Kind
;
8355
if (this.CurrentToken.
Kind
is SyntaxKind.OpenBraceToken)
8361
if (identifierOrThisOpt.
Kind
== SyntaxKind.ThisKeyword)
8376
if (this.CurrentToken.
Kind
!= SyntaxKind.IdentifierToken)
8383
if (this.CurrentToken.
Kind
== SyntaxKind.EqualsToken)
8392
return this.CurrentToken.
Kind
is SyntaxKind.CommaToken or SyntaxKind.SemicolonToken;
8410
if (this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken || this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword)
8417
if (this.CurrentToken.
Kind
== SyntaxKind.ColonToken)
8501
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.NewKeyword);
8508
switch (nextToken.
Kind
)
8536
if (SyntaxFacts.GetBaseTypeDeclarationKind(nextToken.
Kind
) != SyntaxKind.None)
8544
if (SyntaxFacts.IsPredefinedType(PeekToken(2).
Kind
))
8551
if (IsTypeModifierOrTypeKeyword(PeekToken(2).
Kind
))
8589
switch (next.
Kind
)
8646
CSharpSyntaxNode openBrace = isAccessorBody && this.CurrentToken.
Kind
!= SyntaxKind.OpenBraceToken
8727
while (this.CurrentToken.
Kind
is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken
8759
return this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken
8771
static (p, _) => p.CurrentToken.
Kind
== SyntaxKind.CloseBraceToken,
8779
var tk = this.CurrentToken.
Kind
;
8843
return this.CurrentToken.
Kind
is SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken;
8906
Debug.Assert(this.CurrentToken.
Kind
is SyntaxKind.TryKeyword or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
8919
Debug.Assert(this.CurrentToken.
Kind
is SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
8933
if (this.CurrentToken.
Kind
== SyntaxKind.CatchKeyword)
8936
while (this.CurrentToken.
Kind
== SyntaxKind.CatchKeyword)
8942
if (this.CurrentToken.
Kind
== SyntaxKind.FinallyKeyword)
8977
return this.CurrentToken.
Kind
is SyntaxKind.CloseBraceToken or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword;
8982
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.CatchKeyword);
8989
if (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken)
9041
return this.CurrentToken.
Kind
is SyntaxKind.CloseParenToken
9050
return this.CurrentToken.
Kind
is SyntaxKind.CloseParenToken
9058
return this.CurrentToken.
Kind
is SyntaxKind.CloseBraceToken
9065
Debug.Assert(this.CurrentToken.
Kind
is SyntaxKind.CheckedKeyword or SyntaxKind.UncheckedKeyword);
9067
if (this.PeekToken(1).
Kind
== SyntaxKind.OpenParenToken)
9074
SyntaxFacts.GetCheckStatement(keyword.
Kind
),
9082
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.DoKeyword);
9106
return this.CurrentToken.
Kind
is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken;
9123
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.ForKeyword);
9125
if (this.EatToken().
Kind
== SyntaxKind.OpenParenToken &&
9127
this.EatToken().
Kind
== SyntaxKind.IdentifierToken &&
9128
this.EatToken().
Kind
== SyntaxKind.InKeyword)
9144
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.ForKeyword);
9165
if (this.PeekToken(1).
Kind
== SyntaxKind.RefKeyword)
9172
isDeclaration = ScanType() != ScanTypeFlags.NotType && this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken;
9178
else if (this.CurrentToken.
Kind
== SyntaxKind.RefKeyword)
9215
else if (this.CurrentToken.
Kind
!= SyntaxKind.SemicolonToken)
9223
if (this.CurrentToken.
Kind
!= SyntaxKind.SemicolonToken)
9229
if (this.CurrentToken.
Kind
!= SyntaxKind.CloseParenToken)
9256
return this.CurrentToken.
Kind
is SyntaxKind.SemicolonToken or SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken;
9274
if (@this.CurrentToken.
Kind
is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
9288
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.ForEachKeyword || this.CurrentToken.
Kind
== SyntaxKind.ForKeyword);
9299
if (this.CurrentToken.
Kind
== SyntaxKind.ForKeyword)
9404
if (ScanType() != ScanTypeFlags.NotType && this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken)
9409
if (this.PeekToken(1).
Kind
== SyntaxKind.CommaToken)
9417
if (this.PeekToken(1).
Kind
is SyntaxKind.CommaToken or SyntaxKind.CloseParenToken)
9443
if (!ScanDesignation(permitTupleDesignation && (typeIsVar || IsPredefinedType(lastTokenOfType.
Kind
))))
9451
return this.CurrentToken.
Kind
== SyntaxKind.CommaToken;
9453
return this.CurrentToken.
Kind
is SyntaxKind.CommaToken or SyntaxKind.CloseParenToken;
9471
switch (this.PeekToken(1).
Kind
)
9505
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.GotoKeyword);
9513
if (this.CurrentToken.
Kind
is SyntaxKind.CaseKeyword or SyntaxKind.DefaultKeyword)
9516
if (caseOrDefault.
Kind
== SyntaxKind.CaseKeyword)
9538
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.IfKeyword);
9552
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.ElseKeyword);
9566
return this.CurrentToken.
Kind
!= SyntaxKind.ElseKeyword
9575
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.LockKeyword);
9587
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.ReturnKeyword);
9591
this.CurrentToken.
Kind
!= SyntaxKind.SemicolonToken ? this.ParsePossibleRefExpression() : null,
9604
if (this.CurrentToken.
Kind
== SyntaxKind.BreakKeyword)
9613
if (this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken)
9634
Debug.Assert(this.CurrentToken.
Kind
is SyntaxKind.SwitchKeyword or SyntaxKind.CaseKeyword);
9659
if (this.CurrentToken.
Kind
is SyntaxKind.CaseKeyword)
9704
return this.CurrentToken.
Kind
== SyntaxKind.CaseKeyword ||
9705
(this.CurrentToken.
Kind
== SyntaxKind.DefaultKeyword && this.PeekToken(1).
Kind
!= SyntaxKind.OpenParenToken);
9719
if (this.CurrentToken.
Kind
== SyntaxKind.CaseKeyword)
9723
if (this.CurrentToken.
Kind
== SyntaxKind.ColonToken)
9738
if (node.
Kind
== SyntaxKind.DiscardPattern)
9760
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.DefaultKeyword);
9782
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.ThrowKeyword);
9786
this.CurrentToken.
Kind
!= SyntaxKind.SemicolonToken ? this.ParseExpressionCore() : null,
9792
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.UnsafeKeyword);
9861
if (this.CurrentToken.
Kind
!= SyntaxKind.IdentifierToken)
9868
switch (this.PeekToken(1).
Kind
)
9888
if (this.CurrentToken.
Kind
== SyntaxKind.ColonToken &&
9920
bool condition1 = st == ScanTypeFlags.MustBeType && this.CurrentToken.
Kind
!= SyntaxKind.DotToken;
9921
bool condition2 = st != ScanTypeFlags.NotType && this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken;
9922
bool condition3 = st == ScanTypeFlags.NonGenericTypeOrExpression || this.PeekToken(1).
Kind
== SyntaxKind.EqualsToken;
9929
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.WhileKeyword);
9943
Debug.Assert(this.IsTrueIdentifier() && this.PeekToken(1).
Kind
== SyntaxKind.ColonToken);
9964
else if (this.CurrentToken.
Kind
== SyntaxKind.UsingKeyword)
10061
if (this.CurrentToken.
Kind
is not (SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword))
10067
? this.CurrentToken.
Kind
is not (SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken)
10068
: this.CurrentToken.
Kind
!= SyntaxKind.IdentifierToken))
10090
if (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken)
10098
done = (this.CurrentToken.
Kind
== SyntaxKind.CloseParenToken);
10111
if (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
10220
switch (this.CurrentToken.
Kind
)
10272
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken);
10278
if (IsDeclarationModifier(this.CurrentToken.
Kind
) ||
10279
IsAdditionalLocalFunctionModifier(this.CurrentToken.
Kind
))
10286
if (ScanType() != ScanTypeFlags.NotType && this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken)
10478
if (IsScript && this.CurrentToken.
Kind
== SyntaxKind.EndOfFileToken)
10522
SyntaxKind tk = this.CurrentToken.
Kind
;
10819
switch (next.
Kind
)
10888
var tk = this.CurrentToken.
Kind
;
10988
else if (tk == SyntaxKind.SwitchKeyword && this.PeekToken(1).
Kind
== SyntaxKind.OpenBraceToken)
10992
else if (tk == SyntaxKind.WithKeyword && this.PeekToken(1).
Kind
== SyntaxKind.OpenBraceToken)
11006
&& this.PeekToken(1).
Kind
is SyntaxKind.GreaterThanToken or SyntaxKind.GreaterThanEqualsToken
11009
if (this.PeekToken(1).
Kind
== SyntaxKind.GreaterThanToken)
11011
if (this.PeekToken(2).
Kind
is SyntaxKind.GreaterThanToken or SyntaxKind.GreaterThanEqualsToken
11014
if (this.PeekToken(2).
Kind
== SyntaxKind.GreaterThanToken)
11079
var kind = opToken2.
Kind
== SyntaxKind.GreaterThanToken ? SyntaxKind.GreaterThanGreaterThanToken : SyntaxKind.GreaterThanGreaterThanEqualsToken;
11085
Debug.Assert(opToken2.
Kind
== SyntaxKind.GreaterThanToken);
11087
var kind = opToken2.
Kind
== SyntaxKind.GreaterThanToken ? SyntaxKind.GreaterThanGreaterThanGreaterThanToken : SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken;
11108
if (opKind == SyntaxKind.SimpleAssignmentExpression && CurrentToken.
Kind
== SyntaxKind.RefKeyword &&
11163
if (CurrentToken.
Kind
!= SyntaxKind.QuestionToken || precedence > Precedence.Conditional)
11178
if (this.CurrentToken.
Kind
!= SyntaxKind.ColonToken &&
11193
if (this.CurrentToken.
Kind
== SyntaxKind.ColonToken)
11205
if (this.CurrentToken.
Kind
== SyntaxKind.EndOfFileToken && this.lexer.InterpolationFollowedByColon)
11292
var tk = this.CurrentToken.
Kind
;
11420
if (this.CurrentToken.
Kind
!= SyntaxKind.DotToken || tk == SyntaxKind.VoidKeyword)
11447
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.BaseKeyword);
11461
if (precedence > Precedence.Assignment || !(this.CurrentToken.IsIdentifierVar() || IsPredefinedType(this.CurrentToken.
Kind
)))
11470
this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken && ScanDesignator() &&
11471
this.CurrentToken.
Kind
== SyntaxKind.EqualsToken;
11476
switch (this.CurrentToken.
Kind
)
11495
switch (this.CurrentToken.
Kind
)
11515
while (this.PeekToken(tokenIndex).
Kind
== SyntaxKind.StaticKeyword ||
11521
return this.PeekToken(tokenIndex).
Kind
== SyntaxKind.DelegateKeyword &&
11522
this.PeekToken(tokenIndex + 1).
Kind
!= SyntaxKind.AsteriskToken;
11535
switch (this.CurrentToken.
Kind
)
11547
expr = _syntaxFactory.PostfixUnaryExpression(SyntaxFacts.GetPostfixUnaryExpression(this.CurrentToken.
Kind
), expr, this.EatToken());
11551
if (this.PeekToken(1).
Kind
== SyntaxKind.IdentifierToken)
11583
this.PeekToken(1).
Kind
== SyntaxKind.IdentifierToken &&
11618
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.QuestionToken);
11619
var nextTokenKind = this.PeekToken(1).
Kind
;
11641
return this.CurrentToken.
Kind
!= SyntaxKind.ColonToken;
11650
Debug.Assert(this.CurrentToken.
Kind
is SyntaxKind.DotToken or SyntaxKind.OpenBracketToken);
11651
ExpressionSyntax expr = this.CurrentToken.
Kind
switch
11664
while (this.CurrentToken.
Kind
== SyntaxKind.ExclamationToken)
11668
switch (this.CurrentToken.
Kind
)
11698
while (this.PeekToken(index).
Kind
== SyntaxKind.ExclamationToken)
11701
return this.PeekToken(index).
Kind
11754
openToken = this.CurrentToken.
Kind
is SyntaxKind.OpenParenToken or SyntaxKind.OpenBracketToken
11761
if (this.CurrentToken.
Kind
!= closeKind && this.CurrentToken.
Kind
!= SyntaxKind.SemicolonToken)
11789
else if (isIndexer && this.CurrentToken.
Kind
== closeKind)
11805
closeToken = this.CurrentToken.
Kind
is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken
11814
if (@this.CurrentToken.
Kind
is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
11826
return this.CurrentToken.
Kind
is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken;
11831
return IsValidArgumentRefKindKeyword(this.CurrentToken.
Kind
) || this.IsPossibleExpression();
11849
var nameColon = this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken && this.PeekToken(1).
Kind
== SyntaxKind.ColonToken
11856
if (IsValidArgumentRefKindKeyword(this.CurrentToken.
Kind
) &&
11858
!(this.CurrentToken.
Kind
== SyntaxKind.RefKeyword &&
11866
if (isIndexer && this.CurrentToken.
Kind
is SyntaxKind.CommaToken or SyntaxKind.CloseBracketToken)
11870
else if (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
11882
expression = refKindKeyword?.
Kind
== SyntaxKind.OutKeyword
11902
if (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken)
11946
Debug.Assert(checkedOrUnchecked.
Kind
is SyntaxKind.CheckedKeyword or SyntaxKind.UncheckedKeyword);
11947
var kind = checkedOrUnchecked.
Kind
== SyntaxKind.CheckedKeyword ? SyntaxKind.CheckedExpression : SyntaxKind.UncheckedExpression;
11975
Debug.Assert(CurrentToken.
Kind
== SyntaxKind.OpenParenToken);
11991
if (tk.
Kind
is not SyntaxKind.IdentifierToken and not SyntaxKind.CommaToken
11992
&& !SyntaxFacts.IsPredefinedType(tk.
Kind
)
12000
return this.PeekToken(curTk - 1).
Kind
== SyntaxKind.CloseParenToken &&
12001
this.PeekToken(curTk).
Kind
== SyntaxKind.EqualsGreaterThanToken;
12009
if (PeekToken(skipIndex).
Kind
== SyntaxKind.ExclamationToken
12010
&& this.PeekToken(skipIndex + 1).
Kind
== SyntaxKind.ExclamationToken)
12016
if (this.PeekToken(skipIndex).
Kind
== SyntaxKind.CloseParenToken
12017
&& this.PeekToken(skipIndex + 1).
Kind
== SyntaxKind.EqualsGreaterThanToken)
12024
if (this.PeekToken(1).
Kind
== SyntaxKind.CloseParenToken
12025
&& this.PeekToken(2).
Kind
== SyntaxKind.EqualsGreaterThanToken)
12033
if (this.PeekToken(1).
Kind
== SyntaxKind.ParamsKeyword)
12045
if (token1.
Kind
== SyntaxKind.IdentifierToken)
12052
if (token2.
Kind
== SyntaxKind.CommaToken)
12060
if (token2.
Kind
== SyntaxKind.ExclamationToken
12061
&& token3.
Kind
== SyntaxKind.ExclamationToken
12062
&& this.PeekToken(4).
Kind
== SyntaxKind.CommaToken)
12074
Debug.Assert(CurrentToken.
Kind
== SyntaxKind.OpenParenToken);
12132
if (this.CurrentToken.
Kind
== SyntaxKind.OpenBracketToken)
12140
switch (this.CurrentToken.
Kind
)
12146
return this.PeekToken(1).
Kind
== SyntaxKind.EqualsGreaterThanToken;
12156
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken);
12184
if (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
12192
if (expression.Kind == SyntaxKind.IdentifierName && this.CurrentToken.
Kind
== SyntaxKind.ColonToken)
12213
while (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
12218
var argument = expression.Kind != SyntaxKind.IdentifierName || this.CurrentToken.
Kind
!= SyntaxKind.ColonToken
12244
if (this.CurrentToken.
Kind
!= SyntaxKind.OpenParenToken)
12257
if (this.CurrentToken.
Kind
!= SyntaxKind.CloseParenToken)
12264
if (forPattern && this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken)
12286
return !forPattern || this.CurrentToken.
Kind
switch
12308
return this.CurrentToken.
Kind
== SyntaxKind.OpenBracketToken || CanFollowCast(this.CurrentToken.
Kind
);
12314
if (this.CurrentToken.
Kind
== SyntaxKind.OpenBracketToken &&
12315
this.PeekToken(1).
Kind
== SyntaxKind.CloseBracketToken)
12323
return CanFollowCast(this.CurrentToken.
Kind
);
12375
if (token1.
Kind
== SyntaxKind.EqualsGreaterThanToken)
12383
if ((token1.
Kind
, token2.
Kind
, token3.
Kind
) is
12402
if (CurrentToken.
Kind
== SyntaxKind.OpenBracketToken)
12418
if (this.CurrentToken.
Kind
== SyntaxKind.StaticKeyword)
12424
this.PeekToken(1).
Kind
== SyntaxKind.StaticKeyword)
12437
if (this.CurrentToken.
Kind
== SyntaxKind.EqualsGreaterThanToken)
12447
if (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken)
12455
if (this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken &&
12456
this.PeekToken(1).
Kind
== SyntaxKind.EqualsGreaterThanToken)
12475
if (st == ScanTypeFlags.NotType || this.CurrentToken.
Kind
!= SyntaxKind.OpenParenToken)
12492
if (this.CurrentToken.
Kind
== SyntaxKind.IdentifierToken &&
12493
this.PeekToken(1).
Kind
== SyntaxKind.EqualsGreaterThanToken)
12500
if (this.CurrentToken.
Kind
!= SyntaxKind.OpenParenToken)
12573
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.NewKeyword);
12592
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.OpenBracketToken);
12636
return this.CurrentToken.
Kind
== SyntaxKind.NewKeyword && this.PeekToken(1).
Kind
== SyntaxKind.OpenBraceToken;
12644
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken);
12681
return this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken;
12686
return IsTrueIdentifier() && this.PeekToken(1).
Kind
== SyntaxKind.EqualsToken;
12691
return this.CurrentToken.
Kind
== SyntaxKind.OpenBracketToken;
12707
if (this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken)
12717
if (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken)
12722
if (this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken)
12744
if (this.CurrentToken.
Kind
!= SyntaxKind.OpenParenToken)
12755
switch (this.CurrentToken.
Kind
)
12885
this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken
12896
this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken
12924
Debug.Assert(this.CurrentToken.
Kind
is SyntaxKind.NewKeyword or SyntaxKind.StackAllocKeyword);
12925
return this.PeekToken(1).
Kind
== SyntaxKind.OpenBracketToken;
12951
if (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
13018
if (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
13040
this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken ? this.ParseArrayInitializer() : null);
13068
if (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken)
13081
if (this.CurrentToken.
Kind
!= SyntaxKind.OpenBraceToken)
13112
if (this.CurrentToken.
Kind
== SyntaxKind.StaticKeyword)
13135
switch (this.PeekToken(1).
Kind
)
13158
if (this.CurrentToken.
Kind
== SyntaxKind.ColonToken &&
13195
if (CurrentToken.
Kind
!= SyntaxKind.OpenParenToken)
13202
if (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken)
13216
var identifier = (this.CurrentToken.
Kind
!= SyntaxKind.IdentifierToken && this.PeekToken(1).
Kind
== SyntaxKind.EqualsGreaterThanToken)
13229
Debug.Assert(greaterThan.
Kind
== SyntaxKind.GreaterThanToken);
13248
=> CurrentToken.
Kind
== SyntaxKind.OpenBraceToken
13287
switch (this.CurrentToken.
Kind
)
13305
return IsPredefinedType(this.CurrentToken.
Kind
);
13345
if (IsPredefinedType(this.CurrentToken.
Kind
))
13351
if (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken)
13374
if (peek1.
Kind
!= SyntaxKind.CommaToken &&
13375
peek1.
Kind
!= SyntaxKind.CloseParenToken &&
13376
peek1.
Kind
!= SyntaxKind.EqualsGreaterThanToken &&
13377
peek1.
Kind
!= SyntaxKind.OpenBraceToken &&
13378
peek1.
Kind
!= SyntaxKind.ExclamationToken &&
13379
peek1.
Kind
!= SyntaxKind.EqualsToken)
13439
var pk1 = this.PeekToken(1).
Kind
;
13447
var pk2 = this.PeekToken(2).
Kind
;
13484
return this.ScanType() != ScanTypeFlags.NotType && this.CurrentToken.
Kind
is SyntaxKind.IdentifierToken or SyntaxKind.InKeyword;
13555
var type = this.PeekToken(1).
Kind
!= SyntaxKind.InKeyword
13561
(this.CurrentToken.
Kind
!= SyntaxKind.IdentifierToken || SyntaxFacts.IsQueryContextualKeyword(this.CurrentToken.ContextualKind)))
13588
type: this.PeekToken(1).
Kind
!= SyntaxKind.InKeyword
13631
while (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
13633
if (this.CurrentToken.
Kind
is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
13637
else if (this.CurrentToken.
Kind
== SyntaxKind.CommaToken)
13675
if (direction.
Kind
== SyntaxKind.DescendingKeyword)
13828
if (requireOneElement || this.CurrentToken.
Kind
!= closeTokenKind)
13845
if (this.CurrentToken.
Kind
== closeTokenKind)
13851
nodes.AddSeparator(this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken
13858
if (this.CurrentToken.
Kind
== closeTokenKind)
13893
if (this.CurrentToken.
Kind
== separatorTokenKind)
13898
if (allowSemicolonAsSeparator && this.CurrentToken.
Kind
is SyntaxKind.SemicolonToken)
13982
if (this.CurrentToken.
Kind
== SyntaxKind.EndOfFileToken) return node;
13984
while (this.CurrentToken.
Kind
!= SyntaxKind.EndOfFileToken)
Parser\LanguageParser_InterpolatedString.cs (3)
40
Debug.Assert(this.CurrentToken.
Kind
== SyntaxKind.InterpolatedStringToken);
408
if (this.CurrentToken.
Kind
!= SyntaxKind.CommaToken)
466
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
)
241
switch (this.CurrentToken.
Kind
)
273
(this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken || this.IsValidPatternDesignation(inSwitchArmPattern)))
282
if (this.CurrentToken.
Kind
== SyntaxKind.OpenParenToken && (type != null || !looksLikeCast()))
357
if (this.CurrentToken.
Kind
== SyntaxKind.OpenBraceToken)
383
if (CurrentToken.
Kind
== SyntaxKind.IdentifierToken)
391
var tk = PeekToken(1).
Kind
;
474
if (this.CurrentToken.
Kind
!= SyntaxKind.OpenParenToken)
506
if (this.CurrentToken.
Kind
== SyntaxKind.ColonToken && ConvertPatternToExpressionIfPossible(pattern, permitTypeArguments: true) is ExpressionSyntax expr)
527
this.CurrentToken.
Kind
is
540
if (@this.CurrentToken.
Kind
is SyntaxKind.CloseParenToken or SyntaxKind.CloseBraceToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
547
if (@this._termState.HasFlag(TerminatorState.IsExpressionOrPatternInCaseLabelOfSwitchStatement) && @this.CurrentToken.
Kind
is SyntaxKind.ColonToken)
556
if (@this._termState.HasFlag(TerminatorState.IsPatternInSwitchExpressionArm) && @this.CurrentToken.
Kind
is SyntaxKind.EqualsGreaterThanToken or SyntaxKind.ColonToken)
581
while (this.CurrentToken.
Kind
!= SyntaxKind.CloseBraceToken)
587
var errantCase = this.CurrentToken.
Kind
== SyntaxKind.CaseKeyword
606
this.CurrentToken.
Kind
== SyntaxKind.ColonToken
612
if (errantCase is null && switchExpressionCase.FullWidth == 0 && this.CurrentToken.
Kind
!= SyntaxKind.CommaToken)
619
if (this.CurrentToken.
Kind
!= SyntaxKind.CloseBraceToken)
621
var commaToken = this.CurrentToken.
Kind
== SyntaxKind.SemicolonToken
Parser\Lexer.cs (3)
2352
if (directive.
Kind
== SyntaxKind.EndIfDirectiveTrivia || (branching != null && branching.BranchTaken))
2356
else if (directive.
Kind
== SyntaxKind.IfDirectiveTrivia)
2680
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)
1091
if (token.
Kind
!= token.ContextualKind)
1112
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
);
257
return this.
Kind
== SyntaxKind.EndOfLineTrivia
258
|| 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)
237
return this.
Kind
;
251
get { return SyntaxFacts.GetText(this.
Kind
); }
268
switch (this.
Kind
)
331
return new SyntaxTokenWithTrivia(this.
Kind
, trivia, null, this.GetDiagnostics(), this.GetAnnotations());
341
return new SyntaxTokenWithTrivia(this.
Kind
, null, trivia, this.GetDiagnostics(), this.GetAnnotations());
347
return new SyntaxToken(this.
Kind
, this.FullWidth, diagnostics, this.GetAnnotations());
353
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\SyntaxFactory.cs (1)
1668
if (token.
Kind
== SyntaxKind.EndOfFileToken)
Syntax\SyntaxFacts.cs (1)
450
return node.IsIdentifierVar() || IsPredefinedType(node.
Kind
);