79 references to Precedence
Microsoft.CodeAnalysis.CSharp (79)
Parser\LanguageParser.cs (64)
4252var refKeyword = this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 5437var refKeyword = isLocalOrField && !isConst && this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 9552: this.ParseSubExpression(Precedence.Expression); 9964ParseWhenClause(Precedence.Expression), 10392private WhenClauseSyntax ParseWhenClause(Precedence precedence) 10759return this.ParseSubExpression(Precedence.Expression); 10822return IsPossibleAnonymousMethodExpression() || IsPossibleLambdaExpression(Precedence.Expression); 10913private static Precedence GetPrecedence(SyntaxKind op) 10918return Precedence.Expression; 10922return Precedence.Lambda; 10936return Precedence.Assignment; 10939return Precedence.Coalescing; 10941return Precedence.ConditionalOr; 10943return Precedence.ConditionalAnd; 10945return Precedence.LogicalOr; 10947return Precedence.LogicalXor; 10949return Precedence.LogicalAnd; 10952return Precedence.Equality; 10960return Precedence.Relational; 10963return Precedence.Switch; 10967return Precedence.Shift; 10970return Precedence.Additive; 10974return Precedence.Multiplicative; 10990return Precedence.Unary; 10992return Precedence.Cast; 10994return Precedence.PointerIndirection; 10996return Precedence.AddressOf; 10998return Precedence.Range; 11000return Precedence.Expression; 11039return Precedence.Primary; 11121private ExpressionSyntax ParseSubExpression(Precedence precedence) 11136private ExpressionSyntax ParseSubExpressionCore(Precedence precedence) 11152ExpressionSyntax parseUnaryOrPrimaryExpression(Precedence precedence) 11173? this.ParseSubExpression(Precedence.Range) 11201return precedence <= Precedence.Coalescing 11221private ExpressionSyntax ParseExpressionContinued(ExpressionSyntax unaryOrPrimaryExpression, Precedence precedence) 11241if (this.CurrentToken.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional) 11246ExpressionSyntax? tryExpandExpression(ExpressionSyntax leftOperand, Precedence precedence) 11257var newPrecedence = GetPrecedence(operatorExpressionKind); 11312? this.ParseSubExpression(Precedence.Range) 11523Debug.Assert(GetPrecedence(operatorExpressionKind) == Precedence.Assignment); 11529!this.IsPossibleLambdaExpression(Precedence.Assignment)) 11537rhs = this.ParseSubExpression(Precedence.Assignment); 11614this.ParseSubExpression(Precedence.Coalescing)); 11628private ExpressionSyntax ParsePrimaryExpression(Precedence precedence) 11637ExpressionSyntax parsePrimaryExpressionWithoutPostfix(Precedence precedence) 11899private bool IsPossibleDeconstructionLeft(Precedence precedence) 11901if (precedence > Precedence.Assignment || !(this.CurrentToken.IsIdentifierVar() || IsPredefinedType(this.CurrentToken.Kind))) 12261this.IsPossibleLambdaExpression(Precedence.Expression))) 12286: ParseSubExpression(Precedence.Expression); 12332this.ParseSubExpression(Precedence.Expression), 12341this.ParseSubExpression(Precedence.Expression), 12355this.ParseSubExpression(Precedence.Expression), 12364this.ParseSubExpression(Precedence.Expression), 12370private bool ScanParenthesizedLambda(Precedence precedence) 12380private bool ScanImplicitlyTypedLambdaOrSimpleExplicitlyTypedParenthesizedLambda(Precedence precedence) 12384if (precedence > Precedence.Lambda) 12411private bool ScanExplicitlyTypedLambda(Precedence precedence) 12415if (precedence > Precedence.Lambda) 12507this.ParseSubExpression(Precedence.Cast)); 12699private bool IsPossibleLambdaExpression(Precedence precedence) 12701if (precedence > Precedence.Lambda) 13788private QueryExpressionSyntax ParseQueryExpression(Precedence precedence) 13793if (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),