76 references to Precedence
Microsoft.CodeAnalysis.CSharp (76)
Parser\LanguageParser.cs (61)
4161var refKeyword = this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 5329var refKeyword = isLocalOrField && !isConst && this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 9419: this.ParseSubExpression(Precedence.Expression); 9831ParseWhenClause(Precedence.Expression), 10259private WhenClauseSyntax ParseWhenClause(Precedence precedence) 10626return this.ParseSubExpression(Precedence.Expression); 10689return IsPossibleAnonymousMethodExpression() || IsPossibleLambdaExpression(Precedence.Expression); 10780private static Precedence GetPrecedence(SyntaxKind op) 10785return Precedence.Expression; 10789return Precedence.Lambda; 10803return Precedence.Assignment; 10806return Precedence.Coalescing; 10808return Precedence.ConditionalOr; 10810return Precedence.ConditionalAnd; 10812return Precedence.LogicalOr; 10814return Precedence.LogicalXor; 10816return Precedence.LogicalAnd; 10819return Precedence.Equality; 10827return Precedence.Relational; 10830return Precedence.Switch; 10834return Precedence.Shift; 10837return Precedence.Additive; 10841return Precedence.Multiplicative; 10857return Precedence.Unary; 10859return Precedence.Cast; 10861return Precedence.PointerIndirection; 10863return Precedence.AddressOf; 10865return Precedence.Range; 10867return Precedence.Expression; 10906return Precedence.Primary; 10988private ExpressionSyntax ParseSubExpression(Precedence precedence) 11003private ExpressionSyntax ParseSubExpressionCore(Precedence precedence) 11019ExpressionSyntax parseUnaryOrPrimaryExpression(Precedence precedence) 11040? this.ParseSubExpression(Precedence.Range) 11068return precedence <= Precedence.Coalescing 11088private ExpressionSyntax ParseExpressionContinued(ExpressionSyntax unaryOrPrimaryExpression, Precedence precedence) 11108if (this.CurrentToken.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional) 11113ExpressionSyntax? tryExpandExpression(ExpressionSyntax leftOperand, Precedence precedence) 11124var newPrecedence = GetPrecedence(operatorExpressionKind); 11179? this.ParseSubExpression(Precedence.Range) 11469this.ParseSubExpression(Precedence.Coalescing)); 11483private ExpressionSyntax ParsePrimaryExpression(Precedence precedence) 11492ExpressionSyntax parsePrimaryExpressionWithoutPostfix(Precedence precedence) 11757private bool IsPossibleDeconstructionLeft(Precedence precedence) 11759if (precedence > Precedence.Assignment || !(this.CurrentToken.IsIdentifierVar() || IsPredefinedType(this.CurrentToken.Kind))) 12069this.IsPossibleLambdaExpression(Precedence.Expression))) 12094: ParseSubExpression(Precedence.Expression); 12140this.ParseSubExpression(Precedence.Expression), 12149this.ParseSubExpression(Precedence.Expression), 12163this.ParseSubExpression(Precedence.Expression), 12172this.ParseSubExpression(Precedence.Expression), 12178private bool ScanParenthesizedLambda(Precedence precedence) 12188private bool ScanImplicitlyTypedLambdaOrSimpleExplicitlyTypedParenthesizedLambda(Precedence precedence) 12192if (precedence > Precedence.Lambda) 12219private bool ScanExplicitlyTypedLambda(Precedence precedence) 12223if (precedence > Precedence.Lambda) 12315this.ParseSubExpression(Precedence.Cast)); 12507private bool IsPossibleLambdaExpression(Precedence precedence) 12509if (precedence > Precedence.Lambda) 13589private QueryExpressionSyntax ParseQueryExpression(Precedence precedence) 13594if (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),