76 references to Precedence
Microsoft.CodeAnalysis.CSharp (76)
Parser\LanguageParser.cs (61)
4409var refKeyword = this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 5614var refKeyword = isLocalOrField && !isConst && this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 9837: this.ParseSubExpression(Precedence.Expression); 10282ParseWhenClause(Precedence.Expression), 10712private WhenClauseSyntax ParseWhenClause(Precedence precedence) 11072return this.ParseSubExpression(Precedence.Expression); 11135return IsPossibleAnonymousMethodExpression() || IsPossibleLambdaExpression(Precedence.Expression); 11226private static Precedence GetPrecedence(SyntaxKind op) 11231return Precedence.Expression; 11235return Precedence.Lambda; 11249return Precedence.Assignment; 11252return Precedence.Coalescing; 11254return Precedence.ConditionalOr; 11256return Precedence.ConditionalAnd; 11258return Precedence.LogicalOr; 11260return Precedence.LogicalXor; 11262return Precedence.LogicalAnd; 11265return Precedence.Equality; 11273return Precedence.Relational; 11276return Precedence.Switch; 11280return Precedence.Shift; 11283return Precedence.Additive; 11287return Precedence.Multiplicative; 11303return Precedence.Unary; 11305return Precedence.Cast; 11307return Precedence.PointerIndirection; 11309return Precedence.AddressOf; 11311return Precedence.Range; 11313return Precedence.Expression; 11352return Precedence.Primary; 11434private ExpressionSyntax ParseSubExpression(Precedence precedence) 11449private ExpressionSyntax ParseSubExpressionCore(Precedence precedence) 11465ExpressionSyntax parseUnaryOrPrimaryExpression(Precedence precedence) 11486? this.ParseSubExpression(Precedence.Range) 11514return precedence <= Precedence.Coalescing 11534private ExpressionSyntax ParseExpressionContinued(ExpressionSyntax unaryOrPrimaryExpression, Precedence precedence) 11554if (this.CurrentToken.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional) 11559ExpressionSyntax? tryExpandExpression(ExpressionSyntax leftOperand, Precedence precedence) 11570var newPrecedence = GetPrecedence(operatorExpressionKind); 11625? this.ParseSubExpression(Precedence.Range) 11839Debug.Assert(GetPrecedence(operatorExpressionKind) == Precedence.Assignment); 11845!this.IsPossibleLambdaExpression(Precedence.Assignment)) 11853rhs = this.ParseSubExpression(Precedence.Assignment); 11930this.ParseSubExpression(Precedence.Coalescing)); 11944private ExpressionSyntax ParsePrimaryExpression(Precedence precedence) 11953ExpressionSyntax parsePrimaryExpressionWithoutPostfix(Precedence precedence) 12231private bool IsPossibleDeconstructionLeft(Precedence precedence) 12233if (precedence > Precedence.Assignment || !(this.CurrentToken.IsIdentifierVar() || IsPredefinedType(this.CurrentToken.Kind))) 12593this.IsPossibleLambdaExpression(Precedence.Expression))) 12618: ParseSubExpression(Precedence.Expression); 12696this.ParseSubExpression(Precedence.Expression), 12702private bool ScanParenthesizedLambda(Precedence precedence) 12712private bool ScanImplicitlyTypedLambdaOrSimpleExplicitlyTypedParenthesizedLambda(Precedence precedence) 12716if (precedence > Precedence.Lambda) 12743private bool ScanExplicitlyTypedLambda(Precedence precedence) 12747if (precedence > Precedence.Lambda) 12839this.ParseSubExpression(Precedence.Cast)); 13045private bool IsPossibleLambdaExpression(Precedence precedence) 13047if (precedence > Precedence.Lambda) 14127private QueryExpressionSyntax ParseQueryExpression(Precedence precedence) 14133precedence <= 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),