7 instantiations of SymbolEqualityComparer
Microsoft.CodeAnalysis (5)
Symbols\SymbolEqualityComparer.cs (5)
22public static readonly SymbolEqualityComparer Default = new SymbolEqualityComparer(TypeCompareKind.AllNullableIgnoreOptions); 30public static readonly SymbolEqualityComparer IncludeNullability = new SymbolEqualityComparer(TypeCompareKind.ConsiderEverything2); //TODO: should this be explicitly *not* compare everything 33internal static readonly SymbolEqualityComparer ConsiderEverything = new SymbolEqualityComparer(TypeCompareKind.ConsiderEverything); 34internal static readonly SymbolEqualityComparer IgnoreAll = new SymbolEqualityComparer(TypeCompareKind.AllIgnoreOptions); 35internal static readonly SymbolEqualityComparer CLRSignature = new SymbolEqualityComparer(TypeCompareKind.CLRSignatureCompareOptions);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (1)
Symbols\FunctionPointerTypeSymbolTests.cs (1)
983var symbolEqualityComparer = new SymbolEqualityComparer(
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
Extensions.cs (1)
767return first.Equals(second, new Microsoft.CodeAnalysis.SymbolEqualityComparer(typeCompareKind));
233 references to SymbolEqualityComparer
Microsoft.CodeAnalysis (13)
DocumentationCommentId.cs (2)
1222if (returnType != null && methodSymbol.ReturnType.Equals(returnType, SymbolEqualityComparer.CLRSignature)) 1365return parameterType != null && symbol.Type.Equals(parameterType, SymbolEqualityComparer.CLRSignature);
Operations\ControlFlowGraphBuilder.cs (3)
7709var explicitProperties = new Dictionary<IPropertySymbol, IOperation>(SymbolEqualityComparer.IgnoreAll); 7807var set = new HashSet<IPropertySymbol>(SymbolEqualityComparer.IgnoreAll); 7821Debug.Assert(properties.Contains(propertyReference.Property, SymbolEqualityComparer.IgnoreAll));
Symbols\ISymbol.cs (3)
309/// Determines if this symbol is equal to another, according to the rules of the provided <see cref="SymbolEqualityComparer"/> 312/// <param name="equalityComparer">The <see cref="SymbolEqualityComparer"/> to use when comparing symbols</param> 314bool Equals([NotNullWhen(returnValue: true)] ISymbol? other, SymbolEqualityComparer equalityComparer);
Symbols\SymbolEqualityComparer.cs (5)
22public static readonly SymbolEqualityComparer Default = new SymbolEqualityComparer(TypeCompareKind.AllNullableIgnoreOptions); 30public static readonly SymbolEqualityComparer IncludeNullability = new SymbolEqualityComparer(TypeCompareKind.ConsiderEverything2); //TODO: should this be explicitly *not* compare everything 33internal static readonly SymbolEqualityComparer ConsiderEverything = new SymbolEqualityComparer(TypeCompareKind.ConsiderEverything); 34internal static readonly SymbolEqualityComparer IgnoreAll = new SymbolEqualityComparer(TypeCompareKind.AllIgnoreOptions); 35internal static readonly SymbolEqualityComparer CLRSignature = new SymbolEqualityComparer(TypeCompareKind.CLRSignatureCompareOptions);
Microsoft.CodeAnalysis.CodeStyle (10)
AbstractMakeFieldReadonlyDiagnosticAnalyzer.cs (3)
144static (a, threadStaticAttribute) => SymbolEqualityComparer.Default.Equals(a.AttributeClass, threadStaticAttribute), 153return symbol.GetAttributes().Any(static (x, dataMemberAttribute) => SymbolEqualityComparer.Default.Equals(x.AttributeClass, dataMemberAttribute), dataMemberAttribute) 154&& symbol.ContainingType.GetAttributes().Any(static (x, dataContractAttribute) => SymbolEqualityComparer.Default.Equals(x.AttributeClass, dataContractAttribute), dataContractAttribute);
AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
412if (SymbolEqualityComparer.Default.Equals(entryPoint, member))
AbstractSimplifyInterpolationHelpers.cs (1)
172=> SymbolEqualityComparer.Default.Equals(type, FindType<T>(semanticModel));
AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (3)
141if (!targetTypeSymbol.Equals(enumerableType, SymbolEqualityComparer.Default) && 160=> whereMethod.Equals(invocation.TargetMethod.ReducedFrom ?? invocation.TargetMethod.OriginalDefinition, SymbolEqualityComparer.Default); 163=> linqMethods.Any(static (m, invocation) => m.Equals(invocation.TargetMethod.ReducedFrom ?? invocation.TargetMethod.OriginalDefinition, SymbolEqualityComparer.Default), invocation);
AbstractSpeculationAnalyzer.cs (1)
365if (symbol.Equals(newSymbol, SymbolEqualityComparer.IncludeNullability))
INamedTypeSymbolExtensions.cs (1)
241return method.Parameters.Any(static (p, within) => p.Type.Equals(within, SymbolEqualityComparer.Default), within);
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
CodeGenerationSymbol.cs (1)
225public bool Equals(ISymbol other, SymbolEqualityComparer equalityComparer)
Microsoft.CodeAnalysis.CSharp (13)
Emitter\Model\SymbolAdapter.cs (1)
81return this.IsDefinition || !this.Equals(this.OriginalDefinition, SymbolEqualityComparer.ConsiderEverything.CompareKind);
FlowAnalysis\NullableWalker.cs (2)
5887return method.Equals(compilation.GetWellKnownTypeMember(WellKnownMember.System_Threading_Interlocked__CompareExchange), SymbolEqualityComparer.ConsiderEverything.CompareKind) 5888|| method.OriginalDefinition.Equals(compilation.GetWellKnownTypeMember(WellKnownMember.System_Threading_Interlocked__CompareExchange_T), SymbolEqualityComparer.ConsiderEverything.CompareKind);
Symbols\PublicModel\ArrayTypeSymbol.cs (1)
68return this.Equals(other as ArrayTypeSymbol, CodeAnalysis.SymbolEqualityComparer.Default);
Symbols\PublicModel\PreprocessingSymbol.cs (1)
55bool ISymbol.Equals(ISymbol? other, CodeAnalysis.SymbolEqualityComparer equalityComparer)
Symbols\PublicModel\Symbol.cs (4)
86return this.Equals(obj as Symbol, CodeAnalysis.SymbolEqualityComparer.Default); 91return this.Equals(other as Symbol, CodeAnalysis.SymbolEqualityComparer.Default); 94bool ISymbol.Equals(ISymbol other, CodeAnalysis.SymbolEqualityComparer equalityComparer) 99protected bool Equals(Symbol other, CodeAnalysis.SymbolEqualityComparer equalityComparer)
Symbols\PublicModel\TypeSymbol.cs (2)
49bool ISymbol.Equals(ISymbol other, CodeAnalysis.SymbolEqualityComparer equalityComparer) 54protected bool Equals(TypeSymbol otherType, CodeAnalysis.SymbolEqualityComparer equalityComparer)
Symbols\Symbol.cs (2)
676return this.Equals(obj as Symbol, SymbolEqualityComparer.Default.CompareKind); 681return this.Equals(other, SymbolEqualityComparer.Default.CompareKind);
Microsoft.CodeAnalysis.CSharp.CodeStyle (8)
CastSimplifier.cs (5)
466if (originalConvertedType.Equals(rewrittenConvertedType, SymbolEqualityComparer.IncludeNullability)) 668if (!originalConvertedType.Equals(rewrittenBitwiseNotConversionType, SymbolEqualityComparer.IncludeNullability)) 728if (!originalConditionalTypeInfo.ConvertedType!.Equals(rewrittenConditionalTypeInfo.ConvertedType, SymbolEqualityComparer.IncludeNullability)) 738if (castType.Equals(rewrittenConditionalOperation.Type, SymbolEqualityComparer.IncludeNullability)) 743castType.Equals(conditionalParentConversion.Type, SymbolEqualityComparer.IncludeNullability))
CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (1)
235if (method1 is not null && !method1.Equals(method2, SymbolEqualityComparer.IncludeNullability))
CSharpSemanticFacts.cs (2)
355type.Equals(symbol, SymbolEqualityComparer.Default) && 356!type.Equals(symbol, SymbolEqualityComparer.IncludeNullability))
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (4)
ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (1)
266!SymbolEqualityComparer.Default.Equals(expressionConvertedType, expressionType))
ConvertToRecordEngine.cs (1)
105SymbolEqualityComparer.Default) &&
CSharpAsAndNullCheckCodeFixProvider.cs (2)
148if (SymbolEqualityComparer.Default.Equals(localType, asType) && 149!SymbolEqualityComparer.IncludeNullability.Equals(localType, asType))
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (15)
EditAndContinue\TopLevelEditingTests.cs (15)
2939SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3056SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3091SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3178SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3199SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3234SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3255SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3277SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3299SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3389SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3413SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3487SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3511SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3602SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))), 3643SemanticEdit(SemanticEditKind.Update, c => c.GetMember<INamedTypeSymbol>("C").GetMembers("Equals").OfType<IMethodSymbol>().First(m => SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType))),
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (4)
CodeGen\CodeGenTupleTest.cs (4)
6810Assert.False(tuple1.Equals(tuple2, SymbolEqualityComparer.IncludeNullability)); 6879Assert.False(tuple1.Equals(tuple2, SymbolEqualityComparer.IncludeNullability)); 27540Assert.False(type.Equals(underlyingType, SymbolEqualityComparer.Default)); 27541Assert.False(type.Equals(underlyingType, SymbolEqualityComparer.ConsiderEverything));
Microsoft.CodeAnalysis.CSharp.Features (8)
Completion\CompletionProviders\DeclarationName\DeclarationNameRecommender.cs (1)
310methodParameterType.Equals(overloadParameter.Type, SymbolEqualityComparer.Default))
Completion\CompletionProviders\EnumAndCompletionListTagCompletionProvider.cs (1)
238if (!isEnumOrCompletionListType && !SymbolEqualityComparer.Default.Equals(type, symbolType))
ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (1)
266!SymbolEqualityComparer.Default.Equals(expressionConvertedType, expressionType))
ConvertToRecordEngine.cs (1)
105SymbolEqualityComparer.Default) &&
CSharpAsAndNullCheckCodeFixProvider.cs (2)
148if (SymbolEqualityComparer.Default.Equals(localType, asType) && 149!SymbolEqualityComparer.IncludeNullability.Equals(localType, asType))
CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (1)
235if (method1 is not null && !method1.Equals(method2, SymbolEqualityComparer.IncludeNullability))
ExtractMethod\CSharpMethodExtractor.cs (1)
195if (currentType == null || !SymbolEqualityComparer.Default.Equals(currentType, semanticModel.ResolveType(typeParameter)))
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (39)
Semantics\FunctionPointerTests.cs (1)
3946Assert.Equal(semanticInfo.Type, semanticInfo.ConvertedType, SymbolEqualityComparer.IncludeNullability);
Semantics\NativeIntegerTests.cs (3)
268Assert.False(underlyingType.Equals(nativeIntegerType, SymbolEqualityComparer.Default)); 269Assert.False(underlyingType.Equals(nativeIntegerType, SymbolEqualityComparer.IncludeNullability)); 270Assert.False(underlyingType.Equals(nativeIntegerType, SymbolEqualityComparer.ConsiderEverything));
Semantics\NullableReferenceTypesTests.cs (30)
109414Assert.True(method1.Equals(method2, SymbolEqualityComparer.IncludeNullability.CompareKind)); 109415Assert.True(method2.Equals(method1, SymbolEqualityComparer.IncludeNullability.CompareKind)); 109419Assert.False(method1.Equals(method2, SymbolEqualityComparer.IncludeNullability.CompareKind)); 109420Assert.False(method2.Equals(method1, SymbolEqualityComparer.IncludeNullability.CompareKind)); 112170Assert.True(c.Equals(c2, SymbolEqualityComparer.Default.CompareKind)); 112171Assert.False(c.Equals(c2, SymbolEqualityComparer.ConsiderEverything.CompareKind)); 153181Assert.True(field2.Equals(field3, SymbolEqualityComparer.Default)); 153182Assert.False(field2.Equals(field3, SymbolEqualityComparer.IncludeNullability)); 153183Assert.True(field3.Equals(field2, SymbolEqualityComparer.Default)); 153184Assert.False(field3.Equals(field2, SymbolEqualityComparer.IncludeNullability)); 153187Assert.True(field1.Equals(field2, SymbolEqualityComparer.Default)); 153188Assert.False(field1.Equals(field2, SymbolEqualityComparer.IncludeNullability)); 153189Assert.True(field2.Equals(field1, SymbolEqualityComparer.Default)); 153190Assert.False(field2.Equals(field1, SymbolEqualityComparer.IncludeNullability)); 153193Assert.True(field1.Equals(field3, SymbolEqualityComparer.Default)); 153194Assert.True(field1.Equals(field3, SymbolEqualityComparer.IncludeNullability)); 153195Assert.True(field3.Equals(field1, SymbolEqualityComparer.Default)); 153196Assert.True(field3.Equals(field1, SymbolEqualityComparer.IncludeNullability)); 153233Assert.False(method2.Equals(method3, SymbolEqualityComparer.Default)); 153234Assert.False(method2.Equals(method3, SymbolEqualityComparer.IncludeNullability)); 153235Assert.False(method3.Equals(method2, SymbolEqualityComparer.Default)); 153236Assert.False(method3.Equals(method2, SymbolEqualityComparer.IncludeNullability)); 153239Assert.False(method1.Equals(method2, SymbolEqualityComparer.Default)); 153240Assert.False(method1.Equals(method2, SymbolEqualityComparer.IncludeNullability)); 153241Assert.False(method2.Equals(method1, SymbolEqualityComparer.Default)); 153242Assert.False(method2.Equals(method1, SymbolEqualityComparer.IncludeNullability)); 153245Assert.True(method1.Equals(method3, SymbolEqualityComparer.Default)); 153246Assert.True(method1.Equals(method3, SymbolEqualityComparer.IncludeNullability)); 153247Assert.True(method3.Equals(method1, SymbolEqualityComparer.Default)); 153248Assert.True(method3.Equals(method1, SymbolEqualityComparer.IncludeNullability));
Semantics\OperatorTests.cs (5)
8430Assert.True(SymbolEqualityComparer.ConsiderEverything.Equals(symbol1.ContainingSymbol, symbol1.Parameters[0].Type) || 8431SymbolEqualityComparer.ConsiderEverything.Equals(symbol1.ContainingSymbol, symbol1.Parameters[1].Type)); 8434if (SymbolEqualityComparer.ConsiderEverything.Equals(symbol1.ContainingSymbol, symbol1.ReturnType)) 8439if (SymbolEqualityComparer.ConsiderEverything.Equals(symbol1.ContainingSymbol, symbol1.Parameters[0].Type)) 8444if (SymbolEqualityComparer.ConsiderEverything.Equals(symbol1.ContainingSymbol, symbol1.Parameters[1].Type))
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (61)
Compilation\GetSemanticInfoTests.cs (1)
3244var operatorSymbol = operators.Where(method => method.Parameters[0].Type.Equals(method.Parameters[1].Type, SymbolEqualityComparer.ConsiderEverything)).Single();
Symbols\FunctionPointerTypeSymbolTests.cs (1)
983var symbolEqualityComparer = new SymbolEqualityComparer(
Symbols\Source\NullablePublicAPITests.cs (29)
2844Assert.True(event1.Equals(event2, SymbolEqualityComparer.Default)); 2845Assert.False(event1.Equals(event2, SymbolEqualityComparer.IncludeNullability)); 3510Assert.Equal(mSymbol, lambdaSymbol.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 3548Assert.Equal(lambdaSymbol, innerLambdaSymbol.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 3571Assert.Equal(innerLambdaSymbol, o2Symbol.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 3609Assert.Equal(lambdaSymbol, innerLambdaSymbol.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 3632Assert.Equal(innerLambdaSymbol, o2Symbol.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 3671Assert.Equal(lambdaSymbol, localFunctionSymbol.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 3672Assert.Equal(localFunctionSymbol, o2Symbol.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 3785Assert.Equal(parameterSymbol, info.Symbol, SymbolEqualityComparer.IncludeNullability); 3813Assert.Equal(lambdaSymbol, paramSymbol.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 3867Assert.Equal(o2Symbol, o2Ref.Symbol, SymbolEqualityComparer.IncludeNullability); 3881Assert.Equal(localFunctionSymbol, model.GetDeclaredSymbol(o8Declaration).ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 3885Assert.Equal(lambdaSymbol, model.GetDeclaredSymbol(node).ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 3925Assert.Equal(fieldLambdaSymbol, o1Symbol.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 3926Assert.Equal(fieldLambdaSymbol, o2Symbol.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 3939Assert.Equal(propertyLambdaSymbol, o3Symbol.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 3940Assert.Equal(propertyLambdaSymbol, o4Symbol.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 3984Assert.Equal(lambdaSymbol, innerLambdaSymbol1.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 3994Assert.Equal(lambdaSymbol, innerLambdaSymbol1.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 4060Assert.Equal(o1Symbol, o1RefSymbol, SymbolEqualityComparer.IncludeNullability); 4061Assert.Equal(o2Symbol, o2RefSymbol, SymbolEqualityComparer.IncludeNullability); 4068Assert.Equal(o2Symbol, speculativeModel.GetSymbolInfo(speculativeO2Ref).Symbol, SymbolEqualityComparer.IncludeNullability); 4073Assert.Equal(o1Symbol, speculativeModel.GetSymbolInfo(speculativeO1Ref).Symbol, SymbolEqualityComparer.IncludeNullability); 4127Assert.Equal(lambdaSymbol, o2Result.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 4128Assert.Equal(localFunctionSymbol, o8Result.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 4132Assert.Equal(lambdaSymbol, o1Result.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 4133Assert.Equal(localFunctionSymbol, oResult.ContainingSymbol, SymbolEqualityComparer.IncludeNullability); 4136Assert.Equal(localFunctionSymbol, localFunctionResult, SymbolEqualityComparer.IncludeNullability);
Symbols\SymbolEqualityTests.cs (28)
380Assert.False(SymbolEqualityComparer.Default.Equals(symbol1, symbol2)); 381Assert.False(SymbolEqualityComparer.Default.Equals(symbol2, symbol1)); 382Assert.NotEqual(SymbolEqualityComparer.Default.GetHashCode(symbol1), SymbolEqualityComparer.Default.GetHashCode(symbol2)); 383Assert.False(SymbolEqualityComparer.ConsiderEverything.Equals(symbol1, symbol2)); 384Assert.False(SymbolEqualityComparer.ConsiderEverything.Equals(symbol2, symbol1)); 385Assert.NotEqual(SymbolEqualityComparer.ConsiderEverything.GetHashCode(symbol1), SymbolEqualityComparer.ConsiderEverything.GetHashCode(symbol2)); 387Assert.True(SymbolEqualityComparer.Default.Equals(symbol2, symbol3)); 388Assert.True(SymbolEqualityComparer.Default.Equals(symbol3, symbol2)); 389Assert.Equal(SymbolEqualityComparer.Default.GetHashCode(symbol2), SymbolEqualityComparer.Default.GetHashCode(symbol3)); 390Assert.True(SymbolEqualityComparer.ConsiderEverything.Equals(symbol2, symbol3)); 391Assert.True(SymbolEqualityComparer.ConsiderEverything.Equals(symbol3, symbol2)); 392Assert.Equal(SymbolEqualityComparer.ConsiderEverything.GetHashCode(symbol2), SymbolEqualityComparer.ConsiderEverything.GetHashCode(symbol3)); 980Assert.True(symbol1.Equals(symbol1, SymbolEqualityComparer.Default)); 981Assert.True(symbol2.Equals(symbol2, SymbolEqualityComparer.Default)); 982Assert.True(symbol1.Equals(symbol2, SymbolEqualityComparer.Default)); 983Assert.True(symbol2.Equals(symbol1, SymbolEqualityComparer.Default)); 986Assert.True(symbol1.Equals(symbol1, SymbolEqualityComparer.IncludeNullability)); 987Assert.True(symbol2.Equals(symbol2, SymbolEqualityComparer.IncludeNullability)); 988Assert.Equal(expectedIncludeNullability, symbol1.Equals(symbol2, SymbolEqualityComparer.IncludeNullability)); 989Assert.Equal(expectedIncludeNullability, symbol2.Equals(symbol1, SymbolEqualityComparer.IncludeNullability)); 993Assert.Equal(SymbolEqualityComparer.Default.GetHashCode(symbol1), SymbolEqualityComparer.Default.GetHashCode(symbol2)); 994Assert.Equal(SymbolEqualityComparer.IncludeNullability.GetHashCode(symbol1), SymbolEqualityComparer.IncludeNullability.GetHashCode(symbol2));
Symbols\TypeTests.cs (2)
1689Assert.Equal((locals[0] as ILocalSymbol).Type, memType, SymbolEqualityComparer.ConsiderEverything); 1720Assert.Equal(compType, memType, SymbolEqualityComparer.ConsiderEverything);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (4)
FunctionPointerUtilities.cs (4)
160Assert.Equal(semanticInfo.Type, semanticInfo.ConvertedType, SymbolEqualityComparer.IncludeNullability); 253Assert.Equal<ISymbol>(signatureType, semanticInfo.Type, SymbolEqualityComparer.Default); 254Assert.Equal(semanticInfo.Type, semanticInfo.ConvertedType, SymbolEqualityComparer.IncludeNullability); 257Assert.Equal(signatureType, semanticInfo.Type, SymbolEqualityComparer.Default);
Microsoft.CodeAnalysis.CSharp.Workspaces (7)
CastSimplifier.cs (5)
466if (originalConvertedType.Equals(rewrittenConvertedType, SymbolEqualityComparer.IncludeNullability)) 668if (!originalConvertedType.Equals(rewrittenBitwiseNotConversionType, SymbolEqualityComparer.IncludeNullability)) 728if (!originalConditionalTypeInfo.ConvertedType!.Equals(rewrittenConditionalTypeInfo.ConvertedType, SymbolEqualityComparer.IncludeNullability)) 738if (castType.Equals(rewrittenConditionalOperation.Type, SymbolEqualityComparer.IncludeNullability)) 743castType.Equals(conditionalParentConversion.Type, SymbolEqualityComparer.IncludeNullability))
CSharpSemanticFacts.cs (2)
355type.Equals(symbol, SymbolEqualityComparer.Default) && 356!type.Equals(symbol, SymbolEqualityComparer.IncludeNullability))
Microsoft.CodeAnalysis.Features (27)
AbstractMakeFieldReadonlyDiagnosticAnalyzer.cs (3)
144static (a, threadStaticAttribute) => SymbolEqualityComparer.Default.Equals(a.AttributeClass, threadStaticAttribute), 153return symbol.GetAttributes().Any(static (x, dataMemberAttribute) => SymbolEqualityComparer.Default.Equals(x.AttributeClass, dataMemberAttribute), dataMemberAttribute) 154&& symbol.ContainingType.GetAttributes().Any(static (x, dataContractAttribute) => SymbolEqualityComparer.Default.Equals(x.AttributeClass, dataContractAttribute), dataContractAttribute);
AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
412if (SymbolEqualityComparer.Default.Equals(entryPoint, member))
AbstractSimplifyInterpolationHelpers.cs (1)
172=> SymbolEqualityComparer.Default.Equals(type, FindType<T>(semanticModel));
AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (3)
141if (!targetTypeSymbol.Equals(enumerableType, SymbolEqualityComparer.Default) && 160=> whereMethod.Equals(invocation.TargetMethod.ReducedFrom ?? invocation.TargetMethod.OriginalDefinition, SymbolEqualityComparer.Default); 163=> linqMethods.Any(static (m, invocation) => m.Equals(invocation.TargetMethod.ReducedFrom ?? invocation.TargetMethod.OriginalDefinition, SymbolEqualityComparer.Default), invocation);
Completion\Providers\AbstractContextVariableArgumentProvider.cs (1)
117if (requireExactType && !SymbolEqualityComparer.Default.Equals(context.Parameter.Type, symbolType))
Completion\Providers\AbstractRecommendationServiceBasedCompletionProvider.cs (2)
67var preselect = inferredTypes.Contains(GetSymbolType(symbol), SymbolEqualityComparer.Default) && !IsInstrinsic(symbol); 207var typeConvertibilityCache = new Dictionary<ITypeSymbol, bool>(SymbolEqualityComparer.Default);
Completion\Providers\AbstractSymbolCompletionProvider.cs (2)
49/// <param name="typeConvertibilityCache">A cache to use for repeated lookups. This should be created with <see cref="SymbolEqualityComparer.Default"/> 117var typeConvertibilityCache = new Dictionary<ITypeSymbol, bool>(SymbolEqualityComparer.Default);
ConvertAnonymousType\AbstractConvertAnonymousTypeToTupleCodeRefactoringProvider.cs (2)
52if (allAnonymousNodes.Any(t => !anonymousType.Equals(t.symbol, SymbolEqualityComparer.Default))) 114if (allAnonymousTypes || anonymousType.Equals(symbol, SymbolEqualityComparer.Default))
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (4)
4546SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, compilation.GetTypeByMetadataName(typeof(StringBuilder).FullName!)) && 4547SymbolEqualityComparer.Default.Equals(m.ReturnType, compilation.GetTypeByMetadataName(typeof(bool).FullName!))); 4558SymbolEqualityComparer.Default.Equals(m.Parameters[0].Type, m.ContainingType)); 5011oldCtor = oldType.InstanceConstructors.Single(c => c.Parameters.Length == 1 && SymbolEqualityComparer.Default.Equals(c.Parameters[0].Type, c.ContainingType));
GenerateConstructorFromMembers\AbstractGenerateConstructorFromMembersCodeRefactoringProvider.State.cs (1)
110where constructorTypes.SequenceEqual(symbolTypes, SymbolEqualityComparer.Default)
GenerateMember\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.AbstractInvocationInfo.cs (1)
48var result = capturedTypeParameters.Except<ITypeParameterSymbol>(availableTypeParameters, SymbolEqualityComparer.Default).ToImmutableArray();
GenerateMember\GenerateParameterizedMember\AbstractGenerateParameterizedMemberService.SignatureInfo.cs (1)
179var result = new Dictionary<ITypeSymbol, ITypeParameterSymbol>(SymbolEqualityComparer.Default);
GenerateType\AbstractGenerateTypeService.GenerateNamedType.cs (1)
130static (c, parameterTypes) => c.Parameters.Select(p => p.Type).SequenceEqual(parameterTypes, SymbolEqualityComparer.Default), parameterTypes))
MetadataAsSource\AbstractMetadataAsSourceService.AbstractWrappedSymbol.cs (1)
110public bool Equals(ISymbol other, SymbolEqualityComparer equalityComparer)
ReplaceMethodWithProperty\ReplaceMethodWithPropertyCodeRefactoringProvider.cs (1)
145SymbolEqualityComparer.IncludeNullability.Equals(parameter.Type, getMethod.ReturnType) &&
Shared\Utilities\ExtractTypeHelpers.cs (1)
233if (type.Equals(typeParameter, SymbolEqualityComparer.Default) ||
ValueTracking\ValueTracker.cs (1)
109var isParameterForPreviousTrackedMethod = previousSymbol?.Equals(parameterSymbol.ContainingSymbol, SymbolEqualityComparer.Default) == true;
Microsoft.CodeAnalysis.VisualBasic (2)
Symbols\Symbol.vb (2)
778Return Me.[Equals](TryCast(other, Symbol), SymbolEqualityComparer.Default.CompareKind) 781Private Overloads Function ISymbol_Equals(other As ISymbol, equalityComparer As SymbolEqualityComparer) As Boolean Implements ISymbol.Equals
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (1)
VisualBasicSimplifyObjectCreationDiagnosticAnalyzer.vb (1)
56If symbolInfo.Type IsNot Nothing AndAlso symbolInfo.Type.Equals(symbolInfo.ConvertedType, SymbolEqualityComparer.Default) Then
Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests (2)
CodeGen\CodeGenTuples.vb (2)
23215Assert.False(type.Equals(underlyingType, SymbolEqualityComparer.Default)) 23216Assert.False(type.Equals(underlyingType, SymbolEqualityComparer.ConsiderEverything))
Microsoft.CodeAnalysis.VisualBasic.Features (2)
ExtractMethod\VisualBasicMethodExtractor.vb (1)
108If Not SymbolEqualityComparer.Default.Equals(currentType, binding.ResolveType(typeParameter)) Then
VisualBasicSimplifyObjectCreationDiagnosticAnalyzer.vb (1)
56If symbolInfo.Type IsNot Nothing AndAlso symbolInfo.Type.Equals(symbolInfo.ConvertedType, SymbolEqualityComparer.Default) Then
Microsoft.CodeAnalysis.Workspaces (12)
AbstractSpeculationAnalyzer.cs (1)
365if (symbol.Equals(newSymbol, SymbolEqualityComparer.IncludeNullability))
CodeGenerationSymbol.cs (1)
225public bool Equals(ISymbol other, SymbolEqualityComparer equalityComparer)
FindSymbols\FindReferences\Finders\AbstractTypeParameterSymbolReferenceFinder.cs (1)
58if (symbol.Equals(typeInfo.Type, SymbolEqualityComparer.Default))
FindSymbols\SymbolFinder_Helpers.cs (1)
89if (searchSymbol.Equals(symbolToMatch, SymbolEqualityComparer.Default))
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\INamedTypeSymbolExtensions.cs\INamedTypeSymbolExtensions.cs (1)
241return method.Parameters.Any(static (p, within) => p.Type.Equals(within, SymbolEqualityComparer.Default), within);
Recommendations\AbstractRecommendationServiceRunner.cs (3)
399if (SymbolEqualityComparer.Default.Equals(originalContainerType, originalConstraintType)) 415if (SymbolEqualityComparer.Default.Equals(interfaceType.OriginalDefinition, originalConstraintType)) 425if (SymbolEqualityComparer.Default.Equals(current.OriginalDefinition, originalConstraintType))
Shared\Extensions\IMethodSymbolExtensions.cs (2)
69var mapping = new Dictionary<ITypeSymbol, ITypeSymbol>(SymbolEqualityComparer.Default); 123var mapping = new Dictionary<ITypeSymbol, ITypeSymbol>(SymbolEqualityComparer.Default);
Shared\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (1)
387return memberType.AllInterfaces.Contains(constructed, equalityComparer: SymbolEqualityComparer.Default);
Simplification\Simplifiers\AbstractMemberAccessExpressionSimplifier.cs (1)
66if (!symbolInfo.Symbol.Equals(newSymbolInfo.Symbol, SymbolEqualityComparer.IncludeNullability))