76 references to Precedence
Microsoft.CodeAnalysis.CSharp (76)
Parser\LanguageParser.cs (61)
4354var refKeyword = this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 5538var refKeyword = isLocalOrField && !isConst && this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 9767: this.ParseSubExpression(Precedence.Expression); 10212ParseWhenClause(Precedence.Expression), 10640private WhenClauseSyntax ParseWhenClause(Precedence precedence) 11000return this.ParseSubExpression(Precedence.Expression); 11063return IsPossibleAnonymousMethodExpression() || IsPossibleLambdaExpression(Precedence.Expression); 11154private static Precedence GetPrecedence(SyntaxKind op) 11159return Precedence.Expression; 11163return Precedence.Lambda; 11177return Precedence.Assignment; 11180return Precedence.Coalescing; 11182return Precedence.ConditionalOr; 11184return Precedence.ConditionalAnd; 11186return Precedence.LogicalOr; 11188return Precedence.LogicalXor; 11190return Precedence.LogicalAnd; 11193return Precedence.Equality; 11201return Precedence.Relational; 11204return Precedence.Switch; 11208return Precedence.Shift; 11211return Precedence.Additive; 11215return Precedence.Multiplicative; 11231return Precedence.Unary; 11233return Precedence.Cast; 11235return Precedence.PointerIndirection; 11237return Precedence.AddressOf; 11239return Precedence.Range; 11241return Precedence.Expression; 11280return Precedence.Primary; 11362private ExpressionSyntax ParseSubExpression(Precedence precedence) 11377private ExpressionSyntax ParseSubExpressionCore(Precedence precedence) 11393ExpressionSyntax parseUnaryOrPrimaryExpression(Precedence precedence) 11414? this.ParseSubExpression(Precedence.Range) 11442return precedence <= Precedence.Coalescing 11462private ExpressionSyntax ParseExpressionContinued(ExpressionSyntax unaryOrPrimaryExpression, Precedence precedence) 11482if (this.CurrentToken.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional) 11487ExpressionSyntax? tryExpandExpression(ExpressionSyntax leftOperand, Precedence precedence) 11498var newPrecedence = GetPrecedence(operatorExpressionKind); 11553? this.ParseSubExpression(Precedence.Range) 11767Debug.Assert(GetPrecedence(operatorExpressionKind) == Precedence.Assignment); 11773!this.IsPossibleLambdaExpression(Precedence.Assignment)) 11781rhs = this.ParseSubExpression(Precedence.Assignment); 11858this.ParseSubExpression(Precedence.Coalescing)); 11872private ExpressionSyntax ParsePrimaryExpression(Precedence precedence) 11881ExpressionSyntax parsePrimaryExpressionWithoutPostfix(Precedence precedence) 12159private bool IsPossibleDeconstructionLeft(Precedence precedence) 12161if (precedence > Precedence.Assignment || !(this.CurrentToken.IsIdentifierVar() || IsPredefinedType(this.CurrentToken.Kind))) 12521this.IsPossibleLambdaExpression(Precedence.Expression))) 12546: ParseSubExpression(Precedence.Expression); 12624this.ParseSubExpression(Precedence.Expression), 12630private bool ScanParenthesizedLambda(Precedence precedence) 12640private bool ScanImplicitlyTypedLambdaOrSimpleExplicitlyTypedParenthesizedLambda(Precedence precedence) 12644if (precedence > Precedence.Lambda) 12671private bool ScanExplicitlyTypedLambda(Precedence precedence) 12675if (precedence > Precedence.Lambda) 12767this.ParseSubExpression(Precedence.Cast)); 12959private bool IsPossibleLambdaExpression(Precedence precedence) 12961if (precedence > Precedence.Lambda) 14028private QueryExpressionSyntax ParseQueryExpression(Precedence precedence) 14034precedence <= 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) 461var pattern = ParsePattern(Precedence.Conditional, inSwitchArmPattern: true); 530PatternSyntax pattern = ParsePattern(Precedence.Conditional); 539pattern = ParsePattern(Precedence.Conditional); 619var pattern = ParsePattern(Precedence.Coalescing, inSwitchArmPattern: true); 629ParseWhenClause(Precedence.Coalescing), 665static @this => @this.ParsePattern(Precedence.Conditional),