Unlike
03c231a585c8ff46f93084210fa240e8f6e4f65b, this isn't needed for
'mdoc-validate', it's instead for "niceness" reasons.
For example, as with
f6e4f65b, if we update docs generated by an older
version mdoc, we'll add a <TypeSignature/> for ILAsm. However, the
added <TypeSignature/> is at the end of the file, nowhere near the
existing <TypeSignature/>s, which is...odd. Not bad, per-se, but
"undesirable".
Thus, we order things for consistency during/after updates.
if (!DocUtils.IsDelegate (type))
WriteElement (root, "Members");
+ OrderTypeNodes (root, root.ChildNodes);
NormalizeWhitespace(root);
}
+ static readonly string[] TypeNodeOrder = {
+ "TypeSignature",
+ "MemberOfLibrary",
+ "AssemblyInfo",
+ "ThreadingSafetyStatement",
+ "ThreadSafetyStatement",
+ "TypeParameters",
+ "Base",
+ "Interfaces",
+ "Attributes",
+ "Parameters",
+ "ReturnValue",
+ "Docs",
+ "Members",
+ "TypeExcluded",
+ };
+
+ static void OrderTypeNodes (XmlNode member, XmlNodeList children)
+ {
+ ReorderNodes (member, children, TypeNodeOrder);
+ }
+
internal static IEnumerable<T> Sort<T> (IEnumerable<T> list)
{
List<T> l = new List<T> (list);