79 references to Precedence
Microsoft.CodeAnalysis.CSharp (79)
Parser\LanguageParser.cs (64)
4211var refKeyword = this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 5396var refKeyword = isLocalOrField && !isConst && this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 9486: this.ParseSubExpression(Precedence.Expression); 9898ParseWhenClause(Precedence.Expression), 10326private WhenClauseSyntax ParseWhenClause(Precedence precedence) 10693return this.ParseSubExpression(Precedence.Expression); 10756return IsPossibleAnonymousMethodExpression() || IsPossibleLambdaExpression(Precedence.Expression); 10847private static Precedence GetPrecedence(SyntaxKind op) 10852return Precedence.Expression; 10856return Precedence.Lambda; 10870return Precedence.Assignment; 10873return Precedence.Coalescing; 10875return Precedence.ConditionalOr; 10877return Precedence.ConditionalAnd; 10879return Precedence.LogicalOr; 10881return Precedence.LogicalXor; 10883return Precedence.LogicalAnd; 10886return Precedence.Equality; 10894return Precedence.Relational; 10897return Precedence.Switch; 10901return Precedence.Shift; 10904return Precedence.Additive; 10908return Precedence.Multiplicative; 10924return Precedence.Unary; 10926return Precedence.Cast; 10928return Precedence.PointerIndirection; 10930return Precedence.AddressOf; 10932return Precedence.Range; 10934return Precedence.Expression; 10973return Precedence.Primary; 11055private ExpressionSyntax ParseSubExpression(Precedence precedence) 11070private ExpressionSyntax ParseSubExpressionCore(Precedence precedence) 11086ExpressionSyntax parseUnaryOrPrimaryExpression(Precedence precedence) 11107? this.ParseSubExpression(Precedence.Range) 11135return precedence <= Precedence.Coalescing 11155private ExpressionSyntax ParseExpressionContinued(ExpressionSyntax unaryOrPrimaryExpression, Precedence precedence) 11175if (this.CurrentToken.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional) 11180ExpressionSyntax? tryExpandExpression(ExpressionSyntax leftOperand, Precedence precedence) 11191var newPrecedence = GetPrecedence(operatorExpressionKind); 11246? this.ParseSubExpression(Precedence.Range) 11457Debug.Assert(GetPrecedence(operatorExpressionKind) == Precedence.Assignment); 11463!this.IsPossibleLambdaExpression(Precedence.Assignment)) 11471rhs = this.ParseSubExpression(Precedence.Assignment); 11542this.ParseSubExpression(Precedence.Coalescing)); 11556private ExpressionSyntax ParsePrimaryExpression(Precedence precedence) 11565ExpressionSyntax parsePrimaryExpressionWithoutPostfix(Precedence precedence) 11827private bool IsPossibleDeconstructionLeft(Precedence precedence) 11829if (precedence > Precedence.Assignment || !(this.CurrentToken.IsIdentifierVar() || IsPredefinedType(this.CurrentToken.Kind))) 12189this.IsPossibleLambdaExpression(Precedence.Expression))) 12214: ParseSubExpression(Precedence.Expression); 12260this.ParseSubExpression(Precedence.Expression), 12269this.ParseSubExpression(Precedence.Expression), 12283this.ParseSubExpression(Precedence.Expression), 12292this.ParseSubExpression(Precedence.Expression), 12298private bool ScanParenthesizedLambda(Precedence precedence) 12308private bool ScanImplicitlyTypedLambdaOrSimpleExplicitlyTypedParenthesizedLambda(Precedence precedence) 12312if (precedence > Precedence.Lambda) 12339private bool ScanExplicitlyTypedLambda(Precedence precedence) 12343if (precedence > Precedence.Lambda) 12435this.ParseSubExpression(Precedence.Cast)); 12627private bool IsPossibleLambdaExpression(Precedence precedence) 12629if (precedence > Precedence.Lambda) 13709private QueryExpressionSyntax ParseQueryExpression(Precedence precedence) 13714if (precedence > 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) 172private PatternSyntax ParsePrimaryPattern(Precedence precedence, bool afterIs, bool inSwitchArmPattern) 209Debug.Assert(precedence < Precedence.Shift); 212this.ParseSubExpression(Precedence.Relational)); 242bool CanTokenFollowTypeInPattern(Precedence precedence) 269private PatternSyntax? ParsePatternContinued(TypeSyntax? type, Precedence precedence, bool inSwitchArmPattern) 438var pattern = ParsePattern(Precedence.Conditional, inSwitchArmPattern: true); 507PatternSyntax pattern = ParsePattern(Precedence.Conditional); 516pattern = ParsePattern(Precedence.Conditional); 596var pattern = ParsePattern(Precedence.Coalescing, inSwitchArmPattern: true); 606ParseWhenClause(Precedence.Coalescing), 642static @this => @this.ParsePattern(Precedence.Conditional),