711 references to CurrentToken
Microsoft.CodeAnalysis.CSharp (711)
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) 725if (this.CurrentToken.Kind != SyntaxKind.EndOfDirectiveToken && 726this.CurrentToken.Kind != SyntaxKind.EndOfFileToken) 745while (this.CurrentToken.Kind != SyntaxKind.EndOfDirectiveToken && 746this.CurrentToken.Kind != SyntaxKind.EndOfFileToken) 753SyntaxToken endOfDirective = this.CurrentToken.Kind == SyntaxKind.EndOfDirectiveToken 774while (this.CurrentToken.Kind == SyntaxKind.BarBarToken) 787while (this.CurrentToken.Kind == SyntaxKind.AmpersandAmpersandToken) 800while (this.CurrentToken.Kind == SyntaxKind.EqualsEqualsToken || this.CurrentToken.Kind == SyntaxKind.ExclamationEqualsToken) 812if (this.CurrentToken.Kind == SyntaxKind.ExclamationToken) 823var k = this.CurrentToken.Kind;
Parser\DocumentationCommentParser.cs (76)
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) 328if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 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) 971Debug.Assert(CurrentToken.Kind == SyntaxKind.ThisKeyword); 983Debug.Assert(CurrentToken.Kind == SyntaxKind.OperatorKeyword); 989if (SyntaxFacts.IsAnyOverloadableOperator(CurrentToken.Kind)) 1002if (SyntaxFacts.IsUnaryOperatorDeclarationToken(CurrentToken.Kind) || SyntaxFacts.IsBinaryExpressionOperatorToken(CurrentToken.Kind)) 1015if (operatorToken.Kind == SyntaxKind.GreaterThanToken && LanguageParser.NoTriviaBetween(operatorToken, CurrentToken)) 1017if (CurrentToken.Kind == SyntaxKind.GreaterThanToken) 1021if (LanguageParser.NoTriviaBetween(operatorToken2, CurrentToken) && 1022CurrentToken.Kind is (SyntaxKind.GreaterThanToken or SyntaxKind.GreaterThanEqualsToken)) 1058else if (CurrentToken.Kind == SyntaxKind.EqualsToken) 1068else if (CurrentToken.Kind == SyntaxKind.GreaterThanEqualsToken) 1126if (LanguageParser.NoTriviaBetween(operatorToken, CurrentToken) && CurrentToken.Kind == SyntaxKind.EqualsToken) 1148(isConversion || SyntaxFacts.IsAnyOverloadableOperator(CurrentToken.Kind))) 1157if (CurrentToken.Kind == SyntaxKind.UncheckedKeyword) 1174Debug.Assert(CurrentToken.Kind == SyntaxKind.ExplicitKeyword || 1175CurrentToken.Kind == SyntaxKind.ImplicitKeyword); 1212if (CurrentToken.Kind != openKind) 1222while (CurrentToken.Kind == SyntaxKind.CommaToken || IsPossibleCrefParameter()) 1226if (CurrentToken.Kind != closeKind) 1237Debug.Assert(CurrentToken.Kind != SyntaxKind.CommaToken); 1262SyntaxKind kind = this.CurrentToken.Kind; 1284switch (CurrentToken.Kind) 1294if (CurrentToken.Kind == SyntaxKind.ReadOnlyKeyword && refKindOpt is not null) 1321if (CurrentToken.Kind != SyntaxKind.LessThanToken) 1343var currentKind = CurrentToken.Kind; 1345SyntaxFacts.IsPredefinedType(CurrentToken.Kind)) 1405if (SyntaxFacts.IsPredefinedType(CurrentToken.Kind)) 1414else if (CurrentToken.Kind == SyntaxKind.IdentifierToken && PeekToken(1).Kind == SyntaxKind.ColonColonToken) 1434if (checkForMember && (leftName.IsMissing || CurrentToken.Kind != SyntaxKind.DotToken)) 1446while (CurrentToken.Kind == SyntaxKind.DotToken) 1455if (checkForMember && (rightName.IsMissing || CurrentToken.Kind != SyntaxKind.DotToken)) 1477if (CurrentToken.Kind == SyntaxKind.QuestionToken) 1482while (CurrentToken.Kind == SyntaxKind.AsteriskToken) 1487if (CurrentToken.Kind == SyntaxKind.OpenBracketToken) 1493while (CurrentToken.Kind == SyntaxKind.OpenBracketToken) 1499while (this.CurrentToken.Kind != SyntaxKind.CloseBracketToken) 1501if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 1551switch (CurrentToken.Kind) 1563return CurrentToken.Text == SyntaxFacts.GetText(SyntaxKind.LessThanToken) || 1564IsNonAsciiQuotationMark(CurrentToken); 1619switch (CurrentToken.Kind) 1631return CurrentToken.Text == SyntaxFacts.GetText(SyntaxKind.LessThanToken) || 1632IsNonAsciiQuotationMark(CurrentToken);
Parser\LanguageParser.cs (563)
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) 862switch (this.CurrentToken.Kind) 871return IsPossibleStartOfTypeDeclaration(this.CurrentToken.Kind); 877if (this.CurrentToken.ContextualKind == SyntaxKind.PartialKeyword) 894return this.CurrentToken.Kind == SyntaxKind.CloseBraceToken; 919return this.CurrentToken.Kind == SyntaxKind.ExternKeyword 932Debug.Assert(this.CurrentToken.Kind == SyntaxKind.ExternKeyword); 956var globalToken = this.CurrentToken.ContextualKind == SyntaxKind.GlobalKeyword 960Debug.Assert(this.CurrentToken.Kind == SyntaxKind.UsingKeyword); 967if (staticToken is null && unsafeToken != null && this.CurrentToken.Kind == SyntaxKind.StaticKeyword) 979var isAliasToFunctionPointer = alias != null && this.CurrentToken.Kind == SyntaxKind.DelegateKeyword; 998type = WithAdditionalDiagnostics(CreateMissingIdentifierName(), GetExpectedTokenError(SyntaxKind.IdentifierToken, this.CurrentToken.Kind)); 1021return this.CurrentToken.Kind == SyntaxKind.OpenBracketToken 1041if (this.CurrentToken.Kind != SyntaxKind.OpenBracketToken) 1059if (SyntaxFacts.IsLiteralExpression(this.CurrentToken.Kind)) 1103return this.CurrentToken.Kind == SyntaxKind.CloseBracketToken 1108=> IsSomeWord(this.CurrentToken.Kind) && this.PeekToken(1).Kind == SyntaxKind.ColonToken; 1153if (this.CurrentToken.Kind == SyntaxKind.DotToken) 1159if (this.CurrentToken.Kind == SyntaxKind.MinusGreaterThanToken) 1164if (this.CurrentToken.Kind == SyntaxKind.QuestionToken && 1207if (this.CurrentToken.Kind != SyntaxKind.OpenParenToken) 1267if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 1358var newMod = GetModifierExcludingScoped(this.CurrentToken); 1495Debug.Assert(this.CurrentToken.Kind == SyntaxKind.IdentifierToken && GetModifierExcludingScoped(this.CurrentToken) != DeclarationModifiers.None); 1514(this.CurrentToken.ContextualKind == SyntaxKind.PartialKeyword)) 1531var currentTokenKind = this.CurrentToken.Kind; 1553var currentTokenKind = this.CurrentToken.Kind; 1571if (SyntaxFacts.IsPredefinedType(this.CurrentToken.Kind)) 1578if (IsNonContextualModifier(this.CurrentToken)) 1613Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.PartialKeyword); 1637Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.PartialKeyword); 1670switch (this.CurrentToken.Kind) 1673if (this.CurrentToken.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword) 1693switch (this.CurrentToken.Kind) 1711Debug.Assert(CurrentToken.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword); 1715throw ExceptionUtilities.UnexpectedValue(this.CurrentToken.Kind); 1721Debug.Assert(this.CurrentToken.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword or SyntaxKind.InterfaceKeyword || 1722this.CurrentToken.ContextualKind is SyntaxKind.RecordKeyword or SyntaxKind.ExtensionKeyword); 1743if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 1756var paramList = CurrentToken.Kind == SyntaxKind.OpenParenToken || isExtension 1768if (this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword) 1779if (CurrentToken.Kind == SyntaxKind.SemicolonToken) 1803SyntaxKind kind = this.CurrentToken.Kind; 1841closeBrace = WithAdditionalDiagnostics(closeBrace, this.GetExpectedTokenError(SyntaxKind.CloseBraceToken, this.CurrentToken.Kind)); 1868if (this.CurrentToken.ContextualKind == SyntaxKind.RecordKeyword) 1871recordModifier = this.CurrentToken.Kind is SyntaxKind.ClassKeyword or SyntaxKind.StructKeyword 1878if (this.CurrentToken.Kind is SyntaxKind.StructKeyword or SyntaxKind.ClassKeyword && 2032SyntaxKind kind = this.CurrentToken.Kind; 2080return this.IsPossibleMemberStart() || this.CurrentToken.Kind == SyntaxKind.CloseBraceToken; 2085return this.CurrentToken.Kind is SyntaxKind.ColonToken or SyntaxKind.OpenBraceToken 2102list.Add(this.CurrentToken.Kind == SyntaxKind.OpenParenToken 2109if (this.CurrentToken.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken || 2115if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 2129if (GetModifierExcludingScoped(this.CurrentToken) != DeclarationModifiers.None) 2161this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword && 2168while (this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword) 2186if (this.CurrentToken.Kind == SyntaxKind.OpenBraceToken || this.IsCurrentTokenWhereOfConstraintClause()) 2200if (this.CurrentToken.Kind == SyntaxKind.OpenBraceToken 2201|| ((_termState & TerminatorState.IsEndOfTypeSignature) != 0 && this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 2202|| this.CurrentToken.Kind == SyntaxKind.EqualsGreaterThanToken 2203|| this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword) 2207else if (haveComma = (this.CurrentToken.Kind == SyntaxKind.CommaToken) || this.IsPossibleTypeParameterConstraint()) 2255switch (this.CurrentToken.Kind) 2264return (this.CurrentToken.ContextualKind == SyntaxKind.AllowsKeyword && PeekToken(1).Kind == SyntaxKind.RefKeyword) || this.IsTrueIdentifier(); 2266return IsPredefinedType(this.CurrentToken.Kind); 2272return this.CurrentToken.Kind switch 2284this.CurrentToken.Kind == SyntaxKind.QuestionToken 2316if (this.CurrentToken.ContextualKind == SyntaxKind.AllowsKeyword && 2330if (this.CurrentToken.Kind == SyntaxKind.CommaToken && PeekToken(1).Kind == SyntaxKind.RefKeyword) 2348return CanStartMember(this.CurrentToken.Kind); 2409switch (this.CurrentToken.Kind) 2419if (CurrentToken.ContextualKind == SyntaxKind.RecordKeyword) 2561switch (this.CurrentToken.Kind) 2607if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken) 2641if (this.CurrentToken.Kind == SyntaxKind.ConstKeyword) 2654if (this.CurrentToken.Kind == SyntaxKind.EventKeyword) 2660if (this.CurrentToken.Kind == SyntaxKind.FixedKeyword) 2672if (this.CurrentToken.Kind == SyntaxKind.NamespaceKeyword) 2694if (this.CurrentToken.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken && 2939if (CurrentToken.Kind == SyntaxKind.UsingKeyword) 2944if (CurrentToken.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword) 2959if (GetModifierExcludingScoped(this.CurrentToken) != DeclarationModifiers.None && 2960this.CurrentToken.ContextualKind is not (SyntaxKind.PartialKeyword or SyntaxKind.AsyncKeyword or SyntaxKind.RequiredKeyword or SyntaxKind.FileKeyword) && 2963var misplacedModifier = this.CurrentToken; 3007incompleteMember.FullWidth + this.CurrentToken.GetLeadingTriviaWidth(), 3008this.CurrentToken.Width, 3010this.CurrentToken.Text); 3027|| this.CurrentToken.Kind is not SyntaxKind.OpenParenToken and not SyntaxKind.OpenBraceToken and not SyntaxKind.EqualsGreaterThanToken) && 3055if (IsStartOfPropertyBody(this.CurrentToken.Kind) || 3056(this.CurrentToken.Kind is SyntaxKind.SemicolonToken && IsStartOfPropertyBody(this.PeekToken(1).Kind))) 3114if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.OpenParenToken) 3120if (this.CurrentToken.Kind == SyntaxKind.TildeToken) 3126if (this.CurrentToken.Kind == SyntaxKind.ConstKeyword) 3132if (this.CurrentToken.Kind == SyntaxKind.EventKeyword) 3138if (this.CurrentToken.Kind == SyntaxKind.FixedKeyword) 3244return this.CurrentToken.ContextualKind == SyntaxKind.ExtensionKeyword && IsFeatureEnabled(MessageID.IDS_FeatureExtensions); 3275if (this.CurrentToken.Kind != SyntaxKind.IdentifierToken) 3280if (this.CurrentToken.ContextualKind == SyntaxKind.GlobalKeyword && this.PeekToken(1).Kind == SyntaxKind.UsingKeyword) 3320return this.CurrentToken.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword or SyntaxKind.OperatorKeyword; 3362var initializer = this.CurrentToken.Kind == SyntaxKind.ColonToken 3381var kind = this.CurrentToken.Kind == SyntaxKind.BaseKeyword 3386if (this.CurrentToken.Kind is SyntaxKind.BaseKeyword or SyntaxKind.ThisKeyword) 3398var argumentList = this.CurrentToken.Kind == SyntaxKind.OpenParenToken 3410Debug.Assert(this.CurrentToken.Kind == SyntaxKind.TildeToken); 3436if (this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 3444blockBody = this.CurrentToken.Kind == SyntaxKind.OpenBraceToken 3448expressionBody = this.CurrentToken.Kind == SyntaxKind.EqualsGreaterThanToken 3459else if (parseSemicolonAfterBlock && this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 3471if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 3477if (this.CurrentToken.Kind == SyntaxKind.ColonToken) 3483if (this.CurrentToken.Kind == SyntaxKind.OpenBraceToken) 3499=> this.CurrentToken.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken; 3503return this.CurrentToken.Kind is SyntaxKind.SemicolonToken or SyntaxKind.OpenBraceToken; 3507=> this.CurrentToken.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken; 3510=> this.CurrentToken.Kind == (errored ? SyntaxKind.CloseParenToken : SyntaxKind.GreaterThanToken); 3513=> this.CurrentToken.Kind == SyntaxKind.CloseBracketToken; 3530if (this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword) 3535else if (this.CurrentToken.Kind == SyntaxKind.ColonToken) 3538var colonToken = this.CurrentToken; 3588switch (this.CurrentToken.Kind) 3607if (this.CurrentToken.Kind is not (SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword)) 3611if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 3621if (this.CurrentToken.Kind == SyntaxKind.OperatorKeyword) 3635(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.CurrentToken.Kind != SyntaxKind.OpenParenToken)) 3641separatorKind = this.CurrentToken.Kind; 3663if (this.CurrentToken.Kind != SyntaxKind.OperatorKeyword || 3685var style = this.CurrentToken.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword 3695if (!style.IsMissing && explicitInterfaceOpt is not null && this.CurrentToken.Kind != SyntaxKind.OperatorKeyword && style.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia)) 3727bool couldBeParameterList = this.CurrentToken.Kind == SyntaxKind.OpenParenToken; 3732this.CurrentToken.Kind != SyntaxKind.OpenParenToken) 3763if (this.CurrentToken.Kind != SyntaxKind.IdentifierToken) 3780if (this.CurrentToken.Kind == SyntaxKind.OperatorKeyword) 3790(IsMakingProgress(ref lastTokenPosition, assertIfFalse: false) && this.CurrentToken.Kind != SyntaxKind.OpenParenToken); 3829if (CurrentToken.Kind == SyntaxKind.UncheckedKeyword) 3848var firstToken = this.CurrentToken; 3881if (SyntaxFacts.IsAnyOverloadableOperator(this.CurrentToken.Kind)) 3890if (this.CurrentToken.Kind is SyntaxKind.ImplicitKeyword or SyntaxKind.ExplicitKeyword) 3925var tk = this.CurrentToken; 3932tk = this.CurrentToken; 4064if (this.CurrentToken.Kind == SyntaxKind.EqualsGreaterThanToken) 4072if (this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 4081if (this.CurrentToken.Kind == SyntaxKind.EqualsGreaterThanToken 4116if (this.CurrentToken.Kind is SyntaxKind.SemicolonToken) 4122Debug.Assert(IsStartOfPropertyBody(this.CurrentToken.Kind)); 4124var accessorList = this.CurrentToken.Kind == SyntaxKind.OpenBraceToken 4132if (this.CurrentToken.Kind == SyntaxKind.EqualsGreaterThanToken) 4140else if (this.CurrentToken.Kind == SyntaxKind.EqualsToken) 4152else if (this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 4206if (this.CurrentToken.Kind == SyntaxKind.CloseBraceToken) 4241var refKeyword = this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 4259return this.CurrentToken.Kind == SyntaxKind.IdentifierToken 4261|| SyntaxFacts.GetAccessorDeclarationKind(this.CurrentToken.ContextualKind) != SyntaxKind.None 4262|| this.CurrentToken.Kind == SyntaxKind.OpenBraceToken // for accessor blocks w/ missing keyword 4263|| this.CurrentToken.Kind == SyntaxKind.SemicolonToken // for empty body accessors w/ missing keyword 4285if (GetModifierExcludingScoped(this.CurrentToken) == DeclarationModifiers.None) 4433var token = (first && !this.CurrentToken.ContainsDiagnostics) ? this.EatTokenWithPrejudice(expected) : this.EatToken(); 4459var token = (first && !this.CurrentToken.ContainsDiagnostics) ? this.EatTokenWithPrejudice(errorCode) : this.EatToken(); 4515bool currentTokenIsSemicolon = this.CurrentToken.Kind == SyntaxKind.SemicolonToken; 4516bool currentTokenIsArrow = this.CurrentToken.Kind == SyntaxKind.EqualsGreaterThanToken; 4517bool currentTokenIsOpenBraceToken = this.CurrentToken.Kind == SyntaxKind.OpenBraceToken; 4708return this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken; 4713switch (this.CurrentToken.Kind) 4725return IsParameterModifierExcludingScoped(this.CurrentToken) || IsPossibleScopedKeyword(isFunctionPointerParameter: false) || IsPredefinedType(this.CurrentToken.Kind); 4785if (this.CurrentToken.Kind == SyntaxKind.ArgListKeyword) 4796if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken && IsCurrentTokenWhereOfConstraintClause()) 4803identifier = allowOptionalIdentifier && this.CurrentToken.Kind != SyntaxKind.IdentifierToken 4809if (identifier is not null && this.CurrentToken.Kind is SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind is SyntaxKind.CloseBracketToken) 4854while (IsParameterModifierExcludingScoped(this.CurrentToken)) 4856if (this.CurrentToken.Kind is SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword or SyntaxKind.ReadOnlyKeyword) 4873while (this.CurrentToken.Kind is SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword or SyntaxKind.ReadOnlyKeyword) 4886Debug.Assert(this.CurrentToken.Kind == SyntaxKind.FixedKeyword); 4904Debug.Assert(this.CurrentToken.Kind == SyntaxKind.EventKeyword); 4928if (explicitInterfaceOpt != null && this.CurrentToken.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken) 4980if (explicitInterfaceOpt != null && this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 5007if (this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 5060if (this.CurrentToken.Kind == SyntaxKind.DotToken) 5076return this.CurrentToken.Kind == SyntaxKind.SemicolonToken; 5141if (this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 5145else if (stopOnCloseParen && this.CurrentToken.Kind == SyntaxKind.CloseParenToken) 5149else if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 5354var currentTokenKind = this.CurrentToken.Kind; 5364currentTokenKind = this.CurrentToken.Kind; 5415switch (this.CurrentToken.Kind) 5426var refKeyword = isLocalOrField && !isConst && this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 5503if (this.CurrentToken.Kind == SyntaxKind.EqualsToken) 5539Debug.Assert(this.CurrentToken.Kind is SyntaxKind.OpenParenToken or SyntaxKind.LessThanToken); 5547(this.CurrentToken.Kind is SyntaxKind.OpenBraceToken or SyntaxKind.EqualsGreaterThanToken || 5548this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword)) 5558switch (this.CurrentToken.Kind) 5570return this.CurrentToken.Kind == SyntaxKind.OpenBraceToken 5577return this.CurrentToken.Kind == SyntaxKind.OpenBraceToken || this.IsPossibleExpression(); 5596Debug.Assert(this.CurrentToken.Kind == SyntaxKind.DelegateKeyword); 5607if (this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword) 5629Debug.Assert(this.CurrentToken.Kind == SyntaxKind.EnumKeyword); 5644if (this.CurrentToken.Kind == SyntaxKind.ColonToken) 5660if (CurrentToken.Kind == SyntaxKind.SemicolonToken) 5721if (this.CurrentToken.Kind == SyntaxKind.EqualsToken) 5726this.CurrentToken.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBraceToken 5736return this.CurrentToken.Kind == SyntaxKind.OpenBracketToken || this.IsTrueIdentifier(); 5741return this.CurrentToken.Kind is SyntaxKind.DotToken or SyntaxKind.ColonColonToken; 5780if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 5820var ctk = this.CurrentToken.Kind; 5832result = this.AddError(result, ErrorCode.ERR_InvalidExprTerm, this.CurrentToken.Text); 5858if (this.CurrentToken.ContextualKind == SyntaxKind.PartialKeyword) 5871return CurrentToken.ContextualKind == SyntaxKind.FieldKeyword && 5878if (this.CurrentToken.Kind != SyntaxKind.LessThanToken) 5920if (this.CurrentToken.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken) 5924if (this.CurrentToken.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword) 5941if (this.CurrentToken.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken) 5951this.CurrentToken.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword ? EatToken() : null, 5968if (this.CurrentToken.Kind == SyntaxKind.LessThanToken) 5978Debug.Assert(this.CurrentToken.Kind == SyntaxKind.LessThanToken); 6003if (this.CurrentToken.Kind != SyntaxKind.LessThanToken) 6053switch (this.CurrentToken.Kind) 6135Debug.Assert(this.CurrentToken.Kind == SyntaxKind.LessThanToken); 6145while (this.CurrentToken.Kind == SyntaxKind.CommaToken) 6162if (this.CurrentToken.Kind == SyntaxKind.OpenBracketToken) 6168if (this.CurrentToken.Kind == SyntaxKind.GreaterThanToken) 6177if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 6212isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.CurrentToken.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken; 6239isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.CurrentToken.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken; 6261isDefinitelyTypeArgumentList = this.CurrentToken.Kind == SyntaxKind.CommaToken; 6279while (this.CurrentToken.Kind == SyntaxKind.CommaToken); 6281if (this.CurrentToken.Kind != SyntaxKind.GreaterThanToken) 6287if (this.CurrentToken.Kind is SyntaxKind.IdentifierToken) 6296if (lastScannedType is ScanTypeFlags.TupleType && this.CurrentToken.Kind is SyntaxKind.OpenParenToken) 6309isDefinitelyTypeArgumentList = isDefinitelyTypeArgumentList || this.CurrentToken.Kind is SyntaxKind.CloseParenToken; 6321Debug.Assert(this.CurrentToken.Kind == SyntaxKind.LessThanToken); 6331while (this.CurrentToken.Kind == SyntaxKind.CommaToken) 6348if (this.CurrentToken.Kind == SyntaxKind.GreaterThanToken) 6355if (tokenBreaksTypeArgumentList(this.CurrentToken)) 6364if (this.CurrentToken.Kind is SyntaxKind.IdentifierToken && tokenBreaksTypeArgumentList(this.PeekToken(1))) 6373if (this.CurrentToken.Kind is SyntaxKind.IdentifierToken 6379if (this.CurrentToken.Kind == SyntaxKind.CommaToken || this.IsPossibleType()) 6458if (this.CurrentToken.Kind == SyntaxKind.OpenBracketToken && this.PeekToken(1).Kind != SyntaxKind.CloseBracketToken) 6474var varianceToken = this.CurrentToken.Kind is SyntaxKind.InKeyword or SyntaxKind.OutKeyword 6501this.CurrentToken.Kind is not SyntaxKind.CommaToken and not SyntaxKind.GreaterThanToken && 6523=> this.CurrentToken.Kind == SyntaxKind.GreaterThanToken; 6527Debug.Assert(this.CurrentToken.Kind == SyntaxKind.LessThanToken); 6565if (this.CurrentToken.Kind == SyntaxKind.ThisKeyword) 6616if (isEvent && this.CurrentToken.Kind is not SyntaxKind.OpenBraceToken and not SyntaxKind.SemicolonToken) 6687separator = this.CurrentToken.Kind == SyntaxKind.ColonColonToken 6700if (this.CurrentToken.Kind == SyntaxKind.ColonColonToken) 6729if (this.CurrentToken.Kind != SyntaxKind.IdentifierToken) 6805return this.CurrentToken.Kind == SyntaxKind.ColonColonToken 6935var tk = this.CurrentToken.Kind; 6956if (this.CurrentToken.Kind != SyntaxKind.IdentifierToken || !this.IsTrueIdentifier()) 6963if (this.CurrentToken.Kind == SyntaxKind.LessThanToken) 6978if (this.CurrentToken.Kind == SyntaxKind.RefKeyword) 6983if (this.CurrentToken.Kind == SyntaxKind.ReadOnlyKeyword) 6990if (this.CurrentToken.Kind is SyntaxKind.IdentifierToken or SyntaxKind.ColonColonToken) 6993if (this.CurrentToken.Kind is SyntaxKind.ColonColonToken) 7007Debug.Assert(this.CurrentToken.Kind is SyntaxKind.IdentifierToken); 7047else if (IsPredefinedType(this.CurrentToken.Kind)) 7053else if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 7058if (result == ScanTypeFlags.NotType || mode == ParseTypeMode.DefinitePattern && this.CurrentToken.Kind != SyntaxKind.OpenBracketToken) 7078switch (this.CurrentToken.Kind) 7119while (this.CurrentToken.Kind == SyntaxKind.CommaToken) 7124if (this.CurrentToken.Kind != SyntaxKind.CloseBracketToken) 7157if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 7175while (this.CurrentToken.Kind == SyntaxKind.CommaToken); 7177if (this.CurrentToken.Kind == SyntaxKind.CloseParenToken) 7199if (CurrentToken.Kind == SyntaxKind.IdentifierToken) 7202switch (CurrentToken) 7217if (CurrentToken.Kind == SyntaxKind.OpenBracketToken) 7234Debug.Assert(CurrentToken.Kind == SyntaxKind.CommaToken); 7247if (!IsPossibleFunctionPointerParameterListStart(CurrentToken)) 7287if (!validStartingToken && CurrentToken.Kind == SyntaxKind.CloseParenToken) 7301isNotExpectedFunction: static p => p.CurrentToken.Kind != SyntaxKind.CommaToken, 7322if (this.CurrentToken.Kind == SyntaxKind.VoidKeyword && this.PeekToken(1).Kind != SyntaxKind.AsteriskToken) 7347if (this.CurrentToken.Kind == SyntaxKind.RefKeyword) 7351this.CurrentToken.Kind == SyntaxKind.ReadOnlyKeyword ? this.EatToken() : null, 7395switch (this.CurrentToken.Kind) 7443while (this.CurrentToken.Kind == SyntaxKind.OpenBracketToken); 7464Debug.Assert(this.CurrentToken.Kind == SyntaxKind.QuestionToken); 7487if (mode == ParseTypeMode.AfterIs && this.CurrentToken.Kind is SyntaxKind.OpenBracketToken) 7514return this.CurrentToken.Kind != SyntaxKind.ColonToken; 7541if (IsTrueIdentifier(this.CurrentToken)) 7550if (this.CurrentToken.ContextualKind is SyntaxKind.AsyncKeyword or SyntaxKind.AwaitKeyword or SyntaxKind.FromKeyword) 7604if (this.CurrentToken.Kind is SyntaxKind.OpenBracketToken) 7613this.CurrentToken.Kind is SyntaxKind.OpenParenToken or // ctor parameters 7648while (IsMakingProgress(ref lastTokenPosition) && this.CurrentToken.Kind != SyntaxKind.CloseBracketToken) 7650if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 7663if (this.CurrentToken.Kind != SyntaxKind.CloseBracketToken) 7708if (this.CurrentToken.Kind != SyntaxKind.CloseParenToken) 7712while (this.CurrentToken.Kind == SyntaxKind.CommaToken) 7754if (IsPredefinedType(this.CurrentToken.Kind)) 7758if (token.Kind == SyntaxKind.VoidKeyword && this.CurrentToken.Kind != SyntaxKind.AsteriskToken) 7767if (IsTrueIdentifier() || this.CurrentToken.Kind == SyntaxKind.ColonColonToken) 7772if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 7795if (!IsPossibleFunctionPointerParameterListStart(CurrentToken)) 7838Debug.Assert(CurrentToken.Kind == SyntaxKind.CommaToken); 7849lessThanToken.IsMissing && CurrentToken.Kind == SyntaxKind.CloseParenToken 7872if (CurrentToken.Kind == SyntaxKind.IdentifierToken) 7876switch (CurrentToken) 7880managedSpecifier = EatContextualToken(CurrentToken.ContextualKind); 7900if (CurrentToken.Kind == SyntaxKind.OpenBracketToken) 7918Debug.Assert(CurrentToken.Kind == SyntaxKind.CommaToken); 7948=> CurrentToken.Kind == SyntaxKind.DelegateKeyword && PeekToken(1).Kind == SyntaxKind.AsteriskToken; 7959while (this.CurrentToken.Kind == SyntaxKind.AsteriskToken) 7979if (this.CurrentToken.Kind != SyntaxKind.OpenBracketToken) 7993while (this.CurrentToken.Kind == SyntaxKind.OpenBracketToken) 8003var isCollectionExpression = this.CurrentToken.Kind 8016|| IsExpectedBinaryOperator(this.CurrentToken.Kind) 8017|| IsExpectedAssignmentOperator(this.CurrentToken.Kind) 8018|| (this.CurrentToken.ContextualKind is SyntaxKind.SwitchKeyword or SyntaxKind.WithKeyword && this.PeekToken(1).Kind is SyntaxKind.OpenBraceToken); 8022this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 8081switch (this.CurrentToken.Kind) 8177bool beginsWithAwait = this.CurrentToken.ContextualKind == SyntaxKind.AwaitKeyword; 8213if (this.CurrentToken.ContextualKind == SyntaxKind.AwaitKeyword && 8254=> CurrentToken.ContextualKind == SyntaxKind.AwaitKeyword && PeekToken(1).Kind == SyntaxKind.UsingKeyword; 8268return this.CurrentToken.ContextualKind == SyntaxKind.YieldKeyword && 8278var tk = this.CurrentToken.Kind; 8306tk = this.CurrentToken.ContextualKind; 8327bool? typedIdentifier = IsPossibleTypedIdentifierStart(this.CurrentToken, this.PeekToken(1), allowThisKeyword: false); 8348var tk = this.CurrentToken.ContextualKind; 8392if (st == ScanTypeFlags.MustBeType && this.CurrentToken.Kind is not SyntaxKind.DotToken and not SyntaxKind.OpenParenToken) 8397if (st == ScanTypeFlags.NotType || this.CurrentToken.Kind != SyntaxKind.IdentifierToken) 8420if (this.CurrentToken.Kind != SyntaxKind.UsingKeyword) 8486if (this.CurrentToken.Kind is SyntaxKind.OpenBraceToken) 8507if (this.CurrentToken.Kind != SyntaxKind.IdentifierToken) 8514if (this.CurrentToken.Kind == SyntaxKind.EqualsToken) 8523return this.CurrentToken.Kind is SyntaxKind.CommaToken or SyntaxKind.SemicolonToken; 8541if (this.CurrentToken.Kind == SyntaxKind.OpenBraceToken || this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword) 8548if (this.CurrentToken.Kind == SyntaxKind.ColonToken) 8632Debug.Assert(this.CurrentToken.Kind == SyntaxKind.NewKeyword); 8777CSharpSyntaxNode openBrace = isAccessorBody && this.CurrentToken.Kind != SyntaxKind.OpenBraceToken 8858while (this.CurrentToken.Kind is not SyntaxKind.CloseBraceToken and not SyntaxKind.EndOfFileToken 8890return this.CurrentToken.Kind == SyntaxKind.SemicolonToken 8902static (p, _) => p.CurrentToken.Kind == SyntaxKind.CloseBraceToken, 8910var tk = this.CurrentToken.Kind; 8974return this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken or SyntaxKind.SemicolonToken; 9037Debug.Assert(this.CurrentToken.Kind is SyntaxKind.TryKeyword or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword); 9050Debug.Assert(this.CurrentToken.Kind is SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword); 9064if (this.CurrentToken.Kind == SyntaxKind.CatchKeyword) 9067while (this.CurrentToken.Kind == SyntaxKind.CatchKeyword) 9073if (this.CurrentToken.Kind == SyntaxKind.FinallyKeyword) 9108return this.CurrentToken.Kind is SyntaxKind.CloseBraceToken or SyntaxKind.CatchKeyword or SyntaxKind.FinallyKeyword; 9113Debug.Assert(this.CurrentToken.Kind == SyntaxKind.CatchKeyword); 9120if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 9140var keywordKind = this.CurrentToken.ContextualKind; 9172return this.CurrentToken.Kind is SyntaxKind.CloseParenToken 9181return this.CurrentToken.Kind is SyntaxKind.CloseParenToken 9189return this.CurrentToken.Kind is SyntaxKind.CloseBraceToken 9196Debug.Assert(this.CurrentToken.Kind is SyntaxKind.CheckedKeyword or SyntaxKind.UncheckedKeyword); 9213Debug.Assert(this.CurrentToken.Kind == SyntaxKind.DoKeyword); 9237return this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken; 9254Debug.Assert(this.CurrentToken.Kind == SyntaxKind.ForKeyword); 9275Debug.Assert(this.CurrentToken.Kind == SyntaxKind.ForKeyword); 9285var condition = this.CurrentToken.Kind is not SyntaxKind.SemicolonToken and not SyntaxKind.CommaToken 9294var incrementors = this.CurrentToken.Kind != SyntaxKind.CloseParenToken 9323if (this.CurrentToken.ContextualKind == SyntaxKind.ScopedKeyword) 9332isDeclaration = ScanType() != ScanTypeFlags.NotType && this.CurrentToken.Kind == SyntaxKind.IdentifierToken; 9336else if (this.CurrentToken.Kind == SyntaxKind.RefKeyword) 9353else if (this.CurrentToken.Kind != SyntaxKind.SemicolonToken) 9368=> this.CurrentToken.Kind is SyntaxKind.CommaToken 9376while (this.CurrentToken.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CommaToken) 9400if (@this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken) 9412return this.CurrentToken.Kind is SyntaxKind.SemicolonToken or SyntaxKind.CloseParenToken or SyntaxKind.OpenBraceToken; 9419Debug.Assert(this.CurrentToken.Kind == SyntaxKind.ForEachKeyword || this.CurrentToken.Kind == SyntaxKind.ForKeyword); 9430if (this.CurrentToken.Kind == SyntaxKind.ForKeyword) 9524if (this.IsInAsync && this.CurrentToken.ContextualKind == SyntaxKind.AwaitKeyword) 9532if (this.CurrentToken.ContextualKind == SyntaxKind.ScopedKeyword) 9535if (ScanType() != ScanTypeFlags.NotType && this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 9582return this.CurrentToken.Kind == SyntaxKind.CommaToken; 9584return this.CurrentToken.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseParenToken; 9597if (!this.CurrentToken.IsIdentifierVar()) 9636Debug.Assert(this.CurrentToken.Kind == SyntaxKind.GotoKeyword); 9644if (this.CurrentToken.Kind is SyntaxKind.CaseKeyword or SyntaxKind.DefaultKeyword) 9669Debug.Assert(this.CurrentToken.Kind == SyntaxKind.IfKeyword); 9682var elseKeyword = this.CurrentToken.Kind != SyntaxKind.ElseKeyword ? 9693if (this.CurrentToken.Kind != SyntaxKind.IfKeyword) 9734Debug.Assert(this.CurrentToken.Kind == SyntaxKind.ElseKeyword); 9748return this.CurrentToken.Kind != SyntaxKind.ElseKeyword 9757Debug.Assert(this.CurrentToken.Kind == SyntaxKind.LockKeyword); 9769Debug.Assert(this.CurrentToken.Kind == SyntaxKind.ReturnKeyword); 9773this.CurrentToken.Kind != SyntaxKind.SemicolonToken ? this.ParsePossibleRefExpression() : null, 9779Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.YieldKeyword); 9786if (this.CurrentToken.Kind == SyntaxKind.BreakKeyword) 9795if (this.CurrentToken.Kind == SyntaxKind.SemicolonToken) 9816Debug.Assert(this.CurrentToken.Kind is SyntaxKind.SwitchKeyword or SyntaxKind.CaseKeyword); 9841if (this.CurrentToken.Kind is SyntaxKind.CaseKeyword) 9886return this.CurrentToken.Kind == SyntaxKind.CaseKeyword || 9887(this.CurrentToken.Kind == SyntaxKind.DefaultKeyword && this.PeekToken(1).Kind != SyntaxKind.OpenParenToken); 9901if (this.CurrentToken.Kind == SyntaxKind.CaseKeyword) 9905if (this.CurrentToken.Kind == SyntaxKind.ColonToken) 9917if (this.CurrentToken.ContextualKind == SyntaxKind.WhenKeyword && node is ExpressionSyntax ex) 9942Debug.Assert(this.CurrentToken.Kind == SyntaxKind.DefaultKeyword); 9964Debug.Assert(this.CurrentToken.Kind == SyntaxKind.ThrowKeyword); 9968this.CurrentToken.Kind != SyntaxKind.SemicolonToken ? this.ParseExpressionCore() : null, 9974Debug.Assert(this.CurrentToken.Kind == SyntaxKind.UnsafeKeyword); 10042if (this.CurrentToken.Kind != SyntaxKind.IdentifierToken) 10069if (this.CurrentToken.Kind == SyntaxKind.ColonToken && 10101bool condition1 = st == ScanTypeFlags.MustBeType && this.CurrentToken.Kind != SyntaxKind.DotToken; 10102bool condition2 = st != ScanTypeFlags.NotType && this.CurrentToken.Kind == SyntaxKind.IdentifierToken; 10110Debug.Assert(this.CurrentToken.Kind == SyntaxKind.WhileKeyword); 10145else if (this.CurrentToken.Kind == SyntaxKind.UsingKeyword) 10241if (this.CurrentToken.ContextualKind != SyntaxKind.ScopedKeyword) 10253if (this.CurrentToken.Kind is (SyntaxKind.RefKeyword or SyntaxKind.OutKeyword or SyntaxKind.InKeyword)) 10282return this.CurrentToken.Kind is SyntaxKind.CommaToken or SyntaxKind.GreaterThanToken; 10284else if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 10300if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 10308done = (this.CurrentToken.Kind == SyntaxKind.CloseParenToken); 10321if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 10351return CurrentToken.ContextualKind == SyntaxKind.UnderscoreToken 10358if (this.CurrentToken.ContextualKind != SyntaxKind.WhenKeyword) 10442switch (this.CurrentToken.Kind) 10455while (IsDeclarationModifier(k = this.CurrentToken.ContextualKind) || IsAdditionalLocalFunctionModifier(k)) 10494Debug.Assert(this.CurrentToken.Kind == SyntaxKind.IdentifierToken); 10500if (IsDeclarationModifier(this.CurrentToken.Kind) || 10501IsAdditionalLocalFunctionModifier(this.CurrentToken.Kind)) 10508if (ScanType() != ScanTypeFlags.NotType && this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 10516while (IsAdditionalLocalFunctionModifier(this.CurrentToken.ContextualKind)); 10657if (this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword) 10700if (IsScript && this.CurrentToken.Kind == SyntaxKind.EndOfFileToken) 10744SyntaxKind tk = this.CurrentToken.Kind; 10790return this.IsTrueIdentifier() || this.CurrentToken.ContextualKind == SyntaxKind.FromKeyword; 11026return (this.IsScript || this.IsInAsync) && this.CurrentToken.ContextualKind == SyntaxKind.AwaitKeyword; 11031if (this.CurrentToken.ContextualKind == SyntaxKind.AwaitKeyword) 11109var tk = this.CurrentToken.Kind; 11151if (this.CurrentToken.ContextualKind == SyntaxKind.FromKeyword && IsInQuery) 11158this.AddError(this.EatToken(), ErrorCode.ERR_InvalidExprTerm, this.CurrentToken.Text)); 11205if (this.CurrentToken.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional) 11303if (this.CurrentToken.Kind != SyntaxKind.ColonToken && 11318if (this.CurrentToken.Kind == SyntaxKind.ColonToken) 11330if (this.CurrentToken.Kind == SyntaxKind.EndOfFileToken && this.lexer.InterpolationFollowedByColon) 11389var token1 = this.CurrentToken; 11491if (operatorExpressionKind == SyntaxKind.SimpleAssignmentExpression && CurrentToken.Kind == SyntaxKind.RefKeyword && 11511if (this.CurrentToken.Kind != SyntaxKind.DotToken) 11515return nextToken.Kind == SyntaxKind.DotToken && NoTriviaBetween(this.CurrentToken, nextToken); 11533if (this.CurrentToken is { Kind: SyntaxKind.DotToken } token3 && 11603var tk = this.CurrentToken.Kind; 11639return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.CurrentToken.Text); 11668return this.AddError(this.CreateMissingIdentifierName(), ErrorCode.ERR_InvalidExprTerm, this.CurrentToken.Text); 11735if (this.CurrentToken.Kind != SyntaxKind.DotToken || tk == SyntaxKind.VoidKeyword) 11770switch (this.CurrentToken.Kind) 11782expr = _syntaxFactory.PostfixUnaryExpression(SyntaxFacts.GetPostfixUnaryExpression(this.CurrentToken.Kind), expr, this.EatToken()); 11817if (this.CurrentToken.TrailingTrivia.Any((int)SyntaxKind.EndOfLineTrivia) && 11851Debug.Assert(this.CurrentToken.Kind == SyntaxKind.BaseKeyword); 11865if (precedence > Precedence.Assignment || !(this.CurrentToken.IsIdentifierVar() || IsPredefinedType(this.CurrentToken.Kind))) 11874this.CurrentToken.Kind == SyntaxKind.OpenParenToken && ScanDesignator() && 11875this.CurrentToken.Kind == SyntaxKind.EqualsToken; 11880switch (this.CurrentToken.Kind) 11899switch (this.CurrentToken.Kind) 11973if (this.CurrentToken.Kind == SyntaxKind.QuestionToken) 12012return this.CurrentToken.Kind != SyntaxKind.ColonToken; 12025while (this.CurrentToken.Kind == SyntaxKind.ExclamationToken) 12061=> this.CurrentToken.Kind switch 12120openToken = this.CurrentToken.Kind is SyntaxKind.OpenParenToken or SyntaxKind.OpenBracketToken 12127if (this.CurrentToken.Kind != closeKind && this.CurrentToken.Kind != SyntaxKind.SemicolonToken) 12155else if (isIndexer && this.CurrentToken.Kind == closeKind) 12171closeToken = this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken 12180if (@this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken or SyntaxKind.SemicolonToken) 12192return this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.CloseBracketToken; 12197return IsValidArgumentRefKindKeyword(this.CurrentToken.Kind) || this.IsPossibleExpression(); 12215var nameColon = this.CurrentToken.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.ColonToken 12222if (IsValidArgumentRefKindKeyword(this.CurrentToken.Kind) && 12224!(this.CurrentToken.Kind == SyntaxKind.RefKeyword && 12232if (isIndexer && this.CurrentToken.Kind is SyntaxKind.CommaToken or SyntaxKind.CloseBracketToken) 12236else if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 12268if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 12346Debug.Assert(CurrentToken.Kind == SyntaxKind.OpenParenToken); 12377Debug.Assert(CurrentToken.Kind == SyntaxKind.OpenParenToken); 12403if (IsParameterModifierIncludingScoped(this.CurrentToken)) 12429if (this.CurrentToken.Kind == SyntaxKind.OpenBracketToken) 12437switch (this.CurrentToken.Kind) 12453Debug.Assert(this.CurrentToken.Kind == SyntaxKind.OpenParenToken); 12481if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 12489if (expression.Kind == SyntaxKind.IdentifierName && this.CurrentToken.Kind == SyntaxKind.ColonToken) 12510while (this.CurrentToken.Kind == SyntaxKind.CommaToken) 12515var argument = expression.Kind != SyntaxKind.IdentifierName || this.CurrentToken.Kind != SyntaxKind.ColonToken 12541if (this.CurrentToken.Kind != SyntaxKind.OpenParenToken) 12554if (this.CurrentToken.Kind != SyntaxKind.CloseParenToken) 12561if (forPattern && this.CurrentToken.Kind == SyntaxKind.IdentifierToken) 12583return !forPattern || this.CurrentToken.Kind switch 12608return this.CurrentToken.Kind == SyntaxKind.OpenBracketToken || CanFollowCast(this.CurrentToken.Kind); 12614if (this.CurrentToken.Kind == SyntaxKind.OpenBracketToken && 12623return CanFollowCast(this.CurrentToken.Kind); 12654return this.CurrentToken.ContextualKind is SyntaxKind.OrKeyword or SyntaxKind.AndKeyword; 12683if (CurrentToken.Kind == SyntaxKind.OpenBracketToken) 12699if (this.CurrentToken.Kind == SyntaxKind.StaticKeyword) 12704else if (this.CurrentToken.ContextualKind == SyntaxKind.AsyncKeyword && 12718if (this.CurrentToken.Kind == SyntaxKind.EqualsGreaterThanToken) 12728if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 12736if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken && 12747if (this.CurrentToken.ContextualKind == SyntaxKind.AsyncKeyword && 12756if (st == ScanTypeFlags.NotType || this.CurrentToken.Kind != SyntaxKind.OpenParenToken) 12773if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken && 12781if (this.CurrentToken.Kind != SyntaxKind.OpenParenToken) 12853Debug.Assert(this.CurrentToken.Kind == SyntaxKind.NewKeyword); 12872Debug.Assert(this.CurrentToken.Kind == SyntaxKind.OpenBracketToken); 12913return this.CurrentToken.Kind == SyntaxKind.NewKeyword && this.PeekToken(1).Kind == SyntaxKind.OpenBraceToken; 12921Debug.Assert(this.CurrentToken.Kind == SyntaxKind.OpenBraceToken); 12958return this.CurrentToken.Kind == SyntaxKind.OpenBraceToken; 12968return this.CurrentToken.Kind == SyntaxKind.OpenBracketToken; 12984if (this.CurrentToken.Kind == SyntaxKind.OpenBraceToken) 12994if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 12999if (this.CurrentToken.Kind == SyntaxKind.OpenBraceToken) 13021if (this.CurrentToken.Kind != SyntaxKind.OpenParenToken) 13032switch (this.CurrentToken.Kind) 13162this.CurrentToken.Kind == SyntaxKind.OpenBraceToken 13173this.CurrentToken.Kind == SyntaxKind.OpenBraceToken 13201Debug.Assert(this.CurrentToken.Kind is SyntaxKind.NewKeyword or SyntaxKind.StackAllocKeyword); 13228if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 13295if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 13317this.CurrentToken.Kind == SyntaxKind.OpenBraceToken ? this.ParseArrayInitializer() : null); 13345if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 13358if (this.CurrentToken.Kind != SyntaxKind.OpenBraceToken) 13389if (this.CurrentToken.Kind == SyntaxKind.StaticKeyword) 13395if (this.CurrentToken.ContextualKind == SyntaxKind.AsyncKeyword && 13410Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.AsyncKeyword); 13435if (this.CurrentToken.Kind == SyntaxKind.ColonToken && 13472if (CurrentToken.Kind != SyntaxKind.OpenParenToken) 13479if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 13492var identifier = (this.CurrentToken.Kind != SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.EqualsGreaterThanToken) 13509=> CurrentToken.Kind == SyntaxKind.OpenBraceToken 13548switch (this.CurrentToken.Kind) 13566return IsPredefinedType(this.CurrentToken.Kind); 13577if (IsParameterModifierIncludingScoped(this.CurrentToken)) 13604if (IsPredefinedType(this.CurrentToken.Kind)) 13610if (this.CurrentToken.Kind == SyntaxKind.OpenParenToken) 13620if (this.IsTrueIdentifier(this.CurrentToken)) 13647=> IsTokenQueryContextualKeyword(this.CurrentToken); 13689return this.CurrentToken.ContextualKind == SyntaxKind.FromKeyword && 13742return this.ScanType() != ScanTypeFlags.NotType && this.CurrentToken.Kind is SyntaxKind.IdentifierToken or SyntaxKind.InKeyword; 13767switch (this.CurrentToken.ContextualKind) 13791SelectOrGroupClauseSyntax selectOrGroupBy = this.CurrentToken.ContextualKind switch 13803this.CurrentToken.ContextualKind == SyntaxKind.IntoKeyword 13810Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.FromKeyword); 13819(this.CurrentToken.Kind != SyntaxKind.IdentifierToken || SyntaxFacts.IsQueryContextualKeyword(this.CurrentToken.ContextualKind))) 13843Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.JoinKeyword); 13856into: this.CurrentToken.ContextualKind == SyntaxKind.IntoKeyword 13863Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.LetKeyword); 13873Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.WhereKeyword); 13881Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.OrderByKeyword); 13889while (this.CurrentToken.Kind == SyntaxKind.CommaToken) 13891if (this.CurrentToken.Kind is SyntaxKind.CloseParenToken or SyntaxKind.SemicolonToken) 13895else if (this.CurrentToken.Kind == SyntaxKind.CommaToken) 13930if (this.CurrentToken.ContextualKind is SyntaxKind.AscendingKeyword or SyntaxKind.DescendingKeyword) 13944Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.SelectKeyword); 13952Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.GroupKeyword); 13962Debug.Assert(this.CurrentToken.ContextualKind == SyntaxKind.IntoKeyword); 14093if (requireOneElement || this.CurrentToken.Kind != closeTokenKind) 14110if (this.CurrentToken.Kind == closeTokenKind) 14116nodes.AddSeparator(this.CurrentToken.Kind == SyntaxKind.SemicolonToken 14123if (this.CurrentToken.Kind == closeTokenKind) 14158if (this.CurrentToken.Kind == separatorTokenKind) 14163if (allowSemicolonAsSeparator && this.CurrentToken.Kind is SyntaxKind.SemicolonToken) 14252if (this.CurrentToken.Kind == SyntaxKind.EndOfFileToken) return node; 14254while (this.CurrentToken.Kind != SyntaxKind.EndOfFileToken)
Parser\LanguageParser_InterpolatedString.cs (3)
40Debug.Assert(this.CurrentToken.Kind == SyntaxKind.InterpolatedStringToken); 410if (this.CurrentToken.Kind != SyntaxKind.CommaToken) 423var leading = this.CurrentToken.GetLeadingTrivia();
Parser\LanguageParser_Patterns.cs (29)
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) 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, reportError: true); 541var ct = this.CurrentToken; 548var replacement = CreateMissingToken(expected, this.CurrentToken.Kind, reportError: true); 584if (this.CurrentToken.Kind != kind) 598if (this.CurrentToken.Kind != kind) 610var token = this.CurrentToken; 632if (this.CurrentToken.ContextualKind != kind) 646var contextualKind = this.CurrentToken.ContextualKind; 736SyntaxToken ct = this.CurrentToken;