76 references to Precedence
Microsoft.CodeAnalysis.CSharp (76)
Parser\LanguageParser.cs (61)
4447var refKeyword = this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 5652var refKeyword = isLocalOrField && !isConst && this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 9893: this.ParseSubExpression(Precedence.Expression); 10338ParseWhenClause(Precedence.Expression), 10768private WhenClauseSyntax ParseWhenClause(Precedence precedence) 11132return this.ParseSubExpression(Precedence.Expression); 11196return IsPossibleAnonymousMethodExpression() || IsPossibleLambdaExpression(Precedence.Expression); 11287private static Precedence GetPrecedence(SyntaxKind op) 11292return Precedence.Expression; 11296return Precedence.Lambda; 11310return Precedence.Assignment; 11313return Precedence.Coalescing; 11315return Precedence.ConditionalOr; 11317return Precedence.ConditionalAnd; 11319return Precedence.LogicalOr; 11321return Precedence.LogicalXor; 11323return Precedence.LogicalAnd; 11326return Precedence.Equality; 11334return Precedence.Relational; 11337return Precedence.Switch; 11341return Precedence.Shift; 11344return Precedence.Additive; 11348return Precedence.Multiplicative; 11365return Precedence.Unary; 11367return Precedence.Cast; 11369return Precedence.PointerIndirection; 11371return Precedence.AddressOf; 11373return Precedence.Range; 11375return Precedence.Expression; 11414return Precedence.Primary; 11496private ExpressionSyntax ParseSubExpression(Precedence precedence) 11511private ExpressionSyntax ParseSubExpressionCore(Precedence precedence) 11527ExpressionSyntax parseUnaryOrPrimaryExpression(Precedence precedence) 11548? this.ParseSubExpression(Precedence.Range) 11576return precedence <= Precedence.Coalescing 11596private ExpressionSyntax ParseExpressionContinued(ExpressionSyntax unaryOrPrimaryExpression, Precedence precedence) 11616if (this.CurrentToken.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional) 11621ExpressionSyntax? tryExpandExpression(ExpressionSyntax leftOperand, Precedence precedence) 11632var newPrecedence = GetPrecedence(operatorExpressionKind); 11687? this.ParseSubExpression(Precedence.Range) 11901Debug.Assert(GetPrecedence(operatorExpressionKind) == Precedence.Assignment); 11907!this.IsPossibleLambdaExpression(Precedence.Assignment)) 11915rhs = this.ParseSubExpression(Precedence.Assignment); 11992this.ParseSubExpression(Precedence.Coalescing)); 12006private ExpressionSyntax ParsePrimaryExpression(Precedence precedence) 12015ExpressionSyntax parsePrimaryExpressionWithoutPostfix(Precedence precedence) 12295private bool IsPossibleDeconstructionLeft(Precedence precedence) 12297if (precedence > Precedence.Assignment || !(this.CurrentToken.IsIdentifierVar() || IsPredefinedType(this.CurrentToken.Kind))) 12657this.IsPossibleLambdaExpression(Precedence.Expression))) 12682: ParseSubExpression(Precedence.Expression); 12769this.ParseSubExpression(Precedence.Expression), 12775private bool ScanParenthesizedLambda(Precedence precedence) 12785private bool ScanImplicitlyTypedLambdaOrSimpleExplicitlyTypedParenthesizedLambda(Precedence precedence) 12789if (precedence > Precedence.Lambda) 12816private bool ScanExplicitlyTypedLambda(Precedence precedence) 12820if (precedence > Precedence.Lambda) 12912this.ParseSubExpression(Precedence.Cast)); 13118private bool IsPossibleLambdaExpression(Precedence precedence) 13120if (precedence > Precedence.Lambda) 14200private QueryExpressionSyntax ParseQueryExpression(Precedence precedence) 14206precedence <= 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),