A game about forced loneliness, made by TACStudios
1using System.Collections.Generic;
2using System.Runtime.CompilerServices;
3
4namespace Unity.VisualScripting
5{
6 // Implementation From Roslyn:
7 // http://source.roslyn.io/#microsoft.codeanalysis/InternalUtilities/ReferenceEqualityComparer.cs
8 public class ReferenceEqualityComparer : IEqualityComparer<object>
9 {
10 private ReferenceEqualityComparer() { }
11
12 bool IEqualityComparer<object>.Equals(object a, object b)
13 {
14 return a == b;
15 }
16
17 int IEqualityComparer<object>.GetHashCode(object a)
18 {
19 return GetHashCode(a);
20 }
21
22 public static readonly ReferenceEqualityComparer Instance = new ReferenceEqualityComparer();
23
24 public static int GetHashCode(object a)
25 {
26 return RuntimeHelpers.GetHashCode(a);
27 }
28 }
29
30 public class ReferenceEqualityComparer<T> : IEqualityComparer<T>
31 {
32 private ReferenceEqualityComparer() { }
33
34 bool IEqualityComparer<T>.Equals(T a, T b)
35 {
36 return ReferenceEquals(a, b);
37 }
38
39 int IEqualityComparer<T>.GetHashCode(T a)
40 {
41 return GetHashCode(a);
42 }
43
44 public static readonly ReferenceEqualityComparer<T> Instance = new ReferenceEqualityComparer<T>();
45
46 public static int GetHashCode(T a)
47 {
48 return RuntimeHelpers.GetHashCode(a);
49 }
50 }
51}