771 references to CurrentToken
Microsoft.CodeAnalysis.CSharp (771)
Parser\DirectiveParser.cs (28)
50SyntaxKind contextualKind = this.CurrentToken.ContextualKind; 89result = (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) ? 376switch (this.CurrentToken.Kind) 397if (this.CurrentToken.Kind == SyntaxKind.StringLiteralToken && 398(line.IsMissing || line.GetTrailingTriviaWidth() > 0 || this.CurrentToken.GetLeadingTriviaWidth() > 0)) //require separation between line number and file name 413Debug.Assert(CurrentToken.Kind == SyntaxKind.OpenParenToken); 432var characterOffset = (CurrentToken.Kind == SyntaxKind.NumericLiteralToken) ? 545SyntaxToken setting = this.CurrentToken.Kind switch 553SyntaxToken target = this.CurrentToken.Kind switch 574if (this.CurrentToken.ContextualKind == SyntaxKind.WarningKeyword) 578if (this.CurrentToken.Kind == SyntaxKind.DisableKeyword || this.CurrentToken.Kind == SyntaxKind.RestoreKeyword) 583while (this.CurrentToken.Kind != SyntaxKind.EndOfDirectiveToken) 588if (this.CurrentToken.Kind == SyntaxKind.NumericLiteralToken) 600else if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 621if (this.CurrentToken.Kind != SyntaxKind.CommaToken) 639else if (this.CurrentToken.Kind == SyntaxKind.ChecksumKeyword) 728if (this.CurrentToken.Kind != SyntaxKind.EndOfDirectiveToken && 729this.CurrentToken.Kind != SyntaxKind.EndOfFileToken) 748while (this.CurrentToken.Kind != SyntaxKind.EndOfDirectiveToken && 749this.CurrentToken.Kind != SyntaxKind.EndOfFileToken) 756SyntaxToken endOfDirective = this.CurrentToken.Kind == SyntaxKind.EndOfDirectiveToken 777while (this.CurrentToken.Kind == SyntaxKind.BarBarToken) 790while (this.CurrentToken.Kind == SyntaxKind.AmpersandAmpersandToken) 803while (this.CurrentToken.Kind == SyntaxKind.EqualsEqualsToken || this.CurrentToken.Kind == SyntaxKind.ExclamationEqualsToken) 815if (this.CurrentToken.Kind == SyntaxKind.ExclamationToken) 826var k = this.CurrentToken.Kind;
Parser\DocumentationCommentParser.cs (90)
81if (this.CurrentToken.Kind != SyntaxKind.EndOfDocumentationCommentToken) 101bool endTag = this.CurrentToken.Kind == SyntaxKind.LessThanSlashToken; 108while (this.CurrentToken.Kind != SyntaxKind.EndOfDocumentationCommentToken) 147switch (this.CurrentToken.Kind) 171switch (this.CurrentToken.Kind) 190while (this.CurrentToken.Kind == SyntaxKind.XmlTextLiteralToken 191|| this.CurrentToken.Kind == SyntaxKind.XmlTextLiteralNewLineToken 192|| this.CurrentToken.Kind == SyntaxKind.XmlEntityLiteralToken) 218if (this.CurrentToken.Kind == SyntaxKind.GreaterThanToken) 258if (this.CurrentToken.Kind != SyntaxKind.GreaterThanToken) 261p => p.CurrentToken.Kind != SyntaxKind.GreaterThanToken, 328if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 344p => p.CurrentToken.Kind != SyntaxKind.IdentifierName, 347p => 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, 452switch (this.CurrentToken.Kind) 525SyntaxToken openQuote = EatToken(this.CurrentToken.Kind == SyntaxKind.SingleQuoteToken 532SyntaxToken current = this.CurrentToken; 539current = this.CurrentToken; 606while (this.CurrentToken.Kind == SyntaxKind.XmlTextLiteralToken 607|| this.CurrentToken.Kind == SyntaxKind.XmlTextLiteralNewLineToken 608|| this.CurrentToken.Kind == SyntaxKind.XmlEntityLiteralToken 609|| this.CurrentToken.Kind == SyntaxKind.LessThanToken) 631if (IsNonAsciiQuotationMark(this.CurrentToken)) 636var quoteKind = this.CurrentToken.Kind == SyntaxKind.SingleQuoteToken 650if (IsNonAsciiQuotationMark(this.CurrentToken)) 685if (this.CurrentToken.Kind == SyntaxKind.ColonToken) 725while (this.CurrentToken.Kind == SyntaxKind.XmlTextLiteralToken 726|| this.CurrentToken.Kind == SyntaxKind.XmlTextLiteralNewLineToken 727|| this.CurrentToken.Kind == SyntaxKind.MinusMinusToken) 752while (this.CurrentToken.Kind == SyntaxKind.XmlTextLiteralToken 753|| this.CurrentToken.Kind == SyntaxKind.XmlTextLiteralNewLineToken) 774while (this.CurrentToken.Kind == SyntaxKind.XmlTextLiteralToken 775|| this.CurrentToken.Kind == SyntaxKind.XmlTextLiteralNewLineToken) 900else if (type.Kind != SyntaxKind.QualifiedName && this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 940switch (CurrentToken.Kind) 949case SyntaxKind.IdentifierToken when CurrentToken.ContextualKind == SyntaxKind.ExtensionKeyword: 973Debug.Assert(CurrentToken.Kind == SyntaxKind.ThisKeyword); 987Debug.Assert(CurrentToken.ContextualKind == SyntaxKind.ExtensionKeyword); 990TypeArgumentListSyntax? typeArguments = (CurrentToken.Kind == SyntaxKind.LessThanToken) ? ParseTypeArguments(typeArgumentsMustBeIdentifiers: true) : null; 991CrefParameterListSyntax? parameters = (CurrentToken.Kind == SyntaxKind.OpenParenToken) ? ParseCrefParameterList() : null; 993if (parameters is null || CurrentToken.Kind != SyntaxKind.DotToken) 1018Debug.Assert(CurrentToken.Kind == SyntaxKind.OperatorKeyword); 1024if (SyntaxFacts.IsAnyOverloadableOperator(CurrentToken.Kind)) 1035if (SyntaxFacts.IsUnaryOperatorDeclarationToken(CurrentToken.Kind) || SyntaxFacts.IsBinaryExpressionOperatorToken(CurrentToken.Kind)) 1048if (operatorToken.Kind == SyntaxKind.GreaterThanToken && LanguageParser.NoTriviaBetween(operatorToken, CurrentToken)) 1050if (CurrentToken.Kind == SyntaxKind.GreaterThanToken) 1054if (LanguageParser.NoTriviaBetween(operatorToken2, CurrentToken) && 1055CurrentToken.Kind is (SyntaxKind.GreaterThanToken or SyntaxKind.GreaterThanEqualsToken)) 1091else if (CurrentToken.Kind == SyntaxKind.EqualsToken) 1101else if (CurrentToken.Kind == SyntaxKind.GreaterThanEqualsToken) 1159if (LanguageParser.NoTriviaBetween(operatorToken, CurrentToken) && CurrentToken.Kind == SyntaxKind.EqualsToken) 1181(isConversion || SyntaxFacts.IsAnyOverloadableOperator(CurrentToken.Kind))) 1190if (CurrentToken.Kind == SyntaxKind.UncheckedKeyword) 1207Debug.Assert(CurrentToken.Kind == SyntaxKind.ExplicitKeyword || 1208CurrentToken.Kind == SyntaxKind.ImplicitKeyword); 1245if (CurrentToken.Kind != openKind) 1255while (CurrentToken.Kind == SyntaxKind.CommaToken || IsPossibleCrefParameter()) 1259if (CurrentToken.Kind != closeKind) 1270Debug.Assert(CurrentToken.Kind != SyntaxKind.CommaToken); 1295SyntaxKind kind = this.CurrentToken.Kind; 1317switch (CurrentToken.Kind) 1327if (CurrentToken.Kind == SyntaxKind.ReadOnlyKeyword && refKindOpt is not null) 1354if (CurrentToken.Kind != SyntaxKind.LessThanToken) 1364Debug.Assert(CurrentToken.Kind == SyntaxKind.LessThanToken); 1382var currentKind = CurrentToken.Kind; 1384SyntaxFacts.IsPredefinedType(CurrentToken.Kind)) 1444if (SyntaxFacts.IsPredefinedType(CurrentToken.Kind)) 1453else if (CurrentToken.Kind == SyntaxKind.IdentifierToken && PeekToken(1).Kind == SyntaxKind.ColonColonToken) 1473if (checkForMember && (leftName.IsMissing || CurrentToken.Kind != SyntaxKind.DotToken)) 1485while (CurrentToken.Kind == SyntaxKind.DotToken) 1494if (checkForMember && (rightName.IsMissing || CurrentToken.Kind != SyntaxKind.DotToken)) 1516if (CurrentToken.Kind == SyntaxKind.QuestionToken) 1521while (CurrentToken.Kind == SyntaxKind.AsteriskToken) 1526if (CurrentToken.Kind == SyntaxKind.OpenBracketToken) 1532while (CurrentToken.Kind == SyntaxKind.OpenBracketToken) 1538while (this.CurrentToken.Kind != SyntaxKind.CloseBracketToken) 1540if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 1590switch (CurrentToken.Kind) 1602return CurrentToken.Text == SyntaxFacts.GetText(SyntaxKind.LessThanToken) || 1603IsNonAsciiQuotationMark(CurrentToken); 1658switch (CurrentToken.Kind) 1670return CurrentToken.Text == SyntaxFacts.GetText(SyntaxKind.LessThanToken) || 1671IsNonAsciiQuotationMark(CurrentToken);
Parser\LanguageParser.cs (606)
96if (this.CurrentToken.Kind == SyntaxKind.EndOfFileToken) 251Debug.Assert(this.CurrentToken.Kind == SyntaxKind.NamespaceKeyword); 264if (this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 268else if (this.CurrentToken.Kind == SyntaxKind.OpenBraceToken || IsPossibleNamespaceMemberDeclaration()) 586switch (this.CurrentToken.Kind) 675if (this.CurrentToken.ContextualKind != SyntaxKind.GlobalKeyword || this.PeekToken(1).Kind != SyntaxKind.UsingKeyword) 870switch (this.CurrentToken.Kind) 879return IsPossibleStartOfTypeDeclaration(this.CurrentToken.Kind); 885if (this.CurrentToken.ContextualKind == SyntaxKind.PartialKeyword) 902return this.CurrentToken.Kind == SyntaxKind.CloseBraceToken; 927return this.CurrentToken.Kind == SyntaxKind.ExternKeyword 940Debug.Assert(this.CurrentToken.Kind == SyntaxKind.ExternKeyword); 964var globalToken = this.CurrentToken.ContextualKind == SyntaxKind.GlobalKeyword 968Debug.Assert(this.CurrentToken.Kind == SyntaxKind.UsingKeyword); 975if (staticToken is null && unsafeToken != null && this.CurrentToken.Kind == SyntaxKind.StaticKeyword) 987var isAliasToFunctionPointer = alias != null && this.CurrentToken.Kind == SyntaxKind.DelegateKeyword; 1006type = _syntaxFactory.IdentifierName(CreateMissingToken(SyntaxKind.IdentifierToken, this.CurrentToken.Kind)); 1029return this.CurrentToken.Kind == SyntaxKind.OpenBracketToken 1049if (this.CurrentToken.Kind != SyntaxKind.OpenBracketToken) 1067if (SyntaxFacts.IsLiteralExpression(this.CurrentToken.Kind)) 1111return this.CurrentToken.Kind == SyntaxKind.CloseBracketToken 1116=> IsSomeWord(this.CurrentToken.Kind) && this.PeekToken(1).Kind == SyntaxKind.ColonToken; 1161if (this.CurrentToken.Kind == SyntaxKind.DotToken) 1167if (this.CurrentToken.Kind == SyntaxKind.MinusGreaterThanToken) 1172if (this.CurrentToken.Kind == SyntaxKind.QuestionToken && 1185static p => p.CurrentToken.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttribute(), 1186static (p, closeKind) => p.CurrentToken.Kind == closeKind, 1215if (this.CurrentToken.Kind != SyntaxKind.OpenParenToken) 1240static p => p.CurrentToken.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttributeArgument(), 1241static (p, closeKind) => p.CurrentToken.Kind == closeKind, 1275if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 1366var newMod = GetModifierExcludingScoped(this.CurrentToken); 1503Debug.Assert(this.CurrentToken.Kind == SyntaxKind.IdentifierToken && GetModifierExcludingScoped(this.CurrentToken) != DeclarationModifiers.None); 1522(this.CurrentToken.ContextualKind == SyntaxKind.PartialKeyword)) 1539var currentTokenKind = this.CurrentToken.Kind; 1561var currentTokenKind = this.CurrentToken.Kind; 1579if (SyntaxFacts.IsPredefinedType(this.CurrentToken.Kind)) 1586if (IsNonContextualModifier(this.CurrentToken)) 1621Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.PartialKeyword); 1645Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.PartialKeyword); 1678switch (this.CurrentToken.Kind) 1681if (this.CurrentToken.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword) 1701switch (this.CurrentToken.Kind) 1719Debug.Assert(CurrentToken.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword); 1723throw ExceptionUtilities.UnexpectedValue(this.CurrentToken.Kind); 1729Debug.Assert(this.CurrentToken.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword or SyntaxKind.InterfaceKeyword || 1730this.CurrentToken.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword); 1751if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 1764var paramList = CurrentToken.Kind == SyntaxKind.OpenParenToken || isExtension 1776if (this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword) 1787if (CurrentToken.Kind == SyntaxKind.SemicolonToken) 1811SyntaxKind kind = this.CurrentToken.Kind; 1847? this.CreateMissingToken(SyntaxKind.CloseBraceToken, this.CurrentToken.Kind) 1870if (this.CurrentToken.ContextualKind == SyntaxKind.RecordKeyword) 1873recordModifier = this.CurrentToken.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword 1880if (this.CurrentToken.Kind is SyntaxKind.StructKeyword or SyntaxKind.ClassKeyword && 2034SyntaxKind kind = this.CurrentToken.Kind; 2082return this.IsPossibleMemberStart() || this.CurrentToken.Kind == SyntaxKind.CloseBraceToken; 2087return this.CurrentToken.Kind is SyntaxKind.ColonToken or SyntaxKind.OpenBraceToken 2104list.Add(this.CurrentToken.Kind == SyntaxKind.OpenParenToken 2111if (this.CurrentToken.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken || 2117if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 2131if (GetModifierExcludingScoped(this.CurrentToken) != DeclarationModifiers.None) 2154static p => p.CurrentToken.Kind != SyntaxKind.CommaToken && !p.IsPossibleAttribute(), 2155static (p, _) => p.CurrentToken.Kind == SyntaxKind.OpenBraceToken || p.IsCurrentTokenWhereOfConstraintClause(), 2163this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword && 2170while (this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword) 2188if (this.CurrentToken.Kind == SyntaxKind.OpenBraceToken || this.IsCurrentTokenWhereOfConstraintClause()) 2202if (this.CurrentToken.Kind == SyntaxKind.OpenBraceToken 2203|| ((_termState & TerminatorState.IsEndOfTypeSignature) != 0 && this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 2204|| this.CurrentToken.Kind == SyntaxKind.EqualsGreaterThanToken 2205|| this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword) 2209else if (haveComma = (this.CurrentToken.Kind == SyntaxKind.CommaToken) || this.IsPossibleTypeParameterConstraint()) 2249static p => p.CurrentToken.Kind != SyntaxKind.CommaToken && !p.IsPossibleTypeParameterConstraint(), 2250static (p, _) => p.CurrentToken.Kind == SyntaxKind.OpenBraceToken || p.IsCurrentTokenWhereOfConstraintClause(), 2257switch (this.CurrentToken.Kind) 2266return (this.CurrentToken.ContextualKind == SyntaxKind.AllowsKeyword && PeekToken(1).Kind == SyntaxKind.RefKeyword) || this.IsTrueIdentifier(); 2268return IsPredefinedType(this.CurrentToken.Kind); 2274return this.CurrentToken.Kind switch 2286this.CurrentToken.Kind == SyntaxKind.QuestionToken 2318if (this.CurrentToken.ContextualKind == SyntaxKind.AllowsKeyword && 2332if (this.CurrentToken.Kind == SyntaxKind.CommaToken && PeekToken(1).Kind == SyntaxKind.RefKeyword) 2350return CanStartMember(this.CurrentToken.Kind); 2411switch (this.CurrentToken.Kind) 2421if (CurrentToken.ContextualKind == SyntaxKind.RecordKeyword) 2563switch (this.CurrentToken.Kind) 2609if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken) 2643if (this.CurrentToken.Kind == SyntaxKind.ConstKeyword) 2656if (this.CurrentToken.Kind == SyntaxKind.EventKeyword) 2662if (this.CurrentToken.Kind == SyntaxKind.FixedKeyword) 2674if (this.CurrentToken.Kind == SyntaxKind.NamespaceKeyword) 2696if (this.CurrentToken.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken && 2941if (CurrentToken.Kind == SyntaxKind.UsingKeyword) 2946if (CurrentToken.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword) 2961if (GetModifierExcludingScoped(this.CurrentToken) != DeclarationModifiers.None && 2962this.CurrentToken.ContextualKind is not (SyntaxKind.PartialKeyword or SyntaxKind.AsyncKeyword or SyntaxKind.RequiredKeyword or SyntaxKind.FileKeyword) && 2965var misplacedModifier = this.CurrentToken; 3016offset: incompleteMember.Width + incompleteMember.GetTrailingTriviaWidth() + this.CurrentToken.GetLeadingTriviaWidth(), 3017this.CurrentToken.Width, 3019this.CurrentToken.Text); 3036|| this.CurrentToken.Kind is not SyntaxKind.OpenParenToken and not SyntaxKind.OpenBraceToken and not SyntaxKind.EqualsGreaterThanToken) && 3064if (IsStartOfPropertyBody(this.CurrentToken.Kind) || 3065(this.CurrentToken.Kind is SyntaxKind.SemicolonToken && IsStartOfPropertyBody(this.PeekToken(1).Kind))) 3123if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken) 3129if (this.CurrentToken.Kind == SyntaxKind.TildeToken) 3135if (this.CurrentToken.Kind == SyntaxKind.ConstKeyword) 3141if (this.CurrentToken.Kind == SyntaxKind.EventKeyword) 3147if (this.CurrentToken.Kind == SyntaxKind.FixedKeyword) 3254return this.CurrentToken.ContextualKind == SyntaxKind.ExtensionKeyword && 3286if (this.CurrentToken.Kind != SyntaxKind.IdentifierToken) 3291if (this.CurrentToken.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword) 3331return this.CurrentToken.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword or SyntaxKind.OperatorKeyword; 3373var initializer = this.CurrentToken.Kind == SyntaxKind.ColonToken 3392var kind = this.CurrentToken.Kind == SyntaxKind.BaseKeyword 3397if (this.CurrentToken.Kind is SyntaxKind.BaseKeyword or SyntaxKind.ThisKeyword) 3409var argumentList = this.CurrentToken.Kind == SyntaxKind.OpenParenToken 3421Debug.Assert(this.CurrentToken.Kind == SyntaxKind.TildeToken); 3447if (this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 3455blockBody = this.CurrentToken.Kind == SyntaxKind.OpenBraceToken 3459expressionBody = this.CurrentToken.Kind == SyntaxKind.EqualsGreaterThanToken 3470else if (parseSemicolonAfterBlock && this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 3482if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 3488if (this.CurrentToken.Kind == SyntaxKind.ColonToken) 3494if (this.CurrentToken.Kind == SyntaxKind.OpenBraceToken) 3510=> this.CurrentToken.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken; 3514return this.CurrentToken.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken; 3518=> this.CurrentToken.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken; 3521=> this.CurrentToken.Kind == (errored ? SyntaxKind.CloseParenToken : SyntaxKind.GreaterThanToken); 3524=> this.CurrentToken.Kind == SyntaxKind.CloseBracketToken; 3541if (this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword) 3546else if (this.CurrentToken.Kind == SyntaxKind.ColonToken) 3549var colonToken = this.CurrentToken; 3599switch (this.CurrentToken.Kind) 3618if (this.CurrentToken.Kind is not (SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword)) 3622if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 3632if (this.CurrentToken.Kind == SyntaxKind.OperatorKeyword) 3646(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.CurrentToken.Kind != SyntaxKind.OpenParenToken)) 3652separatorKind = this.CurrentToken.Kind; 3674if (this.CurrentToken.Kind != SyntaxKind.OperatorKeyword || 3696var style = this.CurrentToken.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword 3706if (!style.IsMissing && explicitInterfaceOpt is not null && this.CurrentToken.Kind != SyntaxKind.OperatorKeyword && style.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia)) 3738bool couldBeParameterList = this.CurrentToken.Kind == SyntaxKind.OpenParenToken; 3743this.CurrentToken.Kind != SyntaxKind.OpenParenToken) 3774if (this.CurrentToken.Kind != SyntaxKind.IdentifierToken) 3791if (this.CurrentToken.Kind == SyntaxKind.OperatorKeyword) 3801(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.CurrentToken.Kind != SyntaxKind.OpenParenToken); 3840if (CurrentToken.Kind == SyntaxKind.UncheckedKeyword) 3859var firstToken = this.CurrentToken; 3892if (SyntaxFacts.IsAnyOverloadableOperator(this.CurrentToken.Kind)) 3901if (this.CurrentToken.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword) 3904(opTokenErrorOffset, opTokenErrorWidth) = (0, this.CurrentToken.Width); 3936var tk = this.CurrentToken; 3943tk = this.CurrentToken; 4075if (this.CurrentToken.Kind == SyntaxKind.EqualsGreaterThanToken) 4083if (this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 4092if (this.CurrentToken.Kind == SyntaxKind.EqualsGreaterThanToken 4127if (this.CurrentToken.Kind is SyntaxKind.SemicolonToken) 4133Debug.Assert(IsStartOfPropertyBody(this.CurrentToken.Kind)); 4135var accessorList = this.CurrentToken.Kind == SyntaxKind.OpenBraceToken 4143if (this.CurrentToken.Kind == SyntaxKind.EqualsGreaterThanToken) 4151else if (this.CurrentToken.Kind == SyntaxKind.EqualsToken) 4163else if (this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 4217if (this.CurrentToken.Kind == SyntaxKind.CloseBraceToken) 4252var refKeyword = this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 4263static p => p.CurrentToken.Kind != SyntaxKind.CloseBraceToken && !p.IsPossibleAccessor(), 4270return this.CurrentToken.Kind == SyntaxKind.IdentifierToken 4272|| SyntaxFacts.GetAccessorDeclarationKind(this.CurrentToken.ContextualKind) != SyntaxKind.None 4273|| this.CurrentToken.Kind == SyntaxKind.OpenBraceToken // for accessor blocks w/ missing keyword 4274|| this.CurrentToken.Kind == SyntaxKind.SemicolonToken // for empty body accessors w/ missing keyword 4296if (GetModifierExcludingScoped(this.CurrentToken) == DeclarationModifiers.None) 4444var token = (first && !this.CurrentToken.ContainsDiagnostics) ? this.EatTokenEvenWithIncorrectKind(expected) : this.EatToken(); 4470var token = (first && !this.CurrentToken.ContainsDiagnostics) ? this.EatTokenWithPrejudice(errorCode) : this.EatToken(); 4526bool currentTokenIsSemicolon = this.CurrentToken.Kind == SyntaxKind.SemicolonToken; 4527bool currentTokenIsArrow = this.CurrentToken.Kind == SyntaxKind.EqualsGreaterThanToken; 4528bool currentTokenIsOpenBraceToken = this.CurrentToken.Kind == SyntaxKind.OpenBraceToken; 4711static p => p.CurrentToken.Kind != SyntaxKind.CommaToken && !p.IsPossibleParameter(), 4712static (p, closeKind) => p.CurrentToken.Kind == closeKind, 4719return this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken; 4724switch (this.CurrentToken.Kind) 4736return IsParameterModifierExcludingScoped(this.CurrentToken) || IsPossibleScopedKeyword(isFunctionPointerParameter: false) || IsPredefinedType(this.CurrentToken.Kind); 4796if (this.CurrentToken.Kind == SyntaxKind.ArgListKeyword) 4807if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken && IsCurrentTokenWhereOfConstraintClause()) 4814identifier = allowOptionalIdentifier && this.CurrentToken.Kind != SyntaxKind.IdentifierToken 4820if (identifier is not null && this.CurrentToken.Kind is SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind is SyntaxKind.CloseBracketToken) 4865while (IsParameterModifierExcludingScoped(this.CurrentToken)) 4867if (this.CurrentToken.Kind is SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword or SyntaxKind.ReadOnlyKeyword) 4884while (this.CurrentToken.Kind is SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword or SyntaxKind.ReadOnlyKeyword) 4897Debug.Assert(this.CurrentToken.Kind == SyntaxKind.FixedKeyword); 4915Debug.Assert(this.CurrentToken.Kind == SyntaxKind.EventKeyword); 4939if (explicitInterfaceOpt != null && this.CurrentToken.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken) 4991if (explicitInterfaceOpt != null && this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 5018if (this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 5071if (this.CurrentToken.Kind == SyntaxKind.DotToken) 5087return this.CurrentToken.Kind == SyntaxKind.SemicolonToken; 5152if (this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 5156else if (stopOnCloseParen && this.CurrentToken.Kind == SyntaxKind.CloseParenToken) 5160else if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 5210static p => p.CurrentToken.Kind != SyntaxKind.CommaToken, 5211static (p, _) => p.CurrentToken.Kind == SyntaxKind.SemicolonToken, 5365var currentTokenKind = this.CurrentToken.Kind; 5376currentTokenKind = this.CurrentToken.Kind; 5426switch (this.CurrentToken.Kind) 5437var refKeyword = isLocalOrField && !isConst && this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 5514if (this.CurrentToken.Kind == SyntaxKind.EqualsToken) 5550Debug.Assert(this.CurrentToken.Kind is SyntaxKind.OpenParenToken or SyntaxKind.LessThanToken); 5558(this.CurrentToken.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.EqualsGreaterThanToken || 5559this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword)) 5569switch (this.CurrentToken.Kind) 5581return this.CurrentToken.Kind == SyntaxKind.OpenBraceToken 5588return this.CurrentToken.Kind == SyntaxKind.OpenBraceToken || this.IsPossibleExpression(); 5607Debug.Assert(this.CurrentToken.Kind == SyntaxKind.DelegateKeyword); 5618if (this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword) 5640Debug.Assert(this.CurrentToken.Kind == SyntaxKind.EnumKeyword); 5655if (this.CurrentToken.Kind == SyntaxKind.ColonToken) 5671if (CurrentToken.Kind == SyntaxKind.SemicolonToken) 5716static p => p.CurrentToken.Kind is not SyntaxKind.CommaToken and not SyntaxKind.SemicolonToken && !p.IsPossibleEnumMemberDeclaration(), 5717static (p, closeKind) => p.CurrentToken.Kind == closeKind, 5732if (this.CurrentToken.Kind == SyntaxKind.EqualsToken) 5737this.CurrentToken.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBraceToken 5747return this.CurrentToken.Kind == SyntaxKind.OpenBracketToken || this.IsTrueIdentifier(); 5752return this.CurrentToken.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken; 5791if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 5831var ctk = this.CurrentToken.Kind; 5843result = this.AddError(result, ErrorCode.ERR_InvalidExprTerm, this.CurrentToken.Text); 5869if (this.CurrentToken.ContextualKind == SyntaxKind.PartialKeyword) 5882return CurrentToken.ContextualKind == SyntaxKind.FieldKeyword && 5889if (this.CurrentToken.Kind != SyntaxKind.LessThanToken) 5919static p => p.CurrentToken.Kind != SyntaxKind.CommaToken, 5920static (p, closeKind) => p.CurrentToken.Kind == closeKind, 5931if (this.CurrentToken.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken) 5935if (this.CurrentToken.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword) 5952if (this.CurrentToken.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken) 5962this.CurrentToken.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword ? EatToken() : null, 5979if (this.CurrentToken.Kind == SyntaxKind.LessThanToken) 5989Debug.Assert(this.CurrentToken.Kind == SyntaxKind.LessThanToken); 6014if (this.CurrentToken.Kind != SyntaxKind.LessThanToken) 6064switch (this.CurrentToken.Kind) 6146Debug.Assert(this.CurrentToken.Kind == SyntaxKind.LessThanToken); 6156while (this.CurrentToken.Kind == SyntaxKind.CommaToken) 6173if (this.CurrentToken.Kind == SyntaxKind.OpenBracketToken) 6179if (this.CurrentToken.Kind == SyntaxKind.GreaterThanToken) 6188if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 6223isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.CurrentToken.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken; 6250isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.CurrentToken.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken; 6272isDefinitelyTypeArgumentList = this.CurrentToken.Kind == SyntaxKind.CommaToken; 6290while (this.CurrentToken.Kind == SyntaxKind.CommaToken); 6292if (this.CurrentToken.Kind != SyntaxKind.GreaterThanToken) 6298if (this.CurrentToken.Kind is SyntaxKind.IdentifierToken) 6307if (lastScannedType is ScanTypeFlags.TupleType && this.CurrentToken.Kind is SyntaxKind.OpenParenToken) 6320isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.CurrentToken.Kind is SyntaxKind.CloseParenToken; 6332Debug.Assert(this.CurrentToken.Kind == SyntaxKind.LessThanToken); 6342while (this.CurrentToken.Kind == SyntaxKind.CommaToken) 6359if (this.CurrentToken.Kind == SyntaxKind.GreaterThanToken) 6366if (tokenBreaksTypeArgumentList(this.CurrentToken)) 6375if (this.CurrentToken.Kind is SyntaxKind.IdentifierToken && tokenBreaksTypeArgumentList(this.PeekToken(1))) 6384if (this.CurrentToken.Kind is SyntaxKind.IdentifierToken 6390if (this.CurrentToken.Kind == SyntaxKind.CommaToken || this.IsPossibleType()) 6460static p => p.CurrentToken.Kind != SyntaxKind.CommaToken && !p.IsPossibleType(), 6461static (p, _) => p.CurrentToken.Kind == SyntaxKind.GreaterThanToken, 6469if (this.CurrentToken.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken) 6485var varianceToken = this.CurrentToken.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword 6512this.CurrentToken.Kind is not SyntaxKind.CommaToken and not SyntaxKind.GreaterThanToken && 6534=> this.CurrentToken.Kind == SyntaxKind.GreaterThanToken; 6538Debug.Assert(this.CurrentToken.Kind == SyntaxKind.LessThanToken); 6576if (this.CurrentToken.Kind == SyntaxKind.ThisKeyword) 6627if (isEvent && this.CurrentToken.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken) 6698separator = this.CurrentToken.Kind == SyntaxKind.ColonColonToken 6711if (this.CurrentToken.Kind == SyntaxKind.ColonColonToken) 6740if (this.CurrentToken.Kind != SyntaxKind.IdentifierToken) 6816return this.CurrentToken.Kind == SyntaxKind.ColonColonToken 6946var tk = this.CurrentToken.Kind; 6967if (this.CurrentToken.Kind != SyntaxKind.IdentifierToken || !this.IsTrueIdentifier()) 6974if (this.CurrentToken.Kind == SyntaxKind.LessThanToken) 6989if (this.CurrentToken.Kind == SyntaxKind.RefKeyword) 6994if (this.CurrentToken.Kind == SyntaxKind.ReadOnlyKeyword) 7001if (this.CurrentToken.Kind is SyntaxKind.IdentifierToken or SyntaxKind.ColonColonToken) 7004if (this.CurrentToken.Kind is SyntaxKind.ColonColonToken) 7018Debug.Assert(this.CurrentToken.Kind is SyntaxKind.IdentifierToken); 7058else if (IsPredefinedType(this.CurrentToken.Kind)) 7064else if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 7069if (result == ScanTypeFlags.NotType || mode == ParseTypeMode.DefinitePattern && this.CurrentToken.Kind != SyntaxKind.OpenBracketToken) 7089switch (this.CurrentToken.Kind) 7130while (this.CurrentToken.Kind == SyntaxKind.CommaToken) 7135if (this.CurrentToken.Kind != SyntaxKind.CloseBracketToken) 7168if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 7186while (this.CurrentToken.Kind == SyntaxKind.CommaToken); 7188if (this.CurrentToken.Kind == SyntaxKind.CloseParenToken) 7210if (CurrentToken.Kind == SyntaxKind.IdentifierToken) 7213switch (CurrentToken) 7228if (CurrentToken.Kind == SyntaxKind.OpenBracketToken) 7245Debug.Assert(CurrentToken.Kind == SyntaxKind.CommaToken); 7258if (!IsPossibleFunctionPointerParameterListStart(CurrentToken)) 7298if (!validStartingToken && CurrentToken.Kind == SyntaxKind.CloseParenToken) 7312isNotExpectedFunction: static p => p.CurrentToken.Kind != SyntaxKind.CommaToken, 7333if (this.CurrentToken.Kind == SyntaxKind.VoidKeyword && this.PeekToken(1).Kind != SyntaxKind.AsteriskToken) 7358if (this.CurrentToken.Kind == SyntaxKind.RefKeyword) 7362this.CurrentToken.Kind == SyntaxKind.ReadOnlyKeyword ? this.EatToken() : null, 7406switch (this.CurrentToken.Kind) 7454while (this.CurrentToken.Kind == SyntaxKind.OpenBracketToken); 7475Debug.Assert(this.CurrentToken.Kind == SyntaxKind.QuestionToken); 7498if (mode == ParseTypeMode.AfterIs && this.CurrentToken.Kind is SyntaxKind.OpenBracketToken) 7525return this.CurrentToken.Kind != SyntaxKind.ColonToken; 7552if (IsTrueIdentifier(this.CurrentToken)) 7561if (this.CurrentToken.ContextualKind is SyntaxKind.AsyncKeyword or SyntaxKind.AwaitKeyword or SyntaxKind.FromKeyword) 7615if (this.CurrentToken.Kind is SyntaxKind.OpenBracketToken) 7624this.CurrentToken.Kind is SyntaxKind.OpenParenToken or // ctor parameters 7659while (IsMakingProgress(ref lastTokenPosition) && this.CurrentToken.Kind != SyntaxKind.CloseBracketToken) 7661if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 7674if (this.CurrentToken.Kind != SyntaxKind.CloseBracketToken) 7715if (this.CurrentToken.Kind != SyntaxKind.CloseParenToken) 7719while (this.CurrentToken.Kind == SyntaxKind.CommaToken) 7754static p => p.CurrentToken.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(), 7755static (p, _) => p.CurrentToken.Kind == SyntaxKind.CloseBracketToken, 7761if (IsPredefinedType(this.CurrentToken.Kind)) 7765if (token.Kind == SyntaxKind.VoidKeyword && this.CurrentToken.Kind != SyntaxKind.AsteriskToken) 7774if (IsTrueIdentifier() || this.CurrentToken.Kind == SyntaxKind.ColonColonToken) 7779if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 7802if (!IsPossibleFunctionPointerParameterListStart(CurrentToken)) 7845Debug.Assert(CurrentToken.Kind == SyntaxKind.CommaToken); 7856lessThanToken.IsMissing && CurrentToken.Kind == SyntaxKind.CloseParenToken 7871isNotExpectedFunction: static p => p.CurrentToken.Kind != SyntaxKind.CommaToken, 7879if (CurrentToken.Kind == SyntaxKind.IdentifierToken) 7883switch (CurrentToken) 7887managedSpecifier = EatContextualToken(CurrentToken.ContextualKind); 7907if (CurrentToken.Kind == SyntaxKind.OpenBracketToken) 7925Debug.Assert(CurrentToken.Kind == SyntaxKind.CommaToken); 7955=> CurrentToken.Kind == SyntaxKind.DelegateKeyword && PeekToken(1).Kind == SyntaxKind.AsteriskToken; 7966while (this.CurrentToken.Kind == SyntaxKind.AsteriskToken) 7986if (this.CurrentToken.Kind != SyntaxKind.OpenBracketToken) 8000while (this.CurrentToken.Kind == SyntaxKind.OpenBracketToken) 8010var isCollectionExpression = this.CurrentToken.Kind 8023|| IsExpectedBinaryOperator(this.CurrentToken.Kind) 8024|| IsExpectedAssignmentOperator(this.CurrentToken.Kind) 8025|| (this.CurrentToken.ContextualKind is SyntaxKind.SwitchKeyword or SyntaxKind.WithKeyword && this.PeekToken(1).Kind is SyntaxKind.OpenBraceToken); 8029this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 8088switch (this.CurrentToken.Kind) 8184bool beginsWithAwait = this.CurrentToken.ContextualKind == SyntaxKind.AwaitKeyword; 8220if (this.CurrentToken.ContextualKind == SyntaxKind.AwaitKeyword && 8261=> CurrentToken.ContextualKind == SyntaxKind.AwaitKeyword && PeekToken(1).Kind == SyntaxKind.UsingKeyword; 8275return this.CurrentToken.ContextualKind == SyntaxKind.YieldKeyword && 8285var tk = this.CurrentToken.Kind; 8313tk = this.CurrentToken.ContextualKind; 8334bool? typedIdentifier = IsPossibleTypedIdentifierStart(this.CurrentToken, this.PeekToken(1), allowThisKeyword: false); 8355var tk = this.CurrentToken.ContextualKind; 8399if (st == ScanTypeFlags.MustBeType && this.CurrentToken.Kind is not SyntaxKind.DotToken and not SyntaxKind.OpenParenToken) 8409if (this.CurrentToken.Kind != SyntaxKind.IdentifierToken) 8417return st == ScanTypeFlags.GenericTypeOrExpression && (IsDefiniteStatement() || IsTypeDeclarationStart() || IsAccessibilityModifier(CurrentToken.Kind)); 8438if (this.CurrentToken.Kind != SyntaxKind.UsingKeyword) 8504if (this.CurrentToken.Kind is SyntaxKind.OpenBraceToken) 8525if (this.CurrentToken.Kind != SyntaxKind.IdentifierToken) 8532if (this.CurrentToken.Kind == SyntaxKind.EqualsToken) 8541return this.CurrentToken.Kind is SyntaxKind.CommaToken or SyntaxKind.SemicolonToken; 8559if (this.CurrentToken.Kind == SyntaxKind.OpenBraceToken || this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword) 8566if (this.CurrentToken.Kind == SyntaxKind.ColonToken) 8650Debug.Assert(this.CurrentToken.Kind == SyntaxKind.NewKeyword); 8795CSharpSyntaxNode openBrace = isAccessorBody && this.CurrentToken.Kind != SyntaxKind.OpenBraceToken 8876while (this.CurrentToken.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken 8908return this.CurrentToken.Kind == SyntaxKind.SemicolonToken 8920static (p, _) => p.CurrentToken.Kind == SyntaxKind.CloseBraceToken, 8928var tk = this.CurrentToken.Kind; 8965var tk = this.CurrentToken.Kind; 9010return this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken; 9073Debug.Assert(this.CurrentToken.Kind is SyntaxKind.TryKeyword or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword); 9086Debug.Assert(this.CurrentToken.Kind is SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword); 9100if (this.CurrentToken.Kind == SyntaxKind.CatchKeyword) 9103while (this.CurrentToken.Kind == SyntaxKind.CatchKeyword) 9109if (this.CurrentToken.Kind == SyntaxKind.FinallyKeyword) 9144return this.CurrentToken.Kind is SyntaxKind.CloseBraceToken or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword; 9149Debug.Assert(this.CurrentToken.Kind == SyntaxKind.CatchKeyword); 9156if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 9176var keywordKind = this.CurrentToken.ContextualKind; 9208return this.CurrentToken.Kind is SyntaxKind.CloseParenToken 9217return this.CurrentToken.Kind is SyntaxKind.CloseParenToken 9225return this.CurrentToken.Kind is SyntaxKind.CloseBraceToken 9232Debug.Assert(this.CurrentToken.Kind is SyntaxKind.CheckedKeyword or SyntaxKind.UncheckedKeyword); 9249Debug.Assert(this.CurrentToken.Kind == SyntaxKind.DoKeyword); 9273return this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken; 9290Debug.Assert(this.CurrentToken.Kind == SyntaxKind.ForKeyword); 9311Debug.Assert(this.CurrentToken.Kind == SyntaxKind.ForKeyword); 9321var condition = this.CurrentToken.Kind is not SyntaxKind.SemicolonToken and not SyntaxKind.CommaToken 9330var incrementors = this.CurrentToken.Kind != SyntaxKind.CloseParenToken 9359if (this.CurrentToken.ContextualKind == SyntaxKind.ScopedKeyword) 9368isDeclaration = ScanType() != ScanTypeFlags.NotType && this.CurrentToken.Kind == SyntaxKind.IdentifierToken; 9372else if (this.CurrentToken.Kind == SyntaxKind.RefKeyword) 9389else if (this.CurrentToken.Kind != SyntaxKind.SemicolonToken) 9404=> this.CurrentToken.Kind is SyntaxKind.CommaToken 9412while (this.CurrentToken.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CommaToken) 9436if (@this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken) 9440static p => p.CurrentToken.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(), 9441static (p, closeKind) => p.CurrentToken.Kind == closeKind || p.CurrentToken.Kind == SyntaxKind.SemicolonToken, 9448return this.CurrentToken.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken; 9455Debug.Assert(this.CurrentToken.Kind == SyntaxKind.ForEachKeyword || this.CurrentToken.Kind == SyntaxKind.ForKeyword); 9466if (this.CurrentToken.Kind == SyntaxKind.ForKeyword) 9560if (this.IsInAsync && this.CurrentToken.ContextualKind == SyntaxKind.AwaitKeyword) 9568if (this.CurrentToken.ContextualKind == SyntaxKind.ScopedKeyword) 9571if (ScanType() != ScanTypeFlags.NotType && this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 9618return this.CurrentToken.Kind == SyntaxKind.CommaToken; 9620return this.CurrentToken.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseParenToken; 9633if (!this.CurrentToken.IsIdentifierVar()) 9672Debug.Assert(this.CurrentToken.Kind == SyntaxKind.GotoKeyword); 9680if (this.CurrentToken.Kind is SyntaxKind.CaseKeyword or SyntaxKind.DefaultKeyword) 9705Debug.Assert(this.CurrentToken.Kind == SyntaxKind.IfKeyword); 9718var elseKeyword = this.CurrentToken.Kind != SyntaxKind.ElseKeyword ? 9729if (this.CurrentToken.Kind != SyntaxKind.IfKeyword) 9770Debug.Assert(this.CurrentToken.Kind == SyntaxKind.ElseKeyword); 9784return this.CurrentToken.Kind != SyntaxKind.ElseKeyword 9793Debug.Assert(this.CurrentToken.Kind == SyntaxKind.LockKeyword); 9805Debug.Assert(this.CurrentToken.Kind == SyntaxKind.ReturnKeyword); 9809this.CurrentToken.Kind != SyntaxKind.SemicolonToken ? this.ParsePossibleRefExpression() : null, 9815Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.YieldKeyword); 9822if (this.CurrentToken.Kind == SyntaxKind.BreakKeyword) 9831if (this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 9852Debug.Assert(this.CurrentToken.Kind is SyntaxKind.SwitchKeyword or SyntaxKind.CaseKeyword); 9877if (this.CurrentToken.Kind is SyntaxKind.CaseKeyword) 9922return this.CurrentToken.Kind == SyntaxKind.CaseKeyword || 9923(this.CurrentToken.Kind == SyntaxKind.DefaultKeyword && this.PeekToken(1).Kind != SyntaxKind.OpenParenToken); 9937if (this.CurrentToken.Kind == SyntaxKind.CaseKeyword) 9941if (this.CurrentToken.Kind == SyntaxKind.ColonToken) 9953if (this.CurrentToken.ContextualKind == SyntaxKind.WhenKeyword && node is ExpressionSyntax ex) 9978Debug.Assert(this.CurrentToken.Kind == SyntaxKind.DefaultKeyword); 10000Debug.Assert(this.CurrentToken.Kind == SyntaxKind.ThrowKeyword); 10004this.CurrentToken.Kind != SyntaxKind.SemicolonToken ? this.ParseExpressionCore() : null, 10010Debug.Assert(this.CurrentToken.Kind == SyntaxKind.UnsafeKeyword); 10078if (this.CurrentToken.Kind != SyntaxKind.IdentifierToken) 10105if (this.CurrentToken.Kind == SyntaxKind.ColonToken && 10137bool condition1 = st == ScanTypeFlags.MustBeType && this.CurrentToken.Kind != SyntaxKind.DotToken; 10138bool condition2 = st != ScanTypeFlags.NotType && this.CurrentToken.Kind == SyntaxKind.IdentifierToken; 10146Debug.Assert(this.CurrentToken.Kind == SyntaxKind.WhileKeyword); 10181else if (this.CurrentToken.Kind == SyntaxKind.UsingKeyword) 10277if (this.CurrentToken.ContextualKind != SyntaxKind.ScopedKeyword) 10289if (this.CurrentToken.Kind is (SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword)) 10318return this.CurrentToken.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken; 10320else if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 10336if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 10344done = (this.CurrentToken.Kind == SyntaxKind.CloseParenToken); 10357if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 10387return CurrentToken.ContextualKind == SyntaxKind.UnderscoreToken 10394if (this.CurrentToken.ContextualKind != SyntaxKind.WhenKeyword) 10478switch (this.CurrentToken.Kind) 10491while (IsDeclarationModifier(k = this.CurrentToken.ContextualKind) || IsAdditionalLocalFunctionModifier(k)) 10530Debug.Assert(this.CurrentToken.Kind == SyntaxKind.IdentifierToken); 10536if (IsDeclarationModifier(this.CurrentToken.Kind) || 10537IsAdditionalLocalFunctionModifier(this.CurrentToken.Kind)) 10544if (ScanType() != ScanTypeFlags.NotType && this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 10552while (IsAdditionalLocalFunctionModifier(this.CurrentToken.ContextualKind)); 10693if (this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword) 10736if (IsScript && this.CurrentToken.Kind == SyntaxKind.EndOfFileToken) 10780SyntaxKind tk = this.CurrentToken.Kind; 10826return this.IsTrueIdentifier() || this.CurrentToken.ContextualKind == SyntaxKind.FromKeyword; 11062return (this.IsScript || this.IsInAsync) && this.CurrentToken.ContextualKind == SyntaxKind.AwaitKeyword; 11067if (this.CurrentToken.ContextualKind == SyntaxKind.AwaitKeyword) 11145var tk = this.CurrentToken.Kind; 11187if (this.CurrentToken.ContextualKind == SyntaxKind.FromKeyword && IsInQuery) 11194this.AddError(this.EatToken(), ErrorCode.ERR_InvalidExprTerm, this.CurrentToken.Text)); 11241if (this.CurrentToken.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional) 11339if (this.CurrentToken.Kind != SyntaxKind.ColonToken && 11354if (this.CurrentToken.Kind == SyntaxKind.ColonToken) 11366if (this.CurrentToken.Kind == SyntaxKind.EndOfFileToken && this.lexer.InterpolationFollowedByColon) 11425var token1 = this.CurrentToken; 11527if (operatorExpressionKind == SyntaxKind.SimpleAssignmentExpression && CurrentToken.Kind == SyntaxKind.RefKeyword && 11547if (this.CurrentToken.Kind != SyntaxKind.DotToken) 11551return nextToken.Kind == SyntaxKind.DotToken && NoTriviaBetween(this.CurrentToken, nextToken); 11569if (this.CurrentToken is { Kind: SyntaxKind.DotToken } token3 && 11639var tk = this.CurrentToken.Kind; 11675return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.CurrentToken.Text); 11704return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.CurrentToken.Text); 11771if (this.CurrentToken.Kind != SyntaxKind.DotToken || tk == SyntaxKind.VoidKeyword) 11806switch (this.CurrentToken.Kind) 11818expr = _syntaxFactory.PostfixUnaryExpression(SyntaxFacts.GetPostfixUnaryExpression(this.CurrentToken.Kind), expr, this.EatToken()); 11853if (this.CurrentToken.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia) && 11887Debug.Assert(this.CurrentToken.Kind == SyntaxKind.BaseKeyword); 11901if (precedence > Precedence.Assignment || !(this.CurrentToken.IsIdentifierVar() || IsPredefinedType(this.CurrentToken.Kind))) 11910this.CurrentToken.Kind == SyntaxKind.OpenParenToken && ScanDesignator() && 11911this.CurrentToken.Kind == SyntaxKind.EqualsToken; 11916switch (this.CurrentToken.Kind) 11935switch (this.CurrentToken.Kind) 12009if (this.CurrentToken.Kind == SyntaxKind.QuestionToken) 12048return this.CurrentToken.Kind != SyntaxKind.ColonToken; 12061while (this.CurrentToken.Kind == SyntaxKind.ExclamationToken) 12097=> this.CurrentToken.Kind switch 12156openToken = this.CurrentToken.Kind is SyntaxKind.OpenParenToken or SyntaxKind.OpenBracketToken 12163if (this.CurrentToken.Kind != closeKind && this.CurrentToken.Kind != SyntaxKind.SemicolonToken) 12191else if (isIndexer && this.CurrentToken.Kind == closeKind) 12207closeToken = this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken 12216if (@this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken) 12220static p => p.CurrentToken.Kind != SyntaxKind.CommaToken && !p.IsPossibleArgumentExpression(), 12221static (p, closeKind) => p.CurrentToken.Kind == closeKind || p.CurrentToken.Kind == SyntaxKind.SemicolonToken, 12228return this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken; 12233return IsValidArgumentRefKindKeyword(this.CurrentToken.Kind) || this.IsPossibleExpression(); 12251var nameColon = this.CurrentToken.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.ColonToken 12258if (IsValidArgumentRefKindKeyword(this.CurrentToken.Kind) && 12260!(this.CurrentToken.Kind == SyntaxKind.RefKeyword && 12268if (isIndexer && this.CurrentToken.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBracketToken) 12272else if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 12304if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 12382Debug.Assert(CurrentToken.Kind == SyntaxKind.OpenParenToken); 12413Debug.Assert(CurrentToken.Kind == SyntaxKind.OpenParenToken); 12439if (IsParameterModifierIncludingScoped(this.CurrentToken)) 12465if (this.CurrentToken.Kind == SyntaxKind.OpenBracketToken) 12473switch (this.CurrentToken.Kind) 12489Debug.Assert(this.CurrentToken.Kind == SyntaxKind.OpenParenToken); 12517if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 12525if (expression.Kind == SyntaxKind.IdentifierName && this.CurrentToken.Kind == SyntaxKind.ColonToken) 12546while (this.CurrentToken.Kind == SyntaxKind.CommaToken) 12551var argument = expression.Kind != SyntaxKind.IdentifierName || this.CurrentToken.Kind != SyntaxKind.ColonToken 12577if (this.CurrentToken.Kind != SyntaxKind.OpenParenToken) 12590if (this.CurrentToken.Kind != SyntaxKind.CloseParenToken) 12597if (forPattern && this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 12619return !forPattern || this.CurrentToken.Kind switch 12644return this.CurrentToken.Kind == SyntaxKind.OpenBracketToken || CanFollowCast(this.CurrentToken.Kind); 12650if (this.CurrentToken.Kind == SyntaxKind.OpenBracketToken && 12659return CanFollowCast(this.CurrentToken.Kind); 12690return this.CurrentToken.ContextualKind is SyntaxKind.OrKeyword or SyntaxKind.AndKeyword; 12719if (CurrentToken.Kind == SyntaxKind.OpenBracketToken) 12735if (this.CurrentToken.Kind == SyntaxKind.StaticKeyword) 12740else if (this.CurrentToken.ContextualKind == SyntaxKind.AsyncKeyword && 12754if (this.CurrentToken.Kind == SyntaxKind.EqualsGreaterThanToken) 12764if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 12772if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken && 12783if (this.CurrentToken.ContextualKind == SyntaxKind.AsyncKeyword && 12792if (st == ScanTypeFlags.NotType || this.CurrentToken.Kind != SyntaxKind.OpenParenToken) 12809if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken && 12817if (this.CurrentToken.Kind != SyntaxKind.OpenParenToken) 12889Debug.Assert(this.CurrentToken.Kind == SyntaxKind.NewKeyword); 12908Debug.Assert(this.CurrentToken.Kind == SyntaxKind.OpenBracketToken); 12929static p => p.CurrentToken.Kind != SyntaxKind.CommaToken && !p.IsPossibleCollectionElement(), 12930static (p, closeKind) => p.CurrentToken.Kind == closeKind, 12949return this.CurrentToken.Kind == SyntaxKind.NewKeyword && this.PeekToken(1).Kind == SyntaxKind.OpenBraceToken; 12957Debug.Assert(this.CurrentToken.Kind == SyntaxKind.OpenBraceToken); 12994return this.CurrentToken.Kind == SyntaxKind.OpenBraceToken; 13009return this.CurrentToken.Kind == SyntaxKind.OpenBracketToken; 13025if (this.CurrentToken.Kind == SyntaxKind.OpenBraceToken) 13035if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 13040if (this.CurrentToken.Kind == SyntaxKind.OpenBraceToken) 13062if (this.CurrentToken.Kind != SyntaxKind.OpenParenToken) 13073switch (this.CurrentToken.Kind) 13192static p => p.CurrentToken.Kind != SyntaxKind.CommaToken && !p.IsPossibleExpression(), 13193static (p, closeKind) => p.CurrentToken.Kind == closeKind, 13202this.CurrentToken.Kind == SyntaxKind.ColonToken 13205this.CurrentToken.Kind == SyntaxKind.OpenBraceToken 13216this.CurrentToken.Kind == SyntaxKind.OpenBraceToken 13244Debug.Assert(this.CurrentToken.Kind is SyntaxKind.NewKeyword or SyntaxKind.StackAllocKeyword); 13271if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 13311static p => p.CurrentToken.Kind != SyntaxKind.CommaToken && !p.IsPossibleVariableInitializer(), 13312static (p, closeKind) => p.CurrentToken.Kind == closeKind, 13338if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 13360this.CurrentToken.Kind == SyntaxKind.OpenBraceToken ? this.ParseArrayInitializer() : null); 13388if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 13401if (this.CurrentToken.Kind != SyntaxKind.OpenBraceToken) 13432if (this.CurrentToken.Kind == SyntaxKind.StaticKeyword) 13438if (this.CurrentToken.ContextualKind == SyntaxKind.AsyncKeyword && 13453Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.AsyncKeyword); 13478if (this.CurrentToken.Kind == SyntaxKind.ColonToken && 13515if (CurrentToken.Kind != SyntaxKind.OpenParenToken) 13522if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 13535var identifier = (this.CurrentToken.Kind != SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.EqualsGreaterThanToken) 13552=> CurrentToken.Kind == SyntaxKind.OpenBraceToken 13583static p => p.CurrentToken.Kind != SyntaxKind.CommaToken && !p.IsPossibleLambdaParameter(), 13584static (p, closeKind) => p.CurrentToken.Kind == closeKind, 13591switch (this.CurrentToken.Kind) 13609return IsPredefinedType(this.CurrentToken.Kind); 13620if (IsParameterModifierIncludingScoped(this.CurrentToken)) 13647if (IsPredefinedType(this.CurrentToken.Kind)) 13653if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 13663if (this.IsTrueIdentifier(this.CurrentToken)) 13690=> IsTokenQueryContextualKeyword(this.CurrentToken); 13732return this.CurrentToken.ContextualKind == SyntaxKind.FromKeyword && 13785return this.ScanType() != ScanTypeFlags.NotType && this.CurrentToken.Kind is SyntaxKind.IdentifierToken or SyntaxKind.InKeyword; 13810switch (this.CurrentToken.ContextualKind) 13834SelectOrGroupClauseSyntax selectOrGroupBy = this.CurrentToken.ContextualKind switch 13846this.CurrentToken.ContextualKind == SyntaxKind.IntoKeyword 13853Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.FromKeyword); 13862(this.CurrentToken.Kind != SyntaxKind.IdentifierToken || SyntaxFacts.IsQueryContextualKeyword(this.CurrentToken.ContextualKind))) 13886Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.JoinKeyword); 13899into: this.CurrentToken.ContextualKind == SyntaxKind.IntoKeyword 13906Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.LetKeyword); 13916Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword); 13924Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.OrderByKeyword); 13932while (this.CurrentToken.Kind == SyntaxKind.CommaToken) 13934if (this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken) 13938else if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 13959static p => p.CurrentToken.Kind != SyntaxKind.CommaToken, 13960static (p, _) => p.CurrentToken.Kind == SyntaxKind.CloseParenToken 13961|| p.CurrentToken.Kind == SyntaxKind.SemicolonToken 13973if (this.CurrentToken.ContextualKind is SyntaxKind.AscendingKeyword or SyntaxKind.DescendingKeyword) 13987Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.SelectKeyword); 13995Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.GroupKeyword); 14005Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.IntoKeyword); 14136if (requireOneElement || this.CurrentToken.Kind != closeTokenKind) 14153if (this.CurrentToken.Kind == closeTokenKind) 14164nodes.AddSeparator(this.CurrentToken.Kind == SyntaxKind.SemicolonToken 14171if (this.CurrentToken.Kind == closeTokenKind) 14206if (this.CurrentToken.Kind == separatorTokenKind) 14211if (allowSemicolonAsSeparator && this.CurrentToken.Kind is SyntaxKind.SemicolonToken) 14300if (this.CurrentToken.Kind == SyntaxKind.EndOfFileToken) return node; 14302while (this.CurrentToken.Kind != SyntaxKind.EndOfFileToken)
Parser\LanguageParser_InterpolatedString.cs (3)
40Debug.Assert(this.CurrentToken.Kind == SyntaxKind.InterpolatedStringToken); 405if (this.CurrentToken.Kind != SyntaxKind.CommaToken) 418var leading = this.CurrentToken.GetLeadingTrivia();
Parser\LanguageParser_Patterns.cs (32)
61while (this.CurrentToken.ContextualKind == SyntaxKind.OrKeyword) 78var tk = CurrentToken.Kind; 84if (tk == SyntaxKind.IdentifierToken && this.CurrentToken.ContextualKind != SyntaxKind.UnderscoreToken && 85(this.CurrentToken.ContextualKind != SyntaxKind.NameOfKeyword || this.PeekToken(1).Kind != SyntaxKind.OpenParenToken)) 107while (this.CurrentToken.ContextualKind == SyntaxKind.AndKeyword) 121switch (this.CurrentToken.Kind) 143switch (this.CurrentToken.Kind) 160if (this.CurrentToken.ContextualKind == SyntaxKind.NotKeyword) 175var tk = this.CurrentToken.Kind; 187if (CurrentToken.ContextualKind == SyntaxKind.UnderscoreToken) 192switch (CurrentToken.Kind) 244switch (this.CurrentToken.Kind) 276(this.CurrentToken.Kind == SyntaxKind.OpenParenToken || this.IsValidPatternDesignation(inSwitchArmPattern))) 285if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken && (type != null || !looksLikeCast())) 360if (this.CurrentToken.Kind == SyntaxKind.OpenBraceToken) 386if (CurrentToken.Kind == SyntaxKind.IdentifierToken) 388switch (CurrentToken.ContextualKind) 477if (this.CurrentToken.Kind != SyntaxKind.OpenParenToken) 509if (this.CurrentToken.Kind == SyntaxKind.ColonToken && ConvertPatternToExpressionIfPossible(pattern, permitTypeArguments: true) is ExpressionSyntax expr) 530this.CurrentToken.Kind is 543if (@this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBraceToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken) 550if (@this._termState.HasFlag(TerminatorState.IsExpressionOrPatternInCaseLabelOfSwitchStatement) && @this.CurrentToken.Kind is SyntaxKind.ColonToken) 559if (@this._termState.HasFlag(TerminatorState.IsPatternInSwitchExpressionArm) && @this.CurrentToken.Kind is SyntaxKind.EqualsGreaterThanToken or SyntaxKind.ColonToken) 563static p => p.CurrentToken.Kind != SyntaxKind.CommaToken && !p.IsPossibleSubpatternElement(), 564static (p, closeKind) => p.CurrentToken.Kind == closeKind || p.CurrentToken.Kind == SyntaxKind.SemicolonToken, 584while (this.CurrentToken.Kind != SyntaxKind.CloseBraceToken) 590var errantCase = this.CurrentToken.Kind == SyntaxKind.CaseKeyword 609this.CurrentToken.Kind == SyntaxKind.ColonToken 615if (errantCase is null && switchExpressionCase.FullWidth == 0 && this.CurrentToken.Kind != SyntaxKind.CommaToken) 622if (this.CurrentToken.Kind != SyntaxKind.CloseBraceToken) 624var commaToken = this.CurrentToken.Kind == SyntaxKind.SemicolonToken
Parser\SyntaxParser.cs (12)
488var ct = this.CurrentToken; 498=> this.CurrentToken.Kind == kind ? this.EatToken() : null; 525var ct = this.CurrentToken; 533return CreateMissingToken(kind, this.CurrentToken.Kind); 541var ct = this.CurrentToken; 548var replacement = CreateMissingToken(expected, this.CurrentToken.Kind); 578if (this.CurrentToken.Kind != kind) 592if (this.CurrentToken.Kind != kind) 611var token = this.CurrentToken; 649if (this.CurrentToken.ContextualKind != kind) 663var contextualKind = this.CurrentToken.ContextualKind; 847var token = this.CurrentToken;