in src/managed/DiffGen/ArchiveUtility/ItemDefinition.cs [208:248]
public static bool Equals(ItemDefinition x, ItemDefinition y)
{
if (x.Length != y.Length)
{
return false;
}
if (x.Hashes.Count != y.Hashes.Count)
{
return false;
}
if ((x.Hashes.Count == 0) && (x.Names.Count != y.Names.Count))
{
return false;
}
foreach (var entry in x.Hashes)
{
var hashType = entry.Key;
if (!y.Hashes.ContainsKey(hashType))
{
return false;
}
var xHash = entry.Value;
var yHash = y.Hashes[hashType];
if (!Enumerable.SequenceEqual(xHash.Value, yHash.Value))
{
return false;
}
}
if (x.Hashes.Count == 0)
{
return Enumerable.SequenceEqual(x.Names, y.Names);
}
return true;
}