767 references to CurrentToken
Microsoft.CodeAnalysis.CSharp (767)
Parser\DirectiveParser.cs (28)
50
SyntaxKind contextualKind = this.
CurrentToken
.ContextualKind;
89
result = (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken) ?
376
switch (this.
CurrentToken
.Kind)
397
if (this.
CurrentToken
.Kind == SyntaxKind.StringLiteralToken &&
398
(line.IsMissing || line.GetTrailingTriviaWidth() > 0 || this.
CurrentToken
.GetLeadingTriviaWidth() > 0)) //require separation between line number and file name
413
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
432
var characterOffset = (
CurrentToken
.Kind == SyntaxKind.NumericLiteralToken) ?
545
SyntaxToken setting = this.
CurrentToken
.Kind switch
553
SyntaxToken target = this.
CurrentToken
.Kind switch
574
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WarningKeyword)
578
if (this.
CurrentToken
.Kind == SyntaxKind.DisableKeyword || this.
CurrentToken
.Kind == SyntaxKind.RestoreKeyword)
583
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfDirectiveToken)
588
if (this.
CurrentToken
.Kind == SyntaxKind.NumericLiteralToken)
600
else if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
621
if (this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
639
else if (this.
CurrentToken
.Kind == SyntaxKind.ChecksumKeyword)
728
if (this.
CurrentToken
.Kind != SyntaxKind.EndOfDirectiveToken &&
729
this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
748
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfDirectiveToken &&
749
this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
756
SyntaxToken endOfDirective = this.
CurrentToken
.Kind == SyntaxKind.EndOfDirectiveToken
777
while (this.
CurrentToken
.Kind == SyntaxKind.BarBarToken)
790
while (this.
CurrentToken
.Kind == SyntaxKind.AmpersandAmpersandToken)
803
while (this.
CurrentToken
.Kind == SyntaxKind.EqualsEqualsToken || this.
CurrentToken
.Kind == SyntaxKind.ExclamationEqualsToken)
815
if (this.
CurrentToken
.Kind == SyntaxKind.ExclamationToken)
826
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))
1037
if (SyntaxFacts.IsUnaryOperatorDeclarationToken(
CurrentToken
.Kind) || SyntaxFacts.IsBinaryExpressionOperatorToken(
CurrentToken
.Kind))
1050
if (operatorToken.Kind == SyntaxKind.GreaterThanToken && LanguageParser.NoTriviaBetween(operatorToken,
CurrentToken
))
1052
if (
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
1056
if (LanguageParser.NoTriviaBetween(operatorToken2,
CurrentToken
) &&
1057
CurrentToken
.Kind is (SyntaxKind.GreaterThanToken or SyntaxKind.GreaterThanEqualsToken))
1093
else if (
CurrentToken
.Kind == SyntaxKind.EqualsToken)
1103
else if (
CurrentToken
.Kind == SyntaxKind.GreaterThanEqualsToken)
1161
if (LanguageParser.NoTriviaBetween(operatorToken,
CurrentToken
) &&
CurrentToken
.Kind == SyntaxKind.EqualsToken)
1183
(isConversion || SyntaxFacts.IsAnyOverloadableOperator(
CurrentToken
.Kind)))
1192
if (
CurrentToken
.Kind == SyntaxKind.UncheckedKeyword)
1209
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.ExplicitKeyword ||
1210
CurrentToken
.Kind == SyntaxKind.ImplicitKeyword);
1247
if (
CurrentToken
.Kind != openKind)
1257
while (
CurrentToken
.Kind == SyntaxKind.CommaToken || IsPossibleCrefParameter())
1261
if (
CurrentToken
.Kind != closeKind)
1272
Debug.Assert(
CurrentToken
.Kind != SyntaxKind.CommaToken);
1297
SyntaxKind kind = this.
CurrentToken
.Kind;
1319
switch (
CurrentToken
.Kind)
1329
if (
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword && refKindOpt is not null)
1356
if (
CurrentToken
.Kind != SyntaxKind.LessThanToken)
1366
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.LessThanToken);
1384
var currentKind =
CurrentToken
.Kind;
1386
SyntaxFacts.IsPredefinedType(
CurrentToken
.Kind))
1446
if (SyntaxFacts.IsPredefinedType(
CurrentToken
.Kind))
1455
else if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken && PeekToken(1).Kind == SyntaxKind.ColonColonToken)
1475
if (checkForMember && (leftName.IsMissing ||
CurrentToken
.Kind != SyntaxKind.DotToken))
1487
while (
CurrentToken
.Kind == SyntaxKind.DotToken)
1496
if (checkForMember && (rightName.IsMissing ||
CurrentToken
.Kind != SyntaxKind.DotToken))
1518
if (
CurrentToken
.Kind == SyntaxKind.QuestionToken)
1523
while (
CurrentToken
.Kind == SyntaxKind.AsteriskToken)
1528
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
1534
while (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
1540
while (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
1542
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
1592
switch (
CurrentToken
.Kind)
1604
return
CurrentToken
.Text == SyntaxFacts.GetText(SyntaxKind.LessThanToken) ||
1605
IsNonAsciiQuotationMark(
CurrentToken
);
1660
switch (
CurrentToken
.Kind)
1672
return
CurrentToken
.Text == SyntaxFacts.GetText(SyntaxKind.LessThanToken) ||
1673
IsNonAsciiQuotationMark(
CurrentToken
);
Parser\LanguageParser.cs (602)
96
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken)
251
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NamespaceKeyword);
264
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
268
else if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || IsPossibleNamespaceMemberDeclaration())
586
switch (this.
CurrentToken
.Kind)
675
if (this.
CurrentToken
.ContextualKind != SyntaxKind.GlobalKeyword || this.PeekToken(1).Kind != SyntaxKind.UsingKeyword)
862
switch (this.
CurrentToken
.Kind)
871
return IsPossibleStartOfTypeDeclaration(this.
CurrentToken
.Kind);
877
if (this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword)
894
return this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken;
919
return this.
CurrentToken
.Kind == SyntaxKind.ExternKeyword
932
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ExternKeyword);
956
var globalToken = this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword
960
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.UsingKeyword);
967
if (staticToken is null && unsafeToken != null && this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
979
var isAliasToFunctionPointer = alias != null && this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword;
998
type = WithAdditionalDiagnostics(CreateMissingIdentifierName(), GetExpectedTokenError(SyntaxKind.IdentifierToken, this.
CurrentToken
.Kind));
1021
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken
1041
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
1059
if (SyntaxFacts.IsLiteralExpression(this.
CurrentToken
.Kind))
1103
return this.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken
1108
=> IsSomeWord(this.
CurrentToken
.Kind) && this.PeekToken(1).Kind == SyntaxKind.ColonToken;
1153
if (this.
CurrentToken
.Kind == SyntaxKind.DotToken)
1159
if (this.
CurrentToken
.Kind == SyntaxKind.MinusGreaterThanToken)
1164
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken &&
1177
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttribute(),
1178
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
1207
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
1232
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttributeArgument(),
1233
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
1267
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
1358
var newMod = GetModifierExcludingScoped(this.
CurrentToken
);
1495
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None);
1514
(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword))
1531
var currentTokenKind = this.
CurrentToken
.Kind;
1553
var currentTokenKind = this.
CurrentToken
.Kind;
1571
if (SyntaxFacts.IsPredefinedType(this.
CurrentToken
.Kind))
1578
if (IsNonContextualModifier(this.
CurrentToken
))
1613
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword);
1637
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword);
1670
switch (this.
CurrentToken
.Kind)
1673
if (this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
1693
switch (this.
CurrentToken
.Kind)
1711
Debug.Assert(
CurrentToken
.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword);
1715
throw ExceptionUtilities.UnexpectedValue(this.
CurrentToken
.Kind);
1721
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword or SyntaxKind.InterfaceKeyword ||
1722
this.
CurrentToken
.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword);
1743
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
1756
var paramList =
CurrentToken
.Kind == SyntaxKind.OpenParenToken || isExtension
1768
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
1779
if (
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
1803
SyntaxKind kind = this.
CurrentToken
.Kind;
1841
closeBrace = WithAdditionalDiagnostics(closeBrace, this.GetExpectedTokenError(SyntaxKind.CloseBraceToken, this.
CurrentToken
.Kind));
1868
if (this.
CurrentToken
.ContextualKind == SyntaxKind.RecordKeyword)
1871
recordModifier = this.
CurrentToken
.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword
1878
if (this.
CurrentToken
.Kind is SyntaxKind.StructKeyword or SyntaxKind.ClassKeyword &&
2032
SyntaxKind kind = this.
CurrentToken
.Kind;
2080
return this.IsPossibleMemberStart() || this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken;
2085
return this.
CurrentToken
.Kind is SyntaxKind.ColonToken or SyntaxKind.OpenBraceToken
2102
list.Add(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken
2109
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken ||
2115
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
2129
if (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None)
2152
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttribute(),
2153
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || p.IsCurrentTokenWhereOfConstraintClause(),
2161
this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword &&
2168
while (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
2186
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.IsCurrentTokenWhereOfConstraintClause())
2200
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
2201
|| ((_termState & TerminatorState.IsEndOfTypeSignature) != 0 && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
2202
|| this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
2203
|| this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
2207
else if (haveComma = (this.
CurrentToken
.Kind == SyntaxKind.CommaToken) || this.IsPossibleTypeParameterConstraint())
2247
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleTypeParameterConstraint(),
2248
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || p.IsCurrentTokenWhereOfConstraintClause(),
2255
switch (this.
CurrentToken
.Kind)
2264
return (this.
CurrentToken
.ContextualKind == SyntaxKind.AllowsKeyword && PeekToken(1).Kind == SyntaxKind.RefKeyword) || this.IsTrueIdentifier();
2266
return IsPredefinedType(this.
CurrentToken
.Kind);
2272
return this.
CurrentToken
.Kind switch
2284
this.
CurrentToken
.Kind == SyntaxKind.QuestionToken
2316
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AllowsKeyword &&
2330
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken && PeekToken(1).Kind == SyntaxKind.RefKeyword)
2348
return CanStartMember(this.
CurrentToken
.Kind);
2409
switch (this.
CurrentToken
.Kind)
2419
if (
CurrentToken
.ContextualKind == SyntaxKind.RecordKeyword)
2561
switch (this.
CurrentToken
.Kind)
2607
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken)
2641
if (this.
CurrentToken
.Kind == SyntaxKind.ConstKeyword)
2654
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
2660
if (this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword)
2672
if (this.
CurrentToken
.Kind == SyntaxKind.NamespaceKeyword)
2694
if (this.
CurrentToken
.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken &&
2939
if (
CurrentToken
.Kind == SyntaxKind.UsingKeyword)
2944
if (
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
2959
if (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None &&
2960
this.
CurrentToken
.ContextualKind is not (SyntaxKind.PartialKeyword or SyntaxKind.AsyncKeyword or SyntaxKind.RequiredKeyword or SyntaxKind.FileKeyword) &&
2963
var misplacedModifier = this.
CurrentToken
;
3007
incompleteMember.FullWidth + this.
CurrentToken
.GetLeadingTriviaWidth(),
3008
this.
CurrentToken
.Width,
3010
this.
CurrentToken
.Text);
3027
|| this.
CurrentToken
.Kind is not SyntaxKind.OpenParenToken and not SyntaxKind.OpenBraceToken and not SyntaxKind.EqualsGreaterThanToken) &&
3055
if (IsStartOfPropertyBody(this.
CurrentToken
.Kind) ||
3056
(this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken && IsStartOfPropertyBody(this.PeekToken(1).Kind)))
3114
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken)
3120
if (this.
CurrentToken
.Kind == SyntaxKind.TildeToken)
3126
if (this.
CurrentToken
.Kind == SyntaxKind.ConstKeyword)
3132
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
3138
if (this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword)
3245
return this.
CurrentToken
.ContextualKind == SyntaxKind.ExtensionKeyword &&
3277
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
3282
if (this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
3322
return this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword or SyntaxKind.OperatorKeyword;
3364
var initializer = this.
CurrentToken
.Kind == SyntaxKind.ColonToken
3383
var kind = this.
CurrentToken
.Kind == SyntaxKind.BaseKeyword
3388
if (this.
CurrentToken
.Kind is SyntaxKind.BaseKeyword or SyntaxKind.ThisKeyword)
3400
var argumentList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken
3412
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.TildeToken);
3438
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3446
blockBody = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
3450
expressionBody = this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
3461
else if (parseSemicolonAfterBlock && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3473
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
3479
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
3485
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
3501
=> this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3505
return this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3509
=> this.
CurrentToken
.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
3512
=> this.
CurrentToken
.Kind == (errored ? SyntaxKind.CloseParenToken : SyntaxKind.GreaterThanToken);
3515
=> this.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken;
3532
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
3537
else if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
3540
var colonToken = this.
CurrentToken
;
3590
switch (this.
CurrentToken
.Kind)
3609
if (this.
CurrentToken
.Kind is not (SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword))
3613
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
3623
if (this.
CurrentToken
.Kind == SyntaxKind.OperatorKeyword)
3637
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken))
3643
separatorKind = this.
CurrentToken
.Kind;
3665
if (this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword ||
3687
var style = this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword
3697
if (!style.IsMissing && explicitInterfaceOpt is not null && this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword && style.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia))
3729
bool couldBeParameterList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken;
3734
this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
3765
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
3782
if (this.
CurrentToken
.Kind == SyntaxKind.OperatorKeyword)
3792
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken);
3831
if (
CurrentToken
.Kind == SyntaxKind.UncheckedKeyword)
3850
var firstToken = this.
CurrentToken
;
3883
if (SyntaxFacts.IsAnyOverloadableOperator(this.
CurrentToken
.Kind))
3892
if (this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword)
3927
var tk = this.
CurrentToken
;
3934
tk = this.
CurrentToken
;
4066
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
4074
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4083
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
4118
if (this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken)
4124
Debug.Assert(IsStartOfPropertyBody(this.
CurrentToken
.Kind));
4126
var accessorList = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
4134
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
4142
else if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
4154
else if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4208
if (this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken)
4243
var refKeyword = this.
CurrentToken
.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
4254
static p => p.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken && !p.IsPossibleAccessor(),
4261
return this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken
4263
|| SyntaxFacts.GetAccessorDeclarationKind(this.
CurrentToken
.ContextualKind) != SyntaxKind.None
4264
|| this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken // for accessor blocks w/ missing keyword
4265
|| this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken // for empty body accessors w/ missing keyword
4287
if (GetModifierExcludingScoped(this.
CurrentToken
) == DeclarationModifiers.None)
4435
var token = (first && !this.
CurrentToken
.ContainsDiagnostics) ? this.EatTokenWithPrejudice(expected) : this.EatToken();
4461
var token = (first && !this.
CurrentToken
.ContainsDiagnostics) ? this.EatTokenWithPrejudice(errorCode) : this.EatToken();
4517
bool currentTokenIsSemicolon = this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken;
4518
bool currentTokenIsArrow = this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken;
4519
bool currentTokenIsOpenBraceToken = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken;
4702
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleParameter(),
4703
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
4710
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken;
4715
switch (this.
CurrentToken
.Kind)
4727
return IsParameterModifierExcludingScoped(this.
CurrentToken
) || IsPossibleScopedKeyword(isFunctionPointerParameter: false) || IsPredefinedType(this.
CurrentToken
.Kind);
4787
if (this.
CurrentToken
.Kind == SyntaxKind.ArgListKeyword)
4798
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && IsCurrentTokenWhereOfConstraintClause())
4805
identifier = allowOptionalIdentifier && this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken
4811
if (identifier is not null && this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind is SyntaxKind.CloseBracketToken)
4856
while (IsParameterModifierExcludingScoped(this.
CurrentToken
))
4858
if (this.
CurrentToken
.Kind is SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword or SyntaxKind.ReadOnlyKeyword)
4875
while (this.
CurrentToken
.Kind is SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword or SyntaxKind.ReadOnlyKeyword)
4888
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword);
4906
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.EventKeyword);
4930
if (explicitInterfaceOpt != null && this.
CurrentToken
.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
4982
if (explicitInterfaceOpt != null && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5009
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5062
if (this.
CurrentToken
.Kind == SyntaxKind.DotToken)
5078
return this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken;
5143
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5147
else if (stopOnCloseParen && this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
5151
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
5201
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
5202
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
5356
var currentTokenKind = this.
CurrentToken
.Kind;
5366
currentTokenKind = this.
CurrentToken
.Kind;
5417
switch (this.
CurrentToken
.Kind)
5428
var refKeyword = isLocalOrField && !isConst && this.
CurrentToken
.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
5505
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5541
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or SyntaxKind.LessThanToken);
5549
(this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.EqualsGreaterThanToken ||
5550
this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword))
5560
switch (this.
CurrentToken
.Kind)
5572
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
5579
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.IsPossibleExpression();
5598
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword);
5609
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
5631
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.EnumKeyword);
5646
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
5662
if (
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5707
static p => p.
CurrentToken
.Kind is not SyntaxKind.CommaToken and not SyntaxKind.SemicolonToken && !p.IsPossibleEnumMemberDeclaration(),
5708
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
5723
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5728
this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBraceToken
5738
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken || this.IsTrueIdentifier();
5743
return this.
CurrentToken
.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
5782
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
5822
var ctk = this.
CurrentToken
.Kind;
5834
result = this.AddError(result, ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
5860
if (this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword)
5873
return
CurrentToken
.ContextualKind == SyntaxKind.FieldKeyword &&
5880
if (this.
CurrentToken
.Kind != SyntaxKind.LessThanToken)
5910
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
5911
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
5922
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken)
5926
if (this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword)
5943
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken)
5953
this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword ? EatToken() : null,
5970
if (this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
5980
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6005
if (this.
CurrentToken
.Kind != SyntaxKind.LessThanToken)
6055
switch (this.
CurrentToken
.Kind)
6137
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6147
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6164
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
6170
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
6179
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6214
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
6241
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
6263
isDefinitelyTypeArgumentList = this.
CurrentToken
.Kind == SyntaxKind.CommaToken;
6281
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken);
6283
if (this.
CurrentToken
.Kind != SyntaxKind.GreaterThanToken)
6289
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken)
6298
if (lastScannedType is ScanTypeFlags.TupleType && this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken)
6311
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken;
6323
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6333
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6350
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
6357
if (tokenBreaksTypeArgumentList(this.
CurrentToken
))
6366
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken && tokenBreaksTypeArgumentList(this.PeekToken(1)))
6375
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken
6381
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken || this.IsPossibleType())
6451
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleType(),
6452
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken,
6460
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken)
6476
var varianceToken = this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword
6503
this.
CurrentToken
.Kind is not SyntaxKind.CommaToken and not SyntaxKind.GreaterThanToken &&
6525
=> this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken;
6529
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6567
if (this.
CurrentToken
.Kind == SyntaxKind.ThisKeyword)
6618
if (isEvent && this.
CurrentToken
.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
6689
separator = this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken
6702
if (this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken)
6731
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
6807
return this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken
6937
var tk = this.
CurrentToken
.Kind;
6958
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken || !this.IsTrueIdentifier())
6965
if (this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
6980
if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
6985
if (this.
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword)
6992
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken or SyntaxKind.ColonColonToken)
6995
if (this.
CurrentToken
.Kind is SyntaxKind.ColonColonToken)
7009
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken);
7049
else if (IsPredefinedType(this.
CurrentToken
.Kind))
7055
else if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
7060
if (result == ScanTypeFlags.NotType || mode == ParseTypeMode.DefinitePattern && this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
7080
switch (this.
CurrentToken
.Kind)
7121
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7126
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7159
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7177
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken);
7179
if (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
7201
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
7204
switch (
CurrentToken
)
7219
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
7236
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
7249
if (!IsPossibleFunctionPointerParameterListStart(
CurrentToken
))
7289
if (!validStartingToken &&
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
7303
isNotExpectedFunction: static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
7324
if (this.
CurrentToken
.Kind == SyntaxKind.VoidKeyword && this.PeekToken(1).Kind != SyntaxKind.AsteriskToken)
7349
if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
7353
this.
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword ? this.EatToken() : null,
7397
switch (this.
CurrentToken
.Kind)
7445
while (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken);
7466
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.QuestionToken);
7489
if (mode == ParseTypeMode.AfterIs && this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken)
7516
return this.
CurrentToken
.Kind != SyntaxKind.ColonToken;
7543
if (IsTrueIdentifier(this.
CurrentToken
))
7552
if (this.
CurrentToken
.ContextualKind is SyntaxKind.AsyncKeyword or SyntaxKind.AwaitKeyword or SyntaxKind.FromKeyword)
7606
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken)
7615
this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or // ctor parameters
7650
while (IsMakingProgress(ref lastTokenPosition) && this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7652
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7665
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7710
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
7714
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7749
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
7750
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken,
7756
if (IsPredefinedType(this.
CurrentToken
.Kind))
7760
if (token.Kind == SyntaxKind.VoidKeyword && this.
CurrentToken
.Kind != SyntaxKind.AsteriskToken)
7769
if (IsTrueIdentifier() || this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken)
7774
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
7797
if (!IsPossibleFunctionPointerParameterListStart(
CurrentToken
))
7840
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
7851
lessThanToken.IsMissing &&
CurrentToken
.Kind == SyntaxKind.CloseParenToken
7866
isNotExpectedFunction: static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
7874
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
7878
switch (
CurrentToken
)
7882
managedSpecifier = EatContextualToken(
CurrentToken
.ContextualKind);
7902
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
7920
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
7950
=>
CurrentToken
.Kind == SyntaxKind.DelegateKeyword && PeekToken(1).Kind == SyntaxKind.AsteriskToken;
7961
while (this.
CurrentToken
.Kind == SyntaxKind.AsteriskToken)
7981
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
7995
while (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
8005
var isCollectionExpression = this.
CurrentToken
.Kind
8018
|| IsExpectedBinaryOperator(this.
CurrentToken
.Kind)
8019
|| IsExpectedAssignmentOperator(this.
CurrentToken
.Kind)
8020
|| (this.
CurrentToken
.ContextualKind is SyntaxKind.SwitchKeyword or SyntaxKind.WithKeyword && this.PeekToken(1).Kind is SyntaxKind.OpenBraceToken);
8024
this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
8083
switch (this.
CurrentToken
.Kind)
8179
bool beginsWithAwait = this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword;
8215
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword &&
8256
=>
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword && PeekToken(1).Kind == SyntaxKind.UsingKeyword;
8270
return this.
CurrentToken
.ContextualKind == SyntaxKind.YieldKeyword &&
8280
var tk = this.
CurrentToken
.Kind;
8308
tk = this.
CurrentToken
.ContextualKind;
8329
bool? typedIdentifier = IsPossibleTypedIdentifierStart(this.
CurrentToken
, this.PeekToken(1), allowThisKeyword: false);
8350
var tk = this.
CurrentToken
.ContextualKind;
8394
if (st == ScanTypeFlags.MustBeType && this.
CurrentToken
.Kind is not SyntaxKind.DotToken and not SyntaxKind.OpenParenToken)
8399
if (st == ScanTypeFlags.NotType || this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
8422
if (this.
CurrentToken
.Kind != SyntaxKind.UsingKeyword)
8488
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken)
8509
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
8516
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
8525
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.SemicolonToken;
8543
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
8550
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
8634
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NewKeyword);
8779
CSharpSyntaxNode openBrace = isAccessorBody && this.
CurrentToken
.Kind != SyntaxKind.OpenBraceToken
8860
while (this.
CurrentToken
.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken
8892
return this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
8904
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken,
8912
var tk = this.
CurrentToken
.Kind;
8976
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken;
9039
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.TryKeyword or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
9052
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
9066
if (this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword)
9069
while (this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword)
9075
if (this.
CurrentToken
.Kind == SyntaxKind.FinallyKeyword)
9110
return this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword;
9115
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword);
9122
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
9142
var keywordKind = this.
CurrentToken
.ContextualKind;
9174
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken
9183
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken
9191
return this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken
9198
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.CheckedKeyword or SyntaxKind.UncheckedKeyword);
9215
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DoKeyword);
9239
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken;
9256
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9277
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9287
var condition = this.
CurrentToken
.Kind is not SyntaxKind.SemicolonToken and not SyntaxKind.CommaToken
9296
var incrementors = this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken
9325
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
9334
isDeclaration = ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
9338
else if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
9355
else if (this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
9370
=> this.
CurrentToken
.Kind is SyntaxKind.CommaToken
9378
while (this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CommaToken)
9402
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
9406
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
9407
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
9414
return this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken;
9421
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForEachKeyword || this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9432
if (this.
CurrentToken
.Kind == SyntaxKind.ForKeyword)
9526
if (this.IsInAsync && this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword)
9534
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
9537
if (ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
9584
return this.
CurrentToken
.Kind == SyntaxKind.CommaToken;
9586
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseParenToken;
9599
if (!this.
CurrentToken
.IsIdentifierVar())
9638
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.GotoKeyword);
9646
if (this.
CurrentToken
.Kind is SyntaxKind.CaseKeyword or SyntaxKind.DefaultKeyword)
9671
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IfKeyword);
9684
var elseKeyword = this.
CurrentToken
.Kind != SyntaxKind.ElseKeyword ?
9695
if (this.
CurrentToken
.Kind != SyntaxKind.IfKeyword)
9736
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ElseKeyword);
9750
return this.
CurrentToken
.Kind != SyntaxKind.ElseKeyword
9759
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LockKeyword);
9771
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ReturnKeyword);
9775
this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken ? this.ParsePossibleRefExpression() : null,
9781
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.YieldKeyword);
9788
if (this.
CurrentToken
.Kind == SyntaxKind.BreakKeyword)
9797
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
9818
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.SwitchKeyword or SyntaxKind.CaseKeyword);
9843
if (this.
CurrentToken
.Kind is SyntaxKind.CaseKeyword)
9888
return this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword ||
9889
(this.
CurrentToken
.Kind == SyntaxKind.DefaultKeyword && this.PeekToken(1).Kind != SyntaxKind.OpenParenToken);
9903
if (this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword)
9907
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
9919
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhenKeyword && node is ExpressionSyntax ex)
9944
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DefaultKeyword);
9966
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ThrowKeyword);
9970
this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken ? this.ParseExpressionCore() : null,
9976
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.UnsafeKeyword);
10044
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
10071
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken &&
10103
bool condition1 = st == ScanTypeFlags.MustBeType && this.
CurrentToken
.Kind != SyntaxKind.DotToken;
10104
bool condition2 = st != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
10112
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.WhileKeyword);
10147
else if (this.
CurrentToken
.Kind == SyntaxKind.UsingKeyword)
10243
if (this.
CurrentToken
.ContextualKind != SyntaxKind.ScopedKeyword)
10255
if (this.
CurrentToken
.Kind is (SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword))
10284
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
10286
else if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
10302
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
10310
done = (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken);
10323
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
10353
return
CurrentToken
.ContextualKind == SyntaxKind.UnderscoreToken
10360
if (this.
CurrentToken
.ContextualKind != SyntaxKind.WhenKeyword)
10444
switch (this.
CurrentToken
.Kind)
10457
while (IsDeclarationModifier(k = this.
CurrentToken
.ContextualKind) || IsAdditionalLocalFunctionModifier(k))
10496
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken);
10502
if (IsDeclarationModifier(this.
CurrentToken
.Kind) ||
10503
IsAdditionalLocalFunctionModifier(this.
CurrentToken
.Kind))
10510
if (ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
10518
while (IsAdditionalLocalFunctionModifier(this.
CurrentToken
.ContextualKind));
10659
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
10702
if (IsScript && this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken)
10746
SyntaxKind tk = this.
CurrentToken
.Kind;
10792
return this.IsTrueIdentifier() || this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword;
11028
return (this.IsScript || this.IsInAsync) && this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword;
11033
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword)
11111
var tk = this.
CurrentToken
.Kind;
11153
if (this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword && IsInQuery)
11160
this.AddError(this.EatToken(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text));
11207
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional)
11305
if (this.
CurrentToken
.Kind != SyntaxKind.ColonToken &&
11320
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
11332
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken && this.lexer.InterpolationFollowedByColon)
11391
var token1 = this.
CurrentToken
;
11493
if (operatorExpressionKind == SyntaxKind.SimpleAssignmentExpression &&
CurrentToken
.Kind == SyntaxKind.RefKeyword &&
11513
if (this.
CurrentToken
.Kind != SyntaxKind.DotToken)
11517
return nextToken.Kind == SyntaxKind.DotToken && NoTriviaBetween(this.
CurrentToken
, nextToken);
11535
if (this.
CurrentToken
is { Kind: SyntaxKind.DotToken } token3 &&
11605
var tk = this.
CurrentToken
.Kind;
11641
return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
11670
return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
11737
if (this.
CurrentToken
.Kind != SyntaxKind.DotToken || tk == SyntaxKind.VoidKeyword)
11772
switch (this.
CurrentToken
.Kind)
11784
expr = _syntaxFactory.PostfixUnaryExpression(SyntaxFacts.GetPostfixUnaryExpression(this.
CurrentToken
.Kind), expr, this.EatToken());
11819
if (this.
CurrentToken
.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia) &&
11853
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.BaseKeyword);
11867
if (precedence > Precedence.Assignment || !(this.
CurrentToken
.IsIdentifierVar() || IsPredefinedType(this.
CurrentToken
.Kind)))
11876
this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken && ScanDesignator() &&
11877
this.
CurrentToken
.Kind == SyntaxKind.EqualsToken;
11882
switch (this.
CurrentToken
.Kind)
11901
switch (this.
CurrentToken
.Kind)
11975
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken)
12014
return this.
CurrentToken
.Kind != SyntaxKind.ColonToken;
12027
while (this.
CurrentToken
.Kind == SyntaxKind.ExclamationToken)
12063
=> this.
CurrentToken
.Kind switch
12122
openToken = this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or SyntaxKind.OpenBracketToken
12129
if (this.
CurrentToken
.Kind != closeKind && this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
12157
else if (isIndexer && this.
CurrentToken
.Kind == closeKind)
12173
closeToken = this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken
12182
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
12186
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleArgumentExpression(),
12187
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
12194
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken;
12199
return IsValidArgumentRefKindKeyword(this.
CurrentToken
.Kind) || this.IsPossibleExpression();
12217
var nameColon = this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.ColonToken
12224
if (IsValidArgumentRefKindKeyword(this.
CurrentToken
.Kind) &&
12226
!(this.
CurrentToken
.Kind == SyntaxKind.RefKeyword &&
12234
if (isIndexer && this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBracketToken)
12238
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12270
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
12348
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12379
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12405
if (IsParameterModifierIncludingScoped(this.
CurrentToken
))
12431
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
12439
switch (this.
CurrentToken
.Kind)
12455
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12483
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12491
if (expression.Kind == SyntaxKind.IdentifierName && this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
12512
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12517
var argument = expression.Kind != SyntaxKind.IdentifierName || this.
CurrentToken
.Kind != SyntaxKind.ColonToken
12543
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
12556
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
12563
if (forPattern && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
12585
return !forPattern || this.
CurrentToken
.Kind switch
12610
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken || CanFollowCast(this.
CurrentToken
.Kind);
12616
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken &&
12625
return CanFollowCast(this.
CurrentToken
.Kind);
12656
return this.
CurrentToken
.ContextualKind is SyntaxKind.OrKeyword or SyntaxKind.AndKeyword;
12685
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
12701
if (this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
12706
else if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
12720
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
12730
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
12738
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
12749
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
12758
if (st == ScanTypeFlags.NotType || this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
12775
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
12783
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
12855
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NewKeyword);
12874
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken);
12895
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleCollectionElement(),
12896
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
12915
return this.
CurrentToken
.Kind == SyntaxKind.NewKeyword && this.PeekToken(1).Kind == SyntaxKind.OpenBraceToken;
12923
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken);
12960
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken;
12970
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken;
12986
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
12996
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13001
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
13023
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13034
switch (this.
CurrentToken
.Kind)
13153
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
13154
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13164
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13175
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13203
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.NewKeyword or SyntaxKind.StackAllocKeyword);
13230
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13270
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleVariableInitializer(),
13271
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13297
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13319
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken ? this.ParseArrayInitializer() : null);
13347
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13360
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBraceToken)
13391
if (this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
13397
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13412
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword);
13437
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken &&
13474
if (
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13481
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13494
var identifier = (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.EqualsGreaterThanToken)
13511
=>
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13542
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleLambdaParameter(),
13543
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13550
switch (this.
CurrentToken
.Kind)
13568
return IsPredefinedType(this.
CurrentToken
.Kind);
13579
if (IsParameterModifierIncludingScoped(this.
CurrentToken
))
13606
if (IsPredefinedType(this.
CurrentToken
.Kind))
13612
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13622
if (this.IsTrueIdentifier(this.
CurrentToken
))
13649
=> IsTokenQueryContextualKeyword(this.
CurrentToken
);
13691
return this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword &&
13744
return this.ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken or SyntaxKind.InKeyword;
13769
switch (this.
CurrentToken
.ContextualKind)
13793
SelectOrGroupClauseSyntax selectOrGroupBy = this.
CurrentToken
.ContextualKind switch
13805
this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword
13812
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword);
13821
(this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken || SyntaxFacts.IsQueryContextualKeyword(this.
CurrentToken
.ContextualKind)))
13845
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.JoinKeyword);
13858
into: this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword
13865
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.LetKeyword);
13875
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword);
13883
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.OrderByKeyword);
13891
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13893
if (this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
13897
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13918
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
13919
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseParenToken
13920
|| p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
13932
if (this.
CurrentToken
.ContextualKind is SyntaxKind.AscendingKeyword or SyntaxKind.DescendingKeyword)
13946
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.SelectKeyword);
13954
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.GroupKeyword);
13964
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword);
14095
if (requireOneElement || this.
CurrentToken
.Kind != closeTokenKind)
14112
if (this.
CurrentToken
.Kind == closeTokenKind)
14118
nodes.AddSeparator(this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
14125
if (this.
CurrentToken
.Kind == closeTokenKind)
14160
if (this.
CurrentToken
.Kind == separatorTokenKind)
14165
if (allowSemicolonAsSeparator && this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken)
14254
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken) return node;
14256
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
Parser\LanguageParser_InterpolatedString.cs (3)
40
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.InterpolatedStringToken);
410
if (this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
423
var leading = this.
CurrentToken
.GetLeadingTrivia();
Parser\LanguageParser_Patterns.cs (32)
61
while (this.
CurrentToken
.ContextualKind == SyntaxKind.OrKeyword)
78
var tk =
CurrentToken
.Kind;
84
if (tk == SyntaxKind.IdentifierToken && this.
CurrentToken
.ContextualKind != SyntaxKind.UnderscoreToken &&
85
(this.
CurrentToken
.ContextualKind != SyntaxKind.NameOfKeyword || this.PeekToken(1).Kind != SyntaxKind.OpenParenToken))
107
while (this.
CurrentToken
.ContextualKind == SyntaxKind.AndKeyword)
121
switch (this.
CurrentToken
.Kind)
143
switch (this.
CurrentToken
.Kind)
160
if (this.
CurrentToken
.ContextualKind == SyntaxKind.NotKeyword)
175
var tk = this.
CurrentToken
.Kind;
187
if (
CurrentToken
.ContextualKind == SyntaxKind.UnderscoreToken)
192
switch (
CurrentToken
.Kind)
244
switch (this.
CurrentToken
.Kind)
276
(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken || this.IsValidPatternDesignation(inSwitchArmPattern)))
285
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken && (type != null || !looksLikeCast()))
360
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
386
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
388
switch (
CurrentToken
.ContextualKind)
477
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
509
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken && ConvertPatternToExpressionIfPossible(pattern, permitTypeArguments: true) is ExpressionSyntax expr)
530
this.
CurrentToken
.Kind is
543
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBraceToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
550
if (@this._termState.HasFlag(TerminatorState.IsExpressionOrPatternInCaseLabelOfSwitchStatement) && @this.
CurrentToken
.Kind is SyntaxKind.ColonToken)
559
if (@this._termState.HasFlag(TerminatorState.IsPatternInSwitchExpressionArm) && @this.
CurrentToken
.Kind is SyntaxKind.EqualsGreaterThanToken or SyntaxKind.ColonToken)
563
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleSubpatternElement(),
564
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
584
while (this.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken)
590
var errantCase = this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword
609
this.
CurrentToken
.Kind == SyntaxKind.ColonToken
615
if (errantCase is null && switchExpressionCase.FullWidth == 0 && this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
622
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken)
624
var commaToken = this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
Parser\SyntaxParser.cs (12)
488
var ct = this.
CurrentToken
;
498
=> this.
CurrentToken
.Kind == kind ? this.EatToken() : null;
525
var ct = this.
CurrentToken
;
533
return CreateMissingToken(kind, this.
CurrentToken
.Kind, reportError: true);
541
var ct = this.
CurrentToken
;
548
var replacement = CreateMissingToken(expected, this.
CurrentToken
.Kind, reportError: true);
584
if (this.
CurrentToken
.Kind != kind)
598
if (this.
CurrentToken
.Kind != kind)
610
var token = this.
CurrentToken
;
632
if (this.
CurrentToken
.ContextualKind != kind)
646
var contextualKind = this.
CurrentToken
.ContextualKind;
736
SyntaxToken ct = this.
CurrentToken
;