File: Microsoft\Scripting\Utils\ReferenceEqualityComparer.cs
Project: ndp\fx\src\Core\System.Core.csproj (System.Core)
/* ****************************************************************************
 *
 * Copyright (c) Microsoft Corporation. 
 *
 * This source code is subject to terms and conditions of the Apache License, Version 2.0. A 
 * copy of the license can be found in the License.html file at the root of this distribution. If 
 * you cannot locate the  Apache License, Version 2.0, please send an email to 
 * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
 * by the terms of the Apache License, Version 2.0.
 *
 * You must not remove this notice, or any other, from this software.
 *
 *
 * ***************************************************************************/
 
using System.Collections.Generic;
using System.Runtime.CompilerServices;
 
namespace System.Dynamic.Utils {
    internal sealed class ReferenceEqualityComparer<T> : IEqualityComparer<T> {
        internal static readonly ReferenceEqualityComparer<T> Instance = new ReferenceEqualityComparer<T>();
 
        private ReferenceEqualityComparer() { }
 
        public bool Equals(T x, T y) {
            return object.ReferenceEquals(x, y);
        }
 
        public int GetHashCode(T obj) {
            return RuntimeHelpers.GetHashCode(obj);
        }
    }
}