5 // Jb Evain (jbevain@gmail.com)
7 // Generated by /CodeGen/cecil-gen.rb do not edit
8 // Thu Feb 22 14:39:38 CET 2007
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:
20 // The above copyright notice and this permission notice shall be
21 // included in all copies or substantial portions of the Software.
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.
32 namespace Mono
.Cecil
.Metadata
{
34 public interface IMetadataVisitor
{
35 void VisitMetadataRoot (MetadataRoot root
);
36 void VisitMetadataRootHeader (MetadataRoot
.MetadataRootHeader header
);
37 void VisitMetadataStreamCollection (MetadataStreamCollection streams
);
38 void VisitMetadataStream (MetadataStream stream
);
39 void VisitMetadataStreamHeader (MetadataStream
.MetadataStreamHeader header
);
40 void VisitGuidHeap (GuidHeap heap
);
41 void VisitStringsHeap (StringsHeap heap
);
42 void VisitTablesHeap (TablesHeap heap
);
43 void VisitBlobHeap (BlobHeap heap
);
44 void VisitUserStringsHeap (UserStringsHeap heap
);
46 void TerminateMetadataRoot (MetadataRoot root
);
49 public interface IMetadataTableVisitor
{
50 void VisitTableCollection (TableCollection coll
);
52 void VisitAssemblyTable (AssemblyTable table
);
53 void VisitAssemblyOSTable (AssemblyOSTable table
);
54 void VisitAssemblyProcessorTable (AssemblyProcessorTable table
);
55 void VisitAssemblyRefTable (AssemblyRefTable table
);
56 void VisitAssemblyRefOSTable (AssemblyRefOSTable table
);
57 void VisitAssemblyRefProcessorTable (AssemblyRefProcessorTable table
);
58 void VisitClassLayoutTable (ClassLayoutTable table
);
59 void VisitConstantTable (ConstantTable table
);
60 void VisitCustomAttributeTable (CustomAttributeTable table
);
61 void VisitDeclSecurityTable (DeclSecurityTable table
);
62 void VisitEventTable (EventTable table
);
63 void VisitEventMapTable (EventMapTable table
);
64 void VisitEventPtrTable (EventPtrTable table
);
65 void VisitExportedTypeTable (ExportedTypeTable table
);
66 void VisitFieldTable (FieldTable table
);
67 void VisitFieldLayoutTable (FieldLayoutTable table
);
68 void VisitFieldMarshalTable (FieldMarshalTable table
);
69 void VisitFieldPtrTable (FieldPtrTable table
);
70 void VisitFieldRVATable (FieldRVATable table
);
71 void VisitFileTable (FileTable table
);
72 void VisitGenericParamTable (GenericParamTable table
);
73 void VisitGenericParamConstraintTable (GenericParamConstraintTable table
);
74 void VisitImplMapTable (ImplMapTable table
);
75 void VisitInterfaceImplTable (InterfaceImplTable table
);
76 void VisitManifestResourceTable (ManifestResourceTable table
);
77 void VisitMemberRefTable (MemberRefTable table
);
78 void VisitMethodTable (MethodTable table
);
79 void VisitMethodImplTable (MethodImplTable table
);
80 void VisitMethodPtrTable (MethodPtrTable table
);
81 void VisitMethodSemanticsTable (MethodSemanticsTable table
);
82 void VisitMethodSpecTable (MethodSpecTable table
);
83 void VisitModuleTable (ModuleTable table
);
84 void VisitModuleRefTable (ModuleRefTable table
);
85 void VisitNestedClassTable (NestedClassTable table
);
86 void VisitParamTable (ParamTable table
);
87 void VisitParamPtrTable (ParamPtrTable table
);
88 void VisitPropertyTable (PropertyTable table
);
89 void VisitPropertyMapTable (PropertyMapTable table
);
90 void VisitPropertyPtrTable (PropertyPtrTable table
);
91 void VisitStandAloneSigTable (StandAloneSigTable table
);
92 void VisitTypeDefTable (TypeDefTable table
);
93 void VisitTypeRefTable (TypeRefTable table
);
94 void VisitTypeSpecTable (TypeSpecTable table
);
96 void TerminateTableCollection (TableCollection coll
);
97 IMetadataRowVisitor
GetRowVisitor();
100 public interface IMetadataRowVisitor
{
101 void VisitRowCollection (RowCollection coll
);
103 void VisitAssemblyRow (AssemblyRow row
);
104 void VisitAssemblyOSRow (AssemblyOSRow row
);
105 void VisitAssemblyProcessorRow (AssemblyProcessorRow row
);
106 void VisitAssemblyRefRow (AssemblyRefRow row
);
107 void VisitAssemblyRefOSRow (AssemblyRefOSRow row
);
108 void VisitAssemblyRefProcessorRow (AssemblyRefProcessorRow row
);
109 void VisitClassLayoutRow (ClassLayoutRow row
);
110 void VisitConstantRow (ConstantRow row
);
111 void VisitCustomAttributeRow (CustomAttributeRow row
);
112 void VisitDeclSecurityRow (DeclSecurityRow row
);
113 void VisitEventRow (EventRow row
);
114 void VisitEventMapRow (EventMapRow row
);
115 void VisitEventPtrRow (EventPtrRow row
);
116 void VisitExportedTypeRow (ExportedTypeRow row
);
117 void VisitFieldRow (FieldRow row
);
118 void VisitFieldLayoutRow (FieldLayoutRow row
);
119 void VisitFieldMarshalRow (FieldMarshalRow row
);
120 void VisitFieldPtrRow (FieldPtrRow row
);
121 void VisitFieldRVARow (FieldRVARow row
);
122 void VisitFileRow (FileRow row
);
123 void VisitGenericParamRow (GenericParamRow row
);
124 void VisitGenericParamConstraintRow (GenericParamConstraintRow row
);
125 void VisitImplMapRow (ImplMapRow row
);
126 void VisitInterfaceImplRow (InterfaceImplRow row
);
127 void VisitManifestResourceRow (ManifestResourceRow row
);
128 void VisitMemberRefRow (MemberRefRow row
);
129 void VisitMethodRow (MethodRow row
);
130 void VisitMethodImplRow (MethodImplRow row
);
131 void VisitMethodPtrRow (MethodPtrRow row
);
132 void VisitMethodSemanticsRow (MethodSemanticsRow row
);
133 void VisitMethodSpecRow (MethodSpecRow row
);
134 void VisitModuleRow (ModuleRow row
);
135 void VisitModuleRefRow (ModuleRefRow row
);
136 void VisitNestedClassRow (NestedClassRow row
);
137 void VisitParamRow (ParamRow row
);
138 void VisitParamPtrRow (ParamPtrRow row
);
139 void VisitPropertyRow (PropertyRow row
);
140 void VisitPropertyMapRow (PropertyMapRow row
);
141 void VisitPropertyPtrRow (PropertyPtrRow row
);
142 void VisitStandAloneSigRow (StandAloneSigRow row
);
143 void VisitTypeDefRow (TypeDefRow row
);
144 void VisitTypeRefRow (TypeRefRow row
);
145 void VisitTypeSpecRow (TypeSpecRow row
);
147 void TerminateRowCollection (RowCollection coll
);