1 implementation of IBinaryOperation
Microsoft.CodeAnalysis (1)
Generated\Operations.Generated.cs (1)
5640internal sealed partial class BinaryOperation : Operation, IBinaryOperation
272 references to IBinaryOperation
ILLink.RoslynAnalyzer (2)
DataFlow\FeatureChecksVisitor.cs (1)
97public override FeatureChecksValue VisitBinaryOperator(IBinaryOperation operation, StateValue state)
TrimAnalysis\TrimAnalysisVisitor.cs (1)
192public override MultiValue VisitBinaryOperator(IBinaryOperation operation, StateValue argument)
Metrics (7)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
209countBinaryOperator(operation, ((IBinaryOperation)operation).OperatorKind);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
337var binaryOperation = (IBinaryOperation)operation;
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
245public static bool IsComparisonOperator(this IBinaryOperation binaryOperation)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (3)
70if (semanticModel.GetOperation(parentBinary) is IBinaryOperation parentBinaryOp && 71semanticModel.GetOperation(innerBinary) is IBinaryOperation innerBinaryOp) 84static bool IsArithmetic(IBinaryOperation op)
Metrics.Legacy (7)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
209countBinaryOperator(operation, ((IBinaryOperation)operation).OperatorKind);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
337var binaryOperation = (IBinaryOperation)operation;
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
245public static bool IsComparisonOperator(this IBinaryOperation binaryOperation)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (3)
70if (semanticModel.GetOperation(parentBinary) is IBinaryOperation parentBinaryOp && 71semanticModel.GetOperation(innerBinary) is IBinaryOperation innerBinaryOp) 84static bool IsArithmetic(IBinaryOperation op)
Microsoft.AspNetCore.Mvc.Api.Analyzers (2)
ApiActionsDoNotRequireExplicitModelValidationCheckAnalyzer.cs (2)
138var binaryOperation = (IBinaryOperation)condition;
Microsoft.CodeAnalysis (27)
Generated\OperationKind.Generated.cs (2)
83/// <summary>Indicates an <see cref="IBinaryOperation"/>.</summary> 85/// <summary>Indicates an <see cref="IBinaryOperation"/>. Use <see cref="Binary"/> instead.</summary>
Generated\Operations.Generated.cs (3)
10946public override IOperation VisitBinaryOperator(IBinaryOperation operation, object? argument) 11446public virtual void VisitBinaryOperator(IBinaryOperation operation) => DefaultVisit(operation); 11585public virtual TResult? VisitBinaryOperator(IBinaryOperation operation, TArgument argument) => DefaultVisit(operation, argument);
Operations\ControlFlowGraphBuilder.cs (16)
2152private static bool IsConditional(IBinaryOperation operation) 2164public override IOperation VisitBinaryOperator(IBinaryOperation operation, int? captureIdForResult) 2204var stack = ArrayBuilder<(IBinaryOperation, EvalStackFrame)>.GetInstance(); 2212if (leftOperand is not IBinaryOperation binary || IsConditional(binary)) 2269private static bool CalculateAndOrSense(IBinaryOperation binOp, bool sense) 2285private IOperation VisitBinaryConditionalOperator(IBinaryOperation binOp, bool sense, int? captureIdForResult, 2301private IOperation VisitNullableBinaryConditionalOperator(IBinaryOperation binOp, int? captureIdForResult) 2407private IOperation VisitObjectBinaryConditionalOperator(IBinaryOperation binOp) 2462private IOperation VisitDynamicBinaryConditionalOperator(IBinaryOperation binOp, int? captureIdForResult) 2562private IOperation VisitUserDefinedBinaryConditionalOperator(IBinaryOperation binOp, int? captureIdForResult) 2651private IOperation VisitShortCircuitingOperator(IBinaryOperation condition, bool sense, bool stopSense, bool stopValue, 2727var binOp = (IBinaryOperation)condition; 2749private static bool IsBooleanConditionalOperator(IBinaryOperation binOp) 2791if (IsBooleanConditionalOperator((IBinaryOperation)condition)) 2806else if (top.condition is IBinaryOperation binOp && IsBooleanConditionalOperator(binOp))
Operations\Loops\ForToLoopOperationInfo.cs (4)
11public readonly IBinaryOperation Addition; 12public readonly IBinaryOperation Subtraction; 16public ForToLoopOperationUserDefinedInfo(IBinaryOperation addition, IBinaryOperation subtraction, IOperation lessThanOrEqual, IOperation greaterThanOrEqual)
Operations\OperationMapBuilder.cs (2)
35public override object? VisitBinaryOperator([DisallowNull] IBinaryOperation? operation, Dictionary<SyntaxNode, IOperation> argument) 43if (operation.LeftOperand is IBinaryOperation nested)
Microsoft.CodeAnalysis.Analyzers (17)
MetaAnalyzers\CompareSymbolsCorrectlyAnalyzer.cs (2)
127var binary = (IBinaryOperation)context.Operation;
MetaAnalyzers\Fixers\CompareSymbolsCorrectlyFix.cs (2)
74IBinaryOperation binaryOperation => await ConvertToEqualsAsync(document, semanticModel, binaryOperation, cancellationToken).ConfigureAwait(false), 257private static async Task<Document> ConvertToEqualsAsync(Document document, SemanticModel semanticModel, IBinaryOperation binaryOperation, CancellationToken cancellationToken)
MetaAnalyzers\PreferIsKindAnalyzer.cs (2)
72var operation = (IBinaryOperation)context.Operation;
src\RoslynAnalyzers\Microsoft.CodeAnalysis.BannedApiAnalyzers\Core\SymbolIsBannedAnalyzerBase.cs (1)
118case IBinaryOperation binary:
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
209countBinaryOperator(operation, ((IBinaryOperation)operation).OperatorKind);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
337var binaryOperation = (IBinaryOperation)operation;
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
245public static bool IsComparisonOperator(this IBinaryOperation binaryOperation)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (3)
70if (semanticModel.GetOperation(parentBinary) is IBinaryOperation parentBinaryOp && 71semanticModel.GetOperation(innerBinary) is IBinaryOperation innerBinaryOp) 84static bool IsArithmetic(IBinaryOperation op)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (3)
147if (operation is IBinaryOperation binaryOperation) 378IBinaryOperation binaryOperation, 407IBinaryOperation binaryOperation,
Microsoft.CodeAnalysis.Analyzers.UnitTests (2)
MetaAnalyzers\DoNotStorePerCompilationDataOntoFieldsRuleTests.cs (2)
32GetCSharpExpectedDiagnostic(23, 29, violatingTypeName: typeof(IBinaryOperation).FullName), 88GetBasicExpectedDiagnostic(23, 35, violatingTypeName: typeof(IBinaryOperation).FullName),
Microsoft.CodeAnalysis.AnalyzerUtilities (15)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
209countBinaryOperator(operation, ((IBinaryOperation)operation).OperatorKind);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
337var binaryOperation = (IBinaryOperation)operation;
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
245public static bool IsComparisonOperator(this IBinaryOperation binaryOperation)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (1)
436public override DisposeAbstractValue VisitBinaryOperatorCore(IBinaryOperation operation, object? argument)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ParameterValidationAnalysis\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (1)
381public override ParameterValidationAbstractValue VisitBinaryOperatorCore(IBinaryOperation operation, object? argument)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (1)
903public override PointsToAbstractValue VisitBinaryOperatorCore(IBinaryOperation operation, object? argument)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ValueContentAnalysis\ValueContentAnalysis.ValueContentDataFlowOperationVisitor.cs (1)
224public override ValueContentAbstractValue VisitBinaryOperatorCore(IBinaryOperation operation, object? argument)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (4)
1648case IBinaryOperation binaryOperation: 1850protected virtual PredicateValueKind SetValueForComparisonOperator(IBinaryOperation operation, TAnalysisData targetAnalysisData) 3721public virtual TAbstractAnalysisValue VisitBinaryOperatorCore(IBinaryOperation operation, object? argument) 3726public sealed override TAbstractAnalysisValue VisitBinaryOperator(IBinaryOperation operation, object? argument)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (3)
70if (semanticModel.GetOperation(parentBinary) is IBinaryOperation parentBinaryOp && 71semanticModel.GetOperation(innerBinary) is IBinaryOperation innerBinaryOp) 84static bool IsArithmetic(IBinaryOperation op)
Microsoft.CodeAnalysis.BannedApiAnalyzers (12)
RestrictedInternalsVisibleToAnalyzer.cs (1)
96IBinaryOperation binary => binary.OperatorMethod,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
209countBinaryOperator(operation, ((IBinaryOperation)operation).OperatorKind);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
337var binaryOperation = (IBinaryOperation)operation;
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
245public static bool IsComparisonOperator(this IBinaryOperation binaryOperation)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (3)
70if (semanticModel.GetOperation(parentBinary) is IBinaryOperation parentBinaryOp && 71semanticModel.GetOperation(innerBinary) is IBinaryOperation innerBinaryOp) 84static bool IsArithmetic(IBinaryOperation op)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (3)
147if (operation is IBinaryOperation binaryOperation) 378IBinaryOperation binaryOperation, 407IBinaryOperation binaryOperation,
SymbolIsBannedAnalyzerBase.cs (1)
118case IBinaryOperation binary:
Microsoft.CodeAnalysis.CodeStyle (15)
src\Analyzers\Core\Analyzers\Helpers\HashCodeAnalyzer\HashCodeAnalyzer.OperationDeconstructor.cs (3)
50case IBinaryOperation topBinary: 56topBinary.LeftOperand is IBinaryOperation leftBinary && 95if (conditional.Condition is IBinaryOperation binary &&
src\Analyzers\Core\Analyzers\RemoveRedundantEquality\AbstractRemoveRedundantEqualityDiagnosticAnalyzer.cs (2)
61var operation = (IBinaryOperation)context.Operation;
src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (1)
353if (operation.Parent is IBinaryOperation)
src\Analyzers\Core\Analyzers\UseCompoundAssignment\AbstractUseCompoundAssignmentDiagnosticAnalyzer.cs (4)
151var operation = (IBinaryOperation)semanticModel.GetRequiredOperation(binaryExpression, cancellationToken); 171var operation = (IBinaryOperation)semanticModel.GetRequiredOperation(binaryExpression, cancellationToken);
src\Analyzers\Core\Analyzers\UseConditionalExpression\ForAssignment\UseConditionalExpressionForAssignmentHelpers.cs (1)
163if (current is IBinaryOperation { OperatorKind: BinaryOperatorKind.Equals or BinaryOperatorKind.NotEquals } binaryOperation)
src\Analyzers\Core\Analyzers\UseThrowExpression\AbstractUseThrowExpressionDiagnosticAnalyzer.cs (1)
214if (condition is not IBinaryOperation binaryOperator)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (3)
70if (semanticModel.GetOperation(parentBinary) is IBinaryOperation parentBinaryOp && 71semanticModel.GetOperation(innerBinary) is IBinaryOperation innerBinaryOp) 84static bool IsArithmetic(IBinaryOperation op)
Microsoft.CodeAnalysis.CodeStyle.Fixes (3)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (3)
147if (operation is IBinaryOperation binaryOperation) 378IBinaryOperation binaryOperation, 407IBinaryOperation binaryOperation,
Microsoft.CodeAnalysis.CSharp (3)
Operations\CSharpOperationFactory.cs (3)
1483IBinaryOperation createBoundUserDefinedConditionalLogicalOperator(BoundUserDefinedConditionalLogicalOperator boundBinaryOperator, IOperation left, IOperation right) 1507private IBinaryOperation CreateBoundBinaryOperatorOperation(BoundBinaryOperator boundBinaryOperator, IOperation left, IOperation right) 1544static IBinaryOperation createBoundBinaryOperatorOperation(
Microsoft.CodeAnalysis.CSharp.CodeStyle (16)
src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseIndexOperatorDiagnosticAnalyzer.cs (1)
170!IsSubtraction(argumentValue, out var subtraction))
src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseRangeOperatorDiagnosticAnalyzer.cs (2)
185if (IsSubtraction(startOperation, out var subtraction)) 232if (!IsSubtraction(invocation.Arguments[1].Value, out var subtraction) ||
src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\Helpers.cs (2)
53public static bool IsSubtraction(IOperation operation, [NotNullWhen(true)] out IBinaryOperation? subtraction) 55if (operation is IBinaryOperation { OperatorKind: BinaryOperatorKind.Subtract } binaryOperation)
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsAnalyzer.cs (9)
43case IBinaryOperation { OperatorKind: BinaryOperatorKind.Equals } op: 46case IBinaryOperation { OperatorKind: NotEquals } op: 49case IBinaryOperation { OperatorKind: ConditionalOr, Syntax: BinaryExpressionSyntax syntax } op: 52case IBinaryOperation { OperatorKind: ConditionalAnd, Syntax: BinaryExpressionSyntax syntax } op: 55case IBinaryOperation op when IsRelationalOperator(op.OperatorKind): 74private static AnalyzedPattern? ParseBinaryPattern(IBinaryOperation op, bool isDisjunctive, SyntaxToken token) 87private static ConstantResult DetermineConstant(IBinaryOperation op) 97private static AnalyzedPattern? ParseRelationalPattern(IBinaryOperation op) 112private static AnalyzedPattern? ParseConstantPattern(IBinaryOperation op)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1049if (operation.UnwrapImplicitConversion() is IBinaryOperation binaryOperation) 1545if (operation is IBinaryOperation { OperatorMethod: not null })
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (11)
src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (8)
156if (operand is not IBinaryOperation 659if (operation is IBinaryOperation binOp) 738(true, IBinaryOperation { OperatorKind: BinaryOperatorKind.ConditionalAnd } andOp) 745(false, IBinaryOperation { OperatorKind: BinaryOperatorKind.ConditionalOr } orOp) 750(true, IBinaryOperation 758(false, IBinaryOperation 802(true, IBinaryOperation 814(false, IBinaryOperation
src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (3)
162if (IsSubtraction(result.InvocationOperation.Arguments[0].Value, out var subtraction) && 176if (IsSubtraction(result.InvocationOperation.Arguments[1].Value, out var subtraction) && 280if (IsSubtraction(rangeOperation, out var subtraction) &&
Microsoft.CodeAnalysis.CSharp.Features (25)
src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseIndexOperatorDiagnosticAnalyzer.cs (1)
170!IsSubtraction(argumentValue, out var subtraction))
src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseRangeOperatorDiagnosticAnalyzer.cs (2)
185if (IsSubtraction(startOperation, out var subtraction)) 232if (!IsSubtraction(invocation.Arguments[1].Value, out var subtraction) ||
src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\Helpers.cs (2)
53public static bool IsSubtraction(IOperation operation, [NotNullWhen(true)] out IBinaryOperation? subtraction) 55if (operation is IBinaryOperation { OperatorKind: BinaryOperatorKind.Subtract } binaryOperation)
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsAnalyzer.cs (9)
43case IBinaryOperation { OperatorKind: BinaryOperatorKind.Equals } op: 46case IBinaryOperation { OperatorKind: NotEquals } op: 49case IBinaryOperation { OperatorKind: ConditionalOr, Syntax: BinaryExpressionSyntax syntax } op: 52case IBinaryOperation { OperatorKind: ConditionalAnd, Syntax: BinaryExpressionSyntax syntax } op: 55case IBinaryOperation op when IsRelationalOperator(op.OperatorKind): 74private static AnalyzedPattern? ParseBinaryPattern(IBinaryOperation op, bool isDisjunctive, SyntaxToken token) 87private static ConstantResult DetermineConstant(IBinaryOperation op) 97private static AnalyzedPattern? ParseRelationalPattern(IBinaryOperation op) 112private static AnalyzedPattern? ParseConstantPattern(IBinaryOperation op)
src\Analyzers\CSharp\CodeFixes\ConvertToRecord\ConvertToRecordHelpers.cs (8)
156if (operand is not IBinaryOperation 659if (operation is IBinaryOperation binOp) 738(true, IBinaryOperation { OperatorKind: BinaryOperatorKind.ConditionalAnd } andOp) 745(false, IBinaryOperation { OperatorKind: BinaryOperatorKind.ConditionalOr } orOp) 750(true, IBinaryOperation 758(false, IBinaryOperation 802(true, IBinaryOperation 814(false, IBinaryOperation
src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseRangeOperatorCodeFixProvider.cs (3)
162if (IsSubtraction(result.InvocationOperation.Arguments[0].Value, out var subtraction) && 176if (IsSubtraction(result.InvocationOperation.Arguments[1].Value, out var subtraction) && 280if (IsSubtraction(rangeOperation, out var subtraction) &&
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (3)
Microsoft.NetCore.Analyzers\Runtime\CSharpUseSpanBasedStringConcat.cs (3)
13private protected override bool IsTopMostConcatOperation(IBinaryOperation binaryOperation) 16(binaryOperation.Parent is not IBinaryOperation parentBinary || !IsConcatOperation(parentBinary)); 18static bool IsConcatOperation(IBinaryOperation operation)
Microsoft.CodeAnalysis.CSharp.Workspaces (2)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1049if (operation.UnwrapImplicitConversion() is IBinaryOperation binaryOperation) 1545if (operation is IBinaryOperation { OperatorMethod: not null })
Microsoft.CodeAnalysis.Features (27)
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (12)
208if (operation is IBinaryOperation { OperatorKind: ConditionalOr } op) 254private ConstantResult DetermineConstant(IBinaryOperation op) 281case IBinaryOperation { OperatorKind: ConditionalAnd } op 285case IBinaryOperation { OperatorKind: BinaryOperatorKind.Equals } op: 295case IBinaryOperation { OperatorKind: NotEquals } op 299case IBinaryOperation op 305case IBinaryOperation { OperatorKind: ConditionalAnd } op 347private AnalyzedPattern? ParseRelationalPattern(IBinaryOperation op) 375private (SyntaxNode Lower, SyntaxNode Higher) GetRangeBounds(IBinaryOperation op) 378{ LeftOperand: IBinaryOperation left, RightOperand: IBinaryOperation right }) 396private static (BoundKind Kind, IOperation Expression, IOperation Value) GetRangeBound(IBinaryOperation op)
InitializeParameter\AbstractAddParameterCheckCodeRefactoringProvider.cs (2)
267if (condition is IBinaryOperation binaryOperator) 307if (condition is IBinaryOperation { OperatorKind: BinaryOperatorKind.LessThan or BinaryOperatorKind.LessThanOrEqual or BinaryOperatorKind.GreaterThan or BinaryOperatorKind.GreaterThanOrEqual } binaryOperator &&
src\Analyzers\Core\Analyzers\Helpers\HashCodeAnalyzer\HashCodeAnalyzer.OperationDeconstructor.cs (3)
50case IBinaryOperation topBinary: 56topBinary.LeftOperand is IBinaryOperation leftBinary && 95if (conditional.Condition is IBinaryOperation binary &&
src\Analyzers\Core\Analyzers\RemoveRedundantEquality\AbstractRemoveRedundantEqualityDiagnosticAnalyzer.cs (2)
61var operation = (IBinaryOperation)context.Operation;
src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (1)
353if (operation.Parent is IBinaryOperation)
src\Analyzers\Core\Analyzers\UseCompoundAssignment\AbstractUseCompoundAssignmentDiagnosticAnalyzer.cs (4)
151var operation = (IBinaryOperation)semanticModel.GetRequiredOperation(binaryExpression, cancellationToken); 171var operation = (IBinaryOperation)semanticModel.GetRequiredOperation(binaryExpression, cancellationToken);
src\Analyzers\Core\Analyzers\UseConditionalExpression\ForAssignment\UseConditionalExpressionForAssignmentHelpers.cs (1)
163if (current is IBinaryOperation { OperatorKind: BinaryOperatorKind.Equals or BinaryOperatorKind.NotEquals } binaryOperation)
src\Analyzers\Core\Analyzers\UseThrowExpression\AbstractUseThrowExpressionDiagnosticAnalyzer.cs (1)
214if (condition is not IBinaryOperation binaryOperator)
ValueTracking\ValueTracker.OperationCollector.cs (1)
240or IBinaryOperation
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (10)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
209countBinaryOperator(operation, ((IBinaryOperation)operation).OperatorKind);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
337var binaryOperation = (IBinaryOperation)operation;
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
245public static bool IsComparisonOperator(this IBinaryOperation binaryOperation)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (3)
70if (semanticModel.GetOperation(parentBinary) is IBinaryOperation parentBinaryOp && 71semanticModel.GetOperation(innerBinary) is IBinaryOperation innerBinaryOp) 84static bool IsArithmetic(IBinaryOperation op)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (3)
147if (operation is IBinaryOperation binaryOperation) 378IBinaryOperation binaryOperation, 407IBinaryOperation binaryOperation,
Microsoft.CodeAnalysis.PublicApiAnalyzers (7)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
209countBinaryOperator(operation, ((IBinaryOperation)operation).OperatorKind);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
337var binaryOperation = (IBinaryOperation)operation;
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
245public static bool IsComparisonOperator(this IBinaryOperation binaryOperation)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (3)
70if (semanticModel.GetOperation(parentBinary) is IBinaryOperation parentBinaryOp && 71semanticModel.GetOperation(innerBinary) is IBinaryOperation innerBinaryOp) 84static bool IsArithmetic(IBinaryOperation op)
Microsoft.CodeAnalysis.ResxSourceGenerator (7)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
209countBinaryOperator(operation, ((IBinaryOperation)operation).OperatorKind);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
337var binaryOperation = (IBinaryOperation)operation;
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
245public static bool IsComparisonOperator(this IBinaryOperation binaryOperation)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (3)
70if (semanticModel.GetOperation(parentBinary) is IBinaryOperation parentBinaryOp && 71semanticModel.GetOperation(innerBinary) is IBinaryOperation innerBinaryOp) 84static bool IsArithmetic(IBinaryOperation op)
Microsoft.CodeAnalysis.Test.Utilities (18)
Compilation\ControlFlowGraphVerifier.cs (3)
944if (reference.Parent is IBinaryOperation binOp) 1875var binary = (IBinaryOperation)n;
Compilation\OperationTreeVerifier.cs (2)
1168public override void VisitBinaryOperator(IBinaryOperation operation) 1170LogString(nameof(IBinaryOperation));
Compilation\TestOperationVisitor.cs (1)
761public override void VisitBinaryOperator(IBinaryOperation operation)
Diagnostics\OperationTestAnalyzer.cs (12)
154IBinaryOperation condition = (IBinaryOperation)forCondition; 245IBinaryOperation advanceOperation = (IBinaryOperation)advanceAssignment.Value; 1515IBinaryOperation binary = (IBinaryOperation)operationContext.Operation; 1569var binary = (IBinaryOperation)operationContext.Operation; 1608var binary = (IBinaryOperation)operationContext.Operation; 1788var binary = (IBinaryOperation)operation;
Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers (3)
Microsoft.NetCore.Analyzers\Runtime\BasicUseSpanBasedStringConcat.vb (3)
13Private Protected Overrides Function IsTopMostConcatOperation(binaryOperation As IBinaryOperation) As Boolean 18Dim parentBinaryOperation = TryCast(WalkUpImplicitConversionToObject(binaryOperation.Parent), IBinaryOperation) 27Private Shared Function IsStringConcatOperation(operation As IBinaryOperation) As Boolean
Microsoft.CodeAnalysis.Workspaces (6)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (3)
70if (semanticModel.GetOperation(parentBinary) is IBinaryOperation parentBinaryOp && 71semanticModel.GetOperation(innerBinary) is IBinaryOperation innerBinaryOp) 84static bool IsArithmetic(IBinaryOperation op)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (3)
147if (operation is IBinaryOperation binaryOperation) 378IBinaryOperation binaryOperation, 407IBinaryOperation binaryOperation,
Roslyn.Diagnostics.Analyzers (11)
AbstractDoNotCopyValue.cs (1)
437public override void VisitBinaryOperator(IBinaryOperation operation)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
209countBinaryOperator(operation, ((IBinaryOperation)operation).OperatorKind);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
337var binaryOperation = (IBinaryOperation)operation;
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
245public static bool IsComparisonOperator(this IBinaryOperation binaryOperation)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (3)
70if (semanticModel.GetOperation(parentBinary) is IBinaryOperation parentBinaryOp && 71semanticModel.GetOperation(innerBinary) is IBinaryOperation innerBinaryOp) 84static bool IsArithmetic(IBinaryOperation op)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (3)
147if (operation is IBinaryOperation binaryOperation) 378IBinaryOperation binaryOperation, 407IBinaryOperation binaryOperation,
Roslyn.Diagnostics.CSharp.Analyzers (2)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1049if (operation.UnwrapImplicitConversion() is IBinaryOperation binaryOperation) 1545if (operation is IBinaryOperation { OperatorMethod: not null })
Test.Utilities (2)
IOperationExtensions.cs (2)
396public static bool IsComparisonOperator(this IBinaryOperation binaryOperation) 415public static bool IsAdditionOrSubstractionOperation(this IBinaryOperation binaryOperation, out char binaryOperator)
Text.Analyzers (10)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (1)
209countBinaryOperator(operation, ((IBinaryOperation)operation).OperatorKind);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
337var binaryOperation = (IBinaryOperation)operation;
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (1)
245public static bool IsComparisonOperator(this IBinaryOperation binaryOperation)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFactsExtensions.cs (3)
70if (semanticModel.GetOperation(parentBinary) is IBinaryOperation parentBinaryOp && 71semanticModel.GetOperation(innerBinary) is IBinaryOperation innerBinaryOp) 84static bool IsArithmetic(IBinaryOperation op)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_Negate.cs (3)
147if (operation is IBinaryOperation binaryOperation) 378IBinaryOperation binaryOperation, 407IBinaryOperation binaryOperation,