static int GetHashCodeHelper2(GenericInstanceType type) { var hashCode = type.GenericArguments.Count; for (int i = 0; i < type.GenericArguments.Count; i++) { hashCode ^= MetadataResolver.GetHashCode(type.GenericArguments[i]) << (i % 16); } return(hashCode); }
static int GetHashCodeHelper(TypeSpecification type) { var hashCode = MetadataResolver.GetHashCode(type.ElementType); if (type.IsGenericInstance) { hashCode ^= GetHashCodeHelper2((GenericInstanceType)type); } else if (type.IsRequiredModifier || type.IsOptionalModifier) { hashCode ^= GetHashCodeHelper2((IModifierType)type); } else if (type.IsArray) { hashCode ^= GetHashCodeHelper2((ArrayType)type); } return(hashCode); }
static int GetHashCodeHelper2(IModifierType type) { return(MetadataResolver.GetHashCode(type.ModifierType)); }