public bool Equals (MemberName other)
{
if (this == other)
return true;
if (other == null || Name != other.Name)
return false;
if (is_double_colon != other.is_double_colon)
return false;
if ((TypeArguments != null) &&
(other.TypeArguments == null || TypeArguments.Count != other.TypeArguments.Count))
return false;
if ((TypeArguments == null) && (other.TypeArguments != null))
return false;
if (Left == null)
return other.Left == null;
return Left.Equals (other.Left);
}