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)
330public override bool Equals(Symbol? obj, TypeCompareKind compareKind)
Symbols\FieldSymbol.cs (1)
511public override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\FunctionPointers\FunctionPointerParameterSymbol.cs (1)
37public override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\Metadata\PE\PEParameterSymbol.cs (1)
1114public sealed override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\MethodSymbol.cs (1)
1197public override bool Equals(Symbol other, TypeCompareKind compareKind)
Symbols\MissingAssemblySymbol.cs (1)
92public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\MissingModuleSymbol.cs (1)
110public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\MissingNamespaceSymbol.cs (1)
85public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\NativeIntegerTypeSymbol.cs (1)
409public override bool Equals(Symbol? other, TypeCompareKind comparison) => NativeIntegerTypeSymbol.EqualsHelper(this, other, comparison, symbol => symbol._underlyingParameter);
Symbols\PropertySymbol.cs (1)
427public override bool Equals(Symbol symbol, TypeCompareKind compareKind)
Symbols\RangeVariableSymbol.cs (1)
160public override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\ReducedExtensionMethodSymbol.cs (1)
661public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\SignatureOnlyParameterSymbol.cs (1)
104public 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)
486public 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)
101public sealed override bool Equals(Symbol obj, TypeCompareKind compareKind)
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (1)
476public 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)
5270if (!memberSymbol.Equals(requiredMember, TypeCompareKind.ConsiderEverything))
Binder\Binder_Patterns.cs (1)
1488memberSymbol.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)
81return 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)
1798lambdaIsExactMatch = updatedSymbol.Equals(boundLambda.Type!.GetDelegateType(), TypeCompareKind.ConsiderEverything); 3393_ => original.Equals(updated, TypeCompareKind.AllNullableIgnoreOptions | TypeCompareKind.IgnoreTupleNames)
Symbols\FieldSymbol.cs (1)
518return base.Equals(other, compareKind);
Symbols\Metadata\PE\PEParameterSymbol.cs (1)
1118base.Equals(other, compareKind);
Symbols\MethodSymbol.cs (1)
1209return base.Equals(other, compareKind);
Symbols\MissingModuleSymbol.cs (2)
119return (object)other != null && assembly.Equals(other.assembly, compareKind); 237return (object)other != null && assembly.Equals(other.assembly, compareKind) && string.Equals(_name, other._name, StringComparison.OrdinalIgnoreCase);
Symbols\MissingNamespaceSymbol.cs (1)
94return (object)other != null && _name.Equals(other._name) && _containingSymbol.Equals(other._containingSymbol, compareKind);
Symbols\NamedTypeSymbol.cs (1)
627|| !overriddenMember.Equals(requiredMembersBuilder[member.Name], TypeCompareKind.ConsiderEverything))
Symbols\NativeIntegerTypeSymbol.cs (5)
255if (!getUnderlyingSymbol(symbol).Equals(other, comparison)) 266Debug.Assert(!symbolA.Equals(symbolB, TypeCompareKind.ConsiderEverything)); 267Debug.Assert(!symbolB.Equals(symbolA, TypeCompareKind.ConsiderEverything)); 268Debug.Assert(symbolA.Equals(symbolB, TypeCompareKind.IgnoreNativeIntegers)); 269Debug.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)
170&& _containingSymbol.Equals(symbol.ContainingSymbol, compareKind);
Symbols\ReducedExtensionMethodSymbol.cs (1)
676this.ContainingSymbol.Equals(other.ContainingSymbol, compareKind);
Symbols\Source\LambdaSymbol.cs (1)
381&& lambda.ContainingSymbol.Equals(ContainingSymbol, compareKind);
Symbols\Source\SourceLocalSymbol.cs (1)
502&& symbol._containingSymbol.Equals(_containingSymbol, compareKind);
Symbols\Source\SourceParameterSymbolBase.cs (1)
44&& symbol._containingSymbol.Equals(_containingSymbol, compareKind);
Symbols\SubstitutedParameterSymbol.cs (1)
116this.ContainingSymbol.Equals(other.ContainingSymbol, compareKind);
Symbols\Symbol.cs (4)
676return this.Equals(obj as Symbol, SymbolEqualityComparer.Default.CompareKind); 681return this.Equals(other, SymbolEqualityComparer.Default.CompareKind); 686return this.Equals(other as Symbol, compareKind); 708return first.Equals(second, compareKind);
Symbols\SymbolEqualityComparer.cs (1)
50return x is null ? y is null : x.Equals(y, _comparison);
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (1)
490return 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)
552Assert.True(member.Equals(underlyingMember, TypeCompareKind.IgnoreNativeIntegers)); 553Assert.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));