コード例 #1
0
        bool VerifyHashCodes()
        {
            if (m_hashcodeVerifyData == null)
            {
                return(true);
            }

            bool success = true;
            RuntimeTypeHandle typeRemovedType = typeof(DependencyReductionTypeRemoved).TypeHandle;

            for (int i = 0; i < m_hashcodeVerifyData.Length; i++)
            {
                McgHashcodeVerifyEntry entry = m_hashcodeVerifyData[i];
                if (entry.TypeHandle.Equals(typeRemovedType))
                {
                    continue;
                }

                uint nutcHashcode = unchecked ((uint)entry.TypeHandle.GetHashCode());
                uint mcgHashcode  = entry.HashCode;

                if (nutcHashcode != mcgHashcode)
                {
                    success = false;
                    Debug.WriteLine("MCG hashcode mistatch at index: " + DebugUtil.BasicToString(i)
                                    + " MCG: " + DebugUtil.ToHexStringUnsigned(mcgHashcode)
                                    + " NUTC: " + DebugUtil.ToHexStringUnsigned(nutcHashcode));
                }
            }
            return(success);
        }