private IMethodSymbol ResolveEqualityComparerEquals([NotNull] Compilation compilation) { INamedTypeSymbol equalityComparerType = KnownTypes.SystemCollectionsGenericEqualityComparerT(compilation); return(equalityComparerType?.GetMembers("Equals").OfType <IMethodSymbol>().FirstOrDefault()); }
private IMethodSymbol ResolveNullableEquals([NotNull] Compilation compilation) { INamedTypeSymbol nullableType = KnownTypes.SystemNullableT(compilation); return(nullableType?.GetMembers("Equals").OfType <IMethodSymbol>().FirstOrDefault()); }
private IMethodSymbol ResolveObjectReferenceEquals([NotNull] Compilation compilation) { INamedTypeSymbol objectType = KnownTypes.SystemObject(compilation); return(objectType?.GetMembers("ReferenceEquals").OfType <IMethodSymbol>().FirstOrDefault()); }
private IMethodSymbol ResolveStaticObjectEquals([NotNull] Compilation compilation) { INamedTypeSymbol objectType = KnownTypes.SystemObject(compilation); return(objectType?.GetMembers("Equals").OfType <IMethodSymbol>().FirstOrDefault(method => method.IsStatic)); }
private static IPropertySymbol ResolveNullableValueProperty([NotNull] Compilation compilation) { INamedTypeSymbol nullableType = KnownTypes.SystemNullableT(compilation); return(nullableType?.GetMembers("Value").OfType <IPropertySymbol>().FirstOrDefault()); }