76 references to Precedence
Microsoft.CodeAnalysis.CSharp (76)
Parser\LanguageParser.cs (61)
4354var refKeyword = this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 5558var refKeyword = isLocalOrField && !isConst && this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 9781: this.ParseSubExpression(Precedence.Expression); 10226ParseWhenClause(Precedence.Expression), 10656private WhenClauseSyntax ParseWhenClause(Precedence precedence) 11016return this.ParseSubExpression(Precedence.Expression); 11079return IsPossibleAnonymousMethodExpression() || IsPossibleLambdaExpression(Precedence.Expression); 11170private static Precedence GetPrecedence(SyntaxKind op) 11175return Precedence.Expression; 11179return Precedence.Lambda; 11193return Precedence.Assignment; 11196return Precedence.Coalescing; 11198return Precedence.ConditionalOr; 11200return Precedence.ConditionalAnd; 11202return Precedence.LogicalOr; 11204return Precedence.LogicalXor; 11206return Precedence.LogicalAnd; 11209return Precedence.Equality; 11217return Precedence.Relational; 11220return Precedence.Switch; 11224return Precedence.Shift; 11227return Precedence.Additive; 11231return Precedence.Multiplicative; 11247return Precedence.Unary; 11249return Precedence.Cast; 11251return Precedence.PointerIndirection; 11253return Precedence.AddressOf; 11255return Precedence.Range; 11257return Precedence.Expression; 11296return Precedence.Primary; 11378private ExpressionSyntax ParseSubExpression(Precedence precedence) 11393private ExpressionSyntax ParseSubExpressionCore(Precedence precedence) 11409ExpressionSyntax parseUnaryOrPrimaryExpression(Precedence precedence) 11430? this.ParseSubExpression(Precedence.Range) 11458return precedence <= Precedence.Coalescing 11478private ExpressionSyntax ParseExpressionContinued(ExpressionSyntax unaryOrPrimaryExpression, Precedence precedence) 11498if (this.CurrentToken.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional) 11503ExpressionSyntax? tryExpandExpression(ExpressionSyntax leftOperand, Precedence precedence) 11514var newPrecedence = GetPrecedence(operatorExpressionKind); 11569? this.ParseSubExpression(Precedence.Range) 11783Debug.Assert(GetPrecedence(operatorExpressionKind) == Precedence.Assignment); 11789!this.IsPossibleLambdaExpression(Precedence.Assignment)) 11797rhs = this.ParseSubExpression(Precedence.Assignment); 11874this.ParseSubExpression(Precedence.Coalescing)); 11888private ExpressionSyntax ParsePrimaryExpression(Precedence precedence) 11897ExpressionSyntax parsePrimaryExpressionWithoutPostfix(Precedence precedence) 12175private bool IsPossibleDeconstructionLeft(Precedence precedence) 12177if (precedence > Precedence.Assignment || !(this.CurrentToken.IsIdentifierVar() || IsPredefinedType(this.CurrentToken.Kind))) 12537this.IsPossibleLambdaExpression(Precedence.Expression))) 12562: ParseSubExpression(Precedence.Expression); 12640this.ParseSubExpression(Precedence.Expression), 12646private bool ScanParenthesizedLambda(Precedence precedence) 12656private bool ScanImplicitlyTypedLambdaOrSimpleExplicitlyTypedParenthesizedLambda(Precedence precedence) 12660if (precedence > Precedence.Lambda) 12687private bool ScanExplicitlyTypedLambda(Precedence precedence) 12691if (precedence > Precedence.Lambda) 12783this.ParseSubExpression(Precedence.Cast)); 12989private bool IsPossibleLambdaExpression(Precedence precedence) 12991if (precedence > Precedence.Lambda) 14071private QueryExpressionSyntax ParseQueryExpression(Precedence precedence) 14077precedence <= 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),