private static void AddUniqueAccessor(INameScope scope, Accessor accessor)
{
Accessor existing = (Accessor)scope[accessor.Name, accessor.Namespace];
if (existing != null)
{
if (accessor is ElementAccessor)
{
throw new InvalidOperationException(SR.Format(SR.XmlDuplicateElementName, existing.Name, existing.Namespace));
}
else
{
#if DEBUG
if (!(accessor is AttributeAccessor))
throw new InvalidOperationException(SR.Format(SR.XmlInternalErrorDetails, "Bad accessor type " + accessor.GetType().FullName));
#endif
throw new InvalidOperationException(SR.Format(SR.XmlDuplicateAttributeName, existing.Name, existing.Namespace));
}
}
else
{
scope[accessor.Name, accessor.Namespace] = accessor;
}
}