780 references to CurrentToken
Microsoft.CodeAnalysis.CSharp (780)
Parser\DirectiveParser.cs (28)
50
SyntaxKind contextualKind = this.
CurrentToken
.ContextualKind;
89
result = (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken) ?
377
switch (this.
CurrentToken
.Kind)
398
if (this.
CurrentToken
.Kind == SyntaxKind.StringLiteralToken &&
399
(line.IsMissing || line.GetTrailingTriviaWidth() > 0 || this.
CurrentToken
.GetLeadingTriviaWidth() > 0)) //require separation between line number and file name
414
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
433
var characterOffset = (
CurrentToken
.Kind == SyntaxKind.NumericLiteralToken) ?
546
SyntaxToken setting = this.
CurrentToken
.Kind switch
554
SyntaxToken target = this.
CurrentToken
.Kind switch
575
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WarningKeyword)
579
if (this.
CurrentToken
.Kind == SyntaxKind.DisableKeyword || this.
CurrentToken
.Kind == SyntaxKind.RestoreKeyword)
584
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfDirectiveToken)
589
if (this.
CurrentToken
.Kind == SyntaxKind.NumericLiteralToken)
601
else if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
622
if (this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
640
else if (this.
CurrentToken
.Kind == SyntaxKind.ChecksumKeyword)
729
if (this.
CurrentToken
.Kind != SyntaxKind.EndOfDirectiveToken &&
730
this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
749
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfDirectiveToken &&
750
this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
757
SyntaxToken endOfDirective = this.
CurrentToken
.Kind == SyntaxKind.EndOfDirectiveToken
778
while (this.
CurrentToken
.Kind == SyntaxKind.BarBarToken)
791
while (this.
CurrentToken
.Kind == SyntaxKind.AmpersandAmpersandToken)
804
while (this.
CurrentToken
.Kind == SyntaxKind.EqualsEqualsToken || this.
CurrentToken
.Kind == SyntaxKind.ExclamationEqualsToken)
816
if (this.
CurrentToken
.Kind == SyntaxKind.ExclamationToken)
827
var k = this.
CurrentToken
.Kind;
Parser\DocumentationCommentParser.cs (90)
81
if (this.
CurrentToken
.Kind != SyntaxKind.EndOfDocumentationCommentToken)
101
bool endTag = this.
CurrentToken
.Kind == SyntaxKind.LessThanSlashToken;
108
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfDocumentationCommentToken)
147
switch (this.
CurrentToken
.Kind)
171
switch (this.
CurrentToken
.Kind)
190
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
191
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken
192
|| this.
CurrentToken
.Kind == SyntaxKind.XmlEntityLiteralToken)
218
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
258
if (this.
CurrentToken
.Kind != SyntaxKind.GreaterThanToken)
261
p => p.
CurrentToken
.Kind != SyntaxKind.GreaterThanToken,
328
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
344
p => p.
CurrentToken
.Kind != SyntaxKind.IdentifierName,
347
p => p.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken
348
|| p.
CurrentToken
.Kind == SyntaxKind.SlashGreaterThanToken
349
|| p.
CurrentToken
.Kind == SyntaxKind.LessThanToken
350
|| p.
CurrentToken
.Kind == SyntaxKind.LessThanSlashToken
351
|| p.
CurrentToken
.Kind == SyntaxKind.EndOfDocumentationCommentToken
352
|| p.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken,
452
switch (this.
CurrentToken
.Kind)
525
SyntaxToken openQuote = EatToken(this.
CurrentToken
.Kind == SyntaxKind.SingleQuoteToken
532
SyntaxToken current = this.
CurrentToken
;
539
current = this.
CurrentToken
;
606
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
607
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken
608
|| this.
CurrentToken
.Kind == SyntaxKind.XmlEntityLiteralToken
609
|| this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
631
if (IsNonAsciiQuotationMark(this.
CurrentToken
))
636
var quoteKind = this.
CurrentToken
.Kind == SyntaxKind.SingleQuoteToken
650
if (IsNonAsciiQuotationMark(this.
CurrentToken
))
685
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
725
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
726
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken
727
|| this.
CurrentToken
.Kind == SyntaxKind.MinusMinusToken)
752
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
753
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken)
774
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
775
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken)
900
else if (type.Kind != SyntaxKind.QualifiedName && this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
940
switch (
CurrentToken
.Kind)
949
case SyntaxKind.IdentifierToken when
CurrentToken
.ContextualKind == SyntaxKind.ExtensionKeyword:
973
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.ThisKeyword);
987
Debug.Assert(
CurrentToken
.ContextualKind == SyntaxKind.ExtensionKeyword);
990
TypeArgumentListSyntax? typeArguments = (
CurrentToken
.Kind == SyntaxKind.LessThanToken) ? ParseTypeArguments(typeArgumentsMustBeIdentifiers: true) : null;
991
CrefParameterListSyntax? parameters = (
CurrentToken
.Kind == SyntaxKind.OpenParenToken) ? ParseCrefParameterList() : null;
993
if (parameters is null ||
CurrentToken
.Kind != SyntaxKind.DotToken)
1018
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OperatorKeyword);
1024
if (SyntaxFacts.IsAnyOverloadableOperator(
CurrentToken
.Kind))
1035
if (SyntaxFacts.IsUnaryOperatorDeclarationToken(
CurrentToken
.Kind) || SyntaxFacts.IsBinaryExpressionOperatorToken(
CurrentToken
.Kind))
1048
if (operatorToken.Kind == SyntaxKind.GreaterThanToken && LanguageParser.NoTriviaBetween(operatorToken,
CurrentToken
))
1050
if (
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
1054
if (LanguageParser.NoTriviaBetween(operatorToken2,
CurrentToken
) &&
1055
CurrentToken
.Kind is (SyntaxKind.GreaterThanToken or SyntaxKind.GreaterThanEqualsToken))
1091
else if (
CurrentToken
.Kind == SyntaxKind.EqualsToken)
1101
else if (
CurrentToken
.Kind == SyntaxKind.GreaterThanEqualsToken)
1159
if (LanguageParser.NoTriviaBetween(operatorToken,
CurrentToken
) &&
CurrentToken
.Kind == SyntaxKind.EqualsToken)
1181
(isConversion || SyntaxFacts.IsAnyOverloadableOperator(
CurrentToken
.Kind)))
1190
if (
CurrentToken
.Kind == SyntaxKind.UncheckedKeyword)
1207
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.ExplicitKeyword ||
1208
CurrentToken
.Kind == SyntaxKind.ImplicitKeyword);
1245
if (
CurrentToken
.Kind != openKind)
1255
while (
CurrentToken
.Kind == SyntaxKind.CommaToken || IsPossibleCrefParameter())
1259
if (
CurrentToken
.Kind != closeKind)
1270
Debug.Assert(
CurrentToken
.Kind != SyntaxKind.CommaToken);
1295
SyntaxKind kind = this.
CurrentToken
.Kind;
1317
switch (
CurrentToken
.Kind)
1327
if (
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword && refKindOpt is not null)
1354
if (
CurrentToken
.Kind != SyntaxKind.LessThanToken)
1364
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.LessThanToken);
1382
var currentKind =
CurrentToken
.Kind;
1384
SyntaxFacts.IsPredefinedType(
CurrentToken
.Kind))
1444
if (SyntaxFacts.IsPredefinedType(
CurrentToken
.Kind))
1453
else if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken && PeekToken(1).Kind == SyntaxKind.ColonColonToken)
1473
if (checkForMember && (leftName.IsMissing ||
CurrentToken
.Kind != SyntaxKind.DotToken))
1485
while (
CurrentToken
.Kind == SyntaxKind.DotToken)
1494
if (checkForMember && (rightName.IsMissing ||
CurrentToken
.Kind != SyntaxKind.DotToken))
1516
if (
CurrentToken
.Kind == SyntaxKind.QuestionToken)
1521
while (
CurrentToken
.Kind == SyntaxKind.AsteriskToken)
1526
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
1532
while (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
1538
while (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
1540
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
1590
switch (
CurrentToken
.Kind)
1602
return
CurrentToken
.Text == SyntaxFacts.GetText(SyntaxKind.LessThanToken) ||
1603
IsNonAsciiQuotationMark(
CurrentToken
);
1658
switch (
CurrentToken
.Kind)
1670
return
CurrentToken
.Text == SyntaxFacts.GetText(SyntaxKind.LessThanToken) ||
1671
IsNonAsciiQuotationMark(
CurrentToken
);
Parser\LanguageParser.cs (613)
96
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken)
251
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NamespaceKeyword);
264
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
268
else if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || IsPossibleNamespaceMemberDeclaration())
586
switch (this.
CurrentToken
.Kind)
675
if (this.
CurrentToken
.ContextualKind != SyntaxKind.GlobalKeyword || this.PeekToken(1).Kind != SyntaxKind.UsingKeyword)
871
switch (this.
CurrentToken
.Kind)
880
return IsPossibleStartOfTypeDeclaration(this.
CurrentToken
.Kind);
886
if (this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword)
903
return this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken;
928
return this.
CurrentToken
.Kind == SyntaxKind.ExternKeyword
941
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ExternKeyword);
965
var globalToken = this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword
969
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.UsingKeyword);
976
if (staticToken is null && unsafeToken != null && this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
988
var isAliasToFunctionPointer = alias != null && this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword;
1007
type = _syntaxFactory.IdentifierName(CreateMissingToken(SyntaxKind.IdentifierToken, this.
CurrentToken
.Kind));
1030
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken
1050
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
1068
if (SyntaxFacts.IsLiteralExpression(this.
CurrentToken
.Kind))
1112
return this.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken
1117
=> IsSomeWord(this.
CurrentToken
.Kind) && this.PeekToken(1).Kind == SyntaxKind.ColonToken;
1162
if (this.
CurrentToken
.Kind == SyntaxKind.DotToken)
1168
if (this.
CurrentToken
.Kind == SyntaxKind.MinusGreaterThanToken)
1173
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken &&
1186
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttribute(),
1187
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
1216
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
1241
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttributeArgument(),
1242
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
1276
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
1371
var newMod = GetModifierExcludingScoped(this.
CurrentToken
);
1548
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None);
1567
(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword))
1584
var currentTokenKind = this.
CurrentToken
.Kind;
1606
var currentTokenKind = this.
CurrentToken
.Kind;
1624
if (SyntaxFacts.IsPredefinedType(this.
CurrentToken
.Kind))
1631
if (IsNonContextualModifier(this.
CurrentToken
))
1666
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword);
1702
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword);
1735
switch (this.
CurrentToken
.Kind)
1738
if (this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
1758
switch (this.
CurrentToken
.Kind)
1776
Debug.Assert(
CurrentToken
.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword or SyntaxKind.UnionKeyword);
1780
throw ExceptionUtilities.UnexpectedValue(this.
CurrentToken
.Kind);
1786
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword or SyntaxKind.InterfaceKeyword ||
1787
this.
CurrentToken
.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword or SyntaxKind.UnionKeyword);
1809
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
1822
var paramList =
CurrentToken
.Kind == SyntaxKind.OpenParenToken || isExtension
1834
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
1845
if (
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
1869
SyntaxKind kind = this.
CurrentToken
.Kind;
1905
? this.CreateMissingToken(SyntaxKind.CloseBraceToken, this.
CurrentToken
.Kind)
1928
if (this.
CurrentToken
.ContextualKind == SyntaxKind.RecordKeyword)
1931
recordModifier = this.
CurrentToken
.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword
1938
if (this.
CurrentToken
.Kind is SyntaxKind.StructKeyword or SyntaxKind.ClassKeyword &&
2108
SyntaxKind kind = this.
CurrentToken
.Kind;
2156
return this.IsPossibleMemberStart() || this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken;
2161
return this.
CurrentToken
.Kind is SyntaxKind.ColonToken or SyntaxKind.OpenBraceToken
2178
list.Add(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken
2185
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken ||
2191
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
2205
if (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None)
2228
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttribute(),
2229
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || p.IsCurrentTokenWhereOfConstraintClause(),
2237
this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword &&
2244
while (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
2262
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.IsCurrentTokenWhereOfConstraintClause())
2276
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
2277
|| ((_termState & TerminatorState.IsEndOfTypeSignature) != 0 && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
2278
|| this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
2279
|| this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
2283
else if (haveComma = (this.
CurrentToken
.Kind == SyntaxKind.CommaToken) || this.IsPossibleTypeParameterConstraint())
2323
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleTypeParameterConstraint(),
2324
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || p.IsCurrentTokenWhereOfConstraintClause(),
2331
switch (this.
CurrentToken
.Kind)
2340
return (this.
CurrentToken
.ContextualKind == SyntaxKind.AllowsKeyword && PeekToken(1).Kind == SyntaxKind.RefKeyword) || this.IsTrueIdentifier();
2342
return IsPredefinedType(this.
CurrentToken
.Kind);
2348
return this.
CurrentToken
.Kind switch
2360
this.
CurrentToken
.Kind == SyntaxKind.QuestionToken
2392
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AllowsKeyword &&
2406
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken && PeekToken(1).Kind == SyntaxKind.RefKeyword)
2424
return CanStartMember(this.
CurrentToken
.Kind);
2485
switch (this.
CurrentToken
.Kind)
2496
switch (
CurrentToken
.ContextualKind)
2646
switch (this.
CurrentToken
.Kind)
2688
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken)
2722
if (this.
CurrentToken
.Kind == SyntaxKind.ConstKeyword)
2735
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
2741
if (this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword)
2753
if (this.
CurrentToken
.Kind == SyntaxKind.NamespaceKeyword)
2775
if (this.
CurrentToken
.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken &&
3016
if (
CurrentToken
.Kind == SyntaxKind.UsingKeyword)
3021
if (
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
3036
if (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None &&
3037
this.
CurrentToken
.ContextualKind is not (SyntaxKind.PartialKeyword or SyntaxKind.AsyncKeyword or SyntaxKind.RequiredKeyword or SyntaxKind.FileKeyword or SyntaxKind.ClosedKeyword or SyntaxKind.SafeKeyword) &&
3040
var misplacedModifier = this.
CurrentToken
;
3103
offset: incompleteMember.Width + incompleteMember.GetTrailingTriviaWidth() + this.
CurrentToken
.GetLeadingTriviaWidth(),
3104
this.
CurrentToken
.Width,
3106
this.
CurrentToken
.Text);
3170
|| this.
CurrentToken
.Kind is not SyntaxKind.OpenParenToken and not SyntaxKind.OpenBraceToken and not SyntaxKind.EqualsGreaterThanToken) &&
3278
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken)
3284
if (this.
CurrentToken
.Kind == SyntaxKind.TildeToken)
3290
if (this.
CurrentToken
.Kind == SyntaxKind.ConstKeyword)
3296
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
3302
if (this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword)
3410
return this.
CurrentToken
.ContextualKind == SyntaxKind.ExtensionKeyword &&
3442
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
3447
if (this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
3485
return this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword or SyntaxKind.OperatorKeyword;
3543
var currentTokenKind = this.
CurrentToken
.Kind;
3560
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.ColonToken or SyntaxKind.EqualsGreaterThanToken);
3563
var token = this.
CurrentToken
.Kind is SyntaxKind.BaseKeyword or SyntaxKind.ThisKeyword
3567
var argumentList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken
3585
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.TildeToken);
3611
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3619
blockBody = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
3623
expressionBody = this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
3634
else if (parseSemicolonAfterBlock && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3646
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
3652
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
3658
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
3674
=> this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3678
return this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3682
=> this.
CurrentToken
.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
3685
=> this.
CurrentToken
.Kind == (errored ? SyntaxKind.CloseParenToken : SyntaxKind.GreaterThanToken);
3688
=> this.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken;
3705
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
3710
else if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
3713
var colonToken = this.
CurrentToken
;
3760
switch (this.
CurrentToken
.Kind)
3779
if (this.
CurrentToken
.Kind is not (SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword))
3783
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
3793
if (this.
CurrentToken
.Kind == SyntaxKind.OperatorKeyword)
3807
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken))
3813
separatorKind = this.
CurrentToken
.Kind;
3835
if (this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword ||
3857
var style = this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword
3867
if (!style.IsMissing && explicitInterfaceOpt is not null && this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword && style.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia))
3899
bool couldBeParameterList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken;
3904
this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
3935
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
3952
if (this.
CurrentToken
.Kind == SyntaxKind.OperatorKeyword)
3962
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken);
4001
if (
CurrentToken
.Kind == SyntaxKind.UncheckedKeyword)
4020
var firstToken = this.
CurrentToken
;
4053
if (SyntaxFacts.IsAnyOverloadableOperator(this.
CurrentToken
.Kind))
4062
if (this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword)
4065
(opTokenErrorOffset, opTokenErrorWidth) = (0, this.
CurrentToken
.Width);
4097
var tk = this.
CurrentToken
;
4104
tk = this.
CurrentToken
;
4236
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
4244
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4253
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
4288
if (this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken)
4296
var accessorList = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
4304
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
4310
else if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
4322
else if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4407
if (this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken)
4442
var refKeyword = this.
CurrentToken
.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
4453
static p => p.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken && !p.IsPossibleAccessor(),
4460
return this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken
4462
|| SyntaxFacts.GetAccessorDeclarationKind(this.
CurrentToken
.ContextualKind) != SyntaxKind.None
4463
|| this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken // for accessor blocks w/ missing keyword
4464
|| this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken // for empty body accessors w/ missing keyword
4486
if (GetModifierExcludingScoped(this.
CurrentToken
) == DeclarationModifiers.None)
4634
var token = (first && !this.
CurrentToken
.ContainsDiagnostics) ? this.EatTokenEvenWithIncorrectKind(expected) : this.EatToken();
4660
var token = (first && !this.
CurrentToken
.ContainsDiagnostics) ? this.EatTokenWithPrejudice(errorCode) : this.EatToken();
4716
bool currentTokenIsSemicolon = this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken;
4717
bool currentTokenIsArrow = this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken;
4718
bool currentTokenIsOpenBraceToken = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken;
4900
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleParameter(),
4901
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
4908
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken;
4913
switch (this.
CurrentToken
.Kind)
4925
return IsParameterModifierExcludingScoped(this.
CurrentToken
) ||
4927
IsPredefinedType(this.
CurrentToken
.Kind);
4987
if (this.
CurrentToken
.Kind == SyntaxKind.ArgListKeyword)
4998
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && IsCurrentTokenWhereOfConstraintClause())
5005
identifier = identifierIsOptional && this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken
5011
if (identifier is not null && this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind is SyntaxKind.CloseBracketToken)
5060
if (IsParameterModifierExcludingScoped(this.
CurrentToken
))
5106
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword);
5124
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.EventKeyword);
5148
if (explicitInterfaceOpt != null && this.
CurrentToken
.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
5200
if (explicitInterfaceOpt != null && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5227
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5280
if (this.
CurrentToken
.Kind == SyntaxKind.DotToken)
5296
return this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken;
5361
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5365
else if (stopOnCloseParen && this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
5369
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
5419
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
5420
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
5575
var currentTokenKind = this.
CurrentToken
.Kind;
5586
currentTokenKind = this.
CurrentToken
.Kind;
5636
switch (this.
CurrentToken
.Kind)
5647
var refKeyword = isLocalOrField && !isConst && this.
CurrentToken
.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
5724
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5742
Debug.Assert(this.
CurrentToken
.Kind != SyntaxKind.EqualsToken);
5782
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5796
this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
5821
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or SyntaxKind.LessThanToken);
5829
(this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.EqualsGreaterThanToken ||
5830
this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword))
5840
switch (this.
CurrentToken
.Kind)
5852
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
5859
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.IsPossibleExpression();
5878
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword);
5889
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
5911
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.EnumKeyword);
5926
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
5942
if (
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5987
static p => p.
CurrentToken
.Kind is not SyntaxKind.CommaToken and not SyntaxKind.SemicolonToken && !p.IsPossibleEnumMemberDeclaration(),
5988
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
6003
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
6008
this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBraceToken
6018
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken || this.IsTrueIdentifier();
6023
return this.
CurrentToken
.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
6062
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
6102
var ctk = this.
CurrentToken
.Kind;
6114
result = this.AddError(result, ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
6140
if (this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword)
6153
return
CurrentToken
.ContextualKind == SyntaxKind.FieldKeyword &&
6160
if (this.
CurrentToken
.Kind != SyntaxKind.LessThanToken)
6190
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
6191
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
6203
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken or SyntaxKind.InKeyword or SyntaxKind.OutKeyword)
6212
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
6231
this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword ? EatToken() : null,
6248
if (this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
6258
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6283
if (this.
CurrentToken
.Kind != SyntaxKind.LessThanToken)
6333
switch (this.
CurrentToken
.Kind)
6415
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6425
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6442
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
6448
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
6457
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6492
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
6519
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
6541
isDefinitelyTypeArgumentList = this.
CurrentToken
.Kind == SyntaxKind.CommaToken;
6559
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken);
6561
if (this.
CurrentToken
.Kind != SyntaxKind.GreaterThanToken)
6567
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken)
6576
if (lastScannedType is ScanTypeFlags.TupleType && this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken)
6589
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken;
6601
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6611
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6628
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
6635
if (tokenBreaksTypeArgumentList(this.
CurrentToken
))
6644
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken && tokenBreaksTypeArgumentList(this.PeekToken(1)))
6653
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken
6659
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken || this.IsPossibleType())
6729
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleType(),
6730
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken,
6738
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken)
6754
var varianceToken = this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword
6781
this.
CurrentToken
.Kind is not SyntaxKind.CommaToken and not SyntaxKind.GreaterThanToken &&
6803
=> this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken;
6807
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6845
if (this.
CurrentToken
.Kind == SyntaxKind.ThisKeyword)
6896
if (isEvent && this.
CurrentToken
.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
6967
separator = this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken
6980
if (this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken)
7009
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
7085
return this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken
7215
var tk = this.
CurrentToken
.Kind;
7236
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken || !this.IsTrueIdentifier())
7243
if (this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
7258
if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
7263
if (this.
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword)
7270
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken or SyntaxKind.ColonColonToken)
7273
if (this.
CurrentToken
.Kind is SyntaxKind.ColonColonToken)
7287
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken);
7327
else if (IsPredefinedType(this.
CurrentToken
.Kind))
7333
else if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
7338
if (result == ScanTypeFlags.NotType || mode == ParseTypeMode.DefinitePattern && this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
7358
switch (this.
CurrentToken
.Kind)
7399
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7404
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7437
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7455
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken);
7457
if (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
7479
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
7482
switch (
CurrentToken
)
7497
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
7514
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
7527
if (!IsPossibleFunctionPointerParameterListStart(
CurrentToken
))
7567
if (!validStartingToken &&
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
7581
isNotExpectedFunction: static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
7602
if (this.
CurrentToken
.Kind == SyntaxKind.VoidKeyword && this.PeekToken(1).Kind != SyntaxKind.AsteriskToken)
7627
if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
7631
this.
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword ? this.EatToken() : null,
7675
switch (this.
CurrentToken
.Kind)
7723
while (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken);
7744
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.QuestionToken);
7767
if (mode == ParseTypeMode.AfterIs && this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken)
7794
return this.
CurrentToken
.Kind != SyntaxKind.ColonToken;
7821
if (IsTrueIdentifier(this.
CurrentToken
))
7830
if (this.
CurrentToken
.ContextualKind is SyntaxKind.AsyncKeyword or SyntaxKind.AwaitKeyword or SyntaxKind.FromKeyword)
7884
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken)
7893
this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or // ctor parameters
7928
while (IsMakingProgress(ref lastTokenPosition) && this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7930
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7943
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7984
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
7988
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
8023
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
8024
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken,
8030
if (IsPredefinedType(this.
CurrentToken
.Kind))
8034
if (token.Kind == SyntaxKind.VoidKeyword && this.
CurrentToken
.Kind != SyntaxKind.AsteriskToken)
8043
if (IsTrueIdentifier() || this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken)
8048
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
8071
if (!IsPossibleFunctionPointerParameterListStart(
CurrentToken
))
8114
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
8125
lessThanToken.IsMissing &&
CurrentToken
.Kind == SyntaxKind.CloseParenToken
8140
isNotExpectedFunction: static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
8148
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
8152
switch (
CurrentToken
)
8156
managedSpecifier = EatContextualToken(
CurrentToken
.ContextualKind);
8176
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
8194
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
8224
=>
CurrentToken
.Kind == SyntaxKind.DelegateKeyword && PeekToken(1).Kind == SyntaxKind.AsteriskToken;
8235
while (this.
CurrentToken
.Kind == SyntaxKind.AsteriskToken)
8255
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
8269
while (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
8279
var isCollectionExpression = this.
CurrentToken
.Kind
8292
|| IsExpectedBinaryOperator(this.
CurrentToken
.Kind)
8293
|| IsExpectedAssignmentOperator(this.
CurrentToken
.Kind)
8294
|| (this.
CurrentToken
.ContextualKind is SyntaxKind.SwitchKeyword or SyntaxKind.WithKeyword && this.PeekToken(1).Kind is SyntaxKind.OpenBraceToken);
8298
this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
8357
switch (this.
CurrentToken
.Kind)
8453
bool beginsWithAwait = this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword;
8488
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword &&
8529
=>
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword && PeekToken(1).Kind == SyntaxKind.UsingKeyword;
8543
return this.
CurrentToken
.ContextualKind == SyntaxKind.YieldKeyword &&
8553
var tk = this.
CurrentToken
.Kind;
8581
tk = this.
CurrentToken
.ContextualKind;
8596
bool? typedIdentifier = IsPossibleTypedIdentifierStart(this.
CurrentToken
, this.PeekToken(1), allowThisKeyword: false);
8617
var tk = this.
CurrentToken
.ContextualKind;
8661
if (st == ScanTypeFlags.MustBeType && this.
CurrentToken
.Kind is not SyntaxKind.DotToken and not SyntaxKind.OpenParenToken)
8671
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
8679
return st == ScanTypeFlags.GenericTypeOrExpression && (IsDefiniteStatement() || IsTypeDeclarationStart() || IsAccessibilityModifier(
CurrentToken
.Kind));
8700
if (this.
CurrentToken
.Kind != SyntaxKind.UsingKeyword)
8766
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken)
8787
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
8794
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
8803
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.SemicolonToken;
8821
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
8828
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
8920
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword);
8948
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
8957
if (scanResult == ScanTypeFlags.TupleType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
8968
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NewKeyword);
9113
CSharpSyntaxNode openBrace = isAccessorBody && this.
CurrentToken
.Kind != SyntaxKind.OpenBraceToken
9194
while (this.
CurrentToken
.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken
9226
return this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
9238
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken,
9246
var tk = this.
CurrentToken
.Kind;
9283
var tk = this.
CurrentToken
.Kind;
9328
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken;
9391
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.TryKeyword or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
9404
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
9418
if (this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword)
9421
while (this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword)
9427
if (this.
CurrentToken
.Kind == SyntaxKind.FinallyKeyword)
9462
return this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword;
9467
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword);
9474
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
9494
var keywordKind = this.
CurrentToken
.ContextualKind;
9526
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken
9535
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken
9543
return this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken
9550
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.CheckedKeyword or SyntaxKind.UncheckedKeyword);
9567
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DoKeyword);
9591
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken;
9608
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9629
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9639
var condition = this.
CurrentToken
.Kind is not SyntaxKind.SemicolonToken and not SyntaxKind.CommaToken
9648
var incrementors = this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken
9677
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
9686
isDeclaration = ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
9690
else if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
9707
else if (this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
9722
=> this.
CurrentToken
.Kind is SyntaxKind.CommaToken
9730
while (this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CommaToken)
9754
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
9758
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
9759
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
9766
return this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken;
9773
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForEachKeyword || this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9784
if (this.
CurrentToken
.Kind == SyntaxKind.ForKeyword)
9878
if (this.IsInAsync && this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword)
9886
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
9889
if (ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
9936
return this.
CurrentToken
.Kind == SyntaxKind.CommaToken;
9938
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseParenToken;
9951
if (!this.
CurrentToken
.IsIdentifierVar())
9990
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.GotoKeyword);
9998
if (this.
CurrentToken
.Kind is SyntaxKind.CaseKeyword or SyntaxKind.DefaultKeyword)
10026
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
10037
if (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken &&
10056
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IfKeyword);
10069
var elseKeyword = this.
CurrentToken
.Kind != SyntaxKind.ElseKeyword ?
10080
if (this.
CurrentToken
.Kind != SyntaxKind.IfKeyword)
10121
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ElseKeyword);
10135
return this.
CurrentToken
.Kind != SyntaxKind.ElseKeyword
10144
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LockKeyword);
10156
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ReturnKeyword);
10160
this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken ? this.ParsePossibleRefExpression() : null,
10166
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.YieldKeyword);
10173
if (this.
CurrentToken
.Kind == SyntaxKind.BreakKeyword)
10182
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
10203
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.SwitchKeyword or SyntaxKind.CaseKeyword);
10228
if (this.
CurrentToken
.Kind is SyntaxKind.CaseKeyword)
10273
return this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword ||
10274
(this.
CurrentToken
.Kind == SyntaxKind.DefaultKeyword && this.PeekToken(1).Kind != SyntaxKind.OpenParenToken);
10288
if (this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword)
10292
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
10304
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhenKeyword && node is ExpressionSyntax ex)
10329
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DefaultKeyword);
10351
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ThrowKeyword);
10355
this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken ? this.ParseExpressionCore() : null,
10361
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.UnsafeKeyword);
10429
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
10456
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken &&
10488
bool condition1 = st == ScanTypeFlags.MustBeType && this.
CurrentToken
.Kind != SyntaxKind.DotToken;
10489
bool condition2 = st != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
10497
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.WhileKeyword);
10532
else if (this.
CurrentToken
.Kind == SyntaxKind.UsingKeyword)
10628
if (this.
CurrentToken
.ContextualKind != SyntaxKind.ScopedKeyword)
10645
if (IsParameterModifierExcludingScoped(this.
CurrentToken
))
10662
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
10664
else if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
10689
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
10697
done = (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken);
10710
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
10740
return
CurrentToken
.ContextualKind == SyntaxKind.UnderscoreToken
10747
if (this.
CurrentToken
.ContextualKind != SyntaxKind.WhenKeyword)
10831
switch (this.
CurrentToken
.Kind)
10844
while (IsDeclarationModifier(k = this.
CurrentToken
.ContextualKind) || IsAdditionalLocalFunctionModifier(k))
10881
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken);
10887
if (IsDeclarationModifier(this.
CurrentToken
.Kind) ||
10888
IsAdditionalLocalFunctionModifier(this.
CurrentToken
.Kind))
10895
if (ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
10903
while (IsAdditionalLocalFunctionModifier(this.
CurrentToken
.ContextualKind));
11047
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
11086
if (IsScript && this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken)
11130
SyntaxKind tk = this.
CurrentToken
.Kind;
11176
return this.IsTrueIdentifier() || this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword;
11412
return (this.IsScript || this.IsInAsync) && this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword;
11417
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword)
11495
var tk = this.
CurrentToken
.Kind;
11537
if (this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword && IsInQuery)
11544
this.AddError(this.EatToken(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text));
11591
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional)
11689
if (this.
CurrentToken
.Kind != SyntaxKind.ColonToken &&
11707
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
11719
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken && this.lexer.InterpolationFollowedByColon)
11778
var token1 = this.
CurrentToken
;
11880
if (operatorExpressionKind == SyntaxKind.SimpleAssignmentExpression &&
CurrentToken
.Kind == SyntaxKind.RefKeyword &&
11900
if (this.
CurrentToken
.Kind != SyntaxKind.DotToken)
11904
return nextToken.Kind == SyntaxKind.DotToken && NoTriviaBetween(this.
CurrentToken
, nextToken);
11922
if (this.
CurrentToken
is { Kind: SyntaxKind.DotToken } token3 &&
11992
var tk = this.
CurrentToken
.Kind;
12028
return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
12057
return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
12125
if (this.
CurrentToken
.Kind != SyntaxKind.DotToken || tk == SyntaxKind.VoidKeyword)
12150
offset: this.
CurrentToken
.GetLeadingTriviaWidth(),
12151
width: this.
CurrentToken
.Width,
12175
switch (this.
CurrentToken
.Kind)
12187
expr = _syntaxFactory.PostfixUnaryExpression(SyntaxFacts.GetPostfixUnaryExpression(this.
CurrentToken
.Kind), expr, this.EatToken());
12222
if (this.
CurrentToken
.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia) &&
12256
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.BaseKeyword);
12270
if (precedence > Precedence.Assignment || !(this.
CurrentToken
.IsIdentifierVar() || IsPredefinedType(this.
CurrentToken
.Kind)))
12279
this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken && ScanDesignator() &&
12280
this.
CurrentToken
.Kind == SyntaxKind.EqualsToken;
12285
switch (this.
CurrentToken
.Kind)
12304
switch (this.
CurrentToken
.Kind)
12378
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken)
12417
return this.
CurrentToken
.Kind != SyntaxKind.ColonToken;
12430
while (this.
CurrentToken
.Kind == SyntaxKind.ExclamationToken)
12466
=> this.
CurrentToken
.Kind switch
12525
openToken = this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or SyntaxKind.OpenBracketToken
12532
if (this.
CurrentToken
.Kind != closeKind && this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
12560
else if (isIndexer && this.
CurrentToken
.Kind == closeKind)
12576
closeToken = this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken
12585
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
12589
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleArgumentExpression(),
12590
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
12597
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken;
12602
return IsValidArgumentRefKindKeyword(this.
CurrentToken
.Kind) || this.IsPossibleExpression();
12620
var nameColon = this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.ColonToken
12627
if (IsValidArgumentRefKindKeyword(this.
CurrentToken
.Kind) &&
12629
!(this.
CurrentToken
.Kind == SyntaxKind.RefKeyword &&
12637
if (isIndexer && this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBracketToken)
12641
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12673
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
12751
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12782
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12808
if (IsParameterModifierIncludingScoped(this.
CurrentToken
))
12834
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
12842
switch (this.
CurrentToken
.Kind)
12858
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12886
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12894
if (expression.Kind == SyntaxKind.IdentifierName && this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
12915
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12920
var argument = expression.Kind != SyntaxKind.IdentifierName || this.
CurrentToken
.Kind != SyntaxKind.ColonToken
12948
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
12961
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
12968
if (forPattern && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
12980
if (inSwitchArmPattern && this.
CurrentToken
.ContextualKind == SyntaxKind.WhenKeyword)
13002
return !forPattern || this.
CurrentToken
.Kind switch
13027
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken || CanFollowCast(this.
CurrentToken
.Kind);
13033
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken &&
13042
return CanFollowCast(this.
CurrentToken
.Kind);
13073
return this.
CurrentToken
.ContextualKind is SyntaxKind.OrKeyword or SyntaxKind.AndKeyword;
13102
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
13118
if (this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
13123
else if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13137
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
13147
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13155
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
13166
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13175
if (st == ScanTypeFlags.NotType || this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13192
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
13200
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13272
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NewKeyword);
13291
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken);
13312
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleCollectionElement(),
13313
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13327
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WithKeyword &&
13345
return this.
CurrentToken
.Kind == SyntaxKind.NewKeyword && this.PeekToken(1).Kind == SyntaxKind.OpenBraceToken;
13353
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken);
13390
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken;
13405
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken;
13421
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
13431
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13436
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
13458
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13469
switch (this.
CurrentToken
.Kind)
13588
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
13589
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13598
this.
CurrentToken
.Kind == SyntaxKind.ColonToken
13601
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13612
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13640
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.NewKeyword or SyntaxKind.StackAllocKeyword);
13667
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13707
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleVariableInitializer(),
13708
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13734
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13756
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken ? this.ParseArrayInitializer() : null);
13773
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13786
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBraceToken)
13817
if (this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
13823
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13838
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword);
13863
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken &&
13891
if (
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13898
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13911
var identifier = (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.EqualsGreaterThanToken)
13928
=>
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13959
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleLambdaParameter(),
13960
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13967
switch (this.
CurrentToken
.Kind)
13985
return IsPredefinedType(this.
CurrentToken
.Kind);
13996
if (IsParameterModifierIncludingScoped(this.
CurrentToken
))
14023
if (IsPredefinedType(this.
CurrentToken
.Kind))
14029
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
14039
if (this.IsTrueIdentifier(this.
CurrentToken
))
14066
=> IsTokenQueryContextualKeyword(this.
CurrentToken
);
14108
return this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword &&
14161
return this.ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken or SyntaxKind.InKeyword;
14183
switch (this.
CurrentToken
.ContextualKind)
14206
SelectOrGroupClauseSyntax selectOrGroupBy = this.
CurrentToken
.ContextualKind switch
14218
this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword
14225
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword);
14234
(this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken || SyntaxFacts.IsQueryContextualKeyword(this.
CurrentToken
.ContextualKind)))
14258
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.JoinKeyword);
14271
into: this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword
14278
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.LetKeyword);
14282
SyntaxFacts.IsReservedKeyword(this.
CurrentToken
.Kind) && this.PeekToken(1).Kind == SyntaxKind.EqualsToken
14291
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword);
14299
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.OrderByKeyword);
14307
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
14309
if (this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
14313
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
14334
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
14335
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseParenToken
14336
|| p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
14348
if (this.
CurrentToken
.ContextualKind is SyntaxKind.AscendingKeyword or SyntaxKind.DescendingKeyword)
14362
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.SelectKeyword);
14370
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.GroupKeyword);
14380
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword);
14511
if (requireOneElement || this.
CurrentToken
.Kind != closeTokenKind)
14528
if (this.
CurrentToken
.Kind == closeTokenKind)
14539
nodes.AddSeparator(this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
14546
if (this.
CurrentToken
.Kind == closeTokenKind)
14581
if (this.
CurrentToken
.Kind == separatorTokenKind)
14586
if (allowSemicolonAsSeparator && this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken)
14675
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken) return node;
14677
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
Parser\LanguageParser_InterpolatedString.cs (3)
112
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.InterpolatedStringToken);
537
if (this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
550
var leading = this.
CurrentToken
.GetLeadingTrivia();
Parser\LanguageParser_Patterns.cs (34)
61
while (this.
CurrentToken
.ContextualKind == SyntaxKind.OrKeyword)
78
var tk =
CurrentToken
.Kind;
84
if (tk == SyntaxKind.IdentifierToken && this.
CurrentToken
.ContextualKind != SyntaxKind.UnderscoreToken &&
85
(this.
CurrentToken
.ContextualKind != SyntaxKind.NameOfKeyword || this.PeekToken(1).Kind != SyntaxKind.OpenParenToken))
107
while (this.
CurrentToken
.ContextualKind == SyntaxKind.AndKeyword)
121
switch (this.
CurrentToken
.Kind)
143
switch (this.
CurrentToken
.Kind)
160
if (this.
CurrentToken
.ContextualKind == SyntaxKind.NotKeyword)
166
else if (this.
CurrentToken
.Kind == SyntaxKind.EqualsEqualsToken)
172
else if (this.
CurrentToken
.Kind == SyntaxKind.ExclamationEqualsToken)
190
var tk = this.
CurrentToken
.Kind;
202
if (
CurrentToken
.ContextualKind == SyntaxKind.UnderscoreToken)
207
switch (
CurrentToken
.Kind)
259
switch (this.
CurrentToken
.Kind)
291
(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken || this.IsValidPatternDesignation(inSwitchArmPattern)))
300
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken && (type != null || !looksLikeCast()))
383
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
409
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
411
switch (
CurrentToken
.ContextualKind)
502
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
534
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken && ConvertPatternToExpressionIfPossible(pattern, permitTypeArguments: true) is ExpressionSyntax expr)
555
this.
CurrentToken
.Kind is
568
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBraceToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
575
if (@this._termState.HasFlag(TerminatorState.IsExpressionOrPatternInCaseLabelOfSwitchStatement) && @this.
CurrentToken
.Kind is SyntaxKind.ColonToken)
584
if (@this._termState.HasFlag(TerminatorState.IsPatternInSwitchExpressionArm) && @this.
CurrentToken
.Kind is SyntaxKind.EqualsGreaterThanToken or SyntaxKind.ColonToken)
588
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleSubpatternElement(),
589
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
609
while (this.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken)
615
var errantCase = this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword
634
this.
CurrentToken
.Kind == SyntaxKind.ColonToken
640
if (errantCase is null && switchExpressionCase.FullWidth == 0 && this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
647
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken)
649
var commaToken = this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
Parser\SyntaxParser.cs (12)
488
var ct = this.
CurrentToken
;
498
=> this.
CurrentToken
.Kind == kind ? this.EatToken() : null;
525
var ct = this.
CurrentToken
;
533
return CreateMissingToken(kind, this.
CurrentToken
.Kind);
541
var ct = this.
CurrentToken
;
548
var replacement = CreateMissingToken(expected, this.
CurrentToken
.Kind);
578
if (this.
CurrentToken
.Kind != kind)
592
if (this.
CurrentToken
.Kind != kind)
611
var token = this.
CurrentToken
;
649
if (this.
CurrentToken
.ContextualKind != kind)
663
var contextualKind = this.
CurrentToken
.ContextualKind;
847
var token = this.
CurrentToken
;