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)
870
switch (this.
CurrentToken
.Kind)
879
return IsPossibleStartOfTypeDeclaration(this.
CurrentToken
.Kind);
885
if (this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword)
902
return this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken;
927
return this.
CurrentToken
.Kind == SyntaxKind.ExternKeyword
940
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ExternKeyword);
964
var globalToken = this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword
968
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.UsingKeyword);
975
if (staticToken is null && unsafeToken != null && this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
987
var isAliasToFunctionPointer = alias != null && this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword;
1006
type = _syntaxFactory.IdentifierName(CreateMissingToken(SyntaxKind.IdentifierToken, this.
CurrentToken
.Kind));
1029
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken
1049
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
1067
if (SyntaxFacts.IsLiteralExpression(this.
CurrentToken
.Kind))
1111
return this.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken
1116
=> IsSomeWord(this.
CurrentToken
.Kind) && this.PeekToken(1).Kind == SyntaxKind.ColonToken;
1161
if (this.
CurrentToken
.Kind == SyntaxKind.DotToken)
1167
if (this.
CurrentToken
.Kind == SyntaxKind.MinusGreaterThanToken)
1172
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken &&
1185
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttribute(),
1186
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
1215
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
1240
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttributeArgument(),
1241
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
1275
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
1366
var newMod = GetModifierExcludingScoped(this.
CurrentToken
);
1503
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None);
1522
(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword))
1539
var currentTokenKind = this.
CurrentToken
.Kind;
1561
var currentTokenKind = this.
CurrentToken
.Kind;
1579
if (SyntaxFacts.IsPredefinedType(this.
CurrentToken
.Kind))
1586
if (IsNonContextualModifier(this.
CurrentToken
))
1621
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword);
1645
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword);
1678
switch (this.
CurrentToken
.Kind)
1681
if (this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
1701
switch (this.
CurrentToken
.Kind)
1719
Debug.Assert(
CurrentToken
.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword);
1723
throw ExceptionUtilities.UnexpectedValue(this.
CurrentToken
.Kind);
1729
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword or SyntaxKind.InterfaceKeyword ||
1730
this.
CurrentToken
.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword);
1751
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
1764
var paramList =
CurrentToken
.Kind == SyntaxKind.OpenParenToken || isExtension
1776
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
1787
if (
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
1811
SyntaxKind kind = this.
CurrentToken
.Kind;
1847
? this.CreateMissingToken(SyntaxKind.CloseBraceToken, this.
CurrentToken
.Kind)
1870
if (this.
CurrentToken
.ContextualKind == SyntaxKind.RecordKeyword)
1873
recordModifier = this.
CurrentToken
.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword
1880
if (this.
CurrentToken
.Kind is SyntaxKind.StructKeyword or SyntaxKind.ClassKeyword &&
2034
SyntaxKind kind = this.
CurrentToken
.Kind;
2082
return this.IsPossibleMemberStart() || this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken;
2087
return this.
CurrentToken
.Kind is SyntaxKind.ColonToken or SyntaxKind.OpenBraceToken
2104
list.Add(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken
2111
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken ||
2117
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
2131
if (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None)
2154
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttribute(),
2155
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || p.IsCurrentTokenWhereOfConstraintClause(),
2163
this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword &&
2170
while (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
2188
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.IsCurrentTokenWhereOfConstraintClause())
2202
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
2203
|| ((_termState & TerminatorState.IsEndOfTypeSignature) != 0 && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
2204
|| this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
2205
|| this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
2209
else if (haveComma = (this.
CurrentToken
.Kind == SyntaxKind.CommaToken) || this.IsPossibleTypeParameterConstraint())
2249
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleTypeParameterConstraint(),
2250
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || p.IsCurrentTokenWhereOfConstraintClause(),
2257
switch (this.
CurrentToken
.Kind)
2266
return (this.
CurrentToken
.ContextualKind == SyntaxKind.AllowsKeyword && PeekToken(1).Kind == SyntaxKind.RefKeyword) || this.IsTrueIdentifier();
2268
return IsPredefinedType(this.
CurrentToken
.Kind);
2274
return this.
CurrentToken
.Kind switch
2286
this.
CurrentToken
.Kind == SyntaxKind.QuestionToken
2318
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AllowsKeyword &&
2332
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken && PeekToken(1).Kind == SyntaxKind.RefKeyword)
2350
return CanStartMember(this.
CurrentToken
.Kind);
2411
switch (this.
CurrentToken
.Kind)
2421
if (
CurrentToken
.ContextualKind == SyntaxKind.RecordKeyword)
2558
switch (this.
CurrentToken
.Kind)
2600
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken)
2634
if (this.
CurrentToken
.Kind == SyntaxKind.ConstKeyword)
2647
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
2653
if (this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword)
2665
if (this.
CurrentToken
.Kind == SyntaxKind.NamespaceKeyword)
2687
if (this.
CurrentToken
.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken &&
2928
if (
CurrentToken
.Kind == SyntaxKind.UsingKeyword)
2933
if (
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
2948
if (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None &&
2949
this.
CurrentToken
.ContextualKind is not (SyntaxKind.PartialKeyword or SyntaxKind.AsyncKeyword or SyntaxKind.RequiredKeyword or SyntaxKind.FileKeyword) &&
2952
var misplacedModifier = this.
CurrentToken
;
3015
offset: incompleteMember.Width + incompleteMember.GetTrailingTriviaWidth() + this.
CurrentToken
.GetLeadingTriviaWidth(),
3016
this.
CurrentToken
.Width,
3018
this.
CurrentToken
.Text);
3082
|| this.
CurrentToken
.Kind is not SyntaxKind.OpenParenToken and not SyntaxKind.OpenBraceToken and not SyntaxKind.EqualsGreaterThanToken) &&
3190
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken)
3196
if (this.
CurrentToken
.Kind == SyntaxKind.TildeToken)
3202
if (this.
CurrentToken
.Kind == SyntaxKind.ConstKeyword)
3208
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
3214
if (this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword)
3322
return this.
CurrentToken
.ContextualKind == SyntaxKind.ExtensionKeyword &&
3354
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
3359
if (this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
3397
return this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword or SyntaxKind.OperatorKeyword;
3455
var currentTokenKind = this.
CurrentToken
.Kind;
3472
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.ColonToken or SyntaxKind.EqualsGreaterThanToken);
3475
var token = this.
CurrentToken
.Kind is SyntaxKind.BaseKeyword or SyntaxKind.ThisKeyword
3479
var argumentList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken
3497
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.TildeToken);
3523
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3531
blockBody = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
3535
expressionBody = this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
3546
else if (parseSemicolonAfterBlock && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3558
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
3564
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
3570
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
3586
=> this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3590
return this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3594
=> this.
CurrentToken
.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
3597
=> this.
CurrentToken
.Kind == (errored ? SyntaxKind.CloseParenToken : SyntaxKind.GreaterThanToken);
3600
=> this.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken;
3617
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
3622
else if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
3625
var colonToken = this.
CurrentToken
;
3672
switch (this.
CurrentToken
.Kind)
3691
if (this.
CurrentToken
.Kind is not (SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword))
3695
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
3705
if (this.
CurrentToken
.Kind == SyntaxKind.OperatorKeyword)
3719
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken))
3725
separatorKind = this.
CurrentToken
.Kind;
3747
if (this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword ||
3769
var style = this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword
3779
if (!style.IsMissing && explicitInterfaceOpt is not null && this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword && style.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia))
3811
bool couldBeParameterList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken;
3816
this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
3847
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
3864
if (this.
CurrentToken
.Kind == SyntaxKind.OperatorKeyword)
3874
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken);
3913
if (
CurrentToken
.Kind == SyntaxKind.UncheckedKeyword)
3932
var firstToken = this.
CurrentToken
;
3965
if (SyntaxFacts.IsAnyOverloadableOperator(this.
CurrentToken
.Kind))
3974
if (this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword)
3977
(opTokenErrorOffset, opTokenErrorWidth) = (0, this.
CurrentToken
.Width);
4009
var tk = this.
CurrentToken
;
4016
tk = this.
CurrentToken
;
4148
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
4156
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4165
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
4200
if (this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken)
4208
var accessorList = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
4216
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
4222
else if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
4234
else if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4319
if (this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken)
4354
var refKeyword = this.
CurrentToken
.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
4365
static p => p.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken && !p.IsPossibleAccessor(),
4372
return this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken
4374
|| SyntaxFacts.GetAccessorDeclarationKind(this.
CurrentToken
.ContextualKind) != SyntaxKind.None
4375
|| this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken // for accessor blocks w/ missing keyword
4376
|| this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken // for empty body accessors w/ missing keyword
4398
if (GetModifierExcludingScoped(this.
CurrentToken
) == DeclarationModifiers.None)
4546
var token = (first && !this.
CurrentToken
.ContainsDiagnostics) ? this.EatTokenEvenWithIncorrectKind(expected) : this.EatToken();
4572
var token = (first && !this.
CurrentToken
.ContainsDiagnostics) ? this.EatTokenWithPrejudice(errorCode) : this.EatToken();
4628
bool currentTokenIsSemicolon = this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken;
4629
bool currentTokenIsArrow = this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken;
4630
bool currentTokenIsOpenBraceToken = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken;
4812
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleParameter(),
4813
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
4820
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken;
4825
switch (this.
CurrentToken
.Kind)
4837
return IsParameterModifierExcludingScoped(this.
CurrentToken
) || IsPossibleScopedKeyword(isFunctionPointerParameter: false) || IsPredefinedType(this.
CurrentToken
.Kind);
4897
if (this.
CurrentToken
.Kind == SyntaxKind.ArgListKeyword)
4908
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && IsCurrentTokenWhereOfConstraintClause())
4915
identifier = allowOptionalIdentifier && this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken
4921
if (identifier is not null && this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind is SyntaxKind.CloseBracketToken)
4966
while (IsParameterModifierExcludingScoped(this.
CurrentToken
))
4968
if (this.
CurrentToken
.Kind is SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword or SyntaxKind.ReadOnlyKeyword)
4985
while (this.
CurrentToken
.Kind is SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword or SyntaxKind.ReadOnlyKeyword)
4998
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword);
5016
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.EventKeyword);
5040
if (explicitInterfaceOpt != null && this.
CurrentToken
.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
5092
if (explicitInterfaceOpt != null && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5119
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5172
if (this.
CurrentToken
.Kind == SyntaxKind.DotToken)
5188
return this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken;
5253
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5257
else if (stopOnCloseParen && this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
5261
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
5311
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
5312
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
5466
var currentTokenKind = this.
CurrentToken
.Kind;
5477
currentTokenKind = this.
CurrentToken
.Kind;
5527
switch (this.
CurrentToken
.Kind)
5538
var refKeyword = isLocalOrField && !isConst && this.
CurrentToken
.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
5615
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5633
Debug.Assert(this.
CurrentToken
.Kind != SyntaxKind.EqualsToken);
5673
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5687
this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
5712
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or SyntaxKind.LessThanToken);
5720
(this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.EqualsGreaterThanToken ||
5721
this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword))
5731
switch (this.
CurrentToken
.Kind)
5743
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
5750
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.IsPossibleExpression();
5769
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword);
5780
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
5802
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.EnumKeyword);
5817
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
5833
if (
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5878
static p => p.
CurrentToken
.Kind is not SyntaxKind.CommaToken and not SyntaxKind.SemicolonToken && !p.IsPossibleEnumMemberDeclaration(),
5879
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
5894
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5899
this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBraceToken
5909
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken || this.IsTrueIdentifier();
5914
return this.
CurrentToken
.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
5953
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
5993
var ctk = this.
CurrentToken
.Kind;
6005
result = this.AddError(result, ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
6031
if (this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword)
6044
return
CurrentToken
.ContextualKind == SyntaxKind.FieldKeyword &&
6051
if (this.
CurrentToken
.Kind != SyntaxKind.LessThanToken)
6081
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
6082
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
6094
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken or SyntaxKind.InKeyword or SyntaxKind.OutKeyword)
6103
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
6122
this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword ? EatToken() : null,
6139
if (this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
6149
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6174
if (this.
CurrentToken
.Kind != SyntaxKind.LessThanToken)
6224
switch (this.
CurrentToken
.Kind)
6306
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6316
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6333
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
6339
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
6348
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6383
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
6410
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
6432
isDefinitelyTypeArgumentList = this.
CurrentToken
.Kind == SyntaxKind.CommaToken;
6450
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken);
6452
if (this.
CurrentToken
.Kind != SyntaxKind.GreaterThanToken)
6458
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken)
6467
if (lastScannedType is ScanTypeFlags.TupleType && this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken)
6480
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken;
6492
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6502
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6519
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
6526
if (tokenBreaksTypeArgumentList(this.
CurrentToken
))
6535
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken && tokenBreaksTypeArgumentList(this.PeekToken(1)))
6544
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken
6550
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken || this.IsPossibleType())
6620
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleType(),
6621
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken,
6629
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken)
6645
var varianceToken = this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword
6672
this.
CurrentToken
.Kind is not SyntaxKind.CommaToken and not SyntaxKind.GreaterThanToken &&
6694
=> this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken;
6698
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6736
if (this.
CurrentToken
.Kind == SyntaxKind.ThisKeyword)
6787
if (isEvent && this.
CurrentToken
.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
6858
separator = this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken
6871
if (this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken)
6900
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
6976
return this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken
7106
var tk = this.
CurrentToken
.Kind;
7127
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken || !this.IsTrueIdentifier())
7134
if (this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
7149
if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
7154
if (this.
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword)
7161
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken or SyntaxKind.ColonColonToken)
7164
if (this.
CurrentToken
.Kind is SyntaxKind.ColonColonToken)
7178
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken);
7218
else if (IsPredefinedType(this.
CurrentToken
.Kind))
7224
else if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
7229
if (result == ScanTypeFlags.NotType || mode == ParseTypeMode.DefinitePattern && this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
7249
switch (this.
CurrentToken
.Kind)
7290
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7295
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7328
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7346
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken);
7348
if (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
7370
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
7373
switch (
CurrentToken
)
7388
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
7405
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
7418
if (!IsPossibleFunctionPointerParameterListStart(
CurrentToken
))
7458
if (!validStartingToken &&
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
7472
isNotExpectedFunction: static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
7493
if (this.
CurrentToken
.Kind == SyntaxKind.VoidKeyword && this.PeekToken(1).Kind != SyntaxKind.AsteriskToken)
7518
if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
7522
this.
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword ? this.EatToken() : null,
7566
switch (this.
CurrentToken
.Kind)
7614
while (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken);
7635
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.QuestionToken);
7658
if (mode == ParseTypeMode.AfterIs && this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken)
7685
return this.
CurrentToken
.Kind != SyntaxKind.ColonToken;
7712
if (IsTrueIdentifier(this.
CurrentToken
))
7721
if (this.
CurrentToken
.ContextualKind is SyntaxKind.AsyncKeyword or SyntaxKind.AwaitKeyword or SyntaxKind.FromKeyword)
7775
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken)
7784
this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or // ctor parameters
7819
while (IsMakingProgress(ref lastTokenPosition) && this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7821
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7834
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7875
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
7879
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7914
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
7915
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken,
7921
if (IsPredefinedType(this.
CurrentToken
.Kind))
7925
if (token.Kind == SyntaxKind.VoidKeyword && this.
CurrentToken
.Kind != SyntaxKind.AsteriskToken)
7934
if (IsTrueIdentifier() || this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken)
7939
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
7962
if (!IsPossibleFunctionPointerParameterListStart(
CurrentToken
))
8005
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
8016
lessThanToken.IsMissing &&
CurrentToken
.Kind == SyntaxKind.CloseParenToken
8031
isNotExpectedFunction: static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
8039
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
8043
switch (
CurrentToken
)
8047
managedSpecifier = EatContextualToken(
CurrentToken
.ContextualKind);
8067
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
8085
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
8115
=>
CurrentToken
.Kind == SyntaxKind.DelegateKeyword && PeekToken(1).Kind == SyntaxKind.AsteriskToken;
8126
while (this.
CurrentToken
.Kind == SyntaxKind.AsteriskToken)
8146
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
8160
while (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
8170
var isCollectionExpression = this.
CurrentToken
.Kind
8183
|| IsExpectedBinaryOperator(this.
CurrentToken
.Kind)
8184
|| IsExpectedAssignmentOperator(this.
CurrentToken
.Kind)
8185
|| (this.
CurrentToken
.ContextualKind is SyntaxKind.SwitchKeyword or SyntaxKind.WithKeyword && this.PeekToken(1).Kind is SyntaxKind.OpenBraceToken);
8189
this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
8248
switch (this.
CurrentToken
.Kind)
8344
bool beginsWithAwait = this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword;
8379
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword &&
8420
=>
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword && PeekToken(1).Kind == SyntaxKind.UsingKeyword;
8434
return this.
CurrentToken
.ContextualKind == SyntaxKind.YieldKeyword &&
8444
var tk = this.
CurrentToken
.Kind;
8472
tk = this.
CurrentToken
.ContextualKind;
8493
bool? typedIdentifier = IsPossibleTypedIdentifierStart(this.
CurrentToken
, this.PeekToken(1), allowThisKeyword: false);
8514
var tk = this.
CurrentToken
.ContextualKind;
8558
if (st == ScanTypeFlags.MustBeType && this.
CurrentToken
.Kind is not SyntaxKind.DotToken and not SyntaxKind.OpenParenToken)
8568
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
8576
return st == ScanTypeFlags.GenericTypeOrExpression && (IsDefiniteStatement() || IsTypeDeclarationStart() || IsAccessibilityModifier(
CurrentToken
.Kind));
8597
if (this.
CurrentToken
.Kind != SyntaxKind.UsingKeyword)
8663
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken)
8684
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
8691
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
8700
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.SemicolonToken;
8718
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
8725
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
8817
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword);
8845
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
8854
if (scanResult == ScanTypeFlags.TupleType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
8865
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NewKeyword);
9010
CSharpSyntaxNode openBrace = isAccessorBody && this.
CurrentToken
.Kind != SyntaxKind.OpenBraceToken
9091
while (this.
CurrentToken
.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken
9123
return this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
9135
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken,
9143
var tk = this.
CurrentToken
.Kind;
9180
var tk = this.
CurrentToken
.Kind;
9225
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken;
9288
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.TryKeyword or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
9301
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
9315
if (this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword)
9318
while (this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword)
9324
if (this.
CurrentToken
.Kind == SyntaxKind.FinallyKeyword)
9359
return this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword;
9364
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword);
9371
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
9391
var keywordKind = this.
CurrentToken
.ContextualKind;
9423
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken
9432
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken
9440
return this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken
9447
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.CheckedKeyword or SyntaxKind.UncheckedKeyword);
9464
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DoKeyword);
9488
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken;
9505
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9526
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9536
var condition = this.
CurrentToken
.Kind is not SyntaxKind.SemicolonToken and not SyntaxKind.CommaToken
9545
var incrementors = this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken
9574
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
9583
isDeclaration = ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
9587
else if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
9604
else if (this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
9619
=> this.
CurrentToken
.Kind is SyntaxKind.CommaToken
9627
while (this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CommaToken)
9651
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
9655
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
9656
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
9663
return this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken;
9670
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForEachKeyword || this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9681
if (this.
CurrentToken
.Kind == SyntaxKind.ForKeyword)
9775
if (this.IsInAsync && this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword)
9783
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
9786
if (ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
9833
return this.
CurrentToken
.Kind == SyntaxKind.CommaToken;
9835
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseParenToken;
9848
if (!this.
CurrentToken
.IsIdentifierVar())
9887
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.GotoKeyword);
9895
if (this.
CurrentToken
.Kind is SyntaxKind.CaseKeyword or SyntaxKind.DefaultKeyword)
9923
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
9934
if (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken &&
9953
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IfKeyword);
9966
var elseKeyword = this.
CurrentToken
.Kind != SyntaxKind.ElseKeyword ?
9977
if (this.
CurrentToken
.Kind != SyntaxKind.IfKeyword)
10018
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ElseKeyword);
10032
return this.
CurrentToken
.Kind != SyntaxKind.ElseKeyword
10041
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LockKeyword);
10053
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ReturnKeyword);
10057
this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken ? this.ParsePossibleRefExpression() : null,
10063
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.YieldKeyword);
10070
if (this.
CurrentToken
.Kind == SyntaxKind.BreakKeyword)
10079
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
10100
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.SwitchKeyword or SyntaxKind.CaseKeyword);
10125
if (this.
CurrentToken
.Kind is SyntaxKind.CaseKeyword)
10170
return this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword ||
10171
(this.
CurrentToken
.Kind == SyntaxKind.DefaultKeyword && this.PeekToken(1).Kind != SyntaxKind.OpenParenToken);
10185
if (this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword)
10189
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
10201
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhenKeyword && node is ExpressionSyntax ex)
10226
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DefaultKeyword);
10248
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ThrowKeyword);
10252
this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken ? this.ParseExpressionCore() : null,
10258
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.UnsafeKeyword);
10326
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
10353
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken &&
10385
bool condition1 = st == ScanTypeFlags.MustBeType && this.
CurrentToken
.Kind != SyntaxKind.DotToken;
10386
bool condition2 = st != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
10394
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.WhileKeyword);
10429
else if (this.
CurrentToken
.Kind == SyntaxKind.UsingKeyword)
10525
if (this.
CurrentToken
.ContextualKind != SyntaxKind.ScopedKeyword)
10537
if (this.
CurrentToken
.Kind is (SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword))
10566
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
10568
else if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
10584
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
10592
done = (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken);
10605
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
10635
return
CurrentToken
.ContextualKind == SyntaxKind.UnderscoreToken
10642
if (this.
CurrentToken
.ContextualKind != SyntaxKind.WhenKeyword)
10726
switch (this.
CurrentToken
.Kind)
10739
while (IsDeclarationModifier(k = this.
CurrentToken
.ContextualKind) || IsAdditionalLocalFunctionModifier(k))
10776
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken);
10782
if (IsDeclarationModifier(this.
CurrentToken
.Kind) ||
10783
IsAdditionalLocalFunctionModifier(this.
CurrentToken
.Kind))
10790
if (ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
10798
while (IsAdditionalLocalFunctionModifier(this.
CurrentToken
.ContextualKind));
10938
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
10977
if (IsScript && this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken)
11021
SyntaxKind tk = this.
CurrentToken
.Kind;
11067
return this.IsTrueIdentifier() || this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword;
11303
return (this.IsScript || this.IsInAsync) && this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword;
11308
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword)
11386
var tk = this.
CurrentToken
.Kind;
11428
if (this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword && IsInQuery)
11435
this.AddError(this.EatToken(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text));
11482
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional)
11580
if (this.
CurrentToken
.Kind != SyntaxKind.ColonToken &&
11598
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
11610
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken && this.lexer.InterpolationFollowedByColon)
11669
var token1 = this.
CurrentToken
;
11771
if (operatorExpressionKind == SyntaxKind.SimpleAssignmentExpression &&
CurrentToken
.Kind == SyntaxKind.RefKeyword &&
11791
if (this.
CurrentToken
.Kind != SyntaxKind.DotToken)
11795
return nextToken.Kind == SyntaxKind.DotToken && NoTriviaBetween(this.
CurrentToken
, nextToken);
11813
if (this.
CurrentToken
is { Kind: SyntaxKind.DotToken } token3 &&
11883
var tk = this.
CurrentToken
.Kind;
11919
return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
11948
return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
12016
if (this.
CurrentToken
.Kind != SyntaxKind.DotToken || tk == SyntaxKind.VoidKeyword)
12041
offset: this.
CurrentToken
.GetLeadingTriviaWidth(),
12042
width: this.
CurrentToken
.Width,
12066
switch (this.
CurrentToken
.Kind)
12078
expr = _syntaxFactory.PostfixUnaryExpression(SyntaxFacts.GetPostfixUnaryExpression(this.
CurrentToken
.Kind), expr, this.EatToken());
12113
if (this.
CurrentToken
.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia) &&
12147
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.BaseKeyword);
12161
if (precedence > Precedence.Assignment || !(this.
CurrentToken
.IsIdentifierVar() || IsPredefinedType(this.
CurrentToken
.Kind)))
12170
this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken && ScanDesignator() &&
12171
this.
CurrentToken
.Kind == SyntaxKind.EqualsToken;
12176
switch (this.
CurrentToken
.Kind)
12195
switch (this.
CurrentToken
.Kind)
12269
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken)
12308
return this.
CurrentToken
.Kind != SyntaxKind.ColonToken;
12321
while (this.
CurrentToken
.Kind == SyntaxKind.ExclamationToken)
12357
=> this.
CurrentToken
.Kind switch
12416
openToken = this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or SyntaxKind.OpenBracketToken
12423
if (this.
CurrentToken
.Kind != closeKind && this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
12451
else if (isIndexer && this.
CurrentToken
.Kind == closeKind)
12467
closeToken = this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken
12476
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
12480
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleArgumentExpression(),
12481
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
12488
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken;
12493
return IsValidArgumentRefKindKeyword(this.
CurrentToken
.Kind) || this.IsPossibleExpression();
12511
var nameColon = this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.ColonToken
12518
if (IsValidArgumentRefKindKeyword(this.
CurrentToken
.Kind) &&
12520
!(this.
CurrentToken
.Kind == SyntaxKind.RefKeyword &&
12528
if (isIndexer && this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBracketToken)
12532
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12564
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
12642
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12673
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12699
if (IsParameterModifierIncludingScoped(this.
CurrentToken
))
12725
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
12733
switch (this.
CurrentToken
.Kind)
12749
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12777
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12785
if (expression.Kind == SyntaxKind.IdentifierName && this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
12806
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12811
var argument = expression.Kind != SyntaxKind.IdentifierName || this.
CurrentToken
.Kind != SyntaxKind.ColonToken
12837
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
12850
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
12857
if (forPattern && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
12879
return !forPattern || this.
CurrentToken
.Kind switch
12904
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken || CanFollowCast(this.
CurrentToken
.Kind);
12910
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken &&
12919
return CanFollowCast(this.
CurrentToken
.Kind);
12950
return this.
CurrentToken
.ContextualKind is SyntaxKind.OrKeyword or SyntaxKind.AndKeyword;
12979
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
12995
if (this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
13000
else if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13014
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
13024
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13032
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
13043
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13052
if (st == ScanTypeFlags.NotType || this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13069
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
13077
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13149
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NewKeyword);
13168
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken);
13189
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleCollectionElement(),
13190
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13209
return this.
CurrentToken
.Kind == SyntaxKind.NewKeyword && this.PeekToken(1).Kind == SyntaxKind.OpenBraceToken;
13217
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken);
13254
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken;
13269
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken;
13285
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
13295
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13300
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
13322
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13333
switch (this.
CurrentToken
.Kind)
13452
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
13453
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13462
this.
CurrentToken
.Kind == SyntaxKind.ColonToken
13465
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13476
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13504
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.NewKeyword or SyntaxKind.StackAllocKeyword);
13531
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13571
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleVariableInitializer(),
13572
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13598
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13620
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken ? this.ParseArrayInitializer() : null);
13637
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13650
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBraceToken)
13681
if (this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
13687
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13702
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword);
13727
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken &&
13755
if (
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13762
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13775
var identifier = (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.EqualsGreaterThanToken)
13792
=>
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13823
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleLambdaParameter(),
13824
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13831
switch (this.
CurrentToken
.Kind)
13849
return IsPredefinedType(this.
CurrentToken
.Kind);
13860
if (IsParameterModifierIncludingScoped(this.
CurrentToken
))
13887
if (IsPredefinedType(this.
CurrentToken
.Kind))
13893
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13903
if (this.IsTrueIdentifier(this.
CurrentToken
))
13930
=> IsTokenQueryContextualKeyword(this.
CurrentToken
);
13972
return this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword &&
14025
return this.ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken or SyntaxKind.InKeyword;
14047
switch (this.
CurrentToken
.ContextualKind)
14070
SelectOrGroupClauseSyntax selectOrGroupBy = this.
CurrentToken
.ContextualKind switch
14082
this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword
14089
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword);
14098
(this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken || SyntaxFacts.IsQueryContextualKeyword(this.
CurrentToken
.ContextualKind)))
14122
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.JoinKeyword);
14135
into: this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword
14142
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.LetKeyword);
14146
SyntaxFacts.IsReservedKeyword(this.
CurrentToken
.Kind) && this.PeekToken(1).Kind == SyntaxKind.EqualsToken
14155
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword);
14163
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.OrderByKeyword);
14171
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
14173
if (this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
14177
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
14198
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
14199
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseParenToken
14200
|| p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
14212
if (this.
CurrentToken
.ContextualKind is SyntaxKind.AscendingKeyword or SyntaxKind.DescendingKeyword)
14226
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.SelectKeyword);
14234
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.GroupKeyword);
14244
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword);
14375
if (requireOneElement || this.
CurrentToken
.Kind != closeTokenKind)
14392
if (this.
CurrentToken
.Kind == closeTokenKind)
14403
nodes.AddSeparator(this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
14410
if (this.
CurrentToken
.Kind == closeTokenKind)
14445
if (this.
CurrentToken
.Kind == separatorTokenKind)
14450
if (allowSemicolonAsSeparator && this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken)
14539
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken) return node;
14541
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)
500
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
532
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken && ConvertPatternToExpressionIfPossible(pattern, permitTypeArguments: true) is ExpressionSyntax expr)
553
this.
CurrentToken
.Kind is
566
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBraceToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
573
if (@this._termState.HasFlag(TerminatorState.IsExpressionOrPatternInCaseLabelOfSwitchStatement) && @this.
CurrentToken
.Kind is SyntaxKind.ColonToken)
582
if (@this._termState.HasFlag(TerminatorState.IsPatternInSwitchExpressionArm) && @this.
CurrentToken
.Kind is SyntaxKind.EqualsGreaterThanToken or SyntaxKind.ColonToken)
586
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleSubpatternElement(),
587
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
607
while (this.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken)
613
var errantCase = this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword
632
this.
CurrentToken
.Kind == SyntaxKind.ColonToken
638
if (errantCase is null && switchExpressionCase.FullWidth == 0 && this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
645
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken)
647
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
;