1 instantiation of BinaryExpressionSyntax
Microsoft.CodeAnalysis.CSharp (1)
Syntax.xml.Internal.Generated.cs (1)
2768internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.BinaryExpressionSyntax(this, parent, position);
734 references to BinaryExpressionSyntax
Microsoft.Analyzers.Local (1)
CallAnalysis\Throws.cs (1)
49if (throwExpression.Parent is BinaryExpressionSyntax binaryExpression)
Microsoft.AspNetCore.App.Analyzers (1)
RouteEmbeddedLanguage\Infrastructure\SyntaxNodeExtensions.cs (1)
41=> node is BinaryExpressionSyntax;
Microsoft.CodeAnalysis.CSharp (58)
Binder\Binder.IdentifierUsedAsValueFinder.cs (2)
77!(id.Parent is BinaryExpressionSyntax { RawKind: (int)SyntaxKind.IsExpression } isExpression && 157!(expression.Parent is BinaryExpressionSyntax { RawKind: (int)SyntaxKind.IsExpression } isExpression &&
Binder\Binder_Expressions.cs (7)
655return BindSimpleBinaryOperator((BinaryExpressionSyntax)node, diagnostics); 659return BindConditionalLogicalOperator((BinaryExpressionSyntax)node, diagnostics); 661return BindNullCoalescingOperator((BinaryExpressionSyntax)node, diagnostics); 672return BindIsOperator((BinaryExpressionSyntax)node, diagnostics); 675return BindAsOperator((BinaryExpressionSyntax)node, diagnostics); 911var binaryParent = (BinaryExpressionSyntax)parent;
Binder\Binder_Operators.cs (20)
766BinaryExpressionSyntax node, 849private BoundExpression BindSimpleBinaryOperator(BinaryExpressionSyntax node, BindingDiagnosticBag diagnostics) 858var syntaxNodes = ArrayBuilder<BinaryExpressionSyntax>.GetInstance(); 863var binOp = (BinaryExpressionSyntax)current; 892BinaryExpressionSyntax syntaxNode = syntaxNodes.Pop(); 904private BoundExpression BindSimpleBinaryOperator(BinaryExpressionSyntax node, BindingDiagnosticBag diagnostics, 1098private bool BindSimpleBinaryOperatorParts(BinaryExpressionSyntax node, BindingDiagnosticBag diagnostics, BoundExpression left, BoundExpression right, BinaryOperatorKind kind, 1118BinaryExpressionSyntax node, 1239left = BindSimpleBinaryOperator((BinaryExpressionSyntax)current.Syntax, diagnostics, left ?? current.Left, right, leaveUnconvertedIfInterpolatedString: false); 1342private BoundExpression BindConditionalLogicalOperator(BinaryExpressionSyntax node, BindingDiagnosticBag diagnostics) 1348BinaryExpressionSyntax binary = node; 1354var childAsBinary = child as BinaryExpressionSyntax; 1369binary = (BinaryExpressionSyntax)child.Parent; 1379private BoundExpression BindConditionalLogicalOperator(BinaryExpressionSyntax node, BoundExpression left, BoundExpression right, BindingDiagnosticBag diagnostics) 4644private BoundExpression BindIsOperator(BinaryExpressionSyntax node, BindingDiagnosticBag diagnostics) 5115private BoundExpression BindAsOperator(BinaryExpressionSyntax node, BindingDiagnosticBag diagnostics) 5397private BoundExpression GenerateNullCoalescingBadBinaryOpsError(BinaryExpressionSyntax node, BoundExpression leftOperand, BoundExpression rightOperand, BindingDiagnosticBag diagnostics) 5407private BoundExpression BindNullCoalescingOperator(BinaryExpressionSyntax node, BindingDiagnosticBag diagnostics)
Binder\Binder_TupleOperators.cs (5)
25private BoundTupleBinaryOperator BindTupleBinaryOperator(BinaryExpressionSyntax node, BinaryOperatorKind kind, 82private TupleBinaryOperatorInfo BindTupleBinaryOperatorInfo(BinaryExpressionSyntax node, BinaryOperatorKind kind, 125private void PrepareBoolConversionAndTruthOperator(TypeSymbol type, BinaryExpressionSyntax node, BinaryOperatorKind binaryOperator, BindingDiagnosticBag diagnostics, 179private TupleBinaryOperatorInfo BindTupleDynamicBinaryOperatorSingleInfo(BinaryExpressionSyntax node, BinaryOperatorKind kind, 202private TupleBinaryOperatorInfo.Multiple BindTupleBinaryOperatorNestedInfo(BinaryExpressionSyntax node, BinaryOperatorKind kind,
Binder\ExpressionVariableFinder.cs (4)
316public override void VisitBinaryExpression(BinaryExpressionSyntax node) 327var binOp = (BinaryExpressionSyntax)current; 331while (current is BinaryExpressionSyntax);
Binder\LocalBinderFactory.cs (3)
978public override void VisitBinaryExpression(BinaryExpressionSyntax node) 989var binOp = node.Left as BinaryExpressionSyntax;
Compiler\MethodCompiler.cs (3)
2189!(expression.Parent is BinaryExpressionSyntax { RawKind: (int)SyntaxKind.IsExpression } isExpression && 2229!(id.Parent is BinaryExpressionSyntax { RawKind: (int)SyntaxKind.IsExpression } isExpression && 2276if (parent is BinaryExpressionSyntax { RawKind: (int)SyntaxKind.IsExpression } isExpression && isExpression.Right == child)
Syntax.xml.Main.Generated.cs (6)
112public virtual TResult? VisitBinaryExpression(BinaryExpressionSyntax node) => this.DefaultVisit(node); 856public virtual void VisitBinaryExpression(BinaryExpressionSyntax node) => this.DefaultVisit(node); 1599public override SyntaxNode? VisitBinaryExpression(BinaryExpressionSyntax node) 2746public static BinaryExpressionSyntax BinaryExpression(SyntaxKind kind, ExpressionSyntax left, SyntaxToken operatorToken, ExpressionSyntax right) 2802return (BinaryExpressionSyntax)Syntax.InternalSyntax.SyntaxFactory.BinaryExpression(kind, (Syntax.InternalSyntax.ExpressionSyntax)left.Green, (Syntax.InternalSyntax.SyntaxToken)operatorToken.Node!, (Syntax.InternalSyntax.ExpressionSyntax)right.Green).CreateRed(); 2806public static BinaryExpressionSyntax BinaryExpression(SyntaxKind kind, ExpressionSyntax left, ExpressionSyntax right)
Syntax.xml.Syntax.Generated.cs (5)
1734public BinaryExpressionSyntax Update(ExpressionSyntax left, SyntaxToken operatorToken, ExpressionSyntax right) 1738var newNode = SyntaxFactory.BinaryExpression(this.Kind(), left, operatorToken, right); 1746public BinaryExpressionSyntax WithLeft(ExpressionSyntax left) => Update(left, this.OperatorToken, this.Right); 1747public BinaryExpressionSyntax WithOperatorToken(SyntaxToken operatorToken) => Update(this.Left, operatorToken, this.Right); 1748public BinaryExpressionSyntax WithRight(ExpressionSyntax right) => Update(this.Left, this.OperatorToken, right);
Syntax\SyntaxFacts.cs (1)
139return ((BinaryExpressionSyntax)parent).Right == node;
Syntax\SyntaxNormalizer.cs (2)
659(token.Parent is BinaryExpressionSyntax && BinaryTokenNeedsSeparator(token.Kind())) || 660(next.Parent is BinaryExpressionSyntax && BinaryTokenNeedsSeparator(next.Kind())))
Microsoft.CodeAnalysis.CSharp.Analyzers (4)
MetaAnalyzers\Fixers\CSharpPreferIsKindFix.cs (4)
24var binaryExpression = root.FindNode(span, getInnermostNodeForTie: true).FirstAncestorOrSelf<BinaryExpressionSyntax>(); 43var binaryExpression = (BinaryExpressionSyntax)nodeToFix;
Microsoft.CodeAnalysis.CSharp.CodeStyle (73)
src\Analyzers\CSharp\Analyzers\AddRequiredParentheses\CSharpAddRequiredExpressionParenthesesDiagnosticAnalyzer.cs (2)
53=> node is BinaryExpressionSyntax || 61case BinaryExpressionSyntax binaryExpression:
src\Analyzers\CSharp\Analyzers\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessAnalyzer.cs (4)
95var condition = (BinaryExpressionSyntax)ifStatement.Condition; 113BinaryExpressionSyntax condition, 219BinaryExpressionSyntax condition,
src\Analyzers\CSharp\Analyzers\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionDiagnosticAnalyzer.cs (1)
33BinaryExpressionSyntax binary => binary.Left,
src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryCast\CSharpRemoveUnnecessaryCastDiagnosticAnalyzer.cs (1)
32BinaryExpressionSyntax binary => TextSpan.FromBounds(binary.OperatorToken.SpanStart, node.Span.End),
src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryExpressionParenthesesDiagnosticAnalyzer.cs (1)
71case BinaryExpressionSyntax binaryExpression:
src\Analyzers\CSharp\Analyzers\SimplifyLinqExpression\CSharpSimplifyLinqTypeCheckAndCastDiagnosticAnalyzer.cs (1)
72if (whereLambda.Body is not BinaryExpressionSyntax(kind: SyntaxKind.IsExpression)
src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckDiagnosticAnalyzer.cs (1)
43if (condition is BinaryExpressionSyntax(SyntaxKind.EqualsExpression) { Right: LiteralExpressionSyntax(SyntaxKind.NullLiteralExpression) } binary)
src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
20BinaryExpressionSyntax,
src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
20BinaryExpressionSyntax>
src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerAnalyzer.cs (1)
129if (currentArgumentExpression is BinaryExpressionSyntax binaryExpression)
src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundAssignmentDiagnosticAnalyzer.cs (1)
15: AbstractUseCompoundAssignmentDiagnosticAnalyzer<SyntaxKind, AssignmentExpressionSyntax, BinaryExpressionSyntax>(
src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (3)
54var coalesceExpression = (BinaryExpressionSyntax)context.Node; 179if (condition is BinaryExpressionSyntax(SyntaxKind.EqualsExpression) { Right: LiteralExpressionSyntax(SyntaxKind.NullLiteralExpression) } binaryExpression)
src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseIndexOperatorDiagnosticAnalyzer.cs (1)
175if (subtraction.Syntax is not BinaryExpressionSyntax binaryExpression)
src\Analyzers\CSharp\Analyzers\UseIsNullCheck\CSharpUseIsNullCheckForCastAndEqualityOperatorDiagnosticAnalyzer.cs (2)
52var binaryExpression = (BinaryExpressionSyntax)context.Node;
src\Analyzers\CSharp\Analyzers\UseIsNullCheck\CSharpUseNullCheckOverTypeCheckDiagnosticAnalyzer.cs (1)
92if (!ShouldAnalyze(context, out var notificationOption) || syntax is not BinaryExpressionSyntax)
src\Analyzers\CSharp\Analyzers\UseLocalFunction\CSharpUseLocalFunctionDiagnosticAnalyzer.cs (1)
267if (nodeToCheck.Parent is BinaryExpressionSyntax)
src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (1)
22BinaryExpressionSyntax,
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\AnalyzedPattern.cs (1)
31public static Type? TryCreate(BinaryExpressionSyntax binaryExpression, IIsTypeOperation operation)
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsAnalyzer.cs (3)
49case IBinaryOperation { OperatorKind: ConditionalOr, Syntax: BinaryExpressionSyntax syntax } op: 52case IBinaryOperation { OperatorKind: ConditionalAnd, Syntax: BinaryExpressionSyntax syntax } op: 61case IIsTypeOperation { Syntax: BinaryExpressionSyntax binaryExpression } op:
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndMemberAccessDiagnosticAnalyzer.cs (3)
63var asExpression = (BinaryExpressionSyntax)context.Node; 66asExpression, out var conditionalAccessExpression, out var binaryExpression, out var isPatternExpression, out var requiredLanguageVersion))
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.cs (3)
74BinaryExpressionSyntax binaryExpression => (binaryExpression.Left, (SyntaxNode)binaryExpression.Right), 98out var asExpression, 272[NotNullWhen(true)] out BinaryExpressionSyntax? asExpression,
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpIsAndCastCheckDiagnosticAnalyzer.cs (3)
73var isExpression = (BinaryExpressionSyntax)syntaxContext.Node; 162BinaryExpressionSyntax isExpression,
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpUseNotPatternDiagnosticAnalyzer.cs (1)
81BinaryExpressionSyntax(SyntaxKind.IsExpression) { Right: TypeSyntax type } isExpression
src\Analyzers\CSharp\Analyzers\UsePatternMatching\UsePatternMatchingHelpers.cs (4)
15BinaryExpressionSyntax asExpression, 17out BinaryExpressionSyntax? binaryExpression, 54if (conditionalAccessExpression.Parent is BinaryExpressionSyntax(SyntaxKind.EqualsExpression) parentBinaryExpression1 && 64BinaryExpressionSyntax(
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (5)
560var isOrAsExpression = (BinaryExpressionSyntax)expression.Parent; 621BinaryExpressionSyntax or 925BinaryExpressionSyntax binaryExpression => GetTargetTypeForBinaryExpression(binaryExpression, topExpression), 1089ITypeSymbol? GetTargetTypeForBinaryExpression(BinaryExpressionSyntax binaryExpression, ExpressionSyntax expression)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (7)
263nodeParent is BinaryExpressionSyntax(SyntaxKind.CoalesceExpression) binary && 435if (expression is not (BinaryExpressionSyntax or AssignmentExpressionSyntax)) 441if (parentExpression is BinaryExpressionSyntax parentBinaryExpression) 459node.Expression.IsKind(parentBinaryExpression.Kind(), out BinaryExpressionSyntax? nodeBinary)) 584if (node.Parent is BinaryExpressionSyntax binaryExpression && 659previousExpression is not BinaryExpressionSyntax(SyntaxKind.LessThanExpression) lessThanExpression) 694nextExpression is not BinaryExpressionSyntax(SyntaxKind.GreaterThanExpression) greaterThanExpression)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SpacingFormattingRule.cs (2)
327if (currentToken.Parent is BinaryExpressionSyntax || 328previousToken.Parent is BinaryExpressionSyntax ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (6)
111(SyntaxFacts.IsBinaryExpression(kind) && (token.Parent is BinaryExpressionSyntax or OperatorDeclarationSyntax or RelationalPatternSyntax)) || 1381var isPatternExpression = (BinaryExpressionSyntax)node; 1484=> node is BinaryExpressionSyntax; 1552var binaryExpression = (BinaryExpressionSyntax)node;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (5)
50BinaryExpressionSyntax binaryExpression => IsUnnecessaryAsCast(binaryExpression, semanticModel, cancellationToken), 54public static bool IsUnnecessaryAsCast(BinaryExpressionSyntax cast, SemanticModel semanticModel, CancellationToken cancellationToken) 126if (leftOrRightChild.Parent is BinaryExpressionSyntax(SyntaxKind.EqualsExpression or SyntaxKind.NotEqualsExpression) binary) 504if (castNode.WalkUpParentheses().Parent is BinaryExpressionSyntax(SyntaxKind.IsExpression) isExpression && 1046is BinaryExpressionSyntax(SyntaxKind.EqualsExpression or SyntaxKind.NotEqualsExpression) parentBinary)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (6)
310if (currentOriginalNode is BinaryExpressionSyntax binaryExpression) 313return ReplacementBreaksBinaryExpression(binaryExpression, (BinaryExpressionSyntax)currentReplacedNode); 671private bool ReplacementBreaksBinaryExpression(BinaryExpressionSyntax binaryExpression, BinaryExpressionSyntax newBinaryExpression) 692private bool ReplacementBreaksIsOrAsExpression(BinaryExpressionSyntax originalIsOrAsExpression, BinaryExpressionSyntax newIsOrAsExpression)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (35)
src\Analyzers\CSharp\CodeFixes\DisambiguateSameVariable\CSharpDisambiguateSameVariableCodeFixProvider.cs (1)
64BinaryExpressionSyntax binary => (binary.Left, binary.Right, CSharpCodeFixesResources.Compare_to_0),
src\Analyzers\CSharp\CodeFixes\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionCodeFixProvider.cs (1)
80BinaryExpressionSyntax binary => binary.Left,
src\Analyzers\CSharp\CodeFixes\RemoveUnnecessaryCast\CSharpRemoveUnnecessaryCastCodeFixProvider.cs (1)
75else if (old is BinaryExpressionSyntax binaryExpression)
src\Analyzers\CSharp\CodeFixes\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentCodeFixProvider.cs (2)
102var currentCoalesce = (BinaryExpressionSyntax)currentCoalesceNode;
src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseIndexOperatorCodeFixProvider.cs (1)
46(currentNode, _) => IndexExpression(((BinaryExpressionSyntax)currentNode).Right));
src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseIsNullCheckForCastAndEqualityOperatorCodeFixProvider.cs (6)
61var binary = (BinaryExpressionSyntax)diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken: cancellationToken); 65(current, g) => Rewrite((BinaryExpressionSyntax)current)); 71private static ExpressionSyntax Rewrite(BinaryExpressionSyntax binary) 93private static IsPatternExpressionSyntax RewriteWorker(BinaryExpressionSyntax binary) 99BinaryExpressionSyntax binary, ExpressionSyntax expr, ExpressionSyntax nullLiteral)
src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseNullCheckOverTypeCheckCodeFixProvider.cs (1)
47BinaryExpressionSyntax binary =>
src\Analyzers\CSharp\CodeFixes\UseNullPropagation\CSharpUseNullPropagationCodeFixProvider.cs (1)
25BinaryExpressionSyntax,
src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndMemberAccessCodeFixProvider.cs (3)
52if (node is not BinaryExpressionSyntax asExpression) 56asExpression, out var conditionalAccessExpression, out var binaryExpression, out var isPatternExpression, out _)) 118BinaryExpressionSyntax? binaryExpression, IsPatternExpressionSyntax? isPatternExpression)
src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndNullCheckCodeFixProvider.cs (4)
96var asExpression = (BinaryExpressionSyntax)asExpressionLocation.FindNode(cancellationToken); 98var rightSideOfComparison = comparison is BinaryExpressionSyntax binaryExpression 163BinaryExpressionSyntax asExpression,
src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpIsAndCastCheckCodeFixProvider.cs (2)
59var isExpression = (BinaryExpressionSyntax)ifStatement.Condition;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\EnumMemberGenerator.cs (2)
121var binaryExpression = (BinaryExpressionSyntax)lastExpression;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (1)
347if (targetToken.Parent is BinaryExpressionSyntax binary)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (3)
1526if (typeSyntax.Parent is BinaryExpressionSyntax binaryExpressionSyntax && 2308if (token.Parent is BinaryExpressionSyntax binary) 3034token.Parent?.Parent is BinaryExpressionSyntax(SyntaxKind.IsExpression) binaryExpression &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (1)
103var replacementNode = BinaryExpression(
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (5)
54if (node is BinaryExpressionSyntax binaryExpression) 148BinaryExpressionSyntax binaryExpression => InferTypeInBinaryOrAssignmentExpression(binaryExpression, binaryExpression.OperatorToken, binaryExpression.Left, binaryExpression.Right, expression), 214BinaryExpressionSyntax binaryExpression => InferTypeInBinaryOrAssignmentExpression(binaryExpression, binaryExpression.OperatorToken, binaryExpression.Left, binaryExpression.Right, previousToken: token), 952return InferTypeInCoalesceExpression((BinaryExpressionSyntax)binop, expressionOpt, previousToken); 1110BinaryExpressionSyntax coalesceExpression,
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (3)
Formatting\FormattingEngineTests.cs (1)
1821var entry = SyntaxFactory.BinaryExpression(SyntaxKind.EqualsExpression, SyntaxFactory.LiteralExpression(SyntaxKind.TrueLiteralExpression), SyntaxFactory.LiteralExpression(SyntaxKind.FalseLiteralExpression));
RefactoringHelpers\RefactoringHelpersTests.cs (2)
573=> TestNotUnderselectedAsync<BinaryExpressionSyntax>(""" 583=> TestUnderselectedAsync<BinaryExpressionSyntax>("""
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (36)
CodeGen\CodeGenTupleEqualityTests.cs (36)
713var equals = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 854var equals = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 902var equals = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 951var equals = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 1008var lastEquals = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Last(); 1707var addition = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Last(); 2574var firstEquals = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().First(); 2582var secondEquals = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Last(); 2642var equals = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Last(); 3278var comparison = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 3684var comparison = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 3808var comparison = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 3911var comparison = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 4036var comparison = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 4083var comparison = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().First(); 4276var comparison = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Last(); 5122var equals = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().First(); 5158var equals = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().First();
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (3)
Emit\NumericIntPtrTests.cs (3)
1975var nodes = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>(); 8132var expr = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single();
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (72)
FlowAnalysis\RegionAnalysisTests.cs (6)
14176var binOps = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().ToArray(); 14178var add = binOps[0]; 14212var binOps = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().ToArray(); 14214var add = binOps[0]; 14258var binOps = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().ToArray(); 14261var binOp = binOps[0];
Semantics\ExtensionOperatorsTests.cs (60)
11550var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 11649var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 11697var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 11768var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 11829var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 11897var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 13254var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().Last(); 13792var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 14118var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 14881var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 14931var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 15101var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 15168var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 15293var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 16088var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 16139var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 17244var opNodes = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().ToArray(); 17384var opNodes = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().ToArray(); 17816var opNodes = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().ToArray(); 17889var opNodes = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().ToArray(); 18352var opNodes = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().ToArray(); 18402var opNodes = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().ToArray(); 18895var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 19022var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 19126var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 19186var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().Where(a => a.Kind() != SyntaxKind.AddExpression).First(); 19247var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 19286var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 19329var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().Where(a => a.Kind() is not (SyntaxKind.AddExpression or SyntaxKind.CoalesceExpression)).First(); 19807var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 19862var opNode = tree.GetRoot().DescendantNodes().OfType<Syntax.BinaryExpressionSyntax>().First(); 27616var binary = GetSyntax<BinaryExpressionSyntax>(tree, "new S() + new S()"); 27650var binary = GetSyntax<BinaryExpressionSyntax>(tree, "new S() + new S()");
Semantics\ExtensionTests.cs (4)
17360var binaryOp = GetSyntax<BinaryExpressionSyntax>(tree, "object.M + object.M"); 17393var binaryOp = GetSyntax<BinaryExpressionSyntax>(tree, "object.M + object.M");
Semantics\RecordTests.cs (2)
282var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single();
Microsoft.CodeAnalysis.CSharp.Features (126)
BraceCompletion\LessAndGreaterThanBraceCompletionService.cs (1)
52if (token.Parent is not BinaryExpressionSyntax(SyntaxKind.LessThanExpression) node || node.OperatorToken != token)
CodeRefactorings\InlineMethod\CSharpInlineMethodRefactoringProvider.cs (1)
112BinaryExpressionSyntax(kind: SyntaxKind.CoalesceExpression) binaryExpressionSyntax
CodeRefactorings\UseRecursivePatterns\UseRecursivePatternsCodeRefactoringProvider.cs (15)
75BinaryExpressionSyntax(LogicalAndExpression) logicalAnd => CombineLogicalAndOperands(logicalAnd, model), 86BinaryExpressionSyntax(LogicalAndExpression) => true, 94private static Func<SyntaxNode, SyntaxNode>? CombineLogicalAndOperands(BinaryExpressionSyntax logicalAnd, SemanticModel model) 151static SyntaxNode AdjustBinaryExpressionOperands(BinaryExpressionSyntax logicalAnd, ExpressionSyntax replacement) 156if (logicalAnd.Left is BinaryExpressionSyntax(LogicalAndExpression) leftExpression) 177case BinaryExpressionSyntax(LogicalAndExpression) logicalAnd: 278BinaryExpressionSyntax(EqualsExpression) => ConstantPattern(constant), 279BinaryExpressionSyntax(NotEqualsExpression) => UnaryPattern(ConstantPattern(constant)), 280BinaryExpressionSyntax(GreaterThanExpression or 337BinaryExpressionSyntax(EqualsExpression or 356BinaryExpressionSyntax(LogicalAndExpression) expr => TryDetermineReceiver(inWhenClause ? expr.Left : expr.Right, model, inWhenClause), 359BinaryExpressionSyntax(IsExpression) { Right: NullableTypeSyntax type } expr => (expr.Left, type.ElementType, Flipped: false), 360BinaryExpressionSyntax(IsExpression) { Right: TypeSyntax type } expr => (expr.Left, type, Flipped: false), 369static (ExpressionSyntax Expression, ExpressionSyntax Constant, bool Flipped)? TryDetermineConstant(BinaryExpressionSyntax node, SemanticModel model) 505if (exp is BinaryExpressionSyntax(NotEqualsExpression) binaryExpression)
Completion\CompletionProviders\CSharpSuggestionModeCompletionProvider.cs (1)
117if (token.Kind() == SyntaxKind.LessThanToken && token.Parent is BinaryExpressionSyntax)
Completion\CompletionProviders\DeclarationName\DeclarationNameInfo.cs (1)
488result = IsLastTokenOfType<BinaryExpressionSyntax>(
ConvertCast\CSharpConvertDirectCastToTryCastCodeRefactoringProvider.cs (3)
24: AbstractConvertCastCodeRefactoringProvider<TypeSyntax, CastExpressionSyntax, BinaryExpressionSyntax> 40protected override BinaryExpressionSyntax ConvertExpression(CastExpressionSyntax castExpression, NullableContext nullableContext, bool isReferenceType) 63var asExpression = BinaryExpression(SyntaxKind.AsExpression, expression, typeNode)
ConvertCast\CSharpConvertTryCastToDirectCastCodeRefactoringProvider.cs (3)
26: AbstractConvertCastCodeRefactoringProvider<TypeSyntax, BinaryExpressionSyntax, CastExpressionSyntax> 39protected override TypeSyntax GetTypeNode(BinaryExpressionSyntax expression) 42protected override CastExpressionSyntax ConvertExpression(BinaryExpressionSyntax asExpression, NullableContext nullableContext, bool isReferenceType)
ConvertForToForEach\CSharpConvertForToForEachCodeRefactoringProvider.cs (2)
57var binaryExpression = (BinaryExpressionSyntax)forStatement.Condition;
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.cs (1)
20: AbstractConvertIfToSwitchCodeRefactoringProvider<IfStatementSyntax, ExpressionSyntax, BinaryExpressionSyntax, PatternSyntax>
Debugging\CSharpProximityExpressionsService_ExpressionTermCollector.cs (1)
132if (expression is BinaryExpressionSyntax binaryExpression)
InitializeParameter\CSharpAddParameterCheckCodeRefactoringProvider.cs (1)
28BinaryExpressionSyntax,
InvertLogical\CSharpInvertLogicalCodeRefactoringProvider.cs (1)
16AbstractInvertLogicalCodeRefactoringProvider<SyntaxKind, ExpressionSyntax, BinaryExpressionSyntax>
ReverseForStatement\CSharpReverseForStatementCodeRefactoringProvider.cs (13)
62if (forStatement.Condition is not BinaryExpressionSyntax condition) 111VariableDeclaratorSyntax variable, BinaryExpressionSyntax condition, ExpressionSyntax after, 122VariableDeclaratorSyntax variable, BinaryExpressionSyntax condition, ExpressionSyntax after, 138VariableDeclaratorSyntax variable, BinaryExpressionSyntax condition, 206VariableDeclaratorSyntax variable, BinaryExpressionSyntax condition, 266var condition = (BinaryExpressionSyntax)forStatement.Condition!; 310if (expr is BinaryExpressionSyntax outerBinary) 318if (reducedLeft is BinaryExpressionSyntax innerLeft && 334reducedRight is BinaryExpressionSyntax innerRight && 344reducedLeft is BinaryExpressionSyntax innerLeft && 358private static BinaryExpressionSyntax Invert( 359VariableDeclaratorSyntax variable, BinaryExpressionSyntax condition, ExpressionSyntax operand)
SimplifyTypeNames\SimplifyTypeNamesCodeFixProvider.cs (1)
58var right = ((BinaryExpressionSyntax)annotatedexpressionSyntax).Right;
Snippets\AbstractCSharpForLoopSnippetProvider.cs (2)
101var conditionExpression = (BinaryExpressionSyntax)condition!;
Snippets\CSharpReversedForLoopSnippetProvider.cs (2)
42var binaryInitializer = (BinaryExpressionSyntax)initializer;
SplitStringLiteral\InterpolatedStringSplitter.cs (1)
36protected override BinaryExpressionSyntax CreateSplitString()
SplitStringLiteral\SimpleStringSplitter.cs (1)
38protected override BinaryExpressionSyntax CreateSplitString()
SplitStringLiteral\StringSplitter.cs (2)
83protected abstract BinaryExpressionSyntax CreateSplitString(); 109var splitString = CreateSplitString();
src\Analyzers\CSharp\Analyzers\AddRequiredParentheses\CSharpAddRequiredExpressionParenthesesDiagnosticAnalyzer.cs (2)
53=> node is BinaryExpressionSyntax || 61case BinaryExpressionSyntax binaryExpression:
src\Analyzers\CSharp\Analyzers\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessAnalyzer.cs (4)
95var condition = (BinaryExpressionSyntax)ifStatement.Condition; 113BinaryExpressionSyntax condition, 219BinaryExpressionSyntax condition,
src\Analyzers\CSharp\Analyzers\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionDiagnosticAnalyzer.cs (1)
33BinaryExpressionSyntax binary => binary.Left,
src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryCast\CSharpRemoveUnnecessaryCastDiagnosticAnalyzer.cs (1)
32BinaryExpressionSyntax binary => TextSpan.FromBounds(binary.OperatorToken.SpanStart, node.Span.End),
src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryParentheses\CSharpRemoveUnnecessaryExpressionParenthesesDiagnosticAnalyzer.cs (1)
71case BinaryExpressionSyntax binaryExpression:
src\Analyzers\CSharp\Analyzers\SimplifyLinqExpression\CSharpSimplifyLinqTypeCheckAndCastDiagnosticAnalyzer.cs (1)
72if (whereLambda.Body is not BinaryExpressionSyntax(kind: SyntaxKind.IsExpression)
src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForIfNullStatementCheckDiagnosticAnalyzer.cs (1)
43if (condition is BinaryExpressionSyntax(SyntaxKind.EqualsExpression) { Right: LiteralExpressionSyntax(SyntaxKind.NullLiteralExpression) } binary)
src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForNullableTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
20BinaryExpressionSyntax,
src\Analyzers\CSharp\Analyzers\UseCoalesceExpression\CSharpUseCoalesceExpressionForTernaryConditionalCheckDiagnosticAnalyzer.cs (1)
20BinaryExpressionSyntax>
src\Analyzers\CSharp\Analyzers\UseCollectionInitializer\CSharpUseCollectionInitializerAnalyzer.cs (1)
129if (currentArgumentExpression is BinaryExpressionSyntax binaryExpression)
src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundAssignmentDiagnosticAnalyzer.cs (1)
15: AbstractUseCompoundAssignmentDiagnosticAnalyzer<SyntaxKind, AssignmentExpressionSyntax, BinaryExpressionSyntax>(
src\Analyzers\CSharp\Analyzers\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentDiagnosticAnalyzer.cs (3)
54var coalesceExpression = (BinaryExpressionSyntax)context.Node; 179if (condition is BinaryExpressionSyntax(SyntaxKind.EqualsExpression) { Right: LiteralExpressionSyntax(SyntaxKind.NullLiteralExpression) } binaryExpression)
src\Analyzers\CSharp\Analyzers\UseIndexOrRangeOperator\CSharpUseIndexOperatorDiagnosticAnalyzer.cs (1)
175if (subtraction.Syntax is not BinaryExpressionSyntax binaryExpression)
src\Analyzers\CSharp\Analyzers\UseIsNullCheck\CSharpUseIsNullCheckForCastAndEqualityOperatorDiagnosticAnalyzer.cs (2)
52var binaryExpression = (BinaryExpressionSyntax)context.Node;
src\Analyzers\CSharp\Analyzers\UseIsNullCheck\CSharpUseNullCheckOverTypeCheckDiagnosticAnalyzer.cs (1)
92if (!ShouldAnalyze(context, out var notificationOption) || syntax is not BinaryExpressionSyntax)
src\Analyzers\CSharp\Analyzers\UseLocalFunction\CSharpUseLocalFunctionDiagnosticAnalyzer.cs (1)
267if (nodeToCheck.Parent is BinaryExpressionSyntax)
src\Analyzers\CSharp\Analyzers\UseNullPropagation\CSharpUseNullPropagationDiagnosticAnalyzer.cs (1)
22BinaryExpressionSyntax,
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\AnalyzedPattern.cs (1)
31public static Type? TryCreate(BinaryExpressionSyntax binaryExpression, IIsTypeOperation operation)
src\Analyzers\CSharp\Analyzers\UsePatternCombinators\CSharpUsePatternCombinatorsAnalyzer.cs (3)
49case IBinaryOperation { OperatorKind: ConditionalOr, Syntax: BinaryExpressionSyntax syntax } op: 52case IBinaryOperation { OperatorKind: ConditionalAnd, Syntax: BinaryExpressionSyntax syntax } op: 61case IIsTypeOperation { Syntax: BinaryExpressionSyntax binaryExpression } op:
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndMemberAccessDiagnosticAnalyzer.cs (3)
63var asExpression = (BinaryExpressionSyntax)context.Node; 66asExpression, out var conditionalAccessExpression, out var binaryExpression, out var isPatternExpression, out var requiredLanguageVersion))
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.cs (3)
74BinaryExpressionSyntax binaryExpression => (binaryExpression.Left, (SyntaxNode)binaryExpression.Right), 98out var asExpression, 272[NotNullWhen(true)] out BinaryExpressionSyntax? asExpression,
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpIsAndCastCheckDiagnosticAnalyzer.cs (3)
73var isExpression = (BinaryExpressionSyntax)syntaxContext.Node; 162BinaryExpressionSyntax isExpression,
src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpUseNotPatternDiagnosticAnalyzer.cs (1)
81BinaryExpressionSyntax(SyntaxKind.IsExpression) { Right: TypeSyntax type } isExpression
src\Analyzers\CSharp\Analyzers\UsePatternMatching\UsePatternMatchingHelpers.cs (4)
15BinaryExpressionSyntax asExpression, 17out BinaryExpressionSyntax? binaryExpression, 54if (conditionalAccessExpression.Parent is BinaryExpressionSyntax(SyntaxKind.EqualsExpression) parentBinaryExpression1 && 64BinaryExpressionSyntax(
src\Analyzers\CSharp\CodeFixes\DisambiguateSameVariable\CSharpDisambiguateSameVariableCodeFixProvider.cs (1)
64BinaryExpressionSyntax binary => (binary.Left, binary.Right, CSharpCodeFixesResources.Compare_to_0),
src\Analyzers\CSharp\CodeFixes\RemoveConfusingSuppression\CSharpRemoveConfusingSuppressionCodeFixProvider.cs (1)
80BinaryExpressionSyntax binary => binary.Left,
src\Analyzers\CSharp\CodeFixes\RemoveUnnecessaryCast\CSharpRemoveUnnecessaryCastCodeFixProvider.cs (1)
75else if (old is BinaryExpressionSyntax binaryExpression)
src\Analyzers\CSharp\CodeFixes\UseCompoundAssignment\CSharpUseCompoundCoalesceAssignmentCodeFixProvider.cs (2)
102var currentCoalesce = (BinaryExpressionSyntax)currentCoalesceNode;
src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseIndexOperatorCodeFixProvider.cs (1)
46(currentNode, _) => IndexExpression(((BinaryExpressionSyntax)currentNode).Right));
src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseIsNullCheckForCastAndEqualityOperatorCodeFixProvider.cs (6)
61var binary = (BinaryExpressionSyntax)diagnostic.Location.FindNode(getInnermostNodeForTie: true, cancellationToken: cancellationToken); 65(current, g) => Rewrite((BinaryExpressionSyntax)current)); 71private static ExpressionSyntax Rewrite(BinaryExpressionSyntax binary) 93private static IsPatternExpressionSyntax RewriteWorker(BinaryExpressionSyntax binary) 99BinaryExpressionSyntax binary, ExpressionSyntax expr, ExpressionSyntax nullLiteral)
src\Analyzers\CSharp\CodeFixes\UseIsNullCheck\CSharpUseNullCheckOverTypeCheckCodeFixProvider.cs (1)
47BinaryExpressionSyntax binary =>
src\Analyzers\CSharp\CodeFixes\UseNullPropagation\CSharpUseNullPropagationCodeFixProvider.cs (1)
25BinaryExpressionSyntax,
src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndMemberAccessCodeFixProvider.cs (3)
52if (node is not BinaryExpressionSyntax asExpression) 56asExpression, out var conditionalAccessExpression, out var binaryExpression, out var isPatternExpression, out _)) 118BinaryExpressionSyntax? binaryExpression, IsPatternExpressionSyntax? isPatternExpression)
src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndNullCheckCodeFixProvider.cs (4)
96var asExpression = (BinaryExpressionSyntax)asExpressionLocation.FindNode(cancellationToken); 98var rightSideOfComparison = comparison is BinaryExpressionSyntax binaryExpression 163BinaryExpressionSyntax asExpression,
src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpIsAndCastCheckCodeFixProvider.cs (2)
59var isExpression = (BinaryExpressionSyntax)ifStatement.Condition;
UsePatternMatching\CSharpIsAndCastCheckWithoutNameCodeFixProvider.cs (2)
48var isExpression = (BinaryExpressionSyntax)location.FindNode(
UsePatternMatching\CSharpIsAndCastCheckWithoutNameDiagnosticAnalyzer.cs (5)
81var isExpression = (BinaryExpressionSyntax)context.Node; 110BinaryExpressionSyntax isExpression, 211SemanticModel semanticModel, BinaryExpressionSyntax isExpression, 252private static SyntaxNode? GetContainer(BinaryExpressionSyntax isExpression)
Wrapping\BinaryExpression\CSharpBinaryExpressionWrapper.cs (1)
15internal sealed class CSharpBinaryExpressionWrapper : AbstractBinaryExpressionWrapper<BinaryExpressionSyntax>
Microsoft.CodeAnalysis.CSharp.IOperation.UnitTests (64)
IOperation\IOperationTests_IBinaryOperatorExpression.cs (16)
44VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree); 69VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree); 95VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree); 124VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree); 150VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree); 175VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree); 203VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 231VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 257VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree); 283VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree); 440VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 475VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 638VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 676VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 8315VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree); 8352VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree);
IOperation\IOperationTests_ICoalesceOperation.cs (22)
36var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 147var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 262var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 377var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 493var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 606var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 721var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 837var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 951var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 1053var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 1168var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single();
IOperation\IOperationTests_IConversionExpression.cs (2)
375var initializer = (BinaryExpressionSyntax)((VariableDeclaratorSyntax)syntax).Initializer.Value;
IOperation\IOperationTests_IInterpolatedStringOperation.cs (2)
4920VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(new[] { code, GetInterpolatedStringHandlerDefinition(includeSpanOverloads: false, useDefaultParameters: false, useBoolReturns: true) }, 5011VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(new[] { code, GetInterpolatedStringHandlerDefinition(includeSpanOverloads: false, useDefaultParameters: false, useBoolReturns: true) },
IOperation\IOperationTests_IIsPatternExpression.cs (2)
347VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 509VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics);
IOperation\IOperationTests_IIsTypeExpression.cs (9)
44VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 80VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 113VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 150VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 181VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 210VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 239VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 268VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 297VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics);
IOperation\IOperationTests_InvalidExpression.cs (1)
326VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics);
IOperation\IOperationTests_IParameterReferenceExpression.cs (1)
944VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics);
IOperation\IOperationTests_IParenthesized.cs (1)
54VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics);
IOperation\IOperationTests_ITupleBinaryOperatorExpression.cs (6)
39VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree); 67VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree); 101VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree); 147VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree); 174VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree); 204VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree);
IOperation\IOperationTests_IUnaryOperatorExpression.cs (1)
3239VerifyOperationTreeForTest<BinaryExpressionSyntax>(source, expectedOperationTree);
IOperation\IOperationTests_TryCatch.cs (1)
932VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (49)
Semantics\AccessCheckTests.cs (1)
911IMethodSymbol IntegerPlus = model.GetSymbolInfo(tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single()).Symbol as IMethodSymbol;
Semantics\ConstantTests.cs (2)
2923var expr = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().First();
Semantics\FunctionPointerTests.cs (1)
3528var binaryExpressions = syntaxTree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().ToArray();
Semantics\InterpolationTests.cs (4)
4602(ExpressionSyntax)descendentNodes.OfType<BinaryExpressionSyntax>() 4616if (interpolatedString is BinaryExpressionSyntax) 16847VerifyOperationTreeForTest<BinaryExpressionSyntax>(comp, @" 17327VerifyOperationTreeForTest<BinaryExpressionSyntax>(comp, @"
Semantics\LambdaTests.cs (1)
840ExpressionSyntax expr = tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().
Semantics\NativeIntegerTests.cs (3)
6114var nodes = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>(); 12386var expr = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single();
Semantics\OperatorTests.cs (15)
47var orNodes = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().ToArray(); 101VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 1310VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 1355VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 1516VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 1555VerifyOperationTreeAndDiagnosticsForTest<BinaryExpressionSyntax>(source, expectedOperationTree, expectedDiagnostics); 6939var syntax = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 7875select (node as BinaryExpressionSyntax)). 8556select node as BinaryExpressionSyntax). 8561foreach (var node1 in nodes) 8590var nodes = tree.GetRoot().DescendantNodes().Where(node => node is BinaryExpressionSyntax || node is AssignmentExpressionSyntax).ToArray(); 8635select node as BinaryExpressionSyntax). 8685select node as BinaryExpressionSyntax). 8759select node as BinaryExpressionSyntax).
Semantics\QueryTests.cs (8)
1484var xPyPz = (q.Body.SelectOrGroup as SelectClauseSyntax).Expression as BinaryExpressionSyntax; 1485var xPy = xPyPz.Left as BinaryExpressionSyntax; 1693var xPyPz = (q.Body.SelectOrGroup as SelectClauseSyntax).Expression as BinaryExpressionSyntax; 1694var xPy = xPyPz.Left as BinaryExpressionSyntax;
Semantics\RawInterpolationTests_Handler.cs (4)
2903(ExpressionSyntax)descendentNodes.OfType<BinaryExpressionSyntax>() 2917if (interpolatedString is BinaryExpressionSyntax) 11884VerifyOperationTreeForTest<BinaryExpressionSyntax>(comp, @" 12364VerifyOperationTreeForTest<BinaryExpressionSyntax>(comp, @"
Semantics\TargetTypedDefaultTests.cs (2)
1257var addition = nodes.OfType<BinaryExpressionSyntax>().Single();
Semantics\UnsafeTests.cs (6)
8861foreach (var binOpSyntax in tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>()) 8911foreach (var binOpSyntax in tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>()) 9323foreach (var binOpSyntax in tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>())
Semantics\Utf8StringsLiteralsTests.cs (2)
4081foreach (var node in tree.GetCompilationUnitRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Where(b => b.IsKind(SyntaxKind.AddExpression)))
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (61)
Compilation\CompilationAPITests.cs (6)
2841var expr = GetSyntaxNodeOfTypeForBinding<BinaryExpressionSyntax>(GetSyntaxNodeList(syntaxTree)); 2876var expr = GetSyntaxNodeOfTypeForBinding<BinaryExpressionSyntax>(GetSyntaxNodeList(syntaxTree)); 2908var expr = GetSyntaxNodeOfTypeForBinding<BinaryExpressionSyntax>(GetSyntaxNodeList(syntaxTree));
Compilation\SemanticModelGetSemanticInfoTests.cs (4)
4635var semanticInfo = GetSemanticInfoForTest<BinaryExpressionSyntax>(sourceCode); 5472var semanticInfo = GetSemanticInfoForTest<BinaryExpressionSyntax>(sourceCode); 5501var semanticInfo = GetSemanticInfoForTest<BinaryExpressionSyntax>(sourceCode); 11452var semanticInfo = GetSemanticInfoForTest<BinaryExpressionSyntax>(sourceCode);
SymbolDisplay\SymbolDisplayTests.cs (2)
9046var binaryExpression = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single();
Symbols\RelaxedShiftOperatorTests.cs (12)
102var shift = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 146var shift = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 190var shift = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 234var shift = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 278var shift = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single(); 322var shift = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single();
Symbols\Source\NullablePublicAPITests.cs (6)
1368var inCondition = ((BinaryExpressionSyntax)newTernary.Condition).Left; 3450var operators = root.DescendantNodes().OfType<BinaryExpressionSyntax>().ToList(); 3454void verifyAnnotations(BinaryExpressionSyntax syntax, PublicNullableAnnotation annotation, string expected) 5099var binaryRight = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single().Right; 5131var binaryRight = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single().Right; 5159var binaryRightArgument = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Single().Right.DescendantNodes().OfType<ArgumentSyntax>().Single().Expression;
Symbols\StaticAbstractMembersInInterfacesTests.cs (16)
9737var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().First(); 10734var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Where(n => n.ToString() == "x " + op + " 1").Single(); 10927var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Where(n => n.ToString() == "x " + op + " 1").Single(); 11117var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Where(n => n.ToString() == "x " + op + " y").Single(); 11311var node1 = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Where(n => n.ToString() == "x " + op + op + " y").First(); 11565var node1 = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Where(n => n.ToString() == "x " + op + op + " y").First(); 12121var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().First(); 31009var node = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().First();
Symbols\SymbolEqualityTests.cs (1)
41var invocations = root.DescendantNodes().OfType<BinaryExpressionSyntax>().ToList();
Symbols\UnsignedRightShiftTests.cs (14)
123var unsignedShift = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Where(e => e.Kind() == SyntaxKind.UnsignedRightShiftExpression).First(); 124var shift = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Where(e => e.Kind() == SyntaxKind.RightShiftExpression).First(); 1176var unsignedShift = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Where(e => e.Kind() == SyntaxKind.UnsignedRightShiftExpression).First(); 1177var shift = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Where(e => e.Kind() == SyntaxKind.RightShiftExpression).First(); 1983var unsignedShift = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Where(e => e.Kind() == SyntaxKind.UnsignedRightShiftExpression).First(); 2235var unsignedShift = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Where(e => e.Kind() == SyntaxKind.UnsignedRightShiftExpression).First(); 2511var unsignedShift = tree.GetRoot().DescendantNodes().OfType<BinaryExpressionSyntax>().Where(e => e.Kind() == SyntaxKind.UnsignedRightShiftExpression).First();
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (12)
Generated\Syntax.Test.xml.Generated.cs (5)
10456private static BinaryExpressionSyntax GenerateBinaryExpression() 11459var node = GenerateBinaryExpression(); 11464var newNode = node.WithLeft(node.Left).WithOperatorToken(node.OperatorToken).WithRight(node.Right); 15095var oldNode = GenerateBinaryExpression(); 15111var oldNode = GenerateBinaryExpression();
IncrementalParsing\BinaryExpression.cs (2)
35var expression = statement.Declaration.Variables[0].Initializer.Value as BinaryExpressionSyntax;
Parsing\ExpressionParsingTests.cs (2)
630var b = (BinaryExpressionSyntax)expr;
Syntax\SyntaxNodeTests.cs (3)
2103var bex = (BinaryExpressionSyntax)expr; 2104var expr2 = bex.ReplaceNode(bex.Right, SyntaxFactory.ParseExpression("c"));
Microsoft.CodeAnalysis.CSharp.Workspaces (54)
Classification\SyntaxClassification\OperatorOverloadSyntaxClassifier.cs (2)
21typeof(BinaryExpressionSyntax), 58BinaryExpressionSyntax binaryExpression => binaryExpression.OperatorToken.Span,
Classification\Worker_Preprocesser.cs (1)
145else if (node is BinaryExpressionSyntax binaryExpression)
Recommendations\CSharpRecommendationServiceRunner.cs (1)
188if (current is BinaryExpressionSyntax(SyntaxKind.IsExpression) binaryExpression &&
Simplification\CSharpSimplificationService.Expander.cs (3)
344public override SyntaxNode VisitBinaryExpression(BinaryExpressionSyntax node) 360var result = (BinaryExpressionSyntax)base.VisitBinaryExpression(node);
Simplification\Reducers\CSharpCastReducer.Rewriter.cs (3)
31public override SyntaxNode VisitBinaryExpression(BinaryExpressionSyntax node) 34var reducedNode = result as BinaryExpressionSyntax;
Simplification\Reducers\CSharpNameReducer.Rewriter.cs (1)
204public override SyntaxNode VisitBinaryExpression(BinaryExpressionSyntax node)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (5)
560var isOrAsExpression = (BinaryExpressionSyntax)expression.Parent; 621BinaryExpressionSyntax or 925BinaryExpressionSyntax binaryExpression => GetTargetTypeForBinaryExpression(binaryExpression, topExpression), 1089ITypeSymbol? GetTargetTypeForBinaryExpression(BinaryExpressionSyntax binaryExpression, ExpressionSyntax expression)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (7)
263nodeParent is BinaryExpressionSyntax(SyntaxKind.CoalesceExpression) binary && 435if (expression is not (BinaryExpressionSyntax or AssignmentExpressionSyntax)) 441if (parentExpression is BinaryExpressionSyntax parentBinaryExpression) 459node.Expression.IsKind(parentBinaryExpression.Kind(), out BinaryExpressionSyntax? nodeBinary)) 584if (node.Parent is BinaryExpressionSyntax binaryExpression && 659previousExpression is not BinaryExpressionSyntax(SyntaxKind.LessThanExpression) lessThanExpression) 694nextExpression is not BinaryExpressionSyntax(SyntaxKind.GreaterThanExpression) greaterThanExpression)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SpacingFormattingRule.cs (2)
327if (currentToken.Parent is BinaryExpressionSyntax || 328previousToken.Parent is BinaryExpressionSyntax ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (6)
111(SyntaxFacts.IsBinaryExpression(kind) && (token.Parent is BinaryExpressionSyntax or OperatorDeclarationSyntax or RelationalPatternSyntax)) || 1381var isPatternExpression = (BinaryExpressionSyntax)node; 1484=> node is BinaryExpressionSyntax; 1552var binaryExpression = (BinaryExpressionSyntax)node;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (5)
50BinaryExpressionSyntax binaryExpression => IsUnnecessaryAsCast(binaryExpression, semanticModel, cancellationToken), 54public static bool IsUnnecessaryAsCast(BinaryExpressionSyntax cast, SemanticModel semanticModel, CancellationToken cancellationToken) 126if (leftOrRightChild.Parent is BinaryExpressionSyntax(SyntaxKind.EqualsExpression or SyntaxKind.NotEqualsExpression) binary) 504if (castNode.WalkUpParentheses().Parent is BinaryExpressionSyntax(SyntaxKind.IsExpression) isExpression && 1046is BinaryExpressionSyntax(SyntaxKind.EqualsExpression or SyntaxKind.NotEqualsExpression) parentBinary)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (6)
310if (currentOriginalNode is BinaryExpressionSyntax binaryExpression) 313return ReplacementBreaksBinaryExpression(binaryExpression, (BinaryExpressionSyntax)currentReplacedNode); 671private bool ReplacementBreaksBinaryExpression(BinaryExpressionSyntax binaryExpression, BinaryExpressionSyntax newBinaryExpression) 692private bool ReplacementBreaksIsOrAsExpression(BinaryExpressionSyntax originalIsOrAsExpression, BinaryExpressionSyntax newIsOrAsExpression)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\EnumMemberGenerator.cs (2)
121var binaryExpression = (BinaryExpressionSyntax)lastExpression;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (1)
347if (targetToken.Parent is BinaryExpressionSyntax binary)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (3)
1526if (typeSyntax.Parent is BinaryExpressionSyntax binaryExpressionSyntax && 2308if (token.Parent is BinaryExpressionSyntax binary) 3034token.Parent?.Parent is BinaryExpressionSyntax(SyntaxKind.IsExpression) binaryExpression &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (1)
103var replacementNode = BinaryExpression(
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (5)
54if (node is BinaryExpressionSyntax binaryExpression) 148BinaryExpressionSyntax binaryExpression => InferTypeInBinaryOrAssignmentExpression(binaryExpression, binaryExpression.OperatorToken, binaryExpression.Left, binaryExpression.Right, expression), 214BinaryExpressionSyntax binaryExpression => InferTypeInBinaryOrAssignmentExpression(binaryExpression, binaryExpression.OperatorToken, binaryExpression.Left, binaryExpression.Right, previousToken: token), 952return InferTypeInCoalesceExpression((BinaryExpressionSyntax)binop, expressionOpt, previousToken); 1110BinaryExpressionSyntax coalesceExpression,
Microsoft.CodeAnalysis.CSharp.Workspaces.UnitTests (20)
CodeGeneration\SyntaxGeneratorTests.cs (20)
348VerifySyntax<BinaryExpressionSyntax>(Generator.AddExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) + (y)"); 349VerifySyntax<BinaryExpressionSyntax>(Generator.SubtractExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) - (y)"); 350VerifySyntax<BinaryExpressionSyntax>(Generator.MultiplyExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) * (y)"); 351VerifySyntax<BinaryExpressionSyntax>(Generator.DivideExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) / (y)"); 352VerifySyntax<BinaryExpressionSyntax>(Generator.ModuloExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) % (y)"); 355VerifySyntax<BinaryExpressionSyntax>(Generator.BitwiseAndExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) & (y)"); 356VerifySyntax<BinaryExpressionSyntax>(Generator.BitwiseOrExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) | (y)"); 359VerifySyntax<BinaryExpressionSyntax>(Generator.LogicalAndExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) && (y)"); 360VerifySyntax<BinaryExpressionSyntax>(Generator.LogicalOrExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) || (y)"); 366VerifySyntax<BinaryExpressionSyntax>(Generator.ReferenceEqualsExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) == (y)"); 367VerifySyntax<BinaryExpressionSyntax>(Generator.ValueEqualsExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) == (y)"); 369VerifySyntax<BinaryExpressionSyntax>(Generator.ReferenceNotEqualsExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) != (y)"); 370VerifySyntax<BinaryExpressionSyntax>(Generator.ValueNotEqualsExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) != (y)"); 372VerifySyntax<BinaryExpressionSyntax>(Generator.LessThanExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) < (y)"); 373VerifySyntax<BinaryExpressionSyntax>(Generator.LessThanOrEqualExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) <= (y)"); 375VerifySyntax<BinaryExpressionSyntax>(Generator.GreaterThanExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) > (y)"); 376VerifySyntax<BinaryExpressionSyntax>(Generator.GreaterThanOrEqualExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) >= (y)"); 382VerifySyntax<BinaryExpressionSyntax>(Generator.CoalesceExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) ?? (y)"); 474VerifySyntax<BinaryExpressionSyntax>(Generator.IsTypeExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) is y"); 475VerifySyntax<BinaryExpressionSyntax>(Generator.TryCastExpression(Generator.IdentifierName("x"), Generator.IdentifierName("y")), "(x) as y");
Microsoft.CodeAnalysis.Test.Utilities (2)
Compilation\ControlFlowGraphVerifier.cs (2)
914&& applyParenthesizedOrNullSuppressionIfAnyCS(syntax) is CSharp.Syntax.InterpolatedStringExpressionSyntax or CSharp.Syntax.BinaryExpressionSyntax 954if (binOp.Syntax is CSharp.Syntax.BinaryExpressionSyntax binOpSyntax &&
Microsoft.CodeAnalysis.Workspaces.UnitTests (4)
SyntaxReferenceTests.cs (4)
104var node = tree.GetRoot().DescendantNodes(descendIntoTrivia: true).OfType<CS.Syntax.BinaryExpressionSyntax>().First(); 151var binary = tree.GetRoot().DescendantNodes(descendIntoTrivia: true).OfType<CS.Syntax.BinaryExpressionSyntax>().First();
Microsoft.Maui.Controls.BindingSourceGen (3)
BindingSourceGenerator.cs (1)
254 BinaryExpressionSyntax binary when binary.Kind() == SyntaxKind.AsExpression => binary.Left,
PathParser.cs (2)
29 BinaryExpressionSyntax asExpression when asExpression.Kind() == SyntaxKind.AsExpression => HandleBinaryExpression(asExpression), 132 private Result<List<IPathPart>> HandleBinaryExpression(BinaryExpressionSyntax asExpression)
Microsoft.ML.AutoML (1)
Utils\Entity.cs (1)
143else if (exp is BinaryExpressionSyntax b)
Microsoft.ML.InternalCodeAnalyzer (2)
ContractsCheckAnalyzer.cs (2)
145var binExp = (BinaryExpressionSyntax)exp;
Microsoft.VisualStudio.LanguageServices.CSharp (5)
CodeModel\CSharpCodeModelService.CodeModelEventCollector.cs (3)
178if (oldExpression is BinaryExpressionSyntax oldBinaryExpression) 180var newBinaryExpression = (BinaryExpressionSyntax)newExpression;
CodeModel\MethodXml\MethodXmlBuilder.cs (2)
186return TryGenerateBinaryOperation((BinaryExpressionSyntax)expression); 331private bool TryGenerateBinaryOperation(BinaryExpressionSyntax binaryExpression)
Roslyn.Diagnostics.CSharp.Analyzers (43)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (5)
560var isOrAsExpression = (BinaryExpressionSyntax)expression.Parent; 621BinaryExpressionSyntax or 925BinaryExpressionSyntax binaryExpression => GetTargetTypeForBinaryExpression(binaryExpression, topExpression), 1089ITypeSymbol? GetTargetTypeForBinaryExpression(BinaryExpressionSyntax binaryExpression, ExpressionSyntax expression)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (7)
263nodeParent is BinaryExpressionSyntax(SyntaxKind.CoalesceExpression) binary && 435if (expression is not (BinaryExpressionSyntax or AssignmentExpressionSyntax)) 441if (parentExpression is BinaryExpressionSyntax parentBinaryExpression) 459node.Expression.IsKind(parentBinaryExpression.Kind(), out BinaryExpressionSyntax? nodeBinary)) 584if (node.Parent is BinaryExpressionSyntax binaryExpression && 659previousExpression is not BinaryExpressionSyntax(SyntaxKind.LessThanExpression) lessThanExpression) 694nextExpression is not BinaryExpressionSyntax(SyntaxKind.GreaterThanExpression) greaterThanExpression)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SpacingFormattingRule.cs (2)
327if (currentToken.Parent is BinaryExpressionSyntax || 328previousToken.Parent is BinaryExpressionSyntax ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (6)
111(SyntaxFacts.IsBinaryExpression(kind) && (token.Parent is BinaryExpressionSyntax or OperatorDeclarationSyntax or RelationalPatternSyntax)) || 1381var isPatternExpression = (BinaryExpressionSyntax)node; 1484=> node is BinaryExpressionSyntax; 1552var binaryExpression = (BinaryExpressionSyntax)node;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (5)
50BinaryExpressionSyntax binaryExpression => IsUnnecessaryAsCast(binaryExpression, semanticModel, cancellationToken), 54public static bool IsUnnecessaryAsCast(BinaryExpressionSyntax cast, SemanticModel semanticModel, CancellationToken cancellationToken) 126if (leftOrRightChild.Parent is BinaryExpressionSyntax(SyntaxKind.EqualsExpression or SyntaxKind.NotEqualsExpression) binary) 504if (castNode.WalkUpParentheses().Parent is BinaryExpressionSyntax(SyntaxKind.IsExpression) isExpression && 1046is BinaryExpressionSyntax(SyntaxKind.EqualsExpression or SyntaxKind.NotEqualsExpression) parentBinary)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (6)
310if (currentOriginalNode is BinaryExpressionSyntax binaryExpression) 313return ReplacementBreaksBinaryExpression(binaryExpression, (BinaryExpressionSyntax)currentReplacedNode); 671private bool ReplacementBreaksBinaryExpression(BinaryExpressionSyntax binaryExpression, BinaryExpressionSyntax newBinaryExpression) 692private bool ReplacementBreaksIsOrAsExpression(BinaryExpressionSyntax originalIsOrAsExpression, BinaryExpressionSyntax newIsOrAsExpression)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\EnumMemberGenerator.cs (2)
121var binaryExpression = (BinaryExpressionSyntax)lastExpression;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (1)
347if (targetToken.Parent is BinaryExpressionSyntax binary)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (3)
1526if (typeSyntax.Parent is BinaryExpressionSyntax binaryExpressionSyntax && 2308if (token.Parent is BinaryExpressionSyntax binary) 3034token.Parent?.Parent is BinaryExpressionSyntax(SyntaxKind.IsExpression) binaryExpression &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpReplaceDiscardDeclarationsWithAssignmentsService.cs (1)
103var replacementNode = BinaryExpression(
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (5)
54if (node is BinaryExpressionSyntax binaryExpression) 148BinaryExpressionSyntax binaryExpression => InferTypeInBinaryOrAssignmentExpression(binaryExpression, binaryExpression.OperatorToken, binaryExpression.Left, binaryExpression.Right, expression), 214BinaryExpressionSyntax binaryExpression => InferTypeInBinaryOrAssignmentExpression(binaryExpression, binaryExpression.OperatorToken, binaryExpression.Left, binaryExpression.Right, previousToken: token), 952return InferTypeInCoalesceExpression((BinaryExpressionSyntax)binop, expressionOpt, previousToken); 1110BinaryExpressionSyntax coalesceExpression,
System.Private.CoreLib.Generators (2)
IntrinsicsInSystemPrivateCoreLibAnalyzer.cs (2)
248else if (expressionToDecompose is BinaryExpressionSyntax binaryExpression) 319else if (expressionToDecompose is BinaryExpressionSyntax binaryExpression)