Author: jbevain
Date: 2005-07-14 08:25:12 -0400 (Thu, 14 Jul 2005)
New Revision: 47300

Modified:
   trunk/cecil/lib/ChangeLog
   trunk/cecil/lib/CodeGen/cecil-gen.rb
   trunk/cecil/lib/CodeGen/templates/IndexedCollectionImplem.cs
   trunk/cecil/lib/CodeGen/templates/LzIndexedCollectionImplem.cs
   trunk/cecil/lib/CodeGen/templates/LzNamedCollectionImplem.cs
   trunk/cecil/lib/CodeGen/templates/MetadataTableWriter.cs
   trunk/cecil/lib/CodeGen/templates/PEOptionalHeader.cs
   trunk/cecil/lib/Mono.Cecil.Metadata/CodedIndex.cs
   trunk/cecil/lib/Mono.Cecil.Metadata/IMetadataVisitor.cs
   trunk/cecil/lib/Mono.Cecil.Metadata/MetadataRowReader.cs
   trunk/cecil/lib/Mono.Cecil.Metadata/MetadataRowWriter.cs
   trunk/cecil/lib/Mono.Cecil.Metadata/MetadataTableReader.cs
   trunk/cecil/lib/Mono.Cecil.Metadata/MetadataTableWriter.cs
   trunk/cecil/lib/Mono.Cecil.Metadata/Utilities.cs
