src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (34)
49public static bool TryGetPredefinedComparisonOperator(this IMethodSymbol symbol, out PredefinedOperator op)
56case PredefinedOperator.Equality:
57case PredefinedOperator.Inequality:
58case PredefinedOperator.GreaterThanOrEqual:
59case PredefinedOperator.LessThanOrEqual:
60case PredefinedOperator.GreaterThan:
61case PredefinedOperator.LessThan:
67op = PredefinedOperator.None;
73public static PredefinedOperator GetPredefinedOperator(this IMethodSymbol symbol)
76WellKnownMemberNames.AdditionOperatorName or WellKnownMemberNames.CheckedAdditionOperatorName or WellKnownMemberNames.UnaryPlusOperatorName => PredefinedOperator.Addition,
77WellKnownMemberNames.BitwiseAndOperatorName => PredefinedOperator.BitwiseAnd,
78WellKnownMemberNames.BitwiseOrOperatorName => PredefinedOperator.BitwiseOr,
79WellKnownMemberNames.ConcatenateOperatorName => PredefinedOperator.Concatenate,
80WellKnownMemberNames.DecrementOperatorName or WellKnownMemberNames.CheckedDecrementOperatorName => PredefinedOperator.Decrement,
81WellKnownMemberNames.DivisionOperatorName or WellKnownMemberNames.CheckedDivisionOperatorName => PredefinedOperator.Division,
82WellKnownMemberNames.EqualityOperatorName => PredefinedOperator.Equality,
83WellKnownMemberNames.ExclusiveOrOperatorName => PredefinedOperator.ExclusiveOr,
84WellKnownMemberNames.ExponentOperatorName => PredefinedOperator.Exponent,
85WellKnownMemberNames.GreaterThanOperatorName => PredefinedOperator.GreaterThan,
86WellKnownMemberNames.GreaterThanOrEqualOperatorName => PredefinedOperator.GreaterThanOrEqual,
87WellKnownMemberNames.IncrementOperatorName or WellKnownMemberNames.CheckedIncrementOperatorName => PredefinedOperator.Increment,
88WellKnownMemberNames.InequalityOperatorName => PredefinedOperator.Inequality,
89WellKnownMemberNames.IntegerDivisionOperatorName => PredefinedOperator.IntegerDivision,
90WellKnownMemberNames.LeftShiftOperatorName => PredefinedOperator.LeftShift,
91WellKnownMemberNames.LessThanOperatorName => PredefinedOperator.LessThan,
92WellKnownMemberNames.LessThanOrEqualOperatorName => PredefinedOperator.LessThanOrEqual,
93WellKnownMemberNames.LikeOperatorName => PredefinedOperator.Like,
94WellKnownMemberNames.LogicalNotOperatorName or WellKnownMemberNames.OnesComplementOperatorName => PredefinedOperator.Complement,
95WellKnownMemberNames.ModulusOperatorName => PredefinedOperator.Modulus,
96WellKnownMemberNames.MultiplyOperatorName or WellKnownMemberNames.CheckedMultiplyOperatorName => PredefinedOperator.Multiplication,
97WellKnownMemberNames.RightShiftOperatorName => PredefinedOperator.RightShift,
98WellKnownMemberNames.UnsignedRightShiftOperatorName => PredefinedOperator.UnsignedRightShift,
99WellKnownMemberNames.SubtractionOperatorName or WellKnownMemberNames.CheckedSubtractionOperatorName or WellKnownMemberNames.UnaryNegationOperatorName or WellKnownMemberNames.CheckedUnaryNegationOperatorName => PredefinedOperator.Subtraction,
100_ => PredefinedOperator.None,