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)
243public override bool Equals(Symbol? obj, TypeCompareKind compareKind)
Symbols\DiscardSymbol.cs (1)
38public override bool Equals(Symbol? obj, TypeCompareKind compareKind) => obj is DiscardSymbol other && this.TypeWithAnnotations.Equals(other.TypeWithAnnotations, compareKind);
Symbols\EventSymbol.cs (1)
334public override bool Equals(Symbol? obj, TypeCompareKind compareKind)
Symbols\FieldSymbol.cs (1)
513public override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\FunctionPointers\FunctionPointerParameterSymbol.cs (1)
38public override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\Metadata\PE\PEParameterSymbol.cs (1)
1181public sealed override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\MethodSymbol.cs (1)
1252public 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)
447public override bool Equals(Symbol? other, TypeCompareKind comparison) => NativeIntegerTypeSymbol.EqualsHelper(this, other, comparison, symbol => symbol._underlyingParameter);
Symbols\PropertySymbol.cs (1)
454public override bool Equals(Symbol symbol, TypeCompareKind compareKind)
Symbols\RangeVariableSymbol.cs (1)
158public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\ReducedExtensionMethodSymbol.cs (1)
683public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\SignatureOnlyParameterSymbol.cs (1)
111public 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)
485public 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)
108public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (1)
479public 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)
6195if (!memberSymbol.Equals(requiredMember, TypeCompareKind.ConsiderEverything))
Binder\Binder_Patterns.cs (1)
1498memberSymbol.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)
1944lambdaIsExactMatch = updatedSymbol.Equals(boundLambda.Type!.GetDelegateType(), TypeCompareKind.ConsiderEverything); 3763_ => original.Equals(updated, TypeCompareKind.AllNullableIgnoreOptions | TypeCompareKind.IgnoreTupleNames)
Symbols\FieldSymbol.cs (1)
520return base.Equals(other, compareKind);
Symbols\Metadata\PE\PEParameterSymbol.cs (1)
1185base.Equals(other, compareKind);
Symbols\MethodSymbol.cs (1)
1264return base.Equals(other, compareKind);
Symbols\MissingModuleSymbol.cs (2)
120return (object)other != null && assembly.Equals(other.assembly, compareKind); 242return (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)
632|| !overriddenMember.Equals(existingMember, TypeCompareKind.IgnoreDynamicAndTupleNames | TypeCompareKind.AllNullableIgnoreOptions))
Symbols\NativeIntegerTypeSymbol.cs (5)
261if (!getUnderlyingSymbol(symbol).Equals(other, comparison)) 272Debug.Assert(!symbolA.Equals(symbolB, TypeCompareKind.ConsiderEverything)); 273Debug.Assert(!symbolB.Equals(symbolA, TypeCompareKind.ConsiderEverything)); 274Debug.Assert(symbolA.Equals(symbolB, TypeCompareKind.IgnoreNativeIntegers)); 275Debug.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)
174&& _containingSymbol.Equals(symbol.ContainingSymbol, compareKind);
Symbols\ReducedExtensionMethodSymbol.cs (1)
698this.ContainingSymbol.Equals(other.ContainingSymbol, compareKind);
Symbols\Source\LambdaSymbol.cs (1)
388&& lambda.ContainingSymbol.Equals(ContainingSymbol, compareKind);
Symbols\Source\SourceLocalSymbol.cs (1)
501&& symbol._containingSymbol.Equals(_containingSymbol, compareKind);
Symbols\Source\SourceParameterSymbolBase.cs (1)
44&& symbol._containingSymbol.Equals(_containingSymbol, compareKind);
Symbols\SubstitutedParameterSymbol.cs (1)
123this.ContainingSymbol.Equals(other.ContainingSymbol, compareKind);
Symbols\Symbol.cs (4)
809return this.Equals(obj as Symbol, SymbolEqualityComparer.Default.CompareKind); 814return this.Equals(other, SymbolEqualityComparer.Default.CompareKind); 819return this.Equals(other as Symbol, compareKind); 841return first.Equals(second, compareKind);
Symbols\SymbolEqualityComparer.cs (1)
50return x is null ? y is null : x.Equals(y, _comparison);
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (1)
493return 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));