75 references to Precedence
Microsoft.CodeAnalysis.CSharp (75)
Parser\LanguageParser.cs (60)
3770var refKeyword = this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 5004var refKeyword = isLocalOrField && !isConst && this.CurrentToken.Kind == SyntaxKind.RefKeyword && !this.IsPossibleLambdaExpression(Precedence.Expression) 8817: this.ParseSubExpression(Precedence.Expression); 9178ParseWhenClause(Precedence.Expression), 9571private WhenClauseSyntax ParseWhenClause(Precedence precedence) 9914return this.ParseSubExpression(Precedence.Expression); 9975return IsPossibleAnonymousMethodExpression() || IsPossibleLambdaExpression(Precedence.Expression); 9977return allowAttributes && IsPossibleLambdaExpression(Precedence.Expression); 10068private static Precedence GetPrecedence(SyntaxKind op) 10073return Precedence.Expression; 10077return Precedence.Lambda; 10091return Precedence.Assignment; 10094return Precedence.Coalescing; 10096return Precedence.ConditionalOr; 10098return Precedence.ConditionalAnd; 10100return Precedence.LogicalOr; 10102return Precedence.LogicalXor; 10104return Precedence.LogicalAnd; 10107return Precedence.Equality; 10115return Precedence.Relational; 10118return Precedence.Switch; 10122return Precedence.Shift; 10125return Precedence.Additive; 10129return Precedence.Multiplicative; 10145return Precedence.Unary; 10147return Precedence.Cast; 10149return Precedence.PointerIndirection; 10151return Precedence.AddressOf; 10153return Precedence.Range; 10155return Precedence.Expression; 10192return Precedence.Primary; 10274private ExpressionSyntax ParseSubExpression(Precedence precedence) 10289private ExpressionSyntax ParseSubExpressionCore(Precedence precedence) 10292Precedence newPrecedence = 0; 10358return (precedence <= Precedence.Coalescing) ? result : 10374private ExpressionSyntax ParseExpressionContinued(ExpressionSyntax leftOperand, Precedence precedence) 10409var newPrecedence = GetPrecedence(opKind); 10465var leftPrecedence = GetPrecedence(leftOperand.Kind); 10571if (CurrentToken.Kind == SyntaxKind.QuestionToken && precedence <= Precedence.Conditional) 10613this.ParseSubExpression(Precedence.Coalescing)); 10627private ExpressionSyntax ParseTerm(Precedence precedence) 10630private ExpressionSyntax ParseTermWithoutPostfix(Precedence precedence) 10801private bool IsPossibleDeconstructionLeft(Precedence precedence) 10803if (precedence > Precedence.Assignment || !(this.CurrentToken.IsIdentifierVar() || IsPredefinedType(this.CurrentToken.Kind))) 11170this.IsPossibleLambdaExpression(Precedence.Expression))) 11195: ParseSubExpression(Precedence.Expression); 11241this.ParseSubExpression(Precedence.Expression), 11250this.ParseSubExpression(Precedence.Expression), 11264this.ParseSubExpression(Precedence.Expression), 11273this.ParseSubExpression(Precedence.Expression), 11279private bool ScanParenthesizedLambda(Precedence precedence) 11284private bool ScanParenthesizedImplicitlyTypedLambda(Precedence precedence) 11288if (!(precedence <= Precedence.Lambda)) 11383private bool ScanExplicitlyTypedLambda(Precedence precedence) 11387if (!(precedence <= Precedence.Lambda)) 11474this.ParseSubExpression(Precedence.Cast)); 11643private bool IsPossibleLambdaExpression(Precedence precedence) 11645if (precedence > Precedence.Lambda) 12700private QueryExpressionSyntax ParseQueryExpression(Precedence precedence) 12704if (precedence > Precedence.Assignment)
Parser\LanguageParser_Patterns.cs (15)
53private PatternSyntax ParsePattern(Precedence precedence, bool afterIs = false, bool whenIsKeyword = false) 58private PatternSyntax ParseDisjunctivePattern(Precedence precedence, bool afterIs, bool whenIsKeyword) 104private PatternSyntax ParseConjunctivePattern(Precedence precedence, bool afterIs, bool whenIsKeyword) 158private PatternSyntax ParseNegatedPattern(Precedence precedence, bool afterIs, bool whenIsKeyword) 172private PatternSyntax ParsePrimaryPattern(Precedence precedence, bool afterIs, bool whenIsKeyword) 206Debug.Assert(precedence < Precedence.Shift); 209this.ParseSubExpression(Precedence.Relational)); 238bool CanTokenFollowTypeInPattern(Precedence precedence) 265private PatternSyntax? ParsePatternContinued(TypeSyntax? type, Precedence precedence, bool whenIsKeyword) 432var pattern = ParsePattern(Precedence.Conditional, whenIsKeyword: true); 500PatternSyntax pattern = ParsePattern(Precedence.Conditional); 509pattern = ParsePattern(Precedence.Conditional); 572var pattern = ParsePattern(Precedence.Coalescing, whenIsKeyword: true); 583ParseWhenClause(Precedence.Coalescing), 615static @this => @this.ParsePattern(Precedence.Conditional),