61 references to OperatorPrecedence
Microsoft.CodeAnalysis.CSharp.Features (6)
CSharpRemoveUnnecessaryExpressionParenthesesDiagnosticAnalyzer.cs (3)
50var innerPrecedence = inner.GetOperatorPrecedence(); 51var innerIsSimple = innerPrecedence is OperatorPrecedence.Primary or 52OperatorPrecedence.None;
CSharpRemoveUnnecessaryPatternParenthesesDiagnosticAnalyzer.cs (3)
47var innerPrecedence = inner.GetOperatorPrecedence(); 48var innerIsSimple = innerPrecedence is OperatorPrecedence.Primary or 49OperatorPrecedence.None;
Microsoft.CodeAnalysis.CSharp.Workspaces (55)
AbstractCSharpPrecedenceService.cs (13)
12internal abstract class AbstractCSharpPrecedenceService<TSyntax> : AbstractPrecedenceService<TSyntax, OperatorPrecedence> 19public sealed override PrecedenceKind GetPrecedenceKind(OperatorPrecedence precedence) 23case OperatorPrecedence.NullCoalescing: return PrecedenceKind.Coalesce; 24case OperatorPrecedence.ConditionalOr: 25case OperatorPrecedence.ConditionalAnd: return PrecedenceKind.Logical; 26case OperatorPrecedence.LogicalOr: 27case OperatorPrecedence.LogicalXor: 28case OperatorPrecedence.LogicalAnd: return PrecedenceKind.Bitwise; 29case OperatorPrecedence.Equality: return PrecedenceKind.Equality; 30case OperatorPrecedence.RelationalAndTypeTesting: return PrecedenceKind.Relational; 31case OperatorPrecedence.Shift: return PrecedenceKind.Shift; 32case OperatorPrecedence.Additive: 33case OperatorPrecedence.Multiplicative: return PrecedenceKind.Arithmetic;
CSharpExpressionPrecedenceService.cs (1)
20public override OperatorPrecedence GetOperatorPrecedence(ExpressionSyntax expression)
CSharpPatternPrecedenceService.cs (1)
20public override OperatorPrecedence GetOperatorPrecedence(PatternSyntax pattern)
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs\ExpressionSyntaxExtensions.cs (19)
711public static OperatorPrecedence GetOperatorPrecedence(this ExpressionSyntax expression) 735return OperatorPrecedence.Primary; 752return OperatorPrecedence.Unary; 758return OperatorPrecedence.Range; 766return OperatorPrecedence.Multiplicative; 773return OperatorPrecedence.Additive; 780return OperatorPrecedence.Shift; 792return OperatorPrecedence.RelationalAndTypeTesting; 799return OperatorPrecedence.Equality; 805return OperatorPrecedence.LogicalAnd; 811return OperatorPrecedence.LogicalXor; 817return OperatorPrecedence.LogicalOr; 823return OperatorPrecedence.ConditionalAnd; 829return OperatorPrecedence.ConditionalOr; 835return OperatorPrecedence.NullCoalescing; 841return OperatorPrecedence.Conditional; 859return OperatorPrecedence.AssignmentAndLambdaExpression; 862return OperatorPrecedence.Switch; 865return OperatorPrecedence.None;
ParenthesizedExpressionSyntaxExtensions.cs (17)
382var precedence = expression.GetOperatorPrecedence(); 383var parentPrecedence = parentExpression.GetOperatorPrecedence(); 384if (precedence == OperatorPrecedence.None || parentPrecedence == OperatorPrecedence.None) 701var patternPrecedence = pattern.GetOperatorPrecedence(); 702if (patternPrecedence is OperatorPrecedence.Primary or OperatorPrecedence.Unary) 737var precedence = pattern.GetOperatorPrecedence(); 738var parentPrecedence = parentPattern.GetOperatorPrecedence(); 739if (precedence == OperatorPrecedence.None || parentPrecedence == OperatorPrecedence.None) 749public static OperatorPrecedence GetOperatorPrecedence(this PatternSyntax pattern) 759return OperatorPrecedence.Primary; 763return OperatorPrecedence.Unary; 767return OperatorPrecedence.ConditionalAnd; 770return OperatorPrecedence.ConditionalOr; 776return OperatorPrecedence.None;
Recommendations\CSharpRecommendationServiceRunner.cs (4)
163child.GetOperatorPrecedence() < OperatorPrecedence.Primary) 168var precedence = currentExpression.GetOperatorPrecedence(); 169if (precedence != OperatorPrecedence.None && precedence < OperatorPrecedence.Primary)