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