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)
694
public static
OperatorPrecedence
GetOperatorPrecedence(this ExpressionSyntax expression)
718
return
OperatorPrecedence
.Primary;
735
return
OperatorPrecedence
.Unary;
741
return
OperatorPrecedence
.Range;
749
return
OperatorPrecedence
.Multiplicative;
756
return
OperatorPrecedence
.Additive;
763
return
OperatorPrecedence
.Shift;
775
return
OperatorPrecedence
.RelationalAndTypeTesting;
782
return
OperatorPrecedence
.Equality;
788
return
OperatorPrecedence
.LogicalAnd;
794
return
OperatorPrecedence
.LogicalXor;
800
return
OperatorPrecedence
.LogicalOr;
806
return
OperatorPrecedence
.ConditionalAnd;
812
return
OperatorPrecedence
.ConditionalOr;
818
return
OperatorPrecedence
.NullCoalescing;
824
return
OperatorPrecedence
.Conditional;
842
return
OperatorPrecedence
.AssignmentAndLambdaExpression;
845
return
OperatorPrecedence
.Switch;
848
return
OperatorPrecedence
.None;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (17)
392
var
precedence = expression.GetOperatorPrecedence();
393
var
parentPrecedence = parentExpression.GetOperatorPrecedence();
394
if (precedence ==
OperatorPrecedence
.None || parentPrecedence ==
OperatorPrecedence
.None)
711
var
patternPrecedence = pattern.GetOperatorPrecedence();
712
if (patternPrecedence is
OperatorPrecedence
.Primary or
OperatorPrecedence
.Unary)
747
var
precedence = pattern.GetOperatorPrecedence();
748
var
parentPrecedence = parentPattern.GetOperatorPrecedence();
749
if (precedence ==
OperatorPrecedence
.None || parentPrecedence ==
OperatorPrecedence
.None)
759
public static
OperatorPrecedence
GetOperatorPrecedence(this PatternSyntax pattern)
769
return
OperatorPrecedence
.Primary;
773
return
OperatorPrecedence
.Unary;
777
return
OperatorPrecedence
.ConditionalAnd;
780
return
OperatorPrecedence
.ConditionalOr;
786
return
OperatorPrecedence
.None;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\Precedence\AbstractCSharpPrecedenceService.cs (13)
12
internal abstract class AbstractCSharpPrecedenceService<TSyntax> : AbstractPrecedenceService<TSyntax,
OperatorPrecedence
>
19
public sealed override PrecedenceKind GetPrecedenceKind(
OperatorPrecedence
precedence)
23
case
OperatorPrecedence
.NullCoalescing: return PrecedenceKind.Coalesce;
24
case
OperatorPrecedence
.ConditionalOr:
25
case
OperatorPrecedence
.ConditionalAnd: return PrecedenceKind.Logical;
26
case
OperatorPrecedence
.LogicalOr:
27
case
OperatorPrecedence
.LogicalXor:
28
case
OperatorPrecedence
.LogicalAnd: return PrecedenceKind.Bitwise;
29
case
OperatorPrecedence
.Equality: return PrecedenceKind.Equality;
30
case
OperatorPrecedence
.RelationalAndTypeTesting: return PrecedenceKind.Relational;
31
case
OperatorPrecedence
.Shift: return PrecedenceKind.Shift;
32
case
OperatorPrecedence
.Additive:
33
case
OperatorPrecedence
.Multiplicative: return 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)