Log:
2005-07-14  Jb Evain  <[EMAIL PROTECTED]>

        * CodeGen/cecil-gen.rb:
                make codegen works on ruby 1.8.2
        * CodeGen/templates/*.cs
          Mono.Cecil.Metadata/*.cs:
                style


Modified: trunk/cecil/lib/ChangeLog
===================================================================
--- trunk/cecil/lib/ChangeLog   2005-07-14 11:57:19 UTC (rev 47299)
+++ trunk/cecil/lib/ChangeLog   2005-07-14 12:25:12 UTC (rev 47300)
@@ -1,3 +1,11 @@
+2005-07-14  Jb Evain  <[EMAIL PROTECTED]>
+
+       * CodeGen/cecil-gen.rb:
+               make codegen works on ruby 1.8.2
+       * CodeGen/templates/*.cs
+         Mono.Cecil.Metadata/*.cs:
+               style
+
 2005-07-13  Jb Evain  <[EMAIL PROTECTED]>
 
        * Mono.Cecil.Implem/VariableDefinition.cs:

Modified: trunk/cecil/lib/CodeGen/cecil-gen.rb
===================================================================
--- trunk/cecil/lib/CodeGen/cecil-gen.rb        2005-07-14 11:57:19 UTC (rev 
47299)
+++ trunk/cecil/lib/CodeGen/cecil-gen.rb        2005-07-14 12:25:12 UTC (rev 
47300)
@@ -51,6 +51,10 @@
        $tables.push(table)
 }
 
+$tables.sort!() { |a, b|
+       a.name <=> b.name
+}
+
 doc.root.each_element("/cecil/metadata/codedindexes//codedindex") { |node|
        ci = Cecil::CodedIndex.new(node.attribute("name").value,
                node.attribute("size").value,
@@ -69,6 +73,16 @@
                node.attribute("requires").nil? ? nil : 
node.attribute("requires").value))
 }
 
+$ops.sort!() { |a, b|
+       if a.op1 == b.op1
+               eval(a.op2) <=> eval(b.op2)
+       elsif a.op1 == "0xff"
+               -1
+       else
+               1       
+       end
+}
+
 doc.root.each_element("/cecil/collections//collection") { |node|
        $colls.push(Cecil::Collection.new(node.attribute("type").value, 
node.attribute("container").value,
                (node.attribute("visit").nil? ? nil : 
node.attribute("visit").value),

Modified: trunk/cecil/lib/CodeGen/templates/IndexedCollectionImplem.cs
===================================================================
--- trunk/cecil/lib/CodeGen/templates/IndexedCollectionImplem.cs        
2005-07-14 11:57:19 UTC (rev 47299)
+++ trunk/cecil/lib/CodeGen/templates/IndexedCollectionImplem.cs        
2005-07-14 12:25:12 UTC (rev 47300)
@@ -52,7 +52,7 @@
                        m_container = container;
                        m_items = new ArrayList ();
                }
-               
+
                public void Add (<%=$cur_coll.type%> value)
                {
                        m_items.Add (value);
@@ -67,7 +67,7 @@
                {
                        return m_items.Contains (value);
                }
-               
+
                public int IndexOf (<%=$cur_coll.type%> value)
                {
                        return m_items.IndexOf (value);

Modified: trunk/cecil/lib/CodeGen/templates/LzIndexedCollectionImplem.cs
===================================================================
--- trunk/cecil/lib/CodeGen/templates/LzIndexedCollectionImplem.cs      
2005-07-14 11:57:19 UTC (rev 47299)
+++ trunk/cecil/lib/CodeGen/templates/LzIndexedCollectionImplem.cs      
2005-07-14 12:25:12 UTC (rev 47300)
@@ -65,13 +65,13 @@
                {
                        m_container = container;
                        m_items = new ArrayList ();
-               }               
+               }
 
                public <%=$cur_coll.name%> (<%=$cur_coll.container_impl%> 
container, ReflectionController controller) : this (container)
                {
                        m_controller = controller;
                }
-               
+
                public void Add (<%=$cur_coll.type%> value)
                {
                        m_items.Add (value);
@@ -86,7 +86,7 @@
                {
                        return m_items.Contains (value);
                }
-               
+
                public int IndexOf (<%=$cur_coll.type%> value)
                {
                        Load ();
@@ -119,7 +119,7 @@
                        Load ();
                        return m_items.GetEnumerator ();
                }
-               
+
                public void Load ()
                {
                        if (m_controller != null && !m_loaded) {

Modified: trunk/cecil/lib/CodeGen/templates/LzNamedCollectionImplem.cs
===================================================================
--- trunk/cecil/lib/CodeGen/templates/LzNamedCollectionImplem.cs        
2005-07-14 11:57:19 UTC (rev 47299)
+++ trunk/cecil/lib/CodeGen/templates/LzNamedCollectionImplem.cs        
2005-07-14 12:25:12 UTC (rev 47300)
@@ -60,12 +60,12 @@
                        get { return m_loaded; }
                        set { m_loaded = value; }
                }
-               
+
                public <%=$cur_coll.name%> (<%=$cur_coll.container_impl%> 
container)
                {
                        m_container = container;
                        m_items = new Hashtable ();
-               }               
+               }
 
                public <%=$cur_coll.name%> (<%=$cur_coll.container_impl%> 
container, ReflectionController controller) : this (container)
                {
@@ -98,7 +98,7 @@
                        Load ();
                        return m_items.Values.GetEnumerator ();
                }
-               
+
                public void Load ()
                {
                        if (m_controller != null && !m_loaded) {

Modified: trunk/cecil/lib/CodeGen/templates/MetadataTableWriter.cs
===================================================================
--- trunk/cecil/lib/CodeGen/templates/MetadataTableWriter.cs    2005-07-14 
11:57:19 UTC (rev 47299)
+++ trunk/cecil/lib/CodeGen/templates/MetadataTableWriter.cs    2005-07-14 
12:25:12 UTC (rev 47300)
@@ -47,7 +47,7 @@
                        Type tt = typeof (<%=table.table_name%>);
                        if (m_heap.HasTable (tt))
                                return m_heap [tt] as <%=table.table_name%>;
-                       
+
                        <%=table.table_name%> table = new <%=table.table_name%> 
();
                        m_heap.Valid |= 1L << TablesHeap.GetTableId (tt);
                        return table;

Modified: trunk/cecil/lib/CodeGen/templates/PEOptionalHeader.cs
===================================================================
--- trunk/cecil/lib/CodeGen/templates/PEOptionalHeader.cs       2005-07-14 
11:57:19 UTC (rev 47299)
+++ trunk/cecil/lib/CodeGen/templates/PEOptionalHeader.cs       2005-07-14 
12:25:12 UTC (rev 47300)
@@ -40,7 +40,7 @@
                        NTSpecificFields.Accept (visitor);
                        DataDirectories.Accept (visitor);
                }
-               <% header = $headers["PEOptionalHeader.StandardFieldsHeader"] %>
+<% header = $headers["PEOptionalHeader.StandardFieldsHeader"] %>
                public sealed class StandardFieldsHeader : IHeader, 
IBinaryVisitable {
 
 <% header.fields.each { |f| %>                 public <%=f.type%> 
<%=f.property_name%>;<% print("\n") } %>
@@ -57,7 +57,7 @@
                                visitor.Visit (this);
                        }
                }
-               <% header = $headers["PEOptionalHeader.NTSpecificFieldsHeader"] 
%>
+<% header = $headers["PEOptionalHeader.NTSpecificFieldsHeader"] %>
                public sealed class NTSpecificFieldsHeader : IHeader, 
IBinaryVisitable {
 
 <% header.fields.each { |f| %>                 public <%=f.type%> 
<%=f.property_name%>;<% print("\n") } %>
@@ -74,7 +74,7 @@
                                visitor.Visit (this);
                        }
                }
-               <% header = $headers["PEOptionalHeader.DataDirectoriesHeader"] 
%>
+<% header = $headers["PEOptionalHeader.DataDirectoriesHeader"] %>
                public sealed class DataDirectoriesHeader : IHeader, 
IBinaryVisitable {
 
 <% header.fields.each { |f| %>                 public <%=f.type%> 
<%=f.property_name%>;<% print("\n") } %>

Modified: trunk/cecil/lib/Mono.Cecil.Metadata/CodedIndex.cs
===================================================================
--- trunk/cecil/lib/Mono.Cecil.Metadata/CodedIndex.cs   2005-07-14 11:57:19 UTC 
(rev 47299)
+++ trunk/cecil/lib/Mono.Cecil.Metadata/CodedIndex.cs   2005-07-14 12:25:12 UTC 
(rev 47300)
@@ -9,7 +9,7 @@
  * See LICENSE.MIT file for more details
  *
  * Generated by /CodeGen/cecil-gen.rb do not edit
- * Tue Jul 05 15:48:31 Paris, Madrid 2005
+ * Thu Jul 14 14:17:17 CEST 2005
  *
  *****************************************************************************/
 
