3 instantiations of SymbolEquivalenceComparer
Microsoft.CodeAnalysis.Extensions.Package (3)
Symbols\SymbolEquivalenceComparer.cs (3)
48
public static readonly SymbolEquivalenceComparer IgnoreAssembliesInstance =
new
(assemblyComparer: null, distinguishRefFromOut: false, tupleNamesMustMatch: false, ignoreNullableAnnotations: true, objectAndDynamicCompareEqually: true, arrayAndReadOnlySpanCompareEqually: false);
106
return
new
(SimpleNameAssemblyComparer.Instance, distinguishRefFromOut, tupleNamesMustMatch, ignoreNullableAnnotations, objectAndDynamicCompareEqually, arrayAndReadOnlySpanCompareEqually);
122
return
new
(_assemblyComparer, newDistinguishRefFromOut, newTupleNamesMustMatch, newIgnoreNullableAnnotations, newObjectAndDynamicCompareEqually, newArrayAndReadOnlySpanCompareEqually);
23 references to SymbolEquivalenceComparer
Microsoft.CodeAnalysis.Extensions.Package (23)
Symbols\ITypeSymbolExtensions.cs (8)
99
symbols ??= new HashSet<INamedTypeSymbol>(
SymbolEquivalenceComparer
.Instance);
160
return type.GetBaseTypesAndThis().Concat(type.AllInterfaces).Contains(t =>
SymbolEquivalenceComparer
.Instance.Equals(t, baseType));
168
return type.GetBaseTypesAndThis().Contains(t =>
SymbolEquivalenceComparer
.Instance.Equals(t, baseType));
179
if (
SymbolEquivalenceComparer
.Instance.Equals(type, originalBaseType))
185
return baseTypes.Contains(t =>
SymbolEquivalenceComparer
.Instance.Equals(t.OriginalDefinition, originalBaseType));
201
if (
SymbolEquivalenceComparer
.Instance.Equals(currentBaseType.OriginalDefinition, originalBaseType))
216
return type.AllInterfaces.Any(static (t, originalInterfaceType) =>
SymbolEquivalenceComparer
.Instance.Equals(t.OriginalDefinition, originalInterfaceType), originalInterfaceType);
222
return type.AllInterfaces.Contains(t =>
SymbolEquivalenceComparer
.Instance.Equals(t, interfaceType));
Symbols\SignatureComparer.cs (4)
17
public static readonly SignatureComparer Instance = new(
SymbolEquivalenceComparer
.Instance);
18
public static readonly SignatureComparer IgnoreAssembliesInstance = new(
SymbolEquivalenceComparer
.IgnoreAssembliesInstance);
20
private readonly
SymbolEquivalenceComparer
_symbolEquivalenceComparer;
22
private SignatureComparer(
SymbolEquivalenceComparer
symbolEquivalenceComparer)
Symbols\SymbolEquivalenceComparer.cs (6)
46
public static readonly
SymbolEquivalenceComparer
Instance = Create(distinguishRefFromOut: false, tupleNamesMustMatch: false, ignoreNullableAnnotations: true, objectAndDynamicCompareEqually: true, arrayAndReadOnlySpanCompareEqually: false);
47
public static readonly
SymbolEquivalenceComparer
TupleNamesMustMatchInstance = Create(distinguishRefFromOut: false, tupleNamesMustMatch: true, ignoreNullableAnnotations: true, objectAndDynamicCompareEqually: true, arrayAndReadOnlySpanCompareEqually: false);
48
public static readonly
SymbolEquivalenceComparer
IgnoreAssembliesInstance = new(assemblyComparer: null, distinguishRefFromOut: false, tupleNamesMustMatch: false, ignoreNullableAnnotations: true, objectAndDynamicCompareEqually: true, arrayAndReadOnlySpanCompareEqually: false);
99
public static
SymbolEquivalenceComparer
Create(
109
public
SymbolEquivalenceComparer
With(
163
/// <remarks>This API is only supported for <see cref="
SymbolEquivalenceComparer
.IgnoreAssembliesInstance"/>.</remarks>
Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (1)
19
SymbolEquivalenceComparer
symbolEquivalenceComparer,
Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
21
private readonly
SymbolEquivalenceComparer
_symbolEquivalenceComparer;
27
SymbolEquivalenceComparer
symbolEquivalenceComparer,
Symbols\SymbolEquivalenceComparer.ParameterSymbolEqualityComparer.cs (1)
17
SymbolEquivalenceComparer
symbolEqualityComparer,
Symbols\SymbolEquivalenceComparer.SignatureTypeSymbolEquivalenceComparer.cs (1)
13
internal sealed class SignatureTypeSymbolEquivalenceComparer(
SymbolEquivalenceComparer
symbolEquivalenceComparer) : IEqualityComparer<ITypeSymbol?>