79 references to Precedence
Microsoft.CodeAnalysis.CSharp (79)
Parser\LanguageParser.cs (64)
4241var refKeyword = this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 5426var refKeyword = isLocalOrField && !isConst && this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 9516: this.ParseSubExpression(Precedence.Expression); 9928ParseWhenClause(Precedence.Expression), 10356private WhenClauseSyntax ParseWhenClause(Precedence precedence) 10723return this.ParseSubExpression(Precedence.Expression); 10786return IsPossibleAnonymousMethodExpression() || IsPossibleLambdaExpression(Precedence.Expression); 10877private static Precedence GetPrecedence(SyntaxKind op) 10882return Precedence.Expression; 10886return Precedence.Lambda; 10900return Precedence.Assignment; 10903return Precedence.Coalescing; 10905return Precedence.ConditionalOr; 10907return Precedence.ConditionalAnd; 10909return Precedence.LogicalOr; 10911return Precedence.LogicalXor; 10913return Precedence.LogicalAnd; 10916return Precedence.Equality; 10924return Precedence.Relational; 10927return Precedence.Switch; 10931return Precedence.Shift; 10934return Precedence.Additive; 10938return Precedence.Multiplicative; 10954return Precedence.Unary; 10956return Precedence.Cast; 10958return Precedence.PointerIndirection; 10960return Precedence.AddressOf; 10962return Precedence.Range; 10964return Precedence.Expression; 11003return Precedence.Primary; 11085private ExpressionSyntax ParseSubExpression(Precedence precedence) 11100private ExpressionSyntax ParseSubExpressionCore(Precedence precedence) 11116ExpressionSyntax parseUnaryOrPrimaryExpression(Precedence precedence) 11137? this.ParseSubExpression(Precedence.Range) 11165return precedence <= Precedence.Coalescing 11185private ExpressionSyntax ParseExpressionContinued(ExpressionSyntax unaryOrPrimaryExpression, Precedence precedence) 11205if (this.CurrentToken.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional) 11210ExpressionSyntax? tryExpandExpression(ExpressionSyntax leftOperand, Precedence precedence) 11221var newPrecedence = GetPrecedence(operatorExpressionKind); 11276? this.ParseSubExpression(Precedence.Range) 11487Debug.Assert(GetPrecedence(operatorExpressionKind) == Precedence.Assignment); 11493!this.IsPossibleLambdaExpression(Precedence.Assignment)) 11501rhs = this.ParseSubExpression(Precedence.Assignment); 11578this.ParseSubExpression(Precedence.Coalescing)); 11592private ExpressionSyntax ParsePrimaryExpression(Precedence precedence) 11601ExpressionSyntax parsePrimaryExpressionWithoutPostfix(Precedence precedence) 11863private bool IsPossibleDeconstructionLeft(Precedence precedence) 11865if (precedence > Precedence.Assignment || !(this.CurrentToken.IsIdentifierVar() || IsPredefinedType(this.CurrentToken.Kind))) 12225this.IsPossibleLambdaExpression(Precedence.Expression))) 12250: ParseSubExpression(Precedence.Expression); 12296this.ParseSubExpression(Precedence.Expression), 12305this.ParseSubExpression(Precedence.Expression), 12319this.ParseSubExpression(Precedence.Expression), 12328this.ParseSubExpression(Precedence.Expression), 12334private bool ScanParenthesizedLambda(Precedence precedence) 12344private bool ScanImplicitlyTypedLambdaOrSimpleExplicitlyTypedParenthesizedLambda(Precedence precedence) 12348if (precedence > Precedence.Lambda) 12375private bool ScanExplicitlyTypedLambda(Precedence precedence) 12379if (precedence > Precedence.Lambda) 12471this.ParseSubExpression(Precedence.Cast)); 12663private bool IsPossibleLambdaExpression(Precedence precedence) 12665if (precedence > Precedence.Lambda) 13745private QueryExpressionSyntax ParseQueryExpression(Precedence precedence) 13750if (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),