@@ -17,10 +17,6 @@
 
        public enum CodedIndex {
                TypeDefOrRef,
-               HasConstant,
-               HasCustomAttribute,
-               HasFieldMarshal,
-               HasDeclSecurity,
                MemberRefParent,
                HasSemantics,
                MethodDefOrRef,
@@ -28,6 +24,10 @@
                Implementation,
                CustomAttributeType,
                ResolutionScope,
-               TypeOrMethodDef
+               TypeOrMethodDef,
+               HasConstant,
+               HasCustomAttribute,
+               HasFieldMarshal,
+               HasDeclSecurity
        }
 }

Modified: trunk/cecil/lib/Mono.Cecil.Metadata/IMetadataVisitor.cs
===================================================================
--- trunk/cecil/lib/Mono.Cecil.Metadata/IMetadataVisitor.cs     2005-07-14 
11:57:19 UTC (rev 47299)
+++ trunk/cecil/lib/Mono.Cecil.Metadata/IMetadataVisitor.cs     2005-07-14 
12:25:12 UTC (rev 47300)
@@ -9,7 +9,7 @@
  * See LICENSE.MIT file for more details
  *
  * Generated by /CodeGen/cecil-gen.rb do not edit
- * Tue Jul 05 15:48:32 Paris, Madrid 2005
+ * Thu Jul 14 14:17:17 CEST 2005
  *
  *****************************************************************************/
 
@@ -44,8 +44,8 @@
                void Visit (ConstantTable table);
                void Visit (CustomAttributeTable table);
                void Visit (DeclSecurityTable table);
+               void Visit (EventTable table);
                void Visit (EventMapTable table);
-               void Visit (EventTable table);
                void Visit (ExportedTypeTable table);
                void Visit (FieldTable table);
                void Visit (FieldLayoutTable table);
@@ -90,8 +90,8 @@
                void Visit(ConstantRow row);
                void Visit(CustomAttributeRow row);
                void Visit(DeclSecurityRow row);
