203 references to Equal
Microsoft.CodeAnalysis.CSharp (152)
Binder\Binder_Operators.cs (10)
938bool isEquality = kind == BinaryOperatorKind.Equal || kind == BinaryOperatorKind.NotEqual; 941return new BoundLiteral(node, ConstantValue.Create(kind == BinaryOperatorKind.Equal), GetSpecialType(SpecialType.System_Boolean, diagnostics, node)); 945(kind == BinaryOperatorKind.Equal || kind == BinaryOperatorKind.NotEqual)) 1162(signature.Kind.Operator() == BinaryOperatorKind.Equal || signature.Kind.Operator() == BinaryOperatorKind.NotEqual) && 1934case BinaryOperatorKind.Equal: 2138bool isEquality = kind == BinaryOperatorKind.Equal || kind == BinaryOperatorKind.NotEqual; 2607case BinaryOperatorKind.Equal: 2792if (op == BinaryOperatorKind.Equal || op == BinaryOperatorKind.NotEqual) 2809return (leftIsNull == rightIsNull) == (op == BinaryOperatorKind.Equal) ? ConstantValue.True : ConstantValue.False; 3090case SyntaxKind.EqualsExpression: return BinaryOperatorKind.Equal;
Binder\Binder_Patterns.cs (2)
1637if (operation == BinaryOperatorKind.Equal) 1687_ => BinaryOperatorKind.Equal,
Binder\Binder_TupleOperators.cs (1)
148case BinaryOperatorKind.Equal:
Binder\DecisionDagBuilder.cs (6)
502if (ValueSetFactory.ForInput(input)?.Related(BinaryOperatorKind.Equal, constant.ConstantValue).IsEmpty == true) 1141return resultForRelation(BinaryOperatorKind.Equal, t.Value); 1353handleRelationWithValue(BinaryOperatorKind.Equal, v2.Value, 1493if (lengthValues.All(BinaryOperatorKind.Equal, lengthValue)) 1499if (!_forLowering && lengthValues.Any(BinaryOperatorKind.Equal, lengthValue)) 2240return knownResult(BinaryOperatorKind.Equal, t.Value, offset) ??
Binder\PatternExplainer.cs (3)
408if (lengthValues.All(BinaryOperatorKind.Equal, lengthValue)) 605addRelation(BinaryOperatorKind.Equal, v.Value); 655remainingValues.Any(BinaryOperatorKind.Equal, constantValue))
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (10)
323case BinaryOperatorKind.Equal: 364case BinaryOperatorKind.Equal: 391case BinaryOperatorKind.Equal: 454bool useIdentityConversion = kind == BinaryOperatorKind.Equal || kind == BinaryOperatorKind.NotEqual; 468if ((kind == BinaryOperatorKind.Equal || kind == BinaryOperatorKind.NotEqual) 534case BinaryOperatorKind.Equal: 589case BinaryOperatorKind.Equal: 659case BinaryOperatorKind.Equal: 725bool isEquality = kind == BinaryOperatorKind.Equal || kind == BinaryOperatorKind.NotEqual; 1072case BinaryOperatorKind.Equal:
Binder\Semantics\Operators\OperatorFacts.cs (1)
257case BinaryOperatorKind.Equal: return WellKnownMemberNames.EqualityOperatorName;
Binder\Semantics\Operators\OperatorKind.cs (30)
541IntEqual = Int | Equal, 542UIntEqual = UInt | Equal, 543LongEqual = Long | Equal, 544ULongEqual = ULong | Equal, 545NIntEqual = NInt | Equal, 546NUIntEqual = NUInt | Equal, 547FloatEqual = Float | Equal, 548DoubleEqual = Double | Equal, 549DecimalEqual = Decimal | Equal, 550BoolEqual = Bool | Equal, 551EnumEqual = Enum | Equal, 552NullableNullEqual = NullableNull | Equal, 553UserDefinedEqual = UserDefined | Equal, 554LiftedIntEqual = Lifted | Int | Equal, 555LiftedUIntEqual = Lifted | UInt | Equal, 556LiftedLongEqual = Lifted | Long | Equal, 557LiftedULongEqual = Lifted | ULong | Equal, 558LiftedNIntEqual = Lifted | NInt | Equal, 559LiftedNUIntEqual = Lifted | NUInt | Equal, 560LiftedFloatEqual = Lifted | Float | Equal, 561LiftedDoubleEqual = Lifted | Double | Equal, 562LiftedDecimalEqual = Lifted | Decimal | Equal, 563LiftedBoolEqual = Lifted | Bool | Equal, 564LiftedEnumEqual = Lifted | Enum | Equal, 565LiftedUserDefinedEqual = Lifted | UserDefined | Equal, 566ObjectEqual = Object | Equal, 567StringEqual = String | Equal, 568DelegateEqual = Delegate | Equal, 569PointerEqual = Pointer | Equal, 570DynamicEqual = Dynamic | Equal,
Binder\Semantics\Operators\OperatorKindExtensions.cs (2)
204case BinaryOperatorKind.Equal: 365case BinaryOperatorKind.Equal: return ExpressionType.Equal;
CodeGen\EmitOperators.cs (3)
356goto case BinaryOperatorKind.Equal; 358case BinaryOperatorKind.Equal: 818case BinaryOperatorKind.Equal:
CodeGen\EmitStatement.cs (3)
232Debug.Assert(opKind == BinaryOperatorKind.Equal || 305case BinaryOperatorKind.Equal: 498case BinaryOperatorKind.Equal:
Compilation\BuiltInOperators.cs (1)
727case BinaryOperatorKind.Equal:
Compilation\CSharpCompilation.cs (4)
4335if (binaryKind is BinaryOperatorKind.Equal or BinaryOperatorKind.NotEqual && 4352if (binaryKind is BinaryOperatorKind.Equal or BinaryOperatorKind.NotEqual && 4375if (binaryKind is BinaryOperatorKind.Equal or 4430if (binaryKind is BinaryOperatorKind.Equal or
Compilation\CSharpSemanticModel.cs (1)
3870(op == BinaryOperatorKind.Equal || op == BinaryOperatorKind.NotEqual) &&
FlowAnalysis\AbstractFlowPass.cs (2)
2655return kind.Operator() is BinaryOperatorKind.Equal or BinaryOperatorKind.NotEqual 2667=> binary.OperatorKind.Operator() == BinaryOperatorKind.Equal;
FlowAnalysis\NullableWalker.cs (6)
5116&& binary.OperatorKind.Operator() is BinaryOperatorKind.Equal or BinaryOperatorKind.NotEqual) 5187=> binary.OperatorKind.Operator() == BinaryOperatorKind.Equal; 5219if (binary.OperatorKind.Operator() is not (BinaryOperatorKind.Equal or BinaryOperatorKind.NotEqual)) 5503if (op == BinaryOperatorKind.Equal || op == BinaryOperatorKind.NotEqual) 5519bool nonNullCase = op != BinaryOperatorKind.Equal; // true represents WhenTrue 5543case BinaryOperatorKind.Equal:
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
453case BinaryOperatorKind.Equal:
Lowering\DiagnosticsPass_Warnings.cs (2)
758case BinaryOperatorKind.Equal: 807case BinaryOperatorKind.Equal:
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (3)
355return MakeNullCheck(d.Syntax, input, input.Type.IsNullableType() ? BinaryOperatorKind.NullableNullEqual : BinaryOperatorKind.Equal); 401var operatorKind = BinaryOperatorKind.Equal | operatorType; 410Debug.Assert(operatorKind.Operator() == BinaryOperatorKind.Equal);
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (14)
495BinaryOperatorKind.Equal; 510BinaryOperatorKind.Equal; 574operatorKind.Operator() == BinaryOperatorKind.Equal) 834return MakeLiteral(syntax, ConstantValue.Create(kind.Operator() == BinaryOperatorKind.Equal), boolType); 888if (operatorKind == BinaryOperatorKind.Equal || operatorKind == BinaryOperatorKind.NotEqual) 891BoundExpression result = operatorKind == BinaryOperatorKind.Equal ? 1018if (kind.Operator() is BinaryOperatorKind.Equal or BinaryOperatorKind.NotEqual) 1061case BinaryOperatorKind.Equal: 1063leftOperator = BinaryOperatorKind.Equal; 1233case BinaryOperatorKind.Equal: 1264if (operatorKind == BinaryOperatorKind.Equal || operatorKind == BinaryOperatorKind.NotEqual) 1279rewrittenAlternative: MakeLiteral(syntax, ConstantValue.Create(operatorKind == BinaryOperatorKind.Equal), boolType), 2089Debug.Assert((operatorKind == BinaryOperatorKind.Equal) || (operatorKind == BinaryOperatorKind.NotEqual) || 2108case BinaryOperatorKind.Equal:
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (7)
259return new BoundLiteral(left.Syntax, ConstantValue.Create(nullnull.Kind == BinaryOperatorKind.Equal), boolType); 316bool boolValue = operatorKind == BinaryOperatorKind.Equal; // true/false 341_factory.Binary(BinaryOperatorKind.Equal, boolType, leftHasValue, rightHasValue), 502var logicalOperator = operatorKind == BinaryOperatorKind.Equal ? BinaryOperatorKind.LogicalBoolAnd : BinaryOperatorKind.LogicalBoolOr; 556if (operatorKind == BinaryOperatorKind.Equal) 569return new BoundLiteral(left.Syntax, ConstantValue.Create(operatorKind == BinaryOperatorKind.Equal), boolType); 586if (operatorKind == BinaryOperatorKind.Equal)
Lowering\SyntheticBoundNodeFactory.cs (2)
1761Debug.Assert((operatorKind == BinaryOperatorKind.Equal) || (operatorKind == BinaryOperatorKind.NotEqual) || 1780case BinaryOperatorKind.Equal:
Operations\CSharpOperationFactory_Methods.cs (1)
590case CSharp.BinaryOperatorKind.Equal:
Utilities\IValueSet.cs (1)
35/// are <see cref="BinaryOperatorKind.Equal"/> for all supported types, and for numeric types we also support
Utilities\ValueSetFactory.BoolValueSet.cs (4)
47case (Equal, true): 49case (Equal, false): 62case (Equal, true): 64case (Equal, false):
Utilities\ValueSetFactory.BoolValueSetFactory.cs (3)
32case (Equal, true): 34case (Equal, false): 60Debug.Assert(relation == BinaryOperatorKind.Equal);
Utilities\ValueSetFactory.ByteTC.cs (1)
28case Equal:
Utilities\ValueSetFactory.CharTC.cs (1)
28case Equal:
Utilities\ValueSetFactory.DecimalTC.cs (1)
93case Equal:
Utilities\ValueSetFactory.DoubleTC.cs (1)
68case Equal:
Utilities\ValueSetFactory.EnumeratedValueSet.cs (5)
58if (this.Any(BinaryOperatorKind.Equal, (T)(object)"")) 61if (this.Any(BinaryOperatorKind.Equal, (T)(object)c.ToString())) 69if (this.Any(BinaryOperatorKind.Equal, value)) 81case BinaryOperatorKind.Equal: 94case BinaryOperatorKind.Equal:
Utilities\ValueSetFactory.EnumeratedValueSetFactory.cs (3)
31case Equal: 43Debug.Assert(relation == BinaryOperatorKind.Equal); 53result = result.Union(Related(Equal, value));
Utilities\ValueSetFactory.FloatingValueSet.cs (2)
72if (tc.Related(Equal, tc.NaN, value)) 76case BinaryOperatorKind.Equal:
Utilities\ValueSetFactory.IntTC.cs (1)
38case Equal:
Utilities\ValueSetFactory.LongTC.cs (1)
28case Equal:
Utilities\ValueSetFactory.NonNegativeIntValueSetFactory.cs (1)
44case Equal:
Utilities\ValueSetFactory.NumericValueSet.cs (5)
82case Equal: 122case Equal: 123return _intervals.Length == 1 && _tc.Related(Equal, _intervals[0].first, value) && _tc.Related(Equal, _intervals[0].last, value); 215if (builder.Count > 0 && (tc.Related(Equal, tc.MinValue, first) || tc.Related(GreaterThanOrEqual, builder.Last().last, tc.Prev(first))))
Utilities\ValueSetFactory.NumericValueSetFactory.cs (1)
45case Equal:
Utilities\ValueSetFactory.SByteTC.cs (1)
27case Equal:
Utilities\ValueSetFactory.ShortTC.cs (1)
28case Equal:
Utilities\ValueSetFactory.SingleTC.cs (1)
72case Equal:
Utilities\ValueSetFactory.UIntTC.cs (1)
28case Equal:
Utilities\ValueSetFactory.ULongTC.cs (1)
28case Equal:
Utilities\ValueSetFactory.UShortTC.cs (1)
28case Equal:
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (1)
Emit\NumericIntPtrTests.cs (1)
1557BinaryOperatorKind.Equal,
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (50)
Semantics\NativeIntegerTests.cs (1)
4797BinaryOperatorKind.Equal,
Semantics\OperatorTests.cs (6)
7352BinaryOperatorKind.Equal, 7742BinaryOperatorKind.Equal, 8169else if ((op == BinaryOperatorKind.Equal || op == BinaryOperatorKind.NotEqual) && 8252else if ((op == BinaryOperatorKind.Equal || 8274else if ((op == BinaryOperatorKind.Equal || 8342else if ((op == BinaryOperatorKind.Equal || op == BinaryOperatorKind.NotEqual) &&
Utilities\ValueSetTests.cs (43)
152IValueSet<int> values = ForInt.Related(Equal, i1); 162IValueSet<int> values = ForInt.Related(Equal, i1); 266Assert.Equal(val >= i1 && val <= i2, values.Any(Equal, val)); 319var eq = ForDouble.Related(Equal, 0.0); 334var eq = ForFloat.Related(Equal, 0.0f); 344Assert.Equal("NaN", ForDouble.Related(Equal, double.NaN).ToString()); 345Assert.Equal("NaN", ForFloat.Related(Equal, float.NaN).ToString()); 346Assert.True(ForDouble.Related(Equal, double.NaN).Any(Equal, double.NaN)); 347Assert.True(ForFloat.Related(Equal, float.NaN).Any(Equal, float.NaN)); 348Assert.Equal("[Inf..Inf]", ForDouble.Related(Equal, double.PositiveInfinity).ToString()); 349Assert.Equal("[Inf..Inf]", ForFloat.Related(Equal, float.PositiveInfinity).ToString()); 350Assert.Equal("[-Inf..-Inf]", ForDouble.Related(Equal, double.NegativeInfinity).ToString()); 351Assert.Equal("[-Inf..-Inf]", ForFloat.Related(Equal, float.NegativeInfinity).ToString()); 361var mi = ForDouble.Related(Equal, double.NegativeInfinity); 371var i = ForDouble.Related(Equal, double.PositiveInfinity); 385var notaset = ForString.Related(Equal, "a").Complement(); 386var bset = ForString.Related(Equal, "b"); 388Assert.False(intersect.Any(Equal, "c")); 394var t = ForBool.Related(Equal, true); 395var f = ForBool.Related(Equal, false); 415var s1 = ForString.Related(Equal, "a"); 416var s2 = ForString.Related(Equal, "b"); 423Assert.False(s1.Union(s2).All(Equal, "a")); 449Assert.False(s1.All(Equal, 0)); 455Assert.False(s1.All(Equal, -10)); 460Assert.False(s1.All(Equal, 10)); 468Assert.False(s2.All(Equal, -10)); 473Assert.False(s2.All(Equal, 10)); 582Assert.False(ForDecimal.Related(LessThan, d).Any(Equal, d)); 583Assert.True(ForDecimal.Related(LessThanOrEqual, d).Any(Equal, d)); 584Assert.False(ForDecimal.Related(GreaterThan, d).Any(Equal, d)); 585Assert.True(ForDecimal.Related(GreaterThanOrEqual, d).Any(Equal, d)); 631Assert.True(s2.Any(Equal, value)); 632Assert.False(s1.Any(Equal, value)); 642Assert.True(s2.Any(Equal, value)); 643Assert.False(s1.Any(Equal, value)); 721var s1 = ForInt.Related(BinaryOperatorKind.Equal, i); 743var s1 = ForInt.Related(BinaryOperatorKind.Equal, j); 813var s1 = ForInt.Related(BinaryOperatorKind.Equal, i); 835var s1 = ForInt.Related(BinaryOperatorKind.Equal, j); 878foreach (BinaryOperatorKind relation in new[] { LessThan, Equal, NotEqual })