1 // 2 // IMetadataVisitor.cs 3 // 4 // Author: 5 // Jb Evain (jbevain@gmail.com) 6 // 7 // Generated by /CodeGen/cecil-gen.rb do not edit 8 // Thu Feb 22 14:39:38 CET 2007 9 // 10 // (C) 2005 Jb Evain 11 // 12 // Permission is hereby granted, free of charge, to any person obtaining 13 // a copy of this software and associated documentation files (the 14 // "Software"), to deal in the Software without restriction, including 15 // without limitation the rights to use, copy, modify, merge, publish, 16 // distribute, sublicense, and/or sell copies of the Software, and to 17 // permit persons to whom the Software is furnished to do so, subject to 18 // the following conditions: 19 // 20 // The above copyright notice and this permission notice shall be 21 // included in all copies or substantial portions of the Software. 22 // 23 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 26 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 27 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 28 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 29 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 30 // 31 32 namespace Mono.Cecil.Metadata { 33 34 internal interface IMetadataVisitor { VisitMetadataRoot(MetadataRoot root)35 void VisitMetadataRoot (MetadataRoot root); VisitMetadataRootHeader(MetadataRoot.MetadataRootHeader header)36 void VisitMetadataRootHeader (MetadataRoot.MetadataRootHeader header); VisitMetadataStreamCollection(MetadataStreamCollection streams)37 void VisitMetadataStreamCollection (MetadataStreamCollection streams); VisitMetadataStream(MetadataStream stream)38 void VisitMetadataStream (MetadataStream stream); VisitMetadataStreamHeader(MetadataStream.MetadataStreamHeader header)39 void VisitMetadataStreamHeader (MetadataStream.MetadataStreamHeader header); VisitGuidHeap(GuidHeap heap)40 void VisitGuidHeap (GuidHeap heap); VisitStringsHeap(StringsHeap heap)41 void VisitStringsHeap (StringsHeap heap); VisitTablesHeap(TablesHeap heap)42 void VisitTablesHeap (TablesHeap heap); VisitBlobHeap(BlobHeap heap)43 void VisitBlobHeap (BlobHeap heap); VisitUserStringsHeap(UserStringsHeap heap)44 void VisitUserStringsHeap (UserStringsHeap heap); 45 TerminateMetadataRoot(MetadataRoot root)46 void TerminateMetadataRoot (MetadataRoot root); 47 } 48 49 internal interface IMetadataTableVisitor { VisitTableCollection(TableCollection coll)50 void VisitTableCollection (TableCollection coll); 51 VisitAssemblyTable(AssemblyTable table)52 void VisitAssemblyTable (AssemblyTable table); VisitAssemblyOSTable(AssemblyOSTable table)53 void VisitAssemblyOSTable (AssemblyOSTable table); VisitAssemblyProcessorTable(AssemblyProcessorTable table)54 void VisitAssemblyProcessorTable (AssemblyProcessorTable table); VisitAssemblyRefTable(AssemblyRefTable table)55 void VisitAssemblyRefTable (AssemblyRefTable table); VisitAssemblyRefOSTable(AssemblyRefOSTable table)56 void VisitAssemblyRefOSTable (AssemblyRefOSTable table); VisitAssemblyRefProcessorTable(AssemblyRefProcessorTable table)57 void VisitAssemblyRefProcessorTable (AssemblyRefProcessorTable table); VisitClassLayoutTable(ClassLayoutTable table)58 void VisitClassLayoutTable (ClassLayoutTable table); VisitConstantTable(ConstantTable table)59 void VisitConstantTable (ConstantTable table); VisitCustomAttributeTable(CustomAttributeTable table)60 void VisitCustomAttributeTable (CustomAttributeTable table); VisitDeclSecurityTable(DeclSecurityTable table)61 void VisitDeclSecurityTable (DeclSecurityTable table); VisitEventTable(EventTable table)62 void VisitEventTable (EventTable table); VisitEventMapTable(EventMapTable table)63 void VisitEventMapTable (EventMapTable table); VisitEventPtrTable(EventPtrTable table)64 void VisitEventPtrTable (EventPtrTable table); VisitExportedTypeTable(ExportedTypeTable table)65 void VisitExportedTypeTable (ExportedTypeTable table); VisitFieldTable(FieldTable table)66 void VisitFieldTable (FieldTable table); VisitFieldLayoutTable(FieldLayoutTable table)67 void VisitFieldLayoutTable (FieldLayoutTable table); VisitFieldMarshalTable(FieldMarshalTable table)68 void VisitFieldMarshalTable (FieldMarshalTable table); VisitFieldPtrTable(FieldPtrTable table)69 void VisitFieldPtrTable (FieldPtrTable table); VisitFieldRVATable(FieldRVATable table)70 void VisitFieldRVATable (FieldRVATable table); VisitFileTable(FileTable table)71 void VisitFileTable (FileTable table); VisitGenericParamTable(GenericParamTable table)72 void VisitGenericParamTable (GenericParamTable table); VisitGenericParamConstraintTable(GenericParamConstraintTable table)73 void VisitGenericParamConstraintTable (GenericParamConstraintTable table); VisitImplMapTable(ImplMapTable table)74 void VisitImplMapTable (ImplMapTable table); VisitInterfaceImplTable(InterfaceImplTable table)75 void VisitInterfaceImplTable (InterfaceImplTable table); VisitManifestResourceTable(ManifestResourceTable table)76 void VisitManifestResourceTable (ManifestResourceTable table); VisitMemberRefTable(MemberRefTable table)77 void VisitMemberRefTable (MemberRefTable table); VisitMethodTable(MethodTable table)78 void VisitMethodTable (MethodTable table); VisitMethodImplTable(MethodImplTable table)79 void VisitMethodImplTable (MethodImplTable table); VisitMethodPtrTable(MethodPtrTable table)80 void VisitMethodPtrTable (MethodPtrTable table); VisitMethodSemanticsTable(MethodSemanticsTable table)81 void VisitMethodSemanticsTable (MethodSemanticsTable table); VisitMethodSpecTable(MethodSpecTable table)82 void VisitMethodSpecTable (MethodSpecTable table); VisitModuleTable(ModuleTable table)83 void VisitModuleTable (ModuleTable table); VisitModuleRefTable(ModuleRefTable table)84 void VisitModuleRefTable (ModuleRefTable table); VisitNestedClassTable(NestedClassTable table)85 void VisitNestedClassTable (NestedClassTable table); VisitParamTable(ParamTable table)86 void VisitParamTable (ParamTable table); VisitParamPtrTable(ParamPtrTable table)87 void VisitParamPtrTable (ParamPtrTable table); VisitPropertyTable(PropertyTable table)88 void VisitPropertyTable (PropertyTable table); VisitPropertyMapTable(PropertyMapTable table)89 void VisitPropertyMapTable (PropertyMapTable table); VisitPropertyPtrTable(PropertyPtrTable table)90 void VisitPropertyPtrTable (PropertyPtrTable table); VisitStandAloneSigTable(StandAloneSigTable table)91 void VisitStandAloneSigTable (StandAloneSigTable table); VisitTypeDefTable(TypeDefTable table)92 void VisitTypeDefTable (TypeDefTable table); VisitTypeRefTable(TypeRefTable table)93 void VisitTypeRefTable (TypeRefTable table); VisitTypeSpecTable(TypeSpecTable table)94 void VisitTypeSpecTable (TypeSpecTable table); 95 TerminateTableCollection(TableCollection coll)96 void TerminateTableCollection (TableCollection coll); GetRowVisitor()97 IMetadataRowVisitor GetRowVisitor(); 98 } 99 100 internal interface IMetadataRowVisitor { VisitRowCollection(RowCollection coll)101 void VisitRowCollection (RowCollection coll); 102 VisitAssemblyRow(AssemblyRow row)103 void VisitAssemblyRow (AssemblyRow row); VisitAssemblyOSRow(AssemblyOSRow row)104 void VisitAssemblyOSRow (AssemblyOSRow row); VisitAssemblyProcessorRow(AssemblyProcessorRow row)105 void VisitAssemblyProcessorRow (AssemblyProcessorRow row); VisitAssemblyRefRow(AssemblyRefRow row)106 void VisitAssemblyRefRow (AssemblyRefRow row); VisitAssemblyRefOSRow(AssemblyRefOSRow row)107 void VisitAssemblyRefOSRow (AssemblyRefOSRow row); VisitAssemblyRefProcessorRow(AssemblyRefProcessorRow row)108 void VisitAssemblyRefProcessorRow (AssemblyRefProcessorRow row); VisitClassLayoutRow(ClassLayoutRow row)109 void VisitClassLayoutRow (ClassLayoutRow row); VisitConstantRow(ConstantRow row)110 void VisitConstantRow (ConstantRow row); VisitCustomAttributeRow(CustomAttributeRow row)111 void VisitCustomAttributeRow (CustomAttributeRow row); VisitDeclSecurityRow(DeclSecurityRow row)112 void VisitDeclSecurityRow (DeclSecurityRow row); VisitEventRow(EventRow row)113 void VisitEventRow (EventRow row); VisitEventMapRow(EventMapRow row)114 void VisitEventMapRow (EventMapRow row); VisitEventPtrRow(EventPtrRow row)115 void VisitEventPtrRow (EventPtrRow row); VisitExportedTypeRow(ExportedTypeRow row)116 void VisitExportedTypeRow (ExportedTypeRow row); VisitFieldRow(FieldRow row)117 void VisitFieldRow (FieldRow row); VisitFieldLayoutRow(FieldLayoutRow row)118 void VisitFieldLayoutRow (FieldLayoutRow row); VisitFieldMarshalRow(FieldMarshalRow row)119 void VisitFieldMarshalRow (FieldMarshalRow row); VisitFieldPtrRow(FieldPtrRow row)120 void VisitFieldPtrRow (FieldPtrRow row); VisitFieldRVARow(FieldRVARow row)121 void VisitFieldRVARow (FieldRVARow row); VisitFileRow(FileRow row)122 void VisitFileRow (FileRow row); VisitGenericParamRow(GenericParamRow row)123 void VisitGenericParamRow (GenericParamRow row); VisitGenericParamConstraintRow(GenericParamConstraintRow row)124 void VisitGenericParamConstraintRow (GenericParamConstraintRow row); VisitImplMapRow(ImplMapRow row)125 void VisitImplMapRow (ImplMapRow row); VisitInterfaceImplRow(InterfaceImplRow row)126 void VisitInterfaceImplRow (InterfaceImplRow row); VisitManifestResourceRow(ManifestResourceRow row)127 void VisitManifestResourceRow (ManifestResourceRow row); VisitMemberRefRow(MemberRefRow row)128 void VisitMemberRefRow (MemberRefRow row); VisitMethodRow(MethodRow row)129 void VisitMethodRow (MethodRow row); VisitMethodImplRow(MethodImplRow row)130 void VisitMethodImplRow (MethodImplRow row); VisitMethodPtrRow(MethodPtrRow row)131 void VisitMethodPtrRow (MethodPtrRow row); VisitMethodSemanticsRow(MethodSemanticsRow row)132 void VisitMethodSemanticsRow (MethodSemanticsRow row); VisitMethodSpecRow(MethodSpecRow row)133 void VisitMethodSpecRow (MethodSpecRow row); VisitModuleRow(ModuleRow row)134 void VisitModuleRow (ModuleRow row); VisitModuleRefRow(ModuleRefRow row)135 void VisitModuleRefRow (ModuleRefRow row); VisitNestedClassRow(NestedClassRow row)136 void VisitNestedClassRow (NestedClassRow row); VisitParamRow(ParamRow row)137 void VisitParamRow (ParamRow row); VisitParamPtrRow(ParamPtrRow row)138 void VisitParamPtrRow (ParamPtrRow row); VisitPropertyRow(PropertyRow row)139 void VisitPropertyRow (PropertyRow row); VisitPropertyMapRow(PropertyMapRow row)140 void VisitPropertyMapRow (PropertyMapRow row); VisitPropertyPtrRow(PropertyPtrRow row)141 void VisitPropertyPtrRow (PropertyPtrRow row); VisitStandAloneSigRow(StandAloneSigRow row)142 void VisitStandAloneSigRow (StandAloneSigRow row); VisitTypeDefRow(TypeDefRow row)143 void VisitTypeDefRow (TypeDefRow row); VisitTypeRefRow(TypeRefRow row)144 void VisitTypeRefRow (TypeRefRow row); VisitTypeSpecRow(TypeSpecRow row)145 void VisitTypeSpecRow (TypeSpecRow row); 146 TerminateRowCollection(RowCollection coll)147 void TerminateRowCollection (RowCollection coll); 148 } 149 } 150