+               void Visit(EventRow row);
                void Visit(EventMapRow row);
-               void Visit(EventRow row);
                void Visit(ExportedTypeRow row);
                void Visit(FieldRow row);
                void Visit(FieldLayoutRow row);

Modified: trunk/cecil/lib/Mono.Cecil.Metadata/MetadataRowReader.cs
===================================================================
--- trunk/cecil/lib/Mono.Cecil.Metadata/MetadataRowReader.cs    2005-07-14 
11:57:19 UTC (rev 47299)
+++ trunk/cecil/lib/Mono.Cecil.Metadata/MetadataRowReader.cs    2005-07-14 
12:25:12 UTC (rev 47300)
@@ -9,7 +9,7 @@
  * See LICENSE.MIT file for more details
  *
  * Generated by /CodeGen/cecil-gen.rb do not edit
- * Tue Jul 05 15:48:31 Paris, Madrid 2005
+ * Thu Jul 14 14:17:17 CEST 2005
  *
  *****************************************************************************/
 
@@ -60,45 +60,6 @@
                                tables.Add (typeof (TypeRefTable));
                                tables.Add (typeof (TypeSpecTable));
                                break;
-                       case CodedIndex.HasConstant :
-                               bits = 2;
-                               tables.Add (typeof (FieldTable));
-                               tables.Add (typeof (ParamTable));
-                               tables.Add (typeof (PropertyTable));
-                               break;
-                       case CodedIndex.HasCustomAttribute :
-                               bits = 5;
-                               tables.Add (typeof (MethodTable));
-                               tables.Add (typeof (FieldTable));
-                               tables.Add (typeof (TypeRefTable));
-                               tables.Add (typeof (TypeDefTable));
-                               tables.Add (typeof (ParamTable));
-                               tables.Add (typeof (InterfaceImplTable));
-                               tables.Add (typeof (MemberRefTable));
-                               tables.Add (typeof (ModuleTable));
-                               tables.Add (typeof (DeclSecurityTable));
-                               tables.Add (typeof (PropertyTable));
-                               tables.Add (typeof (EventTable));
-                               tables.Add (typeof (StandAloneSigTable));
-                               tables.Add (typeof (ModuleRefTable));
-                               tables.Add (typeof (TypeSpecTable));
-                               tables.Add (typeof (AssemblyTable));
-                               tables.Add (typeof (AssemblyRefTable));
-                               tables.Add (typeof (FileTable));
-                               tables.Add (typeof (ExportedTypeTable));
-                               tables.Add (typeof (ManifestResourceTable));
-                               break;
-                       case CodedIndex.HasFieldMarshal :
-                               bits = 1;
-                               tables.Add (typeof (FieldTable));
-                               tables.Add (typeof (ParamTable));
-                               break;
-                       case CodedIndex.HasDeclSecurity :
-                               bits = 2;
-                               tables.Add (typeof (TypeDefTable));
-                               tables.Add (typeof (MethodTable));
-                               tables.Add (typeof (AssemblyTable));
-                               break;
                        case CodedIndex.MemberRefParent :
                                bits = 3;
                                tables.Add (typeof (TypeRefTable));
@@ -144,6 +105,45 @@
                                tables.Add (typeof (TypeDefTable));
                                tables.Add (typeof (MethodTable));
                                break;
