Author: ankit
Date: 2006-01-16 09:25:20 -0500 (Mon, 16 Jan 2006)
New Revision: 55634

Modified:
   trunk/mcs/ilasm/codegen/ChangeLog
   trunk/mcs/ilasm/codegen/TypeDef.cs
   trunk/mcs/ilasm/codegen/TypeManager.cs
Log:
* TypeDef.cs (TypeDef.IComparable): Implement IComparable interface.
* TypeManager.cs (TypeManager.DefineAll): Sort type_table before Define()'ing.


Modified: trunk/mcs/ilasm/codegen/ChangeLog
===================================================================
--- trunk/mcs/ilasm/codegen/ChangeLog   2006-01-16 14:13:37 UTC (rev 55633)
+++ trunk/mcs/ilasm/codegen/ChangeLog   2006-01-16 14:25:20 UTC (rev 55634)
@@ -1,5 +1,10 @@
 2006-01-16  Ankit Jain  <[EMAIL PROTECTED]>
 
+       * TypeDef.cs (TypeDef.IComparable): Implement IComparable interface.
+       * TypeManager.cs (TypeManager.DefineAll): Sort type_table before 
Define()'ing.
+
+2006-01-16  Ankit Jain  <[EMAIL PROTECTED]>
+
        * TypeRef.cs (TypeRef.CreateMethodRef): Return a TypeSpecMethodRef if
        this is a modified (eg. []) type.       
 

Modified: trunk/mcs/ilasm/codegen/TypeDef.cs
===================================================================
--- trunk/mcs/ilasm/codegen/TypeDef.cs  2006-01-16 14:13:37 UTC (rev 55633)
+++ trunk/mcs/ilasm/codegen/TypeDef.cs  2006-01-16 14:25:20 UTC (rev 55634)
@@ -14,7 +14,7 @@
 
 namespace Mono.ILASM {
 
-        public class TypeDef : ICustomAttrTarget, IDeclSecurityTarget {
+        public class TypeDef : ICustomAttrTarget, IDeclSecurityTarget, 
IComparable {
 
                 protected class GenericInfo {
                         public string Id;
@@ -487,6 +487,13 @@
 
                         return name_space + "." + name;
                 }
+
+                public int CompareTo (object obj)
+                {
+                        TypeDef type_def = (TypeDef) obj; 
+
+                        return FullName.CompareTo (type_def.FullName);
+                }
         }
 
 }

Modified: trunk/mcs/ilasm/codegen/TypeManager.cs
===================================================================
--- trunk/mcs/ilasm/codegen/TypeManager.cs      2006-01-16 14:13:37 UTC (rev 
55633)
+++ trunk/mcs/ilasm/codegen/TypeManager.cs      2006-01-16 14:25:20 UTC (rev 
55634)
@@ -48,7 +48,9 @@
 
                 public void DefineAll ()
                 {
-                        foreach (TypeDef typedef in type_table.Values) {
+                        ArrayList type_list = new ArrayList 
(type_table.Values);
+                        type_list.Sort ();
+                        foreach (TypeDef typedef in type_list) {
                                 typedef.Define (code_gen);
                         }
                 }

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to