772 references to CurrentToken
Microsoft.CodeAnalysis.CSharp (772)
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 (82)
81
if (this.
CurrentToken
.Kind != SyntaxKind.EndOfDocumentationCommentToken)
101
bool endTag = this.
CurrentToken
.Kind == SyntaxKind.LessThanSlashToken;
108
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfDocumentationCommentToken)
147
switch (this.
CurrentToken
.Kind)
171
switch (this.
CurrentToken
.Kind)
190
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
191
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken
192
|| this.
CurrentToken
.Kind == SyntaxKind.XmlEntityLiteralToken)
218
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
258
if (this.
CurrentToken
.Kind != SyntaxKind.GreaterThanToken)
328
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
452
switch (this.
CurrentToken
.Kind)
525
SyntaxToken openQuote = EatToken(this.
CurrentToken
.Kind == SyntaxKind.SingleQuoteToken
532
SyntaxToken current = this.
CurrentToken
;
539
current = this.
CurrentToken
;
606
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
607
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken
608
|| this.
CurrentToken
.Kind == SyntaxKind.XmlEntityLiteralToken
609
|| this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
631
if (IsNonAsciiQuotationMark(this.
CurrentToken
))
636
var quoteKind = this.
CurrentToken
.Kind == SyntaxKind.SingleQuoteToken
650
if (IsNonAsciiQuotationMark(this.
CurrentToken
))
685
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
725
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
726
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken
727
|| this.
CurrentToken
.Kind == SyntaxKind.MinusMinusToken)
752
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
753
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken)
774
while (this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralToken
775
|| this.
CurrentToken
.Kind == SyntaxKind.XmlTextLiteralNewLineToken)
900
else if (type.Kind != SyntaxKind.QualifiedName && this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
940
switch (
CurrentToken
.Kind)
949
case SyntaxKind.IdentifierToken when
CurrentToken
.ContextualKind == SyntaxKind.ExtensionKeyword:
973
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.ThisKeyword);
987
Debug.Assert(
CurrentToken
.ContextualKind == SyntaxKind.ExtensionKeyword);
990
TypeArgumentListSyntax? typeArguments = (
CurrentToken
.Kind == SyntaxKind.LessThanToken) ? ParseTypeArguments(typeArgumentsMustBeIdentifiers: true) : null;
991
CrefParameterListSyntax? parameters = (
CurrentToken
.Kind == SyntaxKind.OpenParenToken) ? ParseCrefParameterList() : null;
993
if (parameters is null ||
CurrentToken
.Kind != SyntaxKind.DotToken)
1018
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OperatorKeyword);
1024
if (SyntaxFacts.IsAnyOverloadableOperator(
CurrentToken
.Kind))
1035
if (SyntaxFacts.IsUnaryOperatorDeclarationToken(
CurrentToken
.Kind) || SyntaxFacts.IsBinaryExpressionOperatorToken(
CurrentToken
.Kind))
1048
if (operatorToken.Kind == SyntaxKind.GreaterThanToken && LanguageParser.NoTriviaBetween(operatorToken,
CurrentToken
))
1050
if (
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
1054
if (LanguageParser.NoTriviaBetween(operatorToken2,
CurrentToken
) &&
1055
CurrentToken
.Kind is (SyntaxKind.GreaterThanToken or SyntaxKind.GreaterThanEqualsToken))
1091
else if (
CurrentToken
.Kind == SyntaxKind.EqualsToken)
1101
else if (
CurrentToken
.Kind == SyntaxKind.GreaterThanEqualsToken)
1159
if (LanguageParser.NoTriviaBetween(operatorToken,
CurrentToken
) &&
CurrentToken
.Kind == SyntaxKind.EqualsToken)
1181
(isConversion || SyntaxFacts.IsAnyOverloadableOperator(
CurrentToken
.Kind)))
1190
if (
CurrentToken
.Kind == SyntaxKind.UncheckedKeyword)
1207
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.ExplicitKeyword ||
1208
CurrentToken
.Kind == SyntaxKind.ImplicitKeyword);
1245
if (
CurrentToken
.Kind != openKind)
1255
while (
CurrentToken
.Kind == SyntaxKind.CommaToken || IsPossibleCrefParameter())
1259
if (
CurrentToken
.Kind != closeKind)
1270
Debug.Assert(
CurrentToken
.Kind != SyntaxKind.CommaToken);
1295
SyntaxKind kind = this.
CurrentToken
.Kind;
1317
switch (
CurrentToken
.Kind)
1327
if (
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword && refKindOpt is not null)
1354
if (
CurrentToken
.Kind != SyntaxKind.LessThanToken)
1364
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.LessThanToken);
1382
var currentKind =
CurrentToken
.Kind;
1384
SyntaxFacts.IsPredefinedType(
CurrentToken
.Kind))
1444
if (SyntaxFacts.IsPredefinedType(
CurrentToken
.Kind))
1453
else if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken && PeekToken(1).Kind == SyntaxKind.ColonColonToken)
1473
if (checkForMember && (leftName.IsMissing ||
CurrentToken
.Kind != SyntaxKind.DotToken))
1485
while (
CurrentToken
.Kind == SyntaxKind.DotToken)
1494
if (checkForMember && (rightName.IsMissing ||
CurrentToken
.Kind != SyntaxKind.DotToken))
1516
if (
CurrentToken
.Kind == SyntaxKind.QuestionToken)
1521
while (
CurrentToken
.Kind == SyntaxKind.AsteriskToken)
1526
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
1532
while (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
1538
while (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
1540
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
1590
switch (
CurrentToken
.Kind)
1602
return
CurrentToken
.Text == SyntaxFacts.GetText(SyntaxKind.LessThanToken) ||
1603
IsNonAsciiQuotationMark(
CurrentToken
);
1658
switch (
CurrentToken
.Kind)
1670
return
CurrentToken
.Text == SyntaxFacts.GetText(SyntaxKind.LessThanToken) ||
1671
IsNonAsciiQuotationMark(
CurrentToken
);
Parser\LanguageParser.cs (613)
96
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken)
251
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NamespaceKeyword);
264
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
268
else if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || IsPossibleNamespaceMemberDeclaration())
586
switch (this.
CurrentToken
.Kind)
675
if (this.
CurrentToken
.ContextualKind != SyntaxKind.GlobalKeyword || this.PeekToken(1).Kind != SyntaxKind.UsingKeyword)
871
switch (this.
CurrentToken
.Kind)
880
return IsPossibleStartOfTypeDeclaration(this.
CurrentToken
.Kind);
886
if (this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword)
903
return this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken;
928
return this.
CurrentToken
.Kind == SyntaxKind.ExternKeyword
941
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ExternKeyword);
965
var globalToken = this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword
969
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.UsingKeyword);
976
if (staticToken is null && unsafeToken != null && this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
988
var isAliasToFunctionPointer = alias != null && this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword;
1007
type = _syntaxFactory.IdentifierName(CreateMissingToken(SyntaxKind.IdentifierToken, this.
CurrentToken
.Kind));
1030
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken
1050
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
1068
if (SyntaxFacts.IsLiteralExpression(this.
CurrentToken
.Kind))
1112
return this.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken
1117
=> IsSomeWord(this.
CurrentToken
.Kind) && this.PeekToken(1).Kind == SyntaxKind.ColonToken;
1162
if (this.
CurrentToken
.Kind == SyntaxKind.DotToken)
1168
if (this.
CurrentToken
.Kind == SyntaxKind.MinusGreaterThanToken)
1173
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken &&
1186
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttribute(),
1187
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
1216
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
1241
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttributeArgument(),
1242
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
1276
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
1367
var newMod = GetModifierExcludingScoped(this.
CurrentToken
);
1516
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None);
1535
(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword))
1552
var currentTokenKind = this.
CurrentToken
.Kind;
1574
var currentTokenKind = this.
CurrentToken
.Kind;
1592
if (SyntaxFacts.IsPredefinedType(this.
CurrentToken
.Kind))
1599
if (IsNonContextualModifier(this.
CurrentToken
))
1634
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword);
1670
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword);
1703
switch (this.
CurrentToken
.Kind)
1706
if (this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
1726
switch (this.
CurrentToken
.Kind)
1744
Debug.Assert(
CurrentToken
.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword or SyntaxKind.UnionKeyword);
1748
throw ExceptionUtilities.UnexpectedValue(this.
CurrentToken
.Kind);
1754
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword or SyntaxKind.InterfaceKeyword ||
1755
this.
CurrentToken
.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword or SyntaxKind.UnionKeyword);
1777
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
1790
var paramList =
CurrentToken
.Kind == SyntaxKind.OpenParenToken || isExtension
1802
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
1813
if (
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
1837
SyntaxKind kind = this.
CurrentToken
.Kind;
1873
? this.CreateMissingToken(SyntaxKind.CloseBraceToken, this.
CurrentToken
.Kind)
1896
if (this.
CurrentToken
.ContextualKind == SyntaxKind.RecordKeyword)
1899
recordModifier = this.
CurrentToken
.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword
1906
if (this.
CurrentToken
.Kind is SyntaxKind.StructKeyword or SyntaxKind.ClassKeyword &&
2062
SyntaxKind kind = this.
CurrentToken
.Kind;
2110
return this.IsPossibleMemberStart() || this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken;
2115
return this.
CurrentToken
.Kind is SyntaxKind.ColonToken or SyntaxKind.OpenBraceToken
2132
list.Add(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken
2139
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken ||
2145
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
2159
if (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None)
2182
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttribute(),
2183
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || p.IsCurrentTokenWhereOfConstraintClause(),
2191
this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword &&
2198
while (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
2216
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.IsCurrentTokenWhereOfConstraintClause())
2230
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
2231
|| ((_termState & TerminatorState.IsEndOfTypeSignature) != 0 && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
2232
|| this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
2233
|| this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
2237
else if (haveComma = (this.
CurrentToken
.Kind == SyntaxKind.CommaToken) || this.IsPossibleTypeParameterConstraint())
2277
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleTypeParameterConstraint(),
2278
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || p.IsCurrentTokenWhereOfConstraintClause(),
2285
switch (this.
CurrentToken
.Kind)
2294
return (this.
CurrentToken
.ContextualKind == SyntaxKind.AllowsKeyword && PeekToken(1).Kind == SyntaxKind.RefKeyword) || this.IsTrueIdentifier();
2296
return IsPredefinedType(this.
CurrentToken
.Kind);
2302
return this.
CurrentToken
.Kind switch
2314
this.
CurrentToken
.Kind == SyntaxKind.QuestionToken
2346
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AllowsKeyword &&
2360
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken && PeekToken(1).Kind == SyntaxKind.RefKeyword)
2378
return CanStartMember(this.
CurrentToken
.Kind);
2439
switch (this.
CurrentToken
.Kind)
2450
switch (
CurrentToken
.ContextualKind)
2600
switch (this.
CurrentToken
.Kind)
2642
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken)
2676
if (this.
CurrentToken
.Kind == SyntaxKind.ConstKeyword)
2689
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
2695
if (this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword)
2707
if (this.
CurrentToken
.Kind == SyntaxKind.NamespaceKeyword)
2729
if (this.
CurrentToken
.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken &&
2970
if (
CurrentToken
.Kind == SyntaxKind.UsingKeyword)
2975
if (
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
2990
if (GetModifierExcludingScoped(this.
CurrentToken
) != DeclarationModifiers.None &&
2991
this.
CurrentToken
.ContextualKind is not (SyntaxKind.PartialKeyword or SyntaxKind.AsyncKeyword or SyntaxKind.RequiredKeyword or SyntaxKind.FileKeyword) &&
2994
var misplacedModifier = this.
CurrentToken
;
3057
offset: incompleteMember.Width + incompleteMember.GetTrailingTriviaWidth() + this.
CurrentToken
.GetLeadingTriviaWidth(),
3058
this.
CurrentToken
.Width,
3060
this.
CurrentToken
.Text);
3124
|| this.
CurrentToken
.Kind is not SyntaxKind.OpenParenToken and not SyntaxKind.OpenBraceToken and not SyntaxKind.EqualsGreaterThanToken) &&
3232
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken)
3238
if (this.
CurrentToken
.Kind == SyntaxKind.TildeToken)
3244
if (this.
CurrentToken
.Kind == SyntaxKind.ConstKeyword)
3250
if (this.
CurrentToken
.Kind == SyntaxKind.EventKeyword)
3256
if (this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword)
3364
return this.
CurrentToken
.ContextualKind == SyntaxKind.ExtensionKeyword &&
3396
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
3401
if (this.
CurrentToken
.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword)
3439
return this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword or SyntaxKind.OperatorKeyword;
3497
var currentTokenKind = this.
CurrentToken
.Kind;
3514
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.ColonToken or SyntaxKind.EqualsGreaterThanToken);
3517
var token = this.
CurrentToken
.Kind is SyntaxKind.BaseKeyword or SyntaxKind.ThisKeyword
3521
var argumentList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken
3539
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.TildeToken);
3565
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3573
blockBody = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
3577
expressionBody = this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
3588
else if (parseSemicolonAfterBlock && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
3600
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
3606
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
3612
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
3628
=> this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3632
return this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken;
3636
=> this.
CurrentToken
.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
3639
=> this.
CurrentToken
.Kind == (errored ? SyntaxKind.CloseParenToken : SyntaxKind.GreaterThanToken);
3642
=> this.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken;
3659
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
3664
else if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
3667
var colonToken = this.
CurrentToken
;
3714
switch (this.
CurrentToken
.Kind)
3733
if (this.
CurrentToken
.Kind is not (SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword))
3737
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
3747
if (this.
CurrentToken
.Kind == SyntaxKind.OperatorKeyword)
3761
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken))
3767
separatorKind = this.
CurrentToken
.Kind;
3789
if (this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword ||
3811
var style = this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword
3821
if (!style.IsMissing && explicitInterfaceOpt is not null && this.
CurrentToken
.Kind != SyntaxKind.OperatorKeyword && style.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia))
3853
bool couldBeParameterList = this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken;
3858
this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
3889
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
3906
if (this.
CurrentToken
.Kind == SyntaxKind.OperatorKeyword)
3916
(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken);
3955
if (
CurrentToken
.Kind == SyntaxKind.UncheckedKeyword)
3974
var firstToken = this.
CurrentToken
;
4007
if (SyntaxFacts.IsAnyOverloadableOperator(this.
CurrentToken
.Kind))
4016
if (this.
CurrentToken
.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword)
4019
(opTokenErrorOffset, opTokenErrorWidth) = (0, this.
CurrentToken
.Width);
4051
var tk = this.
CurrentToken
;
4058
tk = this.
CurrentToken
;
4190
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
4198
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4207
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken
4242
if (this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken)
4250
var accessorList = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
4258
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
4264
else if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
4276
else if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
4361
if (this.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken)
4396
var refKeyword = this.
CurrentToken
.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
4407
static p => p.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken && !p.IsPossibleAccessor(),
4414
return this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken
4416
|| SyntaxFacts.GetAccessorDeclarationKind(this.
CurrentToken
.ContextualKind) != SyntaxKind.None
4417
|| this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken // for accessor blocks w/ missing keyword
4418
|| this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken // for empty body accessors w/ missing keyword
4440
if (GetModifierExcludingScoped(this.
CurrentToken
) == DeclarationModifiers.None)
4588
var token = (first && !this.
CurrentToken
.ContainsDiagnostics) ? this.EatTokenEvenWithIncorrectKind(expected) : this.EatToken();
4614
var token = (first && !this.
CurrentToken
.ContainsDiagnostics) ? this.EatTokenWithPrejudice(errorCode) : this.EatToken();
4670
bool currentTokenIsSemicolon = this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken;
4671
bool currentTokenIsArrow = this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken;
4672
bool currentTokenIsOpenBraceToken = this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken;
4854
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleParameter(),
4855
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
4862
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken;
4867
switch (this.
CurrentToken
.Kind)
4879
return IsParameterModifierExcludingScoped(this.
CurrentToken
) ||
4881
IsPredefinedType(this.
CurrentToken
.Kind);
4941
if (this.
CurrentToken
.Kind == SyntaxKind.ArgListKeyword)
4952
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && IsCurrentTokenWhereOfConstraintClause())
4959
identifier = identifierIsOptional && this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken
4965
if (identifier is not null && this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind is SyntaxKind.CloseBracketToken)
5014
if (IsParameterModifierExcludingScoped(this.
CurrentToken
))
5060
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.FixedKeyword);
5078
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.EventKeyword);
5102
if (explicitInterfaceOpt != null && this.
CurrentToken
.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
5154
if (explicitInterfaceOpt != null && this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5181
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5234
if (this.
CurrentToken
.Kind == SyntaxKind.DotToken)
5250
return this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken;
5315
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5319
else if (stopOnCloseParen && this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
5323
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
5373
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
5374
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
5529
var currentTokenKind = this.
CurrentToken
.Kind;
5540
currentTokenKind = this.
CurrentToken
.Kind;
5590
switch (this.
CurrentToken
.Kind)
5601
var refKeyword = isLocalOrField && !isConst && this.
CurrentToken
.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression)
5678
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5696
Debug.Assert(this.
CurrentToken
.Kind != SyntaxKind.EqualsToken);
5736
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5750
this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
5775
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or SyntaxKind.LessThanToken);
5783
(this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.EqualsGreaterThanToken ||
5784
this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword))
5794
switch (this.
CurrentToken
.Kind)
5806
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
5813
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.IsPossibleExpression();
5832
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword);
5843
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
5865
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.EnumKeyword);
5880
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
5896
if (
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
5941
static p => p.
CurrentToken
.Kind is not SyntaxKind.CommaToken and not SyntaxKind.SemicolonToken && !p.IsPossibleEnumMemberDeclaration(),
5942
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
5957
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
5962
this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBraceToken
5972
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken || this.IsTrueIdentifier();
5977
return this.
CurrentToken
.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken;
6016
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
6056
var ctk = this.
CurrentToken
.Kind;
6068
result = this.AddError(result, ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
6094
if (this.
CurrentToken
.ContextualKind == SyntaxKind.PartialKeyword)
6107
return
CurrentToken
.ContextualKind == SyntaxKind.FieldKeyword &&
6114
if (this.
CurrentToken
.Kind != SyntaxKind.LessThanToken)
6144
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
6145
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
6157
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken or SyntaxKind.InKeyword or SyntaxKind.OutKeyword)
6166
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
6185
this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword ? EatToken() : null,
6202
if (this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
6212
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6237
if (this.
CurrentToken
.Kind != SyntaxKind.LessThanToken)
6287
switch (this.
CurrentToken
.Kind)
6369
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6379
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6396
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
6402
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
6411
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6446
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
6473
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
6495
isDefinitelyTypeArgumentList = this.
CurrentToken
.Kind == SyntaxKind.CommaToken;
6513
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken);
6515
if (this.
CurrentToken
.Kind != SyntaxKind.GreaterThanToken)
6521
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken)
6530
if (lastScannedType is ScanTypeFlags.TupleType && this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken)
6543
isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken;
6555
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6565
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
6582
if (this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken)
6589
if (tokenBreaksTypeArgumentList(this.
CurrentToken
))
6598
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken && tokenBreaksTypeArgumentList(this.PeekToken(1)))
6607
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken
6613
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken || this.IsPossibleType())
6683
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleType(),
6684
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken,
6692
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken)
6708
var varianceToken = this.
CurrentToken
.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword
6735
this.
CurrentToken
.Kind is not SyntaxKind.CommaToken and not SyntaxKind.GreaterThanToken &&
6757
=> this.
CurrentToken
.Kind == SyntaxKind.GreaterThanToken;
6761
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LessThanToken);
6799
if (this.
CurrentToken
.Kind == SyntaxKind.ThisKeyword)
6850
if (isEvent && this.
CurrentToken
.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken)
6921
separator = this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken
6934
if (this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken)
6963
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
7039
return this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken
7169
var tk = this.
CurrentToken
.Kind;
7190
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken || !this.IsTrueIdentifier())
7197
if (this.
CurrentToken
.Kind == SyntaxKind.LessThanToken)
7212
if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
7217
if (this.
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword)
7224
if (this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken or SyntaxKind.ColonColonToken)
7227
if (this.
CurrentToken
.Kind is SyntaxKind.ColonColonToken)
7241
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken);
7281
else if (IsPredefinedType(this.
CurrentToken
.Kind))
7287
else if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
7292
if (result == ScanTypeFlags.NotType || mode == ParseTypeMode.DefinitePattern && this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
7312
switch (this.
CurrentToken
.Kind)
7353
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7358
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7391
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7409
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken);
7411
if (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
7433
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
7436
switch (
CurrentToken
)
7451
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
7468
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
7481
if (!IsPossibleFunctionPointerParameterListStart(
CurrentToken
))
7521
if (!validStartingToken &&
CurrentToken
.Kind == SyntaxKind.CloseParenToken)
7535
isNotExpectedFunction: static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
7556
if (this.
CurrentToken
.Kind == SyntaxKind.VoidKeyword && this.PeekToken(1).Kind != SyntaxKind.AsteriskToken)
7581
if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
7585
this.
CurrentToken
.Kind == SyntaxKind.ReadOnlyKeyword ? this.EatToken() : null,
7629
switch (this.
CurrentToken
.Kind)
7677
while (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken);
7698
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.QuestionToken);
7721
if (mode == ParseTypeMode.AfterIs && this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken)
7748
return this.
CurrentToken
.Kind != SyntaxKind.ColonToken;
7775
if (IsTrueIdentifier(this.
CurrentToken
))
7784
if (this.
CurrentToken
.ContextualKind is SyntaxKind.AsyncKeyword or SyntaxKind.AwaitKeyword or SyntaxKind.FromKeyword)
7838
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBracketToken)
7847
this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or // ctor parameters
7882
while (IsMakingProgress(ref lastTokenPosition) && this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7884
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7897
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBracketToken)
7938
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
7942
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
7977
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
7978
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseBracketToken,
7984
if (IsPredefinedType(this.
CurrentToken
.Kind))
7988
if (token.Kind == SyntaxKind.VoidKeyword && this.
CurrentToken
.Kind != SyntaxKind.AsteriskToken)
7997
if (IsTrueIdentifier() || this.
CurrentToken
.Kind == SyntaxKind.ColonColonToken)
8002
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
8025
if (!IsPossibleFunctionPointerParameterListStart(
CurrentToken
))
8068
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
8079
lessThanToken.IsMissing &&
CurrentToken
.Kind == SyntaxKind.CloseParenToken
8094
isNotExpectedFunction: static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
8102
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
8106
switch (
CurrentToken
)
8110
managedSpecifier = EatContextualToken(
CurrentToken
.ContextualKind);
8130
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
8148
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.CommaToken);
8178
=>
CurrentToken
.Kind == SyntaxKind.DelegateKeyword && PeekToken(1).Kind == SyntaxKind.AsteriskToken;
8189
while (this.
CurrentToken
.Kind == SyntaxKind.AsteriskToken)
8209
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBracketToken)
8223
while (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
8233
var isCollectionExpression = this.
CurrentToken
.Kind
8246
|| IsExpectedBinaryOperator(this.
CurrentToken
.Kind)
8247
|| IsExpectedAssignmentOperator(this.
CurrentToken
.Kind)
8248
|| (this.
CurrentToken
.ContextualKind is SyntaxKind.SwitchKeyword or SyntaxKind.WithKeyword && this.PeekToken(1).Kind is SyntaxKind.OpenBraceToken);
8252
this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
8311
switch (this.
CurrentToken
.Kind)
8407
bool beginsWithAwait = this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword;
8442
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword &&
8483
=>
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword && PeekToken(1).Kind == SyntaxKind.UsingKeyword;
8497
return this.
CurrentToken
.ContextualKind == SyntaxKind.YieldKeyword &&
8507
var tk = this.
CurrentToken
.Kind;
8535
tk = this.
CurrentToken
.ContextualKind;
8550
bool? typedIdentifier = IsPossibleTypedIdentifierStart(this.
CurrentToken
, this.PeekToken(1), allowThisKeyword: false);
8571
var tk = this.
CurrentToken
.ContextualKind;
8615
if (st == ScanTypeFlags.MustBeType && this.
CurrentToken
.Kind is not SyntaxKind.DotToken and not SyntaxKind.OpenParenToken)
8625
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
8633
return st == ScanTypeFlags.GenericTypeOrExpression && (IsDefiniteStatement() || IsTypeDeclarationStart() || IsAccessibilityModifier(
CurrentToken
.Kind));
8654
if (this.
CurrentToken
.Kind != SyntaxKind.UsingKeyword)
8720
if (this.
CurrentToken
.Kind is SyntaxKind.OpenBraceToken)
8741
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
8748
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsToken)
8757
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.SemicolonToken;
8775
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken || this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
8782
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
8874
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DelegateKeyword);
8902
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
8911
if (scanResult == ScanTypeFlags.TupleType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
8922
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NewKeyword);
9067
CSharpSyntaxNode openBrace = isAccessorBody && this.
CurrentToken
.Kind != SyntaxKind.OpenBraceToken
9148
while (this.
CurrentToken
.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken
9180
return this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
9192
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseBraceToken,
9200
var tk = this.
CurrentToken
.Kind;
9237
var tk = this.
CurrentToken
.Kind;
9282
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken;
9345
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.TryKeyword or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
9358
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword);
9372
if (this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword)
9375
while (this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword)
9381
if (this.
CurrentToken
.Kind == SyntaxKind.FinallyKeyword)
9416
return this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword;
9421
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.CatchKeyword);
9428
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
9448
var keywordKind = this.
CurrentToken
.ContextualKind;
9480
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken
9489
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken
9497
return this.
CurrentToken
.Kind is SyntaxKind.CloseBraceToken
9504
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.CheckedKeyword or SyntaxKind.UncheckedKeyword);
9521
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DoKeyword);
9545
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken;
9562
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9583
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9593
var condition = this.
CurrentToken
.Kind is not SyntaxKind.SemicolonToken and not SyntaxKind.CommaToken
9602
var incrementors = this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken
9631
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
9640
isDeclaration = ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
9644
else if (this.
CurrentToken
.Kind == SyntaxKind.RefKeyword)
9661
else if (this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
9676
=> this.
CurrentToken
.Kind is SyntaxKind.CommaToken
9684
while (this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CommaToken)
9708
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
9712
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
9713
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
9720
return this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken;
9727
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ForEachKeyword || this.
CurrentToken
.Kind == SyntaxKind.ForKeyword);
9738
if (this.
CurrentToken
.Kind == SyntaxKind.ForKeyword)
9832
if (this.IsInAsync && this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword)
9840
if (this.
CurrentToken
.ContextualKind == SyntaxKind.ScopedKeyword)
9843
if (ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
9890
return this.
CurrentToken
.Kind == SyntaxKind.CommaToken;
9892
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseParenToken;
9905
if (!this.
CurrentToken
.IsIdentifierVar())
9944
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.GotoKeyword);
9952
if (this.
CurrentToken
.Kind is SyntaxKind.CaseKeyword or SyntaxKind.DefaultKeyword)
9980
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
9991
if (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken &&
10010
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IfKeyword);
10023
var elseKeyword = this.
CurrentToken
.Kind != SyntaxKind.ElseKeyword ?
10034
if (this.
CurrentToken
.Kind != SyntaxKind.IfKeyword)
10075
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ElseKeyword);
10089
return this.
CurrentToken
.Kind != SyntaxKind.ElseKeyword
10098
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.LockKeyword);
10110
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ReturnKeyword);
10114
this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken ? this.ParsePossibleRefExpression() : null,
10120
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.YieldKeyword);
10127
if (this.
CurrentToken
.Kind == SyntaxKind.BreakKeyword)
10136
if (this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken)
10157
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.SwitchKeyword or SyntaxKind.CaseKeyword);
10182
if (this.
CurrentToken
.Kind is SyntaxKind.CaseKeyword)
10227
return this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword ||
10228
(this.
CurrentToken
.Kind == SyntaxKind.DefaultKeyword && this.PeekToken(1).Kind != SyntaxKind.OpenParenToken);
10242
if (this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword)
10246
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
10258
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhenKeyword && node is ExpressionSyntax ex)
10283
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.DefaultKeyword);
10305
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.ThrowKeyword);
10309
this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken ? this.ParseExpressionCore() : null,
10315
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.UnsafeKeyword);
10383
if (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken)
10410
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken &&
10442
bool condition1 = st == ScanTypeFlags.MustBeType && this.
CurrentToken
.Kind != SyntaxKind.DotToken;
10443
bool condition2 = st != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken;
10451
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.WhileKeyword);
10486
else if (this.
CurrentToken
.Kind == SyntaxKind.UsingKeyword)
10582
if (this.
CurrentToken
.ContextualKind != SyntaxKind.ScopedKeyword)
10599
if (IsParameterModifierExcludingScoped(this.
CurrentToken
))
10616
return this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken;
10618
else if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
10643
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
10651
done = (this.
CurrentToken
.Kind == SyntaxKind.CloseParenToken);
10664
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
10694
return
CurrentToken
.ContextualKind == SyntaxKind.UnderscoreToken
10701
if (this.
CurrentToken
.ContextualKind != SyntaxKind.WhenKeyword)
10785
switch (this.
CurrentToken
.Kind)
10798
while (IsDeclarationModifier(k = this.
CurrentToken
.ContextualKind) || IsAdditionalLocalFunctionModifier(k))
10835
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken);
10841
if (IsDeclarationModifier(this.
CurrentToken
.Kind) ||
10842
IsAdditionalLocalFunctionModifier(this.
CurrentToken
.Kind))
10849
if (ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
10857
while (IsAdditionalLocalFunctionModifier(this.
CurrentToken
.ContextualKind));
10997
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword)
11036
if (IsScript && this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken)
11080
SyntaxKind tk = this.
CurrentToken
.Kind;
11126
return this.IsTrueIdentifier() || this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword;
11362
return (this.IsScript || this.IsInAsync) && this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword;
11367
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AwaitKeyword)
11445
var tk = this.
CurrentToken
.Kind;
11487
if (this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword && IsInQuery)
11494
this.AddError(this.EatToken(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text));
11541
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional)
11639
if (this.
CurrentToken
.Kind != SyntaxKind.ColonToken &&
11657
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
11669
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken && this.lexer.InterpolationFollowedByColon)
11728
var token1 = this.
CurrentToken
;
11830
if (operatorExpressionKind == SyntaxKind.SimpleAssignmentExpression &&
CurrentToken
.Kind == SyntaxKind.RefKeyword &&
11850
if (this.
CurrentToken
.Kind != SyntaxKind.DotToken)
11854
return nextToken.Kind == SyntaxKind.DotToken && NoTriviaBetween(this.
CurrentToken
, nextToken);
11872
if (this.
CurrentToken
is { Kind: SyntaxKind.DotToken } token3 &&
11942
var tk = this.
CurrentToken
.Kind;
11978
return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
12007
return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.
CurrentToken
.Text);
12075
if (this.
CurrentToken
.Kind != SyntaxKind.DotToken || tk == SyntaxKind.VoidKeyword)
12100
offset: this.
CurrentToken
.GetLeadingTriviaWidth(),
12101
width: this.
CurrentToken
.Width,
12125
switch (this.
CurrentToken
.Kind)
12137
expr = _syntaxFactory.PostfixUnaryExpression(SyntaxFacts.GetPostfixUnaryExpression(this.
CurrentToken
.Kind), expr, this.EatToken());
12172
if (this.
CurrentToken
.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia) &&
12206
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.BaseKeyword);
12220
if (precedence > Precedence.Assignment || !(this.
CurrentToken
.IsIdentifierVar() || IsPredefinedType(this.
CurrentToken
.Kind)))
12229
this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken && ScanDesignator() &&
12230
this.
CurrentToken
.Kind == SyntaxKind.EqualsToken;
12235
switch (this.
CurrentToken
.Kind)
12254
switch (this.
CurrentToken
.Kind)
12328
if (this.
CurrentToken
.Kind == SyntaxKind.QuestionToken)
12367
return this.
CurrentToken
.Kind != SyntaxKind.ColonToken;
12380
while (this.
CurrentToken
.Kind == SyntaxKind.ExclamationToken)
12416
=> this.
CurrentToken
.Kind switch
12475
openToken = this.
CurrentToken
.Kind is SyntaxKind.OpenParenToken or SyntaxKind.OpenBracketToken
12482
if (this.
CurrentToken
.Kind != closeKind && this.
CurrentToken
.Kind != SyntaxKind.SemicolonToken)
12510
else if (isIndexer && this.
CurrentToken
.Kind == closeKind)
12526
closeToken = this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken
12535
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
12539
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleArgumentExpression(),
12540
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
12547
return this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken;
12552
return IsValidArgumentRefKindKeyword(this.
CurrentToken
.Kind) || this.IsPossibleExpression();
12570
var nameColon = this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.ColonToken
12577
if (IsValidArgumentRefKindKeyword(this.
CurrentToken
.Kind) &&
12579
!(this.
CurrentToken
.Kind == SyntaxKind.RefKeyword &&
12587
if (isIndexer && this.
CurrentToken
.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBracketToken)
12591
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12623
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
12701
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12732
Debug.Assert(
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12758
if (IsParameterModifierIncludingScoped(this.
CurrentToken
))
12784
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
12792
switch (this.
CurrentToken
.Kind)
12808
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken);
12836
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12844
if (expression.Kind == SyntaxKind.IdentifierName && this.
CurrentToken
.Kind == SyntaxKind.ColonToken)
12865
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
12870
var argument = expression.Kind != SyntaxKind.IdentifierName || this.
CurrentToken
.Kind != SyntaxKind.ColonToken
12898
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
12911
if (this.
CurrentToken
.Kind != SyntaxKind.CloseParenToken)
12918
if (forPattern && this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
12930
if (inSwitchArmPattern && this.
CurrentToken
.ContextualKind == SyntaxKind.WhenKeyword)
12952
return !forPattern || this.
CurrentToken
.Kind switch
12977
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken || CanFollowCast(this.
CurrentToken
.Kind);
12983
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken &&
12992
return CanFollowCast(this.
CurrentToken
.Kind);
13023
return this.
CurrentToken
.ContextualKind is SyntaxKind.OrKeyword or SyntaxKind.AndKeyword;
13052
if (
CurrentToken
.Kind == SyntaxKind.OpenBracketToken)
13068
if (this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
13073
else if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13087
if (this.
CurrentToken
.Kind == SyntaxKind.EqualsGreaterThanToken)
13097
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13105
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
13116
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13125
if (st == ScanTypeFlags.NotType || this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13142
if (this.
CurrentToken
.Kind == SyntaxKind.IdentifierToken &&
13150
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13222
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.NewKeyword);
13241
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken);
13262
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleCollectionElement(),
13263
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13277
if (this.
CurrentToken
.ContextualKind == SyntaxKind.WithKeyword &&
13295
return this.
CurrentToken
.Kind == SyntaxKind.NewKeyword && this.PeekToken(1).Kind == SyntaxKind.OpenBraceToken;
13303
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken);
13340
return this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken;
13355
return this.
CurrentToken
.Kind == SyntaxKind.OpenBracketToken;
13371
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
13381
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13386
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
13408
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13419
switch (this.
CurrentToken
.Kind)
13538
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(),
13539
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13548
this.
CurrentToken
.Kind == SyntaxKind.ColonToken
13551
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13562
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13590
Debug.Assert(this.
CurrentToken
.Kind is SyntaxKind.NewKeyword or SyntaxKind.StackAllocKeyword);
13617
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13657
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleVariableInitializer(),
13658
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13684
if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
13706
this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken ? this.ParseArrayInitializer() : null);
13723
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13736
if (this.
CurrentToken
.Kind != SyntaxKind.OpenBraceToken)
13767
if (this.
CurrentToken
.Kind == SyntaxKind.StaticKeyword)
13773
if (this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword &&
13788
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.AsyncKeyword);
13813
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken &&
13841
if (
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
13848
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13861
var identifier = (this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.EqualsGreaterThanToken)
13878
=>
CurrentToken
.Kind == SyntaxKind.OpenBraceToken
13909
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleLambdaParameter(),
13910
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind,
13917
switch (this.
CurrentToken
.Kind)
13935
return IsPredefinedType(this.
CurrentToken
.Kind);
13946
if (IsParameterModifierIncludingScoped(this.
CurrentToken
))
13973
if (IsPredefinedType(this.
CurrentToken
.Kind))
13979
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken)
13989
if (this.IsTrueIdentifier(this.
CurrentToken
))
14016
=> IsTokenQueryContextualKeyword(this.
CurrentToken
);
14058
return this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword &&
14111
return this.ScanType() != ScanTypeFlags.NotType && this.
CurrentToken
.Kind is SyntaxKind.IdentifierToken or SyntaxKind.InKeyword;
14133
switch (this.
CurrentToken
.ContextualKind)
14156
SelectOrGroupClauseSyntax selectOrGroupBy = this.
CurrentToken
.ContextualKind switch
14168
this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword
14175
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.FromKeyword);
14184
(this.
CurrentToken
.Kind != SyntaxKind.IdentifierToken || SyntaxFacts.IsQueryContextualKeyword(this.
CurrentToken
.ContextualKind)))
14208
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.JoinKeyword);
14221
into: this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword
14228
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.LetKeyword);
14232
SyntaxFacts.IsReservedKeyword(this.
CurrentToken
.Kind) && this.PeekToken(1).Kind == SyntaxKind.EqualsToken
14241
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.WhereKeyword);
14249
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.OrderByKeyword);
14257
while (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
14259
if (this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken)
14263
else if (this.
CurrentToken
.Kind == SyntaxKind.CommaToken)
14284
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken,
14285
static (p, _) => p.
CurrentToken
.Kind == SyntaxKind.CloseParenToken
14286
|| p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
14298
if (this.
CurrentToken
.ContextualKind is SyntaxKind.AscendingKeyword or SyntaxKind.DescendingKeyword)
14312
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.SelectKeyword);
14320
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.GroupKeyword);
14330
Debug.Assert(this.
CurrentToken
.ContextualKind == SyntaxKind.IntoKeyword);
14461
if (requireOneElement || this.
CurrentToken
.Kind != closeTokenKind)
14478
if (this.
CurrentToken
.Kind == closeTokenKind)
14489
nodes.AddSeparator(this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
14496
if (this.
CurrentToken
.Kind == closeTokenKind)
14531
if (this.
CurrentToken
.Kind == separatorTokenKind)
14536
if (allowSemicolonAsSeparator && this.
CurrentToken
.Kind is SyntaxKind.SemicolonToken)
14625
if (this.
CurrentToken
.Kind == SyntaxKind.EndOfFileToken) return node;
14627
while (this.
CurrentToken
.Kind != SyntaxKind.EndOfFileToken)
Parser\LanguageParser_InterpolatedString.cs (3)
112
Debug.Assert(this.
CurrentToken
.Kind == SyntaxKind.InterpolatedStringToken);
537
if (this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
550
var leading = this.
CurrentToken
.GetLeadingTrivia();
Parser\LanguageParser_Patterns.cs (34)
61
while (this.
CurrentToken
.ContextualKind == SyntaxKind.OrKeyword)
78
var tk =
CurrentToken
.Kind;
84
if (tk == SyntaxKind.IdentifierToken && this.
CurrentToken
.ContextualKind != SyntaxKind.UnderscoreToken &&
85
(this.
CurrentToken
.ContextualKind != SyntaxKind.NameOfKeyword || this.PeekToken(1).Kind != SyntaxKind.OpenParenToken))
107
while (this.
CurrentToken
.ContextualKind == SyntaxKind.AndKeyword)
121
switch (this.
CurrentToken
.Kind)
143
switch (this.
CurrentToken
.Kind)
160
if (this.
CurrentToken
.ContextualKind == SyntaxKind.NotKeyword)
166
else if (this.
CurrentToken
.Kind == SyntaxKind.EqualsEqualsToken)
172
else if (this.
CurrentToken
.Kind == SyntaxKind.ExclamationEqualsToken)
190
var tk = this.
CurrentToken
.Kind;
202
if (
CurrentToken
.ContextualKind == SyntaxKind.UnderscoreToken)
207
switch (
CurrentToken
.Kind)
259
switch (this.
CurrentToken
.Kind)
291
(this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken || this.IsValidPatternDesignation(inSwitchArmPattern)))
300
if (this.
CurrentToken
.Kind == SyntaxKind.OpenParenToken && (type != null || !looksLikeCast()))
383
if (this.
CurrentToken
.Kind == SyntaxKind.OpenBraceToken)
409
if (
CurrentToken
.Kind == SyntaxKind.IdentifierToken)
411
switch (
CurrentToken
.ContextualKind)
502
if (this.
CurrentToken
.Kind != SyntaxKind.OpenParenToken)
534
if (this.
CurrentToken
.Kind == SyntaxKind.ColonToken && ConvertPatternToExpressionIfPossible(pattern, permitTypeArguments: true) is ExpressionSyntax expr)
555
this.
CurrentToken
.Kind is
568
if (@this.
CurrentToken
.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBraceToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken)
575
if (@this._termState.HasFlag(TerminatorState.IsExpressionOrPatternInCaseLabelOfSwitchStatement) && @this.
CurrentToken
.Kind is SyntaxKind.ColonToken)
584
if (@this._termState.HasFlag(TerminatorState.IsPatternInSwitchExpressionArm) && @this.
CurrentToken
.Kind is SyntaxKind.EqualsGreaterThanToken or SyntaxKind.ColonToken)
588
static p => p.
CurrentToken
.Kind != SyntaxKind.CommaToken && !p.IsPossibleSubpatternElement(),
589
static (p, closeKind) => p.
CurrentToken
.Kind == closeKind || p.
CurrentToken
.Kind == SyntaxKind.SemicolonToken,
609
while (this.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken)
615
var errantCase = this.
CurrentToken
.Kind == SyntaxKind.CaseKeyword
634
this.
CurrentToken
.Kind == SyntaxKind.ColonToken
640
if (errantCase is null && switchExpressionCase.FullWidth == 0 && this.
CurrentToken
.Kind != SyntaxKind.CommaToken)
647
if (this.
CurrentToken
.Kind != SyntaxKind.CloseBraceToken)
649
var commaToken = this.
CurrentToken
.Kind == SyntaxKind.SemicolonToken
Parser\SyntaxParser.cs (12)
488
var ct = this.
CurrentToken
;
498
=> this.
CurrentToken
.Kind == kind ? this.EatToken() : null;
525
var ct = this.
CurrentToken
;
533
return CreateMissingToken(kind, this.
CurrentToken
.Kind);
541
var ct = this.
CurrentToken
;
548
var replacement = CreateMissingToken(expected, this.
CurrentToken
.Kind);
578
if (this.
CurrentToken
.Kind != kind)
592
if (this.
CurrentToken
.Kind != kind)
611
var token = this.
CurrentToken
;
649
if (this.
CurrentToken
.ContextualKind != kind)
663
var contextualKind = this.
CurrentToken
.ContextualKind;
847
var token = this.
CurrentToken
;