+                       case CodedIndex.HasConstant :
+                               bits = 2;
+                               tables.Add (typeof (FieldTable));
+                               tables.Add (typeof (ParamTable));
+                               tables.Add (typeof (PropertyTable));
+                               break;
+                       case CodedIndex.HasCustomAttribute :
+                               bits = 5;
+                               tables.Add (typeof (MethodTable));
+                               tables.Add (typeof (FieldTable));
+                               tables.Add (typeof (TypeRefTable));
+                               tables.Add (typeof (TypeDefTable));
+                               tables.Add (typeof (ParamTable));
+                               tables.Add (typeof (InterfaceImplTable));
+                               tables.Add (typeof (MemberRefTable));
+                               tables.Add (typeof (ModuleTable));
+                               tables.Add (typeof (DeclSecurityTable));
+                               tables.Add (typeof (PropertyTable));
+                               tables.Add (typeof (EventTable));
+                               tables.Add (typeof (StandAloneSigTable));
+                               tables.Add (typeof (ModuleRefTable));
+                               tables.Add (typeof (TypeSpecTable));
+                               tables.Add (typeof (AssemblyTable));
+                               tables.Add (typeof (AssemblyRefTable));
+                               tables.Add (typeof (FileTable));
+                               tables.Add (typeof (ExportedTypeTable));
+                               tables.Add (typeof (ManifestResourceTable));
+                               break;
+                       case CodedIndex.HasFieldMarshal :
+                               bits = 1;
+                               tables.Add (typeof (FieldTable));
+                               tables.Add (typeof (ParamTable));
+                               break;
+                       case CodedIndex.HasDeclSecurity :
+                               bits = 2;
+                               tables.Add (typeof (TypeDefTable));
+                               tables.Add (typeof (MethodTable));
+                               tables.Add (typeof (AssemblyTable));
+                               break;
                   }
                        foreach (Type t in tables) {
                                int rows = m_mtrv.GetNumberOfRows (t);
@@ -260,12 +260,6 @@
                        row.PermissionSet = ReadByIndexSize (m_blobHeapIdxSz);
                }
 
-               public void Visit (EventMapRow row)
-               {
-                       row.Parent = ReadByIndexSize (GetIndexSize (typeof 
(TypeDefTable)));
-                       row.EventList = ReadByIndexSize (GetIndexSize (typeof 
(EventTable)));
-               }
-
                public void Visit (EventRow row)
                {
                        row.EventFlags = (Mono.Cecil.EventAttributes) 
m_binaryReader.ReadUInt16 ();
@@ -274,6 +268,12 @@
                                ReadByIndexSize (GetCodedIndexSize 
(CodedIndex.TypeDefOrRef)));
                }
 
+               public void Visit (EventMapRow row)
+               {
+                       row.Parent = ReadByIndexSize (GetIndexSize (typeof 
(TypeDefTable)));
+                       row.EventList = ReadByIndexSize (GetIndexSize (typeof 
(EventTable)));
+               }
+
                public void Visit (ExportedTypeRow row)
                {
                        row.Flags = (Mono.Cecil.TypeAttributes) 
m_binaryReader.ReadUInt32 ();

Modified: trunk/cecil/lib/Mono.Cecil.Metadata/MetadataRowWriter.cs
===================================================================
--- trunk/cecil/lib/Mono.Cecil.Metadata/MetadataRowWriter.cs    2005-07-14 
11:57:19 UTC (rev 47299)
+++ trunk/cecil/lib/Mono.Cecil.Metadata/MetadataRowWriter.cs    2005-07-14 
12:25:12 UTC (rev 47300)
@@ -9,7 +9,7 @@
  * See LICENSE.MIT file for more details
  *
  * Generated by /CodeGen/cecil-gen.rb do not edit
- * Tue Jul 05 15:48:31 Paris, Madrid 2005
+ * Thu Jul 14 14:17:17 CEST 2005
  *
  *****************************************************************************/
 
@@ -131,14 +131,6 @@
                        return row;
                }
 
-               public EventMapRow CreateEventMapRow (uint _parent, uint 
_eventList)
-               {
-                       EventMapRow row = new EventMapRow ();
-                       row.Parent = _parent;
-                       row.EventList = _eventList;
-                       return row;
-               }
-
                public EventRow CreateEventRow (EventAttributes _eventFlags, 
uint _name, MetadataToken _eventType)
                {
                        EventRow row = new EventRow ();
@@ -148,6 +140,14 @@
                        return row;
                }
 
