76 references to Precedence
Microsoft.CodeAnalysis.CSharp (76)
Parser\LanguageParser.cs (61)
4442var refKeyword = this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 5647var refKeyword = isLocalOrField && !isConst && this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 9870: this.ParseSubExpression(Precedence.Expression); 10315ParseWhenClause(Precedence.Expression), 10745private WhenClauseSyntax ParseWhenClause(Precedence precedence) 11109return this.ParseSubExpression(Precedence.Expression); 11172return IsPossibleAnonymousMethodExpression() || IsPossibleLambdaExpression(Precedence.Expression); 11263private static Precedence GetPrecedence(SyntaxKind op) 11268return Precedence.Expression; 11272return Precedence.Lambda; 11286return Precedence.Assignment; 11289return Precedence.Coalescing; 11291return Precedence.ConditionalOr; 11293return Precedence.ConditionalAnd; 11295return Precedence.LogicalOr; 11297return Precedence.LogicalXor; 11299return Precedence.LogicalAnd; 11302return Precedence.Equality; 11310return Precedence.Relational; 11313return Precedence.Switch; 11317return Precedence.Shift; 11320return Precedence.Additive; 11324return Precedence.Multiplicative; 11340return Precedence.Unary; 11342return Precedence.Cast; 11344return Precedence.PointerIndirection; 11346return Precedence.AddressOf; 11348return Precedence.Range; 11350return Precedence.Expression; 11389return Precedence.Primary; 11471private ExpressionSyntax ParseSubExpression(Precedence precedence) 11486private ExpressionSyntax ParseSubExpressionCore(Precedence precedence) 11502ExpressionSyntax parseUnaryOrPrimaryExpression(Precedence precedence) 11523? this.ParseSubExpression(Precedence.Range) 11551return precedence <= Precedence.Coalescing 11571private ExpressionSyntax ParseExpressionContinued(ExpressionSyntax unaryOrPrimaryExpression, Precedence precedence) 11591if (this.CurrentToken.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional) 11596ExpressionSyntax? tryExpandExpression(ExpressionSyntax leftOperand, Precedence precedence) 11607var newPrecedence = GetPrecedence(operatorExpressionKind); 11662? this.ParseSubExpression(Precedence.Range) 11876Debug.Assert(GetPrecedence(operatorExpressionKind) == Precedence.Assignment); 11882!this.IsPossibleLambdaExpression(Precedence.Assignment)) 11890rhs = this.ParseSubExpression(Precedence.Assignment); 11967this.ParseSubExpression(Precedence.Coalescing)); 11981private ExpressionSyntax ParsePrimaryExpression(Precedence precedence) 11990ExpressionSyntax parsePrimaryExpressionWithoutPostfix(Precedence precedence) 12268private bool IsPossibleDeconstructionLeft(Precedence precedence) 12270if (precedence > Precedence.Assignment || !(this.CurrentToken.IsIdentifierVar() || IsPredefinedType(this.CurrentToken.Kind))) 12630this.IsPossibleLambdaExpression(Precedence.Expression))) 12655: ParseSubExpression(Precedence.Expression); 12733this.ParseSubExpression(Precedence.Expression), 12739private bool ScanParenthesizedLambda(Precedence precedence) 12749private bool ScanImplicitlyTypedLambdaOrSimpleExplicitlyTypedParenthesizedLambda(Precedence precedence) 12753if (precedence > Precedence.Lambda) 12780private bool ScanExplicitlyTypedLambda(Precedence precedence) 12784if (precedence > Precedence.Lambda) 12876this.ParseSubExpression(Precedence.Cast)); 13082private bool IsPossibleLambdaExpression(Precedence precedence) 13084if (precedence > Precedence.Lambda) 14164private QueryExpressionSyntax ParseQueryExpression(Precedence precedence) 14170precedence <= 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),