71 references to PredefinedOperator
Roslyn.Diagnostics.Analyzers (43)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFacts.cs (2)
117bool IsPredefinedOperator(SyntaxToken token, PredefinedOperator op); 195bool TryGetPredefinedOperator(SyntaxToken token, out PredefinedOperator op);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AbstractSpeculationAnalyzer.cs (2)
413if (methodSymbol.TryGetPredefinedComparisonOperator(out var originalOp) && 414newMethodSymbol.TryGetPredefinedComparisonOperator(out var newOp) &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\IMethodSymbolExtensions.cs (34)
77public static bool TryGetPredefinedComparisonOperator(this IMethodSymbol symbol, out PredefinedOperator op) 84case PredefinedOperator.Equality: 85case PredefinedOperator.Inequality: 86case PredefinedOperator.GreaterThanOrEqual: 87case PredefinedOperator.LessThanOrEqual: 88case PredefinedOperator.GreaterThan: 89case PredefinedOperator.LessThan: 95op = PredefinedOperator.None; 101public static PredefinedOperator GetPredefinedOperator(this IMethodSymbol symbol) 104WellKnownMemberNames.AdditionOperatorName or WellKnownMemberNames.CheckedAdditionOperatorName or WellKnownMemberNames.UnaryPlusOperatorName => PredefinedOperator.Addition, 105WellKnownMemberNames.BitwiseAndOperatorName => PredefinedOperator.BitwiseAnd, 106WellKnownMemberNames.BitwiseOrOperatorName => PredefinedOperator.BitwiseOr, 107WellKnownMemberNames.ConcatenateOperatorName => PredefinedOperator.Concatenate, 108WellKnownMemberNames.DecrementOperatorName or WellKnownMemberNames.CheckedDecrementOperatorName => PredefinedOperator.Decrement, 109WellKnownMemberNames.DivisionOperatorName or WellKnownMemberNames.CheckedDivisionOperatorName => PredefinedOperator.Division, 110WellKnownMemberNames.EqualityOperatorName => PredefinedOperator.Equality, 111WellKnownMemberNames.ExclusiveOrOperatorName => PredefinedOperator.ExclusiveOr, 112WellKnownMemberNames.ExponentOperatorName => PredefinedOperator.Exponent, 113WellKnownMemberNames.GreaterThanOperatorName => PredefinedOperator.GreaterThan, 114WellKnownMemberNames.GreaterThanOrEqualOperatorName => PredefinedOperator.GreaterThanOrEqual, 115WellKnownMemberNames.IncrementOperatorName or WellKnownMemberNames.CheckedIncrementOperatorName => PredefinedOperator.Increment, 116WellKnownMemberNames.InequalityOperatorName => PredefinedOperator.Inequality, 117WellKnownMemberNames.IntegerDivisionOperatorName => PredefinedOperator.IntegerDivision, 118WellKnownMemberNames.LeftShiftOperatorName => PredefinedOperator.LeftShift, 119WellKnownMemberNames.LessThanOperatorName => PredefinedOperator.LessThan, 120WellKnownMemberNames.LessThanOrEqualOperatorName => PredefinedOperator.LessThanOrEqual, 121WellKnownMemberNames.LikeOperatorName => PredefinedOperator.Like, 122WellKnownMemberNames.LogicalNotOperatorName or WellKnownMemberNames.OnesComplementOperatorName => PredefinedOperator.Complement, 123WellKnownMemberNames.ModulusOperatorName => PredefinedOperator.Modulus, 124WellKnownMemberNames.MultiplyOperatorName or WellKnownMemberNames.CheckedMultiplyOperatorName => PredefinedOperator.Multiplication, 125WellKnownMemberNames.RightShiftOperatorName => PredefinedOperator.RightShift, 126WellKnownMemberNames.UnsignedRightShiftOperatorName => PredefinedOperator.UnsignedRightShift, 127WellKnownMemberNames.SubtractionOperatorName or WellKnownMemberNames.CheckedSubtractionOperatorName or WellKnownMemberNames.UnaryNegationOperatorName or WellKnownMemberNames.CheckedUnaryNegationOperatorName => PredefinedOperator.Subtraction, 128_ => PredefinedOperator.None,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (5)
313syntaxFacts.TryGetPredefinedOperator(operatorToken, out var predefinedOperator); 316PredefinedOperator.LessThan => generatorInternal.GreaterThanEqualsRelationalPattern(expression), 317PredefinedOperator.LessThanOrEqual => generatorInternal.GreaterThanRelationalPattern(expression), 318PredefinedOperator.GreaterThan => generatorInternal.LessThanEqualsRelationalPattern(expression), 319PredefinedOperator.GreaterThanOrEqual => generatorInternal.LessThanRelationalPattern(expression),
Roslyn.Diagnostics.CSharp.Analyzers (28)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (28)
352=> TryGetPredefinedOperator(token, out var actualOperator) && actualOperator != PredefinedOperator.None; 354public bool IsPredefinedOperator(SyntaxToken token, PredefinedOperator op) 355=> TryGetPredefinedOperator(token, out var actualOperator) && actualOperator == op; 357public bool TryGetPredefinedOperator(SyntaxToken token, out PredefinedOperator op) 360return op != PredefinedOperator.None; 363private static PredefinedOperator GetPredefinedOperator(SyntaxToken token) 369return PredefinedOperator.Addition; 373return PredefinedOperator.Subtraction; 378return PredefinedOperator.BitwiseAnd; 383return PredefinedOperator.BitwiseOr; 386return PredefinedOperator.Decrement; 389return PredefinedOperator.Increment; 393return PredefinedOperator.Division; 396return PredefinedOperator.Equality; 400return PredefinedOperator.ExclusiveOr; 403return PredefinedOperator.GreaterThan; 406return PredefinedOperator.GreaterThanOrEqual; 409return PredefinedOperator.Inequality; 413return PredefinedOperator.LeftShift; 416return PredefinedOperator.LessThan; 419return PredefinedOperator.LessThanOrEqual; 423return PredefinedOperator.Multiplication; 427return PredefinedOperator.Modulus; 431return PredefinedOperator.Complement; 435return PredefinedOperator.RightShift; 439return PredefinedOperator.UnsignedRightShift; 442return PredefinedOperator.None;