+               public EventMapRow CreateEventMapRow (uint _parent, uint 
_eventList)
+               {
+                       EventMapRow row = new EventMapRow ();
+                       row.Parent = _parent;
+                       row.EventList = _eventList;
+                       return row;
+               }
+
                public ExportedTypeRow CreateExportedTypeRow (TypeAttributes 
_flags, uint _typeDefId, uint _typeName, uint _typeNamespace, MetadataToken 
_implementation)
                {
                        ExportedTypeRow row = new ExportedTypeRow ();
@@ -425,11 +425,11 @@
                {
                }
 
-               public void Visit (EventMapRow row)
+               public void Visit (EventRow row)
                {
                }
 
-               public void Visit (EventRow row)
+               public void Visit (EventMapRow row)
                {
                }
 

Modified: trunk/cecil/lib/Mono.Cecil.Metadata/MetadataTableReader.cs
===================================================================
--- trunk/cecil/lib/Mono.Cecil.Metadata/MetadataTableReader.cs  2005-07-14 
11:57:19 UTC (rev 47299)
+++ trunk/cecil/lib/Mono.Cecil.Metadata/MetadataTableReader.cs  2005-07-14 
12:25:12 UTC (rev 47300)
@@ -9,7 +9,7 @@
  * See LICENSE.MIT file for more details
  *
  * Generated by /CodeGen/cecil-gen.rb do not edit
- * Tue Jul 05 15:48:31 Paris, Madrid 2005
+ * Thu Jul 14 14:17:16 CEST 2005
  *
  *****************************************************************************/
 
@@ -301,20 +301,20 @@
                                table.Rows.Add (new DeclSecurityRow ());
                }
 
-               public void Visit (EventMapTable table)
+               public void Visit (EventTable table)
                {
-                       int number = GetNumberOfRows (typeof (EventMapTable));
+                       int number = GetNumberOfRows (typeof (EventTable));
                        table.Rows = new RowCollection (number);
                        for (int i = 0; i < number; i++)
-                               table.Rows.Add (new EventMapRow ());
+                               table.Rows.Add (new EventRow ());
                }
 
-               public void Visit (EventTable table)
+               public void Visit (EventMapTable table)
                {
-                       int number = GetNumberOfRows (typeof (EventTable));
+                       int number = GetNumberOfRows (typeof (EventMapTable));
                        table.Rows = new RowCollection (number);
                        for (int i = 0; i < number; i++)
-                               table.Rows.Add (new EventRow ());
+                               table.Rows.Add (new EventMapRow ());
                }
 
                public void Visit (ExportedTypeTable table)

Modified: trunk/cecil/lib/Mono.Cecil.Metadata/MetadataTableWriter.cs
===================================================================
--- trunk/cecil/lib/Mono.Cecil.Metadata/MetadataTableWriter.cs  2005-07-14 
11:57:19 UTC (rev 47299)
+++ trunk/cecil/lib/Mono.Cecil.Metadata/MetadataTableWriter.cs  2005-07-14 
12:25:12 UTC (rev 47300)
@@ -9,7 +9,7 @@
  * See LICENSE.MIT file for more details
  *
  * Generated by /CodeGen/cecil-gen.rb do not edit
- * Tue Jul 05 15:48:31 Paris, Madrid 2005
+ * Thu Jul 14 14:17:17 CEST 2005
  *
  *****************************************************************************/
 
@@ -152,24 +152,24 @@
                        return table;
                }
 
-               public EventMapTable GetEventMapTable ()
+               public EventTable GetEventTable ()
                {
-                       Type tt = typeof (EventMapTable);
+                       Type tt = typeof (EventTable);
                        if (m_heap.HasTable (tt))
-                               return m_heap [tt] as EventMapTable;
+                               return m_heap [tt] as EventTable;
 
-                       EventMapTable table = new EventMapTable ();
+                       EventTable table = new EventTable ();
                        m_heap.Valid |= 1L << TablesHeap.GetTableId (tt);
                        return table;
                }
 
-               public EventTable GetEventTable ()
+               public EventMapTable GetEventMapTable ()
                {
-                       Type tt = typeof (EventTable);
+                       Type tt = typeof (EventMapTable);
                        if (m_heap.HasTable (tt))
-                               return m_heap [tt] as EventTable;
+                               return m_heap [tt] as EventMapTable;
 
-                       EventTable table = new EventTable ();
+                       EventMapTable table = new EventMapTable ();
                        m_heap.Valid |= 1L << TablesHeap.GetTableId (tt);
                        return table;
                }
@@ -505,11 +505,11 @@
                {
                }
 
-               public void Visit (EventMapTable table)
+               public void Visit (EventTable table)
                {
                }
 
-               public void Visit (EventTable table)
+               public void Visit (EventMapTable table)
                {
                }
 

Modified: trunk/cecil/lib/Mono.Cecil.Metadata/Utilities.cs
===================================================================
--- trunk/cecil/lib/Mono.Cecil.Metadata/Utilities.cs    2005-07-14 11:57:19 UTC 
(rev 47299)
+++ trunk/cecil/lib/Mono.Cecil.Metadata/Utilities.cs    2005-07-14 12:25:12 UTC 
(rev 47300)
@@ -9,7 +9,7 @@
  * See LICENSE.MIT file for more details
  *
  * Generated by /CodeGen/cecil-gen.rb do not edit
- * Tue Jul 05 15:48:31 Paris, Madrid 2005
+ * Thu Jul 14 14:17:17 CEST 2005
  *
  *****************************************************************************/
 
@@ -77,84 +77,6 @@
                                default :
                                        throw new MetadataFormatException("Non 
valid tag for TypeDefOrRef");
                                }
-                       case CodedIndex.HasConstant :
-                               rid = data >> 2;
-                               switch (data & 3) {
-                               case 0 :
-                                       return new MetadataToken 
(TokenType.Field, rid);
-                               case 1 :
-                                       return new MetadataToken 
(TokenType.Param, rid);
-                               case 2 :
-                                       return new MetadataToken 
(TokenType.Property, rid);
-                               default :
-                                       throw new MetadataFormatException("Non 
valid tag for HasConstant");
-                               }
-                       case CodedIndex.HasCustomAttribute :
-                               rid = data >> 5;
-                               switch (data & 31) {
-                               case 0 :
-                                       return new MetadataToken 
(TokenType.Method, rid);
-                               case 1 :
-                                       return new MetadataToken 
(TokenType.Field, rid);
-                               case 2 :
-                                       return new MetadataToken 
(TokenType.TypeRef, rid);
-                               case 3 :
-                                       return new MetadataToken 
(TokenType.TypeDef, rid);
-                               case 4 :
-                                       return new MetadataToken 
(TokenType.Param, rid);
-                               case 5 :
-                                       return new MetadataToken 
(TokenType.InterfaceImpl, rid);
-                               case 6 :
-                                       return new MetadataToken 
(TokenType.MemberRef, rid);
-                               case 7 :
-                                       return new MetadataToken 
(TokenType.Module, rid);
-                               case 8 :
-                                       return new MetadataToken 
(TokenType.Permission, rid);
-                               case 9 :
-                                       return new MetadataToken 
(TokenType.Property, rid);
-                               case 10 :
-                                       return new MetadataToken 
(TokenType.Event, rid);
-                               case 11 :
-                                       return new MetadataToken 
(TokenType.Signature, rid);
-                               case 12 :
-                                       return new MetadataToken 
(TokenType.ModuleRef, rid);
-                               case 13 :
-                                       return new MetadataToken 
(TokenType.TypeSpec, rid);
-                               case 14 :
-                                       return new MetadataToken 
(TokenType.Assembly, rid);
-                               case 15 :
-                                       return new MetadataToken 
(TokenType.AssemblyRef, rid);
-                               case 16 :
-                                       return new MetadataToken 
(TokenType.File, rid);
-                               case 17 :
-                                       return new MetadataToken 
(TokenType.ExportedType, rid);
-                               case 18 :
-                                       return new MetadataToken 
(TokenType.ManifestResource, rid);
-                               default :
-                                       throw new MetadataFormatException("Non 
valid tag for HasCustomAttribute");
-                               }
-                       case CodedIndex.HasFieldMarshal :
-                               rid = data >> 1;
-                               switch (data & 1) {
-                               case 0 :
-                                       return new MetadataToken 
(TokenType.Field, rid);
-                               case 1 :
-                                       return new MetadataToken 
(TokenType.Param, rid);
-                               default :
-                                       throw new MetadataFormatException("Non 
valid tag for HasFieldMarshal");
-                               }
-                       case CodedIndex.HasDeclSecurity :
-                               rid = data >> 2;
-                               switch (data & 3) {
-                               case 0 :
-                                       return new MetadataToken 
(TokenType.TypeDef, rid);
-                               case 1 :
-                                       return new MetadataToken 
(TokenType.Method, rid);
-                               case 2 :
-                                       return new MetadataToken 
(TokenType.Assembly, rid);
-                               default :
-                                       throw new MetadataFormatException("Non 
valid tag for HasDeclSecurity");
-                               }
                        case CodedIndex.MemberRefParent :
                                rid = data >> 3;
                                switch (data & 7) {
@@ -245,6 +167,84 @@
                                default :
                                        throw new MetadataFormatException("Non 
valid tag for TypeOrMethodDef");
                                }
+                       case CodedIndex.HasConstant :
+                               rid = data >> 2;
+                               switch (data & 3) {
+                               case 0 :
+                                       return new MetadataToken 
(TokenType.Field, rid);
+                               case 1 :
+                                       return new MetadataToken 
(TokenType.Param, rid);
+                               case 2 :
+                                       return new MetadataToken 
(TokenType.Property, rid);
+                               default :
+                                       throw new MetadataFormatException("Non 
valid tag for HasConstant");
+                               }
+                       case CodedIndex.HasCustomAttribute :
+                               rid = data >> 5;
+                               switch (data & 31) {
+                               case 0 :
+                                       return new MetadataToken 
(TokenType.Method, rid);
+                               case 1 :
+                                       return new MetadataToken 
(TokenType.Field, rid);
+                               case 2 :
+                                       return new MetadataToken 
(TokenType.TypeRef, rid);
+                               case 3 :
+                                       return new MetadataToken 
(TokenType.TypeDef, rid);
+                               case 4 :
+                                       return new MetadataToken 
(TokenType.Param, rid);
+                               case 5 :
+                                       return new MetadataToken 
(TokenType.InterfaceImpl, rid);
+                               case 6 :
+                                       return new MetadataToken 
(TokenType.MemberRef, rid);
+                               case 7 :
+                                       return new MetadataToken 
(TokenType.Module, rid);
+                               case 8 :
+                                       return new MetadataToken 
(TokenType.Permission, rid);
+                               case 9 :
+                                       return new MetadataToken 
(TokenType.Property, rid);
+                               case 10 :
+                                       return new MetadataToken 
(TokenType.Event, rid);
+                               case 11 :
+                                       return new MetadataToken 
(TokenType.Signature, rid);
+                               case 12 :
+                                       return new MetadataToken 
(TokenType.ModuleRef, rid);
+                               case 13 :
+                                       return new MetadataToken 
(TokenType.TypeSpec, rid);
+                               case 14 :
+                                       return new MetadataToken 
(TokenType.Assembly, rid);
+                               case 15 :
+                                       return new MetadataToken 
(TokenType.AssemblyRef, rid);
+                               case 16 :
+                                       return new MetadataToken 
(TokenType.File, rid);
+                               case 17 :
+                                       return new MetadataToken 
(TokenType.ExportedType, rid);
+                               case 18 :
+                                       return new MetadataToken 
(TokenType.ManifestResource, rid);
+                               default :
+                                       throw new MetadataFormatException("Non 
valid tag for HasCustomAttribute");
+                               }
+                       case CodedIndex.HasFieldMarshal :
+                               rid = data >> 1;
+                               switch (data & 1) {
+                               case 0 :
+                                       return new MetadataToken 
(TokenType.Field, rid);
+                               case 1 :
+                                       return new MetadataToken 
(TokenType.Param, rid);
+                               default :
+                                       throw new MetadataFormatException("Non 
valid tag for HasFieldMarshal");
+                               }
+                       case CodedIndex.HasDeclSecurity :
+                               rid = data >> 2;
+                               switch (data & 3) {
+                               case 0 :
+                                       return new MetadataToken 
(TokenType.TypeDef, rid);
+                               case 1 :
+                                       return new MetadataToken 
(TokenType.Method, rid);
+                               case 2 :
+                                       return new MetadataToken 
(TokenType.Assembly, rid);
+                               default :
+                                       throw new MetadataFormatException("Non 
valid tag for HasDeclSecurity");
+                               }
                        default :
                                throw new MetadataFormatException ("Non valid 
CodedIndex");
                        }

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

Reply via email to