/* **************************************************************************** * * 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; namespace Microsoft.Scripting.Utils { // Compares two ICollection's using element equality internal sealed class ListEqualityComparer : EqualityComparer> { internal static readonly ListEqualityComparer Instance = new ListEqualityComparer(); private ListEqualityComparer() { } // EqualityComparer handles null and object identity for us public override bool Equals(ICollection x, ICollection y) { return x.ListEquals(y); } public override int GetHashCode(ICollection obj) { return obj.ListHashCode(); } } }