2010-04-06 Jb Evain <jbevain@novell.com>
[mcs.git] / class / Mono.Cecil / Mono.Cecil.Metadata / IMetadataVisitor.cs
blob3bbea3ac7476446a81bbc347b7d08253ca64e91a
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
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);