1045 references to BinaryOperatorKind
Microsoft.CodeAnalysis.VisualBasic (992)
Analysis\FlowAnalysis\AbstractFlowPass.vb (9)
2146Select Case binary.OperatorKind And BinaryOperatorKind.OpMask 2147Case BinaryOperatorKind.AndAlso, 2148BinaryOperatorKind.OrElse 2155Select Case binary.OperatorKind And BinaryOperatorKind.OpMask 2156Case BinaryOperatorKind.AndAlso 2166Case BinaryOperatorKind.OrElse 2186Select Case binary.OperatorKind And BinaryOperatorKind.OpMask 2187Case BinaryOperatorKind.AndAlso, 2188BinaryOperatorKind.OrElse
Binding\Binder_Expressions.vb (2)
4394Dim value = OverloadResolution.TryFoldConstantBinaryOperator(BinaryOperatorKind.Add, upperBound, one, int32Type, integerOverflow, divideByZero, Nothing) 4406BinaryOperatorKind.Add,
Binding\Binder_Operators.vb (98)
48If([isNot], BinaryOperatorKind.IsNot, BinaryOperatorKind.Is), 130Dim preliminaryOperatorKind As BinaryOperatorKind = OverloadResolution.MapBinaryOperatorKind(node.Kind) 132(preliminaryOperatorKind = BinaryOperatorKind.AndAlso OrElse 133preliminaryOperatorKind = BinaryOperatorKind.OrElse) 201preliminaryOperatorKind As BinaryOperatorKind, 238If (preliminaryOperatorKind = BinaryOperatorKind.Concatenate AndAlso leftIsDBNull <> rightIsDBNull) OrElse 239(preliminaryOperatorKind = BinaryOperatorKind.Add AndAlso 259Dim operatorKind As BinaryOperatorKind = OverloadResolution.ResolveBinaryOperator(preliminaryOperatorKind, left, right, Me, 270If operatorKind = BinaryOperatorKind.UserDefined Then 280If preliminaryOperatorKind = BinaryOperatorKind.AndAlso OrElse preliminaryOperatorKind = BinaryOperatorKind.OrElse Then 289operatorKind = BinaryOperatorKind.Error 292If operatorKind = BinaryOperatorKind.Error Then 295Return New BoundBinaryOperator(node, preliminaryOperatorKind Or BinaryOperatorKind.Error, left, right, CheckOverflow, ErrorTypeSymbol.UnknownResultType, hasErrors:=True) 308If (operatorKind And BinaryOperatorKind.Lifted) = 0 OrElse leftType.IsNullableType() Then 317(operatorKind And BinaryOperatorKind.Lifted) <> 0, diagnostics) 327Case BinaryOperatorKind.Equals, 328BinaryOperatorKind.NotEquals, 329BinaryOperatorKind.LessThanOrEqual, 330BinaryOperatorKind.GreaterThanOrEqual, 331BinaryOperatorKind.LessThan, 332BinaryOperatorKind.GreaterThan, 333BinaryOperatorKind.Like 336operatorKind = operatorKind Or BinaryOperatorKind.CompareText 340(isOperandOfConditionalBranch AndAlso preliminaryOperatorKind <> BinaryOperatorKind.Like) Then 345If (operatorKind And BinaryOperatorKind.Lifted) <> 0 Then 349If (preliminaryOperatorKind = BinaryOperatorKind.Equals OrElse preliminaryOperatorKind = BinaryOperatorKind.NotEquals) AndAlso 354If(preliminaryOperatorKind = BinaryOperatorKind.Equals, 362Debug.Assert(isOperandOfConditionalBranch AndAlso preliminaryOperatorKind <> BinaryOperatorKind.Like) 403If Not isSelectCase OrElse preliminaryOperatorKind <> BinaryOperatorKind.OrElse Then 405If(preliminaryOperatorKind = BinaryOperatorKind.Equals, ERRID.WRN_ObjectMath1, 406If(preliminaryOperatorKind = BinaryOperatorKind.NotEquals, ERRID.WRN_ObjectMath1Not, ERRID.WRN_ObjectMath2))) 424If preliminaryOperatorKind = BinaryOperatorKind.Concatenate Then 427Debug.Assert((operatorKind And BinaryOperatorKind.Lifted) = 0) 451If (preliminaryOperatorKind = BinaryOperatorKind.LeftShift OrElse preliminaryOperatorKind = BinaryOperatorKind.RightShift) AndAlso 461If (operatorKind And BinaryOperatorKind.Lifted) <> 0 Then 480If (operatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.Add AndAlso operatorResultType.IsStringType() Then 482operatorKind = (operatorKind And (Not BinaryOperatorKind.OpMask)) 483operatorKind = operatorKind Or BinaryOperatorKind.Concatenate 521Dim result As BoundExpression = New BoundBinaryOperator(node, operatorKind Or If(isOperandOfConditionalBranch, BinaryOperatorKind.IsOperandOfConditionalBranch, Nothing), 557opKind As BinaryOperatorKind, 565opKind = opKind Or BinaryOperatorKind.UserDefined 584opKind = opKind Or BinaryOperatorKind.Lifted 623opKind As BinaryOperatorKind, 629Debug.Assert(opKind = BinaryOperatorKind.AndAlso OrElse opKind = BinaryOperatorKind.OrElse) 632Dim bitwiseKind As BinaryOperatorKind = If(opKind = BinaryOperatorKind.AndAlso, BinaryOperatorKind.And, BinaryOperatorKind.Or) Or BinaryOperatorKind.UserDefined 654bitwiseKind = bitwiseKind Or BinaryOperatorKind.Lifted 662SyntaxFacts.GetText(If(opKind = BinaryOperatorKind.AndAlso, 678If opKind = BinaryOperatorKind.AndAlso Then 692SyntaxFacts.GetText(If(opKind = BinaryOperatorKind.AndAlso, SyntaxKind.IsFalseKeyword, SyntaxKind.IsTrueKeyword)), 693SyntaxFacts.GetText(If(opKind = BinaryOperatorKind.AndAlso, SyntaxKind.AndAlsoKeyword, SyntaxKind.OrElseKeyword))) 707SyntaxFacts.GetText(If(opKind = BinaryOperatorKind.AndAlso, SyntaxKind.AndAlsoKeyword, SyntaxKind.OrElseKeyword)), 738If(opKind = BinaryOperatorKind.AndAlso, 768preliminaryOperatorKind As BinaryOperatorKind, 773If(preliminaryOperatorKind = BinaryOperatorKind.Equals OrElse preliminaryOperatorKind = BinaryOperatorKind.NotEquals, 934operatorKind As BinaryOperatorKind, 951(operatorKind = BinaryOperatorKind.Equals OrElse operatorKind = BinaryOperatorKind.NotEquals) AndAlso 976operatorKind As BinaryOperatorKind, 981Debug.Assert((operatorKind And BinaryOperatorKind.OpMask) = operatorKind AndAlso operatorKind <> 0) 993Case BinaryOperatorKind.Concatenate, 994BinaryOperatorKind.Like 997Case BinaryOperatorKind.OrElse, 998BinaryOperatorKind.AndAlso 1001Case BinaryOperatorKind.Add, 1002BinaryOperatorKind.Equals, 1003BinaryOperatorKind.NotEquals, 1004BinaryOperatorKind.LessThanOrEqual, 1005BinaryOperatorKind.GreaterThanOrEqual, 1006BinaryOperatorKind.LessThan, 1007BinaryOperatorKind.GreaterThan, 1008BinaryOperatorKind.Subtract, 1009BinaryOperatorKind.Multiply, 1010BinaryOperatorKind.Power, 1011BinaryOperatorKind.Divide, 1012BinaryOperatorKind.Modulo, 1013BinaryOperatorKind.IntegerDivide, 1014BinaryOperatorKind.LeftShift, 1015BinaryOperatorKind.RightShift, 1016BinaryOperatorKind.Xor, 1017BinaryOperatorKind.Or, 1018BinaryOperatorKind.And 1041Case BinaryOperatorKind.Concatenate, 1042BinaryOperatorKind.Like 1055Case BinaryOperatorKind.LeftShift, 1056BinaryOperatorKind.RightShift 1081Case BinaryOperatorKind.Concatenate, 1082BinaryOperatorKind.Like
Binding\Binder_Query.vb (6)
3473Dim operatorKind As BinaryOperatorKind = OverloadResolution.ResolveBinaryOperator(BinaryOperatorKind.Equals, 3481If (operatorKind And BinaryOperatorKind.Equals) <> 0 AndAlso 3482(operatorKind And Not (BinaryOperatorKind.Equals Or BinaryOperatorKind.Lifted)) = 0 AndAlso 3488(operatorKind And BinaryOperatorKind.Lifted) <> 0, diagnostics)
Binding\Binder_SelectCase.vb (17)
210Dim operatorKind As BinaryOperatorKind 212Case SyntaxKind.CaseEqualsClause : operatorKind = BinaryOperatorKind.Equals 213Case SyntaxKind.CaseNotEqualsClause : operatorKind = BinaryOperatorKind.NotEquals 214Case SyntaxKind.CaseLessThanOrEqualClause : operatorKind = BinaryOperatorKind.LessThanOrEqual 215Case SyntaxKind.CaseGreaterThanOrEqualClause : operatorKind = BinaryOperatorKind.GreaterThanOrEqual 216Case SyntaxKind.CaseLessThanClause : operatorKind = BinaryOperatorKind.LessThan 217Case SyntaxKind.CaseGreaterThanClause : operatorKind = BinaryOperatorKind.GreaterThan 260operatorKind:=BinaryOperatorKind.Equals, 292operatorKind:=BinaryOperatorKind.GreaterThanOrEqual, 304operatorKind:=BinaryOperatorKind.LessThanOrEqual, 317operatorKind As BinaryOperatorKind, 426preliminaryOperatorKind:=BinaryOperatorKind.OrElse, 496preliminaryOperatorKind:=BinaryOperatorKind.Equals, 517preliminaryOperatorKind:=BinaryOperatorKind.GreaterThanOrEqual, 533preliminaryOperatorKind:=BinaryOperatorKind.LessThanOrEqual, 544preliminaryOperatorKind:=BinaryOperatorKind.AndAlso, 595relationalClause.OperatorKind <> BinaryOperatorKind.Equals OrElse
Binding\Binder_Statements.vb (22)
1999operatorKind As BinaryOperatorKind, 2127Dim operatorKind As BinaryOperatorKind 2132operatorKind = BinaryOperatorKind.Add 2135operatorKind = BinaryOperatorKind.Subtract 2138operatorKind = BinaryOperatorKind.Multiply 2141operatorKind = BinaryOperatorKind.Divide 2144operatorKind = BinaryOperatorKind.IntegerDivide 2147operatorKind = BinaryOperatorKind.Power 2150operatorKind = BinaryOperatorKind.LeftShift 2153operatorKind = BinaryOperatorKind.RightShift 2156operatorKind = BinaryOperatorKind.Concatenate 3178Dim addition As BoundUserDefinedBinaryOperator = BindForLoopUserDefinedOperator(syntax, BinaryOperatorKind.Add, leftOperandPlaceholder, rightOperandPlaceholder, diagnostics) 3179Dim subtraction As BoundUserDefinedBinaryOperator = BindForLoopUserDefinedOperator(syntax, BinaryOperatorKind.Subtract, leftOperandPlaceholder, rightOperandPlaceholder, diagnostics) 3181Dim lessThanOrEqual As BoundExpression = BindForLoopUserDefinedOperator(syntax, BinaryOperatorKind.LessThanOrEqual, leftOperandPlaceholder, rightOperandPlaceholder, diagnostics) 3187Dim greaterThanOrEqual As BoundExpression = BindForLoopUserDefinedOperator(syntax, BinaryOperatorKind.GreaterThanOrEqual, leftOperandPlaceholder, rightOperandPlaceholder, diagnostics) 3242opCode As BinaryOperatorKind, 3248Debug.Assert(opCode = BinaryOperatorKind.Add OrElse opCode = BinaryOperatorKind.Subtract OrElse opCode = BinaryOperatorKind.LessThanOrEqual OrElse opCode = BinaryOperatorKind.GreaterThanOrEqual) 3250Dim isRelational As Boolean = (opCode = BinaryOperatorKind.LessThanOrEqual OrElse opCode = BinaryOperatorKind.GreaterThanOrEqual)
Binding\DocumentationCommentCrefBinder.vb (21)
927Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.Add) 936Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.Subtract) 942Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.Multiply) 948Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.Divide) 954Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.IntegerDivide) 960Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.Modulo) 966Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.Power) 972Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.Equals) 978Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.NotEquals) 984Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.LessThan) 990Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.GreaterThan) 996Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.LessThanOrEqual) 1002Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.GreaterThanOrEqual) 1008Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.Like) 1014Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.Concatenate) 1020Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.And) 1029Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.Or) 1038Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.Xor) 1044Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.LeftShift) 1053Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.RightShift) 1062Dim opInfo As New OverloadResolution.OperatorInfo(BinaryOperatorKind.RightShift)
Binding\SyntheticBoundTrees\AnonymousTypeSyntheticMethods.vb (7)
141expression = New BoundBinaryOperator(syntax, BinaryOperatorKind.Multiply, 145Dim boundCondition = New BoundBinaryOperator(syntax, BinaryOperatorKind.Is, 170expression = New BoundBinaryOperator(syntax, BinaryOperatorKind.Add, expression, 310If(reverse, BinaryOperatorKind.IsNot, BinaryOperatorKind.Is), 315Return New BoundBinaryOperator(Syntax, BinaryOperatorKind.AndAlso, 320Return New BoundBinaryOperator(Syntax, BinaryOperatorKind.OrElse,
Binding\SyntheticBoundTrees\SynthesizedPropertyAccessorBase.vb (2)
261BinaryOperatorKind.IsNot, 341BinaryOperatorKind.IsNot,
Binding\SyntheticBoundTrees\SynthesizedStringSwitchHashMethod.vb (5)
98F.Binary(BinaryOperatorKind.IsNot, Me.ContainingAssembly.GetSpecialType(SpecialType.System_Boolean), 107F.Binary(BinaryOperatorKind.Multiply, hashCode.Type, 108F.Binary(BinaryOperatorKind.Xor, hashCode.Type, 114F.Binary(BinaryOperatorKind.Add, i.Type, 119F.Binary(BinaryOperatorKind.LessThan, Me.ContainingAssembly.GetSpecialType(SpecialType.System_Boolean),
BoundTree\BoundBinaryOperator.vb (16)
15operatorKind As BinaryOperatorKind, 32(OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.LeftShift OrElse 33(OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.RightShift OrElse 34(OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.Is OrElse 35(OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.IsNot) 41If (OperatorKind And BinaryOperatorKind.Error) = 0 Then 42Dim op As BinaryOperatorKind = (OperatorKind And BinaryOperatorKind.OpMask) 47(op = BinaryOperatorKind.Multiply OrElse 48op = BinaryOperatorKind.Add OrElse 49op = BinaryOperatorKind.Subtract OrElse 50op = BinaryOperatorKind.IntegerDivide)
BoundTree\BoundCaseClause.vb (3)
10Protected Shared Sub ValidateValueAndCondition(valueOpt As BoundExpression, conditionOpt As BoundExpression, operatorKind As BinaryOperatorKind) 17Debug.Assert((binaryOp.OperatorKind And BinaryOperatorKind.OpMask) = operatorKind) 21Debug.Assert((binaryOp.OperatorKind And BinaryOperatorKind.OpMask) = operatorKind)
BoundTree\BoundRangeCaseClause.vb (2)
11ValidateValueAndCondition(LowerBoundOpt, LowerBoundConditionOpt, BinaryOperatorKind.GreaterThanOrEqual) 12ValidateValueAndCondition(UpperBoundOpt, UpperBoundConditionOpt, BinaryOperatorKind.LessThanOrEqual)
BoundTree\BoundSimpleCaseClause.vb (1)
15ValidateValueAndCondition(ValueOpt, ConditionOpt, BinaryOperatorKind.Equals)
BoundTree\BoundUserDefinedBinaryOperator.vb (2)
34Debug.Assert((OperatorKind And BinaryOperatorKind.UserDefined) <> 0) 41If (OperatorKind And BinaryOperatorKind.Lifted) <> 0 Then
CodeGen\EmitConversion.vb (7)
118Select Case (DirectCast(conversion.Operand, BoundBinaryOperator).OperatorKind And BinaryOperatorKind.OpMask) 119Case BinaryOperatorKind.Add, 120BinaryOperatorKind.Subtract, 121BinaryOperatorKind.Multiply, 122BinaryOperatorKind.Divide, 123BinaryOperatorKind.Modulo, 124BinaryOperatorKind.Power
CodeGen\EmitOperators.vb (65)
98Dim operationKind = expression.OperatorKind And BinaryOperatorKind.OpMask 99Dim shortCircuit As Boolean = operationKind = BinaryOperatorKind.AndAlso OrElse operationKind = BinaryOperatorKind.OrElse 116Private Function IsCondOperator(operationKind As BinaryOperatorKind) As Boolean 117Select Case (operationKind And BinaryOperatorKind.OpMask) 118Case BinaryOperatorKind.OrElse, 119BinaryOperatorKind.AndAlso, 120BinaryOperatorKind.Equals, 121BinaryOperatorKind.NotEquals, 122BinaryOperatorKind.LessThanOrEqual, 123BinaryOperatorKind.GreaterThanOrEqual, 124BinaryOperatorKind.LessThan, 125BinaryOperatorKind.GreaterThan, 126BinaryOperatorKind.Is, 127BinaryOperatorKind.IsNot 178Select Case (binary.OperatorKind And BinaryOperatorKind.OpMask) 179Case BinaryOperatorKind.And 182Case BinaryOperatorKind.Xor 185Case BinaryOperatorKind.Or 199Select Case (expression.OperatorKind And BinaryOperatorKind.OpMask) 200Case BinaryOperatorKind.And 205Case BinaryOperatorKind.Xor 210Case BinaryOperatorKind.Or 221Dim type = expression.OperatorKind And BinaryOperatorKind.OpMask 224Case BinaryOperatorKind.Divide, 225BinaryOperatorKind.Modulo, 226BinaryOperatorKind.IntegerDivide 229Case BinaryOperatorKind.Multiply, 230BinaryOperatorKind.Add, 231BinaryOperatorKind.Subtract 249Dim opKind = expression.OperatorKind And BinaryOperatorKind.OpMask 252Case BinaryOperatorKind.Multiply 265Case BinaryOperatorKind.Modulo 272Case BinaryOperatorKind.Add 284Case BinaryOperatorKind.Subtract 296Case BinaryOperatorKind.Divide, 297BinaryOperatorKind.IntegerDivide 305Case BinaryOperatorKind.LeftShift 319Case BinaryOperatorKind.RightShift 346opKind <> BinaryOperatorKind.LeftShift AndAlso 347opKind <> BinaryOperatorKind.RightShift) 415Dim opKind = (binOp.OperatorKind And BinaryOperatorKind.OpMask) 418Debug.Assert(operandType IsNot Nothing OrElse (binOp.Left.IsNothingLiteral() AndAlso (opKind = BinaryOperatorKind.Is OrElse opKind = BinaryOperatorKind.IsNot))) 424Case BinaryOperatorKind.LessThan 425opKind = BinaryOperatorKind.GreaterThan 426Case BinaryOperatorKind.LessThanOrEqual 427opKind = BinaryOperatorKind.GreaterThanOrEqual 428Case BinaryOperatorKind.GreaterThan 429opKind = BinaryOperatorKind.LessThan 430Case BinaryOperatorKind.GreaterThanOrEqual 431opKind = BinaryOperatorKind.LessThanOrEqual 436Case BinaryOperatorKind.OrElse 440Case BinaryOperatorKind.AndAlso 452Case BinaryOperatorKind.IsNot 456Case BinaryOperatorKind.Is 460Case BinaryOperatorKind.NotEquals 465Case BinaryOperatorKind.Equals 497Case BinaryOperatorKind.Or 504Case BinaryOperatorKind.And 511Case BinaryOperatorKind.Xor 524Case BinaryOperatorKind.LessThan 527Case BinaryOperatorKind.LessThanOrEqual 531Case BinaryOperatorKind.GreaterThan 534Case BinaryOperatorKind.GreaterThanOrEqual
CodeGen\EmitStatement.vb (40)
496Dim opKind = condition.OperatorKind And BinaryOperatorKind.OpMask 498Debug.Assert(opKind = BinaryOperatorKind.Equals OrElse 499opKind = BinaryOperatorKind.NotEquals OrElse 500opKind = BinaryOperatorKind.Is OrElse 501opKind = BinaryOperatorKind.IsNot) 520Debug.Assert(nonConstType IsNot Nothing OrElse (nonConstOp.IsNothingLiteral() AndAlso (opKind = BinaryOperatorKind.Is OrElse opKind = BinaryOperatorKind.IsNot))) 537If opKind = BinaryOperatorKind.NotEquals OrElse opKind = BinaryOperatorKind.IsNot Then 564Dim opKind = (expression.OperatorKind And BinaryOperatorKind.OpMask) 567Debug.Assert(operandType IsNot Nothing OrElse (expression.Left.IsNothingLiteral() AndAlso (opKind = BinaryOperatorKind.Is OrElse opKind = BinaryOperatorKind.IsNot))) 573Case BinaryOperatorKind.LessThan 574opKind = BinaryOperatorKind.GreaterThan 575Case BinaryOperatorKind.LessThanOrEqual 576opKind = BinaryOperatorKind.GreaterThanOrEqual 577Case BinaryOperatorKind.GreaterThan 578opKind = BinaryOperatorKind.LessThan 579Case BinaryOperatorKind.GreaterThanOrEqual 580opKind = BinaryOperatorKind.LessThanOrEqual 585Case BinaryOperatorKind.IsNot 589Case BinaryOperatorKind.Is 593Case BinaryOperatorKind.Equals 596Case BinaryOperatorKind.NotEquals 599Case BinaryOperatorKind.LessThan 602Case BinaryOperatorKind.LessThanOrEqual 605Case BinaryOperatorKind.GreaterThan 608Case BinaryOperatorKind.GreaterThanOrEqual 696Select Case binOp.OperatorKind And BinaryOperatorKind.OpMask 697Case BinaryOperatorKind.OrElse 701Case BinaryOperatorKind.AndAlso 721Case BinaryOperatorKind.IsNot, 722BinaryOperatorKind.Is 727Case BinaryOperatorKind.Equals, 728BinaryOperatorKind.NotEquals 737Case BinaryOperatorKind.LessThan, 738BinaryOperatorKind.LessThanOrEqual, 739BinaryOperatorKind.GreaterThan, 740BinaryOperatorKind.GreaterThanOrEqual 1004Debug.Assert(relationalCaseClause.OperatorKind = BinaryOperatorKind.Equals)
CodeGen\Optimizer\StackScheduler.Analyzer.vb (6)
938Select Case (binary.OperatorKind And BinaryOperatorKind.OpMask) 939Case BinaryOperatorKind.AndAlso, BinaryOperatorKind.OrElse 976Select Case (node.OperatorKind And BinaryOperatorKind.OpMask) 977Case BinaryOperatorKind.AndAlso, BinaryOperatorKind.OrElse
CodeGen\ResumableStateMachineStateAllocator.vb (2)
81If(_increasing, BinaryOperatorKind.GreaterThanOrEqual, BinaryOperatorKind.LessThanOrEqual),
Compilation\VisualBasicCompilation.vb (10)
2959If opInfo.BinaryOperatorKind = BinaryOperatorKind.Xor OrElse 2960opInfo.BinaryOperatorKind = BinaryOperatorKind.And OrElse 2961opInfo.BinaryOperatorKind = BinaryOperatorKind.Or Then 2979If opInfo.BinaryOperatorKind = BinaryOperatorKind.Equals OrElse 2980opInfo.BinaryOperatorKind = BinaryOperatorKind.NotEquals OrElse 2981opInfo.BinaryOperatorKind = BinaryOperatorKind.LessThanOrEqual OrElse 2982opInfo.BinaryOperatorKind = BinaryOperatorKind.GreaterThanOrEqual OrElse 2983opInfo.BinaryOperatorKind = BinaryOperatorKind.LessThan OrElse 2984opInfo.BinaryOperatorKind = BinaryOperatorKind.GreaterThan OrElse 2985opInfo.BinaryOperatorKind = BinaryOperatorKind.Like Then
Generated\BoundNodes.xml.Generated.vb (12)
1510Public Sub New(syntax As SyntaxNode, operatorKind As BinaryOperatorKind, left As BoundExpression, right As BoundExpression, checked As Boolean, constantValueOpt As ConstantValue, type As TypeSymbol, Optional hasErrors As Boolean = False) 1530Private ReadOnly _OperatorKind As BinaryOperatorKind 1531Public ReadOnly Property OperatorKind As BinaryOperatorKind 1570Public Function Update(operatorKind As BinaryOperatorKind, left As BoundExpression, right As BoundExpression, checked As Boolean, constantValueOpt As ConstantValue, type As TypeSymbol) As BoundBinaryOperator 1583Public Sub New(syntax As SyntaxNode, operatorKind As BinaryOperatorKind, underlyingExpression As BoundExpression, checked As Boolean, type As TypeSymbol, Optional hasErrors As Boolean = False) 1600Private ReadOnly _OperatorKind As BinaryOperatorKind 1601Public ReadOnly Property OperatorKind As BinaryOperatorKind 1626Public Function Update(operatorKind As BinaryOperatorKind, underlyingExpression As BoundExpression, checked As Boolean, type As TypeSymbol) As BoundUserDefinedBinaryOperator 5226Public Sub New(syntax As SyntaxNode, operatorKind As BinaryOperatorKind, valueOpt As BoundExpression, conditionOpt As BoundExpression, Optional hasErrors As Boolean = False) 5237Private ReadOnly _OperatorKind As BinaryOperatorKind 5238Public ReadOnly Property OperatorKind As BinaryOperatorKind 5249Public Function Update(operatorKind As BinaryOperatorKind, valueOpt As BoundExpression, conditionOpt As BoundExpression) As BoundRelationalCaseClause
Lowering\AsyncRewriter\AsyncRewriter.AsyncMethodToClassRewriter.Expressions.vb (7)
169Dim operatorKind As BinaryOperatorKind = rewritten.OperatorKind And BinaryOperatorKind.OpMask 170Debug.Assert(operatorKind = (rewritten.OperatorKind And Not (BinaryOperatorKind.IsOperandOfConditionalBranch Or BinaryOperatorKind.OptimizableForConditionalBranch))) 171If operatorKind = BinaryOperatorKind.AndAlso OrElse operatorKind = BinaryOperatorKind.OrElse Then 179If(operatorKind = BinaryOperatorKind.AndAlso,
Lowering\Diagnostics\DiagnosticsPass_ExpressionLambdas.vb (5)
88Dim opKind As BinaryOperatorKind = node.OperatorKind And BinaryOperatorKind.OpMask 91Case BinaryOperatorKind.Like, 92BinaryOperatorKind.Concatenate 96If (node.OperatorKind And BinaryOperatorKind.Lifted) <> 0 Then
Lowering\ExpressionLambdaRewriter\ExpressionLambdaRewriter_BinaryOperator.vb (159)
22Debug.Assert((node.OperatorKind And BinaryOperatorKind.UserDefined) = 0) 24Select Case node.OperatorKind And BinaryOperatorKind.OpMask 25Case BinaryOperatorKind.And, 26BinaryOperatorKind.Or, 27BinaryOperatorKind.Xor, 28BinaryOperatorKind.Power, 29BinaryOperatorKind.Multiply, 30BinaryOperatorKind.Add, 31BinaryOperatorKind.Subtract, 32BinaryOperatorKind.Divide, 33BinaryOperatorKind.Modulo, 34BinaryOperatorKind.IntegerDivide, 35BinaryOperatorKind.Concatenate, 36BinaryOperatorKind.LeftShift, 37BinaryOperatorKind.RightShift 40Case BinaryOperatorKind.Is, 41BinaryOperatorKind.IsNot, 42BinaryOperatorKind.Equals, 43BinaryOperatorKind.NotEquals, 44BinaryOperatorKind.LessThanOrEqual, 45BinaryOperatorKind.GreaterThanOrEqual, 46BinaryOperatorKind.LessThan, 47BinaryOperatorKind.GreaterThan 50Case BinaryOperatorKind.OrElse, 51BinaryOperatorKind.AndAlso 54Case BinaryOperatorKind.Like 64Dim opKind As BinaryOperatorKind = node.OperatorKind And BinaryOperatorKind.OpMask 65Dim isLifted As Boolean = (node.OperatorKind And BinaryOperatorKind.Lifted) <> 0 69Case BinaryOperatorKind.Like, 70BinaryOperatorKind.Concatenate 73Case BinaryOperatorKind.Is, 74BinaryOperatorKind.IsNot, 75BinaryOperatorKind.Equals, 76BinaryOperatorKind.NotEquals, 77BinaryOperatorKind.LessThanOrEqual, 78BinaryOperatorKind.GreaterThanOrEqual, 79BinaryOperatorKind.LessThan, 80BinaryOperatorKind.GreaterThan 104Dim opKind As BinaryOperatorKind = operand.OperatorKind And BinaryOperatorKind.OpMask 110opKind = If(opKind = BinaryOperatorKind.And, BinaryOperatorKind.AndAlso, BinaryOperatorKind.OrElse) 121Dim opKind As BinaryOperatorKind = node.OperatorKind 123If (opKind And BinaryOperatorKind.Lifted) = 0 Then 141Dim opKind = node.OperatorKind And BinaryOperatorKind.OpMask 142Debug.Assert(opKind = BinaryOperatorKind.Is OrElse opKind = BinaryOperatorKind.IsNot OrElse 143opKind = BinaryOperatorKind.Equals OrElse opKind = BinaryOperatorKind.NotEquals OrElse 144opKind = BinaryOperatorKind.LessThan OrElse opKind = BinaryOperatorKind.GreaterThan OrElse 145opKind = BinaryOperatorKind.LessThanOrEqual OrElse opKind = BinaryOperatorKind.GreaterThanOrEqual) 146Debug.Assert((node.OperatorKind And BinaryOperatorKind.UserDefined) = 0) 156Dim isIsIsNot As Boolean = (opKind = BinaryOperatorKind.Is) OrElse (opKind = BinaryOperatorKind.IsNot) 222Case BinaryOperatorKind.LessThan 223opMethod = GetBinaryOperatorMethodName(BinaryOperatorKind.GreaterThan, isChecked) 226Case BinaryOperatorKind.LessThanOrEqual 227opMethod = GetBinaryOperatorMethodName(BinaryOperatorKind.GreaterThanOrEqual, isChecked) 230Case BinaryOperatorKind.GreaterThan 231opMethod = GetBinaryOperatorMethodName(BinaryOperatorKind.LessThan, isChecked) 234Case BinaryOperatorKind.GreaterThanOrEqual 235opMethod = GetBinaryOperatorMethodName(BinaryOperatorKind.LessThanOrEqual, isChecked) 274Dim opKind = node.OperatorKind And BinaryOperatorKind.OpMask 275Debug.Assert(opKind = BinaryOperatorKind.AndAlso OrElse opKind = BinaryOperatorKind.OrElse) 276Debug.Assert((node.OperatorKind And BinaryOperatorKind.UserDefined) = 0) 315Dim opKind = node.OperatorKind And BinaryOperatorKind.OpMask 316Debug.Assert(opKind = BinaryOperatorKind.And OrElse opKind = BinaryOperatorKind.Or OrElse opKind = BinaryOperatorKind.Xor OrElse 317opKind = BinaryOperatorKind.Power OrElse opKind = BinaryOperatorKind.Multiply OrElse 318opKind = BinaryOperatorKind.Add OrElse opKind = BinaryOperatorKind.Subtract OrElse 319opKind = BinaryOperatorKind.Divide OrElse opKind = BinaryOperatorKind.IntegerDivide OrElse 320opKind = BinaryOperatorKind.Modulo OrElse opKind = BinaryOperatorKind.Concatenate OrElse 321opKind = BinaryOperatorKind.LeftShift OrElse opKind = BinaryOperatorKind.RightShift) 322Debug.Assert((node.OperatorKind And BinaryOperatorKind.UserDefined) = 0) 332ElseIf opKind = BinaryOperatorKind.Concatenate Then 335ElseIf opKind = BinaryOperatorKind.Power Then 361If opKind = BinaryOperatorKind.LeftShift OrElse opKind = BinaryOperatorKind.RightShift Then 489Private Function GetHelperForDecimalBinaryOperation(opKind As BinaryOperatorKind) As MethodSymbol 490opKind = opKind And BinaryOperatorKind.OpMask 494Case BinaryOperatorKind.Add 496Case BinaryOperatorKind.Subtract 498Case BinaryOperatorKind.Multiply 500Case BinaryOperatorKind.Divide 502Case BinaryOperatorKind.Modulo 505Case BinaryOperatorKind.Equals, 506BinaryOperatorKind.Is 508Case BinaryOperatorKind.NotEquals, 509BinaryOperatorKind.IsNot 511Case BinaryOperatorKind.LessThan 513Case BinaryOperatorKind.LessThanOrEqual 515Case BinaryOperatorKind.GreaterThan 517Case BinaryOperatorKind.GreaterThanOrEqual 526Private Function GetHelperForDateTimeBinaryOperation(opKind As BinaryOperatorKind) As MethodSymbol 527opKind = opKind And BinaryOperatorKind.OpMask 531Case BinaryOperatorKind.Equals, 532BinaryOperatorKind.Is 534Case BinaryOperatorKind.NotEquals, 535BinaryOperatorKind.IsNot 537Case BinaryOperatorKind.LessThan 539Case BinaryOperatorKind.LessThanOrEqual 541Case BinaryOperatorKind.GreaterThan 543Case BinaryOperatorKind.GreaterThanOrEqual 553Private Function GetHelperForObjectBinaryOperation(opKind As BinaryOperatorKind) As MethodSymbol 554opKind = opKind And BinaryOperatorKind.OpMask 558Case BinaryOperatorKind.Add 560Case BinaryOperatorKind.Subtract 562Case BinaryOperatorKind.Multiply 564Case BinaryOperatorKind.Divide 566Case BinaryOperatorKind.IntegerDivide 568Case BinaryOperatorKind.Modulo 570Case BinaryOperatorKind.Power 572Case BinaryOperatorKind.And 574Case BinaryOperatorKind.Xor 576Case BinaryOperatorKind.Or 578Case BinaryOperatorKind.LeftShift 580Case BinaryOperatorKind.RightShift 582Case BinaryOperatorKind.Concatenate 592Private Shared Function GetBinaryOperatorMethodName(opKind As BinaryOperatorKind, isChecked As Boolean) As String 593Select Case (opKind And BinaryOperatorKind.OpMask) 594Case BinaryOperatorKind.Add 596Case BinaryOperatorKind.Subtract 598Case BinaryOperatorKind.Multiply 600Case BinaryOperatorKind.IntegerDivide, 601BinaryOperatorKind.Divide 603Case BinaryOperatorKind.Modulo 605Case BinaryOperatorKind.Power 607Case BinaryOperatorKind.And 609Case BinaryOperatorKind.Or 611Case BinaryOperatorKind.Xor 613Case BinaryOperatorKind.LeftShift 615Case BinaryOperatorKind.RightShift 617Case BinaryOperatorKind.Is, 618BinaryOperatorKind.Equals 620Case BinaryOperatorKind.IsNot, 621BinaryOperatorKind.NotEquals 623Case BinaryOperatorKind.LessThan 625Case BinaryOperatorKind.LessThanOrEqual 627Case BinaryOperatorKind.GreaterThan 629Case BinaryOperatorKind.GreaterThanOrEqual 631Case BinaryOperatorKind.AndAlso 633Case BinaryOperatorKind.OrElse 657Private Function AdjustCallForLiftedOperator(opKind As BinaryOperatorKind, [call] As BoundCall, resultType As TypeSymbol) As BoundExpression 658Debug.Assert((opKind And BinaryOperatorKind.Lifted) <> 0) 659Debug.Assert((opKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.Like OrElse 660(opKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.Concatenate)
Lowering\Instrumentation\CodeCoverageInstrumenter.vb (1)
284BinaryOperatorKind.Equals,
Lowering\LambdaRewriter\LambdaRewriter.vb (1)
439Dim condition = New BoundBinaryOperator(syntaxNode, BinaryOperatorKind.Is,
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.vb (17)
367If (binaryOperator.OperatorKind And BinaryOperatorKind.UserDefined) = 0 Then 368Select Case (binaryOperator.OperatorKind And BinaryOperatorKind.OpMask) 369Case BinaryOperatorKind.Power, 370BinaryOperatorKind.Divide, 371BinaryOperatorKind.Modulo, 372BinaryOperatorKind.IntegerDivide, 373BinaryOperatorKind.Concatenate, 374BinaryOperatorKind.And, 375BinaryOperatorKind.AndAlso, 376BinaryOperatorKind.Or, 377BinaryOperatorKind.OrElse, 378BinaryOperatorKind.Xor, 379BinaryOperatorKind.Multiply, 380BinaryOperatorKind.Add, 381BinaryOperatorKind.Subtract, 382BinaryOperatorKind.LeftShift, 383BinaryOperatorKind.RightShift
Lowering\LocalRewriter\LocalRewriter_BinaryOperators.vb (81)
23If (node.OperatorKind And BinaryOperatorKind.Lifted) <> 0 Then 89Dim optimizeForConditionalBranch As Boolean = (node.OperatorKind And BinaryOperatorKind.OptimizableForConditionalBranch) <> 0 105Select Case (binary.OperatorKind And BinaryOperatorKind.OpMask) 106Case BinaryOperatorKind.AndAlso, BinaryOperatorKind.OrElse 132If (binary.OperatorKind And BinaryOperatorKind.Lifted) <> 0 Then 146If optimizeForConditionalBranch AndAlso (binary.OperatorKind And BinaryOperatorKind.OpMask) <> BinaryOperatorKind.OrElse Then 147Debug.Assert((binary.OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.AndAlso) 165If (node.OperatorKind And BinaryOperatorKind.Lifted) <> 0 Then 236Debug.Assert((opKind And BinaryOperatorKind.Lifted) = 0) 238Select Case (opKind And BinaryOperatorKind.OpMask) 239Case BinaryOperatorKind.Is, BinaryOperatorKind.IsNot 253Case BinaryOperatorKind.Concatenate ' Concat needs to be done before expr trees, so in LocalRewriter instead of VBSemanticsRewriter 260Case BinaryOperatorKind.Like 267Case BinaryOperatorKind.Equals 289Case BinaryOperatorKind.NotEquals 308Case BinaryOperatorKind.LessThanOrEqual 327Case BinaryOperatorKind.GreaterThanOrEqual 346Case BinaryOperatorKind.LessThan 365Case BinaryOperatorKind.GreaterThan 384Case BinaryOperatorKind.Add 391Case BinaryOperatorKind.Subtract 398Case BinaryOperatorKind.Multiply 405Case BinaryOperatorKind.Modulo 412Case BinaryOperatorKind.Divide 419Case BinaryOperatorKind.IntegerDivide 424Case BinaryOperatorKind.Power 431Case BinaryOperatorKind.LeftShift 436Case BinaryOperatorKind.RightShift 441Case BinaryOperatorKind.OrElse, BinaryOperatorKind.AndAlso 446Case BinaryOperatorKind.Xor 451Case BinaryOperatorKind.Or 456Case BinaryOperatorKind.And 494node.OperatorKind And BinaryOperatorKind.OpMask, 533node.OperatorKind And BinaryOperatorKind.OpMask, 608Dim op = New BoundBinaryOperator(node.Syntax, node.OperatorKind And BinaryOperatorKind.OpMask, left, right, False, left.Type) 685Dim compareText As Boolean = (node.OperatorKind And BinaryOperatorKind.CompareText) <> 0 709result = New BoundBinaryOperator(node.Syntax, (node.OperatorKind And BinaryOperatorKind.OpMask), 725Dim compareText As Boolean = (node.OperatorKind And BinaryOperatorKind.CompareText) <> 0 757Dim compareText As Boolean = (node.OperatorKind And BinaryOperatorKind.CompareText) <> 0 807Debug.Assert((node.OperatorKind And BinaryOperatorKind.Lifted) <> 0) 809(node.OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.OrElse OrElse 810(node.OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.AndAlso) 823(leftHasValue OrElse Not Me._inExpressionLambda OrElse (node.OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.OrElse) Then 852Select Case (node.OperatorKind And BinaryOperatorKind.OpMask) 854Case BinaryOperatorKind.And, 855BinaryOperatorKind.Or, 856BinaryOperatorKind.AndAlso, 857BinaryOperatorKind.OrElse 920BinaryOperatorKind.And, 958Debug.Assert(leftHasValue OrElse Not Me._inExpressionLambda OrElse (node.OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.OrElse) 967If (node.OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.OrElse Then 976Debug.Assert((node.OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.AndAlso) 1000BinaryOperatorKind.AndAlso, 1002BinaryOperatorKind.OrElse, 1010BinaryOperatorKind.AndAlso, 1030Debug.Assert(leftHasValue OrElse (node.OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.OrElse) 1075Dim op = node.OperatorKind And BinaryOperatorKind.OpMask 1076Dim isOr As Boolean = (op = BinaryOperatorKind.OrElse) OrElse 1077(op = BinaryOperatorKind.Or) 1127MakeBooleanBinaryExpression(syntax, BinaryOperatorKind.And, 1171Dim IsShortCircuited = (op = BinaryOperatorKind.AndAlso Or op = BinaryOperatorKind.OrElse) 1268BinaryOperatorKind.AndAlso, 1316Debug.Assert(node.OperatorKind = BinaryOperatorKind.Is OrElse node.OperatorKind = BinaryOperatorKind.IsNot) 1322Return RewriteNullableIsOrIsNotOperator((node.OperatorKind And BinaryOperatorKind.OpMask) = BinaryOperatorKind.Is, If(left.IsNothingLiteral, right, left), node.Type) 1447condition = MakeBooleanBinaryExpression(node.Syntax, BinaryOperatorKind.And, leftHasValueExpression, rightHasValueExpression) 1505Dim unliftedOpKind = originalOperator.OperatorKind And (Not BinaryOperatorKind.Lifted)
Lowering\LocalRewriter\LocalRewriter_Conversion.vb (7)
82Select Case binary.OperatorKind And BinaryOperatorKind.OpMask 83Case BinaryOperatorKind.Equals, 84BinaryOperatorKind.NotEquals, 85BinaryOperatorKind.LessThan, 86BinaryOperatorKind.LessThanOrEqual, 87BinaryOperatorKind.GreaterThan, 88BinaryOperatorKind.GreaterThanOrEqual
Lowering\LocalRewriter\LocalRewriter_ForEach.vb (2)
389BinaryOperatorKind.Add, 468BinaryOperatorKind.LessThan,
Lowering\LocalRewriter\LocalRewriter_ForTo.vb (15)
137BinaryOperatorKind.GreaterThanOrEqual, 146BinaryOperatorKind.AndAlso, 580BinaryOperatorKind.And, 590BinaryOperatorKind.Add, 637New BoundBinaryOperator(value.Syntax, BinaryOperatorKind.RightShift, [step], shiftConst, False, [step].Type)) 639Return TransformRewrittenBinaryOperator(New BoundBinaryOperator(value.Syntax, BinaryOperatorKind.Xor, shiftedStep, value, False, value.Type)) 685BinaryOperatorKind.LessThanOrEqual, 695Dim comparisonOperator As BinaryOperatorKind 697comparisonOperator = BinaryOperatorKind.GreaterThanOrEqual 699comparisonOperator = BinaryOperatorKind.LessThanOrEqual 722BinaryOperatorKind.LessThanOrEqual, 736BinaryOperatorKind.And, 748BinaryOperatorKind.LessThanOrEqual, 756BinaryOperatorKind.GreaterThanOrEqual, 779BinaryOperatorKind.AndAlso,
Lowering\LocalRewriter\LocalRewriter_LocalDeclaration.vb (3)
211BinaryOperatorKind.Is, flagAsObject, 268BinaryOperatorKind.Equals, 277BinaryOperatorKind.Equals,
Lowering\LocalRewriter\LocalRewriter_NullableHelpers.vb (11)
372binaryOpKind As BinaryOperatorKind, 396Case BinaryOperatorKind.Subtract 401Case BinaryOperatorKind.Add, 402BinaryOperatorKind.Or, 403BinaryOperatorKind.OrElse 423Case BinaryOperatorKind.And, 424BinaryOperatorKind.AndAlso, 425BinaryOperatorKind.Multiply 445Case BinaryOperatorKind.Equals 454Case BinaryOperatorKind.NotEquals 473binaryOpKind As BinaryOperatorKind,
Lowering\LocalRewriter\LocalRewriter_RaiseEvent.vb (1)
77BinaryOperatorKind.Is,
Lowering\LocalRewriter\LocalRewriter_SelectCase.vb (1)
367Debug.Assert(relationalCaseClause.OperatorKind = BinaryOperatorKind.Equals)
Lowering\LocalRewriter\LocalRewriter_SyncLock.vb (1)
261BinaryOperatorKind.Equals,
Lowering\LocalRewriter\LocalRewriter_UnaryOperators.vb (6)
46If (binary.OperatorKind And BinaryOperatorKind.IsOperandOfConditionalBranch) <> 0 Then 47Select Case (binary.OperatorKind And BinaryOperatorKind.OpMask) 48Case BinaryOperatorKind.AndAlso, BinaryOperatorKind.OrElse 49Debug.Assert((binary.OperatorKind And BinaryOperatorKind.Lifted) <> 0) 51Return binary.Update(binary.OperatorKind Or BinaryOperatorKind.OptimizableForConditionalBranch,
Lowering\LocalRewriter\LocalRewriter_UnstructuredExceptionHandling.vb (3)
236nodeFactory.Conditional(nodeFactory.Binary(BinaryOperatorKind.GreaterThan, 297nodeFactory.Binary(BinaryOperatorKind.NotEquals, 407nodeFactory.Binary(BinaryOperatorKind.Equals,
Lowering\SyntheticBoundNodeFactory.vb (8)
423Return Binary(BinaryOperatorKind.AndAlso, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Boolean), left, right) 427Return Binary(BinaryOperatorKind.OrElse, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Boolean), left, right) 431Return Binary(BinaryOperatorKind.Equals, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Boolean), left, right) 435Return Binary(BinaryOperatorKind.LessThan, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Boolean), left, right) 1025Public Function Binary(kind As BinaryOperatorKind, type As TypeSymbol, left As BoundExpression, right As BoundExpression) As BoundBinaryOperator 1032Dim boundNode = Binary(BinaryOperatorKind.Is, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Boolean), left, right) 1039Dim boundNode = Binary(BinaryOperatorKind.Is, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Boolean), operand, Me.Null(operand.Type)) 1046Dim boundNode = Binary(BinaryOperatorKind.IsNot, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Boolean), operand, Me.Null(operand.Type))
Operations\VisualBasicOperationFactory_Methods.vb (29)
131isLifted:=(boundBinaryOperator.OperatorKind And VisualBasic.BinaryOperatorKind.Lifted) <> 0, 133isCompareText:=(boundBinaryOperator.OperatorKind And VisualBasic.BinaryOperatorKind.CompareText) <> 0) 142isLifted:=(boundUserDefinedBinaryOperator.OperatorKind And VisualBasic.BinaryOperatorKind.Lifted) <> 0, 633Friend Shared Function DeriveBinaryOperatorKind(operatorKind As VisualBasic.BinaryOperatorKind, leftOpt As BoundExpression) As BinaryOperatorKind 634Select Case operatorKind And VisualBasic.BinaryOperatorKind.OpMask 635Case VisualBasic.BinaryOperatorKind.Add 637Case VisualBasic.BinaryOperatorKind.Subtract 639Case VisualBasic.BinaryOperatorKind.Multiply 641Case VisualBasic.BinaryOperatorKind.Divide 643Case VisualBasic.BinaryOperatorKind.IntegerDivide 645Case VisualBasic.BinaryOperatorKind.Modulo 647Case VisualBasic.BinaryOperatorKind.And 649Case VisualBasic.BinaryOperatorKind.Or 651Case VisualBasic.BinaryOperatorKind.Xor 653Case VisualBasic.BinaryOperatorKind.AndAlso 655Case VisualBasic.BinaryOperatorKind.OrElse 657Case VisualBasic.BinaryOperatorKind.LeftShift 659Case VisualBasic.BinaryOperatorKind.RightShift 661Case VisualBasic.BinaryOperatorKind.LessThan 663Case VisualBasic.BinaryOperatorKind.LessThanOrEqual 665Case VisualBasic.BinaryOperatorKind.Equals 667Case VisualBasic.BinaryOperatorKind.NotEquals 669Case VisualBasic.BinaryOperatorKind.Is 671Case VisualBasic.BinaryOperatorKind.IsNot 673Case VisualBasic.BinaryOperatorKind.GreaterThanOrEqual 675Case VisualBasic.BinaryOperatorKind.GreaterThan 677Case VisualBasic.BinaryOperatorKind.Power 679Case VisualBasic.BinaryOperatorKind.Like 681Case VisualBasic.BinaryOperatorKind.Concatenate
Semantics\Operators.vb (251)
35Public Sub New(op As BinaryOperatorKind) 67Public ReadOnly Property BinaryOperatorKind As BinaryOperatorKind 70Return BinaryOperatorKind.Error 73Return CType(_Id >> 2, BinaryOperatorKind) 95operators.Add(WellKnownMemberNames.AdditionOperatorName, New OperatorInfo(BinaryOperatorKind.Add)) 97operators.Add(WellKnownMemberNames.SubtractionOperatorName, New OperatorInfo(BinaryOperatorKind.Subtract)) 98operators.Add(WellKnownMemberNames.MultiplyOperatorName, New OperatorInfo(BinaryOperatorKind.Multiply)) 99operators.Add(WellKnownMemberNames.DivisionOperatorName, New OperatorInfo(BinaryOperatorKind.Divide)) 100operators.Add(WellKnownMemberNames.IntegerDivisionOperatorName, New OperatorInfo(BinaryOperatorKind.IntegerDivide)) 101operators.Add(WellKnownMemberNames.ModulusOperatorName, New OperatorInfo(BinaryOperatorKind.Modulo)) 102operators.Add(WellKnownMemberNames.ExponentOperatorName, New OperatorInfo(BinaryOperatorKind.Power)) 103operators.Add(WellKnownMemberNames.EqualityOperatorName, New OperatorInfo(BinaryOperatorKind.Equals)) 104operators.Add(WellKnownMemberNames.InequalityOperatorName, New OperatorInfo(BinaryOperatorKind.NotEquals)) 105operators.Add(WellKnownMemberNames.LessThanOperatorName, New OperatorInfo(BinaryOperatorKind.LessThan)) 106operators.Add(WellKnownMemberNames.GreaterThanOperatorName, New OperatorInfo(BinaryOperatorKind.GreaterThan)) 107operators.Add(WellKnownMemberNames.LessThanOrEqualOperatorName, New OperatorInfo(BinaryOperatorKind.LessThanOrEqual)) 108operators.Add(WellKnownMemberNames.GreaterThanOrEqualOperatorName, New OperatorInfo(BinaryOperatorKind.GreaterThanOrEqual)) 109operators.Add(WellKnownMemberNames.LikeOperatorName, New OperatorInfo(BinaryOperatorKind.Like)) 110operators.Add(WellKnownMemberNames.ConcatenateOperatorName, New OperatorInfo(BinaryOperatorKind.Concatenate)) 111operators.Add(WellKnownMemberNames.BitwiseAndOperatorName, New OperatorInfo(BinaryOperatorKind.And)) 112operators.Add(WellKnownMemberNames.BitwiseOrOperatorName, New OperatorInfo(BinaryOperatorKind.Or)) 113operators.Add(WellKnownMemberNames.ExclusiveOrOperatorName, New OperatorInfo(BinaryOperatorKind.Xor)) 114operators.Add(WellKnownMemberNames.LeftShiftOperatorName, New OperatorInfo(BinaryOperatorKind.LeftShift)) 115operators.Add(WellKnownMemberNames.RightShiftOperatorName, New OperatorInfo(BinaryOperatorKind.RightShift)) 121operators.Add(WellKnownMemberNames.LogicalAndOperatorName, New OperatorInfo(BinaryOperatorKind.And)) 122operators.Add(WellKnownMemberNames.LogicalOrOperatorName, New OperatorInfo(BinaryOperatorKind.Or)) 123operators.Add(WellKnownMemberNames.UnsignedLeftShiftOperatorName, New OperatorInfo(BinaryOperatorKind.LeftShift)) 124operators.Add(WellKnownMemberNames.UnsignedRightShiftOperatorName, New OperatorInfo(BinaryOperatorKind.RightShift)) 161Friend Shared Function GetOperatorTokenKind(op As BinaryOperatorKind) As SyntaxKind 163Case BinaryOperatorKind.Add 165Case BinaryOperatorKind.Subtract 167Case BinaryOperatorKind.Multiply 169Case BinaryOperatorKind.Divide 171Case BinaryOperatorKind.IntegerDivide 173Case BinaryOperatorKind.Modulo 175Case BinaryOperatorKind.Power 177Case BinaryOperatorKind.Equals 179Case BinaryOperatorKind.NotEquals 181Case BinaryOperatorKind.LessThan 183Case BinaryOperatorKind.GreaterThan 185Case BinaryOperatorKind.LessThanOrEqual 187Case BinaryOperatorKind.GreaterThanOrEqual 189Case BinaryOperatorKind.Like 191Case BinaryOperatorKind.Concatenate 193Case BinaryOperatorKind.And 195Case BinaryOperatorKind.Or 197Case BinaryOperatorKind.Xor 199Case BinaryOperatorKind.LeftShift 201Case BinaryOperatorKind.RightShift 203Case BinaryOperatorKind.AndAlso 205Case BinaryOperatorKind.OrElse 207Case BinaryOperatorKind.Is 209Case BinaryOperatorKind.IsNot 217Friend Shared Function TryGetOperatorName(op As BinaryOperatorKind, isChecked As Boolean) As String 219Select Case (op And BinaryOperatorKind.OpMask) 220Case BinaryOperatorKind.Add 222Case BinaryOperatorKind.Concatenate 224Case BinaryOperatorKind.Like 226Case BinaryOperatorKind.Equals 228Case BinaryOperatorKind.NotEquals 230Case BinaryOperatorKind.LessThanOrEqual 232Case BinaryOperatorKind.GreaterThanOrEqual 234Case BinaryOperatorKind.LessThan 236Case BinaryOperatorKind.GreaterThan 238Case BinaryOperatorKind.Subtract 240Case BinaryOperatorKind.Multiply 242Case BinaryOperatorKind.Power 244Case BinaryOperatorKind.Divide 246Case BinaryOperatorKind.Modulo 248Case BinaryOperatorKind.IntegerDivide 250Case BinaryOperatorKind.LeftShift 252Case BinaryOperatorKind.RightShift 254Case BinaryOperatorKind.Xor 256Case BinaryOperatorKind.Or 258Case BinaryOperatorKind.And 358Case BinaryOperatorKind.LeftShift, BinaryOperatorKind.RightShift 362SyntaxFacts.GetText(If(opInfo.BinaryOperatorKind = BinaryOperatorKind.LeftShift, 810Public Shared Function MapBinaryOperatorKind(opCode As SyntaxKind) As BinaryOperatorKind 811Dim result As BinaryOperatorKind 814Case SyntaxKind.AddExpression : result = BinaryOperatorKind.Add 815Case SyntaxKind.ConcatenateExpression : result = BinaryOperatorKind.Concatenate 816Case SyntaxKind.LikeExpression : result = BinaryOperatorKind.Like 817Case SyntaxKind.EqualsExpression : result = BinaryOperatorKind.Equals 818Case SyntaxKind.NotEqualsExpression : result = BinaryOperatorKind.NotEquals 819Case SyntaxKind.LessThanOrEqualExpression : result = BinaryOperatorKind.LessThanOrEqual 820Case SyntaxKind.GreaterThanOrEqualExpression : result = BinaryOperatorKind.GreaterThanOrEqual 821Case SyntaxKind.LessThanExpression : result = BinaryOperatorKind.LessThan 822Case SyntaxKind.GreaterThanExpression : result = BinaryOperatorKind.GreaterThan 823Case SyntaxKind.SubtractExpression : result = BinaryOperatorKind.Subtract 824Case SyntaxKind.MultiplyExpression : result = BinaryOperatorKind.Multiply 825Case SyntaxKind.ExponentiateExpression : result = BinaryOperatorKind.Power 826Case SyntaxKind.DivideExpression : result = BinaryOperatorKind.Divide 827Case SyntaxKind.ModuloExpression : result = BinaryOperatorKind.Modulo 828Case SyntaxKind.IntegerDivideExpression : result = BinaryOperatorKind.IntegerDivide 829Case SyntaxKind.LeftShiftExpression : result = BinaryOperatorKind.LeftShift 830Case SyntaxKind.RightShiftExpression : result = BinaryOperatorKind.RightShift 831Case SyntaxKind.ExclusiveOrExpression : result = BinaryOperatorKind.Xor 832Case SyntaxKind.OrExpression : result = BinaryOperatorKind.Or 833Case SyntaxKind.OrElseExpression : result = BinaryOperatorKind.OrElse 834Case SyntaxKind.AndExpression : result = BinaryOperatorKind.And 835Case SyntaxKind.AndAlsoExpression : result = BinaryOperatorKind.AndAlso 853opCode As BinaryOperatorKind, 861) As BinaryOperatorKind 863Debug.Assert((opCode And BinaryOperatorKind.OpMask) = opCode AndAlso opCode <> BinaryOperatorKind.Error) 865opCode = (opCode And BinaryOperatorKind.OpMask) 889Return BinaryOperatorKind.Error 896(opCode = BinaryOperatorKind.Subtract AndAlso 909Return BinaryOperatorKind.Error 913Return BinaryOperatorKind.UserDefined 935Return BinaryOperatorKind.Error 938Dim result As BinaryOperatorKind = BinaryOperatorKind.Error 941(opCode = BinaryOperatorKind.Xor OrElse opCode = BinaryOperatorKind.And OrElse opCode = BinaryOperatorKind.Or) AndAlso 949result = result Or BinaryOperatorKind.Lifted 973If result <> BinaryOperatorKind.Error AndAlso 978opCode <> BinaryOperatorKind.Concatenate AndAlso opCode <> BinaryOperatorKind.Like Then 979result = result Or BinaryOperatorKind.Lifted 986Public Shared Function UseUserDefinedBinaryOperators(opCode As BinaryOperatorKind, leftType As TypeSymbol, rightType As TypeSymbol) As Boolean 999opCode = BinaryOperatorKind.Subtract) Then ' Let (Date - Date) use operator overloading. 1020operatorKind As BinaryOperatorKind, 1049Dim op As BinaryOperatorKind = (operatorKind And BinaryOperatorKind.OpMask) 1053If op <> BinaryOperatorKind.Like AndAlso 1054(operatorKind And BinaryOperatorKind.CompareText) = 0 AndAlso 1060op = BinaryOperatorKind.LeftShift OrElse op = BinaryOperatorKind.RightShift) 1096Debug.Assert((operatorKind And BinaryOperatorKind.CompareText) = 0) 1120op As BinaryOperatorKind, 1129Debug.Assert((op And BinaryOperatorKind.OpMask) = op) 1142Case BinaryOperatorKind.Equals 1147Case BinaryOperatorKind.NotEquals 1152Case BinaryOperatorKind.LessThanOrEqual 1157Case BinaryOperatorKind.GreaterThanOrEqual 1162Case BinaryOperatorKind.LessThan 1167Case BinaryOperatorKind.GreaterThan 1185Case BinaryOperatorKind.Add 1198Case BinaryOperatorKind.Subtract 1212Case BinaryOperatorKind.Multiply 1216Case BinaryOperatorKind.IntegerDivide 1232Case BinaryOperatorKind.Modulo 1248Case BinaryOperatorKind.Xor 1252Case BinaryOperatorKind.Or 1256Case BinaryOperatorKind.And 1260Case BinaryOperatorKind.LeftShift 1271Case BinaryOperatorKind.RightShift 1295op As BinaryOperatorKind, 1302Debug.Assert((op And BinaryOperatorKind.OpMask) = op) 1314Case BinaryOperatorKind.Equals 1317Case BinaryOperatorKind.NotEquals 1320Case BinaryOperatorKind.LessThanOrEqual 1323Case BinaryOperatorKind.GreaterThanOrEqual 1326Case BinaryOperatorKind.LessThan 1329Case BinaryOperatorKind.GreaterThan 1347Case BinaryOperatorKind.Add 1350Case BinaryOperatorKind.Subtract 1353Case BinaryOperatorKind.Multiply 1356Case BinaryOperatorKind.Power 1379Case BinaryOperatorKind.Divide 1385Case BinaryOperatorKind.Modulo 1418op As BinaryOperatorKind, 1424Debug.Assert((op And BinaryOperatorKind.OpMask) = op) 1438Case BinaryOperatorKind.Equals 1441Case BinaryOperatorKind.NotEquals 1444Case BinaryOperatorKind.LessThanOrEqual 1447Case BinaryOperatorKind.GreaterThanOrEqual 1450Case BinaryOperatorKind.LessThan 1453Case BinaryOperatorKind.GreaterThan 1467Case BinaryOperatorKind.Add 1470Case BinaryOperatorKind.Subtract 1473Case BinaryOperatorKind.Multiply 1476Case BinaryOperatorKind.Divide 1479Case BinaryOperatorKind.Modulo 1506op As BinaryOperatorKind, 1510Debug.Assert((op And BinaryOperatorKind.OpMask) = op) 1515Case BinaryOperatorKind.Concatenate 1532Case BinaryOperatorKind.GreaterThan, 1533BinaryOperatorKind.LessThan, 1534BinaryOperatorKind.GreaterThanOrEqual, 1535BinaryOperatorKind.LessThanOrEqual, 1536BinaryOperatorKind.Equals, 1537BinaryOperatorKind.NotEquals 1547Case BinaryOperatorKind.Equals 1550Case BinaryOperatorKind.NotEquals 1553Case BinaryOperatorKind.GreaterThan 1556Case BinaryOperatorKind.GreaterThanOrEqual 1559Case BinaryOperatorKind.LessThan 1562Case BinaryOperatorKind.LessThanOrEqual 1577op As BinaryOperatorKind, 1581Debug.Assert((op And BinaryOperatorKind.OpMask) = op) 1592Case BinaryOperatorKind.Equals 1595Case BinaryOperatorKind.NotEquals 1598Case BinaryOperatorKind.GreaterThan 1602Case BinaryOperatorKind.GreaterThanOrEqual 1605Case BinaryOperatorKind.LessThan 1608Case BinaryOperatorKind.LessThanOrEqual 1611Case BinaryOperatorKind.Xor 1614Case BinaryOperatorKind.OrElse, 1615BinaryOperatorKind.Or 1619Case BinaryOperatorKind.AndAlso, 1620BinaryOperatorKind.And 1636opCode As BinaryOperatorKind, 1651Case BinaryOperatorKind.Add 1654Case BinaryOperatorKind.Subtract, 1655BinaryOperatorKind.Multiply, 1656BinaryOperatorKind.Modulo 1659Case BinaryOperatorKind.Divide 1662Case BinaryOperatorKind.IntegerDivide 1665Case BinaryOperatorKind.Power 1668Case BinaryOperatorKind.LeftShift, 1669BinaryOperatorKind.RightShift 1672Case BinaryOperatorKind.OrElse, 1673BinaryOperatorKind.AndAlso 1676Case BinaryOperatorKind.Concatenate, 1677BinaryOperatorKind.Like 1680Case BinaryOperatorKind.Equals, 1681BinaryOperatorKind.NotEquals, 1682BinaryOperatorKind.LessThanOrEqual, 1683BinaryOperatorKind.GreaterThanOrEqual, 1684BinaryOperatorKind.LessThan, 1685BinaryOperatorKind.GreaterThan 1688Case BinaryOperatorKind.Xor, 1689BinaryOperatorKind.Or, 1690BinaryOperatorKind.And 3019opKind As BinaryOperatorKind, 3027Case BinaryOperatorKind.Add 3032Case BinaryOperatorKind.Subtract 3037Case BinaryOperatorKind.Multiply 3042Case BinaryOperatorKind.Divide 3047Case BinaryOperatorKind.IntegerDivide 3052Case BinaryOperatorKind.Modulo 3057Case BinaryOperatorKind.Power 3062Case BinaryOperatorKind.Equals 3067Case BinaryOperatorKind.NotEquals 3072Case BinaryOperatorKind.LessThan 3077Case BinaryOperatorKind.GreaterThan 3082Case BinaryOperatorKind.LessThanOrEqual 3087Case BinaryOperatorKind.GreaterThanOrEqual 3092Case BinaryOperatorKind.Like 3097Case BinaryOperatorKind.Concatenate 3102Case BinaryOperatorKind.And, BinaryOperatorKind.AndAlso 3109Case BinaryOperatorKind.Or, BinaryOperatorKind.OrElse 3115Case BinaryOperatorKind.Xor 3120Case BinaryOperatorKind.LeftShift 3126Case BinaryOperatorKind.RightShift
SymbolDisplay\SymbolDisplayVisitor.Members.vb (1)
401(opInfo.IsBinary AndAlso opInfo.BinaryOperatorKind <> BinaryOperatorKind.Error) Then
Symbols\Metadata\PE\PEMethodSymbol.vb (20)
445Case BinaryOperatorKind.Add, 446BinaryOperatorKind.Subtract, 447BinaryOperatorKind.Multiply, 448BinaryOperatorKind.Divide, 449BinaryOperatorKind.IntegerDivide, 450BinaryOperatorKind.Modulo, 451BinaryOperatorKind.Power, 452BinaryOperatorKind.Equals, 453BinaryOperatorKind.NotEquals, 454BinaryOperatorKind.LessThan, 455BinaryOperatorKind.GreaterThan, 456BinaryOperatorKind.LessThanOrEqual, 457BinaryOperatorKind.GreaterThanOrEqual, 458BinaryOperatorKind.Like, 459BinaryOperatorKind.Concatenate, 460BinaryOperatorKind.Xor 463Case BinaryOperatorKind.And 469Case BinaryOperatorKind.Or 475Case BinaryOperatorKind.LeftShift 481Case BinaryOperatorKind.RightShift
Symbols\Source\SourceMemberContainerTypeSymbol.vb (6)
3661Case BinaryOperatorKind.Equals 3663Case BinaryOperatorKind.NotEquals 3665Case BinaryOperatorKind.LessThan 3667Case BinaryOperatorKind.GreaterThan 3669Case BinaryOperatorKind.LessThanOrEqual 3671Case BinaryOperatorKind.GreaterThanOrEqual
Symbols\Source\SynthesizedEventAccessorSymbol.vb (1)
458BinaryOperatorKind.Is,
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (53)
Semantics\BinaryOperators.vb (53)
877Dim operators() As BinaryOperatorKind = 879BinaryOperatorKind.Add, 880BinaryOperatorKind.Concatenate, 881BinaryOperatorKind.Like, 882BinaryOperatorKind.Equals, 883BinaryOperatorKind.NotEquals, 884BinaryOperatorKind.LessThanOrEqual, 885BinaryOperatorKind.GreaterThanOrEqual, 886BinaryOperatorKind.LessThan, 887BinaryOperatorKind.GreaterThan, 888BinaryOperatorKind.Subtract, 889BinaryOperatorKind.Multiply, 890BinaryOperatorKind.Power, 891BinaryOperatorKind.Divide, 892BinaryOperatorKind.Modulo, 893BinaryOperatorKind.IntegerDivide, 894BinaryOperatorKind.LeftShift, 895BinaryOperatorKind.RightShift, 896BinaryOperatorKind.Xor, 897BinaryOperatorKind.Or, 898BinaryOperatorKind.And, 899BinaryOperatorKind.OrElse, 900BinaryOperatorKind.AndAlso, 901BinaryOperatorKind.Is, 902BinaryOperatorKind.IsNot 1019op As BinaryOperatorKind, 1041op = BinaryOperatorKind.Subtract) Then ' Let (Date - Date) use operator overloading. 1080Case BinaryOperatorKind.AndAlso, BinaryOperatorKind.OrElse, BinaryOperatorKind.Is, BinaryOperatorKind.IsNot 1097(op = BinaryOperatorKind.Subtract AndAlso leftSpecial = SpecialType.System_DateTime AndAlso rightSpecial = SpecialType.System_DateTime)) Then 1175Case BinaryOperatorKind.Equals, 1176BinaryOperatorKind.NotEquals, 1177BinaryOperatorKind.LessThanOrEqual, 1178BinaryOperatorKind.GreaterThanOrEqual, 1179BinaryOperatorKind.LessThan, 1180BinaryOperatorKind.GreaterThan, 1181BinaryOperatorKind.Like 1187Case BinaryOperatorKind.LeftShift, BinaryOperatorKind.RightShift 1192Case BinaryOperatorKind.Xor, BinaryOperatorKind.And, BinaryOperatorKind.Or 1203If(op = BinaryOperatorKind.Add AndAlso resultType = SpecialType.System_String, 1204BinaryOperatorKind.Concatenate, 1212If(op = BinaryOperatorKind.Add AndAlso resultType = SpecialType.System_String, 1213BinaryOperatorKind.Concatenate, 1220If op = BinaryOperatorKind.Add AndAlso resultType = SpecialType.System_String Then 1232Assert.Equal((op = BinaryOperatorKind.Multiply OrElse 1233op = BinaryOperatorKind.Add OrElse 1234op = BinaryOperatorKind.Subtract OrElse 1235op = BinaryOperatorKind.IntegerDivide) AndAlso