Merge branch 'cecil-light'
authorJb Evain <jbevain@gmail.com>
Mon, 22 Nov 2010 23:37:13 +0000 (00:37 +0100)
committerJb Evain <jbevain@gmail.com>
Mon, 22 Nov 2010 23:37:13 +0000 (00:37 +0100)
1  2 
mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs
mcs/tools/mdoc/Mono.Documentation/monodocer.cs

index afe6d612dea3975644aed7e4454d41fbe884c2f0,c9144904fa66d32b75d749b67abe61bb195a2d46..35dae5a55d9742fc088ff90b01d375380ec0dd4d
@@@ -1321,48 -1296,7 +1320,48 @@@ class MDocUpdater : MDocComman
                UpdateExtensionMethods (me, info);
        }
  
-       IEnumerable<string> GetCustomAttributes (IMemberReference mi)
 +      static readonly string[] MemberNodeOrder = {
 +              "MemberSignature",
 +              "MemberType",
 +              "AssemblyInfo",
 +              "Attributes",
 +              "ReturnValue",
 +              "TypeParameters",
 +              "Parameters",
 +              "MemberValue",
 +              "Docs",
 +              "Excluded",
 +              "ExcludedLibrary",
 +              "Link",
 +      };
 +
 +      static void OrderMemberNodes (XmlNode member, XmlNodeList children)
 +      {
 +              ReorderNodes (member, children, MemberNodeOrder);
 +      }
 +
 +      static void ReorderNodes (XmlNode node, XmlNodeList children, string[] ordering)
 +      {
 +              MyXmlNodeList newChildren = new MyXmlNodeList (children.Count);
 +              for (int i = 0; i < ordering.Length; ++i) {
 +                      for (int j = 0; j < children.Count; ++j) {
 +                              XmlNode c = children [j];
 +                              if (c.Name == ordering [i]) {
 +                                      newChildren.Add (c);
 +                              }
 +                      }
 +              }
 +              if (newChildren.Count >= 0)
 +                      node.PrependChild ((XmlNode) newChildren [0]);
 +              for (int i = 1; i < newChildren.Count; ++i) {
 +                      XmlNode prev = (XmlNode) newChildren [i-1];
 +                      XmlNode cur  = (XmlNode) newChildren [i];
 +                      node.RemoveChild (cur);
 +                      node.InsertAfter (cur, prev);
 +              }
 +      }
 +
+       IEnumerable<string> GetCustomAttributes (MemberReference mi)
        {
                IEnumerable<string> attrs = Enumerable.Empty<string>();