57 references to OperatorPrecedence
Microsoft.CodeAnalysis.CSharp.CodeStyle (57)
src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryExpressionParenthesesDiagnosticAnalyzer.cs (3)
50
var
innerPrecedence = inner.GetOperatorPrecedence();
51
var innerIsSimple = innerPrecedence is
OperatorPrecedence
.Primary or
52
OperatorPrecedence
.None;
src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryPatternParenthesesDiagnosticAnalyzer.cs (3)
47
var
innerPrecedence = inner.GetOperatorPrecedence();
48
var innerIsSimple = innerPrecedence is
OperatorPrecedence
.Primary or
49
OperatorPrecedence
.None;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (19)
693
public static
OperatorPrecedence
GetOperatorPrecedence(this ExpressionSyntax expression)
717
return
OperatorPrecedence
.Primary;
734
return
OperatorPrecedence
.Unary;
740
return
OperatorPrecedence
.Range;
748
return
OperatorPrecedence
.Multiplicative;
755
return
OperatorPrecedence
.Additive;
762
return
OperatorPrecedence
.Shift;
774
return
OperatorPrecedence
.RelationalAndTypeTesting;
781
return
OperatorPrecedence
.Equality;
787
return
OperatorPrecedence
.LogicalAnd;
793
return
OperatorPrecedence
.LogicalXor;
799
return
OperatorPrecedence
.LogicalOr;
805
return
OperatorPrecedence
.ConditionalAnd;
811
return
OperatorPrecedence
.ConditionalOr;
817
return
OperatorPrecedence
.NullCoalescing;
823
return
OperatorPrecedence
.Conditional;
841
return
OperatorPrecedence
.AssignmentAndLambdaExpression;
844
return
OperatorPrecedence
.Switch;
847
return
OperatorPrecedence
.None;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (17)
396
var
precedence = expression.GetOperatorPrecedence();
397
var
parentPrecedence = parentExpression.GetOperatorPrecedence();
398
if (precedence ==
OperatorPrecedence
.None || parentPrecedence ==
OperatorPrecedence
.None)
715
var
patternPrecedence = pattern.GetOperatorPrecedence();
716
if (patternPrecedence is
OperatorPrecedence
.Primary or
OperatorPrecedence
.Unary)
751
var
precedence = pattern.GetOperatorPrecedence();
752
var
parentPrecedence = parentPattern.GetOperatorPrecedence();
753
if (precedence ==
OperatorPrecedence
.None || parentPrecedence ==
OperatorPrecedence
.None)
763
public static
OperatorPrecedence
GetOperatorPrecedence(this PatternSyntax pattern)
773
return
OperatorPrecedence
.Primary;
777
return
OperatorPrecedence
.Unary;
781
return
OperatorPrecedence
.ConditionalAnd;
784
return
OperatorPrecedence
.ConditionalOr;
790
return
OperatorPrecedence
.None;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\Precedence\AbstractCSharpPrecedenceService.cs (13)
10
internal abstract class AbstractCSharpPrecedenceService<TSyntax> : AbstractPrecedenceService<TSyntax,
OperatorPrecedence
>
13
public sealed override PrecedenceKind GetPrecedenceKind(
OperatorPrecedence
precedence)
16
OperatorPrecedence
.NullCoalescing => PrecedenceKind.Coalesce,
17
OperatorPrecedence
.ConditionalOr or
OperatorPrecedence
.ConditionalAnd => PrecedenceKind.Logical,
18
OperatorPrecedence
.LogicalOr or
OperatorPrecedence
.LogicalXor or
OperatorPrecedence
.LogicalAnd => PrecedenceKind.Bitwise,
19
OperatorPrecedence
.Equality => PrecedenceKind.Equality,
20
OperatorPrecedence
.RelationalAndTypeTesting => PrecedenceKind.Relational,
21
OperatorPrecedence
.Shift => PrecedenceKind.Shift,
22
OperatorPrecedence
.Additive or
OperatorPrecedence
.Multiplicative => PrecedenceKind.Arithmetic,
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\Precedence\CSharpExpressionPrecedenceService.cs (1)
20
public override
OperatorPrecedence
GetOperatorPrecedence(ExpressionSyntax expression)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\Precedence\CSharpPatternPrecedenceService.cs (1)
20
public override
OperatorPrecedence
GetOperatorPrecedence(PatternSyntax pattern)