protected void CheckOverloadableMember(List existing, TypeMember member)
{
NodeType expectedNodeType = member.NodeType;
foreach (TypeMember existingMember in existing)
{
if (expectedNodeType != existingMember.NodeType)
{
MemberNameConflict(member);
}
else
{
if (existingMember.IsStatic == member.IsStatic)
{
if (AreParametersTheSame(existingMember, member)
&& !AreDifferentInterfaceMembers((IExplicitMember)existingMember, (IExplicitMember)member)
&& !AreDifferentConversionOperators(existingMember, member)
&& IsGenericityTheSame(existingMember, member))
{
MemberConflict(member, TypeSystemServices.GetSignature((IEntityWithParameters)member.Entity, false));
}
}
}
}
}