24 overrides of Equals
Microsoft.CodeAnalysis.CSharp (24)
FlowAnalysis\NullableWalker.PlaceholderLocal.cs (1)
37public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\AliasSymbol.cs (1)
245public override bool Equals(Symbol? obj, TypeCompareKind compareKind)
Symbols\DiscardSymbol.cs (1)
39public override bool Equals(Symbol? obj, TypeCompareKind compareKind) => obj is DiscardSymbol other && this.TypeWithAnnotations.Equals(other.TypeWithAnnotations, compareKind);
Symbols\EventSymbol.cs (1)
335public override bool Equals(Symbol? obj, TypeCompareKind compareKind)
Symbols\FieldSymbol.cs (1)
515public override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\FunctionPointers\FunctionPointerParameterSymbol.cs (1)
40public override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\Metadata\PE\PEParameterSymbol.cs (1)
1248public sealed override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\MethodSymbol.cs (1)
1258public override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\MissingAssemblySymbol.cs (1)
97public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\MissingModuleSymbol.cs (1)
111public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\MissingNamespaceSymbol.cs (1)
82public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\NativeIntegerTypeSymbol.cs (1)
471public override bool Equals(Symbol? other, TypeCompareKind comparison) => NativeIntegerTypeSymbol.EqualsHelper(this, other, comparison, symbol => symbol._underlyingParameter);
Symbols\PropertySymbol.cs (1)
452public override bool Equals(Symbol symbol, TypeCompareKind compareKind)
Symbols\RangeVariableSymbol.cs (1)
160public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\ReducedExtensionMethodSymbol.cs (1)
686public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\SignatureOnlyParameterSymbol.cs (1)
115public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\Source\SourceLabelSymbol.cs (1)
146public override bool Equals(Symbol? obj, TypeCompareKind compareKind)
Symbols\Source\SourceLocalSymbol.cs (1)
583public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\Source\SourceParameterSymbolBase.cs (1)
29public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\SubstitutedParameterSymbol.cs (1)
110public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (1)
485public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\SynthesizedNamespaceSymbol.cs (1)
36public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\TypeSymbol.cs (1)
298public sealed override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\UpdatedContainingSymbolLocal.cs (1)
43public override bool Equals(Symbol other, TypeCompareKind compareKind)
44 references to Equals
Microsoft.CodeAnalysis.CSharp (34)
Binder\Binder_Expressions.cs (1)
6364if (!memberSymbol.Equals(requiredMember, TypeCompareKind.ConsiderEverything))
Binder\Binder_Patterns.cs (1)
1920memberSymbol.Equals(lengthProperty, TypeCompareKind.ConsiderEverything); // If Length and Count are both present, only the former is assumed to be non-negative.
Emitter\Model\SymbolAdapter.cs (1)
82return this.IsDefinition || !this.Equals(this.OriginalDefinition, SymbolEqualityComparer.ConsiderEverything.CompareKind);
FlowAnalysis\DefiniteAssignment.VariableIdentifier.cs (1)
85return Symbol.Equals(other.Symbol, TypeCompareKind.AllIgnoreOptions);
FlowAnalysis\NullableWalker.cs (2)
1970lambdaIsExactMatch = updatedSymbol.Equals(boundLambda.Type!.GetDelegateType(), TypeCompareKind.ConsiderEverything); 3813_ => original.Equals(updated, TypeCompareKind.AllNullableIgnoreOptions | TypeCompareKind.IgnoreTupleNames)
Symbols\FieldSymbol.cs (1)
522return base.Equals(other, compareKind);
Symbols\Metadata\PE\PEParameterSymbol.cs (1)
1252base.Equals(other, compareKind);
Symbols\MethodSymbol.cs (1)
1270return base.Equals(other, compareKind);
Symbols\MissingModuleSymbol.cs (2)
120return (object)other != null && assembly.Equals(other.assembly, compareKind); 244return (object)other != null && assembly.Equals(other.assembly, compareKind) && string.Equals(_name, other._name, StringComparison.OrdinalIgnoreCase);
Symbols\MissingNamespaceSymbol.cs (1)
91return (object)other != null && _name.Equals(other._name) && _containingSymbol.Equals(other._containingSymbol, compareKind);
Symbols\NamedTypeSymbol.cs (1)
789|| !overriddenMember.Equals(existingMember, TypeCompareKind.IgnoreDynamicAndTupleNames | TypeCompareKind.AllNullableIgnoreOptions))
Symbols\NativeIntegerTypeSymbol.cs (5)
264if (!getUnderlyingSymbol(symbol).Equals(other, comparison)) 275Debug.Assert(!symbolA.Equals(symbolB, TypeCompareKind.ConsiderEverything)); 276Debug.Assert(!symbolB.Equals(symbolA, TypeCompareKind.ConsiderEverything)); 277Debug.Assert(symbolA.Equals(symbolB, TypeCompareKind.IgnoreNativeIntegers)); 278Debug.Assert(symbolB.Equals(symbolA, TypeCompareKind.IgnoreNativeIntegers));
Symbols\OverriddenOrHiddenMembersHelpers.cs (1)
600if (otherMember.Equals(knownOverriddenMember, TypeCompareKind.AllIgnoreOptions))
Symbols\PublicModel\Symbol.cs (1)
101return other is object && UnderlyingSymbol.Equals(other.UnderlyingSymbol, equalityComparer.CompareKind);
Symbols\RangeVariableSymbol.cs (1)
176&& _containingSymbol.Equals(symbol.ContainingSymbol, compareKind);
Symbols\ReducedExtensionMethodSymbol.cs (1)
701this.ContainingSymbol.Equals(other.ContainingSymbol, compareKind);
Symbols\Source\LambdaSymbol.cs (1)
404&& lambda.ContainingSymbol.Equals(ContainingSymbol, compareKind);
Symbols\Source\SourceLocalSymbol.cs (1)
599&& symbol._containingSymbol.Equals(_containingSymbol, compareKind);
Symbols\Source\SourceParameterSymbolBase.cs (1)
44&& symbol._containingSymbol.Equals(_containingSymbol, compareKind);
Symbols\SubstitutedParameterSymbol.cs (1)
125this.ContainingSymbol.Equals(other.ContainingSymbol, compareKind);
Symbols\Symbol.cs (4)
815return this.Equals(obj as Symbol, SymbolEqualityComparer.Default.CompareKind); 820return this.Equals(other, SymbolEqualityComparer.Default.CompareKind); 825return this.Equals(other as Symbol, compareKind); 847return first.Equals(second, compareKind);
Symbols\SymbolEqualityComparer.cs (1)
69return x is null ? y is null : x.Equals(y, _comparison);
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (1)
499return Ordinal == other.Ordinal && ContainingSymbol.Equals(other.ContainingSymbol, compareKind);
Symbols\UpdatedContainingSymbolLocal.cs (2)
28Debug.Assert(!assertContaining || updatedContainingSymbol.Equals(underlyingLocal.ContainingSymbol, TypeCompareKind.AllNullableIgnoreOptions)); 70ContainingSymbol.Equals(otherLocal.ContainingSymbol, compareKind));
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (2)
Semantics\NativeIntegerTests.cs (2)
557Assert.True(member.Equals(underlyingMember, TypeCompareKind.IgnoreNativeIntegers)); 558Assert.False(member.Equals(underlyingMember, TypeCompareKind.ConsiderEverything));
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (8)
Symbols\FunctionPointerTypeSymbolTests.cs (4)
952Assert.False(s1.Equals(s2, TypeCompareKind.ConsiderEverything)); 953Assert.False(s1.Equals(s2, TypeCompareKind.AllNullableIgnoreOptions)); 957Assert.True(s1.Equals(s2, TypeCompareKind.AllNullableIgnoreOptions)); 959Assert.Equal(eq == Equality.Equal, s1.Equals(s2, TypeCompareKind.ConsiderEverything));
Symbols\Source\UpdatedContainingSymbolAndNullableAnntotationTests.cs (4)
69Assert.Equal(nullableIgnored, symbol1.Equals(symbol2, TypeCompareKind.AllNullableIgnoreOptions)); 70Assert.Equal(nullableIgnored, symbol2.Equals(symbol1, TypeCompareKind.AllNullableIgnoreOptions)); 72Assert.Equal(considerEverything, symbol1.Equals(symbol2, TypeCompareKind.ConsiderEverything2)); 73Assert.Equal(considerEverything, symbol2.Equals(symbol1, TypeCompareKind.ConsiderEverything2));