public override void BeforeAdding (IEnumerable<XElement> list)
{
+ first = true;
if (State.BaseType == "System.Enum")
Output.WriteLine ("<p>Added value{0}:</p><pre>", list.Count () > 1 ? "s" : String.Empty);
else
public override void BeforeRemoving (IEnumerable<XElement> list)
{
+ first = true;
if (State.BaseType == "System.Enum")
Output.WriteLine ("<p>Removed value{0}:</p><pre>", list.Count () > 1 ? "s" : String.Empty);
else
public abstract class MemberComparer : Comparer {
+ // true if this is the first element being added or removed in the group being rendered
+ protected bool first;
+
public abstract string GroupName { get; }
public abstract string ElementName { get; }
public virtual void BeforeAdding (IEnumerable<XElement> list)
{
+ first = true;
Output.WriteLine ("<p>Added {0}:</p><pre>", list.Count () > 1 ? GroupName : ElementName);
}
public override void Added (XElement target)
{
- Indent ().WriteLine ("\t{0}", GetDescription (target));
+ var o = GetObsoleteMessage (target);
+ if (!first && (o.Length > 0))
+ Output.WriteLine ();
+ Indent ().WriteLine ("\t{0}{1}", o, GetDescription (target));
+ first = false;
}
public virtual void AfterAdding ()
public virtual void BeforeRemoving (IEnumerable<XElement> list)
{
+ first = true;
Output.WriteLine ("<p>Removed {0}:</p><pre>", list.Count () > 1 ? GroupName : ElementName);
}
public override void Removed (XElement source)
{
- Indent ().WriteLine ("\t{0}", GetDescription (source));
+ var o = GetObsoleteMessage (source);
+ if (!first && (o.Length > 0))
+ Output.WriteLine ();
+ Indent ().WriteLine ("\t{0}{1}", o, GetDescription (source));
+ first = false;
}
public virtual void AfterRemoving ()