Author: jbevain
Date: 2005-08-03 07:29:27 -0400 (Wed, 03 Aug 2005)
New Revision: 47951

Added:
   trunk/cecil/lib/Mono.Cecil.Implem/BaseReflectionReader.cs
   trunk/cecil/lib/Mono.Cecil/BaseReflectionVisitor.cs
   trunk/cecil/lib/Mono.Cecil/BaseStructureVisitor.cs
Modified:
   trunk/cecil/lib/ChangeLog
   trunk/cecil/lib/Mono.Cecil.Implem/ReflectionReader.cs
   trunk/cecil/lib/Mono.Cecil.Implem/StructureReader.cs
   trunk/cecil/lib/Mono.Cecil.dll.sources
Log:
2005-08-03  Jb Evain  <[EMAIL PROTECTED]>

        * Mono.Cecil/BaseStructureVisitor.cs
          Mono.Cecil/BaseReflectionVisitor.cs
          Mono.Cecil.Implem/BaseReflectionReader.cs:
                Add empty visitors for the sake of simplicity
        * Mono.Cecil.Implem/StructureReader.cs
          Mono.Cecil.Implem/ReflectionReader.cs:
                Inherit new visitors


Modified: trunk/cecil/lib/ChangeLog
===================================================================
--- trunk/cecil/lib/ChangeLog   2005-08-03 10:53:55 UTC (rev 47950)
+++ trunk/cecil/lib/ChangeLog   2005-08-03 11:29:27 UTC (rev 47951)
@@ -1,5 +1,15 @@
 2005-08-03  Jb Evain  <[EMAIL PROTECTED]>
 
+       * Mono.Cecil/BaseStructureVisitor.cs
+         Mono.Cecil/BaseReflectionVisitor.cs
+         Mono.Cecil.Implem/BaseReflectionReader.cs:
+               Add empty visitors for the sake of simplicity
+       * Mono.Cecil.Implem/StructureReader.cs
+         Mono.Cecil.Implem/ReflectionReader.cs:
+               Inherit new visitors
+
+2005-08-03  Jb Evain  <[EMAIL PROTECTED]>
+
        * Mono.Cecil.Implem/ReflectionReader.cs
          Mono.Cecil.Implem/AggressiveReflectionReader.cs
          Mono.Cecil.Implem/LazyReflectionReader.cs

Added: trunk/cecil/lib/Mono.Cecil/BaseReflectionVisitor.cs
===================================================================
--- trunk/cecil/lib/Mono.Cecil/BaseReflectionVisitor.cs 2005-08-03 10:53:55 UTC 
(rev 47950)
+++ trunk/cecil/lib/Mono.Cecil/BaseReflectionVisitor.cs 2005-08-03 11:29:27 UTC 
(rev 47951)
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2004, 2005 DotNetGuru and the individuals listed
+ * on the ChangeLog entries.
+ *
+ * Authors :
+ *   Jb Evain   ([EMAIL PROTECTED])
+ *
+ * This is a free software distributed under a MIT/X11 license
+ * See LICENSE.MIT file for more details
+ *
+ *****************************************************************************/
+
+namespace Mono.Cecil {
+
+       public abstract class BaseReflectionVisitor : IReflectionVisitor {
+
+               public virtual void Visit (ITypeDefinitionCollection types)
+               {
+               }
+
+               public virtual void Visit (ITypeDefinition type)
+               {
+               }
+
+               public virtual void Visit (ITypeReferenceCollection refs)
+               {
+               }
+
+               public virtual void Visit (ITypeReference type)
+               {
+               }
+
+               public virtual void Visit (IInterfaceCollection interfaces)
+               {
+               }
+
+               public virtual void Visit (IExternTypeCollection externs)
+               {
+               }
+
+               public virtual void Visit (IOverrideCollection meth)
+               {
+               }
+
+               public virtual void Visit (INestedTypeCollection nestedTypes)
+               {
+               }
+
+               public virtual void Visit (IParameterDefinitionCollection 
parameters)
+               {
+               }
+
+               public virtual void Visit (IParameterDefinition parameter)
+               {
+               }
+
+               public virtual void Visit (IMethodDefinitionCollection methods)
+               {
+               }
+
+
+               public virtual void Visit (IMethodDefinition method)
+               {
+               }
+
+               public virtual void Visit (IPInvokeInfo pinvk)
+               {
+               }
+
+               public virtual void Visit (IEventDefinitionCollection events)
+               {
+               }
+
+               public virtual void Visit (IEventDefinition evt)
+               {
+               }
+
+               public virtual void Visit (IFieldDefinitionCollection fields)
+               {
+               }
+
+               public virtual void Visit (IFieldDefinition field)
+               {
+               }
+
+               public virtual void Visit (IPropertyDefinitionCollection 
properties)
+               {
+               }
+
+               public virtual void Visit (IPropertyDefinition property)
+               {
+               }
+
+               public virtual void Visit (ISecurityDeclarationCollection 
secDecls)
+               {
+               }
+
+               public virtual void Visit (ISecurityDeclaration secDecl)
+               {
+               }
+
+               public virtual void Visit (ICustomAttributeCollection 
customAttrs)
+               {
+               }
+
+               public virtual void Visit (ICustomAttribute customAttr)
+               {
+               }
+
+               public virtual void Visit (IMarshalSpec marshalSpec)
+               {
+               }
+       }
+}

Added: trunk/cecil/lib/Mono.Cecil/BaseStructureVisitor.cs
===================================================================
--- trunk/cecil/lib/Mono.Cecil/BaseStructureVisitor.cs  2005-08-03 10:53:55 UTC 
(rev 47950)
+++ trunk/cecil/lib/Mono.Cecil/BaseStructureVisitor.cs  2005-08-03 11:29:27 UTC 
(rev 47951)
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2004, 2005 DotNetGuru and the individuals listed
+ * on the ChangeLog entries.
+ *
+ * Authors :
+ *   Jb Evain   ([EMAIL PROTECTED])
+ *
+ * This is a free software distributed under a MIT/X11 license
+ * See LICENSE.MIT file for more details
+ *
+ *****************************************************************************/
+
+namespace Mono.Cecil {
+
+       public abstract class BaseStructureVisitor : 
IReflectionStructureVisitor {
+
+               public virtual void Visit (IAssemblyDefinition asm)
+               {
+               }
+
+               public virtual void Visit (IAssemblyNameDefinition name)
+               {
+               }
+
+               public virtual void Visit (IAssemblyNameReferenceCollection 
names)
+               {
+               }
+
+               public virtual void Visit (IAssemblyNameReference name)
+               {
+               }
+
+               public virtual void Visit (IResourceCollection resources)
+               {
+               }
+
+               public virtual void Visit (IEmbeddedResource res)
+               {
+               }
+
+               public virtual void Visit (ILinkedResource res)
+               {
+               }
+
+               public virtual void Visit (IAssemblyLinkedResource res)
+               {
+               }
+
+               public virtual void Visit (IModuleDefinition module)
+               {
+               }
+
+               public virtual void Visit (IModuleDefinitionCollection modules)
+               {
+               }
+
+               public virtual void Visit (IModuleReference module)
+               {
+               }
+
+               public virtual void Visit (IModuleReferenceCollection modules)
+               {
+               }
+       }
+}

Added: trunk/cecil/lib/Mono.Cecil.Implem/BaseReflectionReader.cs
===================================================================
--- trunk/cecil/lib/Mono.Cecil.Implem/BaseReflectionReader.cs   2005-08-03 
10:53:55 UTC (rev 47950)
+++ trunk/cecil/lib/Mono.Cecil.Implem/BaseReflectionReader.cs   2005-08-03 
11:29:27 UTC (rev 47951)
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2004, 2005 DotNetGuru and the individuals listed
+ * on the ChangeLog entries.
+ *
+ * Authors :
+ *   Jb Evain   ([EMAIL PROTECTED])
+ *
+ * This is a free software distributed under a MIT/X11 license
+ * See LICENSE.MIT file for more details
+ *
+ *****************************************************************************/
+
+namespace Mono.Cecil.Implem {
+
+       using Mono.Cecil;
+
+       internal abstract class BaseReflectionReader : BaseReflectionVisitor, 
IDetailReader {
+
+               public virtual void ReadSemantic (EventDefinition evt)
+               {
+               }
+
+               public virtual void ReadSemantic (PropertyDefinition prop)
+               {
+               }
+
+               public virtual void ReadMarshalSpec (ParameterDefinition param)
+               {
+               }
+
+               public virtual void ReadMarshalSpec (FieldDefinition field)
+               {
+               }
+
+               public virtual void ReadLayout (TypeDefinition type)
+               {
+               }
+
+               public virtual void ReadLayout (FieldDefinition field)
+               {
+               }
+
+               public virtual void ReadConstant (FieldDefinition field)
+               {
+               }
+
+               public virtual void ReadConstant (PropertyDefinition prop)
+               {
+               }
+
+               public virtual void ReadConstant (ParameterDefinition param)
+               {
+               }
+       }
+}

Modified: trunk/cecil/lib/Mono.Cecil.Implem/ReflectionReader.cs
===================================================================
--- trunk/cecil/lib/Mono.Cecil.Implem/ReflectionReader.cs       2005-08-03 
10:53:55 UTC (rev 47950)
+++ trunk/cecil/lib/Mono.Cecil.Implem/ReflectionReader.cs       2005-08-03 
11:29:27 UTC (rev 47951)
@@ -25,7 +25,7 @@
 
        using Mono.Xml;
 
-       internal abstract class ReflectionReader : IReflectionVisitor, 
IDetailReader {
+       internal abstract class ReflectionReader : BaseReflectionReader {
 
                private ModuleDefinition m_module;
                private ImageReader m_reader;
@@ -198,7 +198,7 @@
                        return BuildCustomAttribute (ctor, sig);
                }
 
-               public virtual void Visit (ITypeDefinitionCollection types)
+               public override void Visit (ITypeDefinitionCollection types)
                {
                        TypeDefinitionCollection tdc = types as 
TypeDefinitionCollection;
                        if (tdc != null && tdc.Loaded)
@@ -498,24 +498,8 @@
                        }
                }
 
-               public virtual void Visit (ITypeDefinition type)
+               public override void Visit (IExternTypeCollection externs)
                {
-               }
-
-               public virtual void Visit (ITypeReferenceCollection refs)
-               {
-               }
-
-               public virtual void Visit (ITypeReference type)
-               {
-               }
-
-               public virtual void Visit (IInterfaceCollection interfaces)
-               {
-               }
-
-               public virtual void Visit (IExternTypeCollection externs)
-               {
                        ExternTypeCollection ext = externs as 
ExternTypeCollection;
 
                        if (!m_tHeap.HasTable (typeof (ExportedTypeTable))) {
@@ -556,114 +540,6 @@
                        }
                }
 
-               public virtual void Visit (IOverrideCollection meth)
-               {
-               }
-
-               public virtual void Visit (INestedTypeCollection nestedTypes)
-               {
-               }
-
-               public virtual void Visit (IParameterDefinitionCollection 
parameters)
-               {
-               }
-
-               public virtual void Visit (IParameterDefinition parameter)
-               {
-               }
-
-               public virtual void Visit (IMethodDefinitionCollection methods)
-               {
-               }
-
-               public virtual void Visit (IMethodDefinition method)
-               {
-               }
-
-               public virtual void Visit (IPInvokeInfo pinvk)
-               {
-               }
-
-               public virtual void Visit (IEventDefinitionCollection events)
-               {
-               }
-
-               public virtual void Visit (IEventDefinition evt)
-               {
-               }
-
-               public virtual void Visit (IFieldDefinitionCollection fields)
-               {
-               }
-
-               public virtual void Visit (IFieldDefinition field)
-               {
-               }
-
-               public virtual void Visit (IPropertyDefinitionCollection 
properties)
-               {
-               }
-
-               public virtual void Visit (IPropertyDefinition property)
-               {
-               }
-
-               public virtual void Visit (ISecurityDeclarationCollection 
secDecls)
-               {
-               }
-
-               public virtual void Visit (ISecurityDeclaration secDecl)
-               {
-               }
-
-               public virtual void Visit (ICustomAttributeCollection 
customAttrs)
-               {
-               }
-
-               public virtual void Visit (ICustomAttribute customAttr)
-               {
-               }
-
-               public virtual void Visit (IMarshalSpec marshalSpec)
-               {
-               }
-
-               public virtual void ReadSemantic (EventDefinition evt)
-               {
-               }
-
-               public virtual void ReadSemantic (PropertyDefinition prop)
-               {
-               }
-
-               public virtual void ReadMarshalSpec (ParameterDefinition param)
-               {
-               }
-
-               public virtual void ReadMarshalSpec (FieldDefinition field)
-               {
-               }
-
-               public virtual void ReadLayout (TypeDefinition type)
-               {
-               }
-
-               public virtual void ReadLayout (FieldDefinition field)
-               {
-               }
-
-               public virtual void ReadConstant (FieldDefinition field)
-               {
-               }
-
-               public virtual void ReadConstant (PropertyDefinition prop)
-               {
-               }
-
-               public virtual void ReadConstant (ParameterDefinition param)
-               {
-               }
-
                private object GetFixedArgValue (CustomAttrib.FixedArg fa)
                {
                        if (fa.SzArray) {

Modified: trunk/cecil/lib/Mono.Cecil.Implem/StructureReader.cs
===================================================================
--- trunk/cecil/lib/Mono.Cecil.Implem/StructureReader.cs        2005-08-03 
10:53:55 UTC (rev 47950)
+++ trunk/cecil/lib/Mono.Cecil.Implem/StructureReader.cs        2005-08-03 
11:29:27 UTC (rev 47951)
@@ -19,7 +19,7 @@
        using Mono.Cecil.Binary;
        using Mono.Cecil.Metadata;
 
-       internal sealed class StructureReader : IReflectionStructureVisitor {
+       internal sealed class StructureReader : BaseStructureVisitor {
 
                private ImageReader m_ir;
                private Image m_img;
@@ -42,14 +42,14 @@
                        m_tHeap = m_img.MetadataRoot.Streams.TablesHeap;
                }
 
-               public void Visit (IAssemblyDefinition asm)
+               public override void Visit (IAssemblyDefinition asm)
                {
                        m_asmDef = asm as AssemblyDefinition;
                        if (!m_tHeap.HasTable (typeof (AssemblyTable)))
                                throw new ReflectionException ("No assembly 
manifest");
                }
 
-               public void Visit (IAssemblyNameDefinition name)
+               public override void Visit (IAssemblyNameDefinition name)
                {
                        AssemblyTable atable = m_tHeap [typeof(AssemblyTable)] 
as AssemblyTable;
                        AssemblyRow arow = atable [0];
@@ -64,7 +64,7 @@
                        name.HashAlgorithm = arow.HashAlgId;
                }
 
-               public void Visit (IAssemblyNameReferenceCollection names)
+               public override void Visit (IAssemblyNameReferenceCollection 
names)
                {
                        if (!m_tHeap.HasTable (typeof (AssemblyRefTable)))
                                return;
@@ -83,12 +83,8 @@
                        }
                }
 
-               public void Visit (IAssemblyNameReference name)
+               public override void Visit (IResourceCollection resources)
                {
-               }
-
-               public void Visit (IResourceCollection resources)
-               {
                        if (!m_tHeap.HasTable (typeof (ManifestResourceTable)))
                                return;
 
@@ -133,24 +129,8 @@
                        }
                }
 
-               public void Visit (IEmbeddedResource res)
+               public override void Visit (IModuleDefinitionCollection modules)
                {
-               }
-
-               public void Visit (ILinkedResource res)
-               {
-               }
-
-               public void Visit (IAssemblyLinkedResource res)
-               {
-               }
-
-               public void Visit (IModuleDefinition module)
-               {
-               }
-
-               public void Visit (IModuleDefinitionCollection modules)
-               {
                        ModuleTable mt = m_tHeap [typeof(ModuleTable)] as 
ModuleTable;
                        if (mt == null || mt.Rows.Count != 1)
                                throw new ReflectionException ("Can not read 
main module");
@@ -193,12 +173,8 @@
                        }
                }
 
-               public void Visit (IModuleReference module)
+               public override void Visit (IModuleReferenceCollection modules)
                {
-               }
-
-               public void Visit (IModuleReferenceCollection modules)
-               {
                        if (!m_tHeap.HasTable (typeof (ModuleRefTable)))
                                return;
 

Modified: trunk/cecil/lib/Mono.Cecil.dll.sources
===================================================================
--- trunk/cecil/lib/Mono.Cecil.dll.sources      2005-08-03 10:53:55 UTC (rev 
47950)
+++ trunk/cecil/lib/Mono.Cecil.dll.sources      2005-08-03 11:29:27 UTC (rev 
47951)
@@ -2,6 +2,8 @@
 ./Mono.Cecil/AssemblyFlags.cs
 ./Mono.Cecil/AssemblyHashAlgorithm.cs
 ./Mono.Cecil/AssemblyInfo.cs
+./Mono.Cecil/BaseReflectionVisitor.cs
+./Mono.Cecil/BaseStructureVisitor.cs
 ./Mono.Cecil/EventAttributes.cs
 ./Mono.Cecil/FieldAttributes.cs
 ./Mono.Cecil/FileAttributes.cs
@@ -198,6 +200,7 @@
 ./Mono.Cecil.Implem/AssemblyLinkedResource.cs
 ./Mono.Cecil.Implem/AssemblyName.cs
 ./Mono.Cecil.Implem/AssemblyNameReferenceCollection.cs
+./Mono.Cecil.Implem/BaseReflectionReader.cs
 ./Mono.Cecil.Implem/CilEmitter.cs
 ./Mono.Cecil.Implem/CodeReader.cs
 ./Mono.Cecil.Implem/CodeWriter.cs

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

Reply via email to