76 references to Precedence
Microsoft.CodeAnalysis.CSharp (76)
Parser\LanguageParser.cs (61)
4396var refKeyword = this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 5601var refKeyword = isLocalOrField && !isConst && this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 9824: this.ParseSubExpression(Precedence.Expression); 10269ParseWhenClause(Precedence.Expression), 10699private WhenClauseSyntax ParseWhenClause(Precedence precedence) 11059return this.ParseSubExpression(Precedence.Expression); 11122return IsPossibleAnonymousMethodExpression() || IsPossibleLambdaExpression(Precedence.Expression); 11213private static Precedence GetPrecedence(SyntaxKind op) 11218return Precedence.Expression; 11222return Precedence.Lambda; 11236return Precedence.Assignment; 11239return Precedence.Coalescing; 11241return Precedence.ConditionalOr; 11243return Precedence.ConditionalAnd; 11245return Precedence.LogicalOr; 11247return Precedence.LogicalXor; 11249return Precedence.LogicalAnd; 11252return Precedence.Equality; 11260return Precedence.Relational; 11263return Precedence.Switch; 11267return Precedence.Shift; 11270return Precedence.Additive; 11274return Precedence.Multiplicative; 11290return Precedence.Unary; 11292return Precedence.Cast; 11294return Precedence.PointerIndirection; 11296return Precedence.AddressOf; 11298return Precedence.Range; 11300return Precedence.Expression; 11339return Precedence.Primary; 11421private ExpressionSyntax ParseSubExpression(Precedence precedence) 11436private ExpressionSyntax ParseSubExpressionCore(Precedence precedence) 11452ExpressionSyntax parseUnaryOrPrimaryExpression(Precedence precedence) 11473? this.ParseSubExpression(Precedence.Range) 11501return precedence <= Precedence.Coalescing 11521private ExpressionSyntax ParseExpressionContinued(ExpressionSyntax unaryOrPrimaryExpression, Precedence precedence) 11541if (this.CurrentToken.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional) 11546ExpressionSyntax? tryExpandExpression(ExpressionSyntax leftOperand, Precedence precedence) 11557var newPrecedence = GetPrecedence(operatorExpressionKind); 11612? this.ParseSubExpression(Precedence.Range) 11826Debug.Assert(GetPrecedence(operatorExpressionKind) == Precedence.Assignment); 11832!this.IsPossibleLambdaExpression(Precedence.Assignment)) 11840rhs = this.ParseSubExpression(Precedence.Assignment); 11917this.ParseSubExpression(Precedence.Coalescing)); 11931private ExpressionSyntax ParsePrimaryExpression(Precedence precedence) 11940ExpressionSyntax parsePrimaryExpressionWithoutPostfix(Precedence precedence) 12218private bool IsPossibleDeconstructionLeft(Precedence precedence) 12220if (precedence > Precedence.Assignment || !(this.CurrentToken.IsIdentifierVar() || IsPredefinedType(this.CurrentToken.Kind))) 12580this.IsPossibleLambdaExpression(Precedence.Expression))) 12605: ParseSubExpression(Precedence.Expression); 12683this.ParseSubExpression(Precedence.Expression), 12689private bool ScanParenthesizedLambda(Precedence precedence) 12699private bool ScanImplicitlyTypedLambdaOrSimpleExplicitlyTypedParenthesizedLambda(Precedence precedence) 12703if (precedence > Precedence.Lambda) 12730private bool ScanExplicitlyTypedLambda(Precedence precedence) 12734if (precedence > Precedence.Lambda) 12826this.ParseSubExpression(Precedence.Cast)); 13032private bool IsPossibleLambdaExpression(Precedence precedence) 13034if (precedence > Precedence.Lambda) 14114private QueryExpressionSyntax ParseQueryExpression(Precedence precedence) 14120precedence <= Precedence.Assignment
Parser\LanguageParser_Patterns.cs (15)
53private PatternSyntax ParsePattern(Precedence precedence, bool afterIs = false, bool inSwitchArmPattern = false) 58private PatternSyntax ParseDisjunctivePattern(Precedence precedence, bool afterIs, bool inSwitchArmPattern) 104private PatternSyntax ParseConjunctivePattern(Precedence precedence, bool afterIs, bool inSwitchArmPattern) 158private PatternSyntax ParseNegatedPattern(Precedence precedence, bool afterIs, bool inSwitchArmPattern) 187private PatternSyntax ParsePrimaryPattern(Precedence precedence, bool afterIs, bool inSwitchArmPattern) 224Debug.Assert(precedence < Precedence.Shift); 227this.ParseSubExpression(Precedence.Relational)); 257bool CanTokenFollowTypeInPattern(Precedence precedence) 284private PatternSyntax? ParsePatternContinued(TypeSyntax? type, Precedence precedence, bool inSwitchArmPattern) 463var pattern = ParsePattern(Precedence.Conditional, inSwitchArmPattern: true); 532PatternSyntax pattern = ParsePattern(Precedence.Conditional); 541pattern = ParsePattern(Precedence.Conditional); 621var pattern = ParsePattern(Precedence.Coalescing, inSwitchArmPattern: true); 631ParseWhenClause(Precedence.Coalescing), 667static @this => @this.ParsePattern(Precedence.Conditional),