Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJb Evain <jbevain@gmail.com>2010-11-23 02:37:13 +0300
committerJb Evain <jbevain@gmail.com>2010-11-23 02:37:13 +0300
commit58fdac7b8a191881c721c1e04592fc4a8b4b6ab1 (patch)
tree300f5ae0e6d7ea2c52a9ea52cbeb47f31db7bb9e
parent5f90f7a8e49fa73714816b912450b061c0c855c0 (diff)
parent480893c953bab31c2cab100e3cf1f8fe72c37a91 (diff)
Merge branch 'cecil-light'
-rw-r--r--data/cecil.pc.in2
-rw-r--r--mcs/class/Mono.Cecil.Mdb/AUTHORS1
-rw-r--r--mcs/class/Mono.Cecil.Mdb/ChangeLog75
-rw-r--r--mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb.csproj61
-rw-r--r--mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb.dll.sources1
-rw-r--r--mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/AssemblyInfo.cs10
-rw-r--r--mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbFactory.cs56
-rw-r--r--mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbReader.cs185
-rw-r--r--mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbWriter.cs220
-rw-r--r--mcs/class/Mono.Cecil.Mdb/README2
-rw-r--r--mcs/class/Mono.Cecil/.gitignore7
-rw-r--r--mcs/class/Mono.Cecil/AUTHORS1
-rw-r--r--mcs/class/Mono.Cecil/ChangeLog4474
-rwxr-xr-xmcs/class/Mono.Cecil/CodeGen/cecil-gen-attributes.rb226
-rwxr-xr-xmcs/class/Mono.Cecil/CodeGen/cecil-gen-sources.rb14
-rwxr-xr-xmcs/class/Mono.Cecil/CodeGen/cecil-gen-tests.rb61
-rw-r--r--mcs/class/Mono.Cecil/CodeGen/cecil-gen-types.rb262
-rwxr-xr-xmcs/class/Mono.Cecil/CodeGen/cecil-gen.rb161
-rwxr-xr-xmcs/class/Mono.Cecil/CodeGen/cecil-mig.rb159
-rwxr-xr-xmcs/class/Mono.Cecil/CodeGen/cecil-update-rev51
-rw-r--r--mcs/class/Mono.Cecil/CodeGen/cecil.xml608
-rw-r--r--mcs/class/Mono.Cecil/CodeGen/templates/BaseMetadataVisitor.cs112
-rw-r--r--mcs/class/Mono.Cecil/CodeGen/templates/Code.cs37
-rw-r--r--mcs/class/Mono.Cecil/CodeGen/templates/CodedIndex.cs38
-rw-r--r--mcs/class/Mono.Cecil/CodeGen/templates/IMetadataVisitor.cs65
-rw-r--r--mcs/class/Mono.Cecil/CodeGen/templates/IndexedCollection.cs296
-rw-r--r--mcs/class/Mono.Cecil/CodeGen/templates/MetadataRowReader.cs110
-rw-r--r--mcs/class/Mono.Cecil/CodeGen/templates/MetadataRowWriter.cs145
-rw-r--r--mcs/class/Mono.Cecil/CodeGen/templates/MetadataTableReader.cs97
-rw-r--r--mcs/class/Mono.Cecil/CodeGen/templates/MetadataTableWriter.cs98
-rw-r--r--mcs/class/Mono.Cecil/CodeGen/templates/NamedCollection.cs232
-rw-r--r--mcs/class/Mono.Cecil/CodeGen/templates/OpCodes.cs67
-rw-r--r--mcs/class/Mono.Cecil/CodeGen/templates/Table.cs81
-rw-r--r--mcs/class/Mono.Cecil/CodeGen/templates/Tests.cs116
-rw-r--r--mcs/class/Mono.Cecil/CodeGen/templates/Utilities.cs211
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/BaseImageVisitor.xml339
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/CLIHeader.xml239
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/DOSHeader.xml99
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/DataDirectory.xml171
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/DebugHeader.xml241
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/DebugStoreType.xml172
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ExportTable.xml249
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/HintNameTable.xml151
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/IBinaryVisitable.xml32
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/IBinaryVisitor.xml320
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/Image.xml375
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImageCharacteristics.xml268
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImageFormatException.xml16
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImportAddressTable.xml53
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImportLookupTable.xml53
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImportTable.xml109
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEFileHeader.xml155
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEOptionalHeader+DataDirectoriesHeader.xml281
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEOptionalHeader+NTSpecificFieldsHeader.xml351
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEOptionalHeader+StandardFieldsHeader.xml198
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEOptionalHeader.xml99
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/RVA.xml318
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceDataEntry.xml114
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceDirectoryEntry.xml138
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceDirectoryString.xml63
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceDirectoryTable.xml115
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceNode.xml31
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/RuntimeImage.xml73
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/Section.xml267
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/SectionCharacteristics.xml463
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/SectionCollection.xml180
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/SubSystem.xml172
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/BaseCodeVisitor.xml213
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/CilWorker.xml797
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/Code.xml2863
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/Document.xml122
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/DocumentHashAlgorithm.xml70
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/DocumentLanguage.xml197
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/DocumentLanguageVendor.xml57
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/DocumentType.xml57
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ExceptionHandler.xml174
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ExceptionHandlerCollection.xml200
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ExceptionHandlerType.xml68
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/FlowControl.xml133
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/GuidAttribute.xml114
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ICodeVisitable.xml32
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ICodeVisitor.xml194
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/IScopeProvider.xml29
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ISymbolReader.xml38
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ISymbolStoreFactory.xml56
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ISymbolWriter.xml36
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/IVariableDefinitionProvider.xml29
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/Instruction.xml145
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/InstructionCollection.xml158
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/MethodBody.xml285
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/OpCode.xml294
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/OpCodeType.xml94
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/OpCodes.xml3102
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/OperandType.xml276
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/Scope.xml132
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ScopeCollection.xml200
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/SequencePoint.xml130
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/StackBehaviour.xml393
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/VariableDefinition.xml102
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/VariableDefinitionCollection.xml200
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/VariableReference.xml150
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyOSRow.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyOSTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyProcessorRow.xml53
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyProcessorTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefOSRow.xml95
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefOSTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefProcessorRow.xml67
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefProcessorTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefRow.xml165
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRow.xml165
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/BaseMetadataRowVisitor.xml843
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/BaseMetadataTableVisitor.xml859
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/BaseMetadataVisitor.xml231
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/BlobHeap.xml73
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ClassLayoutRow.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ClassLayoutTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/CodedIndex.xml185
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ConstantRow.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ConstantTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/CustomAttributeRow.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/CustomAttributeTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/DeclSecurityRow.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/DeclSecurityTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ElementType.xml510
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventMapRow.xml67
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventMapTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventPtrRow.xml53
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventPtrTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventRow.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ExportedTypeRow.xml109
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ExportedTypeTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldLayoutRow.xml67
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldLayoutTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldMarshalRow.xml67
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldMarshalTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldPtrRow.xml53
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldPtrTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldRVARow.xml67
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldRVATable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldRow.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FileRow.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FileTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GenericParamConstraintRow.xml67
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GenericParamConstraintTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GenericParamRow.xml95
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GenericParamTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GuidHeap.xml84
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataRow.xml17
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataRowVisitable.xml32
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataRowVisitor.xml824
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataTable.xml48
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataTableVisitable.xml32
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataTableVisitor.xml840
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataVisitable.xml32
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataVisitor.xml212
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ImplMapRow.xml95
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ImplMapTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/InterfaceImplRow.xml67
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/InterfaceImplTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ManifestResourceRow.xml95
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ManifestResourceTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MemberRefRow.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MemberRefTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataFormatException.xml16
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataHeap.xml137
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataRoot+MetadataRootHeader.xml170
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataRoot.xml85
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataStream+MetadataStreamHeader.xml96
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataStream.xml153
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataStreamCollection.xml229
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataToken.xml202
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodImplRow.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodImplTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodPtrRow.xml53
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodPtrTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodRow.xml123
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodSemanticsRow.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodSemanticsTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodSpecRow.xml67
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodSpecTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ModuleRefRow.xml53
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ModuleRefTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ModuleRow.xml109
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ModuleTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/NestedClassRow.xml67
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/NestedClassTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ParamPtrRow.xml53
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ParamPtrTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ParamRow.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ParamTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyMapRow.xml67
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyMapTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyPtrRow.xml53
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyPtrTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyRow.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/RowCollection.xml269
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/StandAloneSigRow.xml53
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/StandAloneSigTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/StringsHeap.xml54
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TableCollection.xml176
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TablesHeap.xml201
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TokenType.xml341
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeDefRow.xml123
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeDefTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeRefRow.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeRefTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeSpecRow.xml53
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeSpecTable.xml103
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/UserStringsHeap.xml54
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ArrayDimension.xml80
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ArrayDimensionCollection.xml178
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ArrayMarshalSpec.xml111
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ArrayType.xml124
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyDefinition.xml259
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyFactory.xml300
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyFlags.xml86
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyHashAlgorithm.xml55
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyKind.xml55
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyLinkedResource.xml69
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyNameDefinition.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyNameReference.xml321
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyNameReferenceCollection.xml200
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/BaseAssemblyResolver.xml139
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/BaseReflectionVisitor.xml699
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/BaseStructureVisitor.xml285
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/CallSite.xml200
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/Constants.xml367
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ConstraintCollection.xml178
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ConstructorCollection.xml296
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/CustomAttribute.xml292
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/CustomAttributeCollection.xml200
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/CustomMarshalerSpec.xml111
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/DefaultAssemblyResolver.xml66
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/DefaultImporter.xml133
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EmbeddedResource.xml86
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EventAttributes.xml47
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EventDefinition.xml282
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EventDefinitionCollection.xml252
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EventReference.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ExternTypeCollection.xml446
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FieldAttributes.xml255
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FieldDefinition.xml486
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FieldDefinitionCollection.xml252
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FieldReference.xml83
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FileAttributes.xml42
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FixedArraySpec.xml81
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FixedSysStringSpec.xml66
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FunctionPointerType.xml208
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericArgumentCollection.xml178
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericContext.xml137
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericInstanceMethod.xml82
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericInstanceType.xml96
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericParameter.xml275
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericParameterAttributes.xml125
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericParameterCollection.xml200
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IAnnotationProvider.xml29
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IAssemblyResolver.xml52
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ICustomAttributeProvider.xml44
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IGenericInstance.xml48
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IGenericParameterProvider.xml48
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IHasConstant.xml48
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IHasMarshalSpec.xml33
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IHasSecurity.xml48
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IImporter.xml77
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMemberDefinition.xml66
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMemberReference.xml54
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMetadataScope.xml33
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMetadataTokenProvider.xml29
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMethodSignature.xml120
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IReflectionStructureVisitable.xml32
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IReflectionStructureVisitor.xml248
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IReflectionVisitable.xml32
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IReflectionVisitor.xml662
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IRequireResolving.xml60
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ImportContext.xml121
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/InterfaceCollection.xml200
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/LinkedResource.xml84
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ManifestResourceAttributes.xml60
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MarshalSpec.xml101
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MemberReference.xml130
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MemberReferenceCollection.xml200
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodAttributes.xml320
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodCallingConvention.xml107
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodDefinition.xml928
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodDefinitionCollection.xml315
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodImplAttributes.xml203
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodReference.xml233
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodReturnType.xml178
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodSemanticsAttributes.xml99
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodSpecification.xml168
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModType.xml94
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModifierOptional.xml49
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModifierRequired.xml49
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModuleDefinition.xml1063
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModuleDefinitionCollection.xml200
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModuleReference.xml105
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModuleReferenceCollection.xml200
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/NativeType.xml497
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/NestedTypeCollection.xml233
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/OverrideCollection.xml200
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PInvokeAttributes.xml190
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PInvokeInfo.xml300
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ParameterAttributes.xml138
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ParameterDefinition.xml308
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ParameterDefinitionCollection.xml200
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ParameterReference.xml171
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PinnedType.xml32
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PointerType.xml62
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PropertyAttributes.xml73
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PropertyDefinition.xml342
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PropertyDefinitionCollection.xml252
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PropertyReference.xml109
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ReferenceType.xml62
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ReflectionException.xml16
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/Resource.xml117
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ResourceCollection.xml200
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SafeArraySpec.xml66
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SecurityAction.xml211
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SecurityDeclaration.xml167
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SecurityDeclarationCollection.xml280
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SentinelType.xml32
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TargetRuntime.xml68
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeAttributes.xml385
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeDefinition.xml815
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeDefinitionCollection.xml446
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeReference.xml307
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeReferenceCollection.xml446
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeSpecification.xml138
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/VariantType.xml263
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/index.xml346
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/ns-.xml6
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/ns-Mono.Cecil.Binary.xml16
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/ns-Mono.Cecil.Cil.xml12
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/ns-Mono.Cecil.Metadata.xml15
-rw-r--r--mcs/class/Mono.Cecil/Documentation/en/ns-Mono.Cecil.xml18
-rw-r--r--mcs/class/Mono.Cecil/Makefile6
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil-SL.csproj200
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/BaseImageVisitor.cs101
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/CLIHeader.cs66
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/DOSHeader.cs75
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/DataDirectory.cs84
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/DebugHeader.cs73
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/DebugStoreType.cs45
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/ExportTable.cs59
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/IBinaryVisitable.cs35
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/IBinaryVisitor.cs51
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/Image.cs243
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageCharacteristics.cs57
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageFormatException.cs53
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/Imports.cs98
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/PEFileHeader.cs58
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/PEOptionalHeader.cs200
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/RVA.cs115
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceDataEntry.cs48
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceDirectoryEntry.cs66
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceDirectoryString.cs45
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceDirectoryTable.cs56
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceNode.cs44
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/RuntimeImage.cs40
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/Section.cs66
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/SectionCharacteristics.cs70
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/SectionCollection.cs114
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Binary/SubSystem.cs45
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/BaseCodeVisitor.cs73
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/CilWorker.cs402
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/Code.cs5
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/CodeReader.cs747
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/CodeWriter.cs881
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/Document.cs83
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/DocumentHashAlgorithm.cs36
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/DocumentLanguage.cs62
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/DocumentLanguageVendor.cs42
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/DocumentType.cs38
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/ExceptionHandler.cs70
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/ExceptionHandlerCollection.cs93
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/ExceptionHandlerType.cs37
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/FlowControl.cs42
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/GuidAttribute.cs91
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/ICodeVisitable.cs34
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/ICodeVisitor.cs45
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/ILProcessor.cs278
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/IScopeProvider.cs35
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/ISymbolReader.cs38
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/ISymbolStoreFactory.cs36
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/ISymbolWriter.cs37
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/IVariableDefinitionProvider.cs35
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/Instruction.cs284
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/InstructionCollection.cs94
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/MethodBody.cs643
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCode.cs463
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCodeType.cs39
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCodes.cs1551
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/OperandType.cs53
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/Scope.cs79
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/ScopeCollection.cs93
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/SequencePoint.cs44
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/StackBehaviour.cs62
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/Symbols.cs272
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/VariableDefinition.cs22
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/VariableDefinitionCollection.cs93
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Cil/VariableReference.cs46
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Assembly.cs88
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyOS.cs80
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyProcessor.cs78
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyRef.cs88
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyRefOS.cs81
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyRefProcessor.cs79
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/BaseMetadataVisitor.cs448
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/BlobHeap.cs63
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Buffers.cs373
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ClassLayout.cs80
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/CodedIndex.cs7
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Constant.cs80
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/CustomAttribute.cs80
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/DeclSecurity.cs82
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ElementType.cs78
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Event.cs82
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/EventMap.cs79
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/EventPtr.cs78
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ExportedType.cs84
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Field.cs82
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/FieldLayout.cs79
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/FieldMarshal.cs79
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/FieldPtr.cs78
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/FieldRVA.cs81
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/File.cs82
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/GenericParam.cs83
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/GenericParamConstraint.cs79
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/GuidHeap.cs53
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Heap.cs48
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/IMetadataRow.cs33
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/IMetadataTable.cs35
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/IMetadataVisitable.cs42
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/IMetadataVisitor.cs149
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ImplMap.cs83
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/InterfaceImpl.cs79
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ManifestResource.cs83
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MemberRef.cs80
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataFormatException.cs55
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataHeap.cs92
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataRoot.cs99
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataStream.cs90
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataStreamCollection.cs145
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataToken.cs63
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Method.cs87
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MethodImpl.cs80
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MethodPtr.cs78
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MethodSemantics.cs82
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MethodSpec.cs79
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Module.cs82
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ModuleRef.cs78
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/NestedClass.cs79
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Param.cs82
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ParamPtr.cs78
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Property.cs82
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/PropertyMap.cs79
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/PropertyPtr.cs78
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Row.cs170
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/RowCollection.cs125
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/StandAloneSig.cs78
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/StringHeap.cs81
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/StringsHeap.cs79
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TableCollection.cs115
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TableHeap.cs153
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TablesHeap.cs73
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TokenType.cs52
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TypeDef.cs85
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TypeRef.cs80
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TypeSpec.cs78
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/UserStringHeap.cs59
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/UserStringsHeap.cs77
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Utilities.cs764
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.PE/BinaryStreamReader.cs51
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.PE/BinaryStreamWriter.cs96
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.PE/ByteBuffer.cs342
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.PE/ByteBufferEqualityComparer.cs61
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.PE/DataDirectory.cs50
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.PE/Image.cs159
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.PE/ImageReader.cs678
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.PE/ImageWriter.cs820
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.PE/Section.cs43
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.PE/TextMap.cs129
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Signatures/CustomAttrib.cs84
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Signatures/CustomMod.cs50
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Signatures/LocalVarSig.cs58
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MarshalSig.cs93
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.csproj355
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.dll.sources414
-rwxr-xr-xmcs/class/Mono.Cecil/Mono.Cecil.nunit9
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil.sln85
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ArrayDimension.cs59
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ArrayDimensionCollection.cs88
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ArrayType.cs142
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/AssemblyDefinition.cs186
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/AssemblyFactory.cs183
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/AssemblyFlags.cs12
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/AssemblyHashAlgorithm.cs3
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/AssemblyInfo.cs33
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/AssemblyKind.cs36
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/AssemblyLinkedResource.cs24
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/AssemblyNameDefinition.cs20
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/AssemblyNameReference.cs262
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/AssemblyNameReferenceCollection.cs93
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/AssemblyReader.cs3007
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/AssemblyStripper.cs220
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/AssemblyWriter.cs2524
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/BaseAssemblyResolver.cs300
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/BaseReflectionVisitor.cs188
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/BaseStructureVisitor.cs96
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/CallSite.cs86
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/CompactFrameworkCompatibility.cs68
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/Constants.cs65
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ConstraintCollection.cs88
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ConstructorCollection.cs182
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/CustomAttribute.cs230
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/CustomAttributeCollection.cs93
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/DefaultAssemblyResolver.cs39
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/DefaultImporter.cs266
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/EmbeddedResource.cs73
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/EventAttributes.cs7
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/EventDefinition.cs180
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/EventDefinitionCollection.cs137
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/EventReference.cs25
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ExportedType.cs235
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ExternTypeCollection.cs192
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/FieldAttributes.cs8
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/FieldDefinition.cs346
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/FieldDefinitionCollection.cs137
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/FieldReference.cs50
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/FileAttributes.cs4
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/FunctionPointerType.cs96
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/GenericArgumentCollection.cs88
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/GenericContext.cs92
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/GenericInstanceMethod.cs85
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/GenericInstanceType.cs71
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/GenericParameter.cs232
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/GenericParameterAttributes.cs6
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/GenericParameterCollection.cs93
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IAnnotationProvider.cs37
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IAssemblyResolver.cs36
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IConstantProvider.cs52
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ICustomAttributeProvider.cs33
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IGenericInstance.cs37
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IGenericParameterProvider.cs44
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IHasConstant.cs36
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IHasMarshalSpec.cs35
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IHasSecurity.cs37
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IImporter.cs37
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IMarshalInfoProvider.cs57
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IMemberDefinition.cs69
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IMemberReference.cs36
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IMetadataScope.cs9
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IMetadataTokenProvider.cs4
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IMethodSignature.cs39
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IReflectionStructureVisitable.cs36
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IReflectionStructureVisitor.cs49
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IReflectionVisitable.cs36
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IReflectionVisitor.cs71
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/IRequireResolving.cs37
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/Import.cs566
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ImportContext.cs68
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/InterfaceCollection.cs93
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/LinkedResource.cs27
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ManifestResourceAttributes.cs10
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/MarshalInfo.cs171
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/MarshalSpec.cs218
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/MemberDefinitionCollection.cs92
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/MemberReference.cs71
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/MemberReferenceCollection.cs93
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/MetadataResolver.cs221
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/MetadataSystem.cs374
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/MethodAttributes.cs12
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/MethodCallingConvention.cs4
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/MethodDefinition.cs675
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/MethodDefinitionCollection.cs185
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/MethodImplAttributes.cs7
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/MethodReference.cs212
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/MethodReturnType.cs66
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/MethodSemanticsAttributes.cs9
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/MethodSpecification.cs53
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/Modifiers.cs106
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ModuleDefinition.cs1012
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ModuleDefinitionCollection.cs93
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ModuleKind.cs52
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ModuleReference.cs43
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ModuleReferenceCollection.cs93
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/NameObjectCollectionBase.cs650
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/NativeType.cs56
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/NestedTypeCollection.cs128
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/OverrideCollection.cs93
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/PInvokeAttributes.cs17
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/PInvokeInfo.cs170
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ParameterAttributes.cs6
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ParameterDefinition.cs191
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ParameterDefinitionCollection.cs67
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ParameterReference.cs63
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/PinnedType.cs20
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/PointerType.cs24
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/PropertyAttributes.cs7
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/PropertyDefinition.cs312
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/PropertyDefinitionCollection.cs138
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/PropertyReference.cs29
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ReferenceType.cs28
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ReflectionException.cs55
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/Resource.cs61
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/ResourceCollection.cs93
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/SecurityAction.cs48
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/SecurityDeclaration.cs180
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/SecurityDeclarationCollection.cs157
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/SentinelType.cs20
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/TableComparers.cs276
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/TargetRuntime.cs10
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/TypeAttributes.cs6
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/TypeDefinition.cs619
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/TypeDefinitionCollection.cs190
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/TypeParser.cs554
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/TypeReference.cs291
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/TypeReferenceCollection.cs214
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/TypeSpecification.cs60
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/TypeSystem.cs270
-rw-r--r--mcs/class/Mono.Cecil/Mono.Cecil/VariantType.cs23
-rw-r--r--mcs/class/Mono.Cecil/Mono.Collections.Generic/Collection.cs417
-rw-r--r--mcs/class/Mono.Cecil/Mono.Collections.Generic/ReadOnlyCollection.cs98
-rw-r--r--mcs/class/Mono.Cecil/Mono.Security.Cryptography/CryptoConvert.cs243
-rw-r--r--mcs/class/Mono.Cecil/Mono.Security.Cryptography/CryptoService.cs177
-rw-r--r--mcs/class/Mono.Cecil/Mono.Xml/SmallXmlParser.cs637
-rw-r--r--mcs/class/Mono.Cecil/Mono/Actions.cs38
-rw-r--r--mcs/class/Mono.Cecil/Mono/Empty.cs55
-rw-r--r--mcs/class/Mono.Cecil/Mono/Funcs.cs39
-rw-r--r--mcs/class/Mono.Cecil/NEWS3
-rw-r--r--mcs/class/Mono.Cecil/NOTES.txt189
-rw-r--r--mcs/class/Mono.Cecil/README78
-rw-r--r--mcs/class/Mono.Cecil/System.Runtime.CompilerServices/ExtensionAttribute.cs40
-rw-r--r--mcs/class/Mono.Cecil/TODO19
-rwxr-xr-xmcs/class/Mono.Cecil/configure43
-rw-r--r--mcs/class/Mono.Cecil/default.build84
-rw-r--r--mcs/class/Mono.Cecil/mono-cecil.pc.in8
-rw-r--r--mcs/class/Mono.Cecil/mono.snkbin0 -> 596 bytes
-rw-r--r--mcs/class/Mono.Cecil/standalone.make23
-rw-r--r--mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite.Ast/ExprCall.cs2
-rw-r--r--mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite.AstVisitors/CompileVisitor.cs6
-rw-r--r--mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/ContractsRuntime.cs52
-rw-r--r--mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/ExprGen.cs2
-rw-r--r--mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/PerformRewrite.cs15
-rw-r--r--mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/Rewriter.cs81
-rw-r--r--mcs/class/Mono.CompilerServices.SymbolWriter/MonoSymbolFile.cs14
-rw-r--r--mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs42
-rw-r--r--mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/MethodBodyMirror.cs4
-rw-r--r--mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/MethodMirror.cs2
-rw-r--r--mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/TypeMirror.cs2
-rw-r--r--mcs/tools/cil-strip/AssemblyStripper.cs221
-rw-r--r--mcs/tools/cil-strip/Makefile2
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/BaseImageVisitor.cs101
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/CLIHeader.cs66
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/CopyImageVisitor.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Binary/CopyImageVisitor.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/DOSHeader.cs75
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/DataDirectory.cs84
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/DebugHeader.cs73
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/DebugStoreType.cs45
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/ExportTable.cs59
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/IBinaryVisitable.cs35
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/IBinaryVisitor.cs51
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/IHeader.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Binary/IHeader.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/Image.cs243
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/ImageCharacteristics.cs57
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/ImageFormatException.cs53
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/ImageInitializer.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageInitializer.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/ImageReader.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageReader.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/ImageWriter.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageWriter.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/Imports.cs98
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/MemoryBinaryWriter.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Binary/MemoryBinaryWriter.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/PEFileHeader.cs58
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/PEOptionalHeader.cs200
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/RVA.cs115
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceDataEntry.cs48
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceDirectoryEntry.cs66
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceDirectoryString.cs45
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceDirectoryTable.cs56
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceNode.cs44
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceReader.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceReader.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceWriter.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceWriter.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/RuntimeImage.cs40
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/Section.cs66
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/SectionCharacteristics.cs70
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/SectionCollection.cs114
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Binary/SubSystem.cs45
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/BaseCodeVisitor.cs73
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/CilWorker.cs402
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/Code.cs255
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/CodeReader.cs357
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/CodeWriter.cs577
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/Document.cs80
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/DocumentHashAlgorithm.cs36
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/DocumentLanguage.cs62
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/DocumentLanguageVendor.cs42
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/DocumentType.cs38
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/ExceptionHandler.cs95
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/ExceptionHandlerCollection.cs93
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/ExceptionHandlerType.cs37
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/FlowControl.cs42
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/GuidAttribute.cs91
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/ICodeVisitable.cs34
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/ICodeVisitor.cs45
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/IScopeProvider.cs35
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/ISymbolReader.cs38
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/ISymbolStoreFactory.cs36
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/ISymbolWriter.cs37
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/IVariableDefinitionProvider.cs35
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/Instruction.cs133
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/InstructionCollection.cs94
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/MethodBody.cs623
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/MethodDataSection.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Cil/MethodDataSection.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/MethodHeader.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Cil/MethodHeader.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/OpCode.cs139
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/OpCodeNames.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCodeNames.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/OpCodeType.cs39
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/OpCodes.cs1583
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/OperandType.cs53
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/Scope.cs79
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/ScopeCollection.cs93
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/SequencePoint.cs78
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/StackBehaviour.cs62
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/SymbolStoreHelper.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Cil/SymbolStoreHelper.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/VariableDefinition.cs60
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/VariableDefinitionCollection.cs93
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Cil/VariableReference.cs75
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/Assembly.cs88
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyOS.cs80
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyProcessor.cs78
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyRef.cs88
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyRefOS.cs81
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyRefProcessor.cs79
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/BaseMetadataVisitor.cs448
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/BlobHeap.cs90
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/ClassLayout.cs80
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/CodedIndex.cs49
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/Constant.cs80
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/CultureUtils.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Metadata/CultureUtils.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/CustomAttribute.cs80
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/DeclSecurity.cs82
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/ElementType.cs73
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/Event.cs82
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/EventMap.cs79
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/EventPtr.cs78
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/ExportedType.cs84
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/Field.cs82
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/FieldLayout.cs79
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/FieldMarshal.cs79
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/FieldPtr.cs78
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/FieldRVA.cs81
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/File.cs82
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/GenericParam.cs83
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/GenericParamConstraint.cs79
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/GuidHeap.cs80
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/IMetadataRow.cs33
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/IMetadataTable.cs35
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/IMetadataVisitable.cs42
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/IMetadataVisitor.cs149
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/ImplMap.cs83
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/InterfaceImpl.cs79
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/ManifestResource.cs83
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MemberRef.cs80
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataFormatException.cs55
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataHeap.cs92
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataInitializer.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataInitializer.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataReader.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataReader.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataRoot.cs99
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataRowReader.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataRowReader.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataRowWriter.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataRowWriter.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataStream.cs90
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataStreamCollection.cs145
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataTableReader.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataTableReader.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataTableWriter.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataTableWriter.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataToken.cs102
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataWriter.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataWriter.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/Method.cs87
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MethodImpl.cs80
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MethodPtr.cs78
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MethodSemantics.cs82
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/MethodSpec.cs79
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/Module.cs82
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/ModuleRef.cs78
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/NestedClass.cs79
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/Param.cs82
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/ParamPtr.cs78
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/Property.cs82
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/PropertyMap.cs79
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/PropertyPtr.cs78
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/RowCollection.cs125
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/StandAloneSig.cs78
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/StringsHeap.cs79
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/TableCollection.cs115
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/TablesHeap.cs73
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/TokenType.cs58
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/TypeDef.cs85
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/TypeRef.cs80
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/TypeSpec.cs78
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/UserStringsHeap.cs77
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Metadata/Utilities.cs663
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/Array.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Array.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/ArrayShape.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/ArrayShape.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/BaseSignatureVisitor.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/BaseSignatureVisitor.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/Class.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Class.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/Constraint.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Constraint.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/CustomAttrib.cs84
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/CustomMod.cs50
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/FieldSig.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/FieldSig.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/FnPtr.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/FnPtr.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/GenericArg.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/GenericArg.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/GenericInst.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/GenericInst.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/GenericInstSignature.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/GenericInstSignature.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/ISignatureVisitable.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/ISignatureVisitable.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/ISignatureVisitor.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/ISignatureVisitor.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/InputOutputItem.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/InputOutputItem.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/LocalVarSig.cs58
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/MVar.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MVar.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/MarshalSig.cs93
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/MethodDefSig.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MethodDefSig.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/MethodRefSig.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MethodRefSig.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/MethodSig.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MethodSig.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/MethodSpec.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MethodSpec.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/Param.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Param.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/PropertySig.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/PropertySig.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/Ptr.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Ptr.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/RetType.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/RetType.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/SigType.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/SigType.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/Signature.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Signature.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/SignatureReader.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/SignatureReader.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/SignatureWriter.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/SignatureWriter.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/SzArray.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/SzArray.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/TypeSpec.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/TypeSpec.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/ValueType.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/ValueType.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil.Signatures/Var.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Var.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/AggressiveReflectionReader.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil/AggressiveReflectionReader.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ArrayDimension.cs59
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ArrayDimensionCollection.cs88
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ArrayType.cs109
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/AssemblyDefinition.cs169
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/AssemblyFactory.cs183
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/AssemblyFlags.cs41
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/AssemblyHashAlgorithm.cs37
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/AssemblyInfo.cs62
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/AssemblyKind.cs36
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/AssemblyLinkedResource.cs51
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/AssemblyNameDefinition.cs52
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/AssemblyNameReference.cs275
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/AssemblyNameReferenceCollection.cs93
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/BaseAssemblyResolver.cs264
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/BaseReflectionReader.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil/BaseReflectionReader.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/BaseReflectionVisitor.cs188
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/BaseStructureVisitor.cs96
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/CallSite.cs109
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/CompactFrameworkCompatibility.cs68
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/Constants.cs65
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ConstraintCollection.cs88
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ConstructorCollection.cs182
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/CustomAttribute.cs199
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/CustomAttributeCollection.cs93
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/DefaultAssemblyResolver.cs62
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/DefaultImporter.cs266
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/EmbeddedResource.cs56
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/EventAttributes.cs38
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/EventDefinition.cs173
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/EventDefinitionCollection.cs137
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/EventReference.cs52
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ExternTypeCollection.cs192
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/FieldAttributes.cs59
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/FieldDefinition.cs331
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/FieldDefinitionCollection.cs137
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/FieldReference.cs67
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/FileAttributes.cs35
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/FunctionPointerType.cs116
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/GenericArgumentCollection.cs88
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/GenericContext.cs92
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/GenericInstanceMethod.cs81
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/GenericInstanceType.cs75
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/GenericParameter.cs238
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/GenericParameterAttributes.cs45
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/GenericParameterCollection.cs93
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/HashCodeProvider.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil/HashCodeProvider.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IAnnotationProvider.cs37
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IAssemblyResolver.cs36
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ICustomAttributeProvider.cs39
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IDetailReader.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil/IDetailReader.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IGenericInstance.cs37
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IGenericParameterProvider.cs37
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IHasConstant.cs36
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IHasMarshalSpec.cs35
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IHasSecurity.cs37
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IImporter.cs37
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IMemberDefinition.cs37
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IMemberReference.cs36
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IMetadataScope.cs34
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IMetadataTokenProvider.cs37
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IMethodSignature.cs43
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IReflectionStructureVisitable.cs36
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IReflectionStructureVisitor.cs49
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IReflectionVisitable.cs36
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IReflectionVisitor.cs71
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/IRequireResolving.cs37
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ImportContext.cs68
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/InterfaceCollection.cs93
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/LinkedResource.cs57
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ManifestResourceAttributes.cs39
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/MarshalSpec.cs218
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/MemberReference.cs82
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/MemberReferenceCollection.cs93
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/MetadataResolver.cs231
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/MethodAttributes.cs66
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/MethodCallingConvention.cs40
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/MethodDefinition.cs653
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/MethodDefinitionCollection.cs185
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/MethodImplAttributes.cs53
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/MethodReference.cs158
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/MethodReturnType.cs101
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/MethodSemanticsAttributes.cs42
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/MethodSpecification.cs90
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/Modifiers.cs87
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ModuleDefinition.cs601
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ModuleDefinitionCollection.cs93
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ModuleReference.cs71
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ModuleReferenceCollection.cs93
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/NameObjectCollectionBase.cs650
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/NativeType.cs73
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/NestedTypeCollection.cs128
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/NullReferenceImporter.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil/NullReferenceImporter.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/OverrideCollection.cs93
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/PInvokeAttributes.cs53
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/PInvokeInfo.cs200
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ParameterAttributes.cs45
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ParameterDefinition.cs204
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ParameterDefinitionCollection.cs93
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ParameterReference.cs90
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/PinnedType.cs37
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/PointerType.cs45
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/PropertyAttributes.cs40
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/PropertyDefinition.cs252
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/PropertyDefinitionCollection.cs138
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/PropertyReference.cs56
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ReferenceType.cs45
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ReflectionController.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil/ReflectionController.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ReflectionException.cs55
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ReflectionHelper.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil/ReflectionHelper.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ReflectionReader.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil/ReflectionReader.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ReflectionWriter.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil/ReflectionWriter.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/Resource.cs91
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/ResourceCollection.cs93
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/SecurityAction.cs48
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/SecurityDeclaration.cs136
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/SecurityDeclarationCollection.cs157
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/SecurityDeclarationReader.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil/SecurityDeclarationReader.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/SentinelType.cs37
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/StructureReader.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil/StructureReader.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/StructureWriter.cs (renamed from mcs/class/Mono.Cecil/Mono.Cecil/StructureWriter.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/TableComparers.cs276
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/TargetRuntime.cs37
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/TypeAttributes.cs80
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/TypeDefinition.cs562
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/TypeDefinitionCollection.cs216
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/TypeReference.cs170
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/TypeReferenceCollection.cs214
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/TypeSpecification.cs80
-rw-r--r--mcs/tools/cil-strip/Mono.Cecil/VariantType.cs52
-rw-r--r--mcs/tools/cil-strip/Mono.Xml/ChangeLog (renamed from mcs/class/Mono.Cecil/Mono.Xml/ChangeLog)0
-rw-r--r--mcs/tools/cil-strip/Mono.Xml/SecurityParser.cs (renamed from mcs/class/Mono.Cecil/Mono.Xml/SecurityParser.cs)0
-rw-r--r--mcs/tools/cil-strip/Mono.Xml/SmallXmlParser.cs637
-rw-r--r--mcs/tools/cil-strip/cilstrip.cs6
-rw-r--r--mcs/tools/cil-strip/mono-cil-strip.exe.sources315
-rw-r--r--mcs/tools/corcompare/AssemblyResolver.cs29
-rw-r--r--mcs/tools/corcompare/Util.cs8
-rw-r--r--mcs/tools/corcompare/WellFormedXmlWriter.cs84
-rw-r--r--mcs/tools/corcompare/mono-api-diff.cs26
-rw-r--r--mcs/tools/corcompare/mono-api-info.cs83
-rw-r--r--mcs/tools/linker/Mono.Linker.Steps/BaseStep.cs4
-rw-r--r--mcs/tools/linker/Mono.Linker.Steps/CleanStep.cs17
-rw-r--r--mcs/tools/linker/Mono.Linker.Steps/LoadI18nAssemblies.cs6
-rw-r--r--mcs/tools/linker/Mono.Linker.Steps/MarkStep.cs147
-rw-r--r--mcs/tools/linker/Mono.Linker.Steps/OutputStep.cs19
-rw-r--r--mcs/tools/linker/Mono.Linker.Steps/ResolveFromAssemblyStep.cs44
-rw-r--r--mcs/tools/linker/Mono.Linker.Steps/ResolveFromXApiStep.cs17
-rw-r--r--mcs/tools/linker/Mono.Linker.Steps/ResolveFromXmlStep.cs28
-rw-r--r--mcs/tools/linker/Mono.Linker.Steps/ResolveStep.cs4
-rw-r--r--mcs/tools/linker/Mono.Linker.Steps/SweepStep.cs57
-rw-r--r--mcs/tools/linker/Mono.Linker.Steps/TypeMapStep.cs53
-rw-r--r--mcs/tools/linker/Mono.Linker/Annotations.cs298
-rw-r--r--mcs/tools/linker/Mono.Linker/AssemblyResolver.cs5
-rw-r--r--mcs/tools/linker/Mono.Linker/LinkContext.cs46
-rw-r--r--mcs/tools/linker/Mono.Linker/Pipeline.cs14
-rw-r--r--mcs/tools/linker/Mono.Linker/TypeParser.cs444
-rw-r--r--mcs/tools/linker/Mono.Linker/XApiReader.cs28
-rw-r--r--mcs/tools/linker/monolinker.exe.sources1
-rw-r--r--mcs/tools/mdoc/Makefile2
-rw-r--r--mcs/tools/mdoc/Mono.Documentation/exceptions.cs24
-rw-r--r--mcs/tools/mdoc/Mono.Documentation/monodocer.cs317
-rw-r--r--mcs/tools/pdb2mdb/Driver.cs2
-rw-r--r--mcs/tools/security/permview.cs125
-rw-r--r--mcs/tools/tuner/Makefile2
-rw-r--r--mcs/tools/tuner/Mono.Tuner/AdjustVisibility.cs34
-rw-r--r--mcs/tools/tuner/Mono.Tuner/CheckVisibility.cs18
-rw-r--r--mcs/tools/tuner/Mono.Tuner/FilterAttributes.cs5
-rw-r--r--mcs/tools/tuner/Mono.Tuner/InjectSecurityAttributes.cs34
-rw-r--r--mcs/tools/tuner/Mono.Tuner/MoonlightA11yAssemblyStep.cs4
-rw-r--r--mcs/tools/tuner/Mono.Tuner/MoonlightA11yDescriptorGenerator.cs36
-rw-r--r--mcs/tools/tuner/Mono.Tuner/MoonlightA11yProcessor.cs49
-rw-r--r--mcs/tools/tuner/Mono.Tuner/MoonlightAssemblyStep.cs8
-rw-r--r--mcs/tools/tuner/Mono.Tuner/PrintStatus.cs13
-rw-r--r--mcs/tools/tuner/Mono.Tuner/RemoveSerialization.cs11
-rw-r--r--mcs/tools/tuner/Mono.Tuner/TunerAnnotations.cs12
1015 files changed, 50883 insertions, 87416 deletions
diff --git a/data/cecil.pc.in b/data/cecil.pc.in
index 768bc466db2..067872a5274 100644
--- a/data/cecil.pc.in
+++ b/data/cecil.pc.in
@@ -1,5 +1,5 @@
assemblies_dir=@prefix@/lib/mono
-Libraries=${assemblies_dir}/gac/Mono.Cecil/0.6.9.0__0738eb9f132ed756/Mono.Cecil.dll
+Libraries=${assemblies_dir}/gac/Mono.Cecil/0.9.4.0__0738eb9f132ed756/Mono.Cecil.dll
Name: Mono Internal -- Do not use.
Description: Mono Internal Libraries -- Do not use
diff --git a/mcs/class/Mono.Cecil.Mdb/AUTHORS b/mcs/class/Mono.Cecil.Mdb/AUTHORS
deleted file mode 100644
index fcfe3126c23..00000000000
--- a/mcs/class/Mono.Cecil.Mdb/AUTHORS
+++ /dev/null
@@ -1 +0,0 @@
-Jb Evain <jbevain@novell.com>
diff --git a/mcs/class/Mono.Cecil.Mdb/ChangeLog b/mcs/class/Mono.Cecil.Mdb/ChangeLog
deleted file mode 100644
index 7713cc5bb11..00000000000
--- a/mcs/class/Mono.Cecil.Mdb/ChangeLog
+++ /dev/null
@@ -1,75 +0,0 @@
-2010-01-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
-
- * Makefile: Specify the path to Mono.Cecil.dll when referencing it.
-
-2009-02-02 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Mdb/MdbWriter.cs: add a GetDebugHeader method
- that will be used by the image writer.
-
-2008-11-11 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil.Mdb/MdbFactory.cs: Wrap any MonoSymbolFileException
- into a FormatException since callers can't catch the former (at least
- not without catching Exception).
-
-2008-10-17 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Mdb/MdbWriter.cs: Adjust to Cecil changes.
-
-2008-06-07 Martin Baulig <martin@ximian.com>
-
- * Mono.Cecil.Mdb/MdbReader.cs: Reflect latest symbol
- reader changes.
-
- * Mono.Cecil.Mdb/MdbWriter.cs: Reflect latest symbol
- writer changes.
-
-2008-05-28 Martin Baulig <martin@ximian.com>
-
- * Mono.Cecil.Mdb/MdbReader.cs: Reflect latest symbol
- reader changes.
-
-2008-05-05 Martin Baulig <martin@ximian.com>
-
- * Mono.Cecil.Mdb/MdbWriter.cs: Reflect latest symbol writer
- changes; DefineLocalVariables() doesn't take a signature anymore.
-
- * Mono.Cecil.Mdb/MdbReader.cs: Reflect latest symbol writer
- changes; use CodeBlockEntry instead of LexicalBlockEntry.
-
-2008-04-19 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil.Mdb/MdbReader.cs: Update wrt interface change (i.e.
- Read now provide a Dictionary to reuse the existing Hashtable
- between offsets and instructions).
-
-2008-04-08 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil.Mdb/MdbReader.cs:
- Make sure we set variables names even if the scope
- information is missing.
-
-2007-08-28 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Mdb/MdbWriter.cs:
- Rewrite variables infos.
-
-2007-08-27 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Mdb/MdbWriter.cs:
- Rewrite using the direct mdb api.
-
-2007-02-21 Jb Evain <jb@nurv.fr>
-
- * Start working on local var debug infos emitting.
-
-2006-09-24 Jb Evain <jbevain@gmail.com>
-
- * start some work on the reader.
-
-2006-09-19 Jb Evain <jbevain@gmail.com>
-
- * first checkin in SVN:
- This is the assembly to support reading and writing
- from Mono's mdb symbol store.
diff --git a/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb.csproj b/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb.csproj
deleted file mode 100644
index 3f743608cfe..00000000000
--- a/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb.csproj
+++ /dev/null
@@ -1,61 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>8.0.50727</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{C5D12431-9C20-4789-8FEC-46094B0F81B5}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>Mono.Cecil.Mdb</RootNamespace>
- <AssemblyName>Mono.Cecil.Mdb</AssemblyName>
- <StartupObject>
- </StartupObject>
- <SignAssembly>true</SignAssembly>
- <AssemblyOriginatorKeyFile>..\..\mcs\class\mono.snk</AssemblyOriginatorKeyFile>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>bin\Debug\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>bin\Release\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
- <ItemGroup>
- <Compile Include="Mono.Cecil.Mdb\AssemblyInfo.cs" />
- <Compile Include="Mono.Cecil.Mdb\MdbFactory.cs" />
- <Compile Include="Mono.Cecil.Mdb\MdbReader.cs" />
- <Compile Include="Mono.Cecil.Mdb\MdbWriter.cs" />
- <Compile Include="Mono.CompilerServices.SymbolWriter\MonoSymbolFile.cs" />
- <Compile Include="Mono.CompilerServices.SymbolWriter\MonoSymbolTable.cs" />
- <Compile Include="Mono.CompilerServices.SymbolWriter\MonoSymbolWriter.cs" />
- <Compile Include="Mono.CompilerServices.SymbolWriter\SymbolWriterImpl.cs" />
- </ItemGroup>
- <ItemGroup>
- <Reference Include="System" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\mcs\class\Mono.Cecil\Mono.Cecil.csproj">
- <Project>{D8F63DFF-5230-43E4-9AB2-DA6E721A1FAE}</Project>
- <Name>Mono.Cecil</Name>
- </ProjectReference>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb.dll.sources b/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb.dll.sources
index 74a3d70fdbc..9775ab4ebc1 100644
--- a/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb.dll.sources
+++ b/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb.dll.sources
@@ -1,5 +1,4 @@
./Mono.Cecil.Mdb/AssemblyInfo.cs
-./Mono.Cecil.Mdb/MdbFactory.cs
./Mono.Cecil.Mdb/MdbReader.cs
./Mono.Cecil.Mdb/MdbWriter.cs
../Mono.CompilerServices.SymbolWriter/MonoSymbolFile.cs
diff --git a/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/AssemblyInfo.cs b/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/AssemblyInfo.cs
index 5debf10fff0..a08113a31d8 100644
--- a/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/AssemblyInfo.cs
+++ b/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/AssemblyInfo.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2006 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -31,13 +31,11 @@ using System.Reflection;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle ("Mono.Cecil.Mdb")]
-[assembly: AssemblyDescription ("Support for the mdb symbols store in Cecil")]
-[assembly: AssemblyConfiguration ("")]
[assembly: AssemblyProduct ("Mono.Cecil")]
-[assembly: AssemblyCopyright ("(C) 2006, Jb Evain")]
-[assembly: AssemblyCulture ("")]
+[assembly: AssemblyCopyright ("Copyright © 2008 - 2010 Jb Evain")]
[assembly: CLSCompliant (false)]
[assembly: ComVisible (false)]
-[assembly: AssemblyVersion ("0.2.0.0")]
+[assembly: AssemblyVersion ("0.9.4.0")]
+[assembly: AssemblyFileVersion ("0.9.4.0")]
diff --git a/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbFactory.cs b/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbFactory.cs
deleted file mode 100644
index f12cff48d0c..00000000000
--- a/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbFactory.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// MdbFactory.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Mdb {
-
- using System;
-
- using Mono.Cecil.Cil;
-
- using Mono.CompilerServices.SymbolWriter;
-
- public class MdbFactory : ISymbolStoreFactory {
-
- public ISymbolReader CreateReader (ModuleDefinition module, string assembly)
- {
- try {
- return new MdbReader (MonoSymbolFile.ReadSymbolFile (module.Assembly, assembly));
- }
- catch (MonoSymbolFileException e) {
- // callers may not be able to catch this exception since they, likely,
- // don't link with Mono.CompilerServices.SymbolWriter
- throw new FormatException ("Invalid MDB symbol file.", e);
- }
- }
-
- public ISymbolWriter CreateWriter (ModuleDefinition module, string assembly)
- {
- return new MdbWriter (module.Mvid, assembly);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbReader.cs b/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbReader.cs
index fd09e69d47f..0198a7164db 100644
--- a/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbReader.cs
+++ b/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbReader.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2006 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,113 +26,143 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+using System.Collections.Generic;
+using System.IO;
+
+using Mono.Cecil.Cil;
+using Mono.Collections.Generic;
+using Mono.CompilerServices.SymbolWriter;
+
namespace Mono.Cecil.Mdb {
- using System.Collections;
+ public class MdbReaderProvider : ISymbolReaderProvider {
- using Mono.Cecil.Cil;
+ public ISymbolReader GetSymbolReader (ModuleDefinition module, string fileName)
+ {
+ return new MdbReader (MonoSymbolFile.ReadSymbolFile (module, fileName));
+ }
- using Mono.CompilerServices.SymbolWriter;
+ public ISymbolReader GetSymbolReader (ModuleDefinition module, Stream symbolStream)
+ {
+ throw new NotImplementedException ();
+ }
+ }
- class MdbReader : ISymbolReader {
+ public class MdbReader : ISymbolReader {
- MonoSymbolFile m_symFile;
- Hashtable m_documents;
- Hashtable m_scopes;
+ readonly MonoSymbolFile symbol_file;
+ readonly Dictionary<string, Document> documents;
public MdbReader (MonoSymbolFile symFile)
{
- m_symFile = symFile;
- m_documents = new Hashtable ();
- m_scopes = new Hashtable ();
+ symbol_file = symFile;
+ documents = new Dictionary<string, Document> ();
}
- Instruction GetInstruction (MethodBody body, IDictionary instructions, int offset)
+ public bool ProcessDebugHeader (ImageDebugDirectory directory, byte [] header)
{
- Instruction instr = (Instruction) instructions [offset];
- if (instr != null)
- return instr;
-
- return body.Instructions.Outside;
+ return true;
}
- public void Read (MethodBody body, IDictionary instructions)
+ public void Read (MethodBody body, InstructionMapper mapper)
{
- MethodEntry entry = m_symFile.GetMethodByToken ((int) body.Method.MetadataToken.ToUInt ());
+ var method_token = body.Method.MetadataToken;
+ var entry = symbol_file.GetMethodByToken (method_token.ToInt32 ());
if (entry == null)
return;
- ReadScopes (entry, body, instructions);
- ReadLineNumbers (entry, instructions);
- ReadLocalVariables (entry, body);
+ var scopes = ReadScopes (entry, body, mapper);
+ ReadLineNumbers (entry, mapper);
+ ReadLocalVariables (entry, body, scopes);
}
- void ReadLocalVariables (MethodEntry entry, MethodBody body)
+ static void ReadLocalVariables (MethodEntry entry, MethodBody body, Scope [] scopes)
{
- LocalVariableEntry[] locals = entry.GetLocals ();
- foreach (LocalVariableEntry loc in locals) {
- VariableDefinition var = body.Variables [loc.Index];
- var.Name = loc.Name;
+ var locals = entry.GetLocals ();
+ foreach (var local in locals) {
+ var variable = body.Variables [local.Index];
+ variable.Name = local.Name;
+
+ var index = local.BlockIndex;
+ if (index < 0 || index >= scopes.Length)
+ continue;
- Scope scope = m_scopes [loc.BlockIndex] as Scope;
+ var scope = scopes [index];
if (scope == null)
continue;
- scope.Variables.Add (var);
+
+ scope.Variables.Add (variable);
}
}
- void ReadLineNumbers (MethodEntry entry, IDictionary instructions)
+ void ReadLineNumbers (MethodEntry entry, InstructionMapper mapper)
{
- LineNumberTable lnt = entry.GetLineNumberTable ();
- foreach (LineNumberEntry line in lnt.LineNumbers) {
- Instruction instr = instructions [line.Offset] as Instruction;
- if (instr == null)
+ Document document = null;
+ var table = entry.GetLineNumberTable ();
+
+ foreach (var line in table.LineNumbers) {
+ var instruction = mapper (line.Offset);
+ if (instruction == null)
continue;
- Document doc = GetDocument (entry.CompileUnit.SourceFile);
- instr.SequencePoint = new SequencePoint (doc);
- instr.SequencePoint.StartLine = line.Row;
- instr.SequencePoint.EndLine = line.Row;
+ if (document == null)
+ document = GetDocument (entry.CompileUnit.SourceFile);
+
+ instruction.SequencePoint = new SequencePoint (document) {
+ StartLine = line.Row,
+ EndLine = line.Row,
+ };
}
}
Document GetDocument (SourceFileEntry file)
{
- Document doc = m_documents [file.FileName] as Document;
- if (doc != null)
- return doc;
+ var file_name = file.FileName;
+
+ Document document;
+ if (documents.TryGetValue (file_name, out document))
+ return document;
- doc = new Document (file.FileName);
+ document = new Document (file_name);
+ documents.Add (file_name, document);
- m_documents [file.FileName] = doc;
- return doc;
+ return document;
}
- void ReadScopes (MethodEntry entry, MethodBody body, IDictionary instructions)
+ static Scope [] ReadScopes (MethodEntry entry, MethodBody body, InstructionMapper mapper)
{
- CodeBlockEntry[] blocks = entry.GetCodeBlocks ();
- foreach (CodeBlockEntry cbe in blocks) {
- if (cbe.BlockType != CodeBlockEntry.Type.Lexical)
+ var blocks = entry.GetCodeBlocks ();
+ var scopes = new Scope [blocks.Length];
+
+ foreach (var block in blocks) {
+ if (block.BlockType != CodeBlockEntry.Type.Lexical)
continue;
- Scope s = new Scope ();
- s.Start = GetInstruction (body, instructions, cbe.StartOffset);
- s.End = GetInstruction(body, instructions, cbe.EndOffset);
- m_scopes [entry.Index] = s;
+ var scope = new Scope ();
+ scope.Start = mapper (block.StartOffset);
+ scope.End = mapper (block.EndOffset);
+
+ scopes [block.Index] = scope;
- if (!AddScope (body, s))
- body.Scopes.Add (s);
+ if (body.Scope == null)
+ body.Scope = scope;
+
+ if (!AddScope (body.Scope, scope))
+ body.Scope = scope;
}
+
+ return scopes;
}
- bool AddScope (IScopeProvider provider, Scope s)
+ static bool AddScope (Scope provider, Scope scope)
{
- foreach (Scope scope in provider.Scopes) {
- if (AddScope (scope, s))
+ foreach (var sub_scope in provider.Scopes) {
+ if (AddScope (sub_scope, scope))
return true;
- if (s.Start.Offset >= scope.Start.Offset && s.End.Offset <= scope.End.Offset) {
- scope.Scopes.Add (s);
+ if (scope.Start.Offset >= sub_scope.Start.Offset && scope.End.Offset <= sub_scope.End.Offset) {
+ sub_scope.Scopes.Add (scope);
return true;
}
}
@@ -140,9 +170,44 @@ namespace Mono.Cecil.Mdb {
return false;
}
+ public void Read (MethodSymbols symbols)
+ {
+ var entry = symbol_file.GetMethodByToken (symbols.MethodToken.ToInt32 ());
+ if (entry == null)
+ return;
+
+ ReadLineNumbers (entry, symbols);
+ ReadLocalVariables (entry, symbols);
+ }
+
+ void ReadLineNumbers (MethodEntry entry, MethodSymbols symbols)
+ {
+ var table = entry.GetLineNumberTable ();
+ var lines = table.LineNumbers;
+
+ var instructions = symbols.instructions = new Collection<InstructionSymbol> (lines.Length);
+
+ for (int i = 0; i < lines.Length; i++) {
+ var line = lines [i];
+
+ instructions.Add (new InstructionSymbol (line.Offset, new SequencePoint (GetDocument (entry.CompileUnit.SourceFile)) {
+ StartLine = line.Row,
+ EndLine = line.Row,
+ }));
+ }
+ }
+
+ static void ReadLocalVariables (MethodEntry entry, MethodSymbols symbols)
+ {
+ foreach (var local in entry.GetLocals ()) {
+ var variable = symbols.Variables [local.Index];
+ variable.Name = local.Name;
+ }
+ }
+
public void Dispose ()
{
- m_symFile.Dispose ();
+ symbol_file.Dispose ();
}
}
}
diff --git a/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbWriter.cs b/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbWriter.cs
index 948d151d1db..54362ec3c01 100644
--- a/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbWriter.cs
+++ b/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb/MdbWriter.cs
@@ -2,9 +2,9 @@
// MdbWriter.cs
//
// Author:
-// Jb Evain (jbevain@novell.com)
+// Jb Evain (jbevain@gmail.com)
//
-// (C) 2007 Novell, Inc.
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,164 +26,226 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-// Inspired by the pdb2mdb tool written by Robert Jordan, thanks Robert!
+using System;
+using System.Collections.Generic;
+using System.IO;
-namespace Mono.Cecil.Mdb {
+using Mono.Cecil.Cil;
+using Mono.Collections.Generic;
+using Mono.CompilerServices.SymbolWriter;
- using System;
- using System.Collections;
+namespace Mono.Cecil.Mdb {
- using Mono.CompilerServices.SymbolWriter;
+#if !READ_ONLY
+ public class MdbWriterProvider : ISymbolWriterProvider {
- using Mono.Cecil;
- using Mono.Cecil.Cil;
+ public ISymbolWriter GetSymbolWriter (ModuleDefinition module, string fileName)
+ {
+ return new MdbWriter (module.Mvid, fileName);
+ }
- class MdbWriter : ISymbolWriter {
+ public ISymbolWriter GetSymbolWriter (ModuleDefinition module, Stream symbolStream)
+ {
+ throw new NotImplementedException ();
+ }
+ }
- Guid m_mvid;
- MonoSymbolWriter m_writer;
+ public class MdbWriter : ISymbolWriter {
- Hashtable m_documents;
+ readonly Guid mvid;
+ readonly MonoSymbolWriter writer;
+ readonly Dictionary<string, SourceFile> source_files;
public MdbWriter (Guid mvid, string assembly)
{
- m_mvid = mvid;
- m_writer = new MonoSymbolWriter (assembly);
- m_documents = new Hashtable ();
+ this.mvid = mvid;
+ this.writer = new MonoSymbolWriter (assembly);
+ this.source_files = new Dictionary<string, SourceFile> ();
}
- static Instruction [] GetInstructions (MethodBody body)
+ static Collection<Instruction> GetInstructions (MethodBody body)
{
- ArrayList list = new ArrayList ();
- foreach (Instruction instruction in body.Instructions)
+ var instructions = new Collection<Instruction> ();
+ foreach (var instruction in body.Instructions)
if (instruction.SequencePoint != null)
- list.Add (instruction);
+ instructions.Add (instruction);
- return list.ToArray (typeof (Instruction)) as Instruction [];
+ return instructions;
}
SourceFile GetSourceFile (Document document)
{
- string url = document.Url;
- SourceFile file = m_documents [url] as SourceFile;
- if (file != null)
- return file;
+ var url = document.Url;
+
+ SourceFile source_file;
+ if (source_files.TryGetValue (url, out source_file))
+ return source_file;
- SourceFileEntry entry = m_writer.DefineDocument (url);
- CompileUnitEntry comp_unit = m_writer.DefineCompilationUnit (entry);
+ var entry = writer.DefineDocument (url);
+ var compile_unit = writer.DefineCompilationUnit (entry);
- file = new SourceFile (comp_unit, entry);
- m_documents [url] = file;
- return file;
+ source_file = new SourceFile (compile_unit, entry);
+ source_files.Add (url, source_file);
+ return source_file;
}
- void Populate (Instruction [] instructions, int [] offsets,
- int [] startRows, int [] startCols, int [] endRows, int [] endCols,
- out SourceFile file)
+ void Populate (Collection<Instruction> instructions, int [] offsets,
+ int [] startRows, int [] startCols, out SourceFile file)
{
- SourceFile document = null;
+ SourceFile source_file = null;
- for (int i = 0; i < instructions.Length; i++) {
- Instruction instr = (Instruction) instructions [i];
- offsets [i] = instr.Offset;
+ for (int i = 0; i < instructions.Count; i++) {
+ var instruction = instructions [i];
+ offsets [i] = instruction.Offset;
- if (document == null)
- document = GetSourceFile (instr.SequencePoint.Document);
+ var sequence_point = instruction.SequencePoint;
+ if (source_file == null)
+ source_file = GetSourceFile (sequence_point.Document);
- startRows [i] = instr.SequencePoint.StartLine;
- startCols [i] = instr.SequencePoint.StartColumn;
- endRows [i] = instr.SequencePoint.EndLine;
- endCols [i] = instr.SequencePoint.EndColumn;
+ startRows [i] = sequence_point.StartLine;
+ startCols [i] = sequence_point.StartColumn;
}
- file = document;
+ file = source_file;
}
public void Write (MethodBody body)
{
- SourceMethod meth = new SourceMethod (body.Method);
+ var method = new SourceMethod (body.Method);
- SourceFile file;
-
- Instruction [] instructions = GetInstructions (body);
- int length = instructions.Length;
- if (length == 0)
+ var instructions = GetInstructions (body);
+ int count = instructions.Count;
+ if (count == 0)
return;
- int [] offsets = new int [length];
- int [] startRows = new int [length];
- int [] startCols = new int [length];
- int [] endRows = new int [length];
- int [] endCols = new int [length];
+ var offsets = new int [count];
+ var start_rows = new int [count];
+ var start_cols = new int [count];
+
+ SourceFile file;
+ Populate (instructions, offsets, start_rows, start_cols, out file);
+
+ var builder = writer.OpenMethod (file.CompilationUnit, 0, method);
- Populate (instructions, offsets, startRows, startCols, endRows, endCols, out file);
+ for (int i = 0; i < count; i++)
+ builder.MarkSequencePoint (
+ offsets [i],
+ file.CompilationUnit.SourceFile,
+ start_rows [i],
+ start_cols [i],
+ false);
- SourceMethodBuilder builder = m_writer.OpenMethod (file.CompilationUnit, 0, meth);
+ if (body.HasVariables)
+ AddVariables (body.Variables);
- for (int i = 0; i < length; i++)
- builder.MarkSequencePoint (offsets [i], file.CompilationUnit.SourceFile,
- startRows [i], startCols [i], false);
+ writer.CloseMethod ();
+ }
- MarkVariables (body);
+ readonly static byte [] empty_header = new byte [0];
- m_writer.CloseMethod ();
+ public bool GetDebugHeader (out ImageDebugDirectory directory, out byte [] header)
+ {
+ directory = new ImageDebugDirectory ();
+ header = empty_header;
+ return false;
}
- void MarkVariables (MethodBody body)
+ void AddVariables (IList<VariableDefinition> variables)
{
- for (int i = 0; i < body.Variables.Count; i++) {
- VariableDefinition var = body.Variables [i];
- m_writer.DefineLocalVariable (i, var.Name);
+ for (int i = 0; i < variables.Count; i++) {
+ var variable = variables [i];
+ writer.DefineLocalVariable (i, variable.Name);
}
}
- public byte [] GetDebugHeader ()
+ public void Write (MethodSymbols symbols)
{
- // mdb doesn't need a debug header
- // in the PE file.
- return new byte [0];
+ var method = new SourceMethodSymbol (symbols);
+
+ var file = GetSourceFile (symbols.Instructions [0].SequencePoint.Document);
+ var builder = writer.OpenMethod (file.CompilationUnit, 0, method);
+ var count = symbols.Instructions.Count;
+
+ for (int i = 0; i < count; i++) {
+ var instruction = symbols.Instructions [i];
+ var sequence_point = instruction.SequencePoint;
+
+ builder.MarkSequencePoint (
+ instruction.Offset,
+ GetSourceFile (sequence_point.Document).CompilationUnit.SourceFile,
+ sequence_point.StartLine,
+ sequence_point.EndLine,
+ false);
+ }
+
+ if (symbols.HasVariables)
+ AddVariables (symbols.Variables);
+
+ writer.CloseMethod ();
}
public void Dispose ()
{
- m_writer.WriteSymbolFile (m_mvid);
+ writer.WriteSymbolFile (mvid);
}
class SourceFile : ISourceFile {
- CompileUnitEntry comp_unit;
- SourceFileEntry entry;
+
+ readonly CompileUnitEntry compilation_unit;
+ readonly SourceFileEntry entry;
public SourceFileEntry Entry {
get { return entry; }
}
public CompileUnitEntry CompilationUnit {
- get { return comp_unit; }
+ get { return compilation_unit; }
}
public SourceFile (CompileUnitEntry comp_unit, SourceFileEntry entry)
{
- this.comp_unit = comp_unit;
+ this.compilation_unit = comp_unit;
this.entry = entry;
}
}
+ class SourceMethodSymbol : IMethodDef {
+
+ readonly string name;
+ readonly int token;
+
+ public string Name {
+ get { return name;}
+ }
+
+ public int Token {
+ get { return token; }
+ }
+
+ public SourceMethodSymbol (MethodSymbols symbols)
+ {
+ name = symbols.MethodName;
+ token = symbols.MethodToken.ToInt32 ();
+ }
+ }
+
class SourceMethod : IMethodDef {
- MethodDefinition m_method;
+ readonly MethodDefinition method;
public string Name {
- get { return m_method.Name; }
+ get { return method.Name; }
}
public int Token {
- get { return (int) m_method.MetadataToken.ToUInt (); }
+ get { return method.MetadataToken.ToInt32 (); }
}
public SourceMethod (MethodDefinition method)
{
- m_method = method;
+ this.method = method;
}
}
}
+#endif
}
diff --git a/mcs/class/Mono.Cecil.Mdb/README b/mcs/class/Mono.Cecil.Mdb/README
deleted file mode 100644
index ef817611010..00000000000
--- a/mcs/class/Mono.Cecil.Mdb/README
+++ /dev/null
@@ -1,2 +0,0 @@
-Mono.Cecil.Mdb is an internal assembly used by Mono.Cecil to
-read and write the Mono Debugging Symbols file format.
diff --git a/mcs/class/Mono.Cecil/.gitignore b/mcs/class/Mono.Cecil/.gitignore
new file mode 100644
index 00000000000..3629e370c51
--- /dev/null
+++ b/mcs/class/Mono.Cecil/.gitignore
@@ -0,0 +1,7 @@
+bin
+obj
+*.suo
+*.user
+*.pidb
+*.userprefs
+*.xml
diff --git a/mcs/class/Mono.Cecil/AUTHORS b/mcs/class/Mono.Cecil/AUTHORS
deleted file mode 100644
index c05a391c144..00000000000
--- a/mcs/class/Mono.Cecil/AUTHORS
+++ /dev/null
@@ -1 +0,0 @@
-Jb Evain (jbevain@gmail.com)
diff --git a/mcs/class/Mono.Cecil/ChangeLog b/mcs/class/Mono.Cecil/ChangeLog
deleted file mode 100644
index 140b0ea1290..00000000000
--- a/mcs/class/Mono.Cecil/ChangeLog
+++ /dev/null
@@ -1,4474 +0,0 @@
-2010-04-23 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionWriter.cs: fix writing of exported types.
-
-2010-04-19 Sebastien Pouliot <sebastien at ximian.com>
-
- * Mono.Cecil/ReflectionWriter.cs: Partial (forwarders) fix for
- writing ExternTypes (needed for tuning ML4 correctly)
-
-2010-04-11 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/GenericParameter.cs: override Module properly.
-
-2010-03-29 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/AssemblyStripper.cs: optimize.
-
-2010-02-13 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionReader.cs: don't cache everything
- that is context dependent.
- Based on a patch by Frank Laub <frank.laub@gmail.com>
-
-2010-02-13 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/MethodReturnType.cs: avoid creating an
- inner parameter if not necessary.
-
-2010-02-13 Jb Evain <jbevain@novell.com>
-
- * TypeAttributes.cs: add Forwarder flag.
-
-2010-02-12 Jb Evain <jbevain@novell.com>
-
- * AssemblyStripper.cs: properly set the rva of methods with
- no body.
-
-2010-01-06 Rodrigo B. de Oliveira <rodrigo@unity.com>
-
- * Mono.Cecil.csproj
- Mono.Cecil/NameObjectCollectionBase.cs
- Mono.Cecil/BaseAssemblyResolver.cs
- Mono.Cecil/DefaultAssemblyResolver.cs:
- support for compiling Mono.Cecil without
- any references to System.dll using the newly introduced
- "Debug - No System.dll" configuration in Mono.Cecil.csproj;
-
-2009-12-14 Sebastien Pouliot <sebastien at ximian.com>
-
- * Mono.Cecil/BaseAssemblyResolver.cs: Update to .net fx 4 beta2
- version number and reduce code duplication.
-
-2009-10-25 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/BaseAssemblyResolver.cs
- Mono.Cecil/StructureReader.cs
- Mono.Cecil.Metadata/MetadataWriter.cs:
- update .net 4.0 version to beta 2.
-
-2009-08-18 Michael Hutchinson <mhutchinson@novell.com>
-
- * Mono.Cecil/BaseAssemblyResolver.cs: Search GACs specified in the
- MONO_GAC_PREFIX environment variable.
-
-2009-08-06 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/BaseAssemblyResolver.cs:
- Do not crash when the GAC folder can't be found.
-
-2009-07-28 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/AssemblyStripper.cs: Make all methods share
- the same body.
-
-2009-07-16 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/AssemblyFactory.cs
- * Mono.Cecil.Metadata/MetadataWriter.cs
- * Mono.Cecil.Binary/ImageWriter.cs:
- Support for properly writing 4.0 dlls.
- Patch by Carlo Kok <ck@remobjects.com>.
-
-2009-06-05 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/BaseAssemblyResolver.cs: properly look for the 4.0 corlib
- when running on Mono.
-
-2009-06-03 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/MetadataResolver.cs: add support for resolving from
- a ModuleReference.
-
-2009-06-03 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/BaseAssemblyResolver.cs: look for 4.0.0.0 assemblies.
-
-2009-05-21 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionReader.cs: add support for type forwarders.
-
-2009-05-19 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/TargetRuntime.cs
- * Mono.Cecil/StructureReader.cs
- * Mono.Cecil.Metadata/MetadataWriter.cs:
- add support for .net 4.0 detection.
-
-2009-04-30 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Signatures/SignatureReader.cs: fix reading out extra mods.
-
-2009-04-21 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Cil/SymbolStoreHelper.cs: look for the assembly in the GAC
- as well if it's not local.
-
-2009-04-03 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Metadata/BlobHeap.cs
- * Mono.Cecil.Metadata/MetadataWriter.cs:
- do a better job at emitting a blob heap.
-
-2009-04-01 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ModuleDefinition.cs (Import): add overloads
- taking a MethodDefinition as a generic context.
-
-2009-04-01 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionHelper.cs: throw proper exception
- when importing in an invalid context.
-
-2009-03-12 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/AssemblyStripper.cs (PatchHeap): don't crash
- if the assembly doesn't contain a specific metadata heap.
-
-2009-03-04 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/StructureWriter.cs: properly set the metadata tokens
- of newly emitted modules and assemblies. Fix #480729.
-
-2009-01-28 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/MetadataResolver.cs:
- Add new MetadataResolver.
-
- * Mono.Cecil/GenericParameter.cs
- Mono.Cecil/FieldDefinition.cs
- Mono.Cecil/TypeReference.cs
- Mono.Cecil/GenericInstanceMethod.cs
- Mono.Cecil/IMemberDefinition.cs
- Mono.Cecil/TypeDefinition.cs
- Mono.Cecil/PropertyReference.cs
- Mono.Cecil/EventReference.cs
- Mono.Cecil/MethodDefinition.cs
- Mono.Cecil/EventDefinition.cs
- Mono.Cecil/ModuleDefinition.cs
- Mono.Cecil/MethodReference.cs
- Mono.Cecil/FieldReference.cs
- Mono.Cecil/ParameterDefinition.cs
- Mono.Cecil/PropertyDefinition.cs
- Mono.Cecil/ParameterReference.cs
- Mono.Cecil.Cil/VariableReference.cs
- Mono.Cecil.Cil/VariableDefinition.cs:
- Add Resolve to Definition methods on References.
-
- * Mono.Cecil.dll.sources, Mono.Cecil.csproj: add MetadataResolver.cs
-
-2009-01-05 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionHelper.cs
- * Mono.Cecil/DefaultImporter.cs:
- Adjust references's generic parameter count on import.
-
-2009-01-05 Sebastien Pouliot <sebastien at ximian.com>
-
- * CodeReader.cs: Do not call VisitVariableDefinitionCollection
- unless LocalVarToken is different from zero.
- * CodeWriter.cs: Use HasVariables and HasExceptionHandlers.
- Write zero, not TokenType.Signature, for LocalVarToken if no
- variable is defined. That should fix the problem with unsign
- * Mono.Cecil.Cil/MethodBody.cs: Add HasExceptionHandlers,
- HasVariables and HasScopes to avoid creating empty collections
- inside Cecil. There is no HasInstruction because there's always
- something if MethodDefinition.HasBody is true (i.e. a MethodBody
- exists). [re-apply r1222198]
-
-2008-12-29 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil/MethodReturnType.cs: Override ToString so we can, by
- default, display something useful about the return type.
-
-2008-12-29 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil/GenericInstanceMethod.cs,
- * Mono.Cecil/GenericInstanceType.cs,
- * Mono.Cecil/IGenericInstance.cs: Introduce HasGenericArguments into
- the interface and implement it inside GenericInstance[Method|Type]
-
-2008-12-16 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Signatures/SignatureReader.cs: fix reading of wrong
- modifiers.
-
-2008-12-01 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil.Signatures/CustomAttrib.cs: Define reusable Empty
- arrays for both FixedArg and NamedArg.
- * Mono.Cecil.Signatures/SignatureReader.cs: Avoid creating empty
- ParameterDefinitionCollection on constructors. Use the new Empty
- arrays when possible.
-
-2008-12-01 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil/MethodReference.cs: Make HasParameters virtual
- * Mono.Cecil/MethodSpecification.cs: Override HasParameters to make
- sure we're tracking the same object as the Parameters property does.
- * Mono.Cecil/PropertyDefinition.cs: Implement HasParameters based on
- the GetMethod, SetMethod or its own parameter collection.
- * Mono.Cecil/PropertyReference.cs: Add abstract HasParameters property
-
-2008-11-27 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ExternTypeCollection.cs: don't attach types as they
- are already attached to the current module.
-
-2008-11-22 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil/GenericParameter.cs,
- * Mono.Cecil/ICustomAttributeProvider.cs,
- * Mono.Cecil/CallSite.cs,
- * Mono.Cecil/IMethodSignature.cs,
- * Mono.Cecil/FunctionPointerType.cs,
- * Mono.Cecil/FieldDefinition.cs,
- * Mono.Cecil/TypeReference.cs,
- * Mono.Cecil/GenericInstanceMethod.cs,
- * Mono.Cecil/IHasSecurity.cs,
- * Mono.Cecil/MethodReturnType.cs,
- * Mono.Cecil/AssemblyDefinition.cs,
- * Mono.Cecil/TypeDefinition.cs,
- * Mono.Cecil/MethodDefinition.cs,
- * Mono.Cecil/EventDefinition.cs,
- * Mono.Cecil/ModuleDefinition.cs,
- * Mono.Cecil/MethodReference.cs,
- * Mono.Cecil/ReflectionWriter.cs,
- * Mono.Cecil/ParameterDefinition.cs,
- * Mono.Cecil/PropertyDefinition.cs,
- * Mono.Cecil/IGenericParameterProvider.cs:
- Add boolean Has{x} properties so Cecil consumers are able
- to avoid the lazy allocations that would be made for an
- empty {x}. Use the Has{x} properties inside Cecil (some
- cases might be missing).
-
-2008-11-16 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil/TypeDefinition.cs (IsValueType): Inline the call to
- IsEnum and remove the double null check being done.
-
-2008-11-14 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ParameterAttributes.cs: add Retval and Lcid.
- * Mono.Cecil/ParameterDefinition.cs: add Is* property accordingly.
-
-2008-11-12 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Signatures/SignatureReader.cs: properly construct
- TypeReferences when reading them from custom attributes data.
-
-2008-11-11 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionReader.cs (AddTypeRef):
- protect against invalid token.
-
-2008-11-11 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Cil/CodeWriter.cs: fix writing of catch handlers
- of a generic exception type.
-
-2008-11-06 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Metadata/MetadataWriter.cs: properly clean
- the runtime image in case we're unsigning an assembly.
-
-2008-11-01 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Binary/RuntimeImage.cs: add [Flags] attribute.
- Fixes #440574.
-
-2008-10-27 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/AssemblyInfo.cs: bump version.
-
-2008-10-27 Zoltan Varga <vargaz@gmail.com>
-
- * Mono.Cecil/AssemblyStripper.cs: Strip locals info too.
-
-2008-10-17 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionWriter.cs: remove dead code.
- * Mono.Cecil.Cil/ISymbolWriter.cs: simplify Write method.
-
-2008-10-17 Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
-
- * Mono.Cecil.Cil/CodeWriter.cs
- * Mono.Cecil.Cil/MethodBody.cs:
- mcs-cecil-local-var-1.diff patch enabling better handling of local
- variable debugging information applied.
- Patch by Juerg Billeter <j@bitron.ch>
-
-2008-10-17 Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
-
- * Mono.Cecil/ConstructorCollection.cs
- * Mono.Cecil.Binary/ImageReader.cs:
- Compact Framework compilation fixes.
-
-2008-10-14 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/SecurityDeclarationReader.cs: protect against
- wrongly formatted security attributes.
-
-2008-10-12 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil.Cil/SymbolStoreHelper.cs: Change two "static readonly"
- fields into const.
- [Found using Gendarme PreferLiteralOverInitOnlyFieldsRule]
-
-2008-10-11 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil/ConstructorCollection.cs: Fix a NRE if a null parameter
- is provided to one of the GetConstructor overloads.
-
-2008-10-07 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionReader.cs: don't cache generic typespecs,
- as some compiler reuse generic instance signatures with different
- generic contexts.
-
-2008-10-01 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.dll.sources
- * Mono.Cecil.csproj
- * Mono.Cecil/AssemblyStripper.cs
- * Mono.Cecil.Cil/CodeWriter.cs
- * Mono.Cecil.Metadata/MetadataWriter.cs: add a new AssemblyStripper
- class to be used by a tool to empty method bodies for assemblies
- that have been AOTed.
-
-2008-09-29 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/GenericParameter.cs: override TypeReference.Scope.
-
-2008-09-25 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Binary/MemoryBinaryWriter.cs: Make sure QuadAlign
- properly enlarge the memory stream if needed.
- Patch by Regis Vaquette <rvaquette@yahoo.fr>.
-
-2008-09-18 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionReader.cs (GetModifierType): protect against
- zero rids.
-
-2008-09-15 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Signatures/SignatureReader.cs: fix regression
- in reading custom mods.
-
-2008-09-04 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Signatures/SignatureReader.cs: better read modifiers on
- return types and parameters.
-
-2008-09-02 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Metadata/UserStringsHeap.cs: fix reading of some unicode fu.
-
-2008-09-02 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/MethodAttributes.cs: add CheckAccessOnOverride.
- * Mono.Cecil/MethodDefinition.cs: add IsCheckAccessOnOverride.
-
-2008-09-02 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/GenericParameter.cs: fix Has*Constraint properties.
-
-2008-09-02 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/SecurityDeclarationReader.cs: fix reading
- multiple permissions. Patch by Carsten Keutmann.
-
-2008-09-01 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionReader.cs: properly compose mod and byref types
- for parameters and return types.
- Based on a patch by Carlo Kok <ck@remobjects.com>
-
-2008-09-01 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Signatures/SignatureReader.cs: Avoid a crash
- when looking for an enumeration definition when the assembly
- could not be resolved. Patch by Carlo Kok <ck@remobjects.com>
-
-2008-09-01 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionWriter.cs: fix for writing null string
- constants. Patch by Ewout Prangsma <ewout@tallapplications.com>.
-
-2008-06-28 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil.dll.sources
- * Mono.Xml/MiniParser.cs:
- Remove MiniParser as it is no more required (replaced by
- SmallXmlParser) and save a few KB in the binary size
-
- * Mono.Xml/SecurityParser.cs
- * Mono.Xml/SmallXmlParser.cs:
- Seal non-visible classes.
- [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
-
- * Mono.Cecil.Signatures/GenericArg.cs:
- Seal non-visible classes.
- [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
-
- * Mono.Cecil.Binary/CopyImageVisitor.cs
- * Mono.Cecil.Binary/ImageInitializer.cs
- * Mono.Cecil.Binary/ImageReader.cs
- * Mono.Cecil.Binary/ImageWriter.cs
- * Mono.Cecil.Binary/ResourceReader.cs
- * Mono.Cecil.Binary/ResourceWriter.cs:
- Seal non-visible classes.
- [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
-
- * Mono.Cecil.Metadata/CultureUtils.cs
- * Mono.Cecil.Metadata/MetadataInitializer.cs
- * Mono.Cecil.Metadata/MetadataReader.cs
- * Mono.Cecil.Metadata/MetadataRowReader.cs
- * Mono.Cecil.Metadata/MetadataRowWriter.cs
- * Mono.Cecil.Metadata/MetadataTableReader.cs
- * Mono.Cecil.Metadata/Utilities.cs:
- Seal non-visible classes.
- [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
-
- * Mono.Cecil.Cil/CodeReader.cs
- * Mono.Cecil.Cil/OpCodeNames.cs
- * Mono.Cecil.Cil/CodeWriter.cs
- * Mono.Cecil.Cil/SymbolStoreHelper.cs:
- Seal non-visible classes.
- [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
-
- * Mono.Cecil/SecurityDeclarationReader.cs
- * Mono.Cecil/NullReferenceImporter.cs
- * Mono.Cecil/TableComparers.cs:
- Seal non-visible classes.
- [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
-
- * Mono.Cecil/AssemblyNameReference.cs:
- Use String.Length > 0 instead of comparing to String.Empty
- [Found using Gendarme CompareWithEmptyStringEfficientlyRule]
-
- * Mono.Cecil.Metadata/MetadataToken.cs:
- Add a private Equals(MetadataToken) method. This allows the
- existing operators (== and !=) to avoid boxing, since they
- will prefer it to the Equals(object) method.
- [Found using Gendarme ImplementEqualsTypeRule]
-
- * Mono.Cecil.Cil/GuidAttribute.cs:
- Seal attribute class
- [Found using Gendarme AvoidUnsealedConcreteAttributesRule]
-
- * Mono.Cecil.Signatures/SignatureWriter.cs:
- Fix typo.
- [Found using Gendarme AvoidUnneededUnboxingRule]
-
-2008-06-06 Jb Evain <jbevain@novell.com>
-
- * CodeGen/cecil.xml: constrained. is of type InlineType.
- * Mono.Cecil.Cil/OpCodes.cs: re-generate.
-
-2008-05-14 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionWriter.cs:
- Only create the GenericParameterConstraint table if needed.
- Patch by Richard Flamsholt <richard.flamsholt@gmail.com>.
-
- * Mono.Cecil.Cil/MethodBody.cs:
- Fix typo in switch cloning. Patch by
- Rune Glerup <rune.glerup@gmail.com>.
-
-2008-05-06 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Signatures/CustomMod.cs:
- Introduce a EmptyCustomMod static field.
- * Mono.Cecil/ReflectionWriter.cs
- * Mono.Cecil.Signatures/SignatureReader.cs:
- Use EmptyCustomMod instead of instanciating
- empty arrays of CustomMod.
- Based on a patch by Carlo Kok <ck@remobjects.com>.
-
- * Mono.Cecil.Metadata/MetadataRowReader.cs
- * Mono.Cecil.Metadata/MetadataRowWriter.cs:
- Cache row counters delegates.
- Based on a patch by Carlo Kok <ck@remobjects.com>.
-
- * Mono.Cecil/TypeDefinition.cs
- * Mono.Cecil/MethodDefinition.cs
- * Mono.Cecil/DefaultImporter.cs
- * Mono.Cecil/ReflectionHelper.cs:
- Restore the generic context values instead of blindly
- overriding them. Based on a patch by Dzintars Avots.
-
- * Mono.Cecil/MarshalSpec.cs (CloneInto): add new method
- to clone MarshalSpec into a new container.
-
- * Mono.Cecil/ParameterDefinition.cs (Clone):
- * Mono.Cecil/FieldDefinition.cs (Clone):
- Use the new MarshalSpec.CloneInto method.
- Based on a patch by Dzintars Avots <davots@coverity.com>.
-
- * Mono.Cecil/MethodDefinition.cs (Clone): fix cloning of
- return types when they don't have a parameter.
- Patch by Dzintars Avots <davots@coverity.com>.
-
- * Mono.Cecil.Cil/CodeWriter.cs (ComputeMaxStack): compute max
- stack more precisely. Based on a patch by Daniel Grunwald,
- Contains code from Cecil.FlowAnalysis.
-
- * Mono.Cecil.Cil/MethodBody.cs (Clone): make sure the
- instruction linked list is properly constructed.
-
-2008-04-19 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil.Cil/CodeReader.cs:
- * Mono.Cecil.Cil/ISymbolReader.cs:
- Move reading of debugging symbols where it's possible to
- reuse the existing Hashtable (offset, Instruction) in
- the debugging libraries. Change interface to allow
- passing the Hashtable.
-
-2008-04-15 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil.csproj
- * Mono.Cecil.dll.sources:
- Add Mono.Cecil.Cil/OpCodeNames.cs to the build.
-
- * Mono.Cecil.Cil/OpCodeNames.cs
- * Mono.Cecil.Cil/OpCode.cs
- * Mono.Cecil.Cil/OpCodes.cs:
- Reduce the OpCode struct size to 8 bytes (instead of 36).
- Based on the SRE.OpCode code found in corlib.
-
-2008-04-13 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil/AssemblyDefinition.cs:
- Short circut loop when module is found.
-
-2008-04-08 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/SecurityDeclaration.cs
- Mono.Cecil/SecurityDeclarationReader.cs:
- Implement resolving of SecurityDeclarations.
-
-2008-03-31 Jb Evain <jbevain@novell.com>
-
- Integrate patches from Dzintars Avots <davots@coverity.com>
-
- * Mono.Cecil/GenericParameter.cs
- Mono.Cecil/TypeDefinition.cs
- Mono.Cecil/DefaultImporter.cs
- Mono.Cecil/MethodDefinition.cs:
- Fix generic parameter cloning to avoid issues when
- the constraint reference the parameter itself.
-
- * Mono.Cecil/MethodBody.cs (Clone): deals with switches.
-
- * Mono.Cecil/MethodBody.cs (Clone): clone the name of
- the local variables.
-
-2008-03-30 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil/ReflectionReader.cs:
- Avoid creating a BinaryReader+MemoryStream on LE archs for
- GetConstant. Saves about 400KB for Gendarme.
- Avoid a BinaryReader creation in GetConstant which saves
- about 50KB for Gendarme.
- * Mono.Cecil.Metadata/GuidHeap.cs:
- Compute ideal capacity for Hashtable. Avoid memory allocation
- if a single GUID is present (which is the case for all of
- Mono 2.0 assemblies). Saves a whole 2KB for Gendarme ;-)
- * Mono.Cecil.Binary/Image.cs:
- Add internal GetSectionAtVirtualAddress to avoid creating
- BinaryReader in some cases.
- * Mono.Cecil.Binary/ResourceReader.cs:
- Avoid a BinaryReader creation in SetInitialValue which saves
- about 3000KB for Gendarme.
-
-2008-03-08 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Binary/CopyImageVisitor.cs:
- Copy the cliheaders flags over the new assembly.
- Patch by Oleksiy Gapotchenko <alex.s.gap@gmail.com>
-
-2008-03-08 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil.Cil/CodeReader.cs:
- Use one and only Hashtable for caching instructions offsets.
- Save tons of precious memory.
-
-2008-03-08 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil.Cil/OpCode.cs
- * Mono.Cecil.Binary/RVA.cs
- * Mono.Cecil.Binary/DataDirectory.cs:
- Avoid boxing/unboxing when == or != operators are used.
- Results in significant memory savings for Gendarme.
-
-2008-03-08 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionReader.cs:
- Protect from malformed RIDs.
- * Mono.Cecil/AggressiveReflectionReader.cs:
- Create the m_events and m_properties tables
- even if they contains 0 elements.
-
-2008-02-26 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Binary/ImageReader.cs:
- Avoid throwing non desired exceptions.
-
-2008-02-25 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionReader.cs:
- Avoid throwing in case a constant
- is of type object.
-
-2008-02-19 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/DefaultImporter.cs:
- Add support for importing function pointers. Based on a
- patch by Andrea Carlo Ornstein <andrea.ornstein@st.com>.
-
- * Mono.Cecil/ModuleDefinition.cs:
- Add a Inject(FieldDef) overload for symmetry.
- Patch by Andrea Carlo Ornstein <andrea.ornstein@st.com>.
-
-2008-02-16 Jb Evain <jbevain@novell.com>
-
- * CodeGen/templates/MetadataRowReader.cs
- CodeGen/templates/Utilities.cs
- CodeGen/templates/MetadataRowWriter.cs
- Mono.Cecil.Metadata/MetadataRowReader.cs
- Mono.Cecil.Metadata/MetadataRowWriter.cs
- Mono.Cecil.Metadata/Utilities.cs:
- Use a good old traditional array instead of an
- Hashtable. Based on a patch by Carlo Kok <ck@remobjects.com>.
-
-2008-02-07 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/BaseAssemblyResolver.cs:
- deal with 2.1 corlib on Mono.
-
-2008-02-07 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/MethodDefinition.cs:
- add last Is method for semantics property.
-
-2008-02-05 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/TypeDefinition.cs:
- System.Enum by itself is not a value type.
- Fix #351879.
-
- * Mono.Cecil.Signatures/SignatureReader.cs:
- Properly read fnptr local variables. Fix #358507.
-
- * Mono.Cecil.Binary/DefaultImporter.cs:
- Import modifiers and sentinels, patch from:
- Andrea Carlo Ornstein <andrea.ornstein@st.com>
-
-2008-02-04 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Binary/CLIHeader.cs
- Mono.Cecil.Binary/ImageWriter.cs
- Mono.Cecil.Metadata/MetadataWriter.cs:
- emit the proper cli header version for 1.1 and 2.0 cases.
-
- * Mono.Cecil.Cil/CilWorker.cs: add callsite overloads.
-
-2008-01-10 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionHelper.cs: deal with complex arrays.
-
-2008-01-07 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Cil/CilWorker.cs:
- Allow ldarg.s/ldloc.s/stloc.s to take a byte
- instead of the actual parameter or variable. Fix #350606.
-
-2008-01-07 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ArrayType.cs:
- Add a constructor with the array rank. Fix #351924.
- Based on a patch by Rolf Kvinge <rkvinge@novell.com>.
-
-2008-01-04 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Cil/CilWorker.cs:
- Allow ldarg/ldloc/stloc to take a integer
- instead of the actual parameter or variable. Fix #350606.
-
-2008-01-04 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/DefaultImporter.cs:
- Mono.Cecil/ReflectionHelper.cs:
- Properly import nested types. Fix #351133.
-
-2008-01-03 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionWriter.cs:
- Properly emit null type constants. Fix #351141.
- Patch by Rolf Kvinge <rkvinge@novell.com>.
-
-2007-12-30 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Cil/CilWorker.cs:
- Check for null arguments. Fix #350857.
-
-2007-12-21 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/AggressiveReflectionReader.cs
- Mono.Cecil.Signatures/SignatureReader.cs:
- Don't crash on force resolve for nested arrays
- in custom attributes.
-
-2007-12-17 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/IMemberDefinition.cs: make IMemberDefinition
- implement ICustomAttributeProvider.
-
-2007-12-15 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Binary/AggressiveReflectionReader.cs: protect
- against zeroed tokens.
-
-2007-12-15 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Binary/ImageReader.cs: fix crash when reading
- some non .net binaries.
-
-2007-11-22 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil/SecurityDeclarationReader.cs: Change default read
- value to true. Fix reading 2.0 security declaration format used by
- MS compilers (#343553).
-
-2007-11-15 Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
-
- * Mono.Cecil.Cil/MethodBody.cs:
- Fixed Optimize for ldc_i4
-
-2007-11-15 Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
-
- * Mono.Cecil.Cil/DocumentLanguage.cs
- Mono.Cecil.Cil/DocumentLanguageVendor.cs:
- Compact Framework support by using Guid(string) if CF_2_0 is defined
-
-2007-11-01 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/MethodReturnType.cs: based on a patch by
- Ivan <ivanjh@gmail.com>. Fix for cloning methods with
- marshalers on return type.
-
-2007-10-31 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Binary/ImageReader.cs: fix for the case where
- the export table export zero functions.
-
-2007-10-18 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Cil/MethodBody.cs: Add an Optimize method which
- is the opposite of Simplify. Based on a patch by Carlo.
-
- * Mono.Cecil.Cil/CodeWriter.cs: don't care about reducing MaxStack.
-
-2007-10-11 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/TypeReference.cs: add a IsNested helper property.
-
- * Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- Integrate patch for Carlo, start working on enum writing
- in custom attribute.
-
-2007-10-09 Nestor Salceda <nestor.salceda@gmail.com>
-
- * mono-cecil.pc.in: Updated the version number.
-
-2007-10-09 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Cil/Instruction.cs
- Mono.Cecil.Cil/CodeWriter.cs:
- Move CodeWriter.GetSize (Instruction) to Instruction.
-
- Integration of patches from Carlo Kok <ck@remobjects.com>:
-
- * Mono.Cecil.Cil/Document.cs
- Mono.Cecil.Cil/DocumentType.cs
- Mono.Cecil.Cil/DocumentLanguage.cs
- Mono.Cecil.Cil/DocumentLanguageVendor.cs:
- Use plain guids for Document properties so it's easy
- for third party document providers to use their own.
-
- * Mono.Cecil/ParameterDefinition.cs:
- Clean or set the HasFieldMarshal flag when setting
- MarshalSpecs on parameters.
-
- * Mono.Cecil/AssemblyNameReference.cs:
- Protect against null culture.
-
- * Mono.Cecil/FieldDefinition.cs:
- Clean or set the HasFieldMarshal flag when setting
- MarshalSpecs on fields.
-
- * Mono.Cecil/GenericInstanceType.cs:
- Properly initialize the IsValueType from the element type.
-
-2007-10-09 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionWriter.cs: check for duplicates
- in the MemberRef row.
-
-2007-10-08 Sebastien Pouliot <sebastien@ximian.com>
-
- * standalone.make: Revert changes so standalone Cecil (in SVN) can
- be built using this Makefile (required for Gendarme);
- * README: Update build and bug instructions.
-
-2007-10-07 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/BaseAssemblyResolver.cs: first lookup assemblies
- in the specified directories before trying the framework dir.
-
-2007-10-06 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Cil/OpCode.cs: make that a struct again, it
- make the 2.1 profile explode. Will investigate why.
-
-2007-10-06 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/MethodCallingConvention.cs: Not a [Flag]
-
-2007-10-05 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Cil/OpCode.cs: Change OpCode from struct to class
- to avoid copying everything everytime.
-
-2007-09-28 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/SecurityDeclarationReader.cs:
- Adapt patch from Carlo Kok <ck@remobjects.com>.
- Properly read unicode string constants.
-
- * Mono.Cecil/SecurityDeclarationReader.cs:
- Adapt patch from Carlo Kok <ck@remobjects.com>.
- For some MS assemblies, the security declaration contains
- one zero byte.
-
-2007-09-24 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ModuleDefinition.cs: after a FullLoad, the symbol
- reader is not needed anymore.
-
-2007-09-18 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Cil/MethodBody.cs:
- Adapt a patch from Ivan <ivanjh@gmail.com>.
- Fix cloning of the This parameter.
-
-2007-09-12 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionReader.cs
- Mono.Cecil.Signatures/SignatureReader.cs
- Mono.Cecil.Signatures/TypeSpec.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- Deal with custom mods on typespecs.
-
-2007-09-12 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Binary/ImageReader.cs: some 64bits assemblies
- have a strange header without import tables.
-
-2007-09-09 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/GenericContext.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/DefaultImporter.cs:
- Better handling of generic instances of references, where
- the number of generic parameters is not known.
-
-2007-09-06 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/MethodDefinition: add Is** methods for MethodImplAttributes.
-
-2007-09-04 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionWriter.cs:
- Adapt a patch by Ewout Prangsma <ewout@tallapplications.com>.
- Cache the typespec tokens instead of the typespec themselves
- because GenericParameters are somethimes considered as typespecs.
-
-2007-08-28 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Cil/CodeWriter.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil.Cil/SymbolStoreHelper.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- Generate proper variables signatures for symbols
- stores.
-
-2007-08-19 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Cil/CodeReader.cs:
- Deal with generic exceptions.
-
-2007-08-15 Jb Evain <jbevain@novell.com>
-
- * CodeGen/cecil.xml,
- Mono.Cecil.Cil/OpCodes.cs:
- Fix bug spotted by Jesse Jones, ldelem.any has a
- stack behavior pop of popref, popi.
-
-2007-08-15 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/TypeReference.cs
- Mono.Cecil/TypeSpecification.cs:
- TypeSpecification.Module return the module of the elemen
- type now.
-
-2007-08-13 Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
-
- * default.build
- Mono.Cecil/AssemblyInfo.cs:
- Ability to pass custom defines to the c# compiler through
- the csc.defines property. KEYFILE can be used to force
- an AssemblyKeyFile attribute on AssemblyInfo.cs so strongly
- signed versions of Mono.Cecil can be produced on .net 1.1,
- cf 1.0 and cf 2.0.
-
-2007-08-13 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Cil/CilWorker.cs:
- Fix InsertBefore.
-
-2007-08-06 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Cil/CilWorker.cs:
- Fix the linked list after an InsertBefore, InsertAfter.
-
-2007-08-02 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/GenericParameter.cs
- Mono.Cecil/FieldDefinition.cs
- Mono.Cecil/TypeDefinition.cs
- Mono.Cecil/MethodDefinition.cs
- Mono.Cecil/EventDefinition.cs
- Mono.Cecil/PInvokeInfo.cs
- Mono.Cecil/Resource.cs
- Mono.Cecil/ParameterDefinition.cs
- Mono.Cecil/PropertyDefinition.cs:
-
- Add Isxxx properties based on the xxxAttributes enums.
-
-2007-07-23 Raja R Harinath <rharinath@novell.com>
-
- Fix 'make warnings'.
- * Makefile (LIBRARY_PACKAGE): Set to none.
- (install-local): Remove.
-
-2007-07-21 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/TypeReference.cs
- Mono.Cecil/TypeSpecification.cs:
- Add a new GetOriginalType () method.
-
- * Mono.Cecil/MethodReference.cs
- Mono.Cecil/MethodSpecification.cs:
- Add a new GetOriginalMethod () method.
-
-2007-07-19 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/AssemblyFactory.cs
- Mono.Cecil.Binary/Image.cs:
- Update the fileinfo after writing an assembly
- to a file.
-
-2007-07-19 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionReader.cs
- Mono.Cecil.Cil/CodeReader.cs
- Mono.Cecil.Signature/SignatureReader.cs:
- Better handling of the sentil in the varargs methods.
-
- * Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/SentinelType.cs
- Mono.Cecil.Cil/CodeWriter.cs:
- Mono.Cecil.Signatures/SignatureReader.cs:
- Fix handling of varargs methods.
-
-2007-07-18 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Cil/CodeReader.cs
- Mono.Cecil.Cil/CodeWriter.cs:
- Deal with non-sense instructions that some
- obfuscators emit.
-
- * Mono.Cecil/AggressiveReflectionReader.cs:
- Deal with out of range properties.
- * Mono.Cecil.Metadata/StringsHeap.cs:
- Deal with out of range string indexes.
-
-2007-07-17 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/AggressiveReflectionReader.cs:
- Add some gards against zeroed tokens.
-
- * Mono.Cecil.Metadata/Utilities.cs:
- Return zero instead of throwing on invalid tags.
- Allow Cecil to read assemblies partially broken
- by some obfuscators.
-
-2007-07-14 Gert Driesen <drieseng@users.sourceforge.net>
-
- * default.build: Fix relative path to key. Avoid use of ugly foreach
- contruct. Spaces to tabs.
- * Mono.Cecil.csproj: Fix relative path to key.
- * standalone.make: Fix relative path to key and config.make.
-
-2007-07-03 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/BaseAssemblyResolver.cs:
- Expose a way to add default directories
- where the assemblies are first looked for.
-
-2007-06-20 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/IReferenceImporter.cs => IImporter.cs
- Mono.Cecil/DefaultReferenceImporter.cs => DefaultImporter.cs
-
- * Mono.Cecil/ReflectionHelper.cs
- Mono.Cecil/DefaultReferenceImporter.cs
- Mono.Cecil/ModuleDefinition.cs:
- Move Cecil types import logic into
- the DefaultReferenceImporter.
-
- Needed by the merger and the extractor.
-
-2007-06-19 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil.Cil/MethodBody.cs:
- Avoid invalid cast by properly simplifying
- instructions.
-
- * Mono.Cecil.Cil/OpCodes.cs:
- CodeGen/cecil.xml:
- leave.s is a macro instruction.
-
- * Mono.Cecil/TypeDefinition.cs
- Mono.Cecil/ParameterDefinition.cs:
- Fix cloning.
-
-2007-06-18 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ReflectionReader.cs:
- Fix custom mods for fields ref.
-
-2007-06-13 Jb Evain <jbevain@novell.com>
-
- Integrated patches by:
- Paul Apostolescu <papostolescu@fortifysoftware.com>
-
- * patch3:
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- In named args, objects are encoded as boxed.
-
- * patch1:
- Mono.Cecil/IMemberDefinition.cs
- Mono.Cecil/Constants.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/AggressiveReflectionReader.cs:
- Do not take into account special _Deleted
- members.
-
- * patch6:
- Mono.Cecil/StructureReader.cs:
- Read the flags of the references as well.
-
- * patch5:
- Mono.Cecil.Metadata/UserStringsHeap.cs:
- Don't bother getting a string from the bytes
- if the length is < 2 (0, or 0 + an encoding flag)
-
- * patch4:
- Mono.Cecil/ReflectionHelper.cs:
- Update the value type flags of types
- when they are imported if the type
- reference was first seen as a type reference.
-
- * patch2:
- Mono.Cecil.Signature/SignatureWriter.cs:
- Patch to handle nullref values for types in
- custom attributes arguments.
-
-2007-06-13 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/StructureWriter.cs,
- Mono.Cecil/ReflectionWriter.cs:
- Revert the on demand creation of memberref.
-
-2007-06-12 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/CallSite.cs
- Mono.Cecil/ModuleReference.cs
- Mono.Cecil/CustomAttribute.cs
- Mono.Cecil/AssemblyDefinition.cs
- Mono.Cecil/SecurityDeclaration.cs
- Mono.Cecil/AssemblyNameReference.cs
- Mono.Cecil/MemberReference.cs
- Mono.Cecil/Resource.cs
- Mono.Cecil/ParameterReference.cs:
- Implement explicitely IAnnotationProvider.
-
-2007-06-05 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/AssemblyNameReference.cs:
- Cache the fullname when possible.
-
-2007-05-31 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/ModuleDefinition.cs:
- Add types to the module and members to the context
- on inject.
-
- * Mono.Cecil/BaseAssemblyResolver.cs:
- Improve resolve, works for people requiring
- .net 1.0 assemblies when they only have 1.1.
-
-2007-05-30 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/DefaultAssemblyResolver.cs:
- Add a RegisterAssembly method to register an
- assembly to the cache without having to resolve it.
-
- * Mono.Cecil/DefaultReferenceImporter.cs:
- Make methods virtual.
-
- * Mono.Cecil.dll.sources
- Mono.Cecil.csproj
- Mono.Cecil/ReflectionHelper.cs
- Mono.Cecil/IReferenceImporter.cs
- Mono.Cecil/FieldDefinition.cs
- Mono.Cecil/CustomAttribute.cs
- Mono.Cecil/ImportContext.cs
- Mono.Cecil/NullReferenceImporter.cs
- Mono.Cecil/MethodDefinition.cs
- Mono.Cecil/EventDefinition.cs
- Mono.Cecil/ReflectionController.cs
- Mono.Cecil/ModuleDefinition.cs
- Mono.Cecil/GenericContext.cs
- Mono.Cecil/DefaultReferenceImporter.cs
- Mono.Cecil/PropertyDefinition.cs:
- Provide a IReferenceImporter to customize how
- types are injected from an assembly to another.
-
-2007-05-28 Jb Evain <jbevain@novell.com>
-
- * Borrow annotations concept from boo ast node.
- Should be useful for the linker.
-
-2007-05-23 Jb Evain <jbevain@novell.com>
-
- * Mono.Cecil/StructureWriter.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil.Cil/CodeWriter.cs:
- Emit MemberReferences rows on demand.
-
-2007-05-16 Jb Evain <jb@nurv.fr>
-
- * Mono.Cecil.Binary/ImageReader.cs:
- Fix reading of the debug header for
- headers half way emitted by .net SRE.
-
- * Mono.Cecil/BaseAssemblyResolver:
- try to resolve unversionned assemblies.
-
-2007-05-09 Jb Evain <jb@nurv.fr>
-
- * Mono.Cecil.Binary/Image.cs:
- Throw when rva cannot be resolved.
-
- * Mono.Cecil.csproj
- Mono.Cecil.Binary/ExportTable.cs
- Mono.Cecil.Binary/BaseImageVisitor.cs
- Mono.Cecil.Binary/ImageReader.cs
- Mono.Cecil.Binary/IBinaryVisitor.cs
- Mono.Cecil.Binary/Image.cs
- Mono.Cecil.Binary/ImageInitializer.cs
- Mono.Cecil/StructureReader.cs
- Mono.Cecil/ReflectionWriter.cs:
- When present, read the export table, so that people
- reading non managed assemblies can use the Mono.Cecil.Binary
- stuff.
-
- Fix the bug when section name is 8 char long.
-
- Based on a patch by Pavel Savara <pavel.savara@gmail.com>.
-
-2007-04-27 Jb Evain <jb@nurv.fr>
-
- * Mono.Cecil/AssemblyNameReference.cs:
- Allow the computation of pktoken on CF_2_0.
-
-2007-04-25 Jb Evain <jb@nurv.fr>
-
- * Mono.Cecil/ModuleDefinition.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil.Cil/ISymbolWriter.cs
- Mono.Cecil.Signatures/SignatureWriter.cs
- Start working on local var debug infos emitting.
-
-2007-04-08 Jb Evain <jb@nurv.fr>
-
- * Mono.Cecil/ParameterAttributes.cs:
- ParameterAttributes.None
-
-2007-03-30 Jb Evain <jb@nurv.fr>
-
- * Collections:
- Remove uneeded tests as an optimizations.
- Based on a suggestion by Carlo Kok <ck@remobjects.com>.
-
- * Mono.Cecil.Metadata/StringsHeap.cs:
- Optimize GetStringAt, patch by:
- Carlo Kok <ck@remobjects.com>
-
-2007-03-22 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/AssemblyInfo.cs:
- Bump to 0.5.0.0 for the sake of our packagers friends.
- Re-Bump to 0.5.0.1.
-
- * Mono.Cecil/StructureWriter.cs:
- Throw a NotSupportedException instead of a NIE
- for mixed mode assemblies.
-
-2007-03-20 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Metadata/MetadataWriter.cs:
- Correct epilog for unicode user strings heap.
-
-2007-03-16 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Cil/CodeReader.cs
- Mono.Cecil.Cil/MethodBody.cs:
- Add a MethodBody.Simplify method to expand
- macros.
-
- * Mono.Cecil.dll.sources
- Mono.Cecil.csproj
- Mono.Cecil.Cil/OpCode.cs
- Mono.Cecil.Cil/OpCodes.cs
- Mono.Cecil.Cil/Code.cs
- CodeGen/cecil-gen.rb
- CodeGen/templates/OpCodes.cs
- CodeGen/templates/Code.cs:
- Add a Code enumeration to simplify working with
- OpCodes.
-
-2007-03-12 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Metadata/UserStringsHeap.cs:
- Avoid trailing blank on some systems.
-
-2007-02-22 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionWriter.cs:
- Deal with sentinels on simple methodrefs.
-
-2007-02-22 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.dll.sources
- Mono.Cecil.csproj
- CodeGen/cecil.xml
- Mono.Cecil.Metadata/ParamPtr.cs
- Mono.Cecil.Metadata/MethodSpec.cs
- Mono.Cecil.Metadata/BaseMetadataVisitor.cs
- Mono.Cecil.Metadata/EventPtr.cs
- Mono.Cecil.Metadata/MetadataTableReader.cs
- Mono.Cecil.Metadata/MetadataTableWriter.cs
- Mono.Cecil.Metadata/MetadataRowReader.cs
- Mono.Cecil.Metadata/MetadataRowWriter.cs
- Mono.Cecil.Metadata/PropertyPtr.cs
- Mono.Cecil.Metadata/FieldPtr.cs
- Mono.Cecil.Metadata/MethodPtr.cs
- Mono.Cecil.Metadata/IMetadataVisitor.cs:
- Add *Ptr table definitions.
-
- * Mono.Cecil.dll.sources
- Mono.Cecil.csproj
- Mono.Cecil/CallSite.cs
- Mono.Cecil/IMethodSignature.cs
- Mono.Cecil/SentinelType.cs
- Mono.Cecil/FunctionPointerType.cs
- Mono.Cecil/MethodReference.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil.Cil/CodeReader.cs
- Mono.Cecil.Cil/CodeWriter.cs:
- Implement support for writing function pointers.
- Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>
-
- * Mono.Cecil/Constants.cs:
- Make it public due to some demands.
-
-2007-02-21 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Signatures/SignatureReader.cs:
- do not read enums if the resolution is not forced until
- cecil knows how to write them.
-
- * Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil.Signatures/SzArray.cs
- Mono.Cecil.Signatures/Array.cs
- Mono.Cecil.Signatures/SignatureReader.cs
- Mono.Cecil.Signatures/TypeSpec.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- handle custom mods on arrays signatures.
-
- * Mono.Cecil/ReflectionReader.cs:
- Handle fields TypeSpecs that have an initial value.
- Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>
-
-2007-01-29 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Metadata/MetadataWriter.cs:
- Save a byte ! Yeah !
-
-2006-12-18 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionReader.cs:
- Fix a bug in reading MemberRef pointing to MethodDef.
-
-2006-12-16 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/StructureReader.cs:
- Prevent a NRE if we're reading a multi module
- assembly through a stream if a module is not find.
- Fix #80273.
-
-2006-12-07 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionWriter.cs:
- Allow an AssemblyDefinition to be written
- more than once.
-
-2006-12-05 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionWriter.cs:
- Deal with nullref default parameters.
-
-2006-12-03 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionWriter.cs:
- Handle constant where the parameter is object
- and the signature is something else.
-
-2006-11-27 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/TypeDefinitionCollection.cs
- CodeGen/templates/NamedCollection.cs:
- Allow multiple typedefs with the same namespace+name
- to be able to read unvalid assemblies.
-
- * Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil.Signatures/PropertySig.cs
- Mono.Cecil.Signatures/SignatureReader.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- - Deal with modifiers on properties.
- - Deal with non standard signatures when the byref
- flag is placed after the custom modifiers.
- Mono.Cecil/StructureReader.cs:
- - Properly detect wether an assembli is a dll or not.
-
- Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>.
-
-2006-11-25 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil.Signatures/GenericArg.cs
- Mono.Cecil.Signatures/GenericInstSignature.cs
- Mono.Cecil.Signatures/SignatureReader.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- Deal with modifiers for generic arguments.
- Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>.
-
- * Mono.Cecil.Binary/ImageWriter.cs:
- Fix a bug in writing rsrc sections.
-
- * Mono.Cecil.Cil/CodeReader.cs:
- Do some refactoring.
-
- * Mono.Cecil.Metadata/MetadataToken.cs:
- Add a ctor to get a MetadataToken
- from an integer token.
-
-2006-11-22 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Cil/GuidAttribute.cs:
- Fix for CF compilation.
-
-2006-11-16 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/StructureReader.cs:
- If an assembly has no managed assembly defined,
- consider it as a dll.
-
-2006-11-08 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/BaseAssemblyResolver.cs:
- Handles different kind of GAC on Windows.
-
-2006-11-07 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionHelper.cs:
- Don't import the flags of an assembly name reference.
-
-2006-11-03 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/PropertyDefinition.cs:
- Fix property cloning.
- Patch by Alex Prudkiy <prudkiy@mail.ru>
-
-2006-10-26 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionReader.cs:
- Use the proper generic context when reading memberrefs.
-
-2006-10-11 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Cil/Document.cs:
- Complete a little bit.
-
- * Mono.Cecil/SecurityDeclarationReader.cs:
- Get rid of a lot of exceptions when creating the security
- attribute.
-
-2006-10-10 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionReader.cs:
- Mono.Cecil/CustomAttribute.cs:
- Mono.Cecil.Signatures/SignatureReader.cs:
- Mono.Cecil/SecurityDeclarationReader.cs:
- Patch from: Eyal Alaluf <eyala@mainsoft.com>.
- Add support for resolving custom attributes that contain references
- to enum in other assemblies.
-
-2006-10-09 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/IRequireResolving.cs
- Mono.Cecil/CustomAttribute.cs
- Mono.Cecil/SecurityDeclaration.cs
- Mono.Cecil/SecurityDeclarationReader.cs
- Mono.Cecil/AggressiveReflectionReader.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil/ModuleDefinition.cs:
- Introduce the interface IRequireResolving implemented
- by CustomAttribute and SecurityDeclaration for when they can't
- be read without loading another assembly.
-
- * Mono.Cecil/SecurityDeclarationReader.cs:
- Prevent Cecil to crash when it can not get the type
- of the declaration.
-
-2006-10-04 Eyal Alaluf <eyala@mainsoft.com>
-
- * Mono.Cecil/StructureReader.cs:
- Visit the module we load when a DLL has more then 1 module.
- Mono.Cecil/AssemblyNameReference.cs:
- Allow "PublicToken=null" when parsing an assembly full name.
-
-2006-10-03 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/BaseAssemblyResolver.cs
- Mono.Cecil.Binary/ResourceReader.cs:
- CompactFramework fix.
-
-2006-10-02 Jb Evain <jbevain@gmail.com>
-
- * implement IList on the named collections.
-
- * implement the first bits of Win32 resources handling.
-
- * Mono.Cecil/ReflectionHelper.cs:
- It does not make sense to import the assembly flags.
-
-2006-09-28 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/MethodDefinitionCollection.cs
- Mono.Cecil/ConstructorCollection.cs
- Mono.Cecil.Cil/InstructionCollection.cs
- CodeGen/templates/IndexedCollection.cs
- Fix StackOverlow.
-
-2006-09-27 Jb Evain <jbevain@gmail.com>
-
- * *Collection.cs: use CollectionBase when possible.
-
-2006-09-24 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/AssemblyFactory.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil.Cil/ISymbolStoreFactory.cs
- Mono.Cecil.Cil/SymbolStoreHelper.cs:
- Some more work on the debugging infos api.
-
- * Mono.Cecil/MethodDefinitionCollection.cs
- Mono.Cecil/ConstructorCollection.cs
- CodeGen/templates/IndexedCollection.cs:
- Fix the GetConstructor/GetMethod methods.
- Based on a patch by Jon Chambers.
-
-2006-09-20 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/StructureWriter.cs
- Mono.Cecil/ModuleDefinition.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil/AssemblyFactory.cs
- Mono.Cecil.Cil/ISymbolReader.cs
- Mono.Cecil.Cil/CodeWriter.cs
- Mono.Cecil.Cil/ISymbolWriter.cs
- Mono.Cecil.Cil/SymbolStoreHelper.cs:
- Working on the debug infos stuff.
-
- * Mono.Cecil.Signatures/SignatureReader.cs:
- Ensure custom attributes are read when they can be.
- Patch by Sebastien Pouliot.
-
-2006-09-19 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ModuleDefinition.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil.Cil/Document.cs
- Mono.Cecil.Cil/Instruction.cs
- Mono.Cecil.Cil/SequencePoint.cs
- Mono.Cecil.Cil/CodeReader.cs
- Mono.Cecil.Cil/IScopeProvider.cs
- Mono.Cecil.Cil/ISymbolReader.cs
- Mono.Cecil.Cil/CodeWriter.cs
- Mono.Cecil.Cil/ISymbolWriter.cs
- Mono.Cecil.Cil/IVariableDefinitionProvider.cs
- Mono.Cecil.Cil/SymbolStoreHelper.cs
- Mono.Cecil.Cil/ISymbolStoreFactory.cs
- Mono.Cecil.Cil/ScopeCollection.cs
- Mono.Cecil.Cil/Scope.cs:
- Work on the architecture for debugging infos.
-
- * Mono.Cecil.dll.sources
- Mono.Cecil.Cil/Document.cs
- Mono.Cecil.Cil/IVariableDefinitionProvider.cs
- Mono.Cecil.Cil/SequencePoint.cs
- Mono.Cecil.Cil/ScopeCollection.cs
- Mono.Cecil.Cil/BaseCodeVisitor.cs
- Mono.Cecil.Cil/CodeReader.cs
- Mono.Cecil.Cil/IScopeProvider.cs
- Mono.Cecil.Cil/MethodBody.cs
- Mono.Cecil.Cil/ICodeVisitor.cs
- Mono.Cecil.Cil/CodeWriter.cs
- Mono.Cecil.Cil/Scope.cs
- Mono.Cecil.Cil/VariableDefinitionCollection.cs
- CodeGen/cecil.xml:
- First bits of the debug infos stuff.
-
- * Mono.Cecil.Cil/InstructionCollection.cs
- CodeGen/templates/IndexedCollection.cs:
- The outside instruction has an offset of -1.
-
- * Mono.Cecil.Cil/OpCodes.cs
- Mono.Cecil.Cil/CodeReader.cs
- Mono.Cecil.Cil/OpCode.cs
- CodeGen/templates/OpCodes.cs:
- Simpliest way of dealing with different opcodes.
-
-2006-09-07 Jb Evain <jbevain@gmail.com>
-
- * support PE32+ file format.
-
- * Add an Outside instruction to an InstructionCollection.
- Cleaner than the old null instruction.
-
- * Mono.Cecil/MarshalSpec.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/ReflectionWriter.cs
- CodeGen/cecil-mig.rb:
- Refactor names from Desc to Spec.
-
- * *Collection.cs:
- Remove the unused events stuff.
-
-2006-08-31 Jb Evain <jbevain@gmail.com>
-
- * /!\ Breaking changes:
- On the way to Cecil 0.5. Remove meaningless interfaces.
- GenericParamAttributes -> GenericParameterAttributes
- ParamAttributes -> ParamAttributes
-
- I'll provide a migration path with a script.
-
- Please do not use this revision, other changes are on the way.
-
-2006-08-26 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionReader.cs:
- Fix a bug when reading some parameters.
-
-2006-08-26 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Cil/ReflectionWriter.cs:
- Fix the computation of the size of the last opcode in case
- of an exception handler is pointing outside the cil stream.
-
- * Mono.Cecil.Cil/ReflectionWriter.cs:
- Don't use seh tiny headers when the size can't fit in a byte.
-
- * Mono.Cecil.Cil/ReflectionWriter.cs:
- Fix a problem in the computation of the stack when the IL
- is somewhat strange.
-
-2006-08-23 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/AssemblyInfo.cs:
- Cecil 0.4.3 release.
-
-2006-08-21 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Metadata/MetadataWriter.cs:
- Fix a bug in field initial values writing.
-
- * Mono.Cecil/BaseAssemblyResolver.cs:
- Look for assemblies in ./ first
-
-2006-08-17 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/BaseAssemblyResolver.cs:
- Resolve the corlib depending on its version.
-
- * Mono.Cecil/AssemblyName.cs
- Mono.Cecil/BaseAssemblyResolver.cs:
- Implement a AssemblyNameReference.Parse(string)
-
- * Mono.Cecil/TypeReferenceCollection.cs
- Mono.Cecil/ExternTypeCollection.cs
- Mono.Cecil/TypeDefinitionCollection.cs
- CodeGen/templates/NamedCollectionImplem.cs:
- Avoid infinite recursion.
-
- * Mono.Cecil/BaseAssemblyResolver.sc:
- Stay .net 1.1 compatible
-
-2006-08-16 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/IAssemblyResolver.cs
- Mono.Cecil/BaseAssemblyResolver.cs
- Mono.Cecil/DefaultAssemblyResolver.cs
- Mono.Cecil/AssemblyDefinition.cs
- Implement an assembly resolver.
-
- * Mono.Cecil/ReflectionReader.cs:
- Fix the initial value reading.
- Based on a report and a patch of Roei Erez <roeie@mainsoft.com>
-
-2006-08-15 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/TypeReferenceCollection.cs
- Mono.Cecil/ExternTypeCollection.cs
- Mono.Cecil/TypeDefinitionCollection.cs
- CodeGen/templates/NamedCollectionImplem.cs:
- Fix the CopyTo method.
-
-2006-07-19 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/templates/IIndexedCollection.cs
- CodeGen/templates/IndexedCollectionImplem.cs
- Mono.Cecil/IConstructorCollection.cs
- Mono.Cecil/IMethodDefinitionCollection.cs
- Mono.Cecil/MethodDefinitionCollection.cs
- Mono.Cecil/ConstructorCollection.cs:
- Add a GetConstructor(bool,ParameterDefinitionCollection) method
- required by the linker.
-
- * Mono.Cecil.Metadata/MetadataReader.cs
- Mono.Cecil.Metadata/StringsHeap.cs:
- Read the string on demand, based on the index.
- Needed due to some obfuscators that create a string entry like
- xClassName, and make the pointer points to after the x.
-
-2006-07-03 Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
- * CodeGen/templates/ImageReader.cs
- Mono.Cecil.Binary/ImageReader.cs:
- CompactFramework compatibility.
-
-2006-07-02 Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
-
- * CodeGen/templates/ImageReader.cs
- Mono.Cecil.Binary/ImageReader.cs:
- Proper FileNotFoundException construction.
-
- * Mono.Cecil/MethodDefinition.cs
- Mono.Cecil/IMethod.cs:
- Helper properties IsInternalCall and IsRuntime.
-
-2006-06-21 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Cil/CilWorker.cs:
- Fix ldc.i4.s emitting.
-
-2006-06-13 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionWriter.cs:
- Fix for compiling on CF 1.
- * Mono.Cecil/StructureReader.cs:
- Fix for a "bug" when csc 7.1 emits an assembly
- with an assembly row, but no blob heap.
- Plus style fix.
-
-2006-06-08 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/IMethod.cs
- Mono.Cecil/MethodDefinition.cs
- Mono.Cecil/ReflectionWriter.cs:
- Add a public HasBody property.
-
-2006-06-07 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/MethodDefinition.cs
- Mono.Cecil/ReflectionWriter.cs:
- Read and write method bodies only when allowed.
-
-2006-05-29 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/IMethodDefinition.cs
- Mono.Cecil/MethodDefinition.cs:
- Remove the useless CreateBody method.
-
-2006-05-27 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/StructureWriter.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/MethodDefinition.cs
- Mono.Cecil.Metadata/MetadataToken.cs
- Mono.Cecil.Signatures/SignatureReader.cs:
- Play better with mixed mode assemblies.
-
- * Mono.Cecil/SecurityDeclarationReader.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil.Signatures/SignatureReader.cs:
- Read/Write this awful load of crap that is sharepoint.
-
-2006-05-22 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Cil/CilWorker.cs:
- Fix #78479. Patch by David Emsellem.
-
-2006-05-20 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/templates/ImageReader.cs
- CodeGen/templates/ImageWriter.cs
- Mono.Cecil/AssemblyFactory.cs
- Mono.Cecil/StructureWriter.cs
- Mono.Cecil/Binary/ImageReader.cs
- Mono.Cecil/Binary/Image.cs
- Mono.Cecil/Binary/ImageWriter.cs
- Mono.Cecil.Metadata/MetadataWriter.cs:
- Optimize assembly writing.
- Add methods to read assemblies from byte arrays.
-
- * Mono.Cecil/StructureWriter.cs:
- Throw an exception when the target is an exe
- and no entry point have been setted.
- * Mono.Cecil/AssemblyFactory.cs:
- Add helpers method to defines assemblies.
- * Mono.Cecil/MethodDefinition.cs:
- Set the hasThis flag to the correct value.
- * Mono.Cecil.Cil/CodeReader.cs:
- Remove old comment.
- * Mono.Xml/SmallXmlParser.cs:
- Make private.
-
-2006-05-18 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/templates/MetadataTableReader.cs
- Mono.Cecil.Metadata/MetadataTableReader.cs
- Mono.Cecil.Metadata/TableCollection.cs
- Mono.Cecil.Metadata/TablesHeap.cs:
- Optimize a little bit.
-
- * CodeGen/templates/MetadataTableWriter.cs
- Mono.Cecil.Metadata/MetadataTableWriter.cs
- Mono.Cecil.Metadata/TableCollection.cs:
- Fix for last changeset.
-
- * Mono.Cecil.Metadata/RIdAttribute.cs:
- deleted.
-
- * Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/StructureReader.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil/AggressiveReflectionReader.cs
- Mono.Cecil.Cil/CodeReader.cs
- CodeGen/templates/Utilities.cs
- CodeGen/templates/MetadataTableReader.cs
- CodeGen/templates/MetadataTableWriter.cs
- CodeGen/templates/Table.cs
- CodeGen/templates/MetadataRowReader.cs
- CodeGen/templates/MetadataRowWriter.cs
- Mono.Cecil.Metadata/Assembly.cs
- Mono.Cecil.Metadata/InterfaceImpl.cs
- Mono.Cecil.Metadata/PropertyMap.cs
- Mono.Cecil.Metadata/Constant.cs
- Mono.Cecil.Metadata/MethodSpec.cs
- Mono.Cecil.Metadata/DeclSecurity.cs
- Mono.Cecil.Metadata/TypeDef.cs
- Mono.Cecil.Metadata/GenericParamConstraint.cs
- Mono.Cecil.Metadata/MethodImpl.cs
- Mono.Cecil.Metadata/NestedClass.cs
- Mono.Cecil.Metadata/MetadataTableReader.cs
- Mono.Cecil.Metadata/AssemblyRefProcessor.cs
- Mono.Cecil.Metadata/AssemblyRef.cs
- Mono.Cecil.Metadata/AssemblyRefOS.cs
- Mono.Cecil.Metadata/Method.cs
- Mono.Cecil.Metadata/MetadataTableWriter.cs
- Mono.Cecil.Metadata/MetadataRowReader.cs
- Mono.Cecil.Metadata/ExportedType.cs
- Mono.Cecil.Metadata/CustomAttribute.cs
- Mono.Cecil.Metadata/Param.cs
- Mono.Cecil.Metadata/ClassLayout.cs
- Mono.Cecil.Metadata/MetadataRowWriter.cs
- Mono.Cecil.Metadata/Utilities.cs
- Mono.Cecil.Metadata/AssemblyOS.cs
- Mono.Cecil.Metadata/ModuleRef.cs
- Mono.Cecil.Metadata/FieldMarshal.cs
- Mono.Cecil.Metadata/GenericParam.cs
- Mono.Cecil.Metadata/ImplMap.cs
- Mono.Cecil.Metadata/TableCollection.cs
- Mono.Cecil.Metadata/TablesHeap.cs
- Mono.Cecil.Metadata/TypeRef.cs
- Mono.Cecil.Metadata/ManifestResource.cs
- Mono.Cecil.Metadata/File.cs
- Mono.Cecil.Metadata/EventMap.cs
- Mono.Cecil.Metadata/AssemblyProcessor.cs
- Mono.Cecil.Metadata/FieldLayout.cs
- Mono.Cecil.Metadata/Event.cs
- Mono.Cecil.Metadata/Field.cs
- Mono.Cecil.Metadata/Property.cs
- Mono.Cecil.Metadata/Module.cs
- Mono.Cecil.Metadata/MethodSemantics.cs
- Mono.Cecil.Metadata/StandAloneSig.cs
- Mono.Cecil.Metadata/FieldRVA.cs
- Mono.Cecil.Metadata/TypeSpec.cs
- Mono.Cecil.Metadata/IMetadataTable.cs
- Mono.Cecil.Metadata/MemberRef.cs:
- Fix the way the metadata tables are handled.
-
- * Mono.Cecil.Signatures/SignatureWriter.cs:
- Fix bug in string writing.
-
-2006-05-12 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/AssemblyInfo.cs:
- Hide the info if Cecil is embedded.
-
-2006-05-09 Jb Evain <jbevain@gmail.com>
-
- * cecil.build: rename to default.build
-
-2006-05-08 Jb Evain <jbevain@gmail.com>
-
- * Makefile:
- Sign the assembly.
-
- * cecil.csproj:
- Add an msbuild file.
-
-2006-05-05 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/AssemblyFactory.cs
- Mono.Cecil/StructureReader.cs
- Mono.Cecil/ModuleDefinition.cs:
- Add an AssemblyFactory.GetAssemblyManifest method.
-
-2006-05-04 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/TableComparers.cs:
- TypeDef.Compare: the name is enough against <Module>.
-
- * Mono.Cecil/ReflectionWriter.cs:
- Fix writing of namedargs in custom attributes.
-
-2006-04-26 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Signatures/SignatureReader.cs:
- Don't create tons of hashtables.
-
-2006-04-24 Jb Evain <jbveain@gmail.com>
-
- * Mono.Cecil.Cil/MethodBody.cs:
- Fix cloning.
-
-2006-04-21 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/AssemblyFactory.cs
- Mono.Cecil.Binary/MemoryBinaryWriter.cs:
- Use MemoryStream::WriteTo when it's possible.
-
-2006-04-21 Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
-
- * Mono.Cecil/SecurityDeclaration.cs
- Mono.Cecil/ISecurityDeclaration.cs
- Mono.Cecil/SecurityDeclarationCollection.cs
- Mono.Cecil/ModuleDefinition.cs:
- Patch by Almann T. Goo (almann.goo@gmail.com) conditionally
- removing references to PermissionSet when compiling for the CompactFramework.
-
- * Mono.Cecil/CompactFrameworkCompatibility.cs:
- System.Security.PermissionSet definition no longer needed.
-
-2006-04-21 Jb Evain <jbevain@gmail.com>
-
- * *Collection.cs:
- Fix typo in RemoveAt.
-
-2006-04-20 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionWriter.cs:
- Fix writing of complex arrays.
- Now we roundtrip SharpDevelop.
-
- * Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil/TableComparers.cs:
- Ensure <Module> will always be the first type.
- Fix roundtrip of Nemerle.
-
-2006-04-19 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Cil/CodeWriter.cs:
- Handle the case where an handler points after the last
- instruction. Now we roundtrip db4o.
-
- * Mono.Cecil/IIndexedCollection.cs:
- *Collection.cs:
- Make every collection implement an indexed collection.
-
-2006-04-15 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/CustomAttribute.cs:
- Fix handling of types.
-
-2006-04-11 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/FieldDefinition.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/TypeDefinition.cs
- Mono.Cecil/IField.cs
- Mono.Cecil/ITypeDefinition.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil/AggressiveReflectionReader.cs
- Mono.Cecil.Cil/IVariable.cs
- Mono.Cecil.Cil/MethodBody.cs
- Mono.Cecil.Cil/VariableDefinition.cs
- Mono.Cecil.Cil/CodeWriter.cs:
- Don't use interfaces internally.
-
- * Mono.Cecil/TypeReference.cs:
- Make TypeReference extend MemberReference.
-
- * Mono.Cecil/Modifiers.cs
- Mono.Cecil.Cil/CodeReader.cs
- Mono.Cecil.Cil/CodeWriter.cs
- Mono.Cecil.Signatures/LocalVarSig.cs
- Mono.Cecil.Signatures/SignatureReader.cs:
- Fix modifiers on localvar signatures.
- Fix roundtrip of delphi assemblies.
-
- * Mono.Cecil/CustomAttribute.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- Work on complex custom attributes encoding.
-
- * Mono.Cecil/TableComparers.cs:
- Style.
-
-2006-04-09 Eyal Alaluf <eyala@mainsoft.com>
-
- * Mono.Cecil/ReflectionReader.cs
- Cannot assume that TypeRefs are ordered is such a way that an outer
- class index comes always before all its inner classes.
-
-2006-04-06 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- Clean up things a little bit prior ending
- custom attribute encoding.
-
- * Mono.Cecil/ReflectionWriter.cs:
- Write custom attributes of parameters
- onyl when all methods have their tokens.
-
- * Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil/AggressiveReflectionReader.cs:
- Handle custom attributes on generic parameters.
-
-2006-04-05 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionWriter.cs:
- Ensure the param[0] is written when it should be.
-
-2006-04-04 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionHelper.cs:
- Remove an unused hack.
-
- * Mono.Cecil/AssemblyInfo.cs: Go 0.4.1
-
- * Mono.Cecil.Metadata/MetadataHeap.cs
- Mono.Cecil.Metadata/MetadataStream.cs:
- Read #- stream has well.
-
- * Mono.Cecil/ReflectionHelper.cs:
- Implement Import stuff for System.Type and SR.*
-
-2006-04-03 Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
-
- * Mono.Cecil/SecurityDeclarationReader.cs
- Mono.Cecil/TypeReferenceCollection.cs
- Mono.Cecil/CompactFrameworkCompatibility.cs
- Mono.Cecil/AssemblyFactory.cs
- Mono.Cecil/AssemblyName.cs
- Mono.Cecil/ExternTypeCollection.cs
- Mono.Cecil/TypeDefinitionCollection.cs
- CodeGen/templates/NamedCollectionImplem.cs
- Mono.Cecil.Metadata/CultureUtils.cs
- cecil.build:
- CompactFramework 2.0 support through CF_2_0 compilation symbol.
-
-2006-04-03 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.dll.sources
- Mono.Cecil/GenericParameter.cs
- Mono.Cecil/ReflectionHelper.cs
- Mono.Cecil/FieldDefinition.cs
- Mono.Cecil/CustomAttribute.cs
- Mono.Cecil/TypeDefinition.cs
- Mono.Cecil/IModuleDefinition.cs
- Mono.Cecil/ImportContext.cs
- Mono.Cecil/AssemblyName.cs
- Mono.Cecil/MethodDefinition.cs
- Mono.Cecil/EventDefinition.cs
- Mono.Cecil/ModuleDefinition.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil/GenericContext.cs
- Mono.Cecil/ParameterDefinition.cs
- Mono.Cecil/PropertyDefinition.cs
- Mono.Cecil.Cil/MethodBody.cs:
- Work on generic assemblies manipulation via
- import stuff.
-
-2006-03-31 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/AssemblyFlags.cs:
- Add a Retargetable flag used on the CF.
-
-2006-03-30 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/SecurityDeclarationReader.cs:
- Don't crash if the declaration is empty.
-
- * Mono.Cecil/ParamAttributes.cs:
- Update the Optional flag.
- Mono.Cecil/ReflectionWriter.cs:
- Fix the encoding of nullref.
- Fixes #77959. Based on a patch by
- Armand Du Plessis < armand@dotnet.org.za>
-
-2006-03-29 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/IHasSecurity.cs
- Mono.Cecil/IHasConstant.cs
- Mono.Cecil/IHasMarshalSpec.cs:
- Mono.Cecil/MethodReturnType.cs
- Mono.Cecil/AssemblyDefinition.cs:
- Implement IMetadataTokenProvider.
-
- * Mono.Cecil/StructureReader.cs
- Mono.Cecil/ReflectionWriter.cs:
- Use more the token providers.
-
-2006-03-28 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/MarshalDesc.cs
- Mono.Cecil/IMarshalSpec.cs
- Mono.Cecil/ReflectionWriter.cs:
- Fix round-tripping of assemblies using
- COM stuff.
-
-2006-03-27 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Metadata/MetadataToken.cs:
- Override GetHashCode as we override Equals.
-
- * Mono.Cecil/TableComparers.cs:
- Fix the ordering of generic parameters.
- This revision roundtrips C5. Yeah!
-
- * Mono.Cecil/ReflectionWriter.cs:
- Fix method spec "caching"
- Mono.Cecil.Cil/OpCode.cs:
- Override ToString ();
- Mono.Cecil.Metadata/MetadataToken.cs:
- Implement operator ==
-
- * Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil/TableComparers.cs:
- Better handling of generic tables sorting.
-
- * Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil/TableComparers.cs:
- Sort generic tables as well.
-
-2006-03-27 Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
- * Mono.Cecil.Metadata/MetadataWriter.cs:
- Use CompactFramework compatible version of
- System.Convert.ToBase64String.
-
-2006-03-27 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.dll.sources
- Mono.Cecil/GenericParameter.cs
- Mono.Cecil/ConstraintCollection.cs
- Mono.Cecil/IGenericParameter.cs
- Mono.Cecil/IConstraintCollection.cs
- CodeGen/cecil.xml:
- Add a ConstraintCollection to be used within
- generic parameters.
-
- * Mono.Cecil/GenericInstanceType.cs:
- Correctly return if the instance is a value type
- or not.
-
-2006-03-25 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ModuleDefinition.cs:
- Support the unreadable security declarations
- when converting one to byte [].
-
- * Mono.Cecil/IModuleDefinition.cs
- Mono.Cecil/ModuleDefinition.cs
- Mono.Cecil/ReflectionWriter.cs:
- Add a FullLoad method on a module.
-
- * Mono.Cecil/StructureWriter.cs
- Mono.Cecil/ReflectionWriter.cs:
- Fix a few bugs in generics type emitting.
-
- * Mono.Cecil.Cil/CodeWriter.cs:
- Cache local sig as well.
-
-2006-03-24 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionWriter.cs:
- Cache method specs as well.
-
- * CodeGen/templates/ImageWriter.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Binary/ImageWriter.cs:
- Replace the foreach char pattern by
- Encoding.GetBytes
-
-2006-03-23 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/TypeReferenceCollection.cs
- Mono.Cecil/ExternTypeCollection.cs
- Mono.Cecil/TypeDefinitionCollection.cs
- CodeGen/templates/NamedCollectionImplem.cs
- CodeGen/templates/ImageReader.cs:
- Ensure type with the same name are added
- to the collection.
-
- * Mono.Cecil.Metadata/MetadataWriter.cs:
- Ensure every blob signature is unique.
-
- * Mono.Cecil/IModuleDefinition.cs
- Mono.Cecil/ModuleDefinition.cs:
- Rename method to avoid confusion.
-
-2006-03-22 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Cil/CodeWriter.cs:
- Precisely detect whether we emit fat seh or not.
-
- * Mono.Cecil/ReflectionWriter.cs:
- Avoid duplicates in the typespec table.
-
-2006-03-21 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionWriter.cs:
- Correctly write generic parameters.
-
- * Mono.Cecil/SecurityDeclarationReader.cs
- Mono.Cecil/SecurityDeclaration.cs
- Mono.Cecil/ReflectionWriter.cs:
- Fix for security declarations reading on .net 2.0.
-
- * Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/GenericContext.cs:
- Fix test case RoundtripTestFixture.boo.
-
-2006-03-20 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Metadata/MetadataReader.cs:
- #Strings heap is utf8, fix #77820.
-
-2006-03-08 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/cecil-gen-tests.rb
- CodeGen/templates/Tests.cs:
- Start of a very small infrastructure to use tests from
- rotor/mono with Cecil.
-
- * Mono.Cecil/IMethod.cs
- Mono.Cecil/TypeDefinition.cs
- Mono.Cecil/MethodDefinition.cs
- Mono.Cecil.Cil/CodeReader.cs
- Mono.Cecil.Cil/CodeWriter.cs:
- Add support for the very special case ldarg 0.
- Patch idea by Vladislav Spivak <spivak@mainsoft.com>
-
-2006-03-07 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/templates/ImageReader.cs
- Mono.Cecil/AssemblyFactory.cs
- Mono.Cecil/StructureReader.cs
- Mono.Cecil.Binary/Image.cs
- Mono.Cecil.Binary/ImageReader.cs:
- Allow users to get a loaded image using
- Image.GetImage as they have no access to
- the ImageReader.
-
-2006-03-06 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Signatures/SignatureReader.cs:
- Fix array reading in custom attributes.
-
-2006-03-06 Joshua Tauberer <tauberer@for.net>
-
- * Mono.Cecil/TypeAttributes.cs: Fixed typo
- in value for Abstract.
-
-2006-02-27 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/templates/IndexedCollectionImplem.cs
- CodeGen/templates/IIndexedCollection.cs
- Mono.Cecil.Cil/InstructionCollection.cs
- Mono.Cecil.Cil/IInstructionCollection.cs:
- Small API fix, prevent the user from not using
- the CilWorker.
-
- * Mono.Cecil.Cil/CodeReader.cs
- Mono.Cecil.Cil/Label.cs:
- Remove Label.
-
- * Mono.Cecil/ReflectionReader.cs:
- Fix typo.
-
-2006-02-20 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Signatures/SignatureWriter.cs:
- Fix a bug when a value is null in a custom attribute.
-
-2006-02-20 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil.Metadata/MetadataWriter.cs:
- Fix GetStrongNameSignatureSize to handle the ECMA pseudo-key.
-
-2006-02-07 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/AssemblyInfos.cs:
- Tag this version 0.3, as users are happy with it.
-
-2006-01-26 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/CustomAttribute.cs:
- Fix cloning of non readable attributes.
-
- * Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil.Signatures/MethodRefSig.cs
- Mono.Cecil.Signatures/SignatureWriter.cs
- Mono.Cecil.Signatures/MethodDefSig.cs:
- Work on generics.
-
- * Mono.Cecil/ArrayType.cs
- Mono.Cecil/ReferenceType.cs
- Mono.Cecil/PointerType.cs:
- Fix names of typespecs.
-
- * Mono.Cecil/TypeReferenceCollection.cs
- Mono.Cecil/ExternTypeCollection.cs
- CodeGen/templates/NamedCollectionImplem.cs:
- Allow multiple key by names in type references.
-
-2006-01-25 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/AssemblyFactory.cs:
- Don't trap exceptions.
-
- * Mono.Cecil/GenericParameter.cs
- Mono.Cecil/IMethod.cs
- Mono.Cecil/GenericInstanceType.cs
- Mono.Cecil/TypeReference.cs
- Mono.Cecil/GenericInstanceMethod.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/TypeDefinition.cs
- Mono.Cecil/IGenericArgumentCollection.cs
- Mono.Cecil/ITypeReference.cs
- Mono.Cecil/IGenericInstance.cs
- Mono.Cecil/GenericArgumentCollection.cs
- Mono.Cecil/MethodDefinition.cs
- Mono.Cecil/MethodReference.cs
- Mono.Cecil/ITypeDefinition.cs
- Mono.Cecil/IGenericArgumentProvider.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil/GenericContext.cs
- CodeGen/cecil.xml:
- Clean the generic api. This is not stable yet.
-
-2006-01-24 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ArrayType.cs:
- Bug reported by Vladislav Spivak (spivak@mainsoft.com).
- Fix a bug in array handling.
- * Mono.Cecil/ConstructorCollection.cs
- CodeGen/templates/IndexedCollectionImplem.cs:
- Bug reported by Oleg Varchovsky (olegv@mainsoft.com).
- Fix the lookup of constructors.
-
-2006-01-19 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/AssemblyName.cs:
- Fix computation of public key token.
-
-2006-01-18 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Cil/CodeWriter.cs
- Mono.Cecil.Metadata/MetadataToken.cs:
- Add an use an ToUInt method and use it.
- CodeGen/templates/DebugHeader.cs
- Mono.Cecil.Binary/DebugHeader.cs:
- Fix the size of the debug header.
-
- * Mono.Cecil/ModuleReference.cs
- Mono.Cecil/AssemblyName.cs
- Mono.Cecil/StructureReader.cs
- Mono.Cecil/IMetadataScope.cs:
- Make IMetadataScope implement IMetadataTokenProvider.
- * Mono.Cecil/ReflectionWriter.cs:
- Fix a typo when saving nested type refs.
-
-2006-01-17 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ArrayType.cs
- Mono.Cecil/ArrayDimension.cs
- Mono.Cecil/ReflectionWriter.cs:
- End arrays support.
-
-2006-01-03 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/GenericParameter.cs
- Mono.Cecil/ReflectionHelper.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/GenericContext.cs:
- Work on generics.
-
-2005-12-31 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionHelper.cs:
- Fix import of type specs.
-
-2005-12-30 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/templates/ImageReader.cs
- Mono.Cecil.Metadata/MetadataReader.cs
- Mono.Cecil.Binary/Image.cs
- Mono.Cecil.Binary/ImageReader.cs:
- Add support to assemblies where the metadata is defined
- outside of the text section. (c++/cli /safe for instance)
-
-2005-12-23 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/AssemblyInfo.cs:
- Version 0.2.2.2 devel.
-
- * Mono.Cecil/AssemblyInfo.cs:
- Version 0.2 to be released.
-
- * Mono.Cecil/ReflectionWriter.cs:
- IGenericInstance are typespecs as well.
-
- * Mono.Cecil/ArrayType.cs:
- Add a single dimension in the default ctor.
- * Mono.Cecil/ReflectionReader.cs:
- Don't manually add the default dimension as it's done
- int the array type ctor.
- * Mono.Cecil/ReflectionHelper.cs:
- Import type specs.
-
-2005-12-22 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionWriter:
- Write pinvoke infos as well.
-
- * Mono.Cecil/ReflectionReader.cs:
- Unsure that primitive value types are viewed as
- value types.
-
- * CodeGen/templates/Section.cs
- CodeGen/templates/ImageReader.cs
- Mono.Cecil.Metadata/MetadataReader.cs
- Mono.Cecil.Binary/Image.cs
- Mono.Cecil.Binary/Section.cs
- Mono.Cecil.Binary/ImageReader.cs:
- Simplify the way you read binary data whithin
- high level layer.
-
- * Mono.Cecil.Cil/CodeReader.cs:
- Make helper methods public static.
- * Mono.Cecil/ReflectionReader.cs:
- Don't try to get the entry point method
- if it don't point on a valid method RID.
-
- * CodeGen/templates/NamedCollectionImplem.cs
- Mono.Cecil/ExternTypeCollection.cs
- Mono.Cecil/TypeDefinitionCollection.cs
- Mono.Cecil/TypeReferenceCollection.cs:
- Don't add existing values.
-
- * Mono.Cecil/ModuleDefinition.cs:
- Protect import from null refs.
-
-2005-12-21 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/StructureWriter.cs:
- Don't increment pdb age. Not Cecil's job.
-
- * Mono.Cecil.Cil/ICilWorker.cs
- Mono.Cecil.Cil/CilWorker.cs:
- Add a new replace method.
-
-2005-12-20 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/StructureWriter.cs:
- Ensure every assembly reference is processed.
-
- * Mono.Cecil/ReflectionHelper.cs:
- Don't assume the cache is magically loaded.
- Aka: most stupid bug of the year.
-
-2005-12-19 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/templates/DebugHeader.cs
- Mono.Cecil.Binary/DebugHeader.cs
- Mono.Cecil.Binary/DebugStoreType.cs:
- New files to store debug header infos.
- * Mono.Cecil.dll.sources: updated
- * CodeGen/cecil.xml
- CodeGen/cecil-gen.rb
- Mono.Cecil/StructureWriter.cs
- Mono.Cecil.Binary/IBinaryVisitor.cs
- Mono.Cecil.Binary/ImageWriter.cs
- Mono.Cecil.Binary/Image.cs
- Mono.Cecil.Binary/ImageInitializer.cs
- Mono.Cecil.Binary/BaseImageVisitor.cs
- Mono.Cecil.Binary/ImageReader.cs
- Mono.Cecil.Metadata/MetadataWriter.cs:
- Read and write debug header.
-
- * CodeGen/templates/ImageWriter.cs
- Mono.Cecil.Binary/ImageWriter.cs:
- Revert revision 54409.
-
-2005-12-14 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Cil/ICilWorker.cs
- Mono.Cecil.Cil/CilWorker.cs:
- Add a remove method.
-
- * CodeGen/templates/ImageWriter.cs
- Mono.Cecil.Binary/ImageWriter.cs:
- Don't allocate potential big arrays here.
-
-2005-12-13 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Metadata/MetadataWriter.cs:
- Set the correct version for .net 2 assemblies.
- Correctly write embedded resources.
- Fix #76963.
-
-2005-12-03 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/MethodSpecification.cs:
- Override the declaring type and the name property to
- match the inner method.
- * Mono.Cecil/GenericInstanceType.cs:
- Correctly set the FullName.
- * Mono.Cecil/GenericInstanceMethod.cs:
- Style.
-
-2005-12-02 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/TypeDefinition.cs:
- Fix interface import. Patch by Thomas Gil.
-
-2005-11-24 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/cecil-gen.rb
- CodeGen/templates/MetadataTableReader.cs
- CodeGen/templates/PEFileHeader.cs
- CodeGen/templates/CLIHeader.cs
- CodeGen/templates/PEOptionalHeader.cs
- CodeGen/templates/Table.cs
- CodeGen/templates/MetadataRowReader.cs
- CodeGen/templates/OpCodes.cs
- CodeGen/templates/Section.cs
- CodeGen/templates/ImageReader.cs:
- Update the codegen engine so that everyone can run it
- without having to install a dependency (eruby).
-
- * Mono.Cecil.Metadata/Utilities.cs: re-codegenerated.
-
-2005-11-23 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/IGenericArgumentProvider.cs
- Style.
- * CodeGen/cecil.xml:
- Mirror Martin's change in the codegen engine.
-
-2005-11-23 Martin Baulig <martin@ximian.com>
-
- Generics API changes:
- TypeReference and MethodReference now contain a
- `GenericArguments' property (of type `GenericArgumentCollection')
- and `GenericParameters' is moved into TypeDefinition/MethodDefinition.
-
- * Mono.Cecil/IGenericArgumentProvider.cs: New file.
- (IGenericArgumentProvider): New public interface.
-
- * Mono.Cecil/IGenericArgumentCollection.cs
- (IGenericArgumentCollection.Container): Changed type from
- `IGenericInstance' -> `IGenericArgumentProvider'.
-
- * Mono.Cecil/IGenericInstance.cs
- (IGenericInstance.Arguments): Renamed to `GenericArguments'.
-
- * Mono.Cecil/ITypeReference.cs
- (ITypeReference): Implement `IGenericArgumentProvider' instead of
- `IGenericParameterProvider'.
-
- * Mono.Cecil/ITypeDefinition.cs
- (ITypeDefinition): Implement `IGenericParameterProvider'.
-
- * Mono.Cecil/IMethod.cs
- (IMethodReference): Implement `IGenericArgumentProvider' instead of
- `IGenericParameterProvider'.
- (IMethodDefinition): Implement `IGenericParameterProvider'.
-
- * Mono.Cecil/TypeReference.cs
- (TypeReference.GenericParameters): Removed.
- (TypeReference.GenericArguments): New public property.
-
- * Mono.Cecil/TypeDefinition.cs
- (TypeDefinition.GenericParameters): New public property.
- (TypeDefinition.OnGenericParameterAdded): If a generic parameter
- is added, also add it to the `GenericArguments'.
-
- * Mono.Cecil/MethodReference.cs
- (MethodReference.GenericParameters): Removed.
- (MethodReference.GenericArguments): New public property.
-
- * Mono.Cecil/MethodDefinition.cs
- (MethodDefinition.GenericParameters): New public property.
- (MethodDefinition.OnGenericParameterAdded): If a generic parameter
- is added, also add it to the `GenericArguments'.
-
- * Mono.Cecil/GenericInstanceType.cs
- (GenericInstanceType): Removed the `m_arguments' field; we now
- inherit the `GenericArguments' property from `TypeReference'.
-
- * Mono.Cecil/GenericInstanceMethod.cs
- (GenericInstanceMethod): Removed the `m_arguments' field; we now
- inherit the `GenericArguments' property from `MethodReference'.
-
- * Mono.Cecil/GenericContext.cs
- (GenericContext): We now operate on type/method references and not
- definitions.
- (GenericContext.Type): Changed type to `TypeReference'.
- (GenericContext.Method): Changed type to `MethodReference'.
-
-2005-11-23 Martin Baulig <martin@ximian.com>
-
- * Mono.Cecil.Metadata/TokenType.cs: Added `GenericParam'.
-
- * Mono.Cecil.Metadata/Utilities.cs
- (GetMetadataToken): In `case CodedIndex.HasCustomAttribute', add
- `TokenType.GenericParam'.
-
-2005-11-22 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/IMethodDefinitionCollection.cs
- Mono.Cecil/MethodDefinitionCollection.cs
- CodeGen/templates/IndexedCollectionImplem.cs
- CodeGen/templates/IIndexedCollection.cs:
- Add a new search method.
- * CodeGen/templates/NamedCollectionImplem.cs
- Mono.Cecil/TypeReferenceCollection.cs
- Mono.Cecil/ExternTypeCollection.cs
- Mono.Cecil/TypeDefinitionCollection.cs:
- Style.
-
-2005-11-13 Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
- * Mono.Cecil/ReflectionReader.cs
- Fix for NRE when reading assemblies with a field initializer
- pointing to a data section
- (TestCases/Regression/OddInt64Initializer.dll).
-
-2005-11-11 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil.Metadata/MetadataWriter.cs
- Add support for different strongname key size (between 384
- and 16384 bits) as now supported in fx 2.0. Default is still
- 1024 bits.
-
-2005-11-10 Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
- * Mono.Cecil/CompactFrameworkCompatibility.cs
- Mono.Cecil/SecurityDeclarationReader.cs
- Mono.Cecil/TypeReferenceCollection.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/AssemblyFactory.cs
- Mono.Cecil/AssemblyName.cs
- Mono.Cecil/ExternTypeCollection.cs
- Mono.Cecil/ModuleDefinition.cs
- Mono.Cecil/TypeDefinitionCollection.cs
- CodeGen/templates/NamedCollectionImplem.cs
- CodeGen/templates/ImageReader.cs
- Mono.Cecil.Metadata/MetadataReader.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Metadata/CultureUtils.cs
- Mono.Xml/SecurityParser.cs
- Mono.Xml/SmallXmlParser.cs
- Mono.Cecil.Signatures/SignatureReader.cs
- Mono.Cecil.Binary/ImageReader.cs
- cecil.build
- Implement support for compiling on the CompactFramework
-
-2005-11-08 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/GenericInstanceType.cs
- Mono.Cecil/TypeReference.cs:
- Fix a regression with 2.0 assemblies.
-
-2005-11-03 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/CallSite.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/ICallSite.cs
- Mono.Cecil.Cil/CodeReader.cs
- Mono.Cecil.Cil/CodeWriter.cs
- Mono.Cecil.Signatures/SignatureReader.cs
- Mono.Cecil.dll.sources:
- Implement support for calli opcodes reading.
-
-2005-11-01 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/FunctionPointerType.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil.Signatures/SignatureReader.cs:
- Work on function pointers.
-
- * Mono.Cecil/AssemblyInfo.cs:
- Increase Cecil SVN version.
-
- * Mono.Cecil/ArrayType.cs
- Mono.Cecil/MethodSpecification.cs
- Mono.Cecil/TypeSpecification.cs
- Mono.Cecil/IMethodSpecification.cs
- Mono.Cecil/GenericInstanceType.cs
- Mono.Cecil/IGenericInstanceType.cs
- Mono.Cecil/GenericInstanceMethod.cs
- Mono.Cecil/IModifierType.cs
- Mono.Cecil/IPinnedType.cs
- Mono.Cecil/ReferenceType.cs
- Mono.Cecil/IGenericInstanceMethod.cs
- Mono.Cecil/PinnedType.cs
- Mono.Cecil/PointerType.cs
- Mono.Cecil/IPointerType.cs
- Mono.Cecil/IReferenceType.cs
- Mono.Cecil/IArrayType.cs
- Mono.Cecil/ITypeSpecification.cs
- Mono.Cecil/Modifiers.cs
- Mono.Cecil.dll.sources:
- Uniformize the specification model.
-
-2005-10-31 Jb Evain <jbevain@gmail.com>
-
- * AUTHORS,
- NEWS,
- README,
- TODO,
- Mono.Cecil/AssemblyInfo.cs:
- Cecil 0.1 release.
-
- * Mono.Cecil/ReflectionReader.cs:
- Force value type property on known core types.
-
-2005-10-28 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/TypeReference.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/TypeDefinition.cs
- Mono.Cecil/ModuleDefinition.cs
- Mono.Cecil/ReflectionWriter.cs:
- Uniformize the API.
-
- * Mono.Cecil.Signatures/SignatureWriter.cs:
- Correct a bug in strings encoding in custom attributes.
-
- * CodeGen/templates/ImageWriter.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil/StructureWriter.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil.Binary/ImageWriter.cs:
- Implement a big of public key management,
- here we reserve space for the strong name
- signature if needed.
-
- * Mono.Cecil/StructureWriter.cs
- Mono.Cecil/StructureReader.cs:
- Disable public key writing until
- it is implemented.
-
- * Mono.Cecil/GenericParameter.cs
- Mono.Cecil/TypeReference.cs
- Mono.Cecil/MethodReference.cs:
- Work on generics writing api.
- * Mono.Cecil/ReflectionReader.cs:
- Fix a bug when defining a fresh assembly.
-
- * Mono.Cecil/GenericInstanceType.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil/IGenericParameterProvider.cs
- Mono.Cecil.Signatures/Var.cs
- Mono.Cecil.Signatures/MVar.cs
- Mono.Cecil.Signatures/SignatureReader.cs
- Mono.Cecil.Signatures/SignatureWriter.cs
- Mono.Cecil.Cil/CodeWriter.cs:
- Work on generics writing.
-
-2005-10-27 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Cil/CodeReader.cs
- Mono.Cecil.Cil/CilWorker.cs
- Mono.Cecil.Cil/CodeWriter.cs
- Mono.Cecil.Cil/OpCode.cs:
- Override op == and != on opcodes.
-
- * Mono.Cecil/FieldDefinition.cs
- Mono.Cecil/TypeDefinition.cs
- Mono.Cecil/MethodDefinition.cs
- Mono.Cecil/EventDefinition.cs
- Mono.Cecil/PropertyDefinition.cs:
- Fix setters working on attributes.
-
- * Mono.Cecil.Cil/CodeWriter.cs:
- Compute max stack before writing method.
-
- * Mono.Cecil/GenericContext.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil.Signatures/SignatureReader.cs:
- Work on generics support.
-
- * CodeGen/cecil.xml
- Mono.Cecil/ISecurityDeclarationCollection.cs
- Mono.Cecil/SecurityDeclarationCollection.cs:
- Remove the security declaration from the codegen.
-
-2005-10-27 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil\SecurityDeclaration.cs
- Copy the permission set when cloning.
- * Mono.Cecil\SecurityDeclarationCollection.cs
- Ajusted to use an Hashtable, to Union permission sets on
- the same action and to set/unset HasSecurity when needed.
- * Mono.Cecil\ModuleDefinition.cs:
- Added TODO (remainder) for complete 2.0 format support.
- * Mono.Cecil\ReflectionWriter.cs:
- Move MetadataToken finding outside the loop.
- * Mono.Cecil\ISecurityDeclarationCollection.cs:
- Adjust interface.
-
-2005-10-27 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/TypeDefinition.cs
- Mono.Cecil/MethodDefinition.cs:
- Add generics parameters in visitor path.
-
- * Mono.Cecil/GenericParamAttributes.cs:
- Add new constraints flags.
-
-2005-10-22 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/GenericParameter.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/IGenericParameter.cs
- Mono.Cecil/AggressiveReflectionReader.cs
- Mono.Cecil/GenericContext.cs:
- Support generic parameters constraints.
-
-2005-10-21 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/FieldDefinition.cs
- Mono.Cecil/CustomAttribute.cs
- Mono.Cecil/TypeDefinition.cs
- Mono.Cecil/SecurityDeclaration.cs
- Mono.Cecil/MethodDefinition.cs
- Mono.Cecil/EventDefinition.cs
- Mono.Cecil/ParameterDefinition.cs
- Mono.Cecil/PropertyDefinition.cs:
- Implement ICloneable.
-
- * Mono.Cecil/IAssemblyDefinition.cs:
- Mirror changes on asm kind.
- * Mono.Cecil/StructureReader.cs:
- Fix asm kind detection.
-
- * Mono.Cecil/StructureWriter.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/MethodDefinition.cs
- Mono.Cecil/ReflectionWriter.cs:
- Fix regressions.
- * Mono.Cecil.Cil/MethodBody.cs:
- Fix method cloning.
-
- * CodeGen/templates/MetadataTableReader.cs
- Mono.Cecil.Metadata/MetadataTableReader.cs
- Mono.Cecil.Metadata/MetadataReader.cs:
- Add helpers for reading.
-
- * Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/MethodDefinition.cs
- Mono.Cecil/AggressiveReflectionReader.cs
- Mono.Cecil/GenericContext.cs:
- Working on generic parameters reading.
- Still have troubles reading a 2.0 corlib.
-
- * Mono.Cecil/IHasMarshalSpec.cs:
- API fix.
-
- * Mono.Cecil/ParameterDefinition.cs
- Mono.Cecil.Cil/VariableDefinition.cs:
- Override ToString.
-
-2005-10-20 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Cil/CodeReader.cs
- Mono.Cecil.Cil/CodeWriter.cs
- Mono.Cecil.Cil/ICilWorker.cs
- Mono.Cecil.Cil/CilWorker.cs:
- ShortInlineI operands are signed.
- Spotted by Rodrigo B. de Oliveira.
-
- * CodeGen/templates/OpCodes.cs
- Mono.Cecil.Cil/OpCodes.cs:
- Add 2.0 opcodes.
-
- * Mono.Cecil/StructureWriter.cs
- Mono.Cecil/AssemblyDefinition.cs
- Mono.Cecil/AssemblyFactory.cs
- Mono.Cecil/StructureReader.cs
- Mono.Cecil/ReflectionWriter.cs:
- Handle the assembly kind in a smoothie way.
-
-2005-10-19 Sebastien Pouliot <sebastien@ximian.com>
-
- * Mono.Cecil/AssemblyDefinition.cs: Added an override for ToString to
- ease debugging.
- * Mono.Cecil/ModuleDefinition.cs: Make SecurityDeclaration works with
- 2.0 assemblies.
- * Mono.Cecil/ReflectionReader.cs: Modified BuildSecurityDeclaration
- to use the new SecurityDeclarationReader (supporting both formats).
- * Mono.Cecil/SecurityAction.cs: Removed actions that were "cutted" out
- of 2.0 final.
- * Mono.Cecil/SecurityDeclarationReader.cs: New. Handle both the 1.x
- and 2.0 formats for reading declarative security.
-
-2005-10-18 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/GenericParameter.cs:
- A little change before the fix.
-
- * Mono.Cecil/ReflectionHelper.cs
- Mono.Cecil/MethodDefinition.cs
- Mono.Cecil.Cil/MethodBody.cs:
- Implement method cloning.
-
- * Mono.Cecil/ModuleReference.cs
- Mono.Cecil/FieldDefinition.cs
- Mono.Cecil/TypeReference.cs
- Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/TypeDefinition.cs
- Mono.Cecil/EventDefinition.cs
- Mono.Cecil/ModuleDefinition.cs
- Mono.Cecil/FieldReference.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil/PropertyDefinition.cs
- Mono.Cecil/AssemblyFactory.cs:
- Small API change.
-
- * Mono.Cecil.Cil/CodeReader.cs:
- Fix variables names.
-
- TODO before 0.1:
- Fix generic parameters,
- generic writing,
- constructor changes (with S.Type and SR.*Info)
-
-2005-10-14 Jb Evain <jbevain@gmail.com>
-
- Work on generics support.
-
- * CodeGen/cecil.xml: new collections, coded indexes, opcodes.
-
- * Mono.Cecil/IGenericParameterCollection.cs
- Mono.Cecil/GenericParameterCollection.cs
- Mono.Cecil/IGenericArgumentCollection.cs
- Mono.Cecil/GenericArgumentCollection.cs:
- Added new collections.
-
- * Mono.Cecil.Metadata/Utilities.cs: updated.
- * Mono.Cecil.Metadata/TokenType.cs: added MethodSpec.
-
- * Mono.Cecil/IGenericParameter.cs
- Mono.Cecil/GenericParameter.cs
- Mono.Cecil/IGenericParameterConstraints.cs
- Mono.Cecil/GenericParameterConstraints.cs
- Mono.Cecil/IGenericParameterProvider.cs
- Mono.Cecil/IGenericInstance.cs
- Mono.Cecil/IGenericInstanceType.cs
- Mono.Cecil/GenericInstanceType.cs
- Mono.Cecil/IGenericInstanceMethod.cs
- Mono.Cecil/GenericInstanceMethod.cs:
- Generics API elements.
-
- * Mono.Cecil/IMethod.cs
- Mono.Cecil/MethodReference.cs
- Mono.Cecil/ITypeReference.cs
- Mono.Cecil/TypeReference.cs:
- Implement IGenericParameterProvider
-
- * Mono.Cecil/ReflectionReader.cs
- Mono.Cecil/IReflectionVisitor.cs
- Mono.Cecil/BaseReflectionVisitor.cs
- Mono.Cecil/StructureReader.cs
- Mono.Cecil/AggressiveReflectionReader.cs
- Mono.Cecil/MemberReference.cs:
- Support for the new generics elements.
-
- * Mono.Cecil.Signatures/Var.cs
- Mono.Cecil.Signatures/MVar.cs
- Mono.Cecil.Signatures/GenericInstSignature.cs
- Mono.Cecil.Signatures/GenericInst.cs:
- Added file header.
-
- * Mono.Cecil.Signatures/SignatureReader.cs
- Mono.Cecil.Signatures/GenericInstSignature.cs
- Mono.Cecil.Signatures/MethodDefSig.cs
- Mono.Cecil.Signatures/GenericInst.cs
- Mono.Cecil.Signatures/MethodSpec.cs
- Mono.Cecil/MethodCallingConvention.cs
- Mono.Cecil.Cil/CodeReader.cs:
- Added support for generic signatures.
-
- * Mono.Cecil.Cil/OpCodes.cs:
- Add consrained. opcode.
-
- * Mono.Cecil.dll.sources:
- Updated.
-
- Known problems: !!parameters
-
-2005-10-13 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionHelper.cs
- Mono.Cecil/FieldDefinition.cs
- Mono.Cecil/CustomAttribute.cs
- Mono.Cecil/MethodReturnType.cs
- Mono.Cecil/TypeDefinition.cs
- Mono.Cecil/SecurityDeclaration.cs
- Mono.Cecil/MethodDefinition.cs
- Mono.Cecil/EventDefinition.cs
- Mono.Cecil/ModuleDefinition.cs
- Mono.Cecil/ParameterDefinition.cs
- Mono.Cecil/IMethodReturnType.cs
- Mono.Cecil/PropertyDefinition.cs
- Mono.Cecil.Cil/MethodBody.cs:
- Work on the import.
- * Mono.Cecil/ITypeParameterType.cs
- Mono.Cecil/TypeParameterType.cs:
- Correct the interface.
-
-2005-10-12 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/EventDefinition.cs
- Mono.Cecil/TypeDefinition.cs
- Mono.Cecil/ModuleDefinition.cs
- Mono.Cecil/ReflectionWriter.cs
- Mono.Cecil/PropertyDefinition.cs:
- Small fixes.
-
-2005-09-16 Martin Baulig <martin@ximian.com>
-
- Added generics support to Cecil.
-
- * Mono.Cecil/IGenericInstType.cs: New file.
- * Mono.Cecil/ITypeParameterType.cs: New file.
- * Mono.Cecil/IMethodTypeParameterType.cs: New file.
-
- * Mono.Cecil.Metadata/ElementType.cs
- (ElementType): Added `Var', `MVar' and `GenericInst'.
-
- * Mono.Cecil.Metadata/Utilities.cs
- (Utilities.GetMetadataToken): .NET 2.0 also uses TypeDef's in the
- MemberRefParent.
-
- * Mono.Cecil/GenericInstType.cs: New file.
- * Mono.Cecil/MethodTypeParameterType.cs: New file.
- * Mono.Cecil/TypeParameterType.cs: New file.
-
- * Mono.Cecil.Signatures/Var.cs: New file.
- * Mono.Cecil.Signatures/MVar.cs: New file.
- * Mono.Cecil.Signatures/GenericInst.cs: New file.
- * Mono.Cecil.Signatures/GenericInstSignature.cs: New file.
-
- * Mono.Cecil/ReflectionReader.cs
- (ReflectionReader.GetTypeRefFromSig): Add the new types.
-
- * Mono.Cecil.Signatures/SignatureReader.cs
- (SignatureReader.ReadType): Add the new types.
-
-2005-10-06 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ReflectionHelper.cs
- Mono.Cecil/ModuleDefinition.cs:
- Fix a bug in type importing.
-
-2005-10-06 Jb Evain <jbevain@gmail.com>
-
- * Hopefully, this is the last API change before the release of Cecil 0.1.
- Mono.Cecil.Implem has been moved to Mono.Cecil. The interfaces where
- very convenient for a reading API, it was far less convenient for a
- modification and writing one. The modification API still needs some work,
- but this should be easier this way.
-
-2005-09-27 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Metadata/MetadataReader.cs:
- Fix resources reading.
-
- * Mono.Cecil.Implem/StructureWriter.cs:
- Correctly set the offset of resources in the manifest.
- * Mono.Cecil.Implem/StructureFactories.cs:
- Use correct overrides when creating assembly references.
- * Mono.Cecil.Implem/ReflectionFactories:
- Correctly create type references.
-
-2005-09-06 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/IReflectionFactories.cs
- Mono.Cecil.Implem/ReflectionFactories.cs:
- Allow the creation of reference types for methods
- parameters and return types.
- * Mono.Cecil.Cil/ICilWorker.cs
- Mono.Cecil.Implem/CilWorker.cs
- Mono.Cecil.Implem/CodeReader.cs
- Mono.Cecil.Implem/CodeWriter.cs:
- Global fix on the handling of parameters in instructions.
- * Mono.Cecil.Implem/AssemblyName.cs:
- Correcty write the version of an assembly fullname.
- Spotted by Bruno Cabral.
- * Mono.Cecil.Implem/TypeDefinition.cs:
- Set the declaring type of a nested type on add.
- * Mono.Cecil.Implem/CustomAttribute.cs
- Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/AggressiveReflectionReader.cs
- Mono.Cecil.Signatures/CustomAttrib.cs
- Mono.Cecil.Signatures/SignatureReader.cs:
- Global fix on custom attribute handling. Some
- custom attribute (containing enums) blobs can not be
- decoded.
-
-2005-09-04 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Implem/Instruction.cs:
- Add the setter for IInstruction::OpCode.
-
-2005-09-02 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ICustomAttribute.cs
- Mono.Cecil.Implem/ReflectionFactories.cs
- Mono.Cecil.Implem/CustomAttribute.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- Prepare the work on custom attributes.
- * Mono.Cecil.Cil/IInstruction.cs:
- Let users modify the content of an instruction.
- * Mono.Cecil.Implem/StructureReader.cs:
- Do not try to read 2.0 assemblies.
-
-2005-08-28 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Metadata/MetadataWriter.cs:
- Write the fields initial value back.
- As of this revision, a round tripped mcs
- can compile Cecil.
-
- * Mono.Cecil.Implem/ReflectionWriter.cs:
- Emit things in proper order.
- Mono.Cecil.Implem/CodeReader.cs
- Mono.Cecil.Implem/CodeWriter.cs:
- Correct bug with InlineVar opcodes.
- Emit fat body if maxstack is set.
-
- * Mono.Cecil.Implem/CodeWriter.cs:
- Handle null tokens.
- Mono.Cecil.Metadata/MetadataWriter.cs:
- Allow one empty string in the userstring heap.
-
- * Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/ReflectionWriter.cs:
- Strings constant are unicode.
-
- * Mono.Cecil/LoadingType.cs
- Mono.Cecil/AssemblyFactory.cs
- CodeGen/templates/IndexedCollectionImplem.cs
- CodeGen/templates/LzIndexedCollectionImplem.cs
- CodeGen/cecil.xml
- Mono.Cecil.Implem/InterfaceCollection.cs
- Mono.Cecil.Implem/ILazyLoadable.cs
- Mono.Cecil.Implem/ExternTypeCollection.cs
- Mono.Cecil.Implem/SecurityDeclarationCollection.cs
- Mono.Cecil.Implem/ReflectionHelper.cs
- Mono.Cecil.Implem/OverrideCollection.cs
- Mono.Cecil.Implem/EventDefinitionCollection.cs
- Mono.Cecil.Implem/FieldDefinitionCollection.cs
- Mono.Cecil.Implem/PropertyDefinitionCollection.cs
- Mono.Cecil.Implem/CustomAttributeCollection.cs
- Mono.Cecil.Implem/MethodDefinition.cs
- Mono.Cecil.Implem/EventDefinition.cs
- Mono.Cecil.Implem/FieldDefinition.cs
- Mono.Cecil.Implem/ModuleDefinition.cs
- Mono.Cecil.Implem/ReflectionController.cs
- Mono.Cecil.Implem/TypeReference.cs
- Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/AssemblyDefinition.cs
- Mono.Cecil.Implem/TypeDefinition.cs
- Mono.Cecil.Implem/AggressiveReflectionReader.cs
- Mono.Cecil.Implem/MethodDefinitionCollection.cs
- Mono.Cecil.Implem/LazyReflectionReader.cs
- Mono.Cecil.Implem/ParameterDefinition.cs
- Mono.Cecil.Implem/PropertyDefinition.cs
- Mono.Cecil.Implem/ConstructorCollection.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- Get rid of the complexity introduced by the
- internal lazy loading.
-
- * Mono.Cecil.Implem/EventDefinition.cs
- Mono.Cecil.Implem/PropertyDefinition.cs:
- Fix the behavior of .ToString ().
-
-2005-08-27 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Implem/ReflectionWriter.cs:
- Write back custom attributes of modules and assemblies
- as well as their security declaration.
- * Mono.Cecil.Implem/CodeWriter.cs:
- Fix branches computation.
- Mono.Cecil.Signatures/SignatureReader.cs:
- Disable custom attribute reading cache.
-
- * CodeGen/templates/ImageWriter.cs
- Mono.Cecil.Binary/ImageWriter.cs:
- Compute relocations.
- * Mono.Cecil.Implem/ReflectionFactories.cs:
- Blah.
-
- * Mono.Cecil.Implem/TablesComparer.cs
- Mono.Cecil.Implem/ReflectionWriter.cs:
- Sort all tables that need to be sorted.
-
- * Mono.Cecil.Implem/CodeReader.cs:
- Oops. Add fat exception handlers to the method body.
-
- * CodeGen/templates/ImageWriter.cs
- Mono.Cecil.Implem/StructureWriter.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/TypeDefinition.cs
- Mono.Cecil.Binary/ImageWriter.cs:
- Correct a few bugs: relocations now works.
- Encode enums in custom attributes.
- Compute memberrefs tokens before visitings types.
-
- * Mono.Cecil.Implem/FieldDefinition.cs:
- Correct a bug that causes null ref due to
- the new api.
- * Mono.Cecil.Signatures/SignatureWriter.cs:
- Implement a very little more custom attributes
- writing.
-
-2005-08-26 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/IMemberReferenceCollection.cs
- Mono.Cecil/IReflectionVisitor.cs
- Mono.Cecil/IReflectionFactories.cs
- Mono.Cecil/BaseReflectionVisitor.cs
- Mono.Cecil/IModuleDefinition.cs
- CodeGen/cecil.xml
- Mono.Cecil.Implem/ReflectionFactories.cs
- Mono.Cecil.Implem/ReflectionHelper.cs
- Mono.Cecil.Implem/ModuleDefinition.cs
- Mono.Cecil.Implem/MemberReferenceCollection.cs
- Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/ParameterDefinition.cs:
- Handle member references nicely.
-
- * Mono.Cecil/ICustomAttributeProvider.cs
- Mono.Cecil/IModuleDefinitionCollection.cs
- Mono.Cecil/IReflectionStructureFactories.cs
- Mono.Cecil/IInterfaceCollection.cs
- Mono.Cecil/IMethod.cs
- Mono.Cecil/IReflectionFactories.cs
- Mono.Cecil/INestedTypeCollection.cs
- Mono.Cecil/ITypeReferenceCollection.cs
- Mono.Cecil/IExternTypeCollection.cs
- Mono.Cecil/IAssemblyDefinition.cs
- Mono.Cecil/ITypeDefinition.cs
- Mono.Cecil/ICustomAttribute.cs
- Mono.Cecil/IArrayDimensionCollection.cs
- Mono.Cecil/TypeFactory.cs
- Mono.Cecil/IConstructorCollection.cs
- Mono.Cecil/IHasSecurity.cs
- Mono.Cecil/IMethodDefinitionCollection.cs
- Mono.Cecil/IPropertyDefinitionCollection.cs
- Mono.Cecil/IAssemblyNameReferenceCollection.cs
- Mono.Cecil/IModuleReferenceCollection.cs
- Mono.Cecil/IArrayType.cs
- Mono.Cecil/ISecurityDeclarationCollection.cs
- Mono.Cecil/IModuleDefinition.cs
- Mono.Cecil/IResourceCollection.cs
- Mono.Cecil/IParameterDefinitionCollection.cs
- Mono.Cecil/IEventDefinitionCollection.cs
- Mono.Cecil/ITypeDefinitionCollection.cs
- Mono.Cecil/IFieldDefinitionCollection.cs
- Mono.Cecil/ICustomAttributeCollection.cs
- Mono.Cecil/ISecurityDeclaration.cs
- Mono.Cecil/IOverrideCollection.cs
- Mono.Cecil/ITypeReference.cs
- Mono.Cecil.Cil/IExceptionHandlerCollection.cs
- Mono.Cecil.Cil/IVariableDefinitionCollection.cs
- Mono.Cecil.Cil/IInstructionCollection.cs
- Mono.Cecil.Cil/IMethodBody.cs
- CodeGen/cecil-gen-types.rb
- CodeGen/templates/ImageWriter.cs
- CodeGen/templates/IndexedCollectionImplem.cs
- CodeGen/templates/NamedCollectionImplem.cs
- CodeGen/templates/IIndexedCollection.cs
- CodeGen/templates/LzIndexedCollectionImplem.cs
- CodeGen/templates/INamedCollection.cs
- CodeGen/templates/LzNamedCollectionImplem.cs
- Mono.Cecil.Implem/InterfaceCollection.cs
- Mono.Cecil.Implem/AssemblyLinkedResource.cs
- Mono.Cecil.Implem/ModuleReferenceCollection.cs
- Mono.Cecil.Implem/ExternTypeCollection.cs
- Mono.Cecil.Implem/SecurityDeclarationCollection.cs
- Mono.Cecil.Implem/ReflectionFactories.cs
- Mono.Cecil.Implem/ReflectionHelper.cs
- Mono.Cecil.Implem/OverrideCollection.cs
- Mono.Cecil.Implem/ArrayDimensionCollection.cs
- Mono.Cecil.Implem/EmbeddedResource.cs
- Mono.Cecil.Implem/CilWorker.cs
- Mono.Cecil.Implem/ParameterDefinitionCollection.cs
- Mono.Cecil.Implem/EventDefinitionCollection.cs
- Mono.Cecil.Implem/FieldDefinitionCollection.cs
- Mono.Cecil.Implem/PropertyDefinitionCollection.cs
- Mono.Cecil.Implem/ModuleDefinitionCollection.cs
- Mono.Cecil.Implem/CustomAttributeCollection.cs
- Mono.Cecil.Implem/VariableDefinitionCollection.cs
- Mono.Cecil.Implem/TypeReferenceCollection.cs
- Mono.Cecil.Implem/MemberDefinition.cs
- Mono.Cecil.Implem/StructureReader.cs
- Mono.Cecil.Implem/FunctionPointerType.cs
- Mono.Cecil.Implem/MethodDefinition.cs
- Mono.Cecil.Implem/EventDefinition.cs
- Mono.Cecil.Implem/FieldDefinition.cs
- Mono.Cecil.Implem/InstructionCollection.cs
- Mono.Cecil.Implem/VariableDefinition.cs
- Mono.Cecil.Implem/CustomAttribute.cs
- Mono.Cecil.Implem/ModuleDefinition.cs
- Mono.Cecil.Implem/MethodReference.cs
- Mono.Cecil.Implem/TypeReference.cs
- Mono.Cecil.Implem/StructureFactories.cs
- Mono.Cecil.Implem/TypeDefinitionCollection.cs
- Mono.Cecil.Implem/AssemblyNameReferenceCollection.cs
- Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/MethodReturnType.cs
- Mono.Cecil.Implem/MemberReference.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/Resource.cs
- Mono.Cecil.Implem/AssemblyDefinition.cs
- Mono.Cecil.Implem/TypeDefinition.cs
- Mono.Cecil.Implem/AggressiveReflectionReader.cs
- Mono.Cecil.Implem/CodeReader.cs
- Mono.Cecil.Implem/FieldReference.cs
- Mono.Cecil.Implem/MethodDefinitionCollection.cs
- Mono.Cecil.Implem/LazyReflectionReader.cs
- Mono.Cecil.Implem/LinkedResource.cs
- Mono.Cecil.Implem/ParameterDefinition.cs
- Mono.Cecil.Implem/PropertyDefinition.cs
- Mono.Cecil.Implem/MethodBody.cs
- Mono.Cecil.Implem/NestedTypeCollection.cs
- Mono.Cecil.Implem/ConstructorCollection.cs
- Mono.Cecil.Implem/ResourceCollection.cs
- Mono.Cecil.Implem/ExceptionHandlerCollection.cs
- Mono.Cecil.Binary/ImageWriter.cs
- Mono.Cecil.Binary/ImageReader.cs:
- Fix the writing API before the API freeze. Few things
- are not implemented, see todos.
-
-2005-08-20 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ITypeDefinition.cs
- Mono.Cecil/IModuleDefinition.cs
- Mono.Cecil/ITypeReference.cs
- Mono.Cecil.Implem/ReflectionHelper.cs
- Mono.Cecil.Implem/ModuleDefinition.cs
- Mono.Cecil.Implem/TypeReference.cs
- Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/TypeDefinition.cs:
- Add way to know if a type reference is a
- value type or not. This hack saved my life.
-
- * Mono.Cecil.Implem/CodeWriter.cs:
- Fix typespec emitting.
-
- * Mono.Cecil/IReflectionVisitor.cs
- Mono.Cecil/IMethod.cs
- Mono.Cecil/BaseReflectionVisitor.cs
- Mono.Cecil/ITypeDefinition.cs
- Mono.Cecil/IConstructorCollection.cs
- CodeGen/cecil.xml
- Mono.Cecil.Implem/MethodDefinition.cs
- Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/TypeDefinition.cs
- Mono.Cecil.Implem/ConstructorCollection.cs:
- Support constructors decently.
-
- * CodeGen/templates/Utilities.cs
- Mono.Cecil.Metadata/Utilities.cs:
- Return a null token if the rid of a md token
- is 0. Fix the crash when Mono try to read
- assemblies emitted by Cecil.
-
-2005-08-19 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Implem/ReflectionWriter.cs:
- Set the RVA of a method only if it can
- have a body.
- * Mono.Cecil.Signatures/SignatureReader.cs:
- Remove debugging stuff.
-
- * Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Signatures/SignatureReader.cs:
- Fix custom marshaller reading.
-
- * CodeGen/templates/NamedCollectionImplem.cs
- CodeGen/templates/LzNamedCollectionImplem.cs
- Mono.Cecil.Implem/ExternTypeCollection.cs
- Mono.Cecil.Implem/TypeReferenceCollection.cs
- Mono.Cecil.Implem/TypeDefinitionCollection.cs
- Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/TablesComparer.cs
- Mono.Cecil.Implem/Constants.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- Correct bugs in type* tables generations.
-
- * Mono.Cecil/IModuleDefinitionCollection.cs
- Mono.Cecil/IInterfaceCollection.cs
- Mono.Cecil/INestedTypeCollection.cs
- Mono.Cecil/ITypeReferenceCollection.cs
- Mono.Cecil/IExternTypeCollection.cs
- Mono.Cecil/IArrayDimensionCollection.cs
- Mono.Cecil/IMethodDefinitionCollection.cs
- Mono.Cecil/IPropertyDefinitionCollection.cs
- Mono.Cecil/IAssemblyNameReferenceCollection.cs
- Mono.Cecil/IModuleReferenceCollection.cs
- Mono.Cecil/ISecurityDeclarationCollection.cs
- Mono.Cecil/IResourceCollection.cs
- Mono.Cecil/IParameterDefinitionCollection.cs
- Mono.Cecil/IEventDefinitionCollection.cs
- Mono.Cecil/ITypeDefinitionCollection.cs
- Mono.Cecil/IFieldDefinitionCollection.cs
- Mono.Cecil/ICustomAttributeCollection.cs
- Mono.Cecil/IOverrideCollection.cs
- Mono.Cecil.Cil/IExceptionHandlerCollection.cs
- Mono.Cecil.Cil/IVariableDefinitionCollection.cs
- Mono.Cecil.Cil/IInstructionCollection.cs
- CodeGen/templates/IIndexedCollection.cs
- CodeGen/templates/INamedCollection.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Binary/SubSystem.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- On going change to the writing api. Not setter allowed on
- collections. Work on custom attribute encoding. Remove
- the Flags on Subsystem.
-
- * Mono.Cecil.dll.sources
- Mono.Cecil.Implem/ReflectionHelper.cs
- Mono.Cecil.Implem/TypeReference.cs
- Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/TypeDefinition.cs
- Mono.Cecil.Implem/TablesComparer.cs
- Mono.Cecil.Signatures/SignatureReader.cs:
- Fix the build.
- Stop to prefix typeref by the scope.
- Cecil will have buggy behaviour if it have to handle
- two typeref with the same namespace+name, but for the
- moment, let it like that.
-
- * Mono.Cecil/INestedTypeCollection.cs
- Mono.Cecil/IModuleReference.cs
- Mono.Cecil/ITypeReferenceCollection.cs
- Mono.Cecil/IAssemblyName.cs
- Mono.Cecil/IExternTypeCollection.cs
- Mono.Cecil/IMetadataScope.cs
- Mono.Cecil/IModuleDefinition.cs
- Mono.Cecil/IResourceCollection.cs
- Mono.Cecil/ITypeDefinitionCollection.cs
- CodeGen/templates/NamedCollectionImplem.cs
- CodeGen/templates/INamedCollection.cs
- CodeGen/templates/LzNamedCollectionImplem.cs
- CodeGen/cecil.xml
- Mono.Cecil.Metadata/RowCollection.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Metadata/MetadataToken.cs
- Mono.Cecil.Implem/TablesComparer.cs
- Mono.Cecil.Implem/ExternTypeCollection.cs
- Mono.Cecil.Implem/ReflectionHelper.cs
- Mono.Cecil.Implem/TypeReferenceCollection.cs
- Mono.Cecil.Implem/StructureReader.cs
- Mono.Cecil.Implem/StructureWriter.cs
- Mono.Cecil.Implem/ModuleDefinition.cs
- Mono.Cecil.Implem/TypeReference.cs
- Mono.Cecil.Implem/TypeDefinitionCollection.cs
- Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/TypeDefinition.cs
- Mono.Cecil.Implem/CodeReader.cs
- Mono.Cecil.Implem/CodeWriter.cs
- Mono.Cecil.Implem/Constants.cs
- Mono.Cecil.Implem/NestedTypeCollection.cs
- Mono.Cecil.Implem/ResourceCollection.cs
- Mono.Cecil.Signatures/SignatureReader.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- Correct some part of the API.
- Correct tons of bugs in the writing layer.
-
-2005-08-17 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/IField.cs
- CodeGen/cecil.xml
- Mono.Cecil.Metadata/MetadataReader.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Implem/ReflectionHelper.cs
- Mono.Cecil.Implem/StructureReader.cs
- Mono.Cecil.Implem/FieldDefinition.cs
- Mono.Cecil.Implem/BaseReflectionReader.cs
- Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/TypeDefinition.cs
- Mono.Cecil.Implem/AggressiveReflectionReader.cs
- Mono.Cecil.Implem/CodeReader.cs
- Mono.Cecil.Implem/IDetailReader.cs
- Mono.Cecil.Implem/CodeWriter.cs
- Mono.Cecil.Implem/LazyReflectionReader.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- Work on the working layer. Implement field initial
- data. Bugs.
-
-2005-08-16 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/CodeWriter.cs
- Mono.Cecil.Signatures/SignatureReader.cs:
- Implement local var sig writing.
-
- * Mono.Cecil.Implem/ArrayType.cs:
- Style.
- Mono.Cecil.Implem/ParameterDefinition.cs:
- Correct a bug in module obtention.
- Mono.Cecil.Signatures/SignatureReader.cs:
- Correct a bug in arrays's signature reading.
-
- * Mono.Cecil.dll.sources
- Mono.Cecil/IReflectionVisitor.cs
- Mono.Cecil/IModuleDefinitionCollection.cs
- Mono.Cecil/IInterfaceCollection.cs
- Mono.Cecil/IProperty.cs
- Mono.Cecil/BaseReflectionVisitor.cs
- Mono.Cecil/INestedTypeCollection.cs
- Mono.Cecil/ITypeReferenceCollection.cs
- Mono.Cecil/IParameter.cs
- Mono.Cecil/IExternTypeCollection.cs
- Mono.Cecil/IField.cs
- Mono.Cecil/IArrayDimensionCollection.cs
- Mono.Cecil/IMethodDefinitionCollection.cs
- Mono.Cecil/IPropertyDefinitionCollection.cs
- Mono.Cecil/IAssemblyNameReferenceCollection.cs
- Mono.Cecil/IModuleReferenceCollection.cs
- Mono.Cecil/IHasConstant.cs
- Mono.Cecil/ISecurityDeclarationCollection.cs
- Mono.Cecil/IMetadataTokenProvider.cs
- Mono.Cecil/IModuleDefinition.cs
- Mono.Cecil/BaseStructureVisitor.cs
- Mono.Cecil/IResourceCollection.cs
- Mono.Cecil/IParameterDefinitionCollection.cs
- Mono.Cecil/IEventDefinitionCollection.cs
- Mono.Cecil/ITypeDefinitionCollection.cs
- Mono.Cecil/IFieldDefinitionCollection.cs
- Mono.Cecil/ICustomAttributeCollection.cs
- Mono.Cecil/IOverrideCollection.cs
- Mono.Cecil.Cil/IExceptionHandlerCollection.cs
- Mono.Cecil.Cil/IVariableDefinitionCollection.cs
- Mono.Cecil.Cil/IInstructionCollection.cs
- CodeGen/cecil-gen.rb
- CodeGen/cecil-gen-types.rb
- CodeGen/templates/IndexedCollectionImplem.cs
- CodeGen/templates/NamedCollectionImplem.cs
- CodeGen/templates/IIndexedCollection.cs
- CodeGen/templates/LzIndexedCollectionImplem.cs
- CodeGen/templates/INamedCollection.cs
- CodeGen/templates/LzNamedCollectionImplem.cs
- CodeGen/cecil.xml
- Mono.Cecil.Metadata/MetadataRowWriter.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Implem/InterfaceCollection.cs
- Mono.Cecil.Implem/ModuleReferenceCollection.cs
- Mono.Cecil.Implem/ExternTypeCollection.cs
- Mono.Cecil.Implem/SecurityDeclarationCollection.cs
- Mono.Cecil.Implem/OverrideCollection.cs
- Mono.Cecil.Implem/ParameterDefinitionCollection.cs
- Mono.Cecil.Implem/EventDefinitionCollection.cs
- Mono.Cecil.Implem/FieldDefinitionCollection.cs
- Mono.Cecil.Implem/PropertyDefinitionCollection.cs
- Mono.Cecil.Implem/ModuleDefinitionCollection.cs
- Mono.Cecil.Implem/CustomAttributeCollection.cs
- Mono.Cecil.Implem/VariableDefinitionCollection.cs
- Mono.Cecil.Implem/TypeReferenceCollection.cs
- Mono.Cecil.Implem/StructureReader.cs
- Mono.Cecil.Implem/MethodDefinition.cs
- Mono.Cecil.Implem/EventDefinition.cs
- Mono.Cecil.Implem/FieldDefinition.cs
- Mono.Cecil.Implem/InstructionCollection.cs
- Mono.Cecil.Implem/StructureWriter.cs
- Mono.Cecil.Implem/ModuleDefinition.cs
- Mono.Cecil.Implem/MethodReference.cs
- Mono.Cecil.Implem/TypeReference.cs
- Mono.Cecil.Implem/TypeDefinitionCollection.cs
- Mono.Cecil.Implem/AssemblyNameReferenceCollection.cs
- Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/MethodReturnType.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/AssemblyDefinition.cs
- Mono.Cecil.Implem/TypeDefinition.cs
- Mono.Cecil.Implem/AggressiveReflectionReader.cs
- Mono.Cecil.Implem/MethodDefinitionCollection.cs
- Mono.Cecil.Implem/CodeWriter.cs
- Mono.Cecil.Implem/LazyReflectionReader.cs
- Mono.Cecil.Implem/ParameterDefinition.cs
- Mono.Cecil.Implem/PropertyDefinition.cs
- Mono.Cecil.Implem/NestedTypeCollection.cs
- Mono.Cecil.Implem/ResourceCollection.cs
- Mono.Cecil.Implem/ExceptionHandlerCollection.cs
- Mono.Cecil.Signatures/SignatureReader.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- Working on the writing layer.
- Begin to fix brokens part of the API.
-
-2005-08-15 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/ITypeDefinition.cs
- CodeGen/templates/MetadataTableReader.cs
- CodeGen/templates/PEFileHeader.cs
- CodeGen/templates/ImageWriter.cs
- CodeGen/templates/CLIHeader.cs
- CodeGen/templates/PEOptionalHeader.cs
- CodeGen/templates/MetadataTableWriter.cs
- CodeGen/templates/Table.cs
- CodeGen/templates/MetadataRowReader.cs
- CodeGen/templates/BaseMetadataVisitor.cs
- CodeGen/templates/Section.cs
- CodeGen/templates/MetadataRowWriter.cs
- CodeGen/templates/ImageReader.cs
- CodeGen/templates/IMetadataVisitor.cs
- Mono.Cecil.Metadata/Assembly.cs
- Mono.Cecil.Metadata/PropertyMap.cs
- Mono.Cecil.Metadata/InterfaceImpl.cs
- Mono.Cecil.Metadata/MetadataInitializer.cs
- Mono.Cecil.Metadata/Constant.cs
- Mono.Cecil.Metadata/MethodSpec.cs
- Mono.Cecil.Metadata/BaseMetadataVisitor.cs
- Mono.Cecil.Metadata/DeclSecurity.cs
- Mono.Cecil.Metadata/TypeDef.cs
- Mono.Cecil.Metadata/MethodImpl.cs
- Mono.Cecil.Metadata/GenericParamConstraint.cs
- Mono.Cecil.Metadata/NestedClass.cs
- Mono.Cecil.Metadata/MetadataTableReader.cs
- Mono.Cecil.Metadata/AssemblyRefProcessor.cs
- Mono.Cecil.Metadata/AssemblyRef.cs
- Mono.Cecil.Metadata/AssemblyRefOS.cs
- Mono.Cecil.Metadata/Method.cs
- Mono.Cecil.Metadata/RowCollection.cs
- Mono.Cecil.Metadata/MetadataTableWriter.cs
- Mono.Cecil.Metadata/StringsHeap.cs
- Mono.Cecil.Metadata/MetadataRowReader.cs
- Mono.Cecil.Metadata/ExportedType.cs
- Mono.Cecil.Metadata/CustomAttribute.cs
- Mono.Cecil.Metadata/Param.cs
- Mono.Cecil.Metadata/MetadataReader.cs
- Mono.Cecil.Metadata/ClassLayout.cs
- Mono.Cecil.Metadata/MetadataRowWriter.cs
- Mono.Cecil.Metadata/BlobHeap.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Metadata/AssemblyOS.cs
- Mono.Cecil.Metadata/ModuleRef.cs
- Mono.Cecil.Metadata/MetadataRoot.cs
- Mono.Cecil.Metadata/UserStringsHeap.cs
- Mono.Cecil.Metadata/FieldMarshal.cs
- Mono.Cecil.Metadata/GenericParam.cs
- Mono.Cecil.Metadata/ImplMap.cs
- Mono.Cecil.Metadata/TableCollection.cs
- Mono.Cecil.Metadata/TablesHeap.cs
- Mono.Cecil.Metadata/MetadataStreamCollection.cs
- Mono.Cecil.Metadata/ManifestResource.cs
- Mono.Cecil.Metadata/TypeRef.cs
- Mono.Cecil.Metadata/AssemblyProcessor.cs
- Mono.Cecil.Metadata/EventMap.cs
- Mono.Cecil.Metadata/File.cs
- Mono.Cecil.Metadata/Event.cs
- Mono.Cecil.Metadata/FieldLayout.cs
- Mono.Cecil.Metadata/Field.cs
- Mono.Cecil.Metadata/Property.cs
- Mono.Cecil.Metadata/Module.cs
- Mono.Cecil.Metadata/GuidHeap.cs
- Mono.Cecil.Metadata/MethodSemantics.cs
- Mono.Cecil.Metadata/StandAloneSig.cs
- Mono.Cecil.Metadata/MetadataStream.cs
- Mono.Cecil.Metadata/FieldRVA.cs
- Mono.Cecil.Metadata/TypeSpec.cs
- Mono.Cecil.Metadata/MemberRef.cs
- Mono.Cecil.Metadata/IMetadataVisitor.cs
- Mono.Cecil.Implem/TypeDefinition.cs
- Mono.Cecil.Signatures/MethodRefSig.cs
- Mono.Cecil.Signatures/SignatureReader.cs
- Mono.Cecil.Signatures/FieldSig.cs
- Mono.Cecil.Signatures/PropertySig.cs
- Mono.Cecil.Signatures/ISignatureVisitor.cs
- Mono.Cecil.Signatures/SignatureWriter.cs
- Mono.Cecil.Signatures/MethodDefSig.cs
- Mono.Cecil.Signatures/LocalVarSig.cs
- Mono.Cecil.Binary/PEFileHeader.cs
- Mono.Cecil.Binary/IBinaryVisitor.cs
- Mono.Cecil.Binary/ImageWriter.cs
- Mono.Cecil.Binary/CLIHeader.cs
- Mono.Cecil.Binary/SectionCollection.cs
- Mono.Cecil.Binary/Image.cs
- Mono.Cecil.Binary/PEOptionalHeader.cs
- Mono.Cecil.Binary/ImageInitializer.cs
- Mono.Cecil.Binary/Imports.cs
- Mono.Cecil.Binary/BaseImageVisitor.cs
- Mono.Cecil.Binary/DOSHeader.cs
- Mono.Cecil.Binary/Section.cs
- Mono.Cecil.Binary/ImageReader.cs:
- Apply the new visitor model to the rest of Cecil.
-
- * Mono.Cecil/IReflectionVisitor.cs
- Mono.Cecil/BaseReflectionVisitor.cs
- Mono.Cecil/IReflectionStructureVisitor.cs
- Mono.Cecil/BaseStructureVisitor.cs
- Mono.Cecil.Cil/BaseCodeVisitor.cs
- Mono.Cecil.Cil/ICodeVisitor.cs
- CodeGen/cecil-gen.rb
- CodeGen/cecil-gen-types.rb
- CodeGen/templates/IndexedCollectionImplem.cs
- CodeGen/templates/NamedCollectionImplem.cs
- CodeGen/templates/LzIndexedCollectionImplem.cs
- CodeGen/templates/LzNamedCollectionImplem.cs
- CodeGen/cecil.xml
- Mono.Cecil.Implem/InterfaceCollection.cs
- Mono.Cecil.Implem/AssemblyLinkedResource.cs
- Mono.Cecil.Implem/ModuleReferenceCollection.cs
- Mono.Cecil.Implem/AssemblyName.cs
- Mono.Cecil.Implem/Instruction.cs
- Mono.Cecil.Implem/ExternTypeCollection.cs
- Mono.Cecil.Implem/MarshalDesc.cs
- Mono.Cecil.Implem/SecurityDeclarationCollection.cs
- Mono.Cecil.Implem/OverrideCollection.cs
- Mono.Cecil.Implem/ExceptionHandler.cs
- Mono.Cecil.Implem/EmbeddedResource.cs
- Mono.Cecil.Implem/ModuleReference.cs
- Mono.Cecil.Implem/ParameterDefinitionCollection.cs
- Mono.Cecil.Implem/EventDefinitionCollection.cs
- Mono.Cecil.Implem/FieldDefinitionCollection.cs
- Mono.Cecil.Implem/PropertyDefinitionCollection.cs
- Mono.Cecil.Implem/ModuleDefinitionCollection.cs
- Mono.Cecil.Implem/CustomAttributeCollection.cs
- Mono.Cecil.Implem/VariableDefinitionCollection.cs
- Mono.Cecil.Implem/TypeReferenceCollection.cs
- Mono.Cecil.Implem/StructureReader.cs
- Mono.Cecil.Implem/MethodDefinition.cs
- Mono.Cecil.Implem/EventDefinition.cs
- Mono.Cecil.Implem/FieldDefinition.cs
- Mono.Cecil.Implem/InstructionCollection.cs
- Mono.Cecil.Implem/StructureWriter.cs
- Mono.Cecil.Implem/ModuleDefinition.cs
- Mono.Cecil.Implem/CustomAttribute.cs
- Mono.Cecil.Implem/VariableDefinition.cs
- Mono.Cecil.Implem/TypeReference.cs
- Mono.Cecil.Implem/TypeDefinitionCollection.cs
- Mono.Cecil.Implem/AssemblyNameReferenceCollection.cs
- Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/PInvokeInfo.cs
- Mono.Cecil.Implem/AssemblyDefinition.cs
- Mono.Cecil.Implem/TypeDefinition.cs
- Mono.Cecil.Implem/CodeReader.cs
- Mono.Cecil.Implem/AggressiveReflectionReader.cs
- Mono.Cecil.Implem/MethodDefinitionCollection.cs
- Mono.Cecil.Implem/CodeWriter.cs
- Mono.Cecil.Implem/SecurityDeclaration.cs
- Mono.Cecil.Implem/LazyReflectionReader.cs
- Mono.Cecil.Implem/LinkedResource.cs
- Mono.Cecil.Implem/ParameterDefinition.cs
- Mono.Cecil.Implem/PropertyDefinition.cs
- Mono.Cecil.Implem/MethodBody.cs
- Mono.Cecil.Implem/NestedTypeCollection.cs
- Mono.Cecil.Implem/ResourceCollection.cs
- Mono.Cecil.Implem/ExceptionHandlerCollection.cs:
- BIG changes in the visitor object model. Last one
- was causing ambiguous calls, and does not provides
- differences between an interface and a typedef for
- instance. This is corrected by suffixing the visit
- method by the name of what it is visiting, and by
- configuring some collection to stop the propagation
- of the visitor.
-
- * Mono.Cecil/ITypeDefinition.cs
- Mono.Cecil/IArrayType.cs
- CodeGen/templates/Utilities.cs
- Mono.Cecil.Metadata/Utilities.cs
- Mono.Cecil.Implem/ArrayType.cs
- Mono.Cecil.Implem/TypeReference.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/TypeDefinition.cs
- Mono.Cecil.Implem/CodeWriter.cs
- Mono.Cecil.Implem/Constants.cs
- Mono.Cecil.Signatures/MarshalSig.cs:
- Work on the writing layer goes on.
-
-2005-08-14 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/NativeType.cs
- Mono.Cecil.Signatures/MarshalSig.cs
- Mono.Cecil.Signatures/SignatureWriter.cs
- Mono.Cecil.Signatures/Signature.cs:
- Work on signature writing.
- Mono.Cecil.Implem/MethodDefinition.cs
- Mono.Cecil.Implem/TypeDefinition.cs:
- Correct bugs in setting the hasThis field.
-
- * CodeGen/templates/ImageWriter.cs
- Mono.Cecil.Binary/templates/ImageWriter.cs
- Mono.Cecil/AssemblyKind.cs:
- Make assemblies executable on win32.
- Mono.Cecil.Implem/TypeDefinition.cs:
- Mark new fields as loaded.
- Mono.Cecil.Implem/ReflectionWriter.cs:
- Correct the style to patch provided by
- Sebastien Ros <s.ros@evaluant.com>
-
-2005-08-13 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/IMethod.cs
- Mono.Cecil/ITypeDefinition.cs
- Mono.Cecil/IModuleDefinition.cs
- Mono.Cecil.Cil/OpCode.cs
- Mono.Cecil.Cil/ICilWorker.cs
- CodeGen/templates/ImageReader.cs
- Mono.Cecil.Metadata/MetadataReader.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Metadata/MetadataRoot.cs
- Mono.Cecil.Implem/ReflectionHelper.cs
- Mono.Cecil.Implem/CilWorker.cs
- Mono.Cecil.Implem/StructureReader.cs
- Mono.Cecil.Implem/MethodDefinition.cs
- Mono.Cecil.Implem/StructureWriter.cs
- Mono.Cecil.Implem/ModuleDefinition.cs
- Mono.Cecil.Implem/MethodReference.cs
- Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/TypeDefinition.cs
- Mono.Cecil.Implem/CodeReader.cs
- Mono.Cecil.Implem/CodeWriter.cs
- Mono.Cecil.Implem/Constants.cs
- Mono.Cecil.Implem/ParameterDefinition.cs
- Mono.Cecil.Implem/MethodBody.cs
- Mono.Cecil.Binary/ImageReader.cs
- Mono.Cecil.Binary/MemoryBinaryWriter.cs
- Mono.Cecil.Signatures/SignatureReader.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- On going work on the writing layer.
-
- * Mono.Cecil.Signatures/SignatureReader.cs:
- Fix a bug when reading chars inside a custom
- attribute signature.
-
-2005-08-12 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/AssemblyFactory.cs
- CodeGen/templates/ImageWriter.cs
- CodeGen/templates/MetadataTableWriter.cs
- CodeGen/templates/MetadataRowWriter.cs
- Mono.Cecil.Metadata/MetadataTableWriter.cs
- Mono.Cecil.Metadata/MetadataRowWriter.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Implem/StructureWriter.cs
- Mono.Cecil.Binary/ImageWriter.cs
- Mono.Cecil.Binary/MemoryBinaryWriter.cs:
- Use a custom binary writer instead of the old one.
-
- * Mono.Cecil/IMethod.cs
- Mono.Cecil.Cil/BaseCodeVisitor.cs
- Mono.Cecil.Cil/MethodHeader.cs
- Mono.Cecil.Cil/ICodeVisitor.cs
- Mono.Cecil.Implem/Instruction.cs
- Mono.Cecil.Implem/MethodDefinition.cs
- Mono.Cecil.Implem/FieldDefinition.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/CodeReader.cs
- Mono.Cecil.Implem/CodeWriter.cs
- Mono.Cecil.Implem/MethodBody.cs:
- Ongoing work on the writing layer.
-
- * CodeGen/templates/Utilities.cs
- CodeGen/templates/NamedCollectionImplem.cs
- CodeGen/templates/MetadataRowWriter.cs
- CodeGen/templates/LzNamedCollectionImplem.cs
- CodeGen/cecil.xml
- Mono.Cecil/IMethod.cs
- Mono.Cecil/IAssemblyName.cs
- Mono.Cecil/IModuleDefinition.cs
- Mono.Cecil/AssemblyFactory.cs
- Mono.Cecil.Metadata/MetadataRowWriter.cs
- Mono.Cecil.Metadata/Utilities.cs
- Mono.Cecil.Implem/ReflectionHelper.cs
- Mono.Cecil.Implem/StructureReader.cs
- Mono.Cecil.Implem/MethodDefinition.cs
- Mono.Cecil.Implem/EventDefinition.cs
- Mono.Cecil.Implem/FieldDefinition.cs
- Mono.Cecil.Implem/StructureWriter.cs
- Mono.Cecil.Implem/ModuleDefinition.cs
- Mono.Cecil.Implem/MethodReference.cs
- Mono.Cecil.Implem/TypeDefinitionCollection.cs
- Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/TypeDefinition.cs
- Mono.Cecil.Implem/AggressiveReflectionReader.cs
- Mono.Cecil.Implem/Constants.cs
- Mono.Cecil.Implem/ParameterDefinition.cs
- Mono.Cecil.Implem/PropertyDefinition.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- Ongoing work on the writing layer.
- Some fixes to the reading layer as well.
-
-2005-08-11 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Signatures/SignatureReader.cs:
- Read Array signatures correctly.
-
- * Mono.Cecil/IMethodSignature.cs:
- Remove the setted for the return type.
- * Mono.Cecil.Implem/CilWorker.cs:
- Fix the build. Me idiot!
- * Mono.Cecil.Implem/Constants.cs:
- Remove unexisting type Variant.
- * Mono.Cecil.Implem/ReflectionHelper.cs:
- Complete the helper.
-
-2005-08-10 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Cil/IMethodBody.cs
- Mono.Cecil.Cil/ICilEmitter.cs
- Mono.Cecil.Cil/ICilWorker.cs
- Mono.Cecil.Implem/CilWorker.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/MethodBody.cs
- Mono.Cecil.Implem/CilEmitter.cs
- Mono.Cecil.Signatures/SignatureReader.cs
- Mono.Cecil.Signatures/SignatureWriter.cs:
- Prepare the api for the cil emitting.
-
- * CodeGen/templates/Utilities.cs
- CodeGen/templates/MetadataRowReader.cs
- CodeGen/templates/MetadataRowWriter.cs
- Mono.Cecil.Metadata/Utilities.cs
- Mono.Cecil.Metadata/MetadataRowReader.cs
- Mono.Cecil.Metadata/MetadataRowWriter.cs:
- Fix the build on .net, i was using a sugar
- syntax for delegates that csc does not understand.
- Remove the coded index cache from the static class
- Utilities, and add one per row visitor.
-
- * Mono.Cecil/IMethodReturnType.cs
- Mono.Cecil.Implem/MethodReturnType.cs
- Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/ParameterDefinition.cs:
- Make IMethodReturn type inherits IHasMarshalSpec so
- that users can read marshaling info for return types,
- and implement it.
-
- * CodeGen/templates/ImageWriter.cs
- Mono.Cecil.Binary/ImageWriter.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Implem/ReflectionWriter.cs:
- Cecil now emits assemblies understood by the .net clr.
-
-2005-08-09 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/AssemblyKind.cs
- CodeGen/templates/ImageWriter.cs
- CodeGen/templates/ImageReader.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Binary/ImageWriter.cs
- Mono.Cecil.Binary/ImageInitializer.cs
- Mono.Cecil.Binary/ImageReader.cs:
- Lots of little fixes. Now dumpbin is coherent
- compared with an assembly emitted with csc or mcs
- but still not yet compatible with .net.
-
- * Mono.Cecil.Signatures/SignatureReader.cs:
- Fix an array out of range while trying to read
- fixed arrays signatures
-
- * CodeGen/templates/ImageWriter.cs
- Mono.Cecil.Metadata/MetadataReader.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Implem/AssemblyName.cs
- Mono.Cecil.Implem/StructureReader.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Binary/ImageCharacteristics.cs
- Mono.Cecil.Binary/ImageWriter.cs
- Mono.Cecil.Binary/Image.cs:
- Cecil now emits assemblies that are understood
- by Mono and Cecil itself. Still have troubles
- with Msft CLR.
-
-2005-08-08 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/cecil-gen.rb
- CodeGen/templates/MetadataTableReader.cs
- CodeGen/templates/ImageWriter.cs
- CodeGen/templates/MetadataTableWriter.cs
- CodeGen/templates/BaseMetadataVisitor.cs
- CodeGen/templates/MetadataRowReader.cs
- CodeGen/templates/MetadataRowWriter.cs
- CodeGen/cecil.xml
- Mono.Cecil.Metadata/MetadataInitializer.cs
- Mono.Cecil.Metadata/BaseMetadataVisitor.cs
- Mono.Cecil.Metadata/MetadataTableReader.cs
- Mono.Cecil.Metadata/MetadataTableWriter.cs
- Mono.Cecil.Metadata/MetadataRowReader.cs
- Mono.Cecil.Metadata/MetadataRowWriter.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Binary/ImageWriter.cs
- Mono.Cecil.Binary/CLIHeader.cs
- Mono.Cecil.Binary/ImageInitializer.cs:
- The writing layer almost works.
-
- * Mono.Cecil/AssemblyKind.cs
- Mono.Cecil/TargetRuntime.cs
- Mono.Cecil.dll.sources:
- Add thoses enumes to control assembly writing.
- * Mono.Cecil/AssemblyFactory.cs
- Mono.Cecil/IReflectionVisitor.cs
- Mono.Cecil/BaseReflectionVisitor.cs
- Mono.Cecil/IAssemblyDefinition.cs
- Mono.Cecil/IReflectionStructureVisitor.cs
- Mono.Cecil/BaseStructureVisitor.cs
- CodeGen/templates/ImageWriter.cs
- CodeGen/templates/MetadataTableWriter.cs
- CodeGen/templates/MetadataRowWriter.cs
- CodeGen/templates/LzNamedCollectionImplem.cs
- Mono.Cecil.Metadata/MetadataInitializer.cs
- Mono.Cecil.Metadata/MetadataTableWriter.cs
- Mono.Cecil.Metadata/MetadataRowWriter.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Metadata/MetadataStreamCollection.cs
- Mono.Cecil.Implem/AssemblyName.cs
- Mono.Cecil.Implem/StructureWriter.cs
- Mono.Cecil.Implem/ModuleDefinition.cs
- Mono.Cecil.Implem/TypeDefinitionCollection.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/AssemblyDefinition.cs
- Mono.Cecil.Binary/ImageWriter.cs
- Mono.Cecil.Binary/ImageInitializer.cs
- Mono.Cecil.Binary/Imports.cs:
- Things are now plugged. SaveAssembly will now emits
- a binary file. A broken file, but heh, at least it does.
-
-2005-08-07 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/templates/ImageReader.cs
- CodeGen/templates/ImageWriter.cs
- CodeGen/templates/IMetadataVisitor.cs
- Mono.Cecil.Binary/ImageReader.cs
- Mono.Cecil.Binary/ImageWriter.cs
- Mono.Cecil.Metadata/IMetadataVisitor.cs
- Mono.Cecil.Metadata/BaseMetadataVisitor.cs
- Mono.Cecil.Metadata/MetadataReader.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Metadata/MetadataStreamCollection.cs:
- Simplify IMetadataVisitor.
- Work on the writing layer, closer to have something testable
- than ever.
-
- * CodeGen/cecil.xml
- CodeGen/templates/ImageWriter.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Binary/PEOptionalHeader.cs
- Mono.Cecil.Binary/ImageWriter.cs
- Mono.Cecil.Binary/Imports.cs:
- don't stop don't stop come ON!
-
- * CodeGen/templates/ImageWriter.cs
- CodeGen/templates/ImageReader.cs
- CodeGen/templates/Section.cs
- Mono.Cecil.Binary/Image.cs
- Mono.Cecil.Binary/ImageReader.cs
- Mono.Cecil.Binary/ImageInitializer.cs
- Mono.Cecil.Binary/ImageWriter.cs
- Mono.Cecil.Binary/Section.cs
- Mono.Cecil.Metadata/MetadataReader.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Implem/StructureReader.cs
- Mono.Cecil.Implem/StructureWriter.cs
- Mono.Cecil.Implem/CodeWriter.cs:
- Some writing layer love.
-
- * CodeGen/templates/ImageWriter.cs
- CodeGen/templates/ImageReader.cs
- Mono.Cecil.Binary/Imports.cs
- Mono.Cecil.Binary/ImageReader.cs
- Mono.Cecil.Binary/ImageInitializer.cs
- Mono.Cecil.Binary/ImageWriter.cs:
- Read an write correctly the Hint/Name table
- at the end of the .text section.
-
- * CodeGen/templates/ImageWriter.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Binary/ImageWriter.cs
- Mono.Cecil.Binary/ImageInitializer.cs:
- More writing layer stuff.
-
-2005-08-06 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/templates/ImageWriter.cs
- CodeGen/templates/MetadataTableWriter.cs
- Mono.Cecil.Metadata/MetadataInitializer.cs
- Mono.Cecil.Metadata/MetadataTableWriter.cs
- Mono.Cecil.Metadata/StringsHeap.cs
- Mono.Cecil.Metadata/BlobHeap.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Metadata/UserStringsHeap.cs
- Mono.Cecil.Metadata/TableCollection.cs
- Mono.Cecil.Metadata/TablesHeap.cs
- Mono.Cecil.Metadata/MetadataHeap.cs
- Mono.Cecil.Metadata/GuidHeap.cs
- Mono.Cecil.Metadata/MetadataStream.cs
- Mono.Cecil.Implem/StructureWriter.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/CodeWriter.cs
- Mono.Cecil.Binary/ImageWriter.cs
- Mono.Cecil.Binary/ImageInitializer.cs:
- Playing lego with bricks from the writing layer.
-
- * Mono.Cecil.dll.sources:
- Updated.
- * CodeGen/templates/CLIHeader.cs
- CodeGen/templates/PEOptionalHeader.cs
- Blah.
- * CodeGen/cecil.xml
- Mono.Cecil.Binary/CLIHeader.cs
- Mono.Cecil.Binary/PEOptionalHeader.cs:
- Mono.Cecil.Binary/PEFileHeader.cs
- On going work on the writing layer
-
- * CodeGen/templates/ImageWriter.cs
- CodeGen/templates/ImageReader.cs
- Mono.Cecil.Binary/BaseImageVisitor.cs
- Mono.Cecil.Binary/ImageReader.cs
- Mono.Cecil.Binary/ImageInitializer.cs
- Mono.Cecil.Binary/ImageWriter.cs
- Mono.Cecil.Metadata/BaseMetadataVisitor.cs
- Mono.Cecil.Metadata/MetadataReader.cs
- Mono.Cecil.Metadata/MetadataInitializer.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Metadata/MetadataStream.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/CodeWriter.cs:
- Add helpers visitor.
- On going work on the writing layer.
-
- * CodeGen/templates/Utilities.cs
- CodeGen/templates/MetadataRowReader.cs
- CodeGen/templates/MetadataRowWriter.cs
- Mono.Cecil.Metadata/StringsHeap.cs
- Mono.Cecil.Metadata/MetadataRowReader.cs
- Mono.Cecil.Metadata/MetadataRowWriter.cs
- Mono.Cecil.Metadata/MetadataReader.cs
- Mono.Cecil.Metadata/Utilities.cs
- Mono.Cecil.Metadata/BlobHeap.cs
- Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Metadata/MetadataHeap.cd
- Mono.Cecil.Metadata/GuidHeap.cs:
- On going work on the writing layer.
-
- * CodeGen/templates/MetadataTableWriter.cs
- Mono.Cecil.Metadata/MetadataTableWriter.cs
- Mono.Cecil.Metadata/MetadataWriter.cs:
- On going work on the writing layer.
- * Mono.Cecil.Implem/StructureWriter.cs:
- Correctly override methods
- * CodeGen/templates/MetadataRowWriter.cs
- Mono.Cecil.Metadata/MetadataRowWriter.cs
- Mono.Cecil.Implem/ReflectionWriter.cs:
- Fix build warnings.
-
- * Mono.Cecil/IResource.cs
- Mono.Cecil.Implem/AssemblyLinkedResource.cs
- Mono.Cecil.Implem/EmbeddedResource.cs
- Mono.Cecil.Implem/LinkedResource.cs
- Mono.Cecil.Implem/Resource.cs:
- Rename field Attributes to Flags for the sake of consistency.
- * Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Implem/ReflectionWriter.cs
- Mono.Cecil.Implem/StructureWriter.cs:
- On going work on the writing layer.
- * Mono.Cecil.Implem/StructureReader.cs:
- Style.
-
- * Mono.Cecil/IAssemblyName.cs
- Mono.Cecil.Implem/AssemblyName.cs
- Mono.Cecil.Implem/StructureReader.cs:
- Add an AssemblyFlag property to an IAssemblyNameReference,
- implement it, and read it.
-
-2005-08-04 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Implem/ReflectionReader.cs:
- set a correct name to nameless parameters
-
- * Mono.Cecil.Signatures/SignatureReader.cs:
- don't crash on null custom attributes
-
-2005-08-03 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/templates/OpCodes.cs
- Mono.Cecil.Cil/OpCodes.cs
- Mono.Cecil.Cil/OpCode.cs:
- Revert modifications to reduce code. OpCodes::.ctors were
- not called.
-
- * Mono.Cecil.Implem/ReflectionReader.cs:
- Make sure parameters are read even if there is no
- corresponding Param row. Thanks Cesar for the hint.
-
- * Mono.Cecil.Metadata/MetadataWriter.cs
- Mono.Cecil.Metadata/UserStringsHeap.cs
- Mono.Cecil.Metadata/GuidHeap.cs
- Mono.Cecil.Implem/CodeReader.cs:
- On going work on the writing layer
-
- * CodeGen/cecil-gen.rb
- CodeGen/cecil-gen-sources.rb
- make executable
- * *.*: set svn:eol-style to native
-
- * 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 <jbevain@gmail.com>
-
- * Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/AggressiveReflectionReader.cs
- Mono.Cecil.Implem/LazyReflectionReader.cs
- Mono.Cecil.Implem/CodeReader.cs:
- Modify and add helpers to avoid lots of casts.
- Correct a bug in custom attributes attribution.
-
-2005-08-02 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Signatures/TypeSpec.cs:
- Don't restrain the SigType
- * Mono.Cecil.Implem/AggressiveReflectionReader.cs:
- Set PInvokeInfos on the correct method
-
-2005-07-30 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/cecil-gen.rb
- CodeGen/cecil-gen-sources.rb:
- make them executable
- * CodeGen/cecil-gen-types: style
- * CodeGen/templates/ImageWriter.cs
- Mono.Cecil.Binary/ImageWriter.cs:
- Prelimimary work on assembly writing
-
-2005-07-29 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/cecil-gen-types.rb
- CodeGen/templates/MetadataTableWriter.cs
- CodeGen/templates/MetadataRowWriter.cs
- Mono.Cecil/AssemblyFactory.cs
- Mono.Cecil.Metadata/MetadataTableWriter.cs
- Mono.Cecil.Metadata/MetadataRowWriter.cs
- Mono.Cecil.Implem/StructureWriter.cs
- Mono.Cecil.Implem/ReflectionWriter.cs:
- Preliminary work on assembly writing
-
-2005-07-28 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/AssemblyFactory.cs
- Mono.Cecil.Implem/StructureWriter.cs
- Preliminary work on assembly writing
-
- * Mono.Cecil/IMetadataTokenProvider.cs
- Mono.Cecil/IMember.cs
- Mono.Cecil/IParameter.cs:
- Add a MetadataToken property on searchable items
- * Mono.Cecil.Metadata/MetadataToken.cs:
- Add a factory method to create token from row number
- * Mono.Cecil.Implem/TypeReference.cs
- Mono.Cecil.Implem/MemberReference.cs
- Mono.Cecil.Implem/ParameterDefinition.cs:
- Implement the token property
- * Mono.Cecil.Implem/ReflectionReader.cs
- Mono.Cecil.Implem/AggressiveReflectionReader.cs
- Mono.Cecil.Implem/LazyReflectionReader.cs:
- Set the token property on reading
- * Mono.Cecil/IModuleDefinition.cs
- Mono.Cecil.Implem/ModuleDefinition.cs
- Mono.Cecil.Implem/ReflectionReader.cs:
- Add methods to lookup items from their tokens
-
-2005-07-27 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/templates/OpCodes.cs
- Mono.Cecil.Cil/OpCodes.cs
- Mono.Cecil.Cil/OpCode.cs:
- Changes to reduce the size of the cache ctor
-
-2005-07-22 Raja R Harinath <rharinath@novell.com>
-
- * Makefile (MCS): Allow compiler to be overriden.
-
-2005-07-21 Todd Berman <tberman@off.net>
-
- * configure: Add a small stub configure (stolen from mcs) to set the
- prefix.
- * mono-cecil.pc.in: Add a mono-cecil.pc.in to allow for installation
- according to the new "Libraries with Unstable API" Wiki documentation.
- * Makefile: Add an install an a mono-cecil.pc target to allow for
- installation and creation of the pc file.
-
-2005-07-14 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/templates/ImageReader.cs
- Mono.Cecil.Binary/IBinaryVisitor.cs
- Mono.Cecil.Binary/Image.cs
- Mono.Cecil.Binary/ImageInitializer.cs
- Mono.Cecil.Binary/Imports.cs
- Mono.Cecil.Binary/ImageReader.cs:
- Read Imports Tables
-
-2005-07-14 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/cecil-gen.rb:
- make codegen works on ruby 1.8.2
- * CodeGen/templates/*.cs
- Mono.Cecil.Metadata/*.cs:
- style
-
-2005-07-13 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Implem/VariableDefinition.cs:
- set the index field
-
-2005-07-13 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.dll.sources: regenerated
- * Mono.Cecil.Signatures/SignatureReader.cs:
- Fix compilation warnings
- * Mono.Cecil/IArrayType.cs
- Mono.Cecil.Implem/ArrayType.cs:
- Add Rank helper property
- * Mono.Cecil/ITypeDefinition.cs
- Mono.Cecil.Implem/TypeDefinition.cs:
- Add Constructors helper property
-
-2005-07-11 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/IMethod.cs
- Mono.Cecil.Implem/Instruction.cs
- Mono.Cecil.Implem/ExceptionHandler.cs
- Mono.Cecil.Implem/MethodDefinition.cs
- Mono.Cecil.Implem/Label.cs
- Mono.Cecil.Implem/CodeReader.cs
- Mono.Cecil.Implem/MethodBody.cs
- Mono.Cecil.Implem/CilEmitter.cs
- Mono.Cecil.Cil/ILabel.cs
- Mono.Cecil.Cil/IInstruction.cs
- Mono.Cecil.Cil/IExceptionHandler.cs
- Mono.Cecil.Cil/IMethodBody.cs
- Mono.Cecil.Cil/ICilEmitter.cs:
- Preliminary changes on the instruction model before
- changing of latptop
-
-2005-07-08 Jb Evain <jbevain@gmail.com>
-
- * Every generated files: use \n instead of \r\n
-
-2005-07-07 Jb Evain <jbevain@gmail.com>
-
- * *.*: use Mono coding conventions
- * Mono.Xml/*.*: update Mono.Xml from corlib
- * Mono.Cecil.Metadata/CultureUtils.cs:
- Ensure that Cecil works under Mono
-
-2005-07-02 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil/IMethod.cs
- Mono.Cecil/IProperty.cs
- Mono.Cecil/IEvent.cs
- Mono.Cecil/IField.cs
- Mono.Cecil/ITypeDefinition.cs
- Mono.Cecil.Implem/MethodDefinition.cs
- Mono.Cecil.Implem/PropertyDefinition.cs
- Mono.Cecil.Implem/EventDefinition.cs
- Mono.Cecil.Implem/FieldDefinition.cs
- Mono.Cecil.Implem/TypeDefinition.cs:
- Add some funky sugar attributes,
- more to come
-
-2005-07-01 Jb Evain <jbevain@gmail.com>
-
- * CodeGen/cecil-gen.rb,
- CodeGen/templates/MetadataTableWriter.cs,
- CodeGen/templates/MetadataRowWriter.cs,
- Mono.Cecil.Metadata/MetadataTableWriter.cs,
- Mono.Cecil.Metadata/MetadataRowWriter.cs,
- Mono.Cecil.Metadata/MetadataWriter.cs:
- Add metadata writing visitors
- * Mono.Cecil.Metadata/CultureUtils.cs:
- Be sure to use every possible culture infos.
- * Mono.Cecil.Cil/IVariable.cs,
- Mono.Cecil.Implem/VariableDefinition.cs,
- Mono.Cecil.Implem/CodeReader.cs,
- Mono.Cecil.Implem/CilEmitter.cs:
- Add an index property to local variables
- * Mono.Cecil.Metadata/MetadataReader.cs,
- Mono.Cecil.Metadata/MetadataRowReader.cs,
- CodeGen/templates/MetadataRowReader.cs,
- Mono.Cecil.Metadata/TablesHeap.cs:
- Handles null heaps
- * Mono.Cecil.Implem/StructureWriter.cs,
- Mono.Cecil.Implem/ReflectionController.cs,
- Mono.Cecil.Implem/ReflectionWriter.cs:
- Assemble writing classes
-
-2005-06-28 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Implem/ReflectionReader.cs: style
- * Mono.Cecil.Implem/LazyReflectionReader.cs:
- read the last property as well.
-
-2005-06-21 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Implem/ReflectionReader.cs: Correct a bug that prevents
- assemblies to be readed if they have an entrypoint. Suggestion by
- Mario Sopena
- * Mono.Cecil.Implem/CodeReader.cs: Use sbyte not to lose negatives
- offsets. Suggestion by Vladislav Spivak
- * CodeGen/cecil.xml,
- Mono.Cecil.Cil/OpCodes.cs,
- Mono.Cecil.Cil/StackBehaviour.cs: Add an PopAll enumeration value
- for StackBehaviour, and set the StackBehaviourPop property for
- leave and leave.s opcodes to it. Suggested by Vladislav Spivak
-
-2005-06-12 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.Implem/TypeDefinition.cs: Set the declaring type
- to this when defining a nested type.
-
-2005-06-07 Jb Evain <jbevain@gmail.com>
-
- * Mono.Cecil.dll.sources,
- * CodeGen/cecil.xml,
- * Mono.Cecil/IReflectionVisitor.cs,
- * Mono.Cecil/INestedTypeCollection.cs,
- * Mono.Cecil/ITypeDefinition,
- * Mono.Cecil.Implem/ReflectionReader.cs,
- * Mono.Cecil.Implem/ReflectionWriter.cs,
- * Mono.Cecil.Implem/TypeDefinition.cs,
- * Mono.Cecil.Implem/NestedTypeCollection:
- Add a collection of nested types for type definition
-
- * Mono.Cecil.Implem/ModuleDefinition.cs: simplify type creation
-
-2005-06-07 Jb Evain <jbevain@gmail.com>
-
- * ChangeLog: Cecil has now ChangeLogs. Let use them.
diff --git a/mcs/class/Mono.Cecil/CodeGen/cecil-gen-attributes.rb b/mcs/class/Mono.Cecil/CodeGen/cecil-gen-attributes.rb
deleted file mode 100755
index 4158155ba54..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/cecil-gen-attributes.rb
+++ /dev/null
@@ -1,226 +0,0 @@
-#!/usr/bin/env ruby
-
-$providers = []
-
-$mapping = {
- "Assem" => "IsAssembly",
- "FamORAssem" => "IsFamilyOrAssembly",
- "FamANDAssem" => "IsFamilyAndAssembly",
- "NestedFamORAssem" => "IsNestedFamilyOrAssembly",
- "NestedFamANDAssem" => "IsNestedFamilyAndAssembly",
- "RTSpecialName" => "IsRuntimeSpecialName",
- "Compilercontrolled" => "IsCompilerControlled",
- "NotNullableValueTypeConstraint" => "HasNotNullableValueTypeConstraint",
- "ReferenceTypeConstraint" => "HasReferenceTypeConstraint",
- "DefaultConstructorConstraint" => "HasDefaultConstructorConstraint",
- "SupportsLastError" => "SupportsLastError",
- "NoInlining" => "NoInlining",
-}
-
-$black_list = [
- "None", "Unused", "RequireSecObject",
- "HasFieldMarshal", "HasFieldRVA",
- "OPTIL", "MaxMethodImplVal"
-]
-
-class Attribute
-
- attr_accessor(:name)
- attr_accessor(:type)
-
- def initialize(name, type)
- @name = name
- @type = type
- end
-
- def full_name
- "#{@type}.#{@name}"
- end
-
- def to_csharp
-""" public bool #{get_name()} {
-#{getter()}#{setter()} }
-"""
- end
-
- def to_s
- "Attribute #{full_name}"
- end
-
- protected
- def getter
-""" get { return (m_attributes & #{full_name()}) != 0; }
-"""
- end
-
- def setter
-""" set {
- if (value)
- m_attributes |= #{full_name()};
- else
- m_attributes &= ~#{full_name()};
- }
-"""
- end
-
- private
- def get_name
- name = @name
- return $mapping[name] if $mapping.include?(name)
- return name if name.rindex("Has") == 0
- "Is#{name}"
- end
-end
-
-class MaskedAttribute < Attribute
-
- attr_accessor(:mask)
-
- def initialize(name, type, mask)
- super(name, type)
- @mask = mask
- end
-
- def mask_full_name
- "#{@type}.#{@mask}"
- end
-
- def to_s
- "MaskedAttribute #{full_name()}, masked by #{mask_full_name()}"
- end
-
- protected
- def getter
-""" get { return (m_attributes & #{mask_full_name()}) == #{full_name()}; }
-"""
- end
-
- def setter
-""" set {
- if (value) {
- m_attributes &= ~#{mask_full_name()};
- m_attributes |= #{full_name()};
- } else
- m_attributes &= ~(#{mask_full_name()} & #{full_name()});
- }
-"""
- end
-end
-
-class Provider
-
- attr_accessor(:type)
- attr_accessor(:attributes_file)
- attr_accessor(:target_file)
- attr_accessor(:attributes)
-
- def initialize(type, attributes_file, target_file)
- @type = type
- @attributes_file = attributes_file
- @target_file = target_file
- @attributes = []
- end
-
- def parse
- f = File.open(@attributes_file, File::RDONLY)
- have_mask = false
- mask = ""
- f.readlines.each { |line|
- if line.chomp().length == 0
- have_mask = false
- else
- name = get_name(line)
- if not name.nil? and name.index("Mask")
- mask = name
- have_mask = true
- elsif not name.nil?
- attr = nil
- if (have_mask)
- attr = MaskedAttribute.new(name, @type, mask)
- else
- attr = Attribute.new(name, @type)
- end
- @attributes << attr
- end
- end
- }
- f.close
- end
-
- def patch
- buffer = read_target_content()
- buffer = patch_buffer(buffer)
- if buffer != read_target_content()
- puts("#{@target_file} patched")
- write_target_content (buffer)
- end
- end
-
- private
- def patch_buffer(buffer)
- region = "#region " + @type
- endregion = "#endregion"
-
- endpart = buffer[(buffer.index(endregion) - 3)..buffer.length]
-
- rep = buffer[0..(buffer.index(region) + region.length)]
-
- rep += "\n"
-
- @attributes.each { |attr|
- rep += attr.to_csharp
- rep += "\n" if attr != @attributes.last
- }
-
- rep += endpart
-
- rep
- end
-
- def read_target_content
- f = File.new(@target_file, File::RDONLY)
- content = f.readlines.join
- f.close
- content
- end
-
- def write_target_content(content)
- File.open(@target_file, File::WRONLY | File::TRUNC) { |f|
- f.write(content)
- }
- end
-
- def get_name(line)
- pos = line.index("=")
- return nil if not pos
- name = line[0..(pos - 1)].strip
-
- return nil if $black_list.include?(name)
- name
- end
-end
-
-def to_cecil_file(file)
- "../Mono.Cecil/#{file}.cs"
-end
-
-[ "Event", "Field", "Method", "Parameter", "Property", "Type" ].each { |name|
- attributes = "#{name}Attributes"
- definition = "#{name}Definition"
- $providers << Provider.new(attributes, to_cecil_file(attributes), to_cecil_file(definition))
-}
-
-{ "GenericParameter" => "GenericParameter",
- "ManifestResource" => "Resource",
- "PInvoke" => "PInvokeInfo",
-# "MethodImpl" => "MethodDefinition",
-# "MethodSemantics" => "MethodDefinition",
-}.each { |k, v|
- attributes = "#{k}Attributes"
- $providers << Provider.new(attributes, to_cecil_file(attributes), to_cecil_file(v))
-}
-
-$providers.each { |p|
- p.parse
- p.patch
-}
diff --git a/mcs/class/Mono.Cecil/CodeGen/cecil-gen-sources.rb b/mcs/class/Mono.Cecil/CodeGen/cecil-gen-sources.rb
deleted file mode 100755
index e93b1955a8d..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/cecil-gen-sources.rb
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/env ruby
-
-f = File.new("../Mono.Cecil.dll.sources", File::CREAT | File::WRONLY | File::TRUNC)
-
-[ "Mono.Cecil", "Mono.Cecil.Binary",
- "Mono.Cecil.Metadata", "Mono.Cecil.Cil",
- "Mono.Cecil.Signatures", "Mono.Xml" ].each { |dir|
-
- Dir.foreach("../" + dir) { |file|
- f.print("./#{dir}/#{file}\n") if file[(file.length - 3)..file.length] == ".cs"
- }
-}
-
-f.close
diff --git a/mcs/class/Mono.Cecil/CodeGen/cecil-gen-tests.rb b/mcs/class/Mono.Cecil/CodeGen/cecil-gen-tests.rb
deleted file mode 100755
index b2ab8ef7283..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/cecil-gen-tests.rb
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/usr/bin/env ruby
-
-require 'erb'
-
-class Language
-
- attr_reader(:name)
- attr_reader(:compiler)
- attr_reader(:ext)
- attr_reader(:command)
-
- def initialize(name, compiler, ext, command)
- @name = name
- @compiler = compiler
- @ext = ext
- @command = command
- end
-end
-
-class TestCase
-
- attr_reader(:lang)
- attr_reader(:file)
-
- def initialize(lang, file)
- @lang = lang
- @file = file
- end
-
- def method()
- meth = @file.gsub(/[^a-zA-Z1-9]/, "_")
- return meth[1..meth.length] if (meth[0].chr == "_")
- return meth
- end
-end
-
-$languages = [
- Language.new("cil", "ilasm", ".il", "{0} /exe /output:{2} {1}"),
- Language.new("csharp", "mcs", ".cs", "{0} /t:exe /o:{2} {1}")
-]
-
-$tests = [
-]
-
-def analyze(dir)
- $languages.each { |l|
- pattern = File.join(dir, "**", "*" + l.ext)
- Dir[pattern].each { |file|
- $tests.push(TestCase.new(l, File.expand_path(file)))
- }
- }
-end
-
-ARGV.each { |dir|
- analyze(dir)
-}
-
-if $tests.length > 0
- erb = ERB.new(IO.read("./templates/Tests.cs"))
- print(erb.result)
-end
diff --git a/mcs/class/Mono.Cecil/CodeGen/cecil-gen-types.rb b/mcs/class/Mono.Cecil/CodeGen/cecil-gen-types.rb
deleted file mode 100644
index 2c0e6297665..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/cecil-gen-types.rb
+++ /dev/null
@@ -1,262 +0,0 @@
-
-# types used in templates
-
-module Cecil
-
- class Evolutive # abstract
-
- attr_reader(:requ)
-
- def initialize(requ)
- @requ = requ
- end
- end
-
- class FieldWorker # abstract
-
- attr_reader(:field_name)
- attr_reader(:property_name)
- attr_reader(:type)
- attr_reader(:ns)
- attr_reader(:size)
- attr_reader(:target)
-
- def initialize(name, type, target)
- @property_name = name
- @target = target
- @field_name = to_field(name)
-
- @objtype = type
-
- ar = type.name.split(".")
- @type = ar.pop()
- @ns = ar.join(".")
-
- @size = type.size
- end
-
- def to_field(name)
- name = String.new(name)
- name[0] = name[0].chr.downcase
- return "m_" + name
- end
-
- def write_binary(inst, writer)
- pre = writer + ".Write ("
- prp = inst + "." + @property_name
- suf = ")"
- return case @type
- when "byte", "ushort", "short", "uint", "int"
- pre + prp + suf
- when "RVA"
- pre + prp + ".Value" + suf
- when "DataDirectory"
- pre + prp + ".VirtualAddress" + suf + ";\n\t\t\t" + pre + prp + ".Size" + suf
- else
- pre + "(" + @objtype.underlying + ") " + prp + suf
- end
- end
-
- def read_binary(inst)
- return case @type
- when "byte"
- inst + ".ReadByte ()"
- when "ushort"
- inst + ".ReadUInt16 ()";
- when "short"
- inst + ".ReadInt16 ()";
- when "uint"
- inst + ".ReadUInt32 ()";
- when "int"
- inst + ".ReadInt32 ()";
- when "RVA"
- "new RVA (" + inst + ".ReadUInt32 ())"
- when "DataDirectory"
- "new DataDirectory (\n new RVA (" + inst + ".ReadUInt32 ()),\n " + inst + ".ReadUInt32 ())"
- else
- "(" + @objtype.name + ") " + case @objtype.underlying
- when "int"
- inst + ".ReadInt32 ()";
- when "short"
- inst + ".ReadInt16 ()";
- when "ushort"
- inst + ".ReadUInt16 ()";
- when "uint"
- inst + ".ReadUInt32 ()";
- end
- end
- end
- end
-
- class Type
-
- attr_reader(:name)
- attr_reader(:size)
- attr_reader(:underlying)
-
- def initialize(name, size, underlying = nil)
- @name = name
- @size = size
- @underlying = underlying
- end
- end
-
- class Table < Evolutive
-
- attr_reader(:ref_ns)
- attr_reader(:rid)
- attr_reader(:name)
- attr_reader(:table_name)
- attr_reader(:row_name)
- attr_reader(:columns)
-
- def initialize(name, rid, requ)
- super(requ)
- @name = name
- @table_name = name + "Table"
- @row_name = name + "Row"
- @rid = rid
- @ref_ns = Array.new
- @columns = Array.new
- end
-
- def add_column(col)
- if (!@ref_ns.include?(col.ns) && col.ns.length != 0 && col.ns != "Mono.Cecil.Metadata") then
- @ref_ns.push(col.ns)
- @ref_ns.sort!()
- end
- @columns.push(col)
- end
-
- def row_size()
- size = 0
- @columns.each { |col|
- size += col.size
- }
- return size
- end
- end
-
- class Column < FieldWorker
-
- def initialize(name, type, target)
- super(name, type, target)
- end
-
- end
-
- class Collection
-
- attr_reader(:type)
- attr_reader(:intf)
- attr_reader(:name)
- attr_reader(:container)
- attr_reader(:container_impl)
- attr_reader(:item_name)
- attr_reader(:visitable)
- attr_reader(:visitor)
- attr_reader(:visitThis)
- attr_reader(:visitItem)
- attr_reader(:lazyload)
- attr_reader(:pathtoloader)
- attr_reader(:target)
- attr_reader(:indexed)
-
- def initialize(type, container, visit, name, lazyload, pathtoloader, target, indexed = false, usecntintf = false)
- @type = type
- basename = (name.nil? ? type : name)
- @intf = "I" + basename + "Collection"
- @name = @intf[1..@intf.length]
- @item_name = basename[0..basename.length]
- @container = container
- @container_impl = usecntintf ? @container : @container[0..@container.length]
- if (!visit.nil?) then
- @visitable = visit + "Visitable"
- @visitor = visit + "Visitor"
- @visitThis = "Visit" + @name
- @visitItem = "Visit" + @item_name
- end
- @lazyload = lazyload
- @pathtoloader = pathtoloader
- @target = target
- @indexed = indexed
- end
- end
-
- class OpCode < Evolutive
-
- attr_reader(:name)
- attr_reader(:field_name)
- attr_reader(:op1)
- attr_reader(:op2)
- attr_reader(:size)
- attr_reader(:flowcontrol)
- attr_reader(:opcodetype)
- attr_reader(:operandtype)
- attr_reader(:stackbehaviourpop)
- attr_reader(:stackbehaviourpush)
-
- def initialize(name, op1, op2, flowcontrol, opcodetype, operandtype, stackbehaviourpop, stackbehaviourpush, requ)
- super(requ)
- @name = name
- @field_name = name_to_prop(name)
- @op1 = op1 ; @op2 = op2
- @size = @op1 == "0xff" ? 1 : 2
- @flowcontrol = "FlowControl." + flowcontrol
- @opcodetype = "OpCodeType." + opcodetype
- @operandtype = "OperandType." + operandtype
- @stackbehaviourpop = "StackBehaviour." + stackbehaviourpop
- @stackbehaviourpush = "StackBehaviour." + stackbehaviourpush
- end
-
- def name_to_prop(name)
- field = ""
- ar = name.split(".")
- ar.each { |part|
- field += part.capitalize()
- field += "_" unless ar.last == part
- }
- return field
- end
- end
-
- class Field < FieldWorker
-
- attr_reader(:default)
-
- def initialize(name, type, default)
- super(name, type, nil)
- @default = default
- end
- end
-
- class CodedIndexTable
-
- attr_reader(:name)
- attr_reader(:tag)
-
- def initialize(name, tag)
- @name = name
- @tag = tag
- end
- end
-
- class CodedIndex < Evolutive
-
- attr_reader(:name)
- attr_reader(:size)
- attr_reader(:tables)
-
- def initialize(name, size, requ)
- super(requ)
- @name = name
- @size = size
- @tables = Array.new
- end
-
- def add_table(name, tag)
- @tables.push(CodedIndexTable.new(name, tag))
- end
- end
-
-end
diff --git a/mcs/class/Mono.Cecil/CodeGen/cecil-gen.rb b/mcs/class/Mono.Cecil/CodeGen/cecil-gen.rb
deleted file mode 100755
index dec7a1f6680..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/cecil-gen.rb
+++ /dev/null
@@ -1,161 +0,0 @@
-#!/usr/bin/env ruby
-# extern libraries used by code generator
-
-require 'erb'
-require 'rexml/document'
-
-# our library
-
-require 'cecil-gen-types'
-
-# time to generate code now
-
-$types = Hash.new
-$tables = Array.new
-$colls = Array.new
-$coded_indexes = Array.new
-$ops = Array.new
-
-doc = REXML::Document.new(File.open("cecil.xml"))
-
-doc.root.each_element("/cecil/types//type") { |node|
- type = Cecil::Type.new(
- node.attribute("name").value,
- node.attribute("size").value.to_i,
- (node.attribute("underlying").nil? ? nil : node.attribute("underlying").value))
- $types[type.name] = type
-}
-
-doc.root.each_element("/cecil/metadata/tables//table") { |node|
- table = Cecil::Table.new(node.attribute("name").value,
- node.attribute("rid").value,
- node.attribute("requires").nil? ? nil : node.attribute("requires").value)
- node.each_element("column") { |col|
- column = Cecil::Column.new(col.attribute("name").value,
- $types[col.attribute("type").value],
- col.attribute("target").nil? ? nil : col.attribute("target").value)
- table.add_column(column)
- }
- $tables.push(table)
-}
-
-$tables.sort!() { |a, b|
- a.name <=> b.name
-}
-
-$stables = $tables.sort { |a, b|
- eval(a.rid) <=> eval(b.rid)
-}
-
-doc.root.each_element("/cecil/metadata/codedindexes//codedindex") { |node|
- ci = Cecil::CodedIndex.new(node.attribute("name").value,
- node.attribute("size").value,
- node.attribute("requires").nil? ? nil : node.attribute("requires").value)
- node.each_element("table") { |table|
- ci.add_table(table.attribute("name").value, table.attribute("tag").value)
- }
- $coded_indexes.push(ci)
-}
-
-doc.root.each_element("/cecil/metadata/opcodes//opcode") { |node|
- $ops.push(Cecil::OpCode.new(node.attribute("name").value, node.attribute("op1").value,
- node.attribute("op2").value, node.attribute("flowcontrol").value,
- node.attribute("opcodetype").value, node.attribute("operandtype").value,
- node.attribute("stackbehaviourpop").value, node.attribute("stackbehaviourpush").value,
- node.attribute("requires").nil? ? nil : node.attribute("requires").value))
-}
-
-$ops.sort!() { |a, b|
- if a.op1 == b.op1
- eval(a.op2) <=> eval(b.op2)
- elsif a.op1 == "0xff"
- -1
- else
- 1
- end
-}
-
-doc.root.each_element("/cecil/collections//collection") { |node|
- $colls.push(Cecil::Collection.new(node.attribute("type").value, node.attribute("container").value,
- (node.attribute("visit").nil? ? nil : node.attribute("visit").value),
- (node.attribute("name").nil? ? nil : node.attribute("name").value),
- (node.attribute("lazyload").nil? ? false : node.attribute("lazyload").value == "true"),
- (node.attribute("pathtoloader").nil? ? nil : node.attribute("pathtoloader").value),
- node.attribute("target").value,
- (node.attribute("indexed").nil? ? false : node.attribute("indexed").value == "true"),
- (node.attribute("usecontainerinterface").nil? ? false : node.attribute("usecontainerinterface").value == "true")))
-}
-
-def cecil_compile(file, template)
-
- erb = ERB.new(IO.read(template))
- res = erb.result
-
- if (!File.exists?(file))
-
- File.open(file, File::CREAT|File::WRONLY|File::TRUNC) { |cur_file|
- cur_file.write(res)
- }
-
- puts("#Created: #{file}")
-
- else
-
- ext = ".tmp"
-
- File.open(file + ext, File::CREAT|File::WRONLY|File::TRUNC) { |temp_file|
- temp_file.write(res)
- }
-
- save = Array.new
-
- [file, file + ext].each { |fileloc|
- File.open(fileloc, File::RDONLY) { |f|
- buf = f.readlines
- buf.each { |line|
- line.chomp!()
- }
- buf = buf.join
- buf = buf[buf.index("SOFTWARE."), buf.length]
- save.push(buf)
- }
- }
-
- if (save[0] != save[1]) then
- File.delete(file) if File.exists?(file)
- File.rename(file + ext, file)
- puts("#Modified: #{file}")
- else
- File.delete(file + ext)
- end
- end
-end
-
-$tables.each { |table|
- $cur_table = table
- filename = "../Mono.Cecil.Metadata/" + table.name + ".cs"
- cecil_compile(filename, "./templates/Table.cs")
-}
-$cur_table = nil
-
-[ "MetadataTableReader.cs", "MetadataRowReader.cs",
- "MetadataTableWriter.cs", "MetadataRowWriter.cs", "BaseMetadataVisitor.cs",
- "CodedIndex.cs", "Utilities.cs" ].each { |file|
- cecil_compile("../Mono.Cecil.Metadata/" + file, "./templates/" + file)
-}
-
-cecil_compile("../Mono.Cecil.Metadata/IMetadataVisitor.cs", "./templates/IMetadataVisitor.cs")
-
-cecil_compile("../Mono.Cecil.Cil/OpCodes.cs", "./templates/OpCodes.cs")
-cecil_compile("../Mono.Cecil.Cil/Code.cs", "./templates/Code.cs")
-
-$colls.each { |coll|
- $cur_coll = coll
- file = "../#{coll.target}/" + coll.name + ".cs"
- type = coll.indexed ? "Indexed" : "Named"
- template = "./templates/#{type}Collection.cs"
-
- cecil_compile(file, template)
-}
-$cur_coll = nil
-
diff --git a/mcs/class/Mono.Cecil/CodeGen/cecil-mig.rb b/mcs/class/Mono.Cecil/CodeGen/cecil-mig.rb
deleted file mode 100755
index a5104fb4be4..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/cecil-mig.rb
+++ /dev/null
@@ -1,159 +0,0 @@
-#!/usr/bin/env ruby
-
-#
-# usage cecil-mig.rb directory
-#
-
-dir = ARGV.length > 0 ? ARGV[0] : "."
-
-$replaces = {
- "GenericParamAttributes" => "GenericParameterAttributes",
- "ParamAttributes" => "ParameterAttributes",
- "IParameterReference" => "ParameterDefinition",
- "IPropertyReference" => "PropertyDefinition",
- "IEventReference" => "EventDefinition",
- "IVariableReference" => "VariableDefinition",
- "IMarshalDesc" => "MarshalSpec",
- "MarshalDesc" => "MarshalSpec",
- "IArrayMarshalDesc" => "ArrayMarshalSpec",
- "ArrayMarshalDesc" => "ArrayMarshalSpec",
- "ICustomMarshalerDesc" => "CustomMarshalerSpec",
- "CustomMarshalerDesc" => "CustomMarshalerSpec",
- "ISafeArrayDesc" => "SafeArraySpec",
- "SafeArrayDesc" => "SafeArraySpec",
- "IFixedArrayDesc" => "FixedArraySpec",
- "FixedArrayDesc" => "FixedArraySpec",
- "IFixedSysStringDesc" => "FixedSysStringSpec",
- "FixedSysStringDesc" => "FixedSysStringSpec",
- "IModifierType" => "ModType"
-}
-
-$collections = [
- "AssemblyNameReferenceCollection",
- "ModuleReferenceCollection",
- "ModuleDefinitionCollection",
- "ResourceCollection",
- "TypeDefinitionCollection",
- "TypeReferenceCollection",
- "InterfaceCollection",
- "ParameterDefinitionCollection",
- "OverrideCollection",
- "MethodDefinitionCollection",
- "ConstructorCollection",
- "EventDefinitionCollection",
- "FieldDefinitionCollection",
- "PropertyDefinitionCollection",
- "InstructionCollection",
- "ExceptionHandlerCollection",
- "VariableDefinitionCollection",
- "ArrayDimensionCollection",
- "CustomAttributeCollection",
- "ExternTypeCollection",
- "NestedTypeCollection",
- "SecurityDeclarationCollection",
- "MemberReferenceCollection",
- "GenericParameterCollection",
- "GenericArgumentCollection",
- "ConstraintCollection"
-]
-
-$types = [
- "AssemblyDefinition",
- "ArrayDimension",
- "ArrayType",
- "AssemblyLinkedResource",
- "AssemblyNameReference",
- "AssemblyNameDefinition",
- "CallSite",
- "CustomAttribute",
- "EmbeddedResource",
- "EventDefinition",
- "EventReference",
- "FieldDefinition",
- "FieldReference",
- "FunctionPointerType",
- "GenericInstanceMethod",
- "GenericInstanceType",
- "GenericParameter",
- "LinkedResource",
- "MethodDefinition",
- "MethodReference",
- "MethodReturnType",
- "ModifierOptional",
- "ModifierRequired",
- "ModuleDefinition",
- "ModuleReference",
- "ParameterDefinition",
- "ParameterReference",
- "PinnedType",
- "PInvokeInfo",
- "PropertyDefinition",
- "PropertyReference",
- "ReferenceType",
- "Resource",
- "SecurityDeclaration",
- "TypeDefinition",
- "TypeReference",
- "TypeSpecification",
-
- "Instruction",
- "ExceptionHandler",
- "MethodBody",
- "VariableDefinition",
- "VariableReference"
-]
-
-def iface(name)
- return "I" + name
-end
-
-def bang(buffer, re, str)
- nl = "([\\W])"
- buffer.gsub!(Regexp.new("#{nl}(#{re})#{nl}"), "\\1" + str + "\\3")
-end
-
-def process_replaces(buffer)
- $replaces.each_key { |key|
- bang(buffer, key, $replaces[key])
- }
-end
-
-def process_collections(buffer)
- $collections.each { |name|
- bang(buffer, iface(name), name)
- }
-end
-
-def process_types(buffer)
- $types.each { |name|
- bang(buffer, iface(name), name)
- }
-end
-
-def process_unbreak(buffer)
- $unbreak.each { |name|
- bang(buffer, name, iface(name))
- }
-end
-
-def process(file)
- buffer = ""
- original = ""
- File.open(file, File::RDONLY) { |f|
- original = f.read()
- buffer = original.clone
- process_replaces(buffer)
- process_collections(buffer)
- process_types(buffer)
- }
-
- File.open(file, File::WRONLY | File::TRUNC) { |f|
- f.write(buffer)
- puts("#{file} processed")
- } if (original != buffer)
-
-end
-
-Dir[File.join(dir, "**", "*.*")].each { |file|
- process(file) if not File.directory?(file)
-}
diff --git a/mcs/class/Mono.Cecil/CodeGen/cecil-update-rev b/mcs/class/Mono.Cecil/CodeGen/cecil-update-rev
deleted file mode 100755
index c1c1f919c46..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/cecil-update-rev
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env ruby
-
-svn = "svn+ssh://mono-cvs.ximian.com/source/"
-info = "Mono.Cecil/AssemblyInfo.cs"
-
-$rev = 0
-
-IO::popen("svn info #{svn}").each { |line|
- $rev = $1.to_i if line =~ /^Revision: ([0-9]+)/
-}
-
-if $rev == 0
- puts "Cannot get last revision"
- exit(1)
-end
-
-def read_file(file)
- content = ""
- f = File.new(file, File::CREAT | File::RDONLY)
- content << f.readlines.join
- f.close
-
- return content
-end
-
-def write_file(file, content)
- File.open(file, File::CREAT | File::WRONLY) { |f|
- f.write(content)
- }
-end
-
-def patch_info(content)
- patched = ""
- content.each_line { |line|
- if not line =~ /AssemblyVersion/
- patched << line
- else
- patched << line.gsub(/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/) {
- next_rev = $rev.next
- cut = 10000
- build_rev = (next_rev / cut).ceil
- revision = next_rev - (build_rev * cut)
- build = (($3.to_i / 100).ceil * 100) + build_rev
- "#{$1.to_s}.#{$2.to_s}.#{build.to_s}.#{(revision).to_s}"
- }
- end
- }
- return patched
-end
-
-write_file(info, patch_info(read_file(info)))
diff --git a/mcs/class/Mono.Cecil/CodeGen/cecil.xml b/mcs/class/Mono.Cecil/CodeGen/cecil.xml
deleted file mode 100644
index 0fded331de6..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/cecil.xml
+++ /dev/null
@@ -1,608 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<cecil>
-
- <types>
- <type name="byte" size="1" />
- <type name="ushort" size="2" />
- <type name="short" size="2" />
- <type name="uint" size="4" />
- <type name="int" size="4" />
- <type name="Mono.Cecil.Binary.DataDirectory" size="8" />
- <type name="Mono.Cecil.Binary.ImageCharacteristics" underlying="ushort" size="2" />
- <type name="Mono.Cecil.Binary.DebugStoreType" underlying="uint" size="4" />
- <type name="Mono.Cecil.Binary.SubSystem" underlying="ushort" size="2" />
- <type name="Mono.Cecil.Binary.SectionCharacteristics" underlying="uint" size="4" />
- <type name="Mono.Cecil.Binary.RVA" size="4" />
- <type name="Mono.Cecil.Binary.RuntimeImage" underlying="uint" size="4" />
- <type name="Mono.Cecil.AssemblyHashAlgorithm" underlying="uint" size="4" />
- <type name="Mono.Cecil.AssemblyFlags" underlying="uint" size="4" />
- <type name="Mono.Cecil.EventAttributes" underlying="ushort" size="2" />
- <type name="Mono.Cecil.TypeAttributes" underlying="uint" size="4" />
- <type name="Mono.Cecil.FieldAttributes" underlying="ushort" size="2" />
- <type name="Mono.Cecil.FileAttributes" underlying="uint" size="4" />
- <type name="Mono.Cecil.GenericParameterAttributes" underlying="ushort" size="2" />
- <type name="Mono.Cecil.PInvokeAttributes" underlying="ushort" size="2" />
- <type name="Mono.Cecil.ParameterAttributes" underlying="ushort" size="2" />
- <type name="Mono.Cecil.PropertyAttributes" underlying="ushort" size="2" />
- <type name="Mono.Cecil.ManifestResourceAttributes" underlying="uint" size="4" />
- <type name="Mono.Cecil.MethodAttributes" underlying="ushort" size="2" />
- <type name="Mono.Cecil.MethodImplAttributes" underlying="ushort" size="2" />
- <type name="Mono.Cecil.MethodSemanticsAttributes" underlying="ushort" size="2" />
- <type name="Mono.Cecil.SecurityAction" underlying="short" size="2" />
- <type name="Mono.Cecil.Metadata.ElementType" underlying="ushort" size="2" />
- <type name="Mono.Cecil.Metadata.MetadataToken" underlying="uint" size="4" />
- </types>
-
- <!--
- All details about the Metadata
- reader and writer of Cecil
- -->
- <metadata>
-
- <!--
- This part contains ECMA spec
- about CIL tables and rows positions
- in a valid CLI image
- -->
- <tables>
- <table name="Assembly" rid="0x20">
- <column name="HashAlgId" type="Mono.Cecil.AssemblyHashAlgorithm" />
- <column name="MajorVersion" type="ushort" />
- <column name="MinorVersion" type="ushort" />
- <column name="BuildNumber" type="ushort" />
- <column name="RevisionNumber" type="ushort" />
- <column name="Flags" type="Mono.Cecil.AssemblyFlags" />
- <column name="PublicKey" type="uint" target="BlobHeap" />
- <column name="Name" type="uint" target="StringsHeap" />
- <column name="Culture" type="uint" target="StringsHeap" />
- </table>
- <table name="AssemblyOS" rid="0x22">
- <column name="OSPlatformID" type="uint" />
- <column name="OSMajorVersion" type="uint" />
- <column name="OSMinorVersion" type="uint" />
- </table>
- <table name="AssemblyProcessor" rid="0x21">
- <column name="Processor" type="uint" />
- </table>
- <table name="AssemblyRef" rid="0x23">
- <column name="MajorVersion" type="ushort" />
- <column name="MinorVersion" type="ushort" />
- <column name="BuildNumber" type="ushort" />
- <column name="RevisionNumber" type="ushort" />
- <column name="Flags" type="Mono.Cecil.AssemblyFlags" />
- <column name="PublicKeyOrToken" type="uint" target="BlobHeap" />
- <column name="Name" type="uint" target="StringsHeap" />
- <column name="Culture" type="uint" target="StringsHeap" />
- <column name="HashValue" type="uint" target="BlobHeap" />
- </table>
- <table name="AssemblyRefOS" rid="0x25">
- <column name="OSPlatformID" type="uint" />
- <column name="OSMajorVersion" type="uint" />
- <column name="OSMinorVersion" type="uint" />
- <column name="AssemblyRef" type="uint" target="AssemblyRef" />
- </table>
- <table name="AssemblyRefProcessor" rid="0x24">
- <column name="Processor" type="uint" />
- <column name="AssemblyRef" type="uint" target="AssemblyRef" />
- </table>
- <table name="ClassLayout" rid="0x0f">
- <column name="PackingSize" type="ushort" />
- <column name="ClassSize" type="uint" />
- <column name="Parent" type="uint" target="TypeDef" />
- </table>
- <table name="Constant" rid="0x0b">
- <column name="Type" type="Mono.Cecil.Metadata.ElementType" />
- <column name="Parent" type="Mono.Cecil.Metadata.MetadataToken" target="HasConstant" />
- <column name="Value" type="uint" target="BlobHeap" />
- </table>
- <table name="CustomAttribute" rid="0x0c">
- <column name="Parent" type="Mono.Cecil.Metadata.MetadataToken" target="HasCustomAttribute" />
- <column name="Type" type="Mono.Cecil.Metadata.MetadataToken" target="CustomAttributeType" />
- <column name="Value" type="uint" target="BlobHeap" />
- </table>
- <table name="DeclSecurity" rid="0x0e">
- <column name="Action" type="Mono.Cecil.SecurityAction" />
- <column name="Parent" type="Mono.Cecil.Metadata.MetadataToken" target="HasDeclSecurity" />
- <column name="PermissionSet" type="uint" target="BlobHeap" />
- </table>
- <table name="EventMap" rid="0x12">
- <column name="Parent" type="uint" target="TypeDef" />
- <column name="EventList" type="uint" target="Event" />
- </table>
- <table name="Event" rid="0x14">
- <column name="EventFlags" type="Mono.Cecil.EventAttributes" />
- <column name="Name" type="uint" target="StringsHeap" />
- <column name="EventType" type="Mono.Cecil.Metadata.MetadataToken" target="TypeDefOrRef" />
- </table>
- <table name="EventPtr" rid="0x13">
- <column name="Event" type="uint" target="Event" />
- </table>
- <table name="ExportedType" rid="0x27">
- <column name="Flags" type="Mono.Cecil.TypeAttributes" />
- <column name="TypeDefId" type="uint" />
- <column name="TypeName" type="uint" target="StringsHeap" />
- <column name="TypeNamespace" type="uint" target="StringsHeap" />
- <column name="Implementation" type="Mono.Cecil.Metadata.MetadataToken" target="Implementation" />
- </table>
- <table name="Field" rid="0x04">
- <column name="Flags" type="Mono.Cecil.FieldAttributes" />
- <column name="Name" type="uint" target="StringsHeap" />
- <column name="Signature" type="uint" target="BlobHeap" />
- </table>
- <table name="FieldLayout" rid="0x10">
- <column name="Offset" type="uint" />
- <column name="Field" type="uint" target="Field" />
- </table>
- <table name="FieldMarshal" rid="0x0d">
- <column name="Parent" type="Mono.Cecil.Metadata.MetadataToken" target="HasFieldMarshal" />
- <column name="NativeType" type="uint" target="BlobHeap" />
- </table>
- <table name="FieldPtr" rid="0x03">
- <column name="Field" type="uint" target="Field" />
- </table>
- <table name="FieldRVA" rid="0x1d">
- <column name="RVA" type="Mono.Cecil.Binary.RVA" />
- <column name="Field" type="uint" target="Field" />
- </table>
- <table name="File" rid="0x26">
- <column name="Flags" type="Mono.Cecil.FileAttributes" />
- <column name="Name" type="uint" target="StringsHeap" />
- <column name="HashValue" type="uint" target="BlobHeap" />
- </table>
- <table name="GenericParam" rid="0x2a" requires="NET_2_0">
- <column name="Number" type="ushort" />
- <column name="Flags" type="Mono.Cecil.GenericParameterAttributes" />
- <column name="Owner" type="Mono.Cecil.Metadata.MetadataToken" target="TypeOrMethodDef" />
- <column name="Name" type="uint" target="StringsHeap" />
- </table>
- <table name="GenericParamConstraint" rid="0x2c" requires="NET_2_0">
- <column name="Owner" type="uint" target="GenericParam" />
- <column name="Constraint" type="Mono.Cecil.Metadata.MetadataToken" target="TypeDefOrRef" />
- </table>
- <table name="ImplMap" rid="0x1c">
- <column name="MappingFlags" type="Mono.Cecil.PInvokeAttributes" />
- <column name="MemberForwarded" type="Mono.Cecil.Metadata.MetadataToken" target="MemberForwarded" />
- <column name="ImportName" type="uint" target="StringsHeap" />
- <column name="ImportScope" type="uint" target="ModuleRef" />
- </table>
- <table name="InterfaceImpl" rid="0x09">
- <column name="Class" type="uint" target="TypeDef" />
- <column name="Interface" type="Mono.Cecil.Metadata.MetadataToken" target="TypeDefOrRef" />
- </table>
- <table name="ManifestResource" rid="0x28">
- <column name="Offset" type="uint" />
- <column name="Flags" type="Mono.Cecil.ManifestResourceAttributes" />
- <column name="Name" type="uint" target="StringsHeap" />
- <column name="Implementation" type="Mono.Cecil.Metadata.MetadataToken" target="Implementation" />
- </table>
- <table name="MemberRef" rid="0x0a">
- <column name="Class" type="Mono.Cecil.Metadata.MetadataToken" target="MemberRefParent" />
- <column name="Name" type="uint" target="StringsHeap" />
- <column name="Signature" type="uint" target="BlobHeap" />
- </table>
- <table name="Method" rid="0x06">
- <column name="RVA" type="Mono.Cecil.Binary.RVA" />
- <column name="ImplFlags" type="Mono.Cecil.MethodImplAttributes" />
- <column name="Flags" type="Mono.Cecil.MethodAttributes" />
- <column name="Name" type="uint" target="StringsHeap" />
- <column name="Signature" type="uint" target="BlobHeap" />
- <column name="ParamList" type="uint" target="Param" />
- </table>
- <table name="MethodImpl" rid="0x19">
- <column name="Class" type="uint" target="TypeDef" />
- <column name="MethodBody" type="Mono.Cecil.Metadata.MetadataToken" target="MethodDefOrRef" />
- <column name="MethodDeclaration" type="Mono.Cecil.Metadata.MetadataToken" target="MethodDefOrRef" />
- </table>
- <table name="MethodPtr" rid="0x05">
- <column name="Method" type="uint" target="Method" />
- </table>
- <table name="MethodSemantics" rid="0x18">
- <column name="Semantics" type="Mono.Cecil.MethodSemanticsAttributes" />
- <column name="Method" type="uint" target="Method" />
- <column name="Association" type="Mono.Cecil.Metadata.MetadataToken" target="HasSemantics" />
- </table>
- <table name="MethodSpec" rid="0x2b" requires="NET_2_0">
- <column name="Method" type="Mono.Cecil.Metadata.MetadataToken" target="MethodDefOrRef" />
- <column name="Instantiation" type="uint" target="BlobHeap" />
- </table>
- <table name="Module" rid="0x00">
- <column name="Generation" type="ushort" />
- <column name="Name" type="uint" target="StringsHeap" />
- <column name="Mvid" type="uint" target="GuidHeap" />
- <column name="EncId" type="uint" target="GuidHeap" />
- <column name="EncBaseId" type="uint" target="GuidHeap" />
- </table>
- <table name="ModuleRef" rid="0x1a">
- <column name="Name" type="uint" target="StringsHeap" />
- </table>
- <table name="NestedClass" rid="0x29">
- <column name="NestedClass" type="uint" target="TypeDef" />
- <column name="EnclosingClass" type="uint" target="TypeDef" />
- </table>
- <table name="Param" rid="0x08">
- <column name="Flags" type="Mono.Cecil.ParameterAttributes" />
- <column name="Sequence" type="ushort" />
- <column name="Name" type="uint" target="StringsHeap" />
- </table>
- <table name="ParamPtr" rid="0x07">
- <column name="Param" type="uint" target="Param" />
- </table>
- <table name="Property" rid="0x17">
- <column name="Flags" type="Mono.Cecil.PropertyAttributes" />
- <column name="Name" type="uint" target="StringsHeap" />
- <column name="Type" type="uint" target="BlobHeap" />
- </table>
- <table name="PropertyMap" rid="0x15">
- <column name="Parent" type="uint" target="TypeDef" />
- <column name="PropertyList" type="uint" target="Property" />
- </table>
- <table name="PropertyPtr" rid="0x16">
- <column name="Property" type="uint" target="Property" />
- </table>
- <table name="StandAloneSig" rid="0x11">
- <column name="Signature" type="uint" target="BlobHeap" />
- </table>
- <table name="TypeDef" rid="0x02">
- <column name="Flags" type="Mono.Cecil.TypeAttributes" />
- <column name="Name" type="uint" target="StringsHeap" />
- <column name="Namespace" type="uint" target="StringsHeap" />
- <column name="Extends" type="Mono.Cecil.Metadata.MetadataToken" target="TypeDefOrRef" />
- <column name="FieldList" type="uint" target="Field" />
- <column name="MethodList" type="uint" target="Method" />
- </table>
- <table name="TypeRef" rid="0x01">
- <column name="ResolutionScope" type="Mono.Cecil.Metadata.MetadataToken" target="ResolutionScope" />
- <column name="Name" type="uint" target="StringsHeap" />
- <column name="Namespace" type="uint" target="StringsHeap" />
- </table>
- <table name="TypeSpec" rid="0x1b">
- <column name="Signature" type="uint" target="BlobHeap" />
- </table>
- </tables>
-
- <codedindexes>
- <codedindex name="TypeDefOrRef" size="2">
- <table name="TypeDef" tag="0" />
- <table name="TypeRef" tag="1" />
- <table name="TypeSpec" tag="2" />
- </codedindex>
- <codedindex name="HasConstant" size="2">
- <table name="Field" tag="0" />
- <table name="Param" tag="1" />
- <table name="Property" tag="2" />
- </codedindex>
- <codedindex name="HasCustomAttribute" size="5">
- <table name="Method" tag="0" />
- <table name="Field" tag="1" />
- <table name="TypeRef" tag="2" />
- <table name="TypeDef" tag="3" />
- <table name="Param" tag="4" />
- <table name="InterfaceImpl" tag="5" />
- <table name="MemberRef" tag="6" />
- <table name="Module" tag="7" />
- <table name="DeclSecurity" tag="8" />
- <table name="Property" tag="9" />
- <table name="Event" tag="10" />
- <table name="StandAloneSig" tag="11" />
- <table name="ModuleRef" tag="12" />
- <table name="TypeSpec" tag="13" />
- <table name="Assembly" tag="14" />
- <table name="AssemblyRef" tag="15" />
- <table name="File" tag="16" />
- <table name="ExportedType" tag="17" />
- <table name="ManifestResource" tag="18" />
- <table name="GenericParam" tag="19" />
- </codedindex>
- <codedindex name="HasFieldMarshal" size="1">
- <table name="Field" tag="0" />
- <table name="Param" tag="1" />
- </codedindex>
- <codedindex name="HasDeclSecurity" size="2">
- <table name="TypeDef" tag="0" />
- <table name="Method" tag="1" />
- <table name="Assembly" tag="2" />
- </codedindex>
- <codedindex name="MemberRefParent" size="3">
- <table name="TypeDef" tag="0" />
- <table name="TypeRef" tag="1" />
- <table name="ModuleRef" tag="2" />
- <table name="Method" tag="3" />
- <table name="TypeSpec" tag="4" />
- </codedindex>
- <codedindex name="HasSemantics" size="1">
- <table name="Event" tag="0" />
- <table name="Property" tag="1" />
- </codedindex>
- <codedindex name="MethodDefOrRef" size="1">
- <table name="Method" tag="0" />
- <table name="MemberRef" tag="1" />
- </codedindex>
- <codedindex name="MemberForwarded" size="1">
- <table name="Field" tag="0" />
- <table name="Method" tag="1" />
- </codedindex>
- <codedindex name="Implementation" size="2">
- <table name="File" tag="0" />
- <table name="AssemblyRef" tag="1" />
- <table name="ExportedType" tag="2" />
- </codedindex>
- <codedindex name="CustomAttributeType" size="3">
- <table name="Method" tag="2" />
- <table name="MemberRef" tag="3" />
- </codedindex>
- <codedindex name="ResolutionScope" size="2">
- <table name="Module" tag="0" />
- <table name="ModuleRef" tag="1" />
- <table name="AssemblyRef" tag="2" />
- <table name="TypeRef" tag="3" />
- </codedindex>
- <codedindex name="TypeOrMethodDef" size="1" requires="NET_2_0">
- <table name="TypeDef" tag="0" />
- <table name="Method" tag="1" />
- </codedindex>
- </codedindexes>
-
- <!--
- This part contains all the standards opcodes
- -->
- <opcodes>
- <opcode name="nop" op1="0xff" op2="0x00" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Push0" />
- <opcode name="break" op1="0xff" op2="0x01" flowcontrol="Break" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Push0" />
- <opcode name="ldarg.0" op1="0xff" op2="0x02" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Push1" />
- <opcode name="ldarg.1" op1="0xff" op2="0x03" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Push1" />
- <opcode name="ldarg.2" op1="0xff" op2="0x04" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Push1" />
- <opcode name="ldarg.3" op1="0xff" op2="0x05" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Push1" />
- <opcode name="ldloc.0" op1="0xff" op2="0x06" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Push1" />
- <opcode name="ldloc.1" op1="0xff" op2="0x07" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Push1" />
- <opcode name="ldloc.2" op1="0xff" op2="0x08" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Push1" />
- <opcode name="ldloc.3" op1="0xff" op2="0x09" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Push1" />
- <opcode name="stloc.0" op1="0xff" op2="0x0a" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Push0" />
- <opcode name="stloc.1" op1="0xff" op2="0x0b" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Push0" />
- <opcode name="stloc.2" op1="0xff" op2="0x0c" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Push0" />
- <opcode name="stloc.3" op1="0xff" op2="0x0d" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Push0" />
- <opcode name="ldarg.s" op1="0xff" op2="0x0e" flowcontrol="Next" opcodetype="Macro" operandtype="ShortInlineParam" stackbehaviourpop="Pop0" stackbehaviourpush="Push1" />
- <opcode name="ldarga.s" op1="0xff" op2="0x0f" flowcontrol="Next" opcodetype="Macro" operandtype="ShortInlineParam" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="starg.s" op1="0xff" op2="0x10" flowcontrol="Next" opcodetype="Macro" operandtype="ShortInlineParam" stackbehaviourpop="Pop1" stackbehaviourpush="Push0" />
- <opcode name="ldloc.s" op1="0xff" op2="0x11" flowcontrol="Next" opcodetype="Macro" operandtype="ShortInlineVar" stackbehaviourpop="Pop0" stackbehaviourpush="Push1" />
- <opcode name="ldloca.s" op1="0xff" op2="0x12" flowcontrol="Next" opcodetype="Macro" operandtype="ShortInlineVar" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="stloc.s" op1="0xff" op2="0x13" flowcontrol="Next" opcodetype="Macro" operandtype="ShortInlineVar" stackbehaviourpop="Pop1" stackbehaviourpush="Push0" />
- <opcode name="ldnull" op1="0xff" op2="0x14" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Pushref" />
- <opcode name="ldc.i4.m1" op1="0xff" op2="0x15" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="ldc.i4.0" op1="0xff" op2="0x16" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="ldc.i4.1" op1="0xff" op2="0x17" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="ldc.i4.2" op1="0xff" op2="0x18" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="ldc.i4.3" op1="0xff" op2="0x19" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="ldc.i4.4" op1="0xff" op2="0x1a" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="ldc.i4.5" op1="0xff" op2="0x1b" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="ldc.i4.6" op1="0xff" op2="0x1c" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="ldc.i4.7" op1="0xff" op2="0x1d" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="ldc.i4.8" op1="0xff" op2="0x1e" flowcontrol="Next" opcodetype="Macro" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="ldc.i4.s" op1="0xff" op2="0x1f" flowcontrol="Next" opcodetype="Macro" operandtype="ShortInlineI" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="ldc.i4" op1="0xff" op2="0x20" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineI" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="ldc.i8" op1="0xff" op2="0x21" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineI8" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi8" />
- <opcode name="ldc.r4" op1="0xff" op2="0x22" flowcontrol="Next" opcodetype="Primitive" operandtype="ShortInlineR" stackbehaviourpop="Pop0" stackbehaviourpush="Pushr4" />
- <opcode name="ldc.r8" op1="0xff" op2="0x23" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineR" stackbehaviourpop="Pop0" stackbehaviourpush="Pushr8" />
- <opcode name="dup" op1="0xff" op2="0x25" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Push1_push1" />
- <opcode name="pop" op1="0xff" op2="0x26" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Push0" />
- <opcode name="jmp" op1="0xff" op2="0x27" flowcontrol="Call" opcodetype="Primitive" operandtype="InlineMethod" stackbehaviourpop="Pop0" stackbehaviourpush="Push0" />
- <opcode name="call" op1="0xff" op2="0x28" flowcontrol="Call" opcodetype="Primitive" operandtype="InlineMethod" stackbehaviourpop="Varpop" stackbehaviourpush="Varpush" />
- <opcode name="calli" op1="0xff" op2="0x29" flowcontrol="Call" opcodetype="Primitive" operandtype="InlineSig" stackbehaviourpop="Varpop" stackbehaviourpush="Varpush" />
- <opcode name="ret" op1="0xff" op2="0x2a" flowcontrol="Return" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Varpop" stackbehaviourpush="Push0" />
- <opcode name="br.s" op1="0xff" op2="0x2b" flowcontrol="Branch" opcodetype="Macro" operandtype="ShortInlineBrTarget" stackbehaviourpop="Pop0" stackbehaviourpush="Push0" />
- <opcode name="brfalse.s" op1="0xff" op2="0x2c" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="ShortInlineBrTarget" stackbehaviourpop="Popi" stackbehaviourpush="Push0" />
- <opcode name="brtrue.s" op1="0xff" op2="0x2d" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="ShortInlineBrTarget" stackbehaviourpop="Popi" stackbehaviourpush="Push0" />
- <opcode name="beq.s" op1="0xff" op2="0x2e" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="ShortInlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="bge.s" op1="0xff" op2="0x2f" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="ShortInlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="bgt.s" op1="0xff" op2="0x30" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="ShortInlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="ble.s" op1="0xff" op2="0x31" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="ShortInlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="blt.s" op1="0xff" op2="0x32" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="ShortInlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="bne.un.s" op1="0xff" op2="0x33" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="ShortInlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="bge.un.s" op1="0xff" op2="0x34" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="ShortInlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="bgt.un.s" op1="0xff" op2="0x35" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="ShortInlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="ble.un.s" op1="0xff" op2="0x36" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="ShortInlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="blt.un.s" op1="0xff" op2="0x37" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="ShortInlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="br" op1="0xff" op2="0x38" flowcontrol="Branch" opcodetype="Primitive" operandtype="InlineBrTarget" stackbehaviourpop="Pop0" stackbehaviourpush="Push0" />
- <opcode name="brfalse" op1="0xff" op2="0x39" flowcontrol="Cond_Branch" opcodetype="Primitive" operandtype="InlineBrTarget" stackbehaviourpop="Popi" stackbehaviourpush="Push0" />
- <opcode name="brtrue" op1="0xff" op2="0x3a" flowcontrol="Cond_Branch" opcodetype="Primitive" operandtype="InlineBrTarget" stackbehaviourpop="Popi" stackbehaviourpush="Push0" />
- <opcode name="beq" op1="0xff" op2="0x3b" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="InlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="bge" op1="0xff" op2="0x3c" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="InlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="bgt" op1="0xff" op2="0x3d" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="InlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="ble" op1="0xff" op2="0x3e" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="InlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="blt" op1="0xff" op2="0x3f" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="InlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="bne.un" op1="0xff" op2="0x40" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="InlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="bge.un" op1="0xff" op2="0x41" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="InlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="bgt.un" op1="0xff" op2="0x42" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="InlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="ble.un" op1="0xff" op2="0x43" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="InlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="blt.un" op1="0xff" op2="0x44" flowcontrol="Cond_Branch" opcodetype="Macro" operandtype="InlineBrTarget" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push0" />
- <opcode name="switch" op1="0xff" op2="0x45" flowcontrol="Cond_Branch" opcodetype="Primitive" operandtype="InlineSwitch" stackbehaviourpop="Popi" stackbehaviourpush="Push0" />
- <opcode name="ldind.i1" op1="0xff" op2="0x46" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi" stackbehaviourpush="Pushi" />
- <opcode name="ldind.u1" op1="0xff" op2="0x47" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi" stackbehaviourpush="Pushi" />
- <opcode name="ldind.i2" op1="0xff" op2="0x48" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi" stackbehaviourpush="Pushi" />
- <opcode name="ldind.u2" op1="0xff" op2="0x49" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi" stackbehaviourpush="Pushi" />
- <opcode name="ldind.i4" op1="0xff" op2="0x4a" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi" stackbehaviourpush="Pushi" />
- <opcode name="ldind.u4" op1="0xff" op2="0x4b" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi" stackbehaviourpush="Pushi" />
- <opcode name="ldind.i8" op1="0xff" op2="0x4c" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi" stackbehaviourpush="Pushi8" />
- <opcode name="ldind.i" op1="0xff" op2="0x4d" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi" stackbehaviourpush="Pushi" />
- <opcode name="ldind.r4" op1="0xff" op2="0x4e" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi" stackbehaviourpush="Pushr4" />
- <opcode name="ldind.r8" op1="0xff" op2="0x4f" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi" stackbehaviourpush="Pushr8" />
- <opcode name="ldind.ref" op1="0xff" op2="0x50" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi" stackbehaviourpush="Pushref" />
- <opcode name="stind.ref" op1="0xff" op2="0x51" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi_popi" stackbehaviourpush="Push0" />
- <opcode name="stind.i1" op1="0xff" op2="0x52" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi_popi" stackbehaviourpush="Push0" />
- <opcode name="stind.i2" op1="0xff" op2="0x53" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi_popi" stackbehaviourpush="Push0" />
- <opcode name="stind.i4" op1="0xff" op2="0x54" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi_popi" stackbehaviourpush="Push0" />
- <opcode name="stind.i8" op1="0xff" op2="0x55" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi_popi8" stackbehaviourpush="Push0" />
- <opcode name="stind.r4" op1="0xff" op2="0x56" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi_popr4" stackbehaviourpush="Push0" />
- <opcode name="stind.r8" op1="0xff" op2="0x57" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi_popr8" stackbehaviourpush="Push0" />
- <opcode name="add" op1="0xff" op2="0x58" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="sub" op1="0xff" op2="0x59" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="mul" op1="0xff" op2="0x5a" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="div" op1="0xff" op2="0x5b" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="div.un" op1="0xff" op2="0x5c" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="rem" op1="0xff" op2="0x5d" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="rem.un" op1="0xff" op2="0x5e" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="and" op1="0xff" op2="0x5f" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="or" op1="0xff" op2="0x60" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="xor" op1="0xff" op2="0x61" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="shl" op1="0xff" op2="0x62" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="shr" op1="0xff" op2="0x63" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="shr.un" op1="0xff" op2="0x64" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="neg" op1="0xff" op2="0x65" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Push1" />
- <opcode name="not" op1="0xff" op2="0x66" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Push1" />
- <opcode name="conv.i1" op1="0xff" op2="0x67" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.i2" op1="0xff" op2="0x68" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.i4" op1="0xff" op2="0x69" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.i8" op1="0xff" op2="0x6a" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi8" />
- <opcode name="conv.r4" op1="0xff" op2="0x6b" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushr4" />
- <opcode name="conv.r8" op1="0xff" op2="0x6c" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushr8" />
- <opcode name="conv.u4" op1="0xff" op2="0x6d" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.u8" op1="0xff" op2="0x6e" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi8" />
- <opcode name="callvirt" op1="0xff" op2="0x6f" flowcontrol="Call" opcodetype="Objmodel" operandtype="InlineMethod" stackbehaviourpop="Varpop" stackbehaviourpush="Varpush" />
- <opcode name="cpobj" op1="0xff" op2="0x70" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineType" stackbehaviourpop="Popi_popi" stackbehaviourpush="Push0" />
- <opcode name="ldobj" op1="0xff" op2="0x71" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineType" stackbehaviourpop="Popi" stackbehaviourpush="Push1" />
- <opcode name="ldstr" op1="0xff" op2="0x72" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineString" stackbehaviourpop="Pop0" stackbehaviourpush="Pushref" />
- <opcode name="newobj" op1="0xff" op2="0x73" flowcontrol="Call" opcodetype="Objmodel" operandtype="InlineMethod" stackbehaviourpop="Varpop" stackbehaviourpush="Pushref" />
- <opcode name="castclass" op1="0xff" op2="0x74" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineType" stackbehaviourpop="Popref" stackbehaviourpush="Pushref" />
- <opcode name="isinst" op1="0xff" op2="0x75" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineType" stackbehaviourpop="Popref" stackbehaviourpush="Pushi" />
- <opcode name="conv.r.un" op1="0xff" op2="0x76" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushr8" />
- <opcode name="unbox" op1="0xff" op2="0x79" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineType" stackbehaviourpop="Popref" stackbehaviourpush="Pushi" />
- <opcode name="throw" op1="0xff" op2="0x7a" flowcontrol="Throw" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref" stackbehaviourpush="Push0" />
- <opcode name="ldfld" op1="0xff" op2="0x7b" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineField" stackbehaviourpop="Popref" stackbehaviourpush="Push1" />
- <opcode name="ldflda" op1="0xff" op2="0x7c" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineField" stackbehaviourpop="Popref" stackbehaviourpush="Pushi" />
- <opcode name="stfld" op1="0xff" op2="0x7d" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineField" stackbehaviourpop="Popref_pop1" stackbehaviourpush="Push0" />
- <opcode name="ldsfld" op1="0xff" op2="0x7e" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineField" stackbehaviourpop="Pop0" stackbehaviourpush="Push1" />
- <opcode name="ldsflda" op1="0xff" op2="0x7f" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineField" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="stsfld" op1="0xff" op2="0x80" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineField" stackbehaviourpop="Pop1" stackbehaviourpush="Push0" />
- <opcode name="stobj" op1="0xff" op2="0x81" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineType" stackbehaviourpop="Popi_pop1" stackbehaviourpush="Push0" />
- <opcode name="conv.ovf.i1.un" op1="0xff" op2="0x82" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.ovf.i2.un" op1="0xff" op2="0x83" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.ovf.i4.un" op1="0xff" op2="0x84" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.ovf.i8.un" op1="0xff" op2="0x85" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi8" />
- <opcode name="conv.ovf.u1.un" op1="0xff" op2="0x86" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.ovf.u2.un" op1="0xff" op2="0x87" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.ovf.u4.un" op1="0xff" op2="0x88" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.ovf.u8.un" op1="0xff" op2="0x89" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi8" />
- <opcode name="conv.ovf.i.un" op1="0xff" op2="0x8a" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.ovf.u.un" op1="0xff" op2="0x8b" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="box" op1="0xff" op2="0x8c" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineType" stackbehaviourpop="Pop1" stackbehaviourpush="Pushref" />
- <opcode name="newarr" op1="0xff" op2="0x8d" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineType" stackbehaviourpop="Popi" stackbehaviourpush="Pushref" />
- <opcode name="ldlen" op1="0xff" op2="0x8e" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref" stackbehaviourpush="Pushi" />
- <opcode name="ldelema" op1="0xff" op2="0x8f" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineType" stackbehaviourpop="Popref_popi" stackbehaviourpush="Pushi" />
- <opcode name="ldelem.i1" op1="0xff" op2="0x90" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi" stackbehaviourpush="Pushi" />
- <opcode name="ldelem.u1" op1="0xff" op2="0x91" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi" stackbehaviourpush="Pushi" />
- <opcode name="ldelem.i2" op1="0xff" op2="0x92" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi" stackbehaviourpush="Pushi" />
- <opcode name="ldelem.u2" op1="0xff" op2="0x93" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi" stackbehaviourpush="Pushi" />
- <opcode name="ldelem.i4" op1="0xff" op2="0x94" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi" stackbehaviourpush="Pushi" />
- <opcode name="ldelem.u4" op1="0xff" op2="0x95" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi" stackbehaviourpush="Pushi" />
- <opcode name="ldelem.i8" op1="0xff" op2="0x96" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi" stackbehaviourpush="Pushi8" />
- <opcode name="ldelem.i" op1="0xff" op2="0x97" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi" stackbehaviourpush="Pushi" />
- <opcode name="ldelem.r4" op1="0xff" op2="0x98" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi" stackbehaviourpush="Pushr4" />
- <opcode name="ldelem.r8" op1="0xff" op2="0x99" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi" stackbehaviourpush="Pushr8" />
- <opcode name="ldelem.ref" op1="0xff" op2="0x9a" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi" stackbehaviourpush="Pushref" />
- <opcode name="stelem.i" op1="0xff" op2="0x9b" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi_popi" stackbehaviourpush="Push0" />
- <opcode name="stelem.i1" op1="0xff" op2="0x9c" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi_popi" stackbehaviourpush="Push0" />
- <opcode name="stelem.i2" op1="0xff" op2="0x9d" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi_popi" stackbehaviourpush="Push0" />
- <opcode name="stelem.i4" op1="0xff" op2="0x9e" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi_popi" stackbehaviourpush="Push0" />
- <opcode name="stelem.i8" op1="0xff" op2="0x9f" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi_popi8" stackbehaviourpush="Push0" />
- <opcode name="stelem.r4" op1="0xff" op2="0xa0" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi_popr4" stackbehaviourpush="Push0" />
- <opcode name="stelem.r8" op1="0xff" op2="0xa1" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi_popr8" stackbehaviourpush="Push0" />
- <opcode name="stelem.ref" op1="0xff" op2="0xa2" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Popref_popi_popref" stackbehaviourpush="Push0" />
- <opcode name="ldelem.any" op1="0xff" op2="0xa3" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineType" stackbehaviourpop="Popref_popi" stackbehaviourpush="Push1" requires="NET_2_0" />
- <opcode name="stelem.any" op1="0xff" op2="0xa4" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineType" stackbehaviourpop="Popref_popi_popref" stackbehaviourpush="Push0" requires="NET_2_0" />
- <opcode name="unbox.any" op1="0xff" op2="0xa5" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineType" stackbehaviourpop="Popref" stackbehaviourpush="Push1" requires="NET_2_0" />
- <opcode name="conv.ovf.i1" op1="0xff" op2="0xb3" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.ovf.u1" op1="0xff" op2="0xb4" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.ovf.i2" op1="0xff" op2="0xb5" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.ovf.u2" op1="0xff" op2="0xb6" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.ovf.i4" op1="0xff" op2="0xb7" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.ovf.u4" op1="0xff" op2="0xb8" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.ovf.i8" op1="0xff" op2="0xb9" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi8" />
- <opcode name="conv.ovf.u8" op1="0xff" op2="0xba" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi8" />
- <opcode name="refanyval" op1="0xff" op2="0xc2" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineType" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="ckfinite" op1="0xff" op2="0xc3" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushr8" />
- <opcode name="mkrefany" op1="0xff" op2="0xc6" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineType" stackbehaviourpop="Popi" stackbehaviourpush="Push1" />
- <opcode name="ldtoken" op1="0xff" op2="0xd0" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineTok" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="conv.u2" op1="0xff" op2="0xd1" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.u1" op1="0xff" op2="0xd2" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.i" op1="0xff" op2="0xd3" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.ovf.i" op1="0xff" op2="0xd4" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="conv.ovf.u" op1="0xff" op2="0xd5" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="add.ovf" op1="0xff" op2="0xd6" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="add.ovf.un" op1="0xff" op2="0xd7" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="mul.ovf" op1="0xff" op2="0xd8" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="mul.ovf.un" op1="0xff" op2="0xd9" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="sub.ovf" op1="0xff" op2="0xda" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="sub.ovf.un" op1="0xff" op2="0xdb" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Push1" />
- <opcode name="endfinally" op1="0xff" op2="0xdc" flowcontrol="Return" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Push0" />
- <opcode name="leave" op1="0xff" op2="0xdd" flowcontrol="Branch" opcodetype="Primitive" operandtype="InlineBrTarget" stackbehaviourpop="PopAll" stackbehaviourpush="Push0" />
- <opcode name="leave.s" op1="0xff" op2="0xde" flowcontrol="Branch" opcodetype="Macro" operandtype="ShortInlineBrTarget" stackbehaviourpop="PopAll" stackbehaviourpush="Push0" />
- <opcode name="stind.i" op1="0xff" op2="0xdf" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi_popi" stackbehaviourpush="Push0" />
- <opcode name="conv.u" op1="0xff" op2="0xe0" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="arglist" op1="0xfe" op2="0x00" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="ceq" op1="0xfe" op2="0x01" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Pushi" />
- <opcode name="cgt" op1="0xfe" op2="0x02" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Pushi" />
- <opcode name="cgt.un" op1="0xfe" op2="0x03" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Pushi" />
- <opcode name="clt" op1="0xfe" op2="0x04" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Pushi" />
- <opcode name="clt.un" op1="0xfe" op2="0x05" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1_pop1" stackbehaviourpush="Pushi" />
- <opcode name="ldftn" op1="0xfe" op2="0x06" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineMethod" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="ldvirtftn" op1="0xfe" op2="0x07" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineMethod" stackbehaviourpop="Popref" stackbehaviourpush="Pushi" />
- <opcode name="ldarg" op1="0xfe" op2="0x09" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineParam" stackbehaviourpop="Pop0" stackbehaviourpush="Push1" />
- <opcode name="ldarga" op1="0xfe" op2="0x0a" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineParam" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="starg" op1="0xfe" op2="0x0b" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineParam" stackbehaviourpop="Pop1" stackbehaviourpush="Push0" />
- <opcode name="ldloc" op1="0xfe" op2="0x0c" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineVar" stackbehaviourpop="Pop0" stackbehaviourpush="Push1" />
- <opcode name="ldloca" op1="0xfe" op2="0x0d" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineVar" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="stloc" op1="0xfe" op2="0x0e" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineVar" stackbehaviourpop="Pop1" stackbehaviourpush="Push0" />
- <opcode name="localloc" op1="0xfe" op2="0x0f" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi" stackbehaviourpush="Pushi" />
- <opcode name="endfilter" op1="0xfe" op2="0x11" flowcontrol="Return" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi" stackbehaviourpush="Push0" />
- <opcode name="unaligned." op1="0xfe" op2="0x12" flowcontrol="Meta" opcodetype="Prefix" operandtype="ShortInlineI" stackbehaviourpop="Pop0" stackbehaviourpush="Push0" />
- <opcode name="volatile." op1="0xfe" op2="0x13" flowcontrol="Meta" opcodetype="Prefix" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Push0" />
- <opcode name="tail." op1="0xfe" op2="0x14" flowcontrol="Meta" opcodetype="Prefix" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Push0" />
- <opcode name="initobj" op1="0xfe" op2="0x15" flowcontrol="Next" opcodetype="Objmodel" operandtype="InlineType" stackbehaviourpop="Popi" stackbehaviourpush="Push0" />
- <opcode name="constrained." op1="0xfe" op2="0x16" flowcontrol="Next" opcodetype="Prefix" operandtype="InlineType" stackbehaviourpop="Pop0" stackbehaviourpush="Push0" />
- <opcode name="cpblk" op1="0xfe" op2="0x17" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi_popi_popi" stackbehaviourpush="Push0" />
- <opcode name="initblk" op1="0xfe" op2="0x18" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Popi_popi_popi" stackbehaviourpush="Push0" />
- <opcode name="no." op1="0xfe" op2="0x19" flowcontrol="Next" opcodetype="Prefix" operandtype="ShortInlineI" stackbehaviourpop="Pop0" stackbehaviourpush="Push0" />
- <opcode name="rethrow" op1="0xfe" op2="0x1a" flowcontrol="Throw" opcodetype="Objmodel" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Push0" />
- <opcode name="sizeof" op1="0xfe" op2="0x1c" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineType" stackbehaviourpop="Pop0" stackbehaviourpush="Pushi" />
- <opcode name="refanytype" op1="0xfe" op2="0x1d" flowcontrol="Next" opcodetype="Primitive" operandtype="InlineNone" stackbehaviourpop="Pop1" stackbehaviourpush="Pushi" />
- <opcode name="readonly." op1="0xfe" op2="0x1e" flowcontrol="Next" opcodetype="Prefix" operandtype="InlineNone" stackbehaviourpop="Pop0" stackbehaviourpush="Push0" />
- </opcodes>
-
- </metadata>
-
- <!--
- This part contains all the collections
- that will be used in the Reflection ns
- -->
- <collections>
- <collection type="AssemblyNameReference" container="ModuleDefinition" visit="IReflectionStructure" target="Mono.Cecil" indexed="true" />
- <collection type="ModuleReference" container="ModuleDefinition" visit="IReflectionStructure" indexed="true" target="Mono.Cecil" />
- <collection type="ModuleDefinition" container="AssemblyDefinition" visit="IReflectionStructure" indexed="true" target="Mono.Cecil" />
- <collection type="Resource" container="ModuleDefinition" visit="IReflectionStructure" target="Mono.Cecil" indexed="true" />
- <collection type="TypeDefinition" container="ModuleDefinition" visit="IReflection" target="Mono.Cecil" />
- <collection type="TypeReference" container="ModuleDefinition" visit="IReflection" target="Mono.Cecil" />
- <collection type="TypeReference" container="TypeDefinition" visit="IReflection" name="Interface" indexed="true" target="Mono.Cecil" />
- <collection type="ParameterDefinition" container="IMemberReference" visit="IReflection" indexed="true" target="Mono.Cecil" />
- <collection type="MethodReference" container="MethodDefinition" visit="IReflection" name="Override" indexed="true" target="Mono.Cecil" />
- <collection type="MethodDefinition" container="TypeDefinition" visit="IReflection" indexed="true" target="Mono.Cecil" />
- <collection type="MethodDefinition" container="TypeDefinition" visit="IReflection" name="Constructor" indexed="true" target="Mono.Cecil" />
- <collection type="EventDefinition" container="TypeDefinition" visit="IReflection" target="Mono.Cecil" indexed="true" />
- <collection type="FieldDefinition" container="TypeDefinition" visit="IReflection" target="Mono.Cecil" indexed="true" />
- <collection type="PropertyDefinition" container="TypeDefinition" visit="IReflection" target="Mono.Cecil" indexed="true" />
- <collection type="Instruction" container="MethodBody" visit="ICode" indexed="true" target="Mono.Cecil.Cil" />
- <collection type="ExceptionHandler" container="MethodBody" visit="ICode" indexed="true" target="Mono.Cecil.Cil" />
- <collection type="VariableDefinition" container="IVariableDefinitionProvider" visit="ICode" indexed="true" target="Mono.Cecil.Cil" />
- <collection type="ArrayDimension" container="ArrayType" target="Mono.Cecil" indexed="true" />
- <!-- modified behaviour
- <collection type="SecurityDeclaration" container="IHasSecurity" usecontainerinterface="true" target="Mono.Cecil" indexed="true" visit="IReflection" />
- -->
- <collection type="CustomAttribute" container="ICustomAttributeProvider" usecontainerinterface="true" target="Mono.Cecil" indexed="true" visit="IReflection" />
- <collection type="TypeReference" container="ModuleDefinition" target="Mono.Cecil" visit="IReflection" name="ExternType" />
- <collection type="TypeDefinition" container="TypeDefinition" target="Mono.Cecil" visit="IReflection" name="NestedType" indexed="true" />
- <collection type="MemberReference" container="ModuleDefinition" target="Mono.Cecil" visit="IReflection" indexed="true" />
- <collection type="GenericParameter" container="IGenericParameterProvider" usecontainerinterface="true" target="Mono.Cecil" indexed="true" visit="IReflection" />
- <collection type="TypeReference" name="GenericArgument" container="IGenericInstance" target="Mono.Cecil" indexed="true" />
- <collection type="TypeReference" name="Constraint" container="GenericParameter" target="Mono.Cecil" indexed="true" />
- <collection type="Scope" container="IScopeProvider" visit="ICode" target="Mono.Cecil.Cil" indexed="true" />
- </collections>
-
-</cecil>
diff --git a/mcs/class/Mono.Cecil/CodeGen/templates/BaseMetadataVisitor.cs b/mcs/class/Mono.Cecil/CodeGen/templates/BaseMetadataVisitor.cs
deleted file mode 100644
index c77583fd943..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/templates/BaseMetadataVisitor.cs
+++ /dev/null
@@ -1,112 +0,0 @@
-//
-// BaseMetadataVisitor.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// <%=Time.now%>
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public abstract class BaseMetadataVisitor : IMetadataVisitor {
-
- public virtual void VisitMetadataRoot (MetadataRoot root)
- {
- }
-
- public virtual void VisitMetadataRootHeader (MetadataRoot.MetadataRootHeader header)
- {
- }
-
- public virtual void VisitMetadataStreamCollection (MetadataStreamCollection streams)
- {
- }
-
- public virtual void VisitMetadataStream (MetadataStream stream)
- {
- }
-
- public virtual void VisitMetadataStreamHeader (MetadataStream.MetadataStreamHeader header)
- {
- }
-
- public virtual void VisitGuidHeap (GuidHeap heap)
- {
- }
-
- public virtual void VisitStringsHeap (StringsHeap heap)
- {
- }
-
- public virtual void VisitTablesHeap (TablesHeap heap)
- {
- }
-
- public virtual void VisitBlobHeap (BlobHeap heap)
- {
- }
-
- public virtual void VisitUserStringsHeap (UserStringsHeap heap)
- {
- }
-
- public virtual void TerminateMetadataRoot (MetadataRoot root)
- {
- }
- }
-
- public abstract class BaseMetadataTableVisitor : IMetadataTableVisitor {
-
- public virtual void VisitTableCollection (TableCollection coll)
- {
- }
-
-<% $tables.each { |table| %> public virtual void Visit<%=table.table_name%> (<%=table.table_name%> table)
- {
- }
-
-<% } %> public virtual void TerminateTableCollection (TableCollection coll)
- {
- }
-
- public abstract IMetadataRowVisitor GetRowVisitor();
- }
-
- public abstract class BaseMetadataRowVisitor : IMetadataRowVisitor {
-
- public virtual void VisitRowCollection (RowCollection coll)
- {
- }
-
-<% $tables.each { |table| %> public virtual void Visit<%=table.row_name%> (<%=table.row_name%> row)
- {
- }
-
-<% } %> public virtual void TerminateRowCollection (RowCollection coll)
- {
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/CodeGen/templates/Code.cs b/mcs/class/Mono.Cecil/CodeGen/templates/Code.cs
deleted file mode 100644
index 7274f8c8ca1..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/templates/Code.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// Code.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// <%=Time.now%>
-//
-// (C) 2007 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- public enum Code {
-<% $ops.each { |op| %> <%=op.field_name%>,
-<% } %> }
-}
diff --git a/mcs/class/Mono.Cecil/CodeGen/templates/CodedIndex.cs b/mcs/class/Mono.Cecil/CodeGen/templates/CodedIndex.cs
deleted file mode 100644
index 9f6a9d86c91..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/templates/CodedIndex.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// CodedIndex.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// <%=Time.now%>
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public enum CodedIndex {
-<% $coded_indexes.each { |ci| %> <%=ci.name%><% if ci != $coded_indexes.last %>,<% end %>
-<% }
-%> }
-}
diff --git a/mcs/class/Mono.Cecil/CodeGen/templates/IMetadataVisitor.cs b/mcs/class/Mono.Cecil/CodeGen/templates/IMetadataVisitor.cs
deleted file mode 100644
index 421f8ccc8f4..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/templates/IMetadataVisitor.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-//
-// IMetadataVisitor.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// <%=Time.now%>
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public interface IMetadataVisitor {
- void VisitMetadataRoot (MetadataRoot root);
- void VisitMetadataRootHeader (MetadataRoot.MetadataRootHeader header);
- void VisitMetadataStreamCollection (MetadataStreamCollection streams);
- void VisitMetadataStream (MetadataStream stream);
- void VisitMetadataStreamHeader (MetadataStream.MetadataStreamHeader header);
- void VisitGuidHeap (GuidHeap heap);
- void VisitStringsHeap (StringsHeap heap);
- void VisitTablesHeap (TablesHeap heap);
- void VisitBlobHeap (BlobHeap heap);
- void VisitUserStringsHeap (UserStringsHeap heap);
-
- void TerminateMetadataRoot (MetadataRoot root);
- }
-
- public interface IMetadataTableVisitor {
- void VisitTableCollection (TableCollection coll);
-
-<% $tables.each { |table| %> void Visit<%=table.table_name%> (<%=table.table_name%> table);
-<% } %>
- void TerminateTableCollection (TableCollection coll);
- IMetadataRowVisitor GetRowVisitor();
-}
-
- public interface IMetadataRowVisitor {
- void VisitRowCollection (RowCollection coll);
-
-<% $tables.each { |table| %> void Visit<%=table.row_name%> (<%=table.row_name%> row);
-<% } %>
- void TerminateRowCollection (RowCollection coll);
- }
-}
diff --git a/mcs/class/Mono.Cecil/CodeGen/templates/IndexedCollection.cs b/mcs/class/Mono.Cecil/CodeGen/templates/IndexedCollection.cs
deleted file mode 100644
index e95e819212a..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/templates/IndexedCollection.cs
+++ /dev/null
@@ -1,296 +0,0 @@
-//
-// <%=$cur_coll.name%>.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// <%=Time.now%>
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-<%
-def member_visibility()
- return $cur_coll.type == "Instruction" ? "internal" : "public"
-end
-
-def use_event?()
- case $cur_coll.name
- when "NestedTypeCollection", "MethodDefinitionCollection", "ConstructorCollection", "FieldDefinitionCollection", "EventDefinitionCollection", "PropertyDefinitionCollection"
- return true
- end
-
- return false
-end
-
-%>
-namespace <%=$cur_coll.target%> {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class <%=$cur_coll.name%> : CollectionBase<% if (!$cur_coll.visitable.nil?) then %>, <%=$cur_coll.visitable%><% end %> {
-
- <%=$cur_coll.container_impl%> m_container;<%
- if $cur_coll.type == "Instruction" %>
- public readonly Instruction Outside = new Instruction (int.MaxValue, OpCodes.Nop);<% end %>
-
- public <%=$cur_coll.type%> this [int index] {
- get { return List [index] as <%=$cur_coll.type%>; }
- set { List [index] = value; }
- }
-
- public <%=$cur_coll.container%> Container {
- get { return m_container; }
- }
-
- public <%=$cur_coll.name%> (<%=$cur_coll.container_impl%> container)
- {
- m_container = container;
- }
-
- <%= member_visibility() %> void Add (<%=$cur_coll.type%> value)
- {<%
-if use_event?() %>
- Attach (value);
-<% end %>
- List.Add (value);
- }
-<%
-if use_event?() %>
-
- public new void Clear ()
- {
- foreach (<%=$cur_coll.type%> item in this)
- Detach (item);
-
- base.Clear ();
- }
-<% end %>
- public bool Contains (<%=$cur_coll.type%> value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (<%=$cur_coll.type%> value)
- {
- return List.IndexOf (value);
- }
-
- <%= member_visibility() %> void Insert (int index, <%=$cur_coll.type%> value)
- {<%
-if use_event?() %>
- Attach (value);
-<% end %>
- List.Insert (index, value);
- }
-
- <%= member_visibility() %> void Remove (<%=$cur_coll.type%> value)
- {
- List.Remove (value);
-<% if use_event?() %>
- Detach (value);
-<% end %> }
-<%
-if use_event?() %>
-
- <%= member_visibility() %> new void RemoveAt (int index)
- {
- <%=$cur_coll.type%> item = this [index];
- Remove (item);
- }
-<% end %>
- protected override void OnValidate (object o)
- {
- if (! (o is <%=$cur_coll.type%>))
- throw new ArgumentException ("Must be of type " + typeof (<%=$cur_coll.type%>).FullName);
- }
-<%
- case $cur_coll.item_name
- when "MethodDefinition"
-%>
- public MethodDefinition [] GetMethod (string name)
- {
- ArrayList ret = new ArrayList ();
- foreach (MethodDefinition meth in this)
- if (meth.Name == name)
- ret.Add (meth);
-
- return ret.ToArray (typeof (MethodDefinition)) as MethodDefinition [];
- }
-
- internal MethodDefinition GetMethodInternal (string name, IList parameters)
- {
- foreach (MethodDefinition meth in this) {
- if (meth.Name != name || meth.Parameters.Count != parameters.Count)
- continue;
-
- bool match = true;
- for (int i = 0; i < parameters.Count; i++) {
- string pname;
- object param = parameters [i];
- if (param is Type)
- pname = ReflectionHelper.GetTypeSignature (param as Type);
- else if (param is TypeReference)
- pname = (param as TypeReference).FullName;
- else if (param is ParameterDefinition)
- pname = (param as ParameterDefinition).ParameterType.FullName;
- else
- throw new NotSupportedException ();
-
- if (meth.Parameters [i].ParameterType.FullName != pname) {
- match = false;
- break;
- }
- }
-
- if (match)
- return meth;
- }
-
- return null;
- }
-
- public MethodDefinition GetMethod (string name, Type [] parameters)
- {
- return GetMethodInternal (name, parameters);
- }
-
- public MethodDefinition GetMethod (string name, TypeReference [] parameters)
- {
- return GetMethodInternal (name, parameters);
- }
-
- public MethodDefinition GetMethod (string name, ParameterDefinitionCollection parameters)
- {
- return GetMethodInternal (name, parameters);
- }
-<%
- when "FieldDefinition"
-%>
- public FieldDefinition GetField (string name)
- {
- foreach (FieldDefinition field in this)
- if (field.Name == name)
- return field;
-
- return null;
- }
-<%
- when "Constructor"
-%>
- internal MethodDefinition GetConstructorInternal (bool isStatic, IList parameters)
- {
- foreach (MethodDefinition ctor in this) {
- if (ctor.IsStatic != isStatic || ctor.Parameters.Count != parameters.Count)
- continue;
-
- bool match = true;
- for (int i = 0; i < parameters.Count; i++) {
- string pname;
- object param = parameters [i];
- if (param is Type)
- pname = ReflectionHelper.GetTypeSignature (param as Type);
- else if (param is TypeReference)
- pname = (param as TypeReference).FullName;
- else if (param is ParameterDefinition)
- pname = (param as ParameterDefinition).ParameterType.FullName;
- else
- throw new NotSupportedException ();
-
- if (ctor.Parameters [i].ParameterType.FullName != pname) {
- match = false;
- break;
- }
- }
-
- if (match)
- return ctor;
- }
-
- return null;
- }
-
- public MethodDefinition GetConstructor (bool isStatic, Type [] parameters)
- {
- return GetConstructorInternal (isStatic, parameters);
- }
-
- public MethodDefinition GetConstructor (bool isStatic, TypeReference [] parameters)
- {
- return GetConstructorInternal (isStatic, parameters);
- }
-
- public MethodDefinition GetConstructor (bool isStatic, ParameterDefinitionCollection parameters)
- {
- return GetConstructorInternal (isStatic, parameters);
- }
-<%
- when "EventDefinition"
-%>
- public EventDefinition GetEvent (string name)
- {
- foreach (EventDefinition evt in this)
- if (evt.Name == name)
- return evt;
-
- return null;
- }
-<%
- when "PropertyDefinition"
-%>
- public PropertyDefinition [] GetProperties (string name)
- {
- ArrayList ret = new ArrayList ();
- foreach (PropertyDefinition prop in this)
- if (prop.Name == name)
- ret.Add (prop);
-
- return ret.ToArray (typeof (PropertyDefinition)) as PropertyDefinition [];
- }
-<%
- end
-
- if use_event?()
-%>
- void Attach (MemberReference member)
- {
- if (member.DeclaringType != null)
- throw new ReflectionException ("Member already attached, clone it instead");
-
- member.DeclaringType = m_container;
- }
-
- void Detach (MemberReference member)
- {
- member.DeclaringType = null;
- }
-<% end
- if !$cur_coll.visitor.nil? then %>
- public void Accept (<%=$cur_coll.visitor%> visitor)
- {
- visitor.<%=$cur_coll.visitThis%> (this);
- }
-<% end %> }
-}
diff --git a/mcs/class/Mono.Cecil/CodeGen/templates/MetadataRowReader.cs b/mcs/class/Mono.Cecil/CodeGen/templates/MetadataRowReader.cs
deleted file mode 100644
index af8ffabc206..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/templates/MetadataRowReader.cs
+++ /dev/null
@@ -1,110 +0,0 @@
-//
-// MetadataRowReader.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// <%=Time.now%>
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using System;
- using System.Collections;
- using System.IO;
-
- using Mono.Cecil.Binary;
-
- class MetadataRowReader : BaseMetadataRowVisitor {
-
- MetadataTableReader m_mtrv;
- BinaryReader m_binaryReader;
- MetadataRoot m_metadataRoot;
- int [] m_ciCache;
-
- int m_blobHeapIdxSz;
- int m_stringsHeapIdxSz;
- int m_guidHeapIdxSz;
-
- public MetadataRowReader (MetadataTableReader mtrv)
- {
- m_mtrv = mtrv;
- m_binaryReader = mtrv.GetReader ();
- m_metadataRoot = mtrv.GetMetadataRoot ();
- m_ciCache = new int [<%= $coded_indexes.length %>];
- }
-
- int GetIndexSize (int rid)
- {
- return m_mtrv.GetNumberOfRows (rid) < (1 << 16) ? 2 : 4;
- }
-
- int GetCodedIndexSize (CodedIndex ci)
- {
- return Utilities.GetCodedIndexSize (ci,
- new Utilities.TableRowCounter (m_mtrv.GetNumberOfRows), m_ciCache);
- }
-
- uint ReadByIndexSize (int size)
- {
- if (size == 2) {
- return (uint) m_binaryReader.ReadUInt16 ();
- } else if (size == 4) {
- return m_binaryReader.ReadUInt32 ();
- } else {
- throw new MetadataFormatException ("Non valid size for indexing");
- }
- }
-
- public override void VisitRowCollection (RowCollection coll)
- {
- m_blobHeapIdxSz = m_metadataRoot.Streams.BlobHeap != null ?
- m_metadataRoot.Streams.BlobHeap.IndexSize : 2;
- m_stringsHeapIdxSz = m_metadataRoot.Streams.StringsHeap != null ?
- m_metadataRoot.Streams.StringsHeap.IndexSize : 2;
- m_guidHeapIdxSz = m_metadataRoot.Streams.GuidHeap != null ?
- m_metadataRoot.Streams.GuidHeap.IndexSize : 2;
- }
-
-<% $tables.each { |table| %> public override void Visit<%=table.row_name%> (<%=table.row_name%> row)
- {
-<% table.columns.each { |col|
- if (col.target.nil?)
-%> row.<%=col.property_name%> = <%=col.read_binary("m_binaryReader")%>;
-<% elsif (col.target == "BlobHeap")
-%> row.<%=col.property_name%> = ReadByIndexSize (m_blobHeapIdxSz);
-<% elsif (col.target == "StringsHeap")
-%> row.<%=col.property_name%> = ReadByIndexSize (m_stringsHeapIdxSz);
-<% elsif (col.target == "GuidHeap")
-%> row.<%=col.property_name%> = ReadByIndexSize (m_guidHeapIdxSz);
-<% elsif (col.type == "MetadataToken")
-%> row.<%=col.property_name%> = Utilities.GetMetadataToken (CodedIndex.<%=col.target%>,
- ReadByIndexSize (GetCodedIndexSize (CodedIndex.<%=col.target%>)));
-<% else
-%> row.<%=col.property_name%> = ReadByIndexSize (GetIndexSize (<%=col.target%>Table.RId));
-<% end
-}%> }
-<% } %> }
-}
diff --git a/mcs/class/Mono.Cecil/CodeGen/templates/MetadataRowWriter.cs b/mcs/class/Mono.Cecil/CodeGen/templates/MetadataRowWriter.cs
deleted file mode 100644
index 7ace738f7ba..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/templates/MetadataRowWriter.cs
+++ /dev/null
@@ -1,145 +0,0 @@
-//
-// MetadataRowWriter.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// <%=Time.now%>
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Binary;
-
- class MetadataRowWriter : BaseMetadataRowVisitor {
-
- MetadataRoot m_root;
- MemoryBinaryWriter m_binaryWriter;
- int [] m_ciCache;
-
- int m_blobHeapIdxSz;
- int m_stringsHeapIdxSz;
- int m_guidHeapIdxSz;
-
- public MetadataRowWriter (MetadataTableWriter mtwv)
- {
- m_binaryWriter = mtwv.GetWriter ();
- m_root = mtwv.GetMetadataRoot ();
- m_ciCache = new int [<%= $coded_indexes.length %>];
- }
-
- void WriteBlobPointer (uint pointer)
- {
- WriteByIndexSize (pointer, m_blobHeapIdxSz);
- }
-
- void WriteStringPointer (uint pointer)
- {
- WriteByIndexSize (pointer, m_stringsHeapIdxSz);
- }
-
- void WriteGuidPointer (uint pointer)
- {
- WriteByIndexSize (pointer, m_guidHeapIdxSz);
- }
-
- void WriteTablePointer (uint pointer, int rid)
- {
- WriteByIndexSize (pointer, GetNumberOfRows (rid) < (1 << 16) ? 2 : 4);
- }
-
- void WriteMetadataToken (MetadataToken token, CodedIndex ci)
- {
- WriteByIndexSize (Utilities.CompressMetadataToken (ci, token),
- Utilities.GetCodedIndexSize (
- ci, new Utilities.TableRowCounter (GetNumberOfRows), m_ciCache));
- }
-
- int GetNumberOfRows (int rid)
- {
- IMetadataTable t = m_root.Streams.TablesHeap [rid];
- if (t == null || t.Rows == null)
- return 0;
- return t.Rows.Count;
- }
-
- void WriteByIndexSize (uint value, int size)
- {
- if (size == 4)
- m_binaryWriter.Write (value);
- else if (size == 2)
- m_binaryWriter.Write ((ushort) value);
- else
- throw new MetadataFormatException ("Non valid size for indexing");
- }
-
-<% $tables.each { |table|
- parameters = ""
- table.columns.each { |col|
- parameters += col.type
- parameters += " "
- parameters += col.field_name[1..col.field_name.length]
- parameters += ", " if (table.columns.last != col)
- }
-%> public <%=table.row_name%> Create<%=table.row_name%> (<%=parameters%>)
- {
- <%=table.row_name%> row = new <%=table.row_name%> ();
-<% table.columns.each { |col| %> row.<%=col.property_name%> = <%=col.field_name[1..col.field_name.length]%>;
-<% } %> return row;
- }
-
-<% } %> public override void VisitRowCollection (RowCollection coll)
- {
- m_blobHeapIdxSz = m_root.Streams.BlobHeap != null ?
- m_root.Streams.BlobHeap.IndexSize : 2;
- m_stringsHeapIdxSz = m_root.Streams.StringsHeap != null ?
- m_root.Streams.StringsHeap.IndexSize : 2;
- m_guidHeapIdxSz = m_root.Streams.GuidHeap != null ?
- m_root.Streams.GuidHeap.IndexSize : 2;
- }
-
-<% $tables.each { |table| %> public override void Visit<%=table.row_name%> (<%=table.row_name%> row)
- {
-<% table.columns.each { |col|
- if (col.target.nil?)
-%> <%=col.write_binary("row", "m_binaryWriter")%>;
-<% elsif (col.target == "BlobHeap")
-%> WriteBlobPointer (row.<%=col.property_name%>);
-<% elsif (col.target == "StringsHeap")
-%> WriteStringPointer (row.<%=col.property_name%>);
-<% elsif (col.target == "GuidHeap")
-%> WriteGuidPointer (row.<%=col.property_name%>);
-<% elsif (col.type == "MetadataToken")
-%> WriteMetadataToken (row.<%=col.property_name%>, CodedIndex.<%=col.target%>);
-<% else
-%> WriteTablePointer (row.<%=col.property_name%>, <%=col.target%>Table.RId);
-<% end
-}%> }
-
-<% } %> }
-}
diff --git a/mcs/class/Mono.Cecil/CodeGen/templates/MetadataTableReader.cs b/mcs/class/Mono.Cecil/CodeGen/templates/MetadataTableReader.cs
deleted file mode 100644
index 8f1effcffd2..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/templates/MetadataTableReader.cs
+++ /dev/null
@@ -1,97 +0,0 @@
-//
-// MetadataTableReader.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// <%=Time.now%>
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using System;
- using System.Collections;
- using System.IO;
-
- class MetadataTableReader : BaseMetadataTableVisitor {
-
- MetadataRoot m_metadataRoot;
- TablesHeap m_heap;
- MetadataRowReader m_mrrv;
- BinaryReader m_binaryReader;
-
- int [] m_rows = new int [TablesHeap.MaxTableCount];
-
- public MetadataTableReader (MetadataReader mrv)
- {
- m_metadataRoot = mrv.GetMetadataRoot ();
- m_heap = m_metadataRoot.Streams.TablesHeap;
- m_binaryReader = new BinaryReader (new MemoryStream (m_heap.Data));
- m_binaryReader.BaseStream.Position = 24;
- m_mrrv = new MetadataRowReader (this);
- }
-
- public MetadataRoot GetMetadataRoot ()
- {
- return m_metadataRoot;
- }
-
- public BinaryReader GetReader ()
- {
- return m_binaryReader;
- }
-
- public override IMetadataRowVisitor GetRowVisitor ()
- {
- return m_mrrv;
- }
-
- public int GetNumberOfRows (int rid)
- {
- return m_rows [rid];
- }
-<% $tables.each { |table| %>
- public <%=table.table_name%> Get<%=table.table_name%> ()
- {
- return (<%=table.table_name%>) m_heap [<%=table.table_name%>.RId];
- }
-<% } %>
- public override void VisitTableCollection (TableCollection coll)
- {
-<% $stables.each { |table| %> if (m_heap.HasTable (<%=table.table_name%>.RId)) {
- coll.Add (new <%=table.table_name%> ());
- m_rows [<%=table.table_name%>.RId] = m_binaryReader.ReadInt32 ();
- }
-<% } %> }
-
-<% $tables.each { |table| %> public override void Visit<%=table.table_name%> (<%=table.table_name%> table)
- {
- int number = m_rows [<%=table.table_name%>.RId];
- table.Rows = new RowCollection (number);
- for (int i = 0; i < number; i++)
- table.Rows.Add (new <%=table.row_name%> ());
- }
-<% } %> }
-}
diff --git a/mcs/class/Mono.Cecil/CodeGen/templates/MetadataTableWriter.cs b/mcs/class/Mono.Cecil/CodeGen/templates/MetadataTableWriter.cs
deleted file mode 100644
index 8e03b27cdb3..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/templates/MetadataTableWriter.cs
+++ /dev/null
@@ -1,98 +0,0 @@
-//
-// MetadataTableWriter.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// <%=Time.now%>
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Binary;
-
- internal sealed class MetadataTableWriter : BaseMetadataTableVisitor {
-
- MetadataRoot m_root;
- TablesHeap m_heap;
- MetadataRowWriter m_mrrw;
- MemoryBinaryWriter m_binaryWriter;
-
- public MetadataTableWriter (MetadataWriter mrv, MemoryBinaryWriter writer)
- {
- m_root = mrv.GetMetadataRoot ();
- m_heap = m_root.Streams.TablesHeap;
- m_binaryWriter = writer;
- m_mrrw = new MetadataRowWriter (this);
- }
-
- public MetadataRoot GetMetadataRoot ()
- {
- return m_root;
- }
-
- public override IMetadataRowVisitor GetRowVisitor ()
- {
- return m_mrrw;
- }
-
- public MemoryBinaryWriter GetWriter ()
- {
- return m_binaryWriter;
- }
-
- void InitializeTable (IMetadataTable table)
- {
- table.Rows = new RowCollection ();
- m_heap.Valid |= 1L << table.Id;
- m_heap.Tables.Add (table);
- }
-
- void WriteCount (int rid)
- {
- if (m_heap.HasTable (rid))
- m_binaryWriter.Write (m_heap [rid].Rows.Count);
- }
-
-<% $tables.each { |table| %> public <%=table.table_name%> Get<%=table.table_name%> ()
- {
- <%=table.table_name%> table = m_heap [<%=table.table_name%>.RId] as <%=table.table_name%>;
- if (table != null)
- return table;
-
- table = new <%=table.table_name%> ();
- InitializeTable (table);
- return table;
- }
-
-<% } %> public override void VisitTableCollection (TableCollection coll)
- {
-<% $stables.each { |table| %> WriteCount (<%=table.table_name%>.RId);
-<% } %> }
- }
-}
diff --git a/mcs/class/Mono.Cecil/CodeGen/templates/NamedCollection.cs b/mcs/class/Mono.Cecil/CodeGen/templates/NamedCollection.cs
deleted file mode 100644
index 64e48de0443..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/templates/NamedCollection.cs
+++ /dev/null
@@ -1,232 +0,0 @@
-//
-// <%=$cur_coll.name%>.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// <%=Time.now%>
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-<%
-def use_event?()
- case $cur_coll.name
- when "TypeDefinitionCollection", "TypeReferenceCollection", "ExternTypeCollection"
- return true
- end
-
- return false
-end
-%>
-namespace <%=$cur_coll.target%> {
-
- using System;
- using System.Collections;
- using System.Collections.Specialized;
-
- using Mono.Cecil.Cil;
-
- using Hcp = Mono.Cecil.HashCodeProvider;
- using Cmp = System.Collections.Comparer;
-
- public sealed class <%=$cur_coll.name%> : NameObjectCollectionBase, IList<% if (!$cur_coll.visitable.nil?) then %>, <%=$cur_coll.visitable%><% end %> {
-
- <%=$cur_coll.container%> m_container;
-
- public <%=$cur_coll.type%> this [int index] {
- get { return this.BaseGet (index) as <%=$cur_coll.type%>; }
- set { this.BaseSet (index, value); }
- }
-
- public <%=$cur_coll.type%> this [string fullName] {
- get { return this.BaseGet (fullName) as <%=$cur_coll.type%>; }
- set { this.BaseSet (fullName, value); }
- }
-
- public <%=$cur_coll.container%> Container {
- get { return m_container; }
- }
-
- public bool IsSynchronized {
- get { return false; }
- }
-
- public object SyncRoot {
- get { return this; }
- }
-
- bool IList.IsReadOnly {
- get { return false; }
- }
-
- bool IList.IsFixedSize {
- get { return false; }
- }
-
- object IList.this [int index] {
- get { return BaseGet (index); }
- set {
- Check (value);
- BaseSet (index, value);
- }
- }
-
- public <%=$cur_coll.name%> (<%=$cur_coll.container%> container) :
- base (Hcp.Instance, Cmp.Default)
- {
- m_container = container;
- }
-
- public void Add (<%=$cur_coll.type%> value)
- {
- if (value == null)
- throw new ArgumentNullException ("value");
-
- <% if use_event?() %>Attach (value);<% end %>
-
- this.BaseAdd (value.FullName, value);
- }
-
- public void Clear ()
- {<%
- if use_event?() %>
- foreach (<%=$cur_coll.type%> item in this)
- Detach (item);
-<% end %>
- this.BaseClear ();
- }
-
- public bool Contains (<%=$cur_coll.type%> value)
- {
- return Contains (value.FullName);
- }
-
- public bool Contains (string fullName)
- {
- return this.BaseGet (fullName) != null;
- }
-
- public int IndexOf (<%=$cur_coll.type%> value)
- {
- string [] keys = this.BaseGetAllKeys ();
- return Array.IndexOf (keys, value.FullName, 0, keys.Length);
- }
-
- public void Remove (<%=$cur_coll.type%> value)
- {
- this.BaseRemove (value.FullName);
-<% if use_event?() %>
- Detach (value);
-<% end %> }
-
- public void RemoveAt (int index)
- {
- <%=$cur_coll.type%> item = this [index];
- Remove (item);
-<% if use_event?() %>
- Detach (item);
-<% end %> }
-
- public void CopyTo (Array ary, int index)
- {
- this.BaseGetAllValues ().CopyTo (ary, index);
- }
-
- public new IEnumerator GetEnumerator ()
- {
- return this.BaseGetAllValues ().GetEnumerator ();
- }
-<% if !$cur_coll.visitor.nil? then %>
- public void Accept (<%=$cur_coll.visitor%> visitor)
- {
- visitor.<%=$cur_coll.visitThis%> (this);
- }
-<% end %>
-#if CF_1_0 || CF_2_0
- internal object [] BaseGetAllValues ()
- {
- object [] values = new object [this.Count];
- for (int i=0; i < values.Length; ++i) {
- values [i] = this.BaseGet (i);
- }
- return values;
- }
-#endif
-
- void Check (object value)
- {
- if (!(value is <%=$cur_coll.type%>))
- throw new ArgumentException ();
- }
-
- int IList.Add (object value)
- {
- Check (value);
- Add (value as <%=$cur_coll.type%>);
- return 0;
- }
-
- bool IList.Contains (object value)
- {
- Check (value);
- return Contains (value as <%=$cur_coll.type%>);
- }
-
- int IList.IndexOf (object value)
- {
- throw new NotSupportedException ();
- }
-
- void IList.Insert (int index, object value)
- {
- throw new NotSupportedException ();
- }
-
- void IList.Remove (object value)
- {
- Check (value);
- Remove (value as <%=$cur_coll.type%>);
- }
-<%
- if use_event?()
-%>
- void Detach (TypeReference type)
- {
- type.Module = null;
- }
-
- void Attach (TypeReference type)
- {
- if (type.Module != null)
- throw new ReflectionException ("Type is already attached, clone it instead");
-
- type.Module = m_container;<%
- if $cur_coll.type == "TypeDefinition" %>
- type.AttachToScope (m_container);
-<% end %>
- }<%
-
- end
-%>
- }
-}
diff --git a/mcs/class/Mono.Cecil/CodeGen/templates/OpCodes.cs b/mcs/class/Mono.Cecil/CodeGen/templates/OpCodes.cs
deleted file mode 100644
index 320ef2a0e49..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/templates/OpCodes.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-//
-// OpCodes.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// <%=Time.now%>
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-<%
- oboc = Array.new
- tboc = Array.new
- $ops.each { |op|
- if op.op1 == "0xff"
- oboc.push(op)
- else
- tboc.push(op)
- end
- }
-%>
-namespace Mono.Cecil.Cil {
-
- public sealed class OpCodes {
-
- internal static readonly OpCode [] OneByteOpCode = new OpCode [<%=oboc[oboc.length - 1].op2%> + 1];
- internal static readonly OpCode [] TwoBytesOpCode = new OpCode [<%=tboc[tboc.length - 1].op2%> + 1];
-
-<% $ops.each { |op| %> public static readonly OpCode <%=op.field_name%> = new OpCode (
- <%=op.op1%>, <%=op.op2%>,
- Code.<%=op.field_name%>, <%=op.flowcontrol%>,
- <%=op.opcodetype%>, <%=op.operandtype%>,
- <%=op.stackbehaviourpop%>, <%=op.stackbehaviourpush%>);
-
-<% } %> OpCodes ()
- {
- }
-
- public static OpCode GetOpCode (Code code)
- {
- switch (code) {
-<% $ops.each { |op| %> case Code.<%=op.field_name%> : return OpCodes.<%=op.field_name%>;
-<% } %> default : return OpCodes.Nop;
- }
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/CodeGen/templates/Table.cs b/mcs/class/Mono.Cecil/CodeGen/templates/Table.cs
deleted file mode 100644
index 17ea97b0571..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/templates/Table.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-//
-// <%=$cur_table.table_name%>.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// <%=Time.now%>
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-<% $cur_table.ref_ns.each { |ns| %>
- using <%=ns%>;
-<% }
-%>
- public sealed class <%=$cur_table.table_name%> : IMetadataTable {
-
- public const int RId = <%=$cur_table.rid%>;
-
- RowCollection m_rows;
-
- public <%=$cur_table.row_name%> this [int index] {
- get { return m_rows [index] as <%=$cur_table.row_name%>; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal <%=$cur_table.table_name%> ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.Visit<%=$cur_table.table_name%> (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class <%=$cur_table.row_name%> : IMetadataRow {
-
-<% $cur_table.columns.each { |col| %> public <%=col.type%> <%=col.property_name%>;
-<% } %>
- internal <%=$cur_table.row_name%> ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.Visit<%=$cur_table.row_name%> (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/CodeGen/templates/Tests.cs b/mcs/class/Mono.Cecil/CodeGen/templates/Tests.cs
deleted file mode 100644
index 0cd4e3ca62f..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/templates/Tests.cs
+++ /dev/null
@@ -1,116 +0,0 @@
-//
-// Tests.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen-tests.rb do not edit
-// <%=Time.now%>
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Tests {
-
- using System;
- using System.IO;
- using System.Collections;
-
- using NUnit.Framework;
-
- using Mono.Cecil;
-
- class Language {
-
- string m_compiler;
- string m_command;
-
- public string Compiler {
- get { return m_compiler; }
- }
-
- public string Command {
- get { return m_command; }
- }
-
- public Language (string compiler, string command)
- {
- m_compiler = compiler;
- m_command = command;
- }
-
- static IDictionary m_languages = new Hashtable ();
-
- static Language ()
- {
-<%
- $languages.each { |l|
-%>
- m_languages.Add ("<%= l.name %>", new Language (
- "<%= l.compiler %>",
- "<%= l.command %>"
- ));
-<%
- }
-%>
- }
-
- public static Language GetLanguage (string name)
- {
- return (Language) m_languages [name];
- }
- }
-
- class TestCase {
-
- Language m_lang;
- FileInfo m_file;
-
- public TestCase (Language lang, string file)
- {
- m_lang = lang;
- m_file = new FileInfo (file);
- }
- }
-
- [TestFixture]
- class GeneratedTests {
-
- void Test (TestCase test)
- {
- }
-
-<%
- $tests.each { |test|
-%>
- [Test]
- public void <%= test.method %> ()
- {
- Test (new TestCase (
- Language.GetLanguage ("<%= test.lang.name %>"),
- @"<%= test.file %>"));
- }
-<%
- }
-%>
- }
-}
diff --git a/mcs/class/Mono.Cecil/CodeGen/templates/Utilities.cs b/mcs/class/Mono.Cecil/CodeGen/templates/Utilities.cs
deleted file mode 100644
index ba22b4fabd2..00000000000
--- a/mcs/class/Mono.Cecil/CodeGen/templates/Utilities.cs
+++ /dev/null
@@ -1,211 +0,0 @@
-//
-// Utilities.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// <%=Time.now%>
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using System;
- using System.Collections;
- using System.IO;
-
- class Utilities {
-
- Utilities ()
- {
- }
-
- public static int ReadCompressedInteger (byte [] data, int pos, out int start)
- {
- int integer = 0;
- start = pos;
- if ((data [pos] & 0x80) == 0) {
- integer = data [pos];
- start++;
- } else if ((data [pos] & 0x40) == 0) {
- integer = (data [start] & ~0x80) << 8;
- integer |= data [pos + 1];
- start += 2;
- } else {
- integer = (data [start] & ~0xc0) << 24;
- integer |= data [pos + 1] << 16;
- integer |= data [pos + 2] << 8;
- integer |= data [pos + 3];
- start += 4;
- }
- return integer;
- }
-
- public static int WriteCompressedInteger (BinaryWriter writer, int value)
- {
- if (value < 0x80)
- writer.Write ((byte) value);
- else if (value < 0x4000) {
- writer.Write ((byte) (0x80 | (value >> 8)));
- writer.Write ((byte) (value & 0xff));
- } else {
- writer.Write ((byte) ((value >> 24) | 0xc0));
- writer.Write ((byte) ((value >> 16) & 0xff));
- writer.Write ((byte) ((value >> 8) & 0xff));
- writer.Write ((byte) (value & 0xff));
- }
- return (int) writer.BaseStream.Position;
- }
-
- public static MetadataToken GetMetadataToken (CodedIndex cidx, uint data)
- {
- uint rid = 0;
- switch (cidx) {
-<% $coded_indexes.each { |ci| %> case CodedIndex.<%=ci.name%> :
- rid = data >> <%=ci.size%>;
- switch (data & <%=(2 ** ci.size.to_i - 1).to_s%>) {
-<% ci.tables.each { |tbl|
- name = tbl.name
- if (name == "DeclSecurity")
- name = "Permission"
- elsif (name == "StandAloneSig")
- name = "Signature"
- end
-%> case <%=tbl.tag%> :
- return new MetadataToken (TokenType.<%=name%>, rid);
-<% }
-%> default :
- return MetadataToken.Zero;
- }
-<% } %> default :
- return MetadataToken.Zero;
- }
- }
-
- public static uint CompressMetadataToken (CodedIndex cidx, MetadataToken token)
- {
- uint ret = 0;
- if (token.RID == 0)
- return ret;
- switch (cidx) {
-<% $coded_indexes.each { |ci| %> case CodedIndex.<%=ci.name%> :
- ret = token.RID << <%=ci.size%>;
- switch (token.TokenType) {
-<% ci.tables.each { |tbl|
- name = tbl.name
- if (name == "DeclSecurity")
- name = "Permission"
- elsif (name == "StandAloneSig")
- name = "Signature"
- end
-%> case TokenType.<%=name%> :
- return ret | <%=tbl.tag%>;
-<% }
-%> default :
- throw new MetadataFormatException("Non valid Token for <%=ci.name%>");
- }
-<% } %> default :
- throw new MetadataFormatException ("Non valid CodedIndex");
- }
- }
-
- internal static Type GetCorrespondingTable (TokenType t)
- {
- switch (t) {
- case TokenType.Assembly :
- return typeof (AssemblyTable);
- case TokenType.AssemblyRef :
- return typeof (AssemblyRefTable);
- case TokenType.CustomAttribute :
- return typeof (CustomAttributeTable);
- case TokenType.Event :
- return typeof (EventTable);
- case TokenType.ExportedType :
- return typeof (ExportedTypeTable);
- case TokenType.Field :
- return typeof (FieldTable);
- case TokenType.File :
- return typeof (FileTable);
- case TokenType.InterfaceImpl :
- return typeof (InterfaceImplTable);
- case TokenType.MemberRef :
- return typeof (MemberRefTable);
- case TokenType.Method :
- return typeof (MethodTable);
- case TokenType.Module :
- return typeof (ModuleTable);
- case TokenType.ModuleRef :
- return typeof (ModuleRefTable);
- case TokenType.Param :
- return typeof (ParamTable);
- case TokenType.Permission :
- return typeof (DeclSecurityTable);
- case TokenType.Property :
- return typeof (PropertyTable);
- case TokenType.Signature :
- return typeof (StandAloneSigTable);
- case TokenType.TypeDef :
- return typeof (TypeDefTable);
- case TokenType.TypeRef :
- return typeof (TypeRefTable);
- case TokenType.TypeSpec :
- return typeof (TypeSpecTable);
- default :
- return null;
- }
- }
-
- internal delegate int TableRowCounter (int rid);
-
- internal static int GetCodedIndexSize (CodedIndex ci, TableRowCounter rowCounter, int [] codedIndexCache)
- {
- int bits = 0, max = 0, index = (int) ci;
- if (codedIndexCache [index] != 0)
- return codedIndexCache [index];
-
- int res = 0;
- int [] rids;
- switch (ci) {
-<% $coded_indexes.each { |ci| %> case CodedIndex.<%=ci.name%> :
- bits = <%=ci.size%>;
- rids = new int [<%=ci.tables.length%>];
-<% ci.tables.each_with_index { |tbl, i|
-%> rids [<%=i%>] = <%=tbl.name%>Table.RId;
-<% }
-%> break;
-<% } %> default :
- throw new MetadataFormatException ("Non valid CodedIndex");
- }
-
- for (int i = 0; i < rids.Length; i++) {
- int rows = rowCounter (rids [i]);
- if (rows > max) max = rows;
- }
-
- res = max < (1 << (16 - bits)) ? 2 : 4;
- codedIndexCache [index] = res;
- return res;
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/BaseImageVisitor.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/BaseImageVisitor.xml
deleted file mode 100644
index 15709638d27..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/BaseImageVisitor.xml
+++ /dev/null
@@ -1,339 +0,0 @@
-<Type Name="BaseImageVisitor" FullName="Mono.Cecil.Binary.BaseImageVisitor">
- <TypeSignature Language="C#" Value="public abstract class BaseImageVisitor : Mono.Cecil.Binary.IBinaryVisitor" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitor</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="protected BaseImageVisitor ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TerminateImage">
- <MemberSignature Language="C#" Value="public virtual void TerminateImage (Mono.Cecil.Binary.Image img);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="img" Type="Mono.Cecil.Binary.Image" />
- </Parameters>
- <Docs>
- <param name="img">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitCLIHeader">
- <MemberSignature Language="C#" Value="public virtual void VisitCLIHeader (Mono.Cecil.Binary.CLIHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Binary.CLIHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitDataDirectoriesHeader">
- <MemberSignature Language="C#" Value="public virtual void VisitDataDirectoriesHeader (Mono.Cecil.Binary.PEOptionalHeader.DataDirectoriesHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Binary.PEOptionalHeader+DataDirectoriesHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitDebugHeader">
- <MemberSignature Language="C#" Value="public virtual void VisitDebugHeader (Mono.Cecil.Binary.DebugHeader dh);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="dh" Type="Mono.Cecil.Binary.DebugHeader" />
- </Parameters>
- <Docs>
- <param name="dh">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitDOSHeader">
- <MemberSignature Language="C#" Value="public virtual void VisitDOSHeader (Mono.Cecil.Binary.DOSHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Binary.DOSHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitExportTable">
- <MemberSignature Language="C#" Value="public virtual void VisitExportTable (Mono.Cecil.Binary.ExportTable et);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="et" Type="Mono.Cecil.Binary.ExportTable" />
- </Parameters>
- <Docs>
- <param name="et">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitHintNameTable">
- <MemberSignature Language="C#" Value="public virtual void VisitHintNameTable (Mono.Cecil.Binary.HintNameTable hnt);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="hnt" Type="Mono.Cecil.Binary.HintNameTable" />
- </Parameters>
- <Docs>
- <param name="hnt">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitImage">
- <MemberSignature Language="C#" Value="public virtual void VisitImage (Mono.Cecil.Binary.Image img);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="img" Type="Mono.Cecil.Binary.Image" />
- </Parameters>
- <Docs>
- <param name="img">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitImportAddressTable">
- <MemberSignature Language="C#" Value="public virtual void VisitImportAddressTable (Mono.Cecil.Binary.ImportAddressTable iat);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="iat" Type="Mono.Cecil.Binary.ImportAddressTable" />
- </Parameters>
- <Docs>
- <param name="iat">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitImportLookupTable">
- <MemberSignature Language="C#" Value="public virtual void VisitImportLookupTable (Mono.Cecil.Binary.ImportLookupTable ilt);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ilt" Type="Mono.Cecil.Binary.ImportLookupTable" />
- </Parameters>
- <Docs>
- <param name="ilt">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitImportTable">
- <MemberSignature Language="C#" Value="public virtual void VisitImportTable (Mono.Cecil.Binary.ImportTable it);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="it" Type="Mono.Cecil.Binary.ImportTable" />
- </Parameters>
- <Docs>
- <param name="it">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitNTSpecificFieldsHeader">
- <MemberSignature Language="C#" Value="public virtual void VisitNTSpecificFieldsHeader (Mono.Cecil.Binary.PEOptionalHeader.NTSpecificFieldsHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Binary.PEOptionalHeader+NTSpecificFieldsHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPEFileHeader">
- <MemberSignature Language="C#" Value="public virtual void VisitPEFileHeader (Mono.Cecil.Binary.PEFileHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Binary.PEFileHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPEOptionalHeader">
- <MemberSignature Language="C#" Value="public virtual void VisitPEOptionalHeader (Mono.Cecil.Binary.PEOptionalHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Binary.PEOptionalHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitSection">
- <MemberSignature Language="C#" Value="public virtual void VisitSection (Mono.Cecil.Binary.Section section);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="section" Type="Mono.Cecil.Binary.Section" />
- </Parameters>
- <Docs>
- <param name="section">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitSectionCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitSectionCollection (Mono.Cecil.Binary.SectionCollection coll);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="coll" Type="Mono.Cecil.Binary.SectionCollection" />
- </Parameters>
- <Docs>
- <param name="coll">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitStandardFieldsHeader">
- <MemberSignature Language="C#" Value="public virtual void VisitStandardFieldsHeader (Mono.Cecil.Binary.PEOptionalHeader.StandardFieldsHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Binary.PEOptionalHeader+StandardFieldsHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/CLIHeader.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/CLIHeader.xml
deleted file mode 100644
index 32b68b1656c..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/CLIHeader.xml
+++ /dev/null
@@ -1,239 +0,0 @@
-<Type Name="CLIHeader" FullName="Mono.Cecil.Binary.CLIHeader">
- <TypeSignature Language="C#" Value="public sealed class CLIHeader : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Cb">
- <MemberSignature Language="C#" Value="public uint Cb;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CodeManagerTable">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory CodeManagerTable;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="EntryPointToken">
- <MemberSignature Language="C#" Value="public uint EntryPointToken;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ExportAddressTableJumps">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory ExportAddressTableJumps;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Flags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RuntimeImage Flags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RuntimeImage</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImageHash">
- <MemberSignature Language="C#" Value="public byte[] ImageHash;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MajorRuntimeVersion">
- <MemberSignature Language="C#" Value="public ushort MajorRuntimeVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ManagedNativeHeader">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory ManagedNativeHeader;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Metadata">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory Metadata;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MinorRuntimeVersion">
- <MemberSignature Language="C#" Value="public ushort MinorRuntimeVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resources">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory Resources;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SetDefaultValues">
- <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="StrongNameSignature">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory StrongNameSignature;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VTableFixups">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory VTableFixups;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/DOSHeader.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/DOSHeader.xml
deleted file mode 100644
index fc9883726fa..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/DOSHeader.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<Type Name="DOSHeader" FullName="Mono.Cecil.Binary.DOSHeader">
- <TypeSignature Language="C#" Value="public sealed class DOSHeader : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="End">
- <MemberSignature Language="C#" Value="public byte[] End;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Lfanew">
- <MemberSignature Language="C#" Value="public uint Lfanew;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SetDefaultValues">
- <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Start">
- <MemberSignature Language="C#" Value="public byte[] Start;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/DataDirectory.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/DataDirectory.xml
deleted file mode 100644
index e03ff335e48..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/DataDirectory.xml
+++ /dev/null
@@ -1,171 +0,0 @@
-<Type Name="DataDirectory" FullName="Mono.Cecil.Binary.DataDirectory">
- <TypeSignature Language="C#" Value="public struct DataDirectory" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.ValueType</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public DataDirectory (Mono.Cecil.Binary.RVA virtualAddress, uint size);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="virtualAddress" Type="Mono.Cecil.Binary.RVA" />
- <Parameter Name="size" Type="System.UInt32" />
- </Parameters>
- <Docs>
- <param name="virtualAddress">To be added.</param>
- <param name="size">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Equals">
- <MemberSignature Language="C#" Value="public override bool Equals (object other);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="other" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="other">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetHashCode">
- <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="op_Equality">
- <MemberSignature Language="C#" Value="public static bool op_Equality (Mono.Cecil.Binary.DataDirectory one, Mono.Cecil.Binary.DataDirectory other);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="one" Type="Mono.Cecil.Binary.DataDirectory" />
- <Parameter Name="other" Type="Mono.Cecil.Binary.DataDirectory" />
- </Parameters>
- <Docs>
- <param name="one">To be added.</param>
- <param name="other">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="op_Inequality">
- <MemberSignature Language="C#" Value="public static bool op_Inequality (Mono.Cecil.Binary.DataDirectory one, Mono.Cecil.Binary.DataDirectory other);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="one" Type="Mono.Cecil.Binary.DataDirectory" />
- <Parameter Name="other" Type="Mono.Cecil.Binary.DataDirectory" />
- </Parameters>
- <Docs>
- <param name="one">To be added.</param>
- <param name="other">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Size">
- <MemberSignature Language="C#" Value="public uint Size { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VirtualAddress">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA VirtualAddress { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Zero">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Binary.DataDirectory Zero;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/DebugHeader.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/DebugHeader.xml
deleted file mode 100644
index 2b321ebd644..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/DebugHeader.xml
+++ /dev/null
@@ -1,241 +0,0 @@
-<Type Name="DebugHeader" FullName="Mono.Cecil.Binary.DebugHeader">
- <TypeSignature Language="C#" Value="public sealed class DebugHeader : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="AddressOfRawData">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA AddressOfRawData;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Age">
- <MemberSignature Language="C#" Value="public uint Age;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Characteristics">
- <MemberSignature Language="C#" Value="public uint Characteristics;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FileName">
- <MemberSignature Language="C#" Value="public string FileName;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetSize">
- <MemberSignature Language="C#" Value="public uint GetSize ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Magic">
- <MemberSignature Language="C#" Value="public uint Magic;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MajorVersion">
- <MemberSignature Language="C#" Value="public ushort MajorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MinorVersion">
- <MemberSignature Language="C#" Value="public ushort MinorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PointerToRawData">
- <MemberSignature Language="C#" Value="public uint PointerToRawData;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SetDefaultValues">
- <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Signature">
- <MemberSignature Language="C#" Value="public Guid Signature;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SizeOfData">
- <MemberSignature Language="C#" Value="public uint SizeOfData;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TimeDateStamp">
- <MemberSignature Language="C#" Value="public uint TimeDateStamp;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Type">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DebugStoreType Type;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/DebugStoreType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/DebugStoreType.xml
deleted file mode 100644
index 4f67b773923..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/DebugStoreType.xml
+++ /dev/null
@@ -1,172 +0,0 @@
-<Type Name="DebugStoreType" FullName="Mono.Cecil.Binary.DebugStoreType">
- <TypeSignature Language="C#" Value="public enum DebugStoreType" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Borland">
- <MemberSignature Language="C#" Value="Borland" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CLSID">
- <MemberSignature Language="C#" Value="CLSID" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CodeView">
- <MemberSignature Language="C#" Value="CodeView" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="COFF">
- <MemberSignature Language="C#" Value="COFF" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Exception">
- <MemberSignature Language="C#" Value="Exception" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Fixup">
- <MemberSignature Language="C#" Value="Fixup" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="FPO">
- <MemberSignature Language="C#" Value="FPO" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Misc">
- <MemberSignature Language="C#" Value="Misc" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="OMAPFromSrc">
- <MemberSignature Language="C#" Value="OMAPFromSrc" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="OMAPToSrc">
- <MemberSignature Language="C#" Value="OMAPToSrc" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Reserved10">
- <MemberSignature Language="C#" Value="Reserved10" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Unknown">
- <MemberSignature Language="C#" Value="Unknown" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ExportTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ExportTable.xml
deleted file mode 100644
index d199afe06f4..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ExportTable.xml
+++ /dev/null
@@ -1,249 +0,0 @@
-<Type Name="ExportTable" FullName="Mono.Cecil.Binary.ExportTable">
- <TypeSignature Language="C#" Value="public sealed class ExportTable : Mono.Cecil.Binary.IBinaryVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="AddressesOfFunctions">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA[] AddressesOfFunctions;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="AddressesOfNames">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA[] AddressesOfNames;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="AddressOfFunctions">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA AddressOfFunctions;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="AddressOfNameOrdinals">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA AddressOfNameOrdinals;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="AddressOfNames">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA AddressOfNames;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Base">
- <MemberSignature Language="C#" Value="public uint Base;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Characteristics">
- <MemberSignature Language="C#" Value="public uint Characteristics;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MajorVersion">
- <MemberSignature Language="C#" Value="public ushort MajorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MinorVersion">
- <MemberSignature Language="C#" Value="public ushort MinorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public string Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NameOrdinals">
- <MemberSignature Language="C#" Value="public ushort[] NameOrdinals;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Names">
- <MemberSignature Language="C#" Value="public string[] Names;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NumberOfFunctions">
- <MemberSignature Language="C#" Value="public uint NumberOfFunctions;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NumberOfNames">
- <MemberSignature Language="C#" Value="public uint NumberOfNames;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TimeDateStamp">
- <MemberSignature Language="C#" Value="public uint TimeDateStamp;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/HintNameTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/HintNameTable.xml
deleted file mode 100644
index 6857b822924..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/HintNameTable.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-<Type Name="HintNameTable" FullName="Mono.Cecil.Binary.HintNameTable">
- <TypeSignature Language="C#" Value="public sealed class HintNameTable : Mono.Cecil.Binary.IBinaryVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="EntryPoint">
- <MemberSignature Language="C#" Value="public ushort EntryPoint;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Hint">
- <MemberSignature Language="C#" Value="public ushort Hint;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RuntimeCorEE">
- <MemberSignature Language="C#" Value="public const string RuntimeCorEE;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RuntimeLibrary">
- <MemberSignature Language="C#" Value="public string RuntimeLibrary;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RuntimeMain">
- <MemberSignature Language="C#" Value="public string RuntimeMain;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RuntimeMainDll">
- <MemberSignature Language="C#" Value="public const string RuntimeMainDll;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RuntimeMainExe">
- <MemberSignature Language="C#" Value="public const string RuntimeMainExe;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RVA">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA RVA;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/IBinaryVisitable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/IBinaryVisitable.xml
deleted file mode 100644
index f6c6cfa2f15..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/IBinaryVisitable.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<Type Name="IBinaryVisitable" FullName="Mono.Cecil.Binary.IBinaryVisitable">
- <TypeSignature Language="C#" Value="public interface IBinaryVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/IBinaryVisitor.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/IBinaryVisitor.xml
deleted file mode 100644
index 4272eab4c76..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/IBinaryVisitor.xml
+++ /dev/null
@@ -1,320 +0,0 @@
-<Type Name="IBinaryVisitor" FullName="Mono.Cecil.Binary.IBinaryVisitor">
- <TypeSignature Language="C#" Value="public interface IBinaryVisitor" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="TerminateImage">
- <MemberSignature Language="C#" Value="public void TerminateImage (Mono.Cecil.Binary.Image img);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="img" Type="Mono.Cecil.Binary.Image" />
- </Parameters>
- <Docs>
- <param name="img">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitCLIHeader">
- <MemberSignature Language="C#" Value="public void VisitCLIHeader (Mono.Cecil.Binary.CLIHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Binary.CLIHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitDataDirectoriesHeader">
- <MemberSignature Language="C#" Value="public void VisitDataDirectoriesHeader (Mono.Cecil.Binary.PEOptionalHeader.DataDirectoriesHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Binary.PEOptionalHeader+DataDirectoriesHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitDebugHeader">
- <MemberSignature Language="C#" Value="public void VisitDebugHeader (Mono.Cecil.Binary.DebugHeader dh);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="dh" Type="Mono.Cecil.Binary.DebugHeader" />
- </Parameters>
- <Docs>
- <param name="dh">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitDOSHeader">
- <MemberSignature Language="C#" Value="public void VisitDOSHeader (Mono.Cecil.Binary.DOSHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Binary.DOSHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitExportTable">
- <MemberSignature Language="C#" Value="public void VisitExportTable (Mono.Cecil.Binary.ExportTable et);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="et" Type="Mono.Cecil.Binary.ExportTable" />
- </Parameters>
- <Docs>
- <param name="et">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitHintNameTable">
- <MemberSignature Language="C#" Value="public void VisitHintNameTable (Mono.Cecil.Binary.HintNameTable hnt);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="hnt" Type="Mono.Cecil.Binary.HintNameTable" />
- </Parameters>
- <Docs>
- <param name="hnt">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitImage">
- <MemberSignature Language="C#" Value="public void VisitImage (Mono.Cecil.Binary.Image img);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="img" Type="Mono.Cecil.Binary.Image" />
- </Parameters>
- <Docs>
- <param name="img">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitImportAddressTable">
- <MemberSignature Language="C#" Value="public void VisitImportAddressTable (Mono.Cecil.Binary.ImportAddressTable iat);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="iat" Type="Mono.Cecil.Binary.ImportAddressTable" />
- </Parameters>
- <Docs>
- <param name="iat">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitImportLookupTable">
- <MemberSignature Language="C#" Value="public void VisitImportLookupTable (Mono.Cecil.Binary.ImportLookupTable ilt);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ilt" Type="Mono.Cecil.Binary.ImportLookupTable" />
- </Parameters>
- <Docs>
- <param name="ilt">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitImportTable">
- <MemberSignature Language="C#" Value="public void VisitImportTable (Mono.Cecil.Binary.ImportTable it);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="it" Type="Mono.Cecil.Binary.ImportTable" />
- </Parameters>
- <Docs>
- <param name="it">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitNTSpecificFieldsHeader">
- <MemberSignature Language="C#" Value="public void VisitNTSpecificFieldsHeader (Mono.Cecil.Binary.PEOptionalHeader.NTSpecificFieldsHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Binary.PEOptionalHeader+NTSpecificFieldsHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPEFileHeader">
- <MemberSignature Language="C#" Value="public void VisitPEFileHeader (Mono.Cecil.Binary.PEFileHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Binary.PEFileHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPEOptionalHeader">
- <MemberSignature Language="C#" Value="public void VisitPEOptionalHeader (Mono.Cecil.Binary.PEOptionalHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Binary.PEOptionalHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitSection">
- <MemberSignature Language="C#" Value="public void VisitSection (Mono.Cecil.Binary.Section section);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="section" Type="Mono.Cecil.Binary.Section" />
- </Parameters>
- <Docs>
- <param name="section">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitSectionCollection">
- <MemberSignature Language="C#" Value="public void VisitSectionCollection (Mono.Cecil.Binary.SectionCollection coll);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="coll" Type="Mono.Cecil.Binary.SectionCollection" />
- </Parameters>
- <Docs>
- <param name="coll">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitStandardFieldsHeader">
- <MemberSignature Language="C#" Value="public void VisitStandardFieldsHeader (Mono.Cecil.Binary.PEOptionalHeader.StandardFieldsHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Binary.PEOptionalHeader+StandardFieldsHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/Image.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/Image.xml
deleted file mode 100644
index 4ee4b586cc9..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/Image.xml
+++ /dev/null
@@ -1,375 +0,0 @@
-<Type Name="Image" FullName="Mono.Cecil.Binary.Image">
- <TypeSignature Language="C#" Value="public sealed class Image : Mono.Cecil.Binary.IBinaryVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="AddDebugHeader">
- <MemberSignature Language="C#" Value="public void AddDebugHeader ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CLIHeader">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.CLIHeader CLIHeader { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.CLIHeader</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CreateImage">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.Binary.Image CreateImage ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.Image</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DebugHeader">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DebugHeader DebugHeader { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DebugHeader</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DOSHeader">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DOSHeader DOSHeader { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DOSHeader</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ExportTable">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.ExportTable ExportTable { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ExportTable</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FileInformation">
- <MemberSignature Language="C#" Value="public System.IO.FileInfo FileInformation { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.IO.FileInfo</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetImage">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.Binary.Image GetImage (byte[] image);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.Image</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="image" Type="System.Byte[]" />
- </Parameters>
- <Docs>
- <param name="image">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetImage">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.Binary.Image GetImage (System.IO.Stream stream);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.Image</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="stream" Type="System.IO.Stream" />
- </Parameters>
- <Docs>
- <param name="stream">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetImage">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.Binary.Image GetImage (string file);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.Image</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="file" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="file">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetReaderAtVirtualAddress">
- <MemberSignature Language="C#" Value="public System.IO.BinaryReader GetReaderAtVirtualAddress (Mono.Cecil.Binary.RVA rva);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.IO.BinaryReader</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="rva" Type="Mono.Cecil.Binary.RVA" />
- </Parameters>
- <Docs>
- <param name="rva">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HintNameTable">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.HintNameTable HintNameTable { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.HintNameTable</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImportAddressTable">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.ImportAddressTable ImportAddressTable { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImportAddressTable</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImportLookupTable">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.ImportLookupTable ImportLookupTable { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImportLookupTable</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImportTable">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.ImportTable ImportTable { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImportTable</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MetadataRoot">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataRoot MetadataRoot { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataRoot</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PEFileHeader">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.PEFileHeader PEFileHeader { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.PEFileHeader</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PEOptionalHeader">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.PEOptionalHeader PEOptionalHeader { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.PEOptionalHeader</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ResolveVirtualAddress">
- <MemberSignature Language="C#" Value="public long ResolveVirtualAddress (Mono.Cecil.Binary.RVA rva);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int64</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="rva" Type="Mono.Cecil.Binary.RVA" />
- </Parameters>
- <Docs>
- <param name="rva">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Sections">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.SectionCollection Sections { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TextSection">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.Section TextSection { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.Section</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImageCharacteristics.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImageCharacteristics.xml
deleted file mode 100644
index 54ff6b2a381..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImageCharacteristics.xml
+++ /dev/null
@@ -1,268 +0,0 @@
-<Type Name="ImageCharacteristics" FullName="Mono.Cecil.Binary.ImageCharacteristics">
- <TypeSignature Language="C#" Value="public enum ImageCharacteristics" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Attributes>
- <Attribute>
- <AttributeName>System.Flags</AttributeName>
- </Attribute>
- </Attributes>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="__flags">
- <MemberSignature Language="C#" Value="__flags" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="_32BitsMachine">
- <MemberSignature Language="C#" Value="_32BitsMachine" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="AggressiveWSTrim">
- <MemberSignature Language="C#" Value="AggressiveWSTrim" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="BytesReversedHI">
- <MemberSignature Language="C#" Value="BytesReversedHI" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="BytesReversedLo">
- <MemberSignature Language="C#" Value="BytesReversedLo" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CILOnlyDll">
- <MemberSignature Language="C#" Value="CILOnlyDll" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CILOnlyExe">
- <MemberSignature Language="C#" Value="CILOnlyExe" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="DebugStripped">
- <MemberSignature Language="C#" Value="DebugStripped" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Dll">
- <MemberSignature Language="C#" Value="Dll" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ExecutableImage">
- <MemberSignature Language="C#" Value="ExecutableImage" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="LargeAddressAware">
- <MemberSignature Language="C#" Value="LargeAddressAware" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="LineNumsStripped">
- <MemberSignature Language="C#" Value="LineNumsStripped" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="LocalSymsStripped">
- <MemberSignature Language="C#" Value="LocalSymsStripped" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NetRunFromSwap">
- <MemberSignature Language="C#" Value="NetRunFromSwap" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="RelocsStripped">
- <MemberSignature Language="C#" Value="RelocsStripped" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="RemovableRunFromSwap">
- <MemberSignature Language="C#" Value="RemovableRunFromSwap" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ReservedForFutureUse">
- <MemberSignature Language="C#" Value="ReservedForFutureUse" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="System">
- <MemberSignature Language="C#" Value="System" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="UPSystemOnly">
- <MemberSignature Language="C#" Value="UPSystemOnly" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImageFormatException.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImageFormatException.xml
deleted file mode 100644
index 2b1c4b3b2bc..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImageFormatException.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<Type Name="ImageFormatException" FullName="Mono.Cecil.Binary.ImageFormatException">
- <TypeSignature Language="C#" Value="public class ImageFormatException : Exception" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Exception</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members />
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImportAddressTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImportAddressTable.xml
deleted file mode 100644
index 53d363661f5..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImportAddressTable.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<Type Name="ImportAddressTable" FullName="Mono.Cecil.Binary.ImportAddressTable">
- <TypeSignature Language="C#" Value="public sealed class ImportAddressTable : Mono.Cecil.Binary.IBinaryVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HintNameTableRVA">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA HintNameTableRVA;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImportLookupTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImportLookupTable.xml
deleted file mode 100644
index 37cbc5978a3..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImportLookupTable.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<Type Name="ImportLookupTable" FullName="Mono.Cecil.Binary.ImportLookupTable">
- <TypeSignature Language="C#" Value="public sealed class ImportLookupTable : Mono.Cecil.Binary.IBinaryVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HintNameRVA">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA HintNameRVA;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImportTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImportTable.xml
deleted file mode 100644
index 9e43e3099f3..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ImportTable.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<Type Name="ImportTable" FullName="Mono.Cecil.Binary.ImportTable">
- <TypeSignature Language="C#" Value="public sealed class ImportTable : Mono.Cecil.Binary.IBinaryVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DateTimeStamp">
- <MemberSignature Language="C#" Value="public uint DateTimeStamp;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ForwardChain">
- <MemberSignature Language="C#" Value="public uint ForwardChain;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImportAddressTable">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA ImportAddressTable;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImportLookupTable">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA ImportLookupTable;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEFileHeader.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEFileHeader.xml
deleted file mode 100644
index 6c6b5bd8dd6..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEFileHeader.xml
+++ /dev/null
@@ -1,155 +0,0 @@
-<Type Name="PEFileHeader" FullName="Mono.Cecil.Binary.PEFileHeader">
- <TypeSignature Language="C#" Value="public sealed class PEFileHeader : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Characteristics">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.ImageCharacteristics Characteristics;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Machine">
- <MemberSignature Language="C#" Value="public ushort Machine;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NumberOfSections">
- <MemberSignature Language="C#" Value="public ushort NumberOfSections;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NumberOfSymbols">
- <MemberSignature Language="C#" Value="public uint NumberOfSymbols;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OptionalHeaderSize">
- <MemberSignature Language="C#" Value="public ushort OptionalHeaderSize;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PointerToSymbolTable">
- <MemberSignature Language="C#" Value="public uint PointerToSymbolTable;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SetDefaultValues">
- <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TimeDateStamp">
- <MemberSignature Language="C#" Value="public uint TimeDateStamp;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEOptionalHeader+DataDirectoriesHeader.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEOptionalHeader+DataDirectoriesHeader.xml
deleted file mode 100644
index b44913eb0cb..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEOptionalHeader+DataDirectoriesHeader.xml
+++ /dev/null
@@ -1,281 +0,0 @@
-<Type Name="PEOptionalHeader+DataDirectoriesHeader" FullName="Mono.Cecil.Binary.PEOptionalHeader+DataDirectoriesHeader">
- <TypeSignature Language="C#" Value="public sealed class PEOptionalHeader.DataDirectoriesHeader : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="BaseRelocationTable">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory BaseRelocationTable;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="BoundImport">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory BoundImport;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CertificateTable">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory CertificateTable;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CLIHeader">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory CLIHeader;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Copyright">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory Copyright;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Debug">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory Debug;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DelayImportDescriptor">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory DelayImportDescriptor;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ExceptionTable">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory ExceptionTable;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ExportTable">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory ExportTable;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GlobalPtr">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory GlobalPtr;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IAT">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory IAT;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImportTable">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory ImportTable;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="LoadConfigTable">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory LoadConfigTable;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Reserved">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory Reserved;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ResourceTable">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory ResourceTable;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SetDefaultValues">
- <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TLSTable">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory TLSTable;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEOptionalHeader+NTSpecificFieldsHeader.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEOptionalHeader+NTSpecificFieldsHeader.xml
deleted file mode 100644
index 723443971fc..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEOptionalHeader+NTSpecificFieldsHeader.xml
+++ /dev/null
@@ -1,351 +0,0 @@
-<Type Name="PEOptionalHeader+NTSpecificFieldsHeader" FullName="Mono.Cecil.Binary.PEOptionalHeader+NTSpecificFieldsHeader">
- <TypeSignature Language="C#" Value="public sealed class PEOptionalHeader.NTSpecificFieldsHeader : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DLLFlags">
- <MemberSignature Language="C#" Value="public ushort DLLFlags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FileAlignment">
- <MemberSignature Language="C#" Value="public uint FileAlignment;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FileChecksum">
- <MemberSignature Language="C#" Value="public uint FileChecksum;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HeaderSize">
- <MemberSignature Language="C#" Value="public uint HeaderSize;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HeapCommitSize">
- <MemberSignature Language="C#" Value="public ulong HeapCommitSize;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt64</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HeapReserveSize">
- <MemberSignature Language="C#" Value="public ulong HeapReserveSize;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt64</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImageBase">
- <MemberSignature Language="C#" Value="public ulong ImageBase;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt64</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImageSize">
- <MemberSignature Language="C#" Value="public uint ImageSize;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="LoaderFlags">
- <MemberSignature Language="C#" Value="public uint LoaderFlags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NumberOfDataDir">
- <MemberSignature Language="C#" Value="public uint NumberOfDataDir;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OSMajor">
- <MemberSignature Language="C#" Value="public ushort OSMajor;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OSMinor">
- <MemberSignature Language="C#" Value="public ushort OSMinor;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Reserved">
- <MemberSignature Language="C#" Value="public uint Reserved;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SectionAlignment">
- <MemberSignature Language="C#" Value="public uint SectionAlignment;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SetDefaultValues">
- <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="StackCommitSize">
- <MemberSignature Language="C#" Value="public ulong StackCommitSize;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt64</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="StackReserveSize">
- <MemberSignature Language="C#" Value="public ulong StackReserveSize;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt64</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SubSysMajor">
- <MemberSignature Language="C#" Value="public ushort SubSysMajor;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SubSysMinor">
- <MemberSignature Language="C#" Value="public ushort SubSysMinor;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SubSystem">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.SubSystem SubSystem;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="UserMajor">
- <MemberSignature Language="C#" Value="public ushort UserMajor;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="UserMinor">
- <MemberSignature Language="C#" Value="public ushort UserMinor;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEOptionalHeader+StandardFieldsHeader.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEOptionalHeader+StandardFieldsHeader.xml
deleted file mode 100644
index b53fb33dbc2..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEOptionalHeader+StandardFieldsHeader.xml
+++ /dev/null
@@ -1,198 +0,0 @@
-<Type Name="PEOptionalHeader+StandardFieldsHeader" FullName="Mono.Cecil.Binary.PEOptionalHeader+StandardFieldsHeader">
- <TypeSignature Language="C#" Value="public sealed class PEOptionalHeader.StandardFieldsHeader : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="BaseOfCode">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA BaseOfCode;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="BaseOfData">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA BaseOfData;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CodeSize">
- <MemberSignature Language="C#" Value="public uint CodeSize;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="EntryPointRVA">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA EntryPointRVA;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="InitializedDataSize">
- <MemberSignature Language="C#" Value="public uint InitializedDataSize;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsPE64">
- <MemberSignature Language="C#" Value="public bool IsPE64 { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="LMajor">
- <MemberSignature Language="C#" Value="public byte LMajor;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="LMinor">
- <MemberSignature Language="C#" Value="public byte LMinor;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Magic">
- <MemberSignature Language="C#" Value="public ushort Magic;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SetDefaultValues">
- <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="UninitializedDataSize">
- <MemberSignature Language="C#" Value="public uint UninitializedDataSize;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEOptionalHeader.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEOptionalHeader.xml
deleted file mode 100644
index 0f7ef42b244..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/PEOptionalHeader.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<Type Name="PEOptionalHeader" FullName="Mono.Cecil.Binary.PEOptionalHeader">
- <TypeSignature Language="C#" Value="public sealed class PEOptionalHeader : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DataDirectories">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.PEOptionalHeader.DataDirectoriesHeader DataDirectories;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.PEOptionalHeader+DataDirectoriesHeader</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NTSpecificFields">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.PEOptionalHeader.NTSpecificFieldsHeader NTSpecificFields;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.PEOptionalHeader+NTSpecificFieldsHeader</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SetDefaultValues">
- <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="StandardFields">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.PEOptionalHeader.StandardFieldsHeader StandardFields;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.PEOptionalHeader+StandardFieldsHeader</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/RVA.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/RVA.xml
deleted file mode 100644
index 422d1047a9f..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/RVA.xml
+++ /dev/null
@@ -1,318 +0,0 @@
-<Type Name="RVA" FullName="Mono.Cecil.Binary.RVA">
- <TypeSignature Language="C#" Value="public struct RVA" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.ValueType</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public RVA (uint rva);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="rva" Type="System.UInt32" />
- </Parameters>
- <Docs>
- <param name="rva">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Equals">
- <MemberSignature Language="C#" Value="public override bool Equals (object other);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="other" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="other">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetHashCode">
- <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="op_Addition">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.Binary.RVA op_Addition (Mono.Cecil.Binary.RVA rva, uint x);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="rva" Type="Mono.Cecil.Binary.RVA" />
- <Parameter Name="x" Type="System.UInt32" />
- </Parameters>
- <Docs>
- <param name="rva">To be added.</param>
- <param name="x">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="op_Equality">
- <MemberSignature Language="C#" Value="public static bool op_Equality (Mono.Cecil.Binary.RVA one, Mono.Cecil.Binary.RVA other);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="one" Type="Mono.Cecil.Binary.RVA" />
- <Parameter Name="other" Type="Mono.Cecil.Binary.RVA" />
- </Parameters>
- <Docs>
- <param name="one">To be added.</param>
- <param name="other">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="op_GreaterThan">
- <MemberSignature Language="C#" Value="public static bool op_GreaterThan (Mono.Cecil.Binary.RVA one, Mono.Cecil.Binary.RVA other);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="one" Type="Mono.Cecil.Binary.RVA" />
- <Parameter Name="other" Type="Mono.Cecil.Binary.RVA" />
- </Parameters>
- <Docs>
- <param name="one">To be added.</param>
- <param name="other">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="op_GreaterThanOrEqual">
- <MemberSignature Language="C#" Value="public static bool op_GreaterThanOrEqual (Mono.Cecil.Binary.RVA one, Mono.Cecil.Binary.RVA other);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="one" Type="Mono.Cecil.Binary.RVA" />
- <Parameter Name="other" Type="Mono.Cecil.Binary.RVA" />
- </Parameters>
- <Docs>
- <param name="one">To be added.</param>
- <param name="other">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="op_Implicit">
- <MemberSignature Language="C#" Value="public static uint op_Implicit (Mono.Cecil.Binary.RVA rva);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="rva" Type="Mono.Cecil.Binary.RVA" />
- </Parameters>
- <Docs>
- <param name="rva">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="op_Implicit">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.Binary.RVA op_Implicit (uint val);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="val" Type="System.UInt32" />
- </Parameters>
- <Docs>
- <param name="val">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="op_Inequality">
- <MemberSignature Language="C#" Value="public static bool op_Inequality (Mono.Cecil.Binary.RVA one, Mono.Cecil.Binary.RVA other);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="one" Type="Mono.Cecil.Binary.RVA" />
- <Parameter Name="other" Type="Mono.Cecil.Binary.RVA" />
- </Parameters>
- <Docs>
- <param name="one">To be added.</param>
- <param name="other">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="op_LessThan">
- <MemberSignature Language="C#" Value="public static bool op_LessThan (Mono.Cecil.Binary.RVA one, Mono.Cecil.Binary.RVA other);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="one" Type="Mono.Cecil.Binary.RVA" />
- <Parameter Name="other" Type="Mono.Cecil.Binary.RVA" />
- </Parameters>
- <Docs>
- <param name="one">To be added.</param>
- <param name="other">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="op_LessThanOrEqual">
- <MemberSignature Language="C#" Value="public static bool op_LessThanOrEqual (Mono.Cecil.Binary.RVA one, Mono.Cecil.Binary.RVA other);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="one" Type="Mono.Cecil.Binary.RVA" />
- <Parameter Name="other" Type="Mono.Cecil.Binary.RVA" />
- </Parameters>
- <Docs>
- <param name="one">To be added.</param>
- <param name="other">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="op_Subtraction">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.Binary.RVA op_Subtraction (Mono.Cecil.Binary.RVA rva, uint x);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="rva" Type="Mono.Cecil.Binary.RVA" />
- <Parameter Name="x" Type="System.UInt32" />
- </Parameters>
- <Docs>
- <param name="rva">To be added.</param>
- <param name="x">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Value">
- <MemberSignature Language="C#" Value="public uint Value { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Zero">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Binary.RVA Zero;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceDataEntry.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceDataEntry.xml
deleted file mode 100644
index cb2233d21c1..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceDataEntry.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-<Type Name="ResourceDataEntry" FullName="Mono.Cecil.Binary.ResourceDataEntry">
- <TypeSignature Language="C#" Value="public class ResourceDataEntry : Mono.Cecil.Binary.ResourceNode" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.Binary.ResourceNode</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ResourceDataEntry ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ResourceDataEntry (int offset);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="offset" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="offset">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Codepage">
- <MemberSignature Language="C#" Value="public uint Codepage;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Data">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA Data;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Reserved">
- <MemberSignature Language="C#" Value="public uint Reserved;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ResourceData">
- <MemberSignature Language="C#" Value="public byte[] ResourceData;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Size">
- <MemberSignature Language="C#" Value="public uint Size;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceDirectoryEntry.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceDirectoryEntry.xml
deleted file mode 100644
index 1e9531f6665..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceDirectoryEntry.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-<Type Name="ResourceDirectoryEntry" FullName="Mono.Cecil.Binary.ResourceDirectoryEntry">
- <TypeSignature Language="C#" Value="public class ResourceDirectoryEntry : Mono.Cecil.Binary.ResourceNode" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.Binary.ResourceNode</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ResourceDirectoryEntry (Mono.Cecil.Binary.ResourceDirectoryString name);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="Mono.Cecil.Binary.ResourceDirectoryString" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ResourceDirectoryEntry (int id);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="id" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="id">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ResourceDirectoryEntry (Mono.Cecil.Binary.ResourceDirectoryString name, int offset);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="Mono.Cecil.Binary.ResourceDirectoryString" />
- <Parameter Name="offset" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="offset">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ResourceDirectoryEntry (int id, int offset);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="id" Type="System.Int32" />
- <Parameter Name="offset" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="id">To be added.</param>
- <param name="offset">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Child">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.ResourceNode Child;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ResourceNode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ID">
- <MemberSignature Language="C#" Value="public int ID;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IdentifiedByName">
- <MemberSignature Language="C#" Value="public bool IdentifiedByName { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.ResourceDirectoryString Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.ResourceDirectoryString</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceDirectoryString.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceDirectoryString.xml
deleted file mode 100644
index 6047a231c52..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceDirectoryString.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<Type Name="ResourceDirectoryString" FullName="Mono.Cecil.Binary.ResourceDirectoryString">
- <TypeSignature Language="C#" Value="public class ResourceDirectoryString : Mono.Cecil.Binary.ResourceNode" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.Binary.ResourceNode</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ResourceDirectoryString (string str);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="str" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="str">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ResourceDirectoryString (string str, int offset);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="str" Type="System.String" />
- <Parameter Name="offset" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="str">To be added.</param>
- <param name="offset">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="String">
- <MemberSignature Language="C#" Value="public string String;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceDirectoryTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceDirectoryTable.xml
deleted file mode 100644
index de0c1de887b..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceDirectoryTable.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-<Type Name="ResourceDirectoryTable" FullName="Mono.Cecil.Binary.ResourceDirectoryTable">
- <TypeSignature Language="C#" Value="public class ResourceDirectoryTable : Mono.Cecil.Binary.ResourceNode" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.Binary.ResourceNode</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ResourceDirectoryTable ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ResourceDirectoryTable (int offset);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="offset" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="offset">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Characteristics">
- <MemberSignature Language="C#" Value="public uint Characteristics;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Entries">
- <MemberSignature Language="C#" Value="public System.Collections.IList Entries { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IList</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MajorVersion">
- <MemberSignature Language="C#" Value="public ushort MajorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MinorVersion">
- <MemberSignature Language="C#" Value="public ushort MinorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TimeDateStamp">
- <MemberSignature Language="C#" Value="public uint TimeDateStamp;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceNode.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceNode.xml
deleted file mode 100644
index 31a32ef6cfc..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/ResourceNode.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<Type Name="ResourceNode" FullName="Mono.Cecil.Binary.ResourceNode">
- <TypeSignature Language="C#" Value="public abstract class ResourceNode" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Offset">
- <MemberSignature Language="C#" Value="public int Offset;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/RuntimeImage.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/RuntimeImage.xml
deleted file mode 100644
index 56f47d90b76..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/RuntimeImage.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<Type Name="RuntimeImage" FullName="Mono.Cecil.Binary.RuntimeImage">
- <TypeSignature Language="C#" Value="public enum RuntimeImage" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Attributes>
- <Attribute>
- <AttributeName>System.Flags</AttributeName>
- </Attribute>
- </Attributes>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="F32BitsRequired">
- <MemberSignature Language="C#" Value="F32BitsRequired" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RuntimeImage</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ILOnly">
- <MemberSignature Language="C#" Value="ILOnly" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RuntimeImage</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="StrongNameSigned">
- <MemberSignature Language="C#" Value="StrongNameSigned" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RuntimeImage</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="TrackDebugData">
- <MemberSignature Language="C#" Value="TrackDebugData" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RuntimeImage</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/Section.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/Section.xml
deleted file mode 100644
index e88861d8fdd..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/Section.xml
+++ /dev/null
@@ -1,267 +0,0 @@
-<Type Name="Section" FullName="Mono.Cecil.Binary.Section">
- <TypeSignature Language="C#" Value="public sealed class Section : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Characteristics">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.SectionCharacteristics Characteristics;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Data">
- <MemberSignature Language="C#" Value="public byte[] Data;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public string Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NumberOfLineNumbers">
- <MemberSignature Language="C#" Value="public ushort NumberOfLineNumbers;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NumberOfRelocations">
- <MemberSignature Language="C#" Value="public ushort NumberOfRelocations;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PointerToLineNumbers">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA PointerToLineNumbers;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PointerToRawData">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA PointerToRawData;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PointerToRelocations">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA PointerToRelocations;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Relocs">
- <MemberSignature Language="C#" Value="public const string Relocs;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resources">
- <MemberSignature Language="C#" Value="public const string Resources;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SData">
- <MemberSignature Language="C#" Value="public const string SData;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SetDefaultValues">
- <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SizeOfRawData">
- <MemberSignature Language="C#" Value="public uint SizeOfRawData;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Text">
- <MemberSignature Language="C#" Value="public const string Text;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VirtualAddress">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA VirtualAddress;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VirtualSize">
- <MemberSignature Language="C#" Value="public uint VirtualSize;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/SectionCharacteristics.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/SectionCharacteristics.xml
deleted file mode 100644
index e8ba9330cc6..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/SectionCharacteristics.xml
+++ /dev/null
@@ -1,463 +0,0 @@
-<Type Name="SectionCharacteristics" FullName="Mono.Cecil.Binary.SectionCharacteristics">
- <TypeSignature Language="C#" Value="public enum SectionCharacteristics" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Attributes>
- <Attribute>
- <AttributeName>System.Flags</AttributeName>
- </Attribute>
- </Attributes>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Align1024Bytes">
- <MemberSignature Language="C#" Value="Align1024Bytes" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Align128Bytes">
- <MemberSignature Language="C#" Value="Align128Bytes" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Align16Bytes">
- <MemberSignature Language="C#" Value="Align16Bytes" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Align1Bytes">
- <MemberSignature Language="C#" Value="Align1Bytes" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Align2048Bytes">
- <MemberSignature Language="C#" Value="Align2048Bytes" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Align256Bytes">
- <MemberSignature Language="C#" Value="Align256Bytes" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Align2Bytes">
- <MemberSignature Language="C#" Value="Align2Bytes" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Align32Bytes">
- <MemberSignature Language="C#" Value="Align32Bytes" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Align4096Bytes">
- <MemberSignature Language="C#" Value="Align4096Bytes" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Align4Bytes">
- <MemberSignature Language="C#" Value="Align4Bytes" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Align512Bytes">
- <MemberSignature Language="C#" Value="Align512Bytes" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Align64Bytes">
- <MemberSignature Language="C#" Value="Align64Bytes" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Align8192Bytes">
- <MemberSignature Language="C#" Value="Align8192Bytes" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Align8Bytes">
- <MemberSignature Language="C#" Value="Align8Bytes" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ContainsCode">
- <MemberSignature Language="C#" Value="ContainsCode" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ContainsInitializedData">
- <MemberSignature Language="C#" Value="ContainsInitializedData" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ContainsUninitializedData">
- <MemberSignature Language="C#" Value="ContainsUninitializedData" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="GPRel">
- <MemberSignature Language="C#" Value="GPRel" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="LnkCOMDAT">
- <MemberSignature Language="C#" Value="LnkCOMDAT" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="LnkInfo">
- <MemberSignature Language="C#" Value="LnkInfo" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="LnkNRelocOvfl">
- <MemberSignature Language="C#" Value="LnkNRelocOvfl" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="LnkOther">
- <MemberSignature Language="C#" Value="LnkOther" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="LnkRemove">
- <MemberSignature Language="C#" Value="LnkRemove" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MemDiscardable">
- <MemberSignature Language="C#" Value="MemDiscardable" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MemExecute">
- <MemberSignature Language="C#" Value="MemExecute" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MemLocked">
- <MemberSignature Language="C#" Value="MemLocked" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MemNotCached">
- <MemberSignature Language="C#" Value="MemNotCached" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MemNotPaged">
- <MemberSignature Language="C#" Value="MemNotPaged" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MemoryRead">
- <MemberSignature Language="C#" Value="MemoryRead" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MemoryWrite">
- <MemberSignature Language="C#" Value="MemoryWrite" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MemPreload">
- <MemberSignature Language="C#" Value="MemPreload" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MemPurgeable">
- <MemberSignature Language="C#" Value="MemPurgeable" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MemShared">
- <MemberSignature Language="C#" Value="MemShared" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="TypeNoPad">
- <MemberSignature Language="C#" Value="TypeNoPad" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/SectionCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/SectionCollection.xml
deleted file mode 100644
index 2160efe03ca..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/SectionCollection.xml
+++ /dev/null
@@ -1,180 +0,0 @@
-<Type Name="SectionCollection" FullName="Mono.Cecil.Binary.SectionCollection">
- <TypeSignature Language="C#" Value="public sealed class SectionCollection : Mono.Cecil.Binary.IBinaryVisitable, System.Collections.ICollection" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>System.Collections.ICollection</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.Binary.Section value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Binary.Section" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CopyTo">
- <MemberSignature Language="C#" Value="public void CopyTo (Array ary, int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ary" Type="System.Array" />
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="ary">To be added.</param>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Count">
- <MemberSignature Language="C#" Value="public int Count { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetEnumerator">
- <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IEnumerator</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.Binary.Section value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Binary.Section" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSynchronized">
- <MemberSignature Language="C#" Value="public bool IsSynchronized { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.Section this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.Section</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SyncRoot">
- <MemberSignature Language="C#" Value="public object SyncRoot { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/SubSystem.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/SubSystem.xml
deleted file mode 100644
index 80c86053dd9..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Binary/SubSystem.xml
+++ /dev/null
@@ -1,172 +0,0 @@
-<Type Name="SubSystem" FullName="Mono.Cecil.Binary.SubSystem">
- <TypeSignature Language="C#" Value="public enum SubSystem" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="EfiApplication">
- <MemberSignature Language="C#" Value="EfiApplication" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="EfiBootServiceDriver">
- <MemberSignature Language="C#" Value="EfiBootServiceDriver" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="EfiRom">
- <MemberSignature Language="C#" Value="EfiRom" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="EfiRuntimeDriver">
- <MemberSignature Language="C#" Value="EfiRuntimeDriver" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Native">
- <MemberSignature Language="C#" Value="Native" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NexusAgent">
- <MemberSignature Language="C#" Value="NexusAgent" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="PosixCui">
- <MemberSignature Language="C#" Value="PosixCui" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Unknown">
- <MemberSignature Language="C#" Value="Unknown" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="WindowsCeGui">
- <MemberSignature Language="C#" Value="WindowsCeGui" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="WindowsCui">
- <MemberSignature Language="C#" Value="WindowsCui" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="WindowsGui">
- <MemberSignature Language="C#" Value="WindowsGui" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Xbox">
- <MemberSignature Language="C#" Value="Xbox" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/BaseCodeVisitor.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/BaseCodeVisitor.xml
deleted file mode 100644
index 3f90573d7c4..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/BaseCodeVisitor.xml
+++ /dev/null
@@ -1,213 +0,0 @@
-<Type Name="BaseCodeVisitor" FullName="Mono.Cecil.Cil.BaseCodeVisitor">
- <TypeSignature Language="C#" Value="public abstract class BaseCodeVisitor : Mono.Cecil.Cil.ICodeVisitor" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Cil.ICodeVisitor</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="protected BaseCodeVisitor ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TerminateMethodBody">
- <MemberSignature Language="C#" Value="public virtual void TerminateMethodBody (Mono.Cecil.Cil.MethodBody body);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="body" Type="Mono.Cecil.Cil.MethodBody" />
- </Parameters>
- <Docs>
- <param name="body">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitExceptionHandler">
- <MemberSignature Language="C#" Value="public virtual void VisitExceptionHandler (Mono.Cecil.Cil.ExceptionHandler eh);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="eh" Type="Mono.Cecil.Cil.ExceptionHandler" />
- </Parameters>
- <Docs>
- <param name="eh">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitExceptionHandlerCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitExceptionHandlerCollection (Mono.Cecil.Cil.ExceptionHandlerCollection seh);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="seh" Type="Mono.Cecil.Cil.ExceptionHandlerCollection" />
- </Parameters>
- <Docs>
- <param name="seh">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitInstruction">
- <MemberSignature Language="C#" Value="public virtual void VisitInstruction (Mono.Cecil.Cil.Instruction instr);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="instr" Type="Mono.Cecil.Cil.Instruction" />
- </Parameters>
- <Docs>
- <param name="instr">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitInstructionCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitInstructionCollection (Mono.Cecil.Cil.InstructionCollection instructions);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="instructions" Type="Mono.Cecil.Cil.InstructionCollection" />
- </Parameters>
- <Docs>
- <param name="instructions">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodBody">
- <MemberSignature Language="C#" Value="public virtual void VisitMethodBody (Mono.Cecil.Cil.MethodBody body);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="body" Type="Mono.Cecil.Cil.MethodBody" />
- </Parameters>
- <Docs>
- <param name="body">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitScope">
- <MemberSignature Language="C#" Value="public virtual void VisitScope (Mono.Cecil.Cil.Scope s);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="s" Type="Mono.Cecil.Cil.Scope" />
- </Parameters>
- <Docs>
- <param name="s">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitScopeCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitScopeCollection (Mono.Cecil.Cil.ScopeCollection scopes);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="scopes" Type="Mono.Cecil.Cil.ScopeCollection" />
- </Parameters>
- <Docs>
- <param name="scopes">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitVariableDefinition">
- <MemberSignature Language="C#" Value="public virtual void VisitVariableDefinition (Mono.Cecil.Cil.VariableDefinition var);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="var" Type="Mono.Cecil.Cil.VariableDefinition" />
- </Parameters>
- <Docs>
- <param name="var">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitVariableDefinitionCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitVariableDefinitionCollection (Mono.Cecil.Cil.VariableDefinitionCollection variables);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="variables" Type="Mono.Cecil.Cil.VariableDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="variables">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/CilWorker.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/CilWorker.xml
deleted file mode 100644
index 2bd4a82c258..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/CilWorker.xml
+++ /dev/null
@@ -1,797 +0,0 @@
-<Type Name="CilWorker" FullName="Mono.Cecil.Cil.CilWorker">
- <TypeSignature Language="C#" Value="public sealed class CilWorker" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Append">
- <MemberSignature Language="C#" Value="public void Append (Mono.Cecil.Cil.Instruction instr);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="instr" Type="Mono.Cecil.Cil.Instruction" />
- </Parameters>
- <Docs>
- <param name="instr">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Create">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Create">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.CallSite site);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="site" Type="Mono.Cecil.CallSite" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="site">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Create">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.Cil.Instruction label);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="label" Type="Mono.Cecil.Cil.Instruction" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="label">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Create">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.Cil.Instruction[] labels);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="labels" Type="Mono.Cecil.Cil.Instruction[]" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="labels">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Create">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.Cil.VariableDefinition var);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="var" Type="Mono.Cecil.Cil.VariableDefinition" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="var">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Create">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.FieldReference field);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="field" Type="Mono.Cecil.FieldReference" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="field">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Create">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.MethodReference method);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="method" Type="Mono.Cecil.MethodReference" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="method">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Create">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.ParameterDefinition param);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="param" Type="Mono.Cecil.ParameterDefinition" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="param">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Create">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.TypeReference type);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="type">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Create">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, byte b);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="b" Type="System.Byte" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="b">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Create">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, double d);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="d" Type="System.Double" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="d">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Create">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, int i);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="i" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="i">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Create">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, long l);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="l" Type="System.Int64" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="l">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Create">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, sbyte b);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="b" Type="System.SByte" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="b">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Create">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, float f);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="f" Type="System.Single" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="f">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Create">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, string str);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="str" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="str">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Emit">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Emit">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.CallSite site);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="site" Type="Mono.Cecil.CallSite" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="site">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Emit">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.Cil.Instruction target);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="target" Type="Mono.Cecil.Cil.Instruction" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="target">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Emit">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.Cil.Instruction[] targets);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="targets" Type="Mono.Cecil.Cil.Instruction[]" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="targets">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Emit">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.Cil.VariableDefinition var);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="var" Type="Mono.Cecil.Cil.VariableDefinition" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="var">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Emit">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.FieldReference field);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="field" Type="Mono.Cecil.FieldReference" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="field">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Emit">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.MethodReference meth);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="meth" Type="Mono.Cecil.MethodReference" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="meth">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Emit">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.ParameterDefinition param);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="param" Type="Mono.Cecil.ParameterDefinition" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="param">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Emit">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.TypeReference type);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="type">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Emit">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, byte b);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="b" Type="System.Byte" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="b">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Emit">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, double d);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="d" Type="System.Double" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="d">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Emit">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, int i);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="i" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="i">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Emit">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, long l);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="l" Type="System.Int64" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="l">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Emit">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, sbyte b);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="b" Type="System.SByte" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="b">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Emit">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, float f);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="f" Type="System.Single" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="f">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Emit">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, string str);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="str" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <param name="str">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetBody">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.MethodBody GetBody ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.MethodBody</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="InsertAfter">
- <MemberSignature Language="C#" Value="public void InsertAfter (Mono.Cecil.Cil.Instruction target, Mono.Cecil.Cil.Instruction instr);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="target" Type="Mono.Cecil.Cil.Instruction" />
- <Parameter Name="instr" Type="Mono.Cecil.Cil.Instruction" />
- </Parameters>
- <Docs>
- <param name="target">To be added.</param>
- <param name="instr">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="InsertBefore">
- <MemberSignature Language="C#" Value="public void InsertBefore (Mono.Cecil.Cil.Instruction target, Mono.Cecil.Cil.Instruction instr);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="target" Type="Mono.Cecil.Cil.Instruction" />
- <Parameter Name="instr" Type="Mono.Cecil.Cil.Instruction" />
- </Parameters>
- <Docs>
- <param name="target">To be added.</param>
- <param name="instr">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.Cil.Instruction instr);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="instr" Type="Mono.Cecil.Cil.Instruction" />
- </Parameters>
- <Docs>
- <param name="instr">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Replace">
- <MemberSignature Language="C#" Value="public void Replace (Mono.Cecil.Cil.Instruction old, Mono.Cecil.Cil.Instruction instr);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="old" Type="Mono.Cecil.Cil.Instruction" />
- <Parameter Name="instr" Type="Mono.Cecil.Cil.Instruction" />
- </Parameters>
- <Docs>
- <param name="old">To be added.</param>
- <param name="instr">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/Code.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/Code.xml
deleted file mode 100644
index d103943adfc..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/Code.xml
+++ /dev/null
@@ -1,2863 +0,0 @@
-<Type Name="Code" FullName="Mono.Cecil.Cil.Code">
- <TypeSignature Language="C#" Value="public enum Code" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="Add" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Add_Ovf">
- <MemberSignature Language="C#" Value="Add_Ovf" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Add_Ovf_Un">
- <MemberSignature Language="C#" Value="Add_Ovf_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="And">
- <MemberSignature Language="C#" Value="And" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Arglist">
- <MemberSignature Language="C#" Value="Arglist" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Beq">
- <MemberSignature Language="C#" Value="Beq" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Beq_S">
- <MemberSignature Language="C#" Value="Beq_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Bge">
- <MemberSignature Language="C#" Value="Bge" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Bge_S">
- <MemberSignature Language="C#" Value="Bge_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Bge_Un">
- <MemberSignature Language="C#" Value="Bge_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Bge_Un_S">
- <MemberSignature Language="C#" Value="Bge_Un_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Bgt">
- <MemberSignature Language="C#" Value="Bgt" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Bgt_S">
- <MemberSignature Language="C#" Value="Bgt_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Bgt_Un">
- <MemberSignature Language="C#" Value="Bgt_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Bgt_Un_S">
- <MemberSignature Language="C#" Value="Bgt_Un_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ble">
- <MemberSignature Language="C#" Value="Ble" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ble_S">
- <MemberSignature Language="C#" Value="Ble_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ble_Un">
- <MemberSignature Language="C#" Value="Ble_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ble_Un_S">
- <MemberSignature Language="C#" Value="Ble_Un_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Blt">
- <MemberSignature Language="C#" Value="Blt" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Blt_S">
- <MemberSignature Language="C#" Value="Blt_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Blt_Un">
- <MemberSignature Language="C#" Value="Blt_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Blt_Un_S">
- <MemberSignature Language="C#" Value="Blt_Un_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Bne_Un">
- <MemberSignature Language="C#" Value="Bne_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Bne_Un_S">
- <MemberSignature Language="C#" Value="Bne_Un_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Box">
- <MemberSignature Language="C#" Value="Box" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Br">
- <MemberSignature Language="C#" Value="Br" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Br_S">
- <MemberSignature Language="C#" Value="Br_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Break">
- <MemberSignature Language="C#" Value="Break" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Brfalse">
- <MemberSignature Language="C#" Value="Brfalse" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Brfalse_S">
- <MemberSignature Language="C#" Value="Brfalse_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Brtrue">
- <MemberSignature Language="C#" Value="Brtrue" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Brtrue_S">
- <MemberSignature Language="C#" Value="Brtrue_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Call">
- <MemberSignature Language="C#" Value="Call" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Calli">
- <MemberSignature Language="C#" Value="Calli" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Callvirt">
- <MemberSignature Language="C#" Value="Callvirt" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Castclass">
- <MemberSignature Language="C#" Value="Castclass" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ceq">
- <MemberSignature Language="C#" Value="Ceq" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Cgt">
- <MemberSignature Language="C#" Value="Cgt" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Cgt_Un">
- <MemberSignature Language="C#" Value="Cgt_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ckfinite">
- <MemberSignature Language="C#" Value="Ckfinite" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Clt">
- <MemberSignature Language="C#" Value="Clt" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Clt_Un">
- <MemberSignature Language="C#" Value="Clt_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Constrained">
- <MemberSignature Language="C#" Value="Constrained" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_I">
- <MemberSignature Language="C#" Value="Conv_I" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_I1">
- <MemberSignature Language="C#" Value="Conv_I1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_I2">
- <MemberSignature Language="C#" Value="Conv_I2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_I4">
- <MemberSignature Language="C#" Value="Conv_I4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_I8">
- <MemberSignature Language="C#" Value="Conv_I8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I">
- <MemberSignature Language="C#" Value="Conv_Ovf_I" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I_Un">
- <MemberSignature Language="C#" Value="Conv_Ovf_I_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I1">
- <MemberSignature Language="C#" Value="Conv_Ovf_I1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I1_Un">
- <MemberSignature Language="C#" Value="Conv_Ovf_I1_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I2">
- <MemberSignature Language="C#" Value="Conv_Ovf_I2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I2_Un">
- <MemberSignature Language="C#" Value="Conv_Ovf_I2_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I4">
- <MemberSignature Language="C#" Value="Conv_Ovf_I4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I4_Un">
- <MemberSignature Language="C#" Value="Conv_Ovf_I4_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I8">
- <MemberSignature Language="C#" Value="Conv_Ovf_I8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I8_Un">
- <MemberSignature Language="C#" Value="Conv_Ovf_I8_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U">
- <MemberSignature Language="C#" Value="Conv_Ovf_U" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U_Un">
- <MemberSignature Language="C#" Value="Conv_Ovf_U_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U1">
- <MemberSignature Language="C#" Value="Conv_Ovf_U1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U1_Un">
- <MemberSignature Language="C#" Value="Conv_Ovf_U1_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U2">
- <MemberSignature Language="C#" Value="Conv_Ovf_U2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U2_Un">
- <MemberSignature Language="C#" Value="Conv_Ovf_U2_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U4">
- <MemberSignature Language="C#" Value="Conv_Ovf_U4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U4_Un">
- <MemberSignature Language="C#" Value="Conv_Ovf_U4_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U8">
- <MemberSignature Language="C#" Value="Conv_Ovf_U8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U8_Un">
- <MemberSignature Language="C#" Value="Conv_Ovf_U8_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_R_Un">
- <MemberSignature Language="C#" Value="Conv_R_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_R4">
- <MemberSignature Language="C#" Value="Conv_R4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_R8">
- <MemberSignature Language="C#" Value="Conv_R8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_U">
- <MemberSignature Language="C#" Value="Conv_U" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_U1">
- <MemberSignature Language="C#" Value="Conv_U1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_U2">
- <MemberSignature Language="C#" Value="Conv_U2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_U4">
- <MemberSignature Language="C#" Value="Conv_U4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Conv_U8">
- <MemberSignature Language="C#" Value="Conv_U8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Cpblk">
- <MemberSignature Language="C#" Value="Cpblk" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Cpobj">
- <MemberSignature Language="C#" Value="Cpobj" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Div">
- <MemberSignature Language="C#" Value="Div" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Div_Un">
- <MemberSignature Language="C#" Value="Div_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Dup">
- <MemberSignature Language="C#" Value="Dup" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Endfilter">
- <MemberSignature Language="C#" Value="Endfilter" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Endfinally">
- <MemberSignature Language="C#" Value="Endfinally" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Initblk">
- <MemberSignature Language="C#" Value="Initblk" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Initobj">
- <MemberSignature Language="C#" Value="Initobj" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Isinst">
- <MemberSignature Language="C#" Value="Isinst" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Jmp">
- <MemberSignature Language="C#" Value="Jmp" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldarg">
- <MemberSignature Language="C#" Value="Ldarg" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldarg_0">
- <MemberSignature Language="C#" Value="Ldarg_0" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldarg_1">
- <MemberSignature Language="C#" Value="Ldarg_1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldarg_2">
- <MemberSignature Language="C#" Value="Ldarg_2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldarg_3">
- <MemberSignature Language="C#" Value="Ldarg_3" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldarg_S">
- <MemberSignature Language="C#" Value="Ldarg_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldarga">
- <MemberSignature Language="C#" Value="Ldarga" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldarga_S">
- <MemberSignature Language="C#" Value="Ldarga_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4">
- <MemberSignature Language="C#" Value="Ldc_I4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_0">
- <MemberSignature Language="C#" Value="Ldc_I4_0" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_1">
- <MemberSignature Language="C#" Value="Ldc_I4_1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_2">
- <MemberSignature Language="C#" Value="Ldc_I4_2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_3">
- <MemberSignature Language="C#" Value="Ldc_I4_3" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_4">
- <MemberSignature Language="C#" Value="Ldc_I4_4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_5">
- <MemberSignature Language="C#" Value="Ldc_I4_5" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_6">
- <MemberSignature Language="C#" Value="Ldc_I4_6" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_7">
- <MemberSignature Language="C#" Value="Ldc_I4_7" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_8">
- <MemberSignature Language="C#" Value="Ldc_I4_8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_M1">
- <MemberSignature Language="C#" Value="Ldc_I4_M1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_S">
- <MemberSignature Language="C#" Value="Ldc_I4_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I8">
- <MemberSignature Language="C#" Value="Ldc_I8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldc_R4">
- <MemberSignature Language="C#" Value="Ldc_R4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldc_R8">
- <MemberSignature Language="C#" Value="Ldc_R8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_Any">
- <MemberSignature Language="C#" Value="Ldelem_Any" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_I">
- <MemberSignature Language="C#" Value="Ldelem_I" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_I1">
- <MemberSignature Language="C#" Value="Ldelem_I1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_I2">
- <MemberSignature Language="C#" Value="Ldelem_I2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_I4">
- <MemberSignature Language="C#" Value="Ldelem_I4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_I8">
- <MemberSignature Language="C#" Value="Ldelem_I8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_R4">
- <MemberSignature Language="C#" Value="Ldelem_R4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_R8">
- <MemberSignature Language="C#" Value="Ldelem_R8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_Ref">
- <MemberSignature Language="C#" Value="Ldelem_Ref" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_U1">
- <MemberSignature Language="C#" Value="Ldelem_U1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_U2">
- <MemberSignature Language="C#" Value="Ldelem_U2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_U4">
- <MemberSignature Language="C#" Value="Ldelem_U4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldelema">
- <MemberSignature Language="C#" Value="Ldelema" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldfld">
- <MemberSignature Language="C#" Value="Ldfld" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldflda">
- <MemberSignature Language="C#" Value="Ldflda" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldftn">
- <MemberSignature Language="C#" Value="Ldftn" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldind_I">
- <MemberSignature Language="C#" Value="Ldind_I" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldind_I1">
- <MemberSignature Language="C#" Value="Ldind_I1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldind_I2">
- <MemberSignature Language="C#" Value="Ldind_I2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldind_I4">
- <MemberSignature Language="C#" Value="Ldind_I4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldind_I8">
- <MemberSignature Language="C#" Value="Ldind_I8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldind_R4">
- <MemberSignature Language="C#" Value="Ldind_R4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldind_R8">
- <MemberSignature Language="C#" Value="Ldind_R8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldind_Ref">
- <MemberSignature Language="C#" Value="Ldind_Ref" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldind_U1">
- <MemberSignature Language="C#" Value="Ldind_U1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldind_U2">
- <MemberSignature Language="C#" Value="Ldind_U2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldind_U4">
- <MemberSignature Language="C#" Value="Ldind_U4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldlen">
- <MemberSignature Language="C#" Value="Ldlen" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldloc">
- <MemberSignature Language="C#" Value="Ldloc" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldloc_0">
- <MemberSignature Language="C#" Value="Ldloc_0" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldloc_1">
- <MemberSignature Language="C#" Value="Ldloc_1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldloc_2">
- <MemberSignature Language="C#" Value="Ldloc_2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldloc_3">
- <MemberSignature Language="C#" Value="Ldloc_3" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldloc_S">
- <MemberSignature Language="C#" Value="Ldloc_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldloca">
- <MemberSignature Language="C#" Value="Ldloca" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldloca_S">
- <MemberSignature Language="C#" Value="Ldloca_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldnull">
- <MemberSignature Language="C#" Value="Ldnull" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldobj">
- <MemberSignature Language="C#" Value="Ldobj" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldsfld">
- <MemberSignature Language="C#" Value="Ldsfld" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldsflda">
- <MemberSignature Language="C#" Value="Ldsflda" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldstr">
- <MemberSignature Language="C#" Value="Ldstr" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldtoken">
- <MemberSignature Language="C#" Value="Ldtoken" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ldvirtftn">
- <MemberSignature Language="C#" Value="Ldvirtftn" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Leave">
- <MemberSignature Language="C#" Value="Leave" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Leave_S">
- <MemberSignature Language="C#" Value="Leave_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Localloc">
- <MemberSignature Language="C#" Value="Localloc" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Mkrefany">
- <MemberSignature Language="C#" Value="Mkrefany" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Mul">
- <MemberSignature Language="C#" Value="Mul" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Mul_Ovf">
- <MemberSignature Language="C#" Value="Mul_Ovf" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Mul_Ovf_Un">
- <MemberSignature Language="C#" Value="Mul_Ovf_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Neg">
- <MemberSignature Language="C#" Value="Neg" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Newarr">
- <MemberSignature Language="C#" Value="Newarr" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Newobj">
- <MemberSignature Language="C#" Value="Newobj" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="No">
- <MemberSignature Language="C#" Value="No" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Nop">
- <MemberSignature Language="C#" Value="Nop" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Not">
- <MemberSignature Language="C#" Value="Not" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Or">
- <MemberSignature Language="C#" Value="Or" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Pop">
- <MemberSignature Language="C#" Value="Pop" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Readonly">
- <MemberSignature Language="C#" Value="Readonly" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Refanytype">
- <MemberSignature Language="C#" Value="Refanytype" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Refanyval">
- <MemberSignature Language="C#" Value="Refanyval" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Rem">
- <MemberSignature Language="C#" Value="Rem" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Rem_Un">
- <MemberSignature Language="C#" Value="Rem_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ret">
- <MemberSignature Language="C#" Value="Ret" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Rethrow">
- <MemberSignature Language="C#" Value="Rethrow" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Shl">
- <MemberSignature Language="C#" Value="Shl" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Shr">
- <MemberSignature Language="C#" Value="Shr" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Shr_Un">
- <MemberSignature Language="C#" Value="Shr_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Sizeof">
- <MemberSignature Language="C#" Value="Sizeof" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Starg">
- <MemberSignature Language="C#" Value="Starg" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Starg_S">
- <MemberSignature Language="C#" Value="Starg_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stelem_Any">
- <MemberSignature Language="C#" Value="Stelem_Any" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stelem_I">
- <MemberSignature Language="C#" Value="Stelem_I" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stelem_I1">
- <MemberSignature Language="C#" Value="Stelem_I1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stelem_I2">
- <MemberSignature Language="C#" Value="Stelem_I2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stelem_I4">
- <MemberSignature Language="C#" Value="Stelem_I4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stelem_I8">
- <MemberSignature Language="C#" Value="Stelem_I8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stelem_R4">
- <MemberSignature Language="C#" Value="Stelem_R4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stelem_R8">
- <MemberSignature Language="C#" Value="Stelem_R8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stelem_Ref">
- <MemberSignature Language="C#" Value="Stelem_Ref" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stfld">
- <MemberSignature Language="C#" Value="Stfld" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stind_I">
- <MemberSignature Language="C#" Value="Stind_I" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stind_I1">
- <MemberSignature Language="C#" Value="Stind_I1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stind_I2">
- <MemberSignature Language="C#" Value="Stind_I2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stind_I4">
- <MemberSignature Language="C#" Value="Stind_I4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stind_I8">
- <MemberSignature Language="C#" Value="Stind_I8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stind_R4">
- <MemberSignature Language="C#" Value="Stind_R4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stind_R8">
- <MemberSignature Language="C#" Value="Stind_R8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stind_Ref">
- <MemberSignature Language="C#" Value="Stind_Ref" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stloc">
- <MemberSignature Language="C#" Value="Stloc" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stloc_0">
- <MemberSignature Language="C#" Value="Stloc_0" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stloc_1">
- <MemberSignature Language="C#" Value="Stloc_1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stloc_2">
- <MemberSignature Language="C#" Value="Stloc_2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stloc_3">
- <MemberSignature Language="C#" Value="Stloc_3" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stloc_S">
- <MemberSignature Language="C#" Value="Stloc_S" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stobj">
- <MemberSignature Language="C#" Value="Stobj" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Stsfld">
- <MemberSignature Language="C#" Value="Stsfld" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Sub">
- <MemberSignature Language="C#" Value="Sub" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Sub_Ovf">
- <MemberSignature Language="C#" Value="Sub_Ovf" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Sub_Ovf_Un">
- <MemberSignature Language="C#" Value="Sub_Ovf_Un" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Switch">
- <MemberSignature Language="C#" Value="Switch" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Tail">
- <MemberSignature Language="C#" Value="Tail" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Throw">
- <MemberSignature Language="C#" Value="Throw" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Unaligned">
- <MemberSignature Language="C#" Value="Unaligned" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Unbox">
- <MemberSignature Language="C#" Value="Unbox" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Unbox_Any">
- <MemberSignature Language="C#" Value="Unbox_Any" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Volatile">
- <MemberSignature Language="C#" Value="Volatile" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Xor">
- <MemberSignature Language="C#" Value="Xor" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/Document.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/Document.xml
deleted file mode 100644
index cf00934b8cc..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/Document.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-<Type Name="Document" FullName="Mono.Cecil.Cil.Document">
- <TypeSignature Language="C#" Value="public class Document" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public Document (string url);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="url" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="url">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Hash">
- <MemberSignature Language="C#" Value="public byte[] Hash { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HashAlgorithm">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.DocumentHashAlgorithm HashAlgorithm { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.DocumentHashAlgorithm</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Language">
- <MemberSignature Language="C#" Value="public Guid Language { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="LanguageVendor">
- <MemberSignature Language="C#" Value="public Guid LanguageVendor { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Type">
- <MemberSignature Language="C#" Value="public Guid Type { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Url">
- <MemberSignature Language="C#" Value="public string Url { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/DocumentHashAlgorithm.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/DocumentHashAlgorithm.xml
deleted file mode 100644
index 615440148b8..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/DocumentHashAlgorithm.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<Type Name="DocumentHashAlgorithm" FullName="Mono.Cecil.Cil.DocumentHashAlgorithm">
- <TypeSignature Language="C#" Value="public enum DocumentHashAlgorithm" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="MD5">
- <MemberSignature Language="C#" Value="MD5" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Attributes>
- <Attribute>
- <AttributeName>Mono.Cecil.Cil.Guid(1080993376, 25807, 19586, 182, 240, 66, 212, 129, 114, 167, 153)</AttributeName>
- </Attribute>
- </Attributes>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.DocumentHashAlgorithm</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="None">
- <MemberSignature Language="C#" Value="None" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Attributes>
- <Attribute>
- <AttributeName>Mono.Cecil.Cil.Guid(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)</AttributeName>
- </Attribute>
- </Attributes>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.DocumentHashAlgorithm</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="SHA1">
- <MemberSignature Language="C#" Value="SHA1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Attributes>
- <Attribute>
- <AttributeName>Mono.Cecil.Cil.Guid(4279768812, 43614, 19728, 135, 247, 111, 73, 99, 131, 52, 96)</AttributeName>
- </Attribute>
- </Attributes>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.DocumentHashAlgorithm</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/DocumentLanguage.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/DocumentLanguage.xml
deleted file mode 100644
index 3e54ed22a0d..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/DocumentLanguage.xml
+++ /dev/null
@@ -1,197 +0,0 @@
-<Type Name="DocumentLanguage" FullName="Mono.Cecil.Cil.DocumentLanguage">
- <TypeSignature Language="C#" Value="public abstract class DocumentLanguage" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="protected DocumentLanguage ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Basic">
- <MemberSignature Language="C#" Value="public static readonly Guid Basic;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="C">
- <MemberSignature Language="C#" Value="public static readonly Guid C;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CIL">
- <MemberSignature Language="C#" Value="public static readonly Guid CIL;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Cobol">
- <MemberSignature Language="C#" Value="public static readonly Guid Cobol;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Cpp">
- <MemberSignature Language="C#" Value="public static readonly Guid Cpp;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CSharp">
- <MemberSignature Language="C#" Value="public static readonly Guid CSharp;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Java">
- <MemberSignature Language="C#" Value="public static readonly Guid Java;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="JScript">
- <MemberSignature Language="C#" Value="public static readonly Guid JScript;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MCpp">
- <MemberSignature Language="C#" Value="public static readonly Guid MCpp;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="None">
- <MemberSignature Language="C#" Value="public static readonly Guid None;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Pascal">
- <MemberSignature Language="C#" Value="public static readonly Guid Pascal;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SMC">
- <MemberSignature Language="C#" Value="public static readonly Guid SMC;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/DocumentLanguageVendor.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/DocumentLanguageVendor.xml
deleted file mode 100644
index 0caae66def5..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/DocumentLanguageVendor.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<Type Name="DocumentLanguageVendor" FullName="Mono.Cecil.Cil.DocumentLanguageVendor">
- <TypeSignature Language="C#" Value="public abstract class DocumentLanguageVendor" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="protected DocumentLanguageVendor ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Microsoft">
- <MemberSignature Language="C#" Value="public static readonly Guid Microsoft;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Other">
- <MemberSignature Language="C#" Value="public static readonly Guid Other;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/DocumentType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/DocumentType.xml
deleted file mode 100644
index 1b77d7f8cb6..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/DocumentType.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<Type Name="DocumentType" FullName="Mono.Cecil.Cil.DocumentType">
- <TypeSignature Language="C#" Value="public abstract class DocumentType" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="protected DocumentType ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Other">
- <MemberSignature Language="C#" Value="public static readonly Guid Other;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Text">
- <MemberSignature Language="C#" Value="public static readonly Guid Text;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ExceptionHandler.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ExceptionHandler.xml
deleted file mode 100644
index 9d826253f71..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ExceptionHandler.xml
+++ /dev/null
@@ -1,174 +0,0 @@
-<Type Name="ExceptionHandler" FullName="Mono.Cecil.Cil.ExceptionHandler">
- <TypeSignature Language="C#" Value="public sealed class ExceptionHandler : Mono.Cecil.Cil.ICodeVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ExceptionHandler (Mono.Cecil.Cil.ExceptionHandlerType type);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="type" Type="Mono.Cecil.Cil.ExceptionHandlerType" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CatchType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference CatchType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FilterEnd">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction FilterEnd { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FilterStart">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction FilterStart { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HandlerEnd">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction HandlerEnd { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HandlerStart">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction HandlerStart { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TryEnd">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction TryEnd { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TryStart">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction TryStart { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Type">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.ExceptionHandlerType Type { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.ExceptionHandlerType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ExceptionHandlerCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ExceptionHandlerCollection.xml
deleted file mode 100644
index d96b2d44e82..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ExceptionHandlerCollection.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<Type Name="ExceptionHandlerCollection" FullName="Mono.Cecil.Cil.ExceptionHandlerCollection">
- <TypeSignature Language="C#" Value="public sealed class ExceptionHandlerCollection : System.Collections.CollectionBase, Mono.Cecil.Cil.ICodeVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ExceptionHandlerCollection (Mono.Cecil.Cil.MethodBody container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.Cil.MethodBody" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.Cil.ExceptionHandler value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Cil.ExceptionHandler" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.MethodBody Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.MethodBody</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.Cil.ExceptionHandler value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Cil.ExceptionHandler" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.Cil.ExceptionHandler value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Cil.ExceptionHandler" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.Cil.ExceptionHandler value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.Cil.ExceptionHandler" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.ExceptionHandler this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.ExceptionHandler</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.Cil.ExceptionHandler value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Cil.ExceptionHandler" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ExceptionHandlerType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ExceptionHandlerType.xml
deleted file mode 100644
index b4b6d7d4d6d..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ExceptionHandlerType.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<Type Name="ExceptionHandlerType" FullName="Mono.Cecil.Cil.ExceptionHandlerType">
- <TypeSignature Language="C#" Value="public enum ExceptionHandlerType" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Catch">
- <MemberSignature Language="C#" Value="Catch" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.ExceptionHandlerType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Fault">
- <MemberSignature Language="C#" Value="Fault" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.ExceptionHandlerType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Filter">
- <MemberSignature Language="C#" Value="Filter" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.ExceptionHandlerType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Finally">
- <MemberSignature Language="C#" Value="Finally" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.ExceptionHandlerType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/FlowControl.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/FlowControl.xml
deleted file mode 100644
index 1ad15f00c6f..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/FlowControl.xml
+++ /dev/null
@@ -1,133 +0,0 @@
-<Type Name="FlowControl" FullName="Mono.Cecil.Cil.FlowControl">
- <TypeSignature Language="C#" Value="public enum FlowControl" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Branch">
- <MemberSignature Language="C#" Value="Branch" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Break">
- <MemberSignature Language="C#" Value="Break" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Call">
- <MemberSignature Language="C#" Value="Call" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Cond_Branch">
- <MemberSignature Language="C#" Value="Cond_Branch" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Meta">
- <MemberSignature Language="C#" Value="Meta" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Next">
- <MemberSignature Language="C#" Value="Next" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Phi">
- <MemberSignature Language="C#" Value="Phi" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Return">
- <MemberSignature Language="C#" Value="Return" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Throw">
- <MemberSignature Language="C#" Value="Throw" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/GuidAttribute.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/GuidAttribute.xml
deleted file mode 100644
index 10e89acab4f..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/GuidAttribute.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-<Type Name="GuidAttribute" FullName="Mono.Cecil.Cil.GuidAttribute">
- <TypeSignature Language="C#" Value="public sealed class GuidAttribute : Attribute" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Attribute</BaseTypeName>
- </Base>
- <Interfaces />
- <Attributes>
- <Attribute>
- <AttributeName>System.AttributeUsage(System.AttributeTargets.Field)</AttributeName>
- </Attribute>
- </Attributes>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public GuidAttribute (uint a, ushort b, ushort c, byte d, byte e, byte f, byte g, byte h, byte i, byte j, byte k);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="a" Type="System.UInt32" />
- <Parameter Name="b" Type="System.UInt16" />
- <Parameter Name="c" Type="System.UInt16" />
- <Parameter Name="d" Type="System.Byte" />
- <Parameter Name="e" Type="System.Byte" />
- <Parameter Name="f" Type="System.Byte" />
- <Parameter Name="g" Type="System.Byte" />
- <Parameter Name="h" Type="System.Byte" />
- <Parameter Name="i" Type="System.Byte" />
- <Parameter Name="j" Type="System.Byte" />
- <Parameter Name="k" Type="System.Byte" />
- </Parameters>
- <Docs>
- <param name="a">To be added.</param>
- <param name="b">To be added.</param>
- <param name="c">To be added.</param>
- <param name="d">To be added.</param>
- <param name="e">To be added.</param>
- <param name="f">To be added.</param>
- <param name="g">To be added.</param>
- <param name="h">To be added.</param>
- <param name="i">To be added.</param>
- <param name="j">To be added.</param>
- <param name="k">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetGuidFromValue">
- <MemberSignature Language="C#" Value="public static Guid GetGuidFromValue (int value, Type enumeration);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="System.Int32" />
- <Parameter Name="enumeration" Type="System.Type" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <param name="enumeration">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetValueFromGuid">
- <MemberSignature Language="C#" Value="public static int GetValueFromGuid (Guid id, Type enumeration);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="id" Type="System.Guid" />
- <Parameter Name="enumeration" Type="System.Type" />
- </Parameters>
- <Docs>
- <param name="id">To be added.</param>
- <param name="enumeration">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Guid">
- <MemberSignature Language="C#" Value="public Guid Guid { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ICodeVisitable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ICodeVisitable.xml
deleted file mode 100644
index 82d85bbb7cc..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ICodeVisitable.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<Type Name="ICodeVisitable" FullName="Mono.Cecil.Cil.ICodeVisitable">
- <TypeSignature Language="C#" Value="public interface ICodeVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ICodeVisitor.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ICodeVisitor.xml
deleted file mode 100644
index ec3e519c94d..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ICodeVisitor.xml
+++ /dev/null
@@ -1,194 +0,0 @@
-<Type Name="ICodeVisitor" FullName="Mono.Cecil.Cil.ICodeVisitor">
- <TypeSignature Language="C#" Value="public interface ICodeVisitor" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="TerminateMethodBody">
- <MemberSignature Language="C#" Value="public void TerminateMethodBody (Mono.Cecil.Cil.MethodBody body);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="body" Type="Mono.Cecil.Cil.MethodBody" />
- </Parameters>
- <Docs>
- <param name="body">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitExceptionHandler">
- <MemberSignature Language="C#" Value="public void VisitExceptionHandler (Mono.Cecil.Cil.ExceptionHandler eh);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="eh" Type="Mono.Cecil.Cil.ExceptionHandler" />
- </Parameters>
- <Docs>
- <param name="eh">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitExceptionHandlerCollection">
- <MemberSignature Language="C#" Value="public void VisitExceptionHandlerCollection (Mono.Cecil.Cil.ExceptionHandlerCollection seh);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="seh" Type="Mono.Cecil.Cil.ExceptionHandlerCollection" />
- </Parameters>
- <Docs>
- <param name="seh">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitInstruction">
- <MemberSignature Language="C#" Value="public void VisitInstruction (Mono.Cecil.Cil.Instruction instr);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="instr" Type="Mono.Cecil.Cil.Instruction" />
- </Parameters>
- <Docs>
- <param name="instr">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitInstructionCollection">
- <MemberSignature Language="C#" Value="public void VisitInstructionCollection (Mono.Cecil.Cil.InstructionCollection instructions);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="instructions" Type="Mono.Cecil.Cil.InstructionCollection" />
- </Parameters>
- <Docs>
- <param name="instructions">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodBody">
- <MemberSignature Language="C#" Value="public void VisitMethodBody (Mono.Cecil.Cil.MethodBody body);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="body" Type="Mono.Cecil.Cil.MethodBody" />
- </Parameters>
- <Docs>
- <param name="body">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitScope">
- <MemberSignature Language="C#" Value="public void VisitScope (Mono.Cecil.Cil.Scope scope);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="scope" Type="Mono.Cecil.Cil.Scope" />
- </Parameters>
- <Docs>
- <param name="scope">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitScopeCollection">
- <MemberSignature Language="C#" Value="public void VisitScopeCollection (Mono.Cecil.Cil.ScopeCollection scopes);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="scopes" Type="Mono.Cecil.Cil.ScopeCollection" />
- </Parameters>
- <Docs>
- <param name="scopes">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitVariableDefinition">
- <MemberSignature Language="C#" Value="public void VisitVariableDefinition (Mono.Cecil.Cil.VariableDefinition var);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="var" Type="Mono.Cecil.Cil.VariableDefinition" />
- </Parameters>
- <Docs>
- <param name="var">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitVariableDefinitionCollection">
- <MemberSignature Language="C#" Value="public void VisitVariableDefinitionCollection (Mono.Cecil.Cil.VariableDefinitionCollection variables);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="variables" Type="Mono.Cecil.Cil.VariableDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="variables">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/IScopeProvider.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/IScopeProvider.xml
deleted file mode 100644
index e2c7650de11..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/IScopeProvider.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="IScopeProvider" FullName="Mono.Cecil.Cil.IScopeProvider">
- <TypeSignature Language="C#" Value="public interface IScopeProvider" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Scopes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.ScopeCollection Scopes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.ScopeCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ISymbolReader.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ISymbolReader.xml
deleted file mode 100644
index 1444b9ad0d4..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ISymbolReader.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<Type Name="ISymbolReader" FullName="Mono.Cecil.Cil.ISymbolReader">
- <TypeSignature Language="C#" Value="public interface ISymbolReader : IDisposable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces>
- <Interface>
- <InterfaceName>System.IDisposable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Read">
- <MemberSignature Language="C#" Value="public void Read (Mono.Cecil.Cil.MethodBody body, System.Collections.IDictionary instructions);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="body" Type="Mono.Cecil.Cil.MethodBody" />
- <Parameter Name="instructions" Type="System.Collections.IDictionary" />
- </Parameters>
- <Docs>
- <param name="body">To be added.</param>
- <param name="instructions">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ISymbolStoreFactory.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ISymbolStoreFactory.xml
deleted file mode 100644
index 286eecb49a1..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ISymbolStoreFactory.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<Type Name="ISymbolStoreFactory" FullName="Mono.Cecil.Cil.ISymbolStoreFactory">
- <TypeSignature Language="C#" Value="public interface ISymbolStoreFactory" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="CreateReader">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.ISymbolReader CreateReader (Mono.Cecil.ModuleDefinition module, string assemblyFileName);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.ISymbolReader</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
- <Parameter Name="assemblyFileName" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="module">To be added.</param>
- <param name="assemblyFileName">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CreateWriter">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.ISymbolWriter CreateWriter (Mono.Cecil.ModuleDefinition module, string assemblyFileName);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.ISymbolWriter</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
- <Parameter Name="assemblyFileName" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="module">To be added.</param>
- <param name="assemblyFileName">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ISymbolWriter.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ISymbolWriter.xml
deleted file mode 100644
index 834ddcaf1d2..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ISymbolWriter.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<Type Name="ISymbolWriter" FullName="Mono.Cecil.Cil.ISymbolWriter">
- <TypeSignature Language="C#" Value="public interface ISymbolWriter : IDisposable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces>
- <Interface>
- <InterfaceName>System.IDisposable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Write">
- <MemberSignature Language="C#" Value="public void Write (Mono.Cecil.Cil.MethodBody body);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="body" Type="Mono.Cecil.Cil.MethodBody" />
- </Parameters>
- <Docs>
- <param name="body">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/IVariableDefinitionProvider.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/IVariableDefinitionProvider.xml
deleted file mode 100644
index 24fe7dba448..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/IVariableDefinitionProvider.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="IVariableDefinitionProvider" FullName="Mono.Cecil.Cil.IVariableDefinitionProvider">
- <TypeSignature Language="C#" Value="public interface IVariableDefinitionProvider" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Variables">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.VariableDefinitionCollection Variables { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.VariableDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/Instruction.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/Instruction.xml
deleted file mode 100644
index f56cc9faeed..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/Instruction.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-<Type Name="Instruction" FullName="Mono.Cecil.Cil.Instruction">
- <TypeSignature Language="C#" Value="public sealed class Instruction : Mono.Cecil.Cil.ICodeVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetSize">
- <MemberSignature Language="C#" Value="public int GetSize ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Next">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Next { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Offset">
- <MemberSignature Language="C#" Value="public int Offset { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OpCode">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.OpCode OpCode { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Operand">
- <MemberSignature Language="C#" Value="public object Operand { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Previous">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Previous { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SequencePoint">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.SequencePoint SequencePoint { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.SequencePoint</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/InstructionCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/InstructionCollection.xml
deleted file mode 100644
index 1096dd89206..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/InstructionCollection.xml
+++ /dev/null
@@ -1,158 +0,0 @@
-<Type Name="InstructionCollection" FullName="Mono.Cecil.Cil.InstructionCollection">
- <TypeSignature Language="C#" Value="public sealed class InstructionCollection : System.Collections.CollectionBase, Mono.Cecil.Cil.ICodeVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public InstructionCollection (Mono.Cecil.Cil.MethodBody container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.Cil.MethodBody" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.MethodBody Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.MethodBody</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.Cil.Instruction value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Cil.Instruction" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.Cil.Instruction value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Cil.Instruction" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Outside">
- <MemberSignature Language="C#" Value="public readonly Mono.Cecil.Cil.Instruction Outside;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/MethodBody.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/MethodBody.xml
deleted file mode 100644
index c86f954dacf..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/MethodBody.xml
+++ /dev/null
@@ -1,285 +0,0 @@
-<Type Name="MethodBody" FullName="Mono.Cecil.Cil.MethodBody">
- <TypeSignature Language="C#" Value="public sealed class MethodBody : Mono.Cecil.Cil.ICodeVisitable, Mono.Cecil.Cil.IScopeProvider, Mono.Cecil.Cil.IVariableDefinitionProvider" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.Cil.IScopeProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.Cil.IVariableDefinitionProvider</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public MethodBody (Mono.Cecil.MethodDefinition meth);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="meth" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="meth">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CilWorker">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.CilWorker CilWorker { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.CilWorker</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CodeSize">
- <MemberSignature Language="C#" Value="public int CodeSize { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ExceptionHandlers">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.ExceptionHandlerCollection ExceptionHandlers { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.ExceptionHandlerCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasExceptionHandlers">
- <MemberSignature Language="C#" Value="public bool HasExceptionHandlers { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasScopes">
- <MemberSignature Language="C#" Value="public bool HasScopes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasVariables">
- <MemberSignature Language="C#" Value="public bool HasVariables { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="InitLocals">
- <MemberSignature Language="C#" Value="public bool InitLocals { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Instructions">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.InstructionCollection Instructions { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.InstructionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="LocalVarToken">
- <MemberSignature Language="C#" Value="public int LocalVarToken { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MaxStack">
- <MemberSignature Language="C#" Value="public int MaxStack { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Method">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition Method { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Optimize">
- <MemberSignature Language="C#" Value="public void Optimize ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Scopes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.ScopeCollection Scopes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.ScopeCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Simplify">
- <MemberSignature Language="C#" Value="public void Simplify ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Variables">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.VariableDefinitionCollection Variables { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.VariableDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/OpCode.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/OpCode.xml
deleted file mode 100644
index ac78b99ada6..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/OpCode.xml
+++ /dev/null
@@ -1,294 +0,0 @@
-<Type Name="OpCode" FullName="Mono.Cecil.Cil.OpCode">
- <TypeSignature Language="C#" Value="public struct OpCode" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.ValueType</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Code">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Code Code { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Equals">
- <MemberSignature Language="C#" Value="public bool Equals (Mono.Cecil.Cil.OpCode opcode);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
- </Parameters>
- <Docs>
- <param name="opcode">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Equals">
- <MemberSignature Language="C#" Value="public override bool Equals (object obj);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="obj" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="obj">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FlowControl">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.FlowControl FlowControl { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetHashCode">
- <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public string Name { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="op_Equality">
- <MemberSignature Language="C#" Value="public static bool op_Equality (Mono.Cecil.Cil.OpCode one, Mono.Cecil.Cil.OpCode other);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="one" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="other" Type="Mono.Cecil.Cil.OpCode" />
- </Parameters>
- <Docs>
- <param name="one">To be added.</param>
- <param name="other">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="op_Inequality">
- <MemberSignature Language="C#" Value="public static bool op_Inequality (Mono.Cecil.Cil.OpCode one, Mono.Cecil.Cil.OpCode other);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="one" Type="Mono.Cecil.Cil.OpCode" />
- <Parameter Name="other" Type="Mono.Cecil.Cil.OpCode" />
- </Parameters>
- <Docs>
- <param name="one">To be added.</param>
- <param name="other">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Op1">
- <MemberSignature Language="C#" Value="public byte Op1 { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Op2">
- <MemberSignature Language="C#" Value="public byte Op2 { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OpCodeType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.OpCodeType OpCodeType { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCodeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OperandType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.OperandType OperandType { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Size">
- <MemberSignature Language="C#" Value="public int Size { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="StackBehaviourPop">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.StackBehaviour StackBehaviourPop { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="StackBehaviourPush">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.StackBehaviour StackBehaviourPush { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Value">
- <MemberSignature Language="C#" Value="public short Value { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/OpCodeType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/OpCodeType.xml
deleted file mode 100644
index 4be9f711f2d..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/OpCodeType.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-<Type Name="OpCodeType" FullName="Mono.Cecil.Cil.OpCodeType">
- <TypeSignature Language="C#" Value="public enum OpCodeType" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Annotation">
- <MemberSignature Language="C#" Value="Annotation" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCodeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Macro">
- <MemberSignature Language="C#" Value="Macro" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCodeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Nternal">
- <MemberSignature Language="C#" Value="Nternal" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCodeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Objmodel">
- <MemberSignature Language="C#" Value="Objmodel" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCodeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Prefix">
- <MemberSignature Language="C#" Value="Prefix" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCodeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Primitive">
- <MemberSignature Language="C#" Value="Primitive" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCodeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/OpCodes.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/OpCodes.xml
deleted file mode 100644
index 917429bdf6a..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/OpCodes.xml
+++ /dev/null
@@ -1,3102 +0,0 @@
-<Type Name="OpCodes" FullName="Mono.Cecil.Cil.OpCodes">
- <TypeSignature Language="C#" Value="public sealed class OpCodes" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Add;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add_Ovf">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Add_Ovf;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add_Ovf_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Add_Ovf_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="And">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode And;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Arglist">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Arglist;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Beq">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Beq;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Beq_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Beq_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Bge">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bge;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Bge_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bge_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Bge_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bge_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Bge_Un_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bge_Un_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Bgt">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bgt;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Bgt_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bgt_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Bgt_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bgt_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Bgt_Un_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bgt_Un_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ble">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ble;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ble_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ble_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ble_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ble_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ble_Un_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ble_Un_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Blt">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Blt;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Blt_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Blt_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Blt_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Blt_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Blt_Un_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Blt_Un_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Bne_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bne_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Bne_Un_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bne_Un_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Box">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Box;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Br">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Br;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Br_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Br_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Break">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Break;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Brfalse">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Brfalse;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Brfalse_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Brfalse_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Brtrue">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Brtrue;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Brtrue_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Brtrue_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Call">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Call;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Calli">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Calli;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Callvirt">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Callvirt;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Castclass">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Castclass;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ceq">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ceq;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Cgt">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Cgt;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Cgt_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Cgt_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ckfinite">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ckfinite;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clt">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Clt;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clt_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Clt_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Constrained">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Constrained;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_I">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_I;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_I1">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_I1;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_I2">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_I2;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_I4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_I4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_I8">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_I8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I1">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I1;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I1_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I1_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I2">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I2;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I2_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I2_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I4_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I4_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I8">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_I8_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I8_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U1">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U1;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U1_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U1_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U2">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U2;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U2_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U2_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U4_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U4_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U8">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_Ovf_U8_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U8_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_R_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_R_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_R4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_R4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_R8">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_R8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_U">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_U;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_U1">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_U1;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_U2">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_U2;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_U4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_U4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Conv_U8">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_U8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Cpblk">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Cpblk;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Cpobj">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Cpobj;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Div">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Div;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Div_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Div_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Dup">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Dup;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Endfilter">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Endfilter;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Endfinally">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Endfinally;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetOpCode">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.Cil.OpCode GetOpCode (Mono.Cecil.Cil.Code code);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="code" Type="Mono.Cecil.Cil.Code" />
- </Parameters>
- <Docs>
- <param name="code">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Initblk">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Initblk;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Initobj">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Initobj;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Isinst">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Isinst;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Jmp">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Jmp;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldarg">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldarg;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldarg_0">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldarg_0;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldarg_1">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldarg_1;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldarg_2">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldarg_2;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldarg_3">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldarg_3;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldarg_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldarg_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldarga">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldarga;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldarga_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldarga_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_0">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_0;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_1">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_1;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_2">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_2;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_3">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_3;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_5">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_5;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_6">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_6;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_7">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_7;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_8">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_M1">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_M1;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I4_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldc_I8">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldc_R4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_R4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldc_R8">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_R8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_Any">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_Any;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_I">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_I;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_I1">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_I1;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_I2">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_I2;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_I4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_I4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_I8">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_I8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_R4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_R4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_R8">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_R8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_Ref">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_Ref;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_U1">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_U1;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_U2">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_U2;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldelem_U4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_U4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldelema">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelema;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldfld">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldfld;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldflda">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldflda;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldftn">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldftn;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldind_I">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_I;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldind_I1">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_I1;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldind_I2">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_I2;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldind_I4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_I4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldind_I8">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_I8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldind_R4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_R4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldind_R8">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_R8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldind_Ref">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_Ref;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldind_U1">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_U1;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldind_U2">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_U2;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldind_U4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_U4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldlen">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldlen;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldloc">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldloc;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldloc_0">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldloc_0;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldloc_1">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldloc_1;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldloc_2">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldloc_2;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldloc_3">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldloc_3;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldloc_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldloc_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldloca">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldloca;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldloca_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldloca_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldnull">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldnull;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldobj">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldobj;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldsfld">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldsfld;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldsflda">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldsflda;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldstr">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldstr;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldtoken">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldtoken;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ldvirtftn">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldvirtftn;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Leave">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Leave;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Leave_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Leave_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Localloc">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Localloc;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Mkrefany">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Mkrefany;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Mul">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Mul;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Mul_Ovf">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Mul_Ovf;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Mul_Ovf_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Mul_Ovf_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Neg">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Neg;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Newarr">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Newarr;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Newobj">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Newobj;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="No">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode No;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Nop">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Nop;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Not">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Not;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Or">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Or;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Pop">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Pop;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Readonly">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Readonly;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Refanytype">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Refanytype;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Refanyval">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Refanyval;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rem">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Rem;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rem_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Rem_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ret">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ret;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rethrow">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Rethrow;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Shl">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Shl;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Shr">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Shr;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Shr_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Shr_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Sizeof">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Sizeof;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Starg">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Starg;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Starg_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Starg_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stelem_Any">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_Any;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stelem_I">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_I;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stelem_I1">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_I1;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stelem_I2">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_I2;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stelem_I4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_I4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stelem_I8">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_I8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stelem_R4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_R4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stelem_R8">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_R8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stelem_Ref">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_Ref;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stfld">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stfld;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stind_I">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stind_I;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stind_I1">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stind_I1;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stind_I2">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stind_I2;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stind_I4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stind_I4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stind_I8">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stind_I8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stind_R4">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stind_R4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stind_R8">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stind_R8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stind_Ref">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stind_Ref;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stloc">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stloc;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stloc_0">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stloc_0;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stloc_1">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stloc_1;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stloc_2">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stloc_2;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stloc_3">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stloc_3;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stloc_S">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stloc_S;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stobj">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stobj;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stsfld">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stsfld;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Sub">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Sub;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Sub_Ovf">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Sub_Ovf;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Sub_Ovf_Un">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Sub_Ovf_Un;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Switch">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Switch;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Tail">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Tail;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Throw">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Throw;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Unaligned">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Unaligned;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Unbox">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Unbox;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Unbox_Any">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Unbox_Any;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Volatile">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Volatile;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Xor">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Xor;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/OperandType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/OperandType.xml
deleted file mode 100644
index a7a7b221bf4..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/OperandType.xml
+++ /dev/null
@@ -1,276 +0,0 @@
-<Type Name="OperandType" FullName="Mono.Cecil.Cil.OperandType">
- <TypeSignature Language="C#" Value="public enum OperandType" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="InlineBrTarget">
- <MemberSignature Language="C#" Value="InlineBrTarget" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InlineField">
- <MemberSignature Language="C#" Value="InlineField" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InlineI">
- <MemberSignature Language="C#" Value="InlineI" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InlineI8">
- <MemberSignature Language="C#" Value="InlineI8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InlineMethod">
- <MemberSignature Language="C#" Value="InlineMethod" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InlineNone">
- <MemberSignature Language="C#" Value="InlineNone" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InlineParam">
- <MemberSignature Language="C#" Value="InlineParam" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InlinePhi">
- <MemberSignature Language="C#" Value="InlinePhi" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InlineR">
- <MemberSignature Language="C#" Value="InlineR" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InlineSig">
- <MemberSignature Language="C#" Value="InlineSig" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InlineString">
- <MemberSignature Language="C#" Value="InlineString" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InlineSwitch">
- <MemberSignature Language="C#" Value="InlineSwitch" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InlineTok">
- <MemberSignature Language="C#" Value="InlineTok" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InlineType">
- <MemberSignature Language="C#" Value="InlineType" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InlineVar">
- <MemberSignature Language="C#" Value="InlineVar" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ShortInlineBrTarget">
- <MemberSignature Language="C#" Value="ShortInlineBrTarget" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ShortInlineI">
- <MemberSignature Language="C#" Value="ShortInlineI" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ShortInlineParam">
- <MemberSignature Language="C#" Value="ShortInlineParam" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ShortInlineR">
- <MemberSignature Language="C#" Value="ShortInlineR" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ShortInlineVar">
- <MemberSignature Language="C#" Value="ShortInlineVar" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/Scope.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/Scope.xml
deleted file mode 100644
index 0c97aa90a14..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/Scope.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<Type Name="Scope" FullName="Mono.Cecil.Cil.Scope">
- <TypeSignature Language="C#" Value="public class Scope : Mono.Cecil.Cil.ICodeVisitable, Mono.Cecil.Cil.IScopeProvider, Mono.Cecil.Cil.IVariableDefinitionProvider" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.Cil.IScopeProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.Cil.IVariableDefinitionProvider</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public Scope ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="End">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction End { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Parent">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Scope Parent { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Scope</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Scopes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.ScopeCollection Scopes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.ScopeCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Start">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Start { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Variables">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.VariableDefinitionCollection Variables { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.VariableDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ScopeCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ScopeCollection.xml
deleted file mode 100644
index 14df934fcd2..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/ScopeCollection.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<Type Name="ScopeCollection" FullName="Mono.Cecil.Cil.ScopeCollection">
- <TypeSignature Language="C#" Value="public sealed class ScopeCollection : System.Collections.CollectionBase, Mono.Cecil.Cil.ICodeVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ScopeCollection (Mono.Cecil.Cil.IScopeProvider container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.Cil.IScopeProvider" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.Cil.Scope value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Cil.Scope" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.IScopeProvider Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.IScopeProvider</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.Cil.Scope value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Cil.Scope" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.Cil.Scope value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Cil.Scope" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.Cil.Scope value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.Cil.Scope" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Scope this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Scope</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.Cil.Scope value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Cil.Scope" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/SequencePoint.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/SequencePoint.xml
deleted file mode 100644
index 8bf7ad7c3cc..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/SequencePoint.xml
+++ /dev/null
@@ -1,130 +0,0 @@
-<Type Name="SequencePoint" FullName="Mono.Cecil.Cil.SequencePoint">
- <TypeSignature Language="C#" Value="public class SequencePoint" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public SequencePoint (Mono.Cecil.Cil.Document document);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="document" Type="Mono.Cecil.Cil.Document" />
- </Parameters>
- <Docs>
- <param name="document">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public SequencePoint (Mono.Cecil.Cil.Document doc, int startLine, int startCol, int endLine, int endCol);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="doc" Type="Mono.Cecil.Cil.Document" />
- <Parameter Name="startLine" Type="System.Int32" />
- <Parameter Name="startCol" Type="System.Int32" />
- <Parameter Name="endLine" Type="System.Int32" />
- <Parameter Name="endCol" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="doc">To be added.</param>
- <param name="startLine">To be added.</param>
- <param name="startCol">To be added.</param>
- <param name="endLine">To be added.</param>
- <param name="endCol">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Document">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Document Document { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.Document</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="EndColumn">
- <MemberSignature Language="C#" Value="public int EndColumn { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="EndLine">
- <MemberSignature Language="C#" Value="public int EndLine { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="StartColumn">
- <MemberSignature Language="C#" Value="public int StartColumn { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="StartLine">
- <MemberSignature Language="C#" Value="public int StartLine { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/StackBehaviour.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/StackBehaviour.xml
deleted file mode 100644
index 2e97a7338f6..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/StackBehaviour.xml
+++ /dev/null
@@ -1,393 +0,0 @@
-<Type Name="StackBehaviour" FullName="Mono.Cecil.Cil.StackBehaviour">
- <TypeSignature Language="C#" Value="public enum StackBehaviour" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Pop0">
- <MemberSignature Language="C#" Value="Pop0" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Pop1">
- <MemberSignature Language="C#" Value="Pop1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Pop1_pop1">
- <MemberSignature Language="C#" Value="Pop1_pop1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="PopAll">
- <MemberSignature Language="C#" Value="PopAll" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Popi">
- <MemberSignature Language="C#" Value="Popi" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Popi_pop1">
- <MemberSignature Language="C#" Value="Popi_pop1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Popi_popi">
- <MemberSignature Language="C#" Value="Popi_popi" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Popi_popi_popi">
- <MemberSignature Language="C#" Value="Popi_popi_popi" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Popi_popi8">
- <MemberSignature Language="C#" Value="Popi_popi8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Popi_popr4">
- <MemberSignature Language="C#" Value="Popi_popr4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Popi_popr8">
- <MemberSignature Language="C#" Value="Popi_popr8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Popref">
- <MemberSignature Language="C#" Value="Popref" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Popref_pop1">
- <MemberSignature Language="C#" Value="Popref_pop1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Popref_popi">
- <MemberSignature Language="C#" Value="Popref_popi" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Popref_popi_popi">
- <MemberSignature Language="C#" Value="Popref_popi_popi" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Popref_popi_popi8">
- <MemberSignature Language="C#" Value="Popref_popi_popi8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Popref_popi_popr4">
- <MemberSignature Language="C#" Value="Popref_popi_popr4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Popref_popi_popr8">
- <MemberSignature Language="C#" Value="Popref_popi_popr8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Popref_popi_popref">
- <MemberSignature Language="C#" Value="Popref_popi_popref" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Push0">
- <MemberSignature Language="C#" Value="Push0" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Push1">
- <MemberSignature Language="C#" Value="Push1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Push1_push1">
- <MemberSignature Language="C#" Value="Push1_push1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Pushi">
- <MemberSignature Language="C#" Value="Pushi" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Pushi8">
- <MemberSignature Language="C#" Value="Pushi8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Pushr4">
- <MemberSignature Language="C#" Value="Pushr4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Pushr8">
- <MemberSignature Language="C#" Value="Pushr8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Pushref">
- <MemberSignature Language="C#" Value="Pushref" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Varpop">
- <MemberSignature Language="C#" Value="Varpop" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Varpush">
- <MemberSignature Language="C#" Value="Varpush" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/VariableDefinition.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/VariableDefinition.xml
deleted file mode 100644
index 260732f5783..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/VariableDefinition.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<Type Name="VariableDefinition" FullName="Mono.Cecil.Cil.VariableDefinition">
- <TypeSignature Language="C#" Value="public sealed class VariableDefinition : Mono.Cecil.Cil.VariableReference" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.Cil.VariableReference</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public VariableDefinition (Mono.Cecil.TypeReference variableType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="variableType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="variableType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public VariableDefinition (string name, int index, Mono.Cecil.MethodDefinition method, Mono.Cecil.TypeReference variableType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="method" Type="Mono.Cecil.MethodDefinition" />
- <Parameter Name="variableType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="index">To be added.</param>
- <param name="method">To be added.</param>
- <param name="variableType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Method">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition Method { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.Cil.VariableDefinition Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.VariableDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/VariableDefinitionCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/VariableDefinitionCollection.xml
deleted file mode 100644
index 718a3dacc7e..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/VariableDefinitionCollection.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<Type Name="VariableDefinitionCollection" FullName="Mono.Cecil.Cil.VariableDefinitionCollection">
- <TypeSignature Language="C#" Value="public sealed class VariableDefinitionCollection : System.Collections.CollectionBase, Mono.Cecil.Cil.ICodeVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public VariableDefinitionCollection (Mono.Cecil.Cil.IVariableDefinitionProvider container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.Cil.IVariableDefinitionProvider" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.Cil.VariableDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Cil.VariableDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.IVariableDefinitionProvider Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.IVariableDefinitionProvider</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.Cil.VariableDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Cil.VariableDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.Cil.VariableDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Cil.VariableDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.Cil.VariableDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.Cil.VariableDefinition" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.VariableDefinition this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.VariableDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.Cil.VariableDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Cil.VariableDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/VariableReference.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/VariableReference.xml
deleted file mode 100644
index 7b972cb8bc5..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Cil/VariableReference.xml
+++ /dev/null
@@ -1,150 +0,0 @@
-<Type Name="VariableReference" FullName="Mono.Cecil.Cil.VariableReference">
- <TypeSignature Language="C#" Value="public abstract class VariableReference : Mono.Cecil.Cil.ICodeVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public VariableReference (Mono.Cecil.TypeReference variableType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="variableType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="variableType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public VariableReference (string name, int index, Mono.Cecil.TypeReference variableType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="variableType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="index">To be added.</param>
- <param name="variableType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public abstract void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Index">
- <MemberSignature Language="C#" Value="public int Index { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public string Name { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public abstract Mono.Cecil.Cil.VariableDefinition Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.VariableDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VariableType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference VariableType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyOSRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyOSRow.xml
deleted file mode 100644
index 4a7d0db56c7..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyOSRow.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="AssemblyOSRow" FullName="Mono.Cecil.Metadata.AssemblyOSRow">
- <TypeSignature Language="C#" Value="public sealed class AssemblyOSRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OSMajorVersion">
- <MemberSignature Language="C#" Value="public uint OSMajorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OSMinorVersion">
- <MemberSignature Language="C#" Value="public uint OSMinorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OSPlatformID">
- <MemberSignature Language="C#" Value="public uint OSPlatformID;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyOSTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyOSTable.xml
deleted file mode 100644
index 0b682727595..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyOSTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="AssemblyOSTable" FullName="Mono.Cecil.Metadata.AssemblyOSTable">
- <TypeSignature Language="C#" Value="public sealed class AssemblyOSTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.AssemblyOSRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.AssemblyOSRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 34;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>34</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyProcessorRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyProcessorRow.xml
deleted file mode 100644
index 4c37b9a8c7d..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyProcessorRow.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<Type Name="AssemblyProcessorRow" FullName="Mono.Cecil.Metadata.AssemblyProcessorRow">
- <TypeSignature Language="C#" Value="public sealed class AssemblyProcessorRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Processor">
- <MemberSignature Language="C#" Value="public uint Processor;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyProcessorTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyProcessorTable.xml
deleted file mode 100644
index ee0377a18ff..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyProcessorTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="AssemblyProcessorTable" FullName="Mono.Cecil.Metadata.AssemblyProcessorTable">
- <TypeSignature Language="C#" Value="public sealed class AssemblyProcessorTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.AssemblyProcessorRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.AssemblyProcessorRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 33;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>33</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefOSRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefOSRow.xml
deleted file mode 100644
index 077d2bfb4dc..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefOSRow.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-<Type Name="AssemblyRefOSRow" FullName="Mono.Cecil.Metadata.AssemblyRefOSRow">
- <TypeSignature Language="C#" Value="public sealed class AssemblyRefOSRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="AssemblyRef">
- <MemberSignature Language="C#" Value="public uint AssemblyRef;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OSMajorVersion">
- <MemberSignature Language="C#" Value="public uint OSMajorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OSMinorVersion">
- <MemberSignature Language="C#" Value="public uint OSMinorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OSPlatformID">
- <MemberSignature Language="C#" Value="public uint OSPlatformID;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefOSTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefOSTable.xml
deleted file mode 100644
index 208c043472b..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefOSTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="AssemblyRefOSTable" FullName="Mono.Cecil.Metadata.AssemblyRefOSTable">
- <TypeSignature Language="C#" Value="public sealed class AssemblyRefOSTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.AssemblyRefOSRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.AssemblyRefOSRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 37;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>37</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefProcessorRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefProcessorRow.xml
deleted file mode 100644
index 829222e8b62..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefProcessorRow.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<Type Name="AssemblyRefProcessorRow" FullName="Mono.Cecil.Metadata.AssemblyRefProcessorRow">
- <TypeSignature Language="C#" Value="public sealed class AssemblyRefProcessorRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="AssemblyRef">
- <MemberSignature Language="C#" Value="public uint AssemblyRef;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Processor">
- <MemberSignature Language="C#" Value="public uint Processor;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefProcessorTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefProcessorTable.xml
deleted file mode 100644
index efad89b6efc..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefProcessorTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="AssemblyRefProcessorTable" FullName="Mono.Cecil.Metadata.AssemblyRefProcessorTable">
- <TypeSignature Language="C#" Value="public sealed class AssemblyRefProcessorTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.AssemblyRefProcessorRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.AssemblyRefProcessorRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 36;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>36</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefRow.xml
deleted file mode 100644
index 0d944667183..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefRow.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-<Type Name="AssemblyRefRow" FullName="Mono.Cecil.Metadata.AssemblyRefRow">
- <TypeSignature Language="C#" Value="public sealed class AssemblyRefRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="BuildNumber">
- <MemberSignature Language="C#" Value="public ushort BuildNumber;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Culture">
- <MemberSignature Language="C#" Value="public uint Culture;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Flags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyFlags Flags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyFlags</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HashValue">
- <MemberSignature Language="C#" Value="public uint HashValue;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MajorVersion">
- <MemberSignature Language="C#" Value="public ushort MajorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MinorVersion">
- <MemberSignature Language="C#" Value="public ushort MinorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public uint Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PublicKeyOrToken">
- <MemberSignature Language="C#" Value="public uint PublicKeyOrToken;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RevisionNumber">
- <MemberSignature Language="C#" Value="public ushort RevisionNumber;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefTable.xml
deleted file mode 100644
index 8e020ea51e9..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRefTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="AssemblyRefTable" FullName="Mono.Cecil.Metadata.AssemblyRefTable">
- <TypeSignature Language="C#" Value="public sealed class AssemblyRefTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.AssemblyRefRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.AssemblyRefRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 35;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>35</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRow.xml
deleted file mode 100644
index 7c8903de26c..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyRow.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-<Type Name="AssemblyRow" FullName="Mono.Cecil.Metadata.AssemblyRow">
- <TypeSignature Language="C#" Value="public sealed class AssemblyRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="BuildNumber">
- <MemberSignature Language="C#" Value="public ushort BuildNumber;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Culture">
- <MemberSignature Language="C#" Value="public uint Culture;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Flags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyFlags Flags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyFlags</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HashAlgId">
- <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyHashAlgorithm HashAlgId;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyHashAlgorithm</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MajorVersion">
- <MemberSignature Language="C#" Value="public ushort MajorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MinorVersion">
- <MemberSignature Language="C#" Value="public ushort MinorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public uint Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PublicKey">
- <MemberSignature Language="C#" Value="public uint PublicKey;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RevisionNumber">
- <MemberSignature Language="C#" Value="public ushort RevisionNumber;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyTable.xml
deleted file mode 100644
index c01643993a0..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/AssemblyTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="AssemblyTable" FullName="Mono.Cecil.Metadata.AssemblyTable">
- <TypeSignature Language="C#" Value="public sealed class AssemblyTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.AssemblyRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.AssemblyRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 32;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>32</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/BaseMetadataRowVisitor.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/BaseMetadataRowVisitor.xml
deleted file mode 100644
index 4202fa5acea..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/BaseMetadataRowVisitor.xml
+++ /dev/null
@@ -1,843 +0,0 @@
-<Type Name="BaseMetadataRowVisitor" FullName="Mono.Cecil.Metadata.BaseMetadataRowVisitor">
- <TypeSignature Language="C#" Value="public abstract class BaseMetadataRowVisitor : Mono.Cecil.Metadata.IMetadataRowVisitor" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRowVisitor</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="protected BaseMetadataRowVisitor ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TerminateRowCollection">
- <MemberSignature Language="C#" Value="public virtual void TerminateRowCollection (Mono.Cecil.Metadata.RowCollection coll);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="coll" Type="Mono.Cecil.Metadata.RowCollection" />
- </Parameters>
- <Docs>
- <param name="coll">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyOSRow">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyOSRow (Mono.Cecil.Metadata.AssemblyOSRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyOSRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyProcessorRow">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyProcessorRow (Mono.Cecil.Metadata.AssemblyProcessorRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyProcessorRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyRefOSRow">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyRefOSRow (Mono.Cecil.Metadata.AssemblyRefOSRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyRefOSRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyRefProcessorRow">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyRefProcessorRow (Mono.Cecil.Metadata.AssemblyRefProcessorRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyRefProcessorRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyRefRow">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyRefRow (Mono.Cecil.Metadata.AssemblyRefRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyRefRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyRow">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyRow (Mono.Cecil.Metadata.AssemblyRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitClassLayoutRow">
- <MemberSignature Language="C#" Value="public virtual void VisitClassLayoutRow (Mono.Cecil.Metadata.ClassLayoutRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ClassLayoutRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitConstantRow">
- <MemberSignature Language="C#" Value="public virtual void VisitConstantRow (Mono.Cecil.Metadata.ConstantRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ConstantRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitCustomAttributeRow">
- <MemberSignature Language="C#" Value="public virtual void VisitCustomAttributeRow (Mono.Cecil.Metadata.CustomAttributeRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.CustomAttributeRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitDeclSecurityRow">
- <MemberSignature Language="C#" Value="public virtual void VisitDeclSecurityRow (Mono.Cecil.Metadata.DeclSecurityRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.DeclSecurityRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEventMapRow">
- <MemberSignature Language="C#" Value="public virtual void VisitEventMapRow (Mono.Cecil.Metadata.EventMapRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.EventMapRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEventPtrRow">
- <MemberSignature Language="C#" Value="public virtual void VisitEventPtrRow (Mono.Cecil.Metadata.EventPtrRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.EventPtrRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEventRow">
- <MemberSignature Language="C#" Value="public virtual void VisitEventRow (Mono.Cecil.Metadata.EventRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.EventRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitExportedTypeRow">
- <MemberSignature Language="C#" Value="public virtual void VisitExportedTypeRow (Mono.Cecil.Metadata.ExportedTypeRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ExportedTypeRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldLayoutRow">
- <MemberSignature Language="C#" Value="public virtual void VisitFieldLayoutRow (Mono.Cecil.Metadata.FieldLayoutRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldLayoutRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldMarshalRow">
- <MemberSignature Language="C#" Value="public virtual void VisitFieldMarshalRow (Mono.Cecil.Metadata.FieldMarshalRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldMarshalRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldPtrRow">
- <MemberSignature Language="C#" Value="public virtual void VisitFieldPtrRow (Mono.Cecil.Metadata.FieldPtrRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldPtrRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldRow">
- <MemberSignature Language="C#" Value="public virtual void VisitFieldRow (Mono.Cecil.Metadata.FieldRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldRVARow">
- <MemberSignature Language="C#" Value="public virtual void VisitFieldRVARow (Mono.Cecil.Metadata.FieldRVARow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldRVARow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFileRow">
- <MemberSignature Language="C#" Value="public virtual void VisitFileRow (Mono.Cecil.Metadata.FileRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.FileRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitGenericParamConstraintRow">
- <MemberSignature Language="C#" Value="public virtual void VisitGenericParamConstraintRow (Mono.Cecil.Metadata.GenericParamConstraintRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.GenericParamConstraintRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitGenericParamRow">
- <MemberSignature Language="C#" Value="public virtual void VisitGenericParamRow (Mono.Cecil.Metadata.GenericParamRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.GenericParamRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitImplMapRow">
- <MemberSignature Language="C#" Value="public virtual void VisitImplMapRow (Mono.Cecil.Metadata.ImplMapRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ImplMapRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitInterfaceImplRow">
- <MemberSignature Language="C#" Value="public virtual void VisitInterfaceImplRow (Mono.Cecil.Metadata.InterfaceImplRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.InterfaceImplRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitManifestResourceRow">
- <MemberSignature Language="C#" Value="public virtual void VisitManifestResourceRow (Mono.Cecil.Metadata.ManifestResourceRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ManifestResourceRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMemberRefRow">
- <MemberSignature Language="C#" Value="public virtual void VisitMemberRefRow (Mono.Cecil.Metadata.MemberRefRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.MemberRefRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodImplRow">
- <MemberSignature Language="C#" Value="public virtual void VisitMethodImplRow (Mono.Cecil.Metadata.MethodImplRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodImplRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodPtrRow">
- <MemberSignature Language="C#" Value="public virtual void VisitMethodPtrRow (Mono.Cecil.Metadata.MethodPtrRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodPtrRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodRow">
- <MemberSignature Language="C#" Value="public virtual void VisitMethodRow (Mono.Cecil.Metadata.MethodRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodSemanticsRow">
- <MemberSignature Language="C#" Value="public virtual void VisitMethodSemanticsRow (Mono.Cecil.Metadata.MethodSemanticsRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodSemanticsRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodSpecRow">
- <MemberSignature Language="C#" Value="public virtual void VisitMethodSpecRow (Mono.Cecil.Metadata.MethodSpecRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodSpecRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleRefRow">
- <MemberSignature Language="C#" Value="public virtual void VisitModuleRefRow (Mono.Cecil.Metadata.ModuleRefRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ModuleRefRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleRow">
- <MemberSignature Language="C#" Value="public virtual void VisitModuleRow (Mono.Cecil.Metadata.ModuleRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ModuleRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitNestedClassRow">
- <MemberSignature Language="C#" Value="public virtual void VisitNestedClassRow (Mono.Cecil.Metadata.NestedClassRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.NestedClassRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitParamPtrRow">
- <MemberSignature Language="C#" Value="public virtual void VisitParamPtrRow (Mono.Cecil.Metadata.ParamPtrRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ParamPtrRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitParamRow">
- <MemberSignature Language="C#" Value="public virtual void VisitParamRow (Mono.Cecil.Metadata.ParamRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ParamRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPropertyMapRow">
- <MemberSignature Language="C#" Value="public virtual void VisitPropertyMapRow (Mono.Cecil.Metadata.PropertyMapRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.PropertyMapRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPropertyPtrRow">
- <MemberSignature Language="C#" Value="public virtual void VisitPropertyPtrRow (Mono.Cecil.Metadata.PropertyPtrRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.PropertyPtrRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPropertyRow">
- <MemberSignature Language="C#" Value="public virtual void VisitPropertyRow (Mono.Cecil.Metadata.PropertyRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.PropertyRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitRowCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitRowCollection (Mono.Cecil.Metadata.RowCollection coll);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="coll" Type="Mono.Cecil.Metadata.RowCollection" />
- </Parameters>
- <Docs>
- <param name="coll">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitStandAloneSigRow">
- <MemberSignature Language="C#" Value="public virtual void VisitStandAloneSigRow (Mono.Cecil.Metadata.StandAloneSigRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.StandAloneSigRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeDefRow">
- <MemberSignature Language="C#" Value="public virtual void VisitTypeDefRow (Mono.Cecil.Metadata.TypeDefRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.TypeDefRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeRefRow">
- <MemberSignature Language="C#" Value="public virtual void VisitTypeRefRow (Mono.Cecil.Metadata.TypeRefRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.TypeRefRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeSpecRow">
- <MemberSignature Language="C#" Value="public virtual void VisitTypeSpecRow (Mono.Cecil.Metadata.TypeSpecRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.TypeSpecRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/BaseMetadataTableVisitor.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/BaseMetadataTableVisitor.xml
deleted file mode 100644
index 32f511cc839..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/BaseMetadataTableVisitor.xml
+++ /dev/null
@@ -1,859 +0,0 @@
-<Type Name="BaseMetadataTableVisitor" FullName="Mono.Cecil.Metadata.BaseMetadataTableVisitor">
- <TypeSignature Language="C#" Value="public abstract class BaseMetadataTableVisitor : Mono.Cecil.Metadata.IMetadataTableVisitor" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTableVisitor</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="protected BaseMetadataTableVisitor ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetRowVisitor">
- <MemberSignature Language="C#" Value="public abstract Mono.Cecil.Metadata.IMetadataRowVisitor GetRowVisitor ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.IMetadataRowVisitor</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TerminateTableCollection">
- <MemberSignature Language="C#" Value="public virtual void TerminateTableCollection (Mono.Cecil.Metadata.TableCollection coll);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="coll" Type="Mono.Cecil.Metadata.TableCollection" />
- </Parameters>
- <Docs>
- <param name="coll">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyOSTable">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyOSTable (Mono.Cecil.Metadata.AssemblyOSTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyOSTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyProcessorTable">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyProcessorTable (Mono.Cecil.Metadata.AssemblyProcessorTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyProcessorTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyRefOSTable">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyRefOSTable (Mono.Cecil.Metadata.AssemblyRefOSTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyRefOSTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyRefProcessorTable">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyRefProcessorTable (Mono.Cecil.Metadata.AssemblyRefProcessorTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyRefProcessorTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyRefTable">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyRefTable (Mono.Cecil.Metadata.AssemblyRefTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyRefTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyTable">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyTable (Mono.Cecil.Metadata.AssemblyTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitClassLayoutTable">
- <MemberSignature Language="C#" Value="public virtual void VisitClassLayoutTable (Mono.Cecil.Metadata.ClassLayoutTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ClassLayoutTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitConstantTable">
- <MemberSignature Language="C#" Value="public virtual void VisitConstantTable (Mono.Cecil.Metadata.ConstantTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ConstantTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitCustomAttributeTable">
- <MemberSignature Language="C#" Value="public virtual void VisitCustomAttributeTable (Mono.Cecil.Metadata.CustomAttributeTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.CustomAttributeTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitDeclSecurityTable">
- <MemberSignature Language="C#" Value="public virtual void VisitDeclSecurityTable (Mono.Cecil.Metadata.DeclSecurityTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.DeclSecurityTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEventMapTable">
- <MemberSignature Language="C#" Value="public virtual void VisitEventMapTable (Mono.Cecil.Metadata.EventMapTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.EventMapTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEventPtrTable">
- <MemberSignature Language="C#" Value="public virtual void VisitEventPtrTable (Mono.Cecil.Metadata.EventPtrTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.EventPtrTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEventTable">
- <MemberSignature Language="C#" Value="public virtual void VisitEventTable (Mono.Cecil.Metadata.EventTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.EventTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitExportedTypeTable">
- <MemberSignature Language="C#" Value="public virtual void VisitExportedTypeTable (Mono.Cecil.Metadata.ExportedTypeTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ExportedTypeTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldLayoutTable">
- <MemberSignature Language="C#" Value="public virtual void VisitFieldLayoutTable (Mono.Cecil.Metadata.FieldLayoutTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldLayoutTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldMarshalTable">
- <MemberSignature Language="C#" Value="public virtual void VisitFieldMarshalTable (Mono.Cecil.Metadata.FieldMarshalTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldMarshalTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldPtrTable">
- <MemberSignature Language="C#" Value="public virtual void VisitFieldPtrTable (Mono.Cecil.Metadata.FieldPtrTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldPtrTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldRVATable">
- <MemberSignature Language="C#" Value="public virtual void VisitFieldRVATable (Mono.Cecil.Metadata.FieldRVATable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldRVATable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldTable">
- <MemberSignature Language="C#" Value="public virtual void VisitFieldTable (Mono.Cecil.Metadata.FieldTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFileTable">
- <MemberSignature Language="C#" Value="public virtual void VisitFileTable (Mono.Cecil.Metadata.FileTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.FileTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitGenericParamConstraintTable">
- <MemberSignature Language="C#" Value="public virtual void VisitGenericParamConstraintTable (Mono.Cecil.Metadata.GenericParamConstraintTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.GenericParamConstraintTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitGenericParamTable">
- <MemberSignature Language="C#" Value="public virtual void VisitGenericParamTable (Mono.Cecil.Metadata.GenericParamTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.GenericParamTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitImplMapTable">
- <MemberSignature Language="C#" Value="public virtual void VisitImplMapTable (Mono.Cecil.Metadata.ImplMapTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ImplMapTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitInterfaceImplTable">
- <MemberSignature Language="C#" Value="public virtual void VisitInterfaceImplTable (Mono.Cecil.Metadata.InterfaceImplTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.InterfaceImplTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitManifestResourceTable">
- <MemberSignature Language="C#" Value="public virtual void VisitManifestResourceTable (Mono.Cecil.Metadata.ManifestResourceTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ManifestResourceTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMemberRefTable">
- <MemberSignature Language="C#" Value="public virtual void VisitMemberRefTable (Mono.Cecil.Metadata.MemberRefTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.MemberRefTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodImplTable">
- <MemberSignature Language="C#" Value="public virtual void VisitMethodImplTable (Mono.Cecil.Metadata.MethodImplTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodImplTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodPtrTable">
- <MemberSignature Language="C#" Value="public virtual void VisitMethodPtrTable (Mono.Cecil.Metadata.MethodPtrTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodPtrTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodSemanticsTable">
- <MemberSignature Language="C#" Value="public virtual void VisitMethodSemanticsTable (Mono.Cecil.Metadata.MethodSemanticsTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodSemanticsTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodSpecTable">
- <MemberSignature Language="C#" Value="public virtual void VisitMethodSpecTable (Mono.Cecil.Metadata.MethodSpecTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodSpecTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodTable">
- <MemberSignature Language="C#" Value="public virtual void VisitMethodTable (Mono.Cecil.Metadata.MethodTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleRefTable">
- <MemberSignature Language="C#" Value="public virtual void VisitModuleRefTable (Mono.Cecil.Metadata.ModuleRefTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ModuleRefTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleTable">
- <MemberSignature Language="C#" Value="public virtual void VisitModuleTable (Mono.Cecil.Metadata.ModuleTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ModuleTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitNestedClassTable">
- <MemberSignature Language="C#" Value="public virtual void VisitNestedClassTable (Mono.Cecil.Metadata.NestedClassTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.NestedClassTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitParamPtrTable">
- <MemberSignature Language="C#" Value="public virtual void VisitParamPtrTable (Mono.Cecil.Metadata.ParamPtrTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ParamPtrTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitParamTable">
- <MemberSignature Language="C#" Value="public virtual void VisitParamTable (Mono.Cecil.Metadata.ParamTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ParamTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPropertyMapTable">
- <MemberSignature Language="C#" Value="public virtual void VisitPropertyMapTable (Mono.Cecil.Metadata.PropertyMapTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.PropertyMapTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPropertyPtrTable">
- <MemberSignature Language="C#" Value="public virtual void VisitPropertyPtrTable (Mono.Cecil.Metadata.PropertyPtrTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.PropertyPtrTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPropertyTable">
- <MemberSignature Language="C#" Value="public virtual void VisitPropertyTable (Mono.Cecil.Metadata.PropertyTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.PropertyTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitStandAloneSigTable">
- <MemberSignature Language="C#" Value="public virtual void VisitStandAloneSigTable (Mono.Cecil.Metadata.StandAloneSigTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.StandAloneSigTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTableCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitTableCollection (Mono.Cecil.Metadata.TableCollection coll);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="coll" Type="Mono.Cecil.Metadata.TableCollection" />
- </Parameters>
- <Docs>
- <param name="coll">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeDefTable">
- <MemberSignature Language="C#" Value="public virtual void VisitTypeDefTable (Mono.Cecil.Metadata.TypeDefTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.TypeDefTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeRefTable">
- <MemberSignature Language="C#" Value="public virtual void VisitTypeRefTable (Mono.Cecil.Metadata.TypeRefTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.TypeRefTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeSpecTable">
- <MemberSignature Language="C#" Value="public virtual void VisitTypeSpecTable (Mono.Cecil.Metadata.TypeSpecTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.TypeSpecTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/BaseMetadataVisitor.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/BaseMetadataVisitor.xml
deleted file mode 100644
index 97f0740e2cc..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/BaseMetadataVisitor.xml
+++ /dev/null
@@ -1,231 +0,0 @@
-<Type Name="BaseMetadataVisitor" FullName="Mono.Cecil.Metadata.BaseMetadataVisitor">
- <TypeSignature Language="C#" Value="public abstract class BaseMetadataVisitor : Mono.Cecil.Metadata.IMetadataVisitor" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataVisitor</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="protected BaseMetadataVisitor ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TerminateMetadataRoot">
- <MemberSignature Language="C#" Value="public virtual void TerminateMetadataRoot (Mono.Cecil.Metadata.MetadataRoot root);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="root" Type="Mono.Cecil.Metadata.MetadataRoot" />
- </Parameters>
- <Docs>
- <param name="root">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitBlobHeap">
- <MemberSignature Language="C#" Value="public virtual void VisitBlobHeap (Mono.Cecil.Metadata.BlobHeap heap);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="heap" Type="Mono.Cecil.Metadata.BlobHeap" />
- </Parameters>
- <Docs>
- <param name="heap">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitGuidHeap">
- <MemberSignature Language="C#" Value="public virtual void VisitGuidHeap (Mono.Cecil.Metadata.GuidHeap heap);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="heap" Type="Mono.Cecil.Metadata.GuidHeap" />
- </Parameters>
- <Docs>
- <param name="heap">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMetadataRoot">
- <MemberSignature Language="C#" Value="public virtual void VisitMetadataRoot (Mono.Cecil.Metadata.MetadataRoot root);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="root" Type="Mono.Cecil.Metadata.MetadataRoot" />
- </Parameters>
- <Docs>
- <param name="root">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMetadataRootHeader">
- <MemberSignature Language="C#" Value="public virtual void VisitMetadataRootHeader (Mono.Cecil.Metadata.MetadataRoot.MetadataRootHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Metadata.MetadataRoot+MetadataRootHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMetadataStream">
- <MemberSignature Language="C#" Value="public virtual void VisitMetadataStream (Mono.Cecil.Metadata.MetadataStream stream);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="stream" Type="Mono.Cecil.Metadata.MetadataStream" />
- </Parameters>
- <Docs>
- <param name="stream">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMetadataStreamCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitMetadataStreamCollection (Mono.Cecil.Metadata.MetadataStreamCollection streams);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="streams" Type="Mono.Cecil.Metadata.MetadataStreamCollection" />
- </Parameters>
- <Docs>
- <param name="streams">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMetadataStreamHeader">
- <MemberSignature Language="C#" Value="public virtual void VisitMetadataStreamHeader (Mono.Cecil.Metadata.MetadataStream.MetadataStreamHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Metadata.MetadataStream+MetadataStreamHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitStringsHeap">
- <MemberSignature Language="C#" Value="public virtual void VisitStringsHeap (Mono.Cecil.Metadata.StringsHeap heap);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="heap" Type="Mono.Cecil.Metadata.StringsHeap" />
- </Parameters>
- <Docs>
- <param name="heap">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTablesHeap">
- <MemberSignature Language="C#" Value="public virtual void VisitTablesHeap (Mono.Cecil.Metadata.TablesHeap heap);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="heap" Type="Mono.Cecil.Metadata.TablesHeap" />
- </Parameters>
- <Docs>
- <param name="heap">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitUserStringsHeap">
- <MemberSignature Language="C#" Value="public virtual void VisitUserStringsHeap (Mono.Cecil.Metadata.UserStringsHeap heap);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="heap" Type="Mono.Cecil.Metadata.UserStringsHeap" />
- </Parameters>
- <Docs>
- <param name="heap">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/BlobHeap.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/BlobHeap.xml
deleted file mode 100644
index 7e17c1b4478..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/BlobHeap.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<Type Name="BlobHeap" FullName="Mono.Cecil.Metadata.BlobHeap">
- <TypeSignature Language="C#" Value="public class BlobHeap : Mono.Cecil.Metadata.MetadataHeap" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.Metadata.MetadataHeap</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetReader">
- <MemberSignature Language="C#" Value="public System.IO.BinaryReader GetReader (uint index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.IO.BinaryReader</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.UInt32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Read">
- <MemberSignature Language="C#" Value="public byte[] Read (uint index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.UInt32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ClassLayoutRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ClassLayoutRow.xml
deleted file mode 100644
index f382c29f61a..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ClassLayoutRow.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="ClassLayoutRow" FullName="Mono.Cecil.Metadata.ClassLayoutRow">
- <TypeSignature Language="C#" Value="public sealed class ClassLayoutRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ClassSize">
- <MemberSignature Language="C#" Value="public uint ClassSize;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PackingSize">
- <MemberSignature Language="C#" Value="public ushort PackingSize;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Parent">
- <MemberSignature Language="C#" Value="public uint Parent;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ClassLayoutTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ClassLayoutTable.xml
deleted file mode 100644
index 8e421ab0382..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ClassLayoutTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="ClassLayoutTable" FullName="Mono.Cecil.Metadata.ClassLayoutTable">
- <TypeSignature Language="C#" Value="public sealed class ClassLayoutTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ClassLayoutRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ClassLayoutRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 15;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>15</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/CodedIndex.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/CodedIndex.xml
deleted file mode 100644
index 5b029e82765..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/CodedIndex.xml
+++ /dev/null
@@ -1,185 +0,0 @@
-<Type Name="CodedIndex" FullName="Mono.Cecil.Metadata.CodedIndex">
- <TypeSignature Language="C#" Value="public enum CodedIndex" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="CustomAttributeType">
- <MemberSignature Language="C#" Value="CustomAttributeType" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="HasConstant">
- <MemberSignature Language="C#" Value="HasConstant" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="HasCustomAttribute">
- <MemberSignature Language="C#" Value="HasCustomAttribute" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="HasDeclSecurity">
- <MemberSignature Language="C#" Value="HasDeclSecurity" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="HasFieldMarshal">
- <MemberSignature Language="C#" Value="HasFieldMarshal" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="HasSemantics">
- <MemberSignature Language="C#" Value="HasSemantics" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Implementation">
- <MemberSignature Language="C#" Value="Implementation" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MemberForwarded">
- <MemberSignature Language="C#" Value="MemberForwarded" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MemberRefParent">
- <MemberSignature Language="C#" Value="MemberRefParent" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MethodDefOrRef">
- <MemberSignature Language="C#" Value="MethodDefOrRef" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ResolutionScope">
- <MemberSignature Language="C#" Value="ResolutionScope" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="TypeDefOrRef">
- <MemberSignature Language="C#" Value="TypeDefOrRef" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="TypeOrMethodDef">
- <MemberSignature Language="C#" Value="TypeOrMethodDef" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ConstantRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ConstantRow.xml
deleted file mode 100644
index 391ee3492b7..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ConstantRow.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="ConstantRow" FullName="Mono.Cecil.Metadata.ConstantRow">
- <TypeSignature Language="C#" Value="public sealed class ConstantRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Parent">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Parent;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Type">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ElementType Type;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Value">
- <MemberSignature Language="C#" Value="public uint Value;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ConstantTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ConstantTable.xml
deleted file mode 100644
index 5ee87aa35d2..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ConstantTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="ConstantTable" FullName="Mono.Cecil.Metadata.ConstantTable">
- <TypeSignature Language="C#" Value="public sealed class ConstantTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ConstantRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ConstantRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 11;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>11</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/CustomAttributeRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/CustomAttributeRow.xml
deleted file mode 100644
index b5b36c9c83e..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/CustomAttributeRow.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="CustomAttributeRow" FullName="Mono.Cecil.Metadata.CustomAttributeRow">
- <TypeSignature Language="C#" Value="public sealed class CustomAttributeRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Parent">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Parent;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Type">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Type;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Value">
- <MemberSignature Language="C#" Value="public uint Value;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/CustomAttributeTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/CustomAttributeTable.xml
deleted file mode 100644
index 6b3dc484674..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/CustomAttributeTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="CustomAttributeTable" FullName="Mono.Cecil.Metadata.CustomAttributeTable">
- <TypeSignature Language="C#" Value="public sealed class CustomAttributeTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.CustomAttributeRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.CustomAttributeRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 12;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>12</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/DeclSecurityRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/DeclSecurityRow.xml
deleted file mode 100644
index 2d7f6c0d510..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/DeclSecurityRow.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="DeclSecurityRow" FullName="Mono.Cecil.Metadata.DeclSecurityRow">
- <TypeSignature Language="C#" Value="public sealed class DeclSecurityRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Action">
- <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityAction Action;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Parent">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Parent;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PermissionSet">
- <MemberSignature Language="C#" Value="public uint PermissionSet;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/DeclSecurityTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/DeclSecurityTable.xml
deleted file mode 100644
index 2b0e6c4388a..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/DeclSecurityTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="DeclSecurityTable" FullName="Mono.Cecil.Metadata.DeclSecurityTable">
- <TypeSignature Language="C#" Value="public sealed class DeclSecurityTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.DeclSecurityRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.DeclSecurityRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 14;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>14</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ElementType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ElementType.xml
deleted file mode 100644
index b6f60c45367..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ElementType.xml
+++ /dev/null
@@ -1,510 +0,0 @@
-<Type Name="ElementType" FullName="Mono.Cecil.Metadata.ElementType">
- <TypeSignature Language="C#" Value="public enum ElementType" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Array">
- <MemberSignature Language="C#" Value="Array" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Boolean">
- <MemberSignature Language="C#" Value="Boolean" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Boxed">
- <MemberSignature Language="C#" Value="Boxed" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ByRef">
- <MemberSignature Language="C#" Value="ByRef" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Char">
- <MemberSignature Language="C#" Value="Char" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Class">
- <MemberSignature Language="C#" Value="Class" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CModOpt">
- <MemberSignature Language="C#" Value="CModOpt" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CModReqD">
- <MemberSignature Language="C#" Value="CModReqD" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="End">
- <MemberSignature Language="C#" Value="End" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Enum">
- <MemberSignature Language="C#" Value="Enum" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="FnPtr">
- <MemberSignature Language="C#" Value="FnPtr" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="GenericInst">
- <MemberSignature Language="C#" Value="GenericInst" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="I">
- <MemberSignature Language="C#" Value="I" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="I1">
- <MemberSignature Language="C#" Value="I1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="I2">
- <MemberSignature Language="C#" Value="I2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="I4">
- <MemberSignature Language="C#" Value="I4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="I8">
- <MemberSignature Language="C#" Value="I8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Internal">
- <MemberSignature Language="C#" Value="Internal" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Modifier">
- <MemberSignature Language="C#" Value="Modifier" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MVar">
- <MemberSignature Language="C#" Value="MVar" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Object">
- <MemberSignature Language="C#" Value="Object" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Pinned">
- <MemberSignature Language="C#" Value="Pinned" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Ptr">
- <MemberSignature Language="C#" Value="Ptr" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="R4">
- <MemberSignature Language="C#" Value="R4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="R8">
- <MemberSignature Language="C#" Value="R8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Sentinel">
- <MemberSignature Language="C#" Value="Sentinel" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="String">
- <MemberSignature Language="C#" Value="String" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="SzArray">
- <MemberSignature Language="C#" Value="SzArray" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Type">
- <MemberSignature Language="C#" Value="Type" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="TypedByRef">
- <MemberSignature Language="C#" Value="TypedByRef" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="U">
- <MemberSignature Language="C#" Value="U" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="U1">
- <MemberSignature Language="C#" Value="U1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="U2">
- <MemberSignature Language="C#" Value="U2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="U4">
- <MemberSignature Language="C#" Value="U4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="U8">
- <MemberSignature Language="C#" Value="U8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ValueType">
- <MemberSignature Language="C#" Value="ValueType" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Var">
- <MemberSignature Language="C#" Value="Var" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Void">
- <MemberSignature Language="C#" Value="Void" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventMapRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventMapRow.xml
deleted file mode 100644
index 26803004e63..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventMapRow.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<Type Name="EventMapRow" FullName="Mono.Cecil.Metadata.EventMapRow">
- <TypeSignature Language="C#" Value="public sealed class EventMapRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="EventList">
- <MemberSignature Language="C#" Value="public uint EventList;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Parent">
- <MemberSignature Language="C#" Value="public uint Parent;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventMapTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventMapTable.xml
deleted file mode 100644
index 012db89d62b..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventMapTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="EventMapTable" FullName="Mono.Cecil.Metadata.EventMapTable">
- <TypeSignature Language="C#" Value="public sealed class EventMapTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.EventMapRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.EventMapRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 18;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>18</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventPtrRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventPtrRow.xml
deleted file mode 100644
index 11fe3c83b31..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventPtrRow.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<Type Name="EventPtrRow" FullName="Mono.Cecil.Metadata.EventPtrRow">
- <TypeSignature Language="C#" Value="public sealed class EventPtrRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Event">
- <MemberSignature Language="C#" Value="public uint Event;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventPtrTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventPtrTable.xml
deleted file mode 100644
index 939b9e6975e..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventPtrTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="EventPtrTable" FullName="Mono.Cecil.Metadata.EventPtrTable">
- <TypeSignature Language="C#" Value="public sealed class EventPtrTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.EventPtrRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.EventPtrRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 19;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>19</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventRow.xml
deleted file mode 100644
index 4d79666c7ea..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventRow.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="EventRow" FullName="Mono.Cecil.Metadata.EventRow">
- <TypeSignature Language="C#" Value="public sealed class EventRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="EventFlags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.EventAttributes EventFlags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.EventAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="EventType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken EventType;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public uint Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventTable.xml
deleted file mode 100644
index 85169c5ee8a..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/EventTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="EventTable" FullName="Mono.Cecil.Metadata.EventTable">
- <TypeSignature Language="C#" Value="public sealed class EventTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.EventRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.EventRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 20;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>20</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ExportedTypeRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ExportedTypeRow.xml
deleted file mode 100644
index 2ed7c035ef4..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ExportedTypeRow.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<Type Name="ExportedTypeRow" FullName="Mono.Cecil.Metadata.ExportedTypeRow">
- <TypeSignature Language="C#" Value="public sealed class ExportedTypeRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Flags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeAttributes Flags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Implementation">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Implementation;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TypeDefId">
- <MemberSignature Language="C#" Value="public uint TypeDefId;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TypeName">
- <MemberSignature Language="C#" Value="public uint TypeName;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TypeNamespace">
- <MemberSignature Language="C#" Value="public uint TypeNamespace;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ExportedTypeTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ExportedTypeTable.xml
deleted file mode 100644
index 0cd81f08e27..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ExportedTypeTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="ExportedTypeTable" FullName="Mono.Cecil.Metadata.ExportedTypeTable">
- <TypeSignature Language="C#" Value="public sealed class ExportedTypeTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ExportedTypeRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ExportedTypeRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 39;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>39</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldLayoutRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldLayoutRow.xml
deleted file mode 100644
index e414b52727e..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldLayoutRow.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<Type Name="FieldLayoutRow" FullName="Mono.Cecil.Metadata.FieldLayoutRow">
- <TypeSignature Language="C#" Value="public sealed class FieldLayoutRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Field">
- <MemberSignature Language="C#" Value="public uint Field;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Offset">
- <MemberSignature Language="C#" Value="public uint Offset;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldLayoutTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldLayoutTable.xml
deleted file mode 100644
index 9893e91da19..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldLayoutTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="FieldLayoutTable" FullName="Mono.Cecil.Metadata.FieldLayoutTable">
- <TypeSignature Language="C#" Value="public sealed class FieldLayoutTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.FieldLayoutRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.FieldLayoutRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 16;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>16</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldMarshalRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldMarshalRow.xml
deleted file mode 100644
index 3e524e03b03..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldMarshalRow.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<Type Name="FieldMarshalRow" FullName="Mono.Cecil.Metadata.FieldMarshalRow">
- <TypeSignature Language="C#" Value="public sealed class FieldMarshalRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NativeType">
- <MemberSignature Language="C#" Value="public uint NativeType;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Parent">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Parent;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldMarshalTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldMarshalTable.xml
deleted file mode 100644
index 72842386671..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldMarshalTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="FieldMarshalTable" FullName="Mono.Cecil.Metadata.FieldMarshalTable">
- <TypeSignature Language="C#" Value="public sealed class FieldMarshalTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.FieldMarshalRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.FieldMarshalRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 13;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>13</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldPtrRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldPtrRow.xml
deleted file mode 100644
index 94ebc219f37..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldPtrRow.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<Type Name="FieldPtrRow" FullName="Mono.Cecil.Metadata.FieldPtrRow">
- <TypeSignature Language="C#" Value="public sealed class FieldPtrRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Field">
- <MemberSignature Language="C#" Value="public uint Field;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldPtrTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldPtrTable.xml
deleted file mode 100644
index 586c3547c3f..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldPtrTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="FieldPtrTable" FullName="Mono.Cecil.Metadata.FieldPtrTable">
- <TypeSignature Language="C#" Value="public sealed class FieldPtrTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.FieldPtrRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.FieldPtrRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 3;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>3</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldRVARow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldRVARow.xml
deleted file mode 100644
index 0a3e096710a..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldRVARow.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<Type Name="FieldRVARow" FullName="Mono.Cecil.Metadata.FieldRVARow">
- <TypeSignature Language="C#" Value="public sealed class FieldRVARow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Field">
- <MemberSignature Language="C#" Value="public uint Field;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RVA">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA RVA;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldRVATable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldRVATable.xml
deleted file mode 100644
index e136cdb2a39..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldRVATable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="FieldRVATable" FullName="Mono.Cecil.Metadata.FieldRVATable">
- <TypeSignature Language="C#" Value="public sealed class FieldRVATable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.FieldRVARow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.FieldRVARow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 29;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>29</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldRow.xml
deleted file mode 100644
index 2a2a97f3555..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldRow.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="FieldRow" FullName="Mono.Cecil.Metadata.FieldRow">
- <TypeSignature Language="C#" Value="public sealed class FieldRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Flags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FieldAttributes Flags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public uint Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Signature">
- <MemberSignature Language="C#" Value="public uint Signature;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldTable.xml
deleted file mode 100644
index 72f094bc44b..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FieldTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="FieldTable" FullName="Mono.Cecil.Metadata.FieldTable">
- <TypeSignature Language="C#" Value="public sealed class FieldTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.FieldRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.FieldRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 4;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>4</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FileRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FileRow.xml
deleted file mode 100644
index 15b6daf1a3e..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FileRow.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="FileRow" FullName="Mono.Cecil.Metadata.FileRow">
- <TypeSignature Language="C#" Value="public sealed class FileRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Flags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FileAttributes Flags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FileAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HashValue">
- <MemberSignature Language="C#" Value="public uint HashValue;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public uint Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FileTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FileTable.xml
deleted file mode 100644
index c200834c756..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/FileTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="FileTable" FullName="Mono.Cecil.Metadata.FileTable">
- <TypeSignature Language="C#" Value="public sealed class FileTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.FileRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.FileRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 38;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>38</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GenericParamConstraintRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GenericParamConstraintRow.xml
deleted file mode 100644
index db32c23218a..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GenericParamConstraintRow.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<Type Name="GenericParamConstraintRow" FullName="Mono.Cecil.Metadata.GenericParamConstraintRow">
- <TypeSignature Language="C#" Value="public sealed class GenericParamConstraintRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Constraint">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Constraint;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Owner">
- <MemberSignature Language="C#" Value="public uint Owner;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GenericParamConstraintTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GenericParamConstraintTable.xml
deleted file mode 100644
index bac4ab3dd6d..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GenericParamConstraintTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="GenericParamConstraintTable" FullName="Mono.Cecil.Metadata.GenericParamConstraintTable">
- <TypeSignature Language="C#" Value="public sealed class GenericParamConstraintTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.GenericParamConstraintRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.GenericParamConstraintRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 44;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>44</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GenericParamRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GenericParamRow.xml
deleted file mode 100644
index 558c5f79a30..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GenericParamRow.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-<Type Name="GenericParamRow" FullName="Mono.Cecil.Metadata.GenericParamRow">
- <TypeSignature Language="C#" Value="public sealed class GenericParamRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Flags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.GenericParameterAttributes Flags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public uint Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Number">
- <MemberSignature Language="C#" Value="public ushort Number;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Owner">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Owner;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GenericParamTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GenericParamTable.xml
deleted file mode 100644
index fe459e209a4..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GenericParamTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="GenericParamTable" FullName="Mono.Cecil.Metadata.GenericParamTable">
- <TypeSignature Language="C#" Value="public sealed class GenericParamTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.GenericParamRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.GenericParamRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 42;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>42</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GuidHeap.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GuidHeap.xml
deleted file mode 100644
index 2158828c7c9..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/GuidHeap.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<Type Name="GuidHeap" FullName="Mono.Cecil.Metadata.GuidHeap">
- <TypeSignature Language="C#" Value="public class GuidHeap : Mono.Cecil.Metadata.MetadataHeap" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.Metadata.MetadataHeap</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public GuidHeap (Mono.Cecil.Metadata.MetadataStream stream);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="stream" Type="Mono.Cecil.Metadata.MetadataStream" />
- </Parameters>
- <Docs>
- <param name="stream">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Guids">
- <MemberSignature Language="C#" Value="public System.Collections.IDictionary Guids { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IDictionary</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Guid this[uint index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.UInt32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataRow.xml
deleted file mode 100644
index 68e60f2d0d5..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataRow.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<Type Name="IMetadataRow" FullName="Mono.Cecil.Metadata.IMetadataRow">
- <TypeSignature Language="C#" Value="public interface IMetadataRow : Mono.Cecil.Metadata.IMetadataRowVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRowVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members />
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataRowVisitable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataRowVisitable.xml
deleted file mode 100644
index c46e072d44b..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataRowVisitable.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<Type Name="IMetadataRowVisitable" FullName="Mono.Cecil.Metadata.IMetadataRowVisitable">
- <TypeSignature Language="C#" Value="public interface IMetadataRowVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataRowVisitor.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataRowVisitor.xml
deleted file mode 100644
index 701c534fbef..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataRowVisitor.xml
+++ /dev/null
@@ -1,824 +0,0 @@
-<Type Name="IMetadataRowVisitor" FullName="Mono.Cecil.Metadata.IMetadataRowVisitor">
- <TypeSignature Language="C#" Value="public interface IMetadataRowVisitor" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="TerminateRowCollection">
- <MemberSignature Language="C#" Value="public void TerminateRowCollection (Mono.Cecil.Metadata.RowCollection coll);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="coll" Type="Mono.Cecil.Metadata.RowCollection" />
- </Parameters>
- <Docs>
- <param name="coll">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyOSRow">
- <MemberSignature Language="C#" Value="public void VisitAssemblyOSRow (Mono.Cecil.Metadata.AssemblyOSRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyOSRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyProcessorRow">
- <MemberSignature Language="C#" Value="public void VisitAssemblyProcessorRow (Mono.Cecil.Metadata.AssemblyProcessorRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyProcessorRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyRefOSRow">
- <MemberSignature Language="C#" Value="public void VisitAssemblyRefOSRow (Mono.Cecil.Metadata.AssemblyRefOSRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyRefOSRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyRefProcessorRow">
- <MemberSignature Language="C#" Value="public void VisitAssemblyRefProcessorRow (Mono.Cecil.Metadata.AssemblyRefProcessorRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyRefProcessorRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyRefRow">
- <MemberSignature Language="C#" Value="public void VisitAssemblyRefRow (Mono.Cecil.Metadata.AssemblyRefRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyRefRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyRow">
- <MemberSignature Language="C#" Value="public void VisitAssemblyRow (Mono.Cecil.Metadata.AssemblyRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitClassLayoutRow">
- <MemberSignature Language="C#" Value="public void VisitClassLayoutRow (Mono.Cecil.Metadata.ClassLayoutRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ClassLayoutRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitConstantRow">
- <MemberSignature Language="C#" Value="public void VisitConstantRow (Mono.Cecil.Metadata.ConstantRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ConstantRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitCustomAttributeRow">
- <MemberSignature Language="C#" Value="public void VisitCustomAttributeRow (Mono.Cecil.Metadata.CustomAttributeRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.CustomAttributeRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitDeclSecurityRow">
- <MemberSignature Language="C#" Value="public void VisitDeclSecurityRow (Mono.Cecil.Metadata.DeclSecurityRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.DeclSecurityRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEventMapRow">
- <MemberSignature Language="C#" Value="public void VisitEventMapRow (Mono.Cecil.Metadata.EventMapRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.EventMapRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEventPtrRow">
- <MemberSignature Language="C#" Value="public void VisitEventPtrRow (Mono.Cecil.Metadata.EventPtrRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.EventPtrRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEventRow">
- <MemberSignature Language="C#" Value="public void VisitEventRow (Mono.Cecil.Metadata.EventRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.EventRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitExportedTypeRow">
- <MemberSignature Language="C#" Value="public void VisitExportedTypeRow (Mono.Cecil.Metadata.ExportedTypeRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ExportedTypeRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldLayoutRow">
- <MemberSignature Language="C#" Value="public void VisitFieldLayoutRow (Mono.Cecil.Metadata.FieldLayoutRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldLayoutRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldMarshalRow">
- <MemberSignature Language="C#" Value="public void VisitFieldMarshalRow (Mono.Cecil.Metadata.FieldMarshalRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldMarshalRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldPtrRow">
- <MemberSignature Language="C#" Value="public void VisitFieldPtrRow (Mono.Cecil.Metadata.FieldPtrRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldPtrRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldRow">
- <MemberSignature Language="C#" Value="public void VisitFieldRow (Mono.Cecil.Metadata.FieldRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldRVARow">
- <MemberSignature Language="C#" Value="public void VisitFieldRVARow (Mono.Cecil.Metadata.FieldRVARow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldRVARow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFileRow">
- <MemberSignature Language="C#" Value="public void VisitFileRow (Mono.Cecil.Metadata.FileRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.FileRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitGenericParamConstraintRow">
- <MemberSignature Language="C#" Value="public void VisitGenericParamConstraintRow (Mono.Cecil.Metadata.GenericParamConstraintRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.GenericParamConstraintRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitGenericParamRow">
- <MemberSignature Language="C#" Value="public void VisitGenericParamRow (Mono.Cecil.Metadata.GenericParamRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.GenericParamRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitImplMapRow">
- <MemberSignature Language="C#" Value="public void VisitImplMapRow (Mono.Cecil.Metadata.ImplMapRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ImplMapRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitInterfaceImplRow">
- <MemberSignature Language="C#" Value="public void VisitInterfaceImplRow (Mono.Cecil.Metadata.InterfaceImplRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.InterfaceImplRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitManifestResourceRow">
- <MemberSignature Language="C#" Value="public void VisitManifestResourceRow (Mono.Cecil.Metadata.ManifestResourceRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ManifestResourceRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMemberRefRow">
- <MemberSignature Language="C#" Value="public void VisitMemberRefRow (Mono.Cecil.Metadata.MemberRefRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.MemberRefRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodImplRow">
- <MemberSignature Language="C#" Value="public void VisitMethodImplRow (Mono.Cecil.Metadata.MethodImplRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodImplRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodPtrRow">
- <MemberSignature Language="C#" Value="public void VisitMethodPtrRow (Mono.Cecil.Metadata.MethodPtrRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodPtrRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodRow">
- <MemberSignature Language="C#" Value="public void VisitMethodRow (Mono.Cecil.Metadata.MethodRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodSemanticsRow">
- <MemberSignature Language="C#" Value="public void VisitMethodSemanticsRow (Mono.Cecil.Metadata.MethodSemanticsRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodSemanticsRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodSpecRow">
- <MemberSignature Language="C#" Value="public void VisitMethodSpecRow (Mono.Cecil.Metadata.MethodSpecRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodSpecRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleRefRow">
- <MemberSignature Language="C#" Value="public void VisitModuleRefRow (Mono.Cecil.Metadata.ModuleRefRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ModuleRefRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleRow">
- <MemberSignature Language="C#" Value="public void VisitModuleRow (Mono.Cecil.Metadata.ModuleRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ModuleRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitNestedClassRow">
- <MemberSignature Language="C#" Value="public void VisitNestedClassRow (Mono.Cecil.Metadata.NestedClassRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.NestedClassRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitParamPtrRow">
- <MemberSignature Language="C#" Value="public void VisitParamPtrRow (Mono.Cecil.Metadata.ParamPtrRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ParamPtrRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitParamRow">
- <MemberSignature Language="C#" Value="public void VisitParamRow (Mono.Cecil.Metadata.ParamRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.ParamRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPropertyMapRow">
- <MemberSignature Language="C#" Value="public void VisitPropertyMapRow (Mono.Cecil.Metadata.PropertyMapRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.PropertyMapRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPropertyPtrRow">
- <MemberSignature Language="C#" Value="public void VisitPropertyPtrRow (Mono.Cecil.Metadata.PropertyPtrRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.PropertyPtrRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPropertyRow">
- <MemberSignature Language="C#" Value="public void VisitPropertyRow (Mono.Cecil.Metadata.PropertyRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.PropertyRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitRowCollection">
- <MemberSignature Language="C#" Value="public void VisitRowCollection (Mono.Cecil.Metadata.RowCollection coll);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="coll" Type="Mono.Cecil.Metadata.RowCollection" />
- </Parameters>
- <Docs>
- <param name="coll">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitStandAloneSigRow">
- <MemberSignature Language="C#" Value="public void VisitStandAloneSigRow (Mono.Cecil.Metadata.StandAloneSigRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.StandAloneSigRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeDefRow">
- <MemberSignature Language="C#" Value="public void VisitTypeDefRow (Mono.Cecil.Metadata.TypeDefRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.TypeDefRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeRefRow">
- <MemberSignature Language="C#" Value="public void VisitTypeRefRow (Mono.Cecil.Metadata.TypeRefRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.TypeRefRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeSpecRow">
- <MemberSignature Language="C#" Value="public void VisitTypeSpecRow (Mono.Cecil.Metadata.TypeSpecRow row);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="row" Type="Mono.Cecil.Metadata.TypeSpecRow" />
- </Parameters>
- <Docs>
- <param name="row">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataTable.xml
deleted file mode 100644
index 74137ce4dd3..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataTable.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<Type Name="IMetadataTable" FullName="Mono.Cecil.Metadata.IMetadataTable">
- <TypeSignature Language="C#" Value="public interface IMetadataTable : Mono.Cecil.Metadata.IMetadataTableVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTableVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataTableVisitable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataTableVisitable.xml
deleted file mode 100644
index 9e848f4a781..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataTableVisitable.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<Type Name="IMetadataTableVisitable" FullName="Mono.Cecil.Metadata.IMetadataTableVisitable">
- <TypeSignature Language="C#" Value="public interface IMetadataTableVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataTableVisitor.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataTableVisitor.xml
deleted file mode 100644
index 8ae7c0380ab..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataTableVisitor.xml
+++ /dev/null
@@ -1,840 +0,0 @@
-<Type Name="IMetadataTableVisitor" FullName="Mono.Cecil.Metadata.IMetadataTableVisitor">
- <TypeSignature Language="C#" Value="public interface IMetadataTableVisitor" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="GetRowVisitor">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.IMetadataRowVisitor GetRowVisitor ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.IMetadataRowVisitor</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TerminateTableCollection">
- <MemberSignature Language="C#" Value="public void TerminateTableCollection (Mono.Cecil.Metadata.TableCollection coll);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="coll" Type="Mono.Cecil.Metadata.TableCollection" />
- </Parameters>
- <Docs>
- <param name="coll">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyOSTable">
- <MemberSignature Language="C#" Value="public void VisitAssemblyOSTable (Mono.Cecil.Metadata.AssemblyOSTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyOSTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyProcessorTable">
- <MemberSignature Language="C#" Value="public void VisitAssemblyProcessorTable (Mono.Cecil.Metadata.AssemblyProcessorTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyProcessorTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyRefOSTable">
- <MemberSignature Language="C#" Value="public void VisitAssemblyRefOSTable (Mono.Cecil.Metadata.AssemblyRefOSTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyRefOSTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyRefProcessorTable">
- <MemberSignature Language="C#" Value="public void VisitAssemblyRefProcessorTable (Mono.Cecil.Metadata.AssemblyRefProcessorTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyRefProcessorTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyRefTable">
- <MemberSignature Language="C#" Value="public void VisitAssemblyRefTable (Mono.Cecil.Metadata.AssemblyRefTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyRefTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyTable">
- <MemberSignature Language="C#" Value="public void VisitAssemblyTable (Mono.Cecil.Metadata.AssemblyTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitClassLayoutTable">
- <MemberSignature Language="C#" Value="public void VisitClassLayoutTable (Mono.Cecil.Metadata.ClassLayoutTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ClassLayoutTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitConstantTable">
- <MemberSignature Language="C#" Value="public void VisitConstantTable (Mono.Cecil.Metadata.ConstantTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ConstantTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitCustomAttributeTable">
- <MemberSignature Language="C#" Value="public void VisitCustomAttributeTable (Mono.Cecil.Metadata.CustomAttributeTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.CustomAttributeTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitDeclSecurityTable">
- <MemberSignature Language="C#" Value="public void VisitDeclSecurityTable (Mono.Cecil.Metadata.DeclSecurityTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.DeclSecurityTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEventMapTable">
- <MemberSignature Language="C#" Value="public void VisitEventMapTable (Mono.Cecil.Metadata.EventMapTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.EventMapTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEventPtrTable">
- <MemberSignature Language="C#" Value="public void VisitEventPtrTable (Mono.Cecil.Metadata.EventPtrTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.EventPtrTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEventTable">
- <MemberSignature Language="C#" Value="public void VisitEventTable (Mono.Cecil.Metadata.EventTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.EventTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitExportedTypeTable">
- <MemberSignature Language="C#" Value="public void VisitExportedTypeTable (Mono.Cecil.Metadata.ExportedTypeTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ExportedTypeTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldLayoutTable">
- <MemberSignature Language="C#" Value="public void VisitFieldLayoutTable (Mono.Cecil.Metadata.FieldLayoutTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldLayoutTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldMarshalTable">
- <MemberSignature Language="C#" Value="public void VisitFieldMarshalTable (Mono.Cecil.Metadata.FieldMarshalTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldMarshalTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldPtrTable">
- <MemberSignature Language="C#" Value="public void VisitFieldPtrTable (Mono.Cecil.Metadata.FieldPtrTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldPtrTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldRVATable">
- <MemberSignature Language="C#" Value="public void VisitFieldRVATable (Mono.Cecil.Metadata.FieldRVATable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldRVATable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldTable">
- <MemberSignature Language="C#" Value="public void VisitFieldTable (Mono.Cecil.Metadata.FieldTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFileTable">
- <MemberSignature Language="C#" Value="public void VisitFileTable (Mono.Cecil.Metadata.FileTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.FileTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitGenericParamConstraintTable">
- <MemberSignature Language="C#" Value="public void VisitGenericParamConstraintTable (Mono.Cecil.Metadata.GenericParamConstraintTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.GenericParamConstraintTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitGenericParamTable">
- <MemberSignature Language="C#" Value="public void VisitGenericParamTable (Mono.Cecil.Metadata.GenericParamTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.GenericParamTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitImplMapTable">
- <MemberSignature Language="C#" Value="public void VisitImplMapTable (Mono.Cecil.Metadata.ImplMapTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ImplMapTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitInterfaceImplTable">
- <MemberSignature Language="C#" Value="public void VisitInterfaceImplTable (Mono.Cecil.Metadata.InterfaceImplTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.InterfaceImplTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitManifestResourceTable">
- <MemberSignature Language="C#" Value="public void VisitManifestResourceTable (Mono.Cecil.Metadata.ManifestResourceTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ManifestResourceTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMemberRefTable">
- <MemberSignature Language="C#" Value="public void VisitMemberRefTable (Mono.Cecil.Metadata.MemberRefTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.MemberRefTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodImplTable">
- <MemberSignature Language="C#" Value="public void VisitMethodImplTable (Mono.Cecil.Metadata.MethodImplTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodImplTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodPtrTable">
- <MemberSignature Language="C#" Value="public void VisitMethodPtrTable (Mono.Cecil.Metadata.MethodPtrTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodPtrTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodSemanticsTable">
- <MemberSignature Language="C#" Value="public void VisitMethodSemanticsTable (Mono.Cecil.Metadata.MethodSemanticsTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodSemanticsTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodSpecTable">
- <MemberSignature Language="C#" Value="public void VisitMethodSpecTable (Mono.Cecil.Metadata.MethodSpecTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodSpecTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodTable">
- <MemberSignature Language="C#" Value="public void VisitMethodTable (Mono.Cecil.Metadata.MethodTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleRefTable">
- <MemberSignature Language="C#" Value="public void VisitModuleRefTable (Mono.Cecil.Metadata.ModuleRefTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ModuleRefTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleTable">
- <MemberSignature Language="C#" Value="public void VisitModuleTable (Mono.Cecil.Metadata.ModuleTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ModuleTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitNestedClassTable">
- <MemberSignature Language="C#" Value="public void VisitNestedClassTable (Mono.Cecil.Metadata.NestedClassTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.NestedClassTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitParamPtrTable">
- <MemberSignature Language="C#" Value="public void VisitParamPtrTable (Mono.Cecil.Metadata.ParamPtrTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ParamPtrTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitParamTable">
- <MemberSignature Language="C#" Value="public void VisitParamTable (Mono.Cecil.Metadata.ParamTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.ParamTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPropertyMapTable">
- <MemberSignature Language="C#" Value="public void VisitPropertyMapTable (Mono.Cecil.Metadata.PropertyMapTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.PropertyMapTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPropertyPtrTable">
- <MemberSignature Language="C#" Value="public void VisitPropertyPtrTable (Mono.Cecil.Metadata.PropertyPtrTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.PropertyPtrTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPropertyTable">
- <MemberSignature Language="C#" Value="public void VisitPropertyTable (Mono.Cecil.Metadata.PropertyTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.PropertyTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitStandAloneSigTable">
- <MemberSignature Language="C#" Value="public void VisitStandAloneSigTable (Mono.Cecil.Metadata.StandAloneSigTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.StandAloneSigTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTableCollection">
- <MemberSignature Language="C#" Value="public void VisitTableCollection (Mono.Cecil.Metadata.TableCollection coll);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="coll" Type="Mono.Cecil.Metadata.TableCollection" />
- </Parameters>
- <Docs>
- <param name="coll">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeDefTable">
- <MemberSignature Language="C#" Value="public void VisitTypeDefTable (Mono.Cecil.Metadata.TypeDefTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.TypeDefTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeRefTable">
- <MemberSignature Language="C#" Value="public void VisitTypeRefTable (Mono.Cecil.Metadata.TypeRefTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.TypeRefTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeSpecTable">
- <MemberSignature Language="C#" Value="public void VisitTypeSpecTable (Mono.Cecil.Metadata.TypeSpecTable table);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.TypeSpecTable" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataVisitable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataVisitable.xml
deleted file mode 100644
index d84a2f0f654..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataVisitable.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<Type Name="IMetadataVisitable" FullName="Mono.Cecil.Metadata.IMetadataVisitable">
- <TypeSignature Language="C#" Value="public interface IMetadataVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataVisitor.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataVisitor.xml
deleted file mode 100644
index fe966eaab88..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/IMetadataVisitor.xml
+++ /dev/null
@@ -1,212 +0,0 @@
-<Type Name="IMetadataVisitor" FullName="Mono.Cecil.Metadata.IMetadataVisitor">
- <TypeSignature Language="C#" Value="public interface IMetadataVisitor" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="TerminateMetadataRoot">
- <MemberSignature Language="C#" Value="public void TerminateMetadataRoot (Mono.Cecil.Metadata.MetadataRoot root);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="root" Type="Mono.Cecil.Metadata.MetadataRoot" />
- </Parameters>
- <Docs>
- <param name="root">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitBlobHeap">
- <MemberSignature Language="C#" Value="public void VisitBlobHeap (Mono.Cecil.Metadata.BlobHeap heap);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="heap" Type="Mono.Cecil.Metadata.BlobHeap" />
- </Parameters>
- <Docs>
- <param name="heap">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitGuidHeap">
- <MemberSignature Language="C#" Value="public void VisitGuidHeap (Mono.Cecil.Metadata.GuidHeap heap);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="heap" Type="Mono.Cecil.Metadata.GuidHeap" />
- </Parameters>
- <Docs>
- <param name="heap">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMetadataRoot">
- <MemberSignature Language="C#" Value="public void VisitMetadataRoot (Mono.Cecil.Metadata.MetadataRoot root);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="root" Type="Mono.Cecil.Metadata.MetadataRoot" />
- </Parameters>
- <Docs>
- <param name="root">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMetadataRootHeader">
- <MemberSignature Language="C#" Value="public void VisitMetadataRootHeader (Mono.Cecil.Metadata.MetadataRoot.MetadataRootHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Metadata.MetadataRoot+MetadataRootHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMetadataStream">
- <MemberSignature Language="C#" Value="public void VisitMetadataStream (Mono.Cecil.Metadata.MetadataStream stream);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="stream" Type="Mono.Cecil.Metadata.MetadataStream" />
- </Parameters>
- <Docs>
- <param name="stream">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMetadataStreamCollection">
- <MemberSignature Language="C#" Value="public void VisitMetadataStreamCollection (Mono.Cecil.Metadata.MetadataStreamCollection streams);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="streams" Type="Mono.Cecil.Metadata.MetadataStreamCollection" />
- </Parameters>
- <Docs>
- <param name="streams">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMetadataStreamHeader">
- <MemberSignature Language="C#" Value="public void VisitMetadataStreamHeader (Mono.Cecil.Metadata.MetadataStream.MetadataStreamHeader header);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="header" Type="Mono.Cecil.Metadata.MetadataStream+MetadataStreamHeader" />
- </Parameters>
- <Docs>
- <param name="header">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitStringsHeap">
- <MemberSignature Language="C#" Value="public void VisitStringsHeap (Mono.Cecil.Metadata.StringsHeap heap);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="heap" Type="Mono.Cecil.Metadata.StringsHeap" />
- </Parameters>
- <Docs>
- <param name="heap">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTablesHeap">
- <MemberSignature Language="C#" Value="public void VisitTablesHeap (Mono.Cecil.Metadata.TablesHeap heap);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="heap" Type="Mono.Cecil.Metadata.TablesHeap" />
- </Parameters>
- <Docs>
- <param name="heap">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitUserStringsHeap">
- <MemberSignature Language="C#" Value="public void VisitUserStringsHeap (Mono.Cecil.Metadata.UserStringsHeap heap);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="heap" Type="Mono.Cecil.Metadata.UserStringsHeap" />
- </Parameters>
- <Docs>
- <param name="heap">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ImplMapRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ImplMapRow.xml
deleted file mode 100644
index febef331197..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ImplMapRow.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-<Type Name="ImplMapRow" FullName="Mono.Cecil.Metadata.ImplMapRow">
- <TypeSignature Language="C#" Value="public sealed class ImplMapRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImportName">
- <MemberSignature Language="C#" Value="public uint ImportName;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImportScope">
- <MemberSignature Language="C#" Value="public uint ImportScope;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MappingFlags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.PInvokeAttributes MappingFlags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MemberForwarded">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MemberForwarded;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ImplMapTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ImplMapTable.xml
deleted file mode 100644
index 9f68aa5c34f..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ImplMapTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="ImplMapTable" FullName="Mono.Cecil.Metadata.ImplMapTable">
- <TypeSignature Language="C#" Value="public sealed class ImplMapTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ImplMapRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ImplMapRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 28;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>28</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/InterfaceImplRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/InterfaceImplRow.xml
deleted file mode 100644
index b52119483ff..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/InterfaceImplRow.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<Type Name="InterfaceImplRow" FullName="Mono.Cecil.Metadata.InterfaceImplRow">
- <TypeSignature Language="C#" Value="public sealed class InterfaceImplRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Class">
- <MemberSignature Language="C#" Value="public uint Class;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Interface">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Interface;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/InterfaceImplTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/InterfaceImplTable.xml
deleted file mode 100644
index 00887a16ec1..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/InterfaceImplTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="InterfaceImplTable" FullName="Mono.Cecil.Metadata.InterfaceImplTable">
- <TypeSignature Language="C#" Value="public sealed class InterfaceImplTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.InterfaceImplRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.InterfaceImplRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 9;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>9</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ManifestResourceRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ManifestResourceRow.xml
deleted file mode 100644
index 71c7b8bbd03..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ManifestResourceRow.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-<Type Name="ManifestResourceRow" FullName="Mono.Cecil.Metadata.ManifestResourceRow">
- <TypeSignature Language="C#" Value="public sealed class ManifestResourceRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Flags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ManifestResourceAttributes Flags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ManifestResourceAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Implementation">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Implementation;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public uint Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Offset">
- <MemberSignature Language="C#" Value="public uint Offset;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ManifestResourceTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ManifestResourceTable.xml
deleted file mode 100644
index f8f1811cdfa..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ManifestResourceTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="ManifestResourceTable" FullName="Mono.Cecil.Metadata.ManifestResourceTable">
- <TypeSignature Language="C#" Value="public sealed class ManifestResourceTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ManifestResourceRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ManifestResourceRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 40;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>40</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MemberRefRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MemberRefRow.xml
deleted file mode 100644
index 2fbedc18bfd..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MemberRefRow.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="MemberRefRow" FullName="Mono.Cecil.Metadata.MemberRefRow">
- <TypeSignature Language="C#" Value="public sealed class MemberRefRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Class">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Class;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public uint Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Signature">
- <MemberSignature Language="C#" Value="public uint Signature;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MemberRefTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MemberRefTable.xml
deleted file mode 100644
index 9bdb34b8031..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MemberRefTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="MemberRefTable" FullName="Mono.Cecil.Metadata.MemberRefTable">
- <TypeSignature Language="C#" Value="public sealed class MemberRefTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MemberRefRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MemberRefRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 10;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>10</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataFormatException.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataFormatException.xml
deleted file mode 100644
index 5adf0499e15..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataFormatException.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<Type Name="MetadataFormatException" FullName="Mono.Cecil.Metadata.MetadataFormatException">
- <TypeSignature Language="C#" Value="public class MetadataFormatException : Mono.Cecil.Binary.ImageFormatException" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.Binary.ImageFormatException</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members />
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataHeap.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataHeap.xml
deleted file mode 100644
index 1eb5cd67067..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataHeap.xml
+++ /dev/null
@@ -1,137 +0,0 @@
-<Type Name="MetadataHeap" FullName="Mono.Cecil.Metadata.MetadataHeap">
- <TypeSignature Language="C#" Value="public abstract class MetadataHeap : Mono.Cecil.Metadata.IMetadataVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public abstract void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Data">
- <MemberSignature Language="C#" Value="public byte[] Data { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetStream">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataStream GetStream ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataStream</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HeapFactory">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.Metadata.MetadataHeap HeapFactory (Mono.Cecil.Metadata.MetadataStream stream);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataHeap</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="stream" Type="Mono.Cecil.Metadata.MetadataStream" />
- </Parameters>
- <Docs>
- <param name="stream">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexSize">
- <MemberSignature Language="C#" Value="public int IndexSize;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public string Name { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ReadBytesFromStream">
- <MemberSignature Language="C#" Value="protected virtual byte[] ReadBytesFromStream (uint pos);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="pos" Type="System.UInt32" />
- </Parameters>
- <Docs>
- <param name="pos">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataRoot+MetadataRootHeader.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataRoot+MetadataRootHeader.xml
deleted file mode 100644
index 182e553cd9d..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataRoot+MetadataRootHeader.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-<Type Name="MetadataRoot+MetadataRootHeader" FullName="Mono.Cecil.Metadata.MetadataRoot+MetadataRootHeader">
- <TypeSignature Language="C#" Value="public sealed class MetadataRoot.MetadataRootHeader : Mono.Cecil.Binary.IHeader, Mono.Cecil.Metadata.IMetadataVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Flags">
- <MemberSignature Language="C#" Value="public ushort Flags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MajorVersion">
- <MemberSignature Language="C#" Value="public ushort MajorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MinorVersion">
- <MemberSignature Language="C#" Value="public ushort MinorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Reserved">
- <MemberSignature Language="C#" Value="public uint Reserved;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SetDefaultValues">
- <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Signature">
- <MemberSignature Language="C#" Value="public uint Signature;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="StandardSignature">
- <MemberSignature Language="C#" Value="public const uint StandardSignature = 1112167234;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <MemberValue>1112167234</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Streams">
- <MemberSignature Language="C#" Value="public ushort Streams;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Version">
- <MemberSignature Language="C#" Value="public string Version;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataRoot.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataRoot.xml
deleted file mode 100644
index 5f6f1e8c9b1..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataRoot.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<Type Name="MetadataRoot" FullName="Mono.Cecil.Metadata.MetadataRoot">
- <TypeSignature Language="C#" Value="public sealed class MetadataRoot : Mono.Cecil.Metadata.IMetadataVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetImage">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.Image GetImage ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.Image</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Header">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataRoot.MetadataRootHeader Header { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataRoot+MetadataRootHeader</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Streams">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataStreamCollection Streams { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataStreamCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataStream+MetadataStreamHeader.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataStream+MetadataStreamHeader.xml
deleted file mode 100644
index 72ec4115f17..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataStream+MetadataStreamHeader.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-<Type Name="MetadataStream+MetadataStreamHeader" FullName="Mono.Cecil.Metadata.MetadataStream+MetadataStreamHeader">
- <TypeSignature Language="C#" Value="public class MetadataStream.MetadataStreamHeader : Mono.Cecil.Metadata.IMetadataVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public string Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Offset">
- <MemberSignature Language="C#" Value="public uint Offset;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Size">
- <MemberSignature Language="C#" Value="public uint Size;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Stream">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataStream Stream { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataStream</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataStream.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataStream.xml
deleted file mode 100644
index 203049441a6..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataStream.xml
+++ /dev/null
@@ -1,153 +0,0 @@
-<Type Name="MetadataStream" FullName="Mono.Cecil.Metadata.MetadataStream">
- <TypeSignature Language="C#" Value="public class MetadataStream : Mono.Cecil.Metadata.IMetadataVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Blob">
- <MemberSignature Language="C#" Value="public const string Blob;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GUID">
- <MemberSignature Language="C#" Value="public const string GUID;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Header">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataStream.MetadataStreamHeader Header { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataStream+MetadataStreamHeader</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Heap">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataHeap Heap { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataHeap</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IncrementalTables">
- <MemberSignature Language="C#" Value="public const string IncrementalTables;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Strings">
- <MemberSignature Language="C#" Value="public const string Strings;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Tables">
- <MemberSignature Language="C#" Value="public const string Tables;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="UserStrings">
- <MemberSignature Language="C#" Value="public const string UserStrings;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataStreamCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataStreamCollection.xml
deleted file mode 100644
index 569d9caeadb..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataStreamCollection.xml
+++ /dev/null
@@ -1,229 +0,0 @@
-<Type Name="MetadataStreamCollection" FullName="Mono.Cecil.Metadata.MetadataStreamCollection">
- <TypeSignature Language="C#" Value="public class MetadataStreamCollection : Mono.Cecil.Metadata.IMetadataVisitable, System.Collections.ICollection" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>System.Collections.ICollection</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public MetadataStreamCollection ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="BlobHeap">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.BlobHeap BlobHeap { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.BlobHeap</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CopyTo">
- <MemberSignature Language="C#" Value="public void CopyTo (Array ary, int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ary" Type="System.Array" />
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="ary">To be added.</param>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Count">
- <MemberSignature Language="C#" Value="public int Count { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetEnumerator">
- <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IEnumerator</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GuidHeap">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.GuidHeap GuidHeap { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.GuidHeap</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSynchronized">
- <MemberSignature Language="C#" Value="public bool IsSynchronized { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataStream this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataStream</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="StringsHeap">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.StringsHeap StringsHeap { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.StringsHeap</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SyncRoot">
- <MemberSignature Language="C#" Value="public object SyncRoot { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TablesHeap">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.TablesHeap TablesHeap { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TablesHeap</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="UserStringsHeap">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.UserStringsHeap UserStringsHeap { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.UserStringsHeap</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataToken.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataToken.xml
deleted file mode 100644
index 1579f2dc2b0..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MetadataToken.xml
+++ /dev/null
@@ -1,202 +0,0 @@
-<Type Name="MetadataToken" FullName="Mono.Cecil.Metadata.MetadataToken">
- <TypeSignature Language="C#" Value="public struct MetadataToken" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.ValueType</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public MetadataToken (int token);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="token" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="token">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public MetadataToken (Mono.Cecil.Metadata.TokenType table, uint rid);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.TokenType" />
- <Parameter Name="rid" Type="System.UInt32" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <param name="rid">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Equals">
- <MemberSignature Language="C#" Value="public override bool Equals (object other);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="other" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="other">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetHashCode">
- <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="op_Equality">
- <MemberSignature Language="C#" Value="public static bool op_Equality (Mono.Cecil.Metadata.MetadataToken one, Mono.Cecil.Metadata.MetadataToken other);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="one" Type="Mono.Cecil.Metadata.MetadataToken" />
- <Parameter Name="other" Type="Mono.Cecil.Metadata.MetadataToken" />
- </Parameters>
- <Docs>
- <param name="one">To be added.</param>
- <param name="other">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="op_Inequality">
- <MemberSignature Language="C#" Value="public static bool op_Inequality (Mono.Cecil.Metadata.MetadataToken one, Mono.Cecil.Metadata.MetadataToken other);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="one" Type="Mono.Cecil.Metadata.MetadataToken" />
- <Parameter Name="other" Type="Mono.Cecil.Metadata.MetadataToken" />
- </Parameters>
- <Docs>
- <param name="one">To be added.</param>
- <param name="other">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RID">
- <MemberSignature Language="C#" Value="public uint RID { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TokenType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.TokenType TokenType { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToUInt">
- <MemberSignature Language="C#" Value="public uint ToUInt ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Zero">
- <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Metadata.MetadataToken Zero;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodImplRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodImplRow.xml
deleted file mode 100644
index 1d06fb4b916..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodImplRow.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="MethodImplRow" FullName="Mono.Cecil.Metadata.MethodImplRow">
- <TypeSignature Language="C#" Value="public sealed class MethodImplRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Class">
- <MemberSignature Language="C#" Value="public uint Class;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MethodBody">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MethodBody;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MethodDeclaration">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MethodDeclaration;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodImplTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodImplTable.xml
deleted file mode 100644
index 99355572219..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodImplTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="MethodImplTable" FullName="Mono.Cecil.Metadata.MethodImplTable">
- <TypeSignature Language="C#" Value="public sealed class MethodImplTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MethodImplRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MethodImplRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 25;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>25</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodPtrRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodPtrRow.xml
deleted file mode 100644
index 89a423921e2..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodPtrRow.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<Type Name="MethodPtrRow" FullName="Mono.Cecil.Metadata.MethodPtrRow">
- <TypeSignature Language="C#" Value="public sealed class MethodPtrRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Method">
- <MemberSignature Language="C#" Value="public uint Method;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodPtrTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodPtrTable.xml
deleted file mode 100644
index 6733d7f13a2..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodPtrTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="MethodPtrTable" FullName="Mono.Cecil.Metadata.MethodPtrTable">
- <TypeSignature Language="C#" Value="public sealed class MethodPtrTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MethodPtrRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MethodPtrRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 5;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>5</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodRow.xml
deleted file mode 100644
index 613b36c0c9f..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodRow.xml
+++ /dev/null
@@ -1,123 +0,0 @@
-<Type Name="MethodRow" FullName="Mono.Cecil.Metadata.MethodRow">
- <TypeSignature Language="C#" Value="public sealed class MethodRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Flags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodAttributes Flags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImplFlags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodImplAttributes ImplFlags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public uint Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ParamList">
- <MemberSignature Language="C#" Value="public uint ParamList;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RVA">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA RVA;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Signature">
- <MemberSignature Language="C#" Value="public uint Signature;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodSemanticsRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodSemanticsRow.xml
deleted file mode 100644
index ac684747395..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodSemanticsRow.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="MethodSemanticsRow" FullName="Mono.Cecil.Metadata.MethodSemanticsRow">
- <TypeSignature Language="C#" Value="public sealed class MethodSemanticsRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Association">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Association;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Method">
- <MemberSignature Language="C#" Value="public uint Method;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Semantics">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodSemanticsAttributes Semantics;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodSemanticsAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodSemanticsTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodSemanticsTable.xml
deleted file mode 100644
index 9730c2b411f..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodSemanticsTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="MethodSemanticsTable" FullName="Mono.Cecil.Metadata.MethodSemanticsTable">
- <TypeSignature Language="C#" Value="public sealed class MethodSemanticsTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MethodSemanticsRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MethodSemanticsRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 24;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>24</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodSpecRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodSpecRow.xml
deleted file mode 100644
index cc2db721be1..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodSpecRow.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<Type Name="MethodSpecRow" FullName="Mono.Cecil.Metadata.MethodSpecRow">
- <TypeSignature Language="C#" Value="public sealed class MethodSpecRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Instantiation">
- <MemberSignature Language="C#" Value="public uint Instantiation;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Method">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Method;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodSpecTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodSpecTable.xml
deleted file mode 100644
index 9f9899b0a6c..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodSpecTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="MethodSpecTable" FullName="Mono.Cecil.Metadata.MethodSpecTable">
- <TypeSignature Language="C#" Value="public sealed class MethodSpecTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MethodSpecRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MethodSpecRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 43;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>43</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodTable.xml
deleted file mode 100644
index c6a20dc5496..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/MethodTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="MethodTable" FullName="Mono.Cecil.Metadata.MethodTable">
- <TypeSignature Language="C#" Value="public sealed class MethodTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MethodRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MethodRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 6;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>6</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ModuleRefRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ModuleRefRow.xml
deleted file mode 100644
index 305ac244f30..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ModuleRefRow.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<Type Name="ModuleRefRow" FullName="Mono.Cecil.Metadata.ModuleRefRow">
- <TypeSignature Language="C#" Value="public sealed class ModuleRefRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public uint Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ModuleRefTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ModuleRefTable.xml
deleted file mode 100644
index bea55ba8f02..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ModuleRefTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="ModuleRefTable" FullName="Mono.Cecil.Metadata.ModuleRefTable">
- <TypeSignature Language="C#" Value="public sealed class ModuleRefTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ModuleRefRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ModuleRefRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 26;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>26</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ModuleRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ModuleRow.xml
deleted file mode 100644
index 747953b4235..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ModuleRow.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<Type Name="ModuleRow" FullName="Mono.Cecil.Metadata.ModuleRow">
- <TypeSignature Language="C#" Value="public sealed class ModuleRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="EncBaseId">
- <MemberSignature Language="C#" Value="public uint EncBaseId;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="EncId">
- <MemberSignature Language="C#" Value="public uint EncId;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Generation">
- <MemberSignature Language="C#" Value="public ushort Generation;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Mvid">
- <MemberSignature Language="C#" Value="public uint Mvid;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public uint Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ModuleTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ModuleTable.xml
deleted file mode 100644
index 124022efd11..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ModuleTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="ModuleTable" FullName="Mono.Cecil.Metadata.ModuleTable">
- <TypeSignature Language="C#" Value="public sealed class ModuleTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ModuleRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ModuleRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 0;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>0</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/NestedClassRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/NestedClassRow.xml
deleted file mode 100644
index 7f1bdf1e04d..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/NestedClassRow.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<Type Name="NestedClassRow" FullName="Mono.Cecil.Metadata.NestedClassRow">
- <TypeSignature Language="C#" Value="public sealed class NestedClassRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="EnclosingClass">
- <MemberSignature Language="C#" Value="public uint EnclosingClass;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NestedClass">
- <MemberSignature Language="C#" Value="public uint NestedClass;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/NestedClassTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/NestedClassTable.xml
deleted file mode 100644
index ff3bebd8ea7..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/NestedClassTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="NestedClassTable" FullName="Mono.Cecil.Metadata.NestedClassTable">
- <TypeSignature Language="C#" Value="public sealed class NestedClassTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.NestedClassRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.NestedClassRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 41;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>41</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ParamPtrRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ParamPtrRow.xml
deleted file mode 100644
index 556fc6a7075..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ParamPtrRow.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<Type Name="ParamPtrRow" FullName="Mono.Cecil.Metadata.ParamPtrRow">
- <TypeSignature Language="C#" Value="public sealed class ParamPtrRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Param">
- <MemberSignature Language="C#" Value="public uint Param;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ParamPtrTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ParamPtrTable.xml
deleted file mode 100644
index 680ebe23305..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ParamPtrTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="ParamPtrTable" FullName="Mono.Cecil.Metadata.ParamPtrTable">
- <TypeSignature Language="C#" Value="public sealed class ParamPtrTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ParamPtrRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ParamPtrRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 7;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>7</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ParamRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ParamRow.xml
deleted file mode 100644
index b3d52f5aede..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ParamRow.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="ParamRow" FullName="Mono.Cecil.Metadata.ParamRow">
- <TypeSignature Language="C#" Value="public sealed class ParamRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Flags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ParameterAttributes Flags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public uint Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Sequence">
- <MemberSignature Language="C#" Value="public ushort Sequence;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ParamTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ParamTable.xml
deleted file mode 100644
index 62f2ea4d861..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/ParamTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="ParamTable" FullName="Mono.Cecil.Metadata.ParamTable">
- <TypeSignature Language="C#" Value="public sealed class ParamTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ParamRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.ParamRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 8;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>8</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyMapRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyMapRow.xml
deleted file mode 100644
index c603a05439a..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyMapRow.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<Type Name="PropertyMapRow" FullName="Mono.Cecil.Metadata.PropertyMapRow">
- <TypeSignature Language="C#" Value="public sealed class PropertyMapRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Parent">
- <MemberSignature Language="C#" Value="public uint Parent;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PropertyList">
- <MemberSignature Language="C#" Value="public uint PropertyList;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyMapTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyMapTable.xml
deleted file mode 100644
index 515a378cfb2..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyMapTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="PropertyMapTable" FullName="Mono.Cecil.Metadata.PropertyMapTable">
- <TypeSignature Language="C#" Value="public sealed class PropertyMapTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.PropertyMapRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.PropertyMapRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 21;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>21</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyPtrRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyPtrRow.xml
deleted file mode 100644
index 539af37d7a4..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyPtrRow.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<Type Name="PropertyPtrRow" FullName="Mono.Cecil.Metadata.PropertyPtrRow">
- <TypeSignature Language="C#" Value="public sealed class PropertyPtrRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Property">
- <MemberSignature Language="C#" Value="public uint Property;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyPtrTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyPtrTable.xml
deleted file mode 100644
index 3c7eb80b0b2..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyPtrTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="PropertyPtrTable" FullName="Mono.Cecil.Metadata.PropertyPtrTable">
- <TypeSignature Language="C#" Value="public sealed class PropertyPtrTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.PropertyPtrRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.PropertyPtrRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 22;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>22</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyRow.xml
deleted file mode 100644
index db1a4e9e7eb..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyRow.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="PropertyRow" FullName="Mono.Cecil.Metadata.PropertyRow">
- <TypeSignature Language="C#" Value="public sealed class PropertyRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Flags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.PropertyAttributes Flags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PropertyAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public uint Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Type">
- <MemberSignature Language="C#" Value="public uint Type;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyTable.xml
deleted file mode 100644
index 233921a20f8..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/PropertyTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="PropertyTable" FullName="Mono.Cecil.Metadata.PropertyTable">
- <TypeSignature Language="C#" Value="public sealed class PropertyTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.PropertyRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.PropertyRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 23;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>23</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/RowCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/RowCollection.xml
deleted file mode 100644
index 1dc1ebb0510..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/RowCollection.xml
+++ /dev/null
@@ -1,269 +0,0 @@
-<Type Name="RowCollection" FullName="Mono.Cecil.Metadata.RowCollection">
- <TypeSignature Language="C#" Value="public class RowCollection : Mono.Cecil.Metadata.IMetadataRowVisitable, System.Collections.ICollection" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRowVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>System.Collections.ICollection</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clear">
- <MemberSignature Language="C#" Value="public void Clear ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.Metadata.IMetadataRow value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Metadata.IMetadataRow" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CopyTo">
- <MemberSignature Language="C#" Value="public void CopyTo (Array ary, int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ary" Type="System.Array" />
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="ary">To be added.</param>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Count">
- <MemberSignature Language="C#" Value="public int Count { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetEnumerator">
- <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IEnumerator</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.Metadata.IMetadataRow value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Metadata.IMetadataRow" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.Metadata.IMetadataRow value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.Metadata.IMetadataRow" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSynchronized">
- <MemberSignature Language="C#" Value="public bool IsSynchronized { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.IMetadataRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.IMetadataRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.Metadata.IMetadataRow value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Metadata.IMetadataRow" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RemoveAt">
- <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Sort">
- <MemberSignature Language="C#" Value="public void Sort (System.Collections.IComparer comp);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="comp" Type="System.Collections.IComparer" />
- </Parameters>
- <Docs>
- <param name="comp">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SyncRoot">
- <MemberSignature Language="C#" Value="public object SyncRoot { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/StandAloneSigRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/StandAloneSigRow.xml
deleted file mode 100644
index 93b5ec45e86..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/StandAloneSigRow.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<Type Name="StandAloneSigRow" FullName="Mono.Cecil.Metadata.StandAloneSigRow">
- <TypeSignature Language="C#" Value="public sealed class StandAloneSigRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Signature">
- <MemberSignature Language="C#" Value="public uint Signature;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/StandAloneSigTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/StandAloneSigTable.xml
deleted file mode 100644
index 3241362ae2c..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/StandAloneSigTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="StandAloneSigTable" FullName="Mono.Cecil.Metadata.StandAloneSigTable">
- <TypeSignature Language="C#" Value="public sealed class StandAloneSigTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.StandAloneSigRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.StandAloneSigRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 17;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>17</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/StringsHeap.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/StringsHeap.xml
deleted file mode 100644
index e01e35a1088..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/StringsHeap.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<Type Name="StringsHeap" FullName="Mono.Cecil.Metadata.StringsHeap">
- <TypeSignature Language="C#" Value="public class StringsHeap : Mono.Cecil.Metadata.MetadataHeap" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.Metadata.MetadataHeap</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public string this[uint index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.UInt32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TableCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TableCollection.xml
deleted file mode 100644
index b24082291e2..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TableCollection.xml
+++ /dev/null
@@ -1,176 +0,0 @@
-<Type Name="TableCollection" FullName="Mono.Cecil.Metadata.TableCollection">
- <TypeSignature Language="C#" Value="public class TableCollection : Mono.Cecil.Metadata.IMetadataTableVisitable, System.Collections.ICollection" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTableVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>System.Collections.ICollection</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.Metadata.IMetadataTable value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Metadata.IMetadataTable" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CopyTo">
- <MemberSignature Language="C#" Value="public void CopyTo (Array array, int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="array" Type="System.Array" />
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="array">To be added.</param>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Count">
- <MemberSignature Language="C#" Value="public int Count { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetEnumerator">
- <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IEnumerator</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Heap">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.TablesHeap Heap { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TablesHeap</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSynchronized">
- <MemberSignature Language="C#" Value="public bool IsSynchronized { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.IMetadataTable this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.IMetadataTable</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SyncRoot">
- <MemberSignature Language="C#" Value="public object SyncRoot { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TablesHeap.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TablesHeap.xml
deleted file mode 100644
index 1a3a5af14e3..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TablesHeap.xml
+++ /dev/null
@@ -1,201 +0,0 @@
-<Type Name="TablesHeap" FullName="Mono.Cecil.Metadata.TablesHeap">
- <TypeSignature Language="C#" Value="public class TablesHeap : Mono.Cecil.Metadata.MetadataHeap" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.Metadata.MetadataHeap</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasTable">
- <MemberSignature Language="C#" Value="public bool HasTable (int id);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="id" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="id">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HeapSizes">
- <MemberSignature Language="C#" Value="public byte HeapSizes;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.IMetadataTable this[int id] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.IMetadataTable</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="id" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="id">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MajorVersion">
- <MemberSignature Language="C#" Value="public byte MajorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MaxTableCount">
- <MemberSignature Language="C#" Value="public const int MaxTableCount = 45;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>45</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MinorVersion">
- <MemberSignature Language="C#" Value="public byte MinorVersion;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Reserved">
- <MemberSignature Language="C#" Value="public uint Reserved;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Reserved2">
- <MemberSignature Language="C#" Value="public byte Reserved2;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Sorted">
- <MemberSignature Language="C#" Value="public long Sorted;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int64</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Tables">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.TableCollection Tables { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TableCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Valid">
- <MemberSignature Language="C#" Value="public long Valid;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int64</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TokenType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TokenType.xml
deleted file mode 100644
index 6466920124f..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TokenType.xml
+++ /dev/null
@@ -1,341 +0,0 @@
-<Type Name="TokenType" FullName="Mono.Cecil.Metadata.TokenType">
- <TypeSignature Language="C#" Value="public enum TokenType" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Assembly">
- <MemberSignature Language="C#" Value="Assembly" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="AssemblyRef">
- <MemberSignature Language="C#" Value="AssemblyRef" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="BaseType">
- <MemberSignature Language="C#" Value="BaseType" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CustomAttribute">
- <MemberSignature Language="C#" Value="CustomAttribute" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Event">
- <MemberSignature Language="C#" Value="Event" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ExportedType">
- <MemberSignature Language="C#" Value="ExportedType" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Field">
- <MemberSignature Language="C#" Value="Field" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="File">
- <MemberSignature Language="C#" Value="File" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="GenericParam">
- <MemberSignature Language="C#" Value="GenericParam" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InterfaceImpl">
- <MemberSignature Language="C#" Value="InterfaceImpl" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ManifestResource">
- <MemberSignature Language="C#" Value="ManifestResource" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MemberRef">
- <MemberSignature Language="C#" Value="MemberRef" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Method">
- <MemberSignature Language="C#" Value="Method" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MethodSpec">
- <MemberSignature Language="C#" Value="MethodSpec" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Module">
- <MemberSignature Language="C#" Value="Module" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ModuleRef">
- <MemberSignature Language="C#" Value="ModuleRef" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="Name" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Param">
- <MemberSignature Language="C#" Value="Param" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Permission">
- <MemberSignature Language="C#" Value="Permission" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Property">
- <MemberSignature Language="C#" Value="Property" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Signature">
- <MemberSignature Language="C#" Value="Signature" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="String">
- <MemberSignature Language="C#" Value="String" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="TypeDef">
- <MemberSignature Language="C#" Value="TypeDef" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="TypeRef">
- <MemberSignature Language="C#" Value="TypeRef" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="TypeSpec">
- <MemberSignature Language="C#" Value="TypeSpec" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeDefRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeDefRow.xml
deleted file mode 100644
index f8a494d7cf4..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeDefRow.xml
+++ /dev/null
@@ -1,123 +0,0 @@
-<Type Name="TypeDefRow" FullName="Mono.Cecil.Metadata.TypeDefRow">
- <TypeSignature Language="C#" Value="public sealed class TypeDefRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Extends">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Extends;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FieldList">
- <MemberSignature Language="C#" Value="public uint FieldList;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Flags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeAttributes Flags;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MethodList">
- <MemberSignature Language="C#" Value="public uint MethodList;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public uint Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Namespace">
- <MemberSignature Language="C#" Value="public uint Namespace;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeDefTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeDefTable.xml
deleted file mode 100644
index f4eb04bbef0..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeDefTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="TypeDefTable" FullName="Mono.Cecil.Metadata.TypeDefTable">
- <TypeSignature Language="C#" Value="public sealed class TypeDefTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.TypeDefRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TypeDefRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 2;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>2</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeRefRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeRefRow.xml
deleted file mode 100644
index f55662eab77..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeRefRow.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="TypeRefRow" FullName="Mono.Cecil.Metadata.TypeRefRow">
- <TypeSignature Language="C#" Value="public sealed class TypeRefRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public uint Name;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Namespace">
- <MemberSignature Language="C#" Value="public uint Namespace;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ResolutionScope">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken ResolutionScope;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeRefTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeRefTable.xml
deleted file mode 100644
index 4b55e0e0fd7..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeRefTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="TypeRefTable" FullName="Mono.Cecil.Metadata.TypeRefTable">
- <TypeSignature Language="C#" Value="public sealed class TypeRefTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.TypeRefRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TypeRefRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 1;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>1</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeSpecRow.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeSpecRow.xml
deleted file mode 100644
index 17f7fad2ad0..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeSpecRow.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<Type Name="TypeSpecRow" FullName="Mono.Cecil.Metadata.TypeSpecRow">
- <TypeSignature Language="C#" Value="public sealed class TypeSpecRow : Mono.Cecil.Metadata.IMetadataRow" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Signature">
- <MemberSignature Language="C#" Value="public uint Signature;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeSpecTable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeSpecTable.xml
deleted file mode 100644
index 975d7ddb01c..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/TypeSpecTable.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<Type Name="TypeSpecTable" FullName="Mono.Cecil.Metadata.TypeSpecTable">
- <TypeSignature Language="C#" Value="public sealed class TypeSpecTable : Mono.Cecil.Metadata.IMetadataTable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Id">
- <MemberSignature Language="C#" Value="public int Id { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.TypeSpecRow this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.TypeSpecRow</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RId">
- <MemberSignature Language="C#" Value="public const int RId = 27;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <MemberValue>27</MemberValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rows">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/UserStringsHeap.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/UserStringsHeap.xml
deleted file mode 100644
index 2c3af895112..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil.Metadata/UserStringsHeap.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<Type Name="UserStringsHeap" FullName="Mono.Cecil.Metadata.UserStringsHeap">
- <TypeSignature Language="C#" Value="public class UserStringsHeap : Mono.Cecil.Metadata.MetadataHeap" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.Metadata.MetadataHeap</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public string this[uint offset] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="offset" Type="System.UInt32" />
- </Parameters>
- <Docs>
- <param name="offset">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ArrayDimension.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ArrayDimension.xml
deleted file mode 100644
index c9829a213b6..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ArrayDimension.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<Type Name="ArrayDimension" FullName="Mono.Cecil.ArrayDimension">
- <TypeSignature Language="C#" Value="public sealed class ArrayDimension" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ArrayDimension (int lb, int ub);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="lb" Type="System.Int32" />
- <Parameter Name="ub" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="lb">To be added.</param>
- <param name="ub">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="LowerBound">
- <MemberSignature Language="C#" Value="public int LowerBound { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="UpperBound">
- <MemberSignature Language="C#" Value="public int UpperBound { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ArrayDimensionCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ArrayDimensionCollection.xml
deleted file mode 100644
index 8fd51bbab91..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ArrayDimensionCollection.xml
+++ /dev/null
@@ -1,178 +0,0 @@
-<Type Name="ArrayDimensionCollection" FullName="Mono.Cecil.ArrayDimensionCollection">
- <TypeSignature Language="C#" Value="public sealed class ArrayDimensionCollection : System.Collections.CollectionBase" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ArrayDimensionCollection (Mono.Cecil.ArrayType container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.ArrayType" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.ArrayDimension value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.ArrayDimension" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ArrayType Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ArrayType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.ArrayDimension value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.ArrayDimension" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.ArrayDimension value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.ArrayDimension" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.ArrayDimension value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.ArrayDimension" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ArrayDimension this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ArrayDimension</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.ArrayDimension value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.ArrayDimension" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ArrayMarshalSpec.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ArrayMarshalSpec.xml
deleted file mode 100644
index 6e4d7bccc84..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ArrayMarshalSpec.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<Type Name="ArrayMarshalSpec" FullName="Mono.Cecil.ArrayMarshalSpec">
- <TypeSignature Language="C#" Value="public sealed class ArrayMarshalSpec : Mono.Cecil.MarshalSpec" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.MarshalSpec</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ArrayMarshalSpec (Mono.Cecil.IHasMarshalSpec container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CloneInto">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.MarshalSpec CloneInto (Mono.Cecil.IHasMarshalSpec container);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ElemMult">
- <MemberSignature Language="C#" Value="public int ElemMult { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ElemType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.NativeType ElemType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NumElem">
- <MemberSignature Language="C#" Value="public int NumElem { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ParamNum">
- <MemberSignature Language="C#" Value="public int ParamNum { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ArrayType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ArrayType.xml
deleted file mode 100644
index 35986b67b77..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ArrayType.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-<Type Name="ArrayType" FullName="Mono.Cecil.ArrayType">
- <TypeSignature Language="C#" Value="public sealed class ArrayType : Mono.Cecil.TypeSpecification" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.TypeSpecification</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ArrayType (Mono.Cecil.TypeReference elementType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="elementType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="elementType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ArrayType (Mono.Cecil.TypeReference elementType, int rank);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="elementType" Type="Mono.Cecil.TypeReference" />
- <Parameter Name="rank" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="elementType">To be added.</param>
- <param name="rank">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Dimensions">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ArrayDimensionCollection Dimensions { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ArrayDimensionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FullName">
- <MemberSignature Language="C#" Value="public override string FullName { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSizedArray">
- <MemberSignature Language="C#" Value="public bool IsSizedArray { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public override string Name { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Rank">
- <MemberSignature Language="C#" Value="public int Rank { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyDefinition.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyDefinition.xml
deleted file mode 100644
index 62e51242b1b..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyDefinition.xml
+++ /dev/null
@@ -1,259 +0,0 @@
-<Type Name="AssemblyDefinition" FullName="Mono.Cecil.AssemblyDefinition">
- <TypeSignature Language="C#" Value="public class AssemblyDefinition : Mono.Cecil.IAnnotationProvider, Mono.Cecil.ICustomAttributeProvider, Mono.Cecil.IHasSecurity, Mono.Cecil.IReflectionStructureVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.ICustomAttributeProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IHasSecurity</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionStructureVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CustomAttributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="EntryPoint">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition EntryPoint { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasCustomAttributes">
- <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasSecurityDeclarations">
- <MemberSignature Language="C#" Value="public bool HasSecurityDeclarations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Kind">
- <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyKind Kind { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyKind</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MainModule">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition MainModule { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MetadataToken">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MetadataToken { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Modules">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinitionCollection Modules { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ModuleDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
- <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IDictionary</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyNameDefinition Name { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyNameDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolver">
- <MemberSignature Language="C#" Value="public Mono.Cecil.IAssemblyResolver Resolver { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.IAssemblyResolver</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Runtime">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TargetRuntime Runtime { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TargetRuntime</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SecurityDeclarations">
- <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityDeclarationCollection SecurityDeclarations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityDeclarationCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyFactory.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyFactory.xml
deleted file mode 100644
index 4626eb9315f..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyFactory.xml
+++ /dev/null
@@ -1,300 +0,0 @@
-<Type Name="AssemblyFactory" FullName="Mono.Cecil.AssemblyFactory">
- <TypeSignature Language="C#" Value="public sealed class AssemblyFactory" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="CreateReflectionAssembly">
- <MemberSignature Language="C#" Value="public static System.Reflection.Assembly CreateReflectionAssembly (Mono.Cecil.AssemblyDefinition asm);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Reflection.Assembly</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
- </Parameters>
- <Docs>
- <param name="asm">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CreateReflectionAssembly">
- <MemberSignature Language="C#" Value="public static System.Reflection.Assembly CreateReflectionAssembly (Mono.Cecil.AssemblyDefinition asm, AppDomain domain);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Reflection.Assembly</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
- <Parameter Name="domain" Type="System.AppDomain" />
- </Parameters>
- <Docs>
- <param name="asm">To be added.</param>
- <param name="domain">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DefineAssembly">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition DefineAssembly (string name, Mono.Cecil.AssemblyKind kind);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="kind" Type="Mono.Cecil.AssemblyKind" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="kind">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DefineAssembly">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition DefineAssembly (string name, Mono.Cecil.TargetRuntime rt, Mono.Cecil.AssemblyKind kind);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="rt" Type="Mono.Cecil.TargetRuntime" />
- <Parameter Name="kind" Type="Mono.Cecil.AssemblyKind" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="rt">To be added.</param>
- <param name="kind">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DefineAssembly">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition DefineAssembly (string assemblyName, string moduleName, Mono.Cecil.TargetRuntime rt, Mono.Cecil.AssemblyKind kind);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="assemblyName" Type="System.String" />
- <Parameter Name="moduleName" Type="System.String" />
- <Parameter Name="rt" Type="Mono.Cecil.TargetRuntime" />
- <Parameter Name="kind" Type="Mono.Cecil.AssemblyKind" />
- </Parameters>
- <Docs>
- <param name="assemblyName">To be added.</param>
- <param name="moduleName">To be added.</param>
- <param name="rt">To be added.</param>
- <param name="kind">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetAssembly">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition GetAssembly (byte[] assembly);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="assembly" Type="System.Byte[]" />
- </Parameters>
- <Docs>
- <param name="assembly">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetAssembly">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition GetAssembly (System.IO.Stream stream);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="stream" Type="System.IO.Stream" />
- </Parameters>
- <Docs>
- <param name="stream">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetAssembly">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition GetAssembly (string file);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="file" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="file">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetAssemblyManifest">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition GetAssemblyManifest (byte[] assembly);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="assembly" Type="System.Byte[]" />
- </Parameters>
- <Docs>
- <param name="assembly">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetAssemblyManifest">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition GetAssemblyManifest (System.IO.Stream stream);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="stream" Type="System.IO.Stream" />
- </Parameters>
- <Docs>
- <param name="stream">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetAssemblyManifest">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition GetAssemblyManifest (string file);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="file" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="file">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SaveAssembly">
- <MemberSignature Language="C#" Value="public static void SaveAssembly (Mono.Cecil.AssemblyDefinition asm, out byte[] assembly);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
- <Parameter Name="assembly" Type="System.Byte[]&amp;" RefType="out" />
- </Parameters>
- <Docs>
- <param name="asm">To be added.</param>
- <param name="assembly">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SaveAssembly">
- <MemberSignature Language="C#" Value="public static void SaveAssembly (Mono.Cecil.AssemblyDefinition asm, System.IO.Stream stream);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
- <Parameter Name="stream" Type="System.IO.Stream" />
- </Parameters>
- <Docs>
- <param name="asm">To be added.</param>
- <param name="stream">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SaveAssembly">
- <MemberSignature Language="C#" Value="public static void SaveAssembly (Mono.Cecil.AssemblyDefinition asm, string file);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
- <Parameter Name="file" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="asm">To be added.</param>
- <param name="file">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyFlags.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyFlags.xml
deleted file mode 100644
index 3d85a0a4c9e..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyFlags.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<Type Name="AssemblyFlags" FullName="Mono.Cecil.AssemblyFlags">
- <TypeSignature Language="C#" Value="public enum AssemblyFlags" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Attributes>
- <Attribute>
- <AttributeName>System.Flags</AttributeName>
- </Attribute>
- </Attributes>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="DisableJITcompileOptimizer">
- <MemberSignature Language="C#" Value="DisableJITcompileOptimizer" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyFlags</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="EnableJITcompileTracking">
- <MemberSignature Language="C#" Value="EnableJITcompileTracking" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyFlags</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="PublicKey">
- <MemberSignature Language="C#" Value="PublicKey" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyFlags</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Retargetable">
- <MemberSignature Language="C#" Value="Retargetable" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyFlags</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="SideBySideCompatible">
- <MemberSignature Language="C#" Value="SideBySideCompatible" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyFlags</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyHashAlgorithm.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyHashAlgorithm.xml
deleted file mode 100644
index e379ac101a0..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyHashAlgorithm.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<Type Name="AssemblyHashAlgorithm" FullName="Mono.Cecil.AssemblyHashAlgorithm">
- <TypeSignature Language="C#" Value="public enum AssemblyHashAlgorithm" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="None">
- <MemberSignature Language="C#" Value="None" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyHashAlgorithm</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Reserved">
- <MemberSignature Language="C#" Value="Reserved" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyHashAlgorithm</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="SHA1">
- <MemberSignature Language="C#" Value="SHA1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyHashAlgorithm</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyKind.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyKind.xml
deleted file mode 100644
index e5386d29f22..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyKind.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<Type Name="AssemblyKind" FullName="Mono.Cecil.AssemblyKind">
- <TypeSignature Language="C#" Value="public enum AssemblyKind" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Console">
- <MemberSignature Language="C#" Value="Console" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyKind</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Dll">
- <MemberSignature Language="C#" Value="Dll" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyKind</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Windows">
- <MemberSignature Language="C#" Value="Windows" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyKind</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyLinkedResource.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyLinkedResource.xml
deleted file mode 100644
index cb9d46ff4f7..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyLinkedResource.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<Type Name="AssemblyLinkedResource" FullName="Mono.Cecil.AssemblyLinkedResource">
- <TypeSignature Language="C#" Value="public sealed class AssemblyLinkedResource : Mono.Cecil.Resource" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.Resource</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public AssemblyLinkedResource (string name, Mono.Cecil.ManifestResourceAttributes flags, Mono.Cecil.AssemblyNameReference asmRef);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="flags" Type="Mono.Cecil.ManifestResourceAttributes" />
- <Parameter Name="asmRef" Type="Mono.Cecil.AssemblyNameReference" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="flags">To be added.</param>
- <param name="asmRef">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Assembly">
- <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyNameReference Assembly { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyNameReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyNameDefinition.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyNameDefinition.xml
deleted file mode 100644
index 0d62caa261c..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyNameDefinition.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="AssemblyNameDefinition" FullName="Mono.Cecil.AssemblyNameDefinition">
- <TypeSignature Language="C#" Value="public sealed class AssemblyNameDefinition : Mono.Cecil.AssemblyNameReference" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.AssemblyNameReference</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public AssemblyNameDefinition ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public AssemblyNameDefinition (string name, string culture, Version version);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="culture" Type="System.String" />
- <Parameter Name="version" Type="System.Version" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="culture">To be added.</param>
- <param name="version">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Hash">
- <MemberSignature Language="C#" Value="public override byte[] Hash { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyNameReference.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyNameReference.xml
deleted file mode 100644
index 330c9c70a60..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyNameReference.xml
+++ /dev/null
@@ -1,321 +0,0 @@
-<Type Name="AssemblyNameReference" FullName="Mono.Cecil.AssemblyNameReference">
- <TypeSignature Language="C#" Value="public class AssemblyNameReference : Mono.Cecil.IAnnotationProvider, Mono.Cecil.IMetadataScope, Mono.Cecil.IReflectionStructureVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IMetadataScope</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionStructureVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public AssemblyNameReference ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public AssemblyNameReference (string name, string culture, Version version);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="culture" Type="System.String" />
- <Parameter Name="version" Type="System.Version" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="culture">To be added.</param>
- <param name="version">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public virtual void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Culture">
- <MemberSignature Language="C#" Value="public string Culture { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Flags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyFlags Flags { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyFlags</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FullName">
- <MemberSignature Language="C#" Value="public string FullName { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Hash">
- <MemberSignature Language="C#" Value="public virtual byte[] Hash { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HashAlgorithm">
- <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyHashAlgorithm HashAlgorithm { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyHashAlgorithm</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasPublicKey">
- <MemberSignature Language="C#" Value="public bool HasPublicKey { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsRetargetable">
- <MemberSignature Language="C#" Value="public bool IsRetargetable { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSideBySideCompatible">
- <MemberSignature Language="C#" Value="public bool IsSideBySideCompatible { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MetadataToken">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MetadataToken { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
- <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IDictionary</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public string Name { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Parse">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyNameReference Parse (string fullName);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyNameReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="fullName" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="fullName">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PublicKey">
- <MemberSignature Language="C#" Value="public byte[] PublicKey { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PublicKeyToken">
- <MemberSignature Language="C#" Value="public byte[] PublicKeyToken { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Version">
- <MemberSignature Language="C#" Value="public Version Version { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Version</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyNameReferenceCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyNameReferenceCollection.xml
deleted file mode 100644
index 56d1fdca307..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/AssemblyNameReferenceCollection.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<Type Name="AssemblyNameReferenceCollection" FullName="Mono.Cecil.AssemblyNameReferenceCollection">
- <TypeSignature Language="C#" Value="public sealed class AssemblyNameReferenceCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionStructureVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionStructureVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public AssemblyNameReferenceCollection (Mono.Cecil.ModuleDefinition container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.AssemblyNameReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.AssemblyNameReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.AssemblyNameReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.AssemblyNameReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.AssemblyNameReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.AssemblyNameReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.AssemblyNameReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.AssemblyNameReference" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyNameReference this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyNameReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.AssemblyNameReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.AssemblyNameReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/BaseAssemblyResolver.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/BaseAssemblyResolver.xml
deleted file mode 100644
index 049045ed29f..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/BaseAssemblyResolver.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-<Type Name="BaseAssemblyResolver" FullName="Mono.Cecil.BaseAssemblyResolver">
- <TypeSignature Language="C#" Value="public abstract class BaseAssemblyResolver : Mono.Cecil.IAssemblyResolver" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IAssemblyResolver</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public BaseAssemblyResolver ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="AddSearchDirectory">
- <MemberSignature Language="C#" Value="public void AddSearchDirectory (string directory);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="directory" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="directory">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetSearchDirectories">
- <MemberSignature Language="C#" Value="public string[] GetSearchDirectories ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String[]</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnMono">
- <MemberSignature Language="C#" Value="public static bool OnMono ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RemoveSearchDirectory">
- <MemberSignature Language="C#" Value="public void RemoveSearchDirectory (string directory);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="directory" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="directory">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.AssemblyDefinition Resolve (Mono.Cecil.AssemblyNameReference name);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="name" Type="Mono.Cecil.AssemblyNameReference" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.AssemblyDefinition Resolve (string fullName);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="fullName" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="fullName">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/BaseReflectionVisitor.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/BaseReflectionVisitor.xml
deleted file mode 100644
index d954541cf65..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/BaseReflectionVisitor.xml
+++ /dev/null
@@ -1,699 +0,0 @@
-<Type Name="BaseReflectionVisitor" FullName="Mono.Cecil.BaseReflectionVisitor">
- <TypeSignature Language="C#" Value="public abstract class BaseReflectionVisitor : Mono.Cecil.IReflectionVisitor" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitor</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="protected BaseReflectionVisitor ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TerminateModuleDefinition">
- <MemberSignature Language="C#" Value="public virtual void TerminateModuleDefinition (Mono.Cecil.ModuleDefinition module);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="module">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitCollection">
- <MemberSignature Language="C#" Value="protected void VisitCollection (System.Collections.ICollection coll);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="coll" Type="System.Collections.ICollection" />
- </Parameters>
- <Docs>
- <param name="coll">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitConstructor">
- <MemberSignature Language="C#" Value="public virtual void VisitConstructor (Mono.Cecil.MethodDefinition ctor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ctor" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="ctor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitConstructorCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitConstructorCollection (Mono.Cecil.ConstructorCollection ctors);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ctors" Type="Mono.Cecil.ConstructorCollection" />
- </Parameters>
- <Docs>
- <param name="ctors">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitCustomAttribute">
- <MemberSignature Language="C#" Value="public virtual void VisitCustomAttribute (Mono.Cecil.CustomAttribute customAttr);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="customAttr" Type="Mono.Cecil.CustomAttribute" />
- </Parameters>
- <Docs>
- <param name="customAttr">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitCustomAttributeCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitCustomAttributeCollection (Mono.Cecil.CustomAttributeCollection customAttrs);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="customAttrs" Type="Mono.Cecil.CustomAttributeCollection" />
- </Parameters>
- <Docs>
- <param name="customAttrs">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEventDefinition">
- <MemberSignature Language="C#" Value="public virtual void VisitEventDefinition (Mono.Cecil.EventDefinition evt);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="evt" Type="Mono.Cecil.EventDefinition" />
- </Parameters>
- <Docs>
- <param name="evt">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEventDefinitionCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitEventDefinitionCollection (Mono.Cecil.EventDefinitionCollection events);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="events" Type="Mono.Cecil.EventDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="events">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitExternType">
- <MemberSignature Language="C#" Value="public virtual void VisitExternType (Mono.Cecil.TypeReference externType);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="externType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="externType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitExternTypeCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitExternTypeCollection (Mono.Cecil.ExternTypeCollection externs);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="externs" Type="Mono.Cecil.ExternTypeCollection" />
- </Parameters>
- <Docs>
- <param name="externs">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldDefinition">
- <MemberSignature Language="C#" Value="public virtual void VisitFieldDefinition (Mono.Cecil.FieldDefinition field);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="field" Type="Mono.Cecil.FieldDefinition" />
- </Parameters>
- <Docs>
- <param name="field">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldDefinitionCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitFieldDefinitionCollection (Mono.Cecil.FieldDefinitionCollection fields);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="fields" Type="Mono.Cecil.FieldDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="fields">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitGenericParameter">
- <MemberSignature Language="C#" Value="public virtual void VisitGenericParameter (Mono.Cecil.GenericParameter genparam);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="genparam" Type="Mono.Cecil.GenericParameter" />
- </Parameters>
- <Docs>
- <param name="genparam">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitGenericParameterCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitGenericParameterCollection (Mono.Cecil.GenericParameterCollection genparams);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="genparams" Type="Mono.Cecil.GenericParameterCollection" />
- </Parameters>
- <Docs>
- <param name="genparams">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitInterface">
- <MemberSignature Language="C#" Value="public virtual void VisitInterface (Mono.Cecil.TypeReference interf);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="interf" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="interf">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitInterfaceCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitInterfaceCollection (Mono.Cecil.InterfaceCollection interfaces);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="interfaces" Type="Mono.Cecil.InterfaceCollection" />
- </Parameters>
- <Docs>
- <param name="interfaces">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMarshalSpec">
- <MemberSignature Language="C#" Value="public virtual void VisitMarshalSpec (Mono.Cecil.MarshalSpec marshalSpec);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="marshalSpec" Type="Mono.Cecil.MarshalSpec" />
- </Parameters>
- <Docs>
- <param name="marshalSpec">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMemberReference">
- <MemberSignature Language="C#" Value="public virtual void VisitMemberReference (Mono.Cecil.MemberReference member);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="member" Type="Mono.Cecil.MemberReference" />
- </Parameters>
- <Docs>
- <param name="member">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMemberReferenceCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitMemberReferenceCollection (Mono.Cecil.MemberReferenceCollection members);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="members" Type="Mono.Cecil.MemberReferenceCollection" />
- </Parameters>
- <Docs>
- <param name="members">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodDefinition">
- <MemberSignature Language="C#" Value="public virtual void VisitMethodDefinition (Mono.Cecil.MethodDefinition method);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="method" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="method">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodDefinitionCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitMethodDefinitionCollection (Mono.Cecil.MethodDefinitionCollection methods);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="methods" Type="Mono.Cecil.MethodDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="methods">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleDefinition">
- <MemberSignature Language="C#" Value="public virtual void VisitModuleDefinition (Mono.Cecil.ModuleDefinition module);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="module">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitNestedType">
- <MemberSignature Language="C#" Value="public virtual void VisitNestedType (Mono.Cecil.TypeDefinition nestedType);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="nestedType" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="nestedType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitNestedTypeCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitNestedTypeCollection (Mono.Cecil.NestedTypeCollection nestedTypes);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="nestedTypes" Type="Mono.Cecil.NestedTypeCollection" />
- </Parameters>
- <Docs>
- <param name="nestedTypes">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitOverride">
- <MemberSignature Language="C#" Value="public virtual void VisitOverride (Mono.Cecil.MethodReference ov);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ov" Type="Mono.Cecil.MethodReference" />
- </Parameters>
- <Docs>
- <param name="ov">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitOverrideCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitOverrideCollection (Mono.Cecil.OverrideCollection meth);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="meth" Type="Mono.Cecil.OverrideCollection" />
- </Parameters>
- <Docs>
- <param name="meth">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitParameterDefinition">
- <MemberSignature Language="C#" Value="public virtual void VisitParameterDefinition (Mono.Cecil.ParameterDefinition parameter);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="parameter" Type="Mono.Cecil.ParameterDefinition" />
- </Parameters>
- <Docs>
- <param name="parameter">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitParameterDefinitionCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitParameterDefinitionCollection (Mono.Cecil.ParameterDefinitionCollection parameters);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="parameters" Type="Mono.Cecil.ParameterDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="parameters">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPInvokeInfo">
- <MemberSignature Language="C#" Value="public virtual void VisitPInvokeInfo (Mono.Cecil.PInvokeInfo pinvk);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="pinvk" Type="Mono.Cecil.PInvokeInfo" />
- </Parameters>
- <Docs>
- <param name="pinvk">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPropertyDefinition">
- <MemberSignature Language="C#" Value="public virtual void VisitPropertyDefinition (Mono.Cecil.PropertyDefinition property);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="property" Type="Mono.Cecil.PropertyDefinition" />
- </Parameters>
- <Docs>
- <param name="property">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPropertyDefinitionCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitPropertyDefinitionCollection (Mono.Cecil.PropertyDefinitionCollection properties);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="properties" Type="Mono.Cecil.PropertyDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="properties">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitSecurityDeclaration">
- <MemberSignature Language="C#" Value="public virtual void VisitSecurityDeclaration (Mono.Cecil.SecurityDeclaration secDecl);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="secDecl" Type="Mono.Cecil.SecurityDeclaration" />
- </Parameters>
- <Docs>
- <param name="secDecl">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitSecurityDeclarationCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitSecurityDeclarationCollection (Mono.Cecil.SecurityDeclarationCollection secDecls);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="secDecls" Type="Mono.Cecil.SecurityDeclarationCollection" />
- </Parameters>
- <Docs>
- <param name="secDecls">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeDefinition">
- <MemberSignature Language="C#" Value="public virtual void VisitTypeDefinition (Mono.Cecil.TypeDefinition type);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="type" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeDefinitionCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitTypeDefinitionCollection (Mono.Cecil.TypeDefinitionCollection types);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="types" Type="Mono.Cecil.TypeDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="types">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeReference">
- <MemberSignature Language="C#" Value="public virtual void VisitTypeReference (Mono.Cecil.TypeReference type);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeReferenceCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitTypeReferenceCollection (Mono.Cecil.TypeReferenceCollection refs);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="refs" Type="Mono.Cecil.TypeReferenceCollection" />
- </Parameters>
- <Docs>
- <param name="refs">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/BaseStructureVisitor.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/BaseStructureVisitor.xml
deleted file mode 100644
index f2adf758b79..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/BaseStructureVisitor.xml
+++ /dev/null
@@ -1,285 +0,0 @@
-<Type Name="BaseStructureVisitor" FullName="Mono.Cecil.BaseStructureVisitor">
- <TypeSignature Language="C#" Value="public abstract class BaseStructureVisitor : Mono.Cecil.IReflectionStructureVisitor" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionStructureVisitor</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="protected BaseStructureVisitor ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TerminateAssemblyDefinition">
- <MemberSignature Language="C#" Value="public virtual void TerminateAssemblyDefinition (Mono.Cecil.AssemblyDefinition asm);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
- </Parameters>
- <Docs>
- <param name="asm">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyDefinition">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyDefinition (Mono.Cecil.AssemblyDefinition asm);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
- </Parameters>
- <Docs>
- <param name="asm">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyLinkedResource">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyLinkedResource (Mono.Cecil.AssemblyLinkedResource res);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="res" Type="Mono.Cecil.AssemblyLinkedResource" />
- </Parameters>
- <Docs>
- <param name="res">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyNameDefinition">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyNameDefinition (Mono.Cecil.AssemblyNameDefinition name);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="name" Type="Mono.Cecil.AssemblyNameDefinition" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyNameReference">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyNameReference (Mono.Cecil.AssemblyNameReference name);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="name" Type="Mono.Cecil.AssemblyNameReference" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyNameReferenceCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitAssemblyNameReferenceCollection (Mono.Cecil.AssemblyNameReferenceCollection names);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="names" Type="Mono.Cecil.AssemblyNameReferenceCollection" />
- </Parameters>
- <Docs>
- <param name="names">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitCollection">
- <MemberSignature Language="C#" Value="protected void VisitCollection (System.Collections.ICollection coll);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="coll" Type="System.Collections.ICollection" />
- </Parameters>
- <Docs>
- <param name="coll">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEmbeddedResource">
- <MemberSignature Language="C#" Value="public virtual void VisitEmbeddedResource (Mono.Cecil.EmbeddedResource res);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="res" Type="Mono.Cecil.EmbeddedResource" />
- </Parameters>
- <Docs>
- <param name="res">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitLinkedResource">
- <MemberSignature Language="C#" Value="public virtual void VisitLinkedResource (Mono.Cecil.LinkedResource res);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="res" Type="Mono.Cecil.LinkedResource" />
- </Parameters>
- <Docs>
- <param name="res">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleDefinition">
- <MemberSignature Language="C#" Value="public virtual void VisitModuleDefinition (Mono.Cecil.ModuleDefinition module);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="module">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleDefinitionCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitModuleDefinitionCollection (Mono.Cecil.ModuleDefinitionCollection modules);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="modules" Type="Mono.Cecil.ModuleDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="modules">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleReference">
- <MemberSignature Language="C#" Value="public virtual void VisitModuleReference (Mono.Cecil.ModuleReference module);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="module" Type="Mono.Cecil.ModuleReference" />
- </Parameters>
- <Docs>
- <param name="module">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleReferenceCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitModuleReferenceCollection (Mono.Cecil.ModuleReferenceCollection modules);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="modules" Type="Mono.Cecil.ModuleReferenceCollection" />
- </Parameters>
- <Docs>
- <param name="modules">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitResourceCollection">
- <MemberSignature Language="C#" Value="public virtual void VisitResourceCollection (Mono.Cecil.ResourceCollection resources);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="resources" Type="Mono.Cecil.ResourceCollection" />
- </Parameters>
- <Docs>
- <param name="resources">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/CallSite.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/CallSite.xml
deleted file mode 100644
index 66333855a15..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/CallSite.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<Type Name="CallSite" FullName="Mono.Cecil.CallSite">
- <TypeSignature Language="C#" Value="public sealed class CallSite : Mono.Cecil.IAnnotationProvider, Mono.Cecil.IMetadataTokenProvider, Mono.Cecil.IMethodSignature" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IMethodSignature</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public CallSite (bool hasThis, bool explicitThis, Mono.Cecil.MethodCallingConvention callConv, Mono.Cecil.MethodReturnType retType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="hasThis" Type="System.Boolean" />
- <Parameter Name="explicitThis" Type="System.Boolean" />
- <Parameter Name="callConv" Type="Mono.Cecil.MethodCallingConvention" />
- <Parameter Name="retType" Type="Mono.Cecil.MethodReturnType" />
- </Parameters>
- <Docs>
- <param name="hasThis">To be added.</param>
- <param name="explicitThis">To be added.</param>
- <param name="callConv">To be added.</param>
- <param name="retType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CallingConvention">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodCallingConvention CallingConvention { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ExplicitThis">
- <MemberSignature Language="C#" Value="public bool ExplicitThis { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetSentinel">
- <MemberSignature Language="C#" Value="public int GetSentinel ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasParameters">
- <MemberSignature Language="C#" Value="public bool HasParameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasThis">
- <MemberSignature Language="C#" Value="public bool HasThis { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MetadataToken">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MetadataToken { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
- <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IDictionary</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Parameters">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ParameterDefinitionCollection Parameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ReturnType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReturnType ReturnType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReturnType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/Constants.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/Constants.xml
deleted file mode 100644
index 3092bc6e961..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/Constants.xml
+++ /dev/null
@@ -1,367 +0,0 @@
-<Type Name="Constants" FullName="Mono.Cecil.Constants">
- <TypeSignature Language="C#" Value="public class Constants" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Boolean">
- <MemberSignature Language="C#" Value="public const string Boolean;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Byte">
- <MemberSignature Language="C#" Value="public const string Byte;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Char">
- <MemberSignature Language="C#" Value="public const string Char;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Corlib">
- <MemberSignature Language="C#" Value="public const string Corlib;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Deleted">
- <MemberSignature Language="C#" Value="public const string Deleted;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Double">
- <MemberSignature Language="C#" Value="public const string Double;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Enum">
- <MemberSignature Language="C#" Value="public const string Enum;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Int16">
- <MemberSignature Language="C#" Value="public const string Int16;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Int32">
- <MemberSignature Language="C#" Value="public const string Int32;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Int64">
- <MemberSignature Language="C#" Value="public const string Int64;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IntPtr">
- <MemberSignature Language="C#" Value="public const string IntPtr;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ModuleType">
- <MemberSignature Language="C#" Value="public const string ModuleType;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Object">
- <MemberSignature Language="C#" Value="public const string Object;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PrivateImplDetails">
- <MemberSignature Language="C#" Value="public const string PrivateImplDetails;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SByte">
- <MemberSignature Language="C#" Value="public const string SByte;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Single">
- <MemberSignature Language="C#" Value="public const string Single;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="String">
- <MemberSignature Language="C#" Value="public const string String;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Type">
- <MemberSignature Language="C#" Value="public const string Type;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TypedReference">
- <MemberSignature Language="C#" Value="public const string TypedReference;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="UInt16">
- <MemberSignature Language="C#" Value="public const string UInt16;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="UInt32">
- <MemberSignature Language="C#" Value="public const string UInt32;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="UInt64">
- <MemberSignature Language="C#" Value="public const string UInt64;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="UIntPtr">
- <MemberSignature Language="C#" Value="public const string UIntPtr;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ValueType">
- <MemberSignature Language="C#" Value="public const string ValueType;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Void">
- <MemberSignature Language="C#" Value="public const string Void;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ConstraintCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ConstraintCollection.xml
deleted file mode 100644
index f21858f1723..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ConstraintCollection.xml
+++ /dev/null
@@ -1,178 +0,0 @@
-<Type Name="ConstraintCollection" FullName="Mono.Cecil.ConstraintCollection">
- <TypeSignature Language="C#" Value="public sealed class ConstraintCollection : System.Collections.CollectionBase" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ConstraintCollection (Mono.Cecil.GenericParameter container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.GenericParameter" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.GenericParameter Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericParameter</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ConstructorCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ConstructorCollection.xml
deleted file mode 100644
index 6b697e916a6..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ConstructorCollection.xml
+++ /dev/null
@@ -1,296 +0,0 @@
-<Type Name="ConstructorCollection" FullName="Mono.Cecil.ConstructorCollection">
- <TypeSignature Language="C#" Value="public sealed class ConstructorCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ConstructorCollection (Mono.Cecil.TypeDefinition container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.MethodDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clear">
- <MemberSignature Language="C#" Value="public void Clear ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.MethodDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetConstructor">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition GetConstructor (bool isStatic, Mono.Cecil.ParameterDefinitionCollection parameters);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="isStatic" Type="System.Boolean" />
- <Parameter Name="parameters" Type="Mono.Cecil.ParameterDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="isStatic">To be added.</param>
- <param name="parameters">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetConstructor">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition GetConstructor (bool isStatic, Mono.Cecil.TypeReference[] parameters);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="isStatic" Type="System.Boolean" />
- <Parameter Name="parameters" Type="Mono.Cecil.TypeReference[]" />
- </Parameters>
- <Docs>
- <param name="isStatic">To be added.</param>
- <param name="parameters">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetConstructor">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition GetConstructor (bool isStatic, Type[] parameters);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="isStatic" Type="System.Boolean" />
- <Parameter Name="parameters" Type="System.Type[]" />
- </Parameters>
- <Docs>
- <param name="isStatic">To be added.</param>
- <param name="parameters">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.MethodDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.MethodDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.MethodDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RemoveAt">
- <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/CustomAttribute.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/CustomAttribute.xml
deleted file mode 100644
index 6455db2ae8f..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/CustomAttribute.xml
+++ /dev/null
@@ -1,292 +0,0 @@
-<Type Name="CustomAttribute" FullName="Mono.Cecil.CustomAttribute">
- <TypeSignature Language="C#" Value="public sealed class CustomAttribute : Mono.Cecil.IAnnotationProvider, Mono.Cecil.IReflectionVisitable, Mono.Cecil.IRequireResolving" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IRequireResolving</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public CustomAttribute (Mono.Cecil.MethodReference ctor);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="ctor" Type="Mono.Cecil.MethodReference" />
- </Parameters>
- <Docs>
- <param name="ctor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public CustomAttribute (Mono.Cecil.MethodReference ctor, byte[] blob);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="ctor" Type="Mono.Cecil.MethodReference" />
- <Parameter Name="blob" Type="System.Byte[]" />
- </Parameters>
- <Docs>
- <param name="ctor">To be added.</param>
- <param name="blob">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Blob">
- <MemberSignature Language="C#" Value="public byte[] Blob { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clone">
- <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttribute Clone ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.CustomAttribute</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Constructor">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Constructor { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ConstructorParameters">
- <MemberSignature Language="C#" Value="public System.Collections.IList ConstructorParameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IList</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Fields">
- <MemberSignature Language="C#" Value="public System.Collections.IDictionary Fields { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IDictionary</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetFieldType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference GetFieldType (string fieldName);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="fieldName" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="fieldName">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetPropertyType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference GetPropertyType (string propertyName);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="propertyName" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="propertyName">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
- <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IDictionary</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Properties">
- <MemberSignature Language="C#" Value="public System.Collections.IDictionary Properties { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IDictionary</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public bool Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolved">
- <MemberSignature Language="C#" Value="public bool Resolved { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SetFieldType">
- <MemberSignature Language="C#" Value="public void SetFieldType (string fieldName, Mono.Cecil.TypeReference type);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="fieldName" Type="System.String" />
- <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="fieldName">To be added.</param>
- <param name="type">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SetPropertyType">
- <MemberSignature Language="C#" Value="public void SetPropertyType (string propertyName, Mono.Cecil.TypeReference type);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="propertyName" Type="System.String" />
- <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="propertyName">To be added.</param>
- <param name="type">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/CustomAttributeCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/CustomAttributeCollection.xml
deleted file mode 100644
index bea1fd0b6df..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/CustomAttributeCollection.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<Type Name="CustomAttributeCollection" FullName="Mono.Cecil.CustomAttributeCollection">
- <TypeSignature Language="C#" Value="public sealed class CustomAttributeCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public CustomAttributeCollection (Mono.Cecil.ICustomAttributeProvider container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.ICustomAttributeProvider" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.CustomAttribute value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.CustomAttribute" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ICustomAttributeProvider Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ICustomAttributeProvider</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.CustomAttribute value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.CustomAttribute" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.CustomAttribute value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.CustomAttribute" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.CustomAttribute value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.CustomAttribute" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttribute this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.CustomAttribute</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.CustomAttribute value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.CustomAttribute" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/CustomMarshalerSpec.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/CustomMarshalerSpec.xml
deleted file mode 100644
index 608de3e1f39..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/CustomMarshalerSpec.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<Type Name="CustomMarshalerSpec" FullName="Mono.Cecil.CustomMarshalerSpec">
- <TypeSignature Language="C#" Value="public sealed class CustomMarshalerSpec : Mono.Cecil.MarshalSpec" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.MarshalSpec</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public CustomMarshalerSpec (Mono.Cecil.IHasMarshalSpec container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CloneInto">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.MarshalSpec CloneInto (Mono.Cecil.IHasMarshalSpec container);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Cookie">
- <MemberSignature Language="C#" Value="public string Cookie { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Guid">
- <MemberSignature Language="C#" Value="public Guid Guid { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ManagedType">
- <MemberSignature Language="C#" Value="public string ManagedType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="UnmanagedType">
- <MemberSignature Language="C#" Value="public string UnmanagedType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/DefaultAssemblyResolver.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/DefaultAssemblyResolver.xml
deleted file mode 100644
index f1eede83730..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/DefaultAssemblyResolver.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<Type Name="DefaultAssemblyResolver" FullName="Mono.Cecil.DefaultAssemblyResolver">
- <TypeSignature Language="C#" Value="public class DefaultAssemblyResolver : Mono.Cecil.BaseAssemblyResolver" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.BaseAssemblyResolver</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public DefaultAssemblyResolver ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RegisterAssembly">
- <MemberSignature Language="C#" Value="protected void RegisterAssembly (Mono.Cecil.AssemblyDefinition assembly);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="assembly" Type="Mono.Cecil.AssemblyDefinition" />
- </Parameters>
- <Docs>
- <param name="assembly">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.AssemblyDefinition Resolve (Mono.Cecil.AssemblyNameReference name);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="name" Type="Mono.Cecil.AssemblyNameReference" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/DefaultImporter.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/DefaultImporter.xml
deleted file mode 100644
index 74ec4e163f3..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/DefaultImporter.xml
+++ /dev/null
@@ -1,133 +0,0 @@
-<Type Name="DefaultImporter" FullName="Mono.Cecil.DefaultImporter">
- <TypeSignature Language="C#" Value="public class DefaultImporter : Mono.Cecil.IImporter" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IImporter</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public DefaultImporter (Mono.Cecil.ModuleDefinition module);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="module">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImportAssembly">
- <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyNameReference ImportAssembly (Mono.Cecil.AssemblyNameReference asm);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyNameReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="asm" Type="Mono.Cecil.AssemblyNameReference" />
- </Parameters>
- <Docs>
- <param name="asm">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImportFieldReference">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.FieldReference ImportFieldReference (Mono.Cecil.FieldReference fr, Mono.Cecil.ImportContext context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="fr" Type="Mono.Cecil.FieldReference" />
- <Parameter Name="context" Type="Mono.Cecil.ImportContext" />
- </Parameters>
- <Docs>
- <param name="fr">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImportMethodReference">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.MethodReference ImportMethodReference (Mono.Cecil.MethodReference mr, Mono.Cecil.ImportContext context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="mr" Type="Mono.Cecil.MethodReference" />
- <Parameter Name="context" Type="Mono.Cecil.ImportContext" />
- </Parameters>
- <Docs>
- <param name="mr">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImportTypeReference">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.TypeReference ImportTypeReference (Mono.Cecil.TypeReference t, Mono.Cecil.ImportContext context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="t" Type="Mono.Cecil.TypeReference" />
- <Parameter Name="context" Type="Mono.Cecil.ImportContext" />
- </Parameters>
- <Docs>
- <param name="t">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Module">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition Module { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EmbeddedResource.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EmbeddedResource.xml
deleted file mode 100644
index f15d9277543..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EmbeddedResource.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<Type Name="EmbeddedResource" FullName="Mono.Cecil.EmbeddedResource">
- <TypeSignature Language="C#" Value="public sealed class EmbeddedResource : Mono.Cecil.Resource" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.Resource</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public EmbeddedResource (string name, Mono.Cecil.ManifestResourceAttributes flags);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="flags" Type="Mono.Cecil.ManifestResourceAttributes" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="flags">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public EmbeddedResource (string name, Mono.Cecil.ManifestResourceAttributes flags, byte[] data);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="flags" Type="Mono.Cecil.ManifestResourceAttributes" />
- <Parameter Name="data" Type="System.Byte[]" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="flags">To be added.</param>
- <param name="data">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Data">
- <MemberSignature Language="C#" Value="public byte[] Data { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EventAttributes.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EventAttributes.xml
deleted file mode 100644
index cad571e253b..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EventAttributes.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<Type Name="EventAttributes" FullName="Mono.Cecil.EventAttributes">
- <TypeSignature Language="C#" Value="public enum EventAttributes" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Attributes>
- <Attribute>
- <AttributeName>System.Flags</AttributeName>
- </Attribute>
- </Attributes>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="RTSpecialName">
- <MemberSignature Language="C#" Value="RTSpecialName" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.EventAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="SpecialName">
- <MemberSignature Language="C#" Value="SpecialName" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.EventAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EventDefinition.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EventDefinition.xml
deleted file mode 100644
index 4b0748925b8..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EventDefinition.xml
+++ /dev/null
@@ -1,282 +0,0 @@
-<Type Name="EventDefinition" FullName="Mono.Cecil.EventDefinition">
- <TypeSignature Language="C#" Value="public sealed class EventDefinition : Mono.Cecil.EventReference, Mono.Cecil.IMemberDefinition" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.EventReference</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IMemberDefinition</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public EventDefinition (string name, Mono.Cecil.TypeReference eventType, Mono.Cecil.EventAttributes attrs);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="eventType" Type="Mono.Cecil.TypeReference" />
- <Parameter Name="attrs" Type="Mono.Cecil.EventAttributes" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="eventType">To be added.</param>
- <param name="attrs">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="AddMethod">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition AddMethod { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Attributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.EventAttributes Attributes { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.EventAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clone">
- <MemberSignature Language="C#" Value="public Mono.Cecil.EventDefinition Clone ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.EventDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CreateAddMethod">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.MethodDefinition CreateAddMethod (Mono.Cecil.EventDefinition evt);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="evt" Type="Mono.Cecil.EventDefinition" />
- </Parameters>
- <Docs>
- <param name="evt">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CreateInvokeMethod">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.MethodDefinition CreateInvokeMethod (Mono.Cecil.EventDefinition evt);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="evt" Type="Mono.Cecil.EventDefinition" />
- </Parameters>
- <Docs>
- <param name="evt">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CreateRemoveMethod">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.MethodDefinition CreateRemoveMethod (Mono.Cecil.EventDefinition evt);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="evt" Type="Mono.Cecil.EventDefinition" />
- </Parameters>
- <Docs>
- <param name="evt">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CustomAttributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DeclaringType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition DeclaringType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasCustomAttributes">
- <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="InvokeMethod">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition InvokeMethod { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsRuntimeSpecialName">
- <MemberSignature Language="C#" Value="public bool IsRuntimeSpecialName { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSpecialName">
- <MemberSignature Language="C#" Value="public bool IsSpecialName { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RemoveMethod">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition RemoveMethod { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.EventDefinition Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.EventDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EventDefinitionCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EventDefinitionCollection.xml
deleted file mode 100644
index d8fbf7a2fb6..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EventDefinitionCollection.xml
+++ /dev/null
@@ -1,252 +0,0 @@
-<Type Name="EventDefinitionCollection" FullName="Mono.Cecil.EventDefinitionCollection">
- <TypeSignature Language="C#" Value="public sealed class EventDefinitionCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public EventDefinitionCollection (Mono.Cecil.TypeDefinition container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.EventDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.EventDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clear">
- <MemberSignature Language="C#" Value="public void Clear ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.EventDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.EventDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetEvent">
- <MemberSignature Language="C#" Value="public Mono.Cecil.EventDefinition GetEvent (string name);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.EventDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.EventDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.EventDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.EventDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.EventDefinition" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.EventDefinition this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.EventDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.EventDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.EventDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RemoveAt">
- <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EventReference.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EventReference.xml
deleted file mode 100644
index e15158ca859..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/EventReference.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="EventReference" FullName="Mono.Cecil.EventReference">
- <TypeSignature Language="C#" Value="public abstract class EventReference : Mono.Cecil.MemberReference" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.MemberReference</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public EventReference (string name, Mono.Cecil.TypeReference eventType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="eventType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="eventType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="EventType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference EventType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public abstract Mono.Cecil.EventDefinition Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.EventDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ExternTypeCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ExternTypeCollection.xml
deleted file mode 100644
index 024d5efaf33..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ExternTypeCollection.xml
+++ /dev/null
@@ -1,446 +0,0 @@
-<Type Name="ExternTypeCollection" FullName="Mono.Cecil.ExternTypeCollection">
- <TypeSignature Language="C#" Value="public sealed class ExternTypeCollection : System.Collections.Specialized.NameObjectCollectionBase, Mono.Cecil.IReflectionVisitable, System.Collections.IList" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.Specialized.NameObjectCollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>System.Collections.IList</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ExternTypeCollection (Mono.Cecil.ModuleDefinition container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clear">
- <MemberSignature Language="C#" Value="public void Clear ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (string fullName);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="fullName" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="fullName">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CopyTo">
- <MemberSignature Language="C#" Value="public void CopyTo (Array ary, int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ary" Type="System.Array" />
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="ary">To be added.</param>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetEnumerator">
- <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IEnumerator</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSynchronized">
- <MemberSignature Language="C#" Value="public bool IsSynchronized { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference this[string fullName] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="fullName" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="fullName">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RemoveAt">
- <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SyncRoot">
- <MemberSignature Language="C#" Value="public object SyncRoot { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.Add">
- <MemberSignature Language="C#" Value="int IList.Add (object value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.Contains">
- <MemberSignature Language="C#" Value="bool IList.Contains (object value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.IndexOf">
- <MemberSignature Language="C#" Value="int IList.IndexOf (object value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.Insert">
- <MemberSignature Language="C#" Value="void IList.Insert (int index, object value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.IsFixedSize">
- <MemberSignature Language="C#" Value="bool System.Collections.IList.IsFixedSize { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.IsReadOnly">
- <MemberSignature Language="C#" Value="bool System.Collections.IList.IsReadOnly { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.Item">
- <MemberSignature Language="C#" Value="object System.Collections.IList.Item[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.Remove">
- <MemberSignature Language="C#" Value="void IList.Remove (object value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FieldAttributes.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FieldAttributes.xml
deleted file mode 100644
index ad760f1c2ac..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FieldAttributes.xml
+++ /dev/null
@@ -1,255 +0,0 @@
-<Type Name="FieldAttributes" FullName="Mono.Cecil.FieldAttributes">
- <TypeSignature Language="C#" Value="public enum FieldAttributes" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Attributes>
- <Attribute>
- <AttributeName>System.Flags</AttributeName>
- </Attribute>
- </Attributes>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Assembly">
- <MemberSignature Language="C#" Value="Assembly" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Compilercontrolled">
- <MemberSignature Language="C#" Value="Compilercontrolled" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="FamANDAssem">
- <MemberSignature Language="C#" Value="FamANDAssem" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Family">
- <MemberSignature Language="C#" Value="Family" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="FamORAssem">
- <MemberSignature Language="C#" Value="FamORAssem" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="FieldAccessMask">
- <MemberSignature Language="C#" Value="FieldAccessMask" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="HasDefault">
- <MemberSignature Language="C#" Value="HasDefault" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="HasFieldMarshal">
- <MemberSignature Language="C#" Value="HasFieldMarshal" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="HasFieldRVA">
- <MemberSignature Language="C#" Value="HasFieldRVA" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InitOnly">
- <MemberSignature Language="C#" Value="InitOnly" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Literal">
- <MemberSignature Language="C#" Value="Literal" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NotSerialized">
- <MemberSignature Language="C#" Value="NotSerialized" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="PInvokeImpl">
- <MemberSignature Language="C#" Value="PInvokeImpl" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Private">
- <MemberSignature Language="C#" Value="Private" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Public">
- <MemberSignature Language="C#" Value="Public" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="RTSpecialName">
- <MemberSignature Language="C#" Value="RTSpecialName" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="SpecialName">
- <MemberSignature Language="C#" Value="SpecialName" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Static">
- <MemberSignature Language="C#" Value="Static" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FieldDefinition.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FieldDefinition.xml
deleted file mode 100644
index 8a5e5fdfdfd..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FieldDefinition.xml
+++ /dev/null
@@ -1,486 +0,0 @@
-<Type Name="FieldDefinition" FullName="Mono.Cecil.FieldDefinition">
- <TypeSignature Language="C#" Value="public sealed class FieldDefinition : Mono.Cecil.FieldReference, Mono.Cecil.IHasConstant, Mono.Cecil.IHasMarshalSpec, Mono.Cecil.IMemberDefinition" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.FieldReference</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IHasConstant</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IHasMarshalSpec</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IMemberDefinition</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public FieldDefinition (string name, Mono.Cecil.TypeReference fieldType, Mono.Cecil.FieldAttributes attrs);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="fieldType" Type="Mono.Cecil.TypeReference" />
- <Parameter Name="attrs" Type="Mono.Cecil.FieldAttributes" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="fieldType">To be added.</param>
- <param name="attrs">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Attributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FieldAttributes Attributes { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clone">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FieldDefinition Clone ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Constant">
- <MemberSignature Language="C#" Value="public object Constant { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CustomAttributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DeclaringType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition DeclaringType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasConstant">
- <MemberSignature Language="C#" Value="public bool HasConstant { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasCustomAttributes">
- <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasDefault">
- <MemberSignature Language="C#" Value="public bool HasDefault { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasLayoutInfo">
- <MemberSignature Language="C#" Value="public bool HasLayoutInfo { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="InitialValue">
- <MemberSignature Language="C#" Value="public byte[] InitialValue { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsAssembly">
- <MemberSignature Language="C#" Value="public bool IsAssembly { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsCompilerControlled">
- <MemberSignature Language="C#" Value="public bool IsCompilerControlled { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsFamily">
- <MemberSignature Language="C#" Value="public bool IsFamily { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsFamilyAndAssembly">
- <MemberSignature Language="C#" Value="public bool IsFamilyAndAssembly { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsFamilyOrAssembly">
- <MemberSignature Language="C#" Value="public bool IsFamilyOrAssembly { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsInitOnly">
- <MemberSignature Language="C#" Value="public bool IsInitOnly { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsLiteral">
- <MemberSignature Language="C#" Value="public bool IsLiteral { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsNotSerialized">
- <MemberSignature Language="C#" Value="public bool IsNotSerialized { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsPInvokeImpl">
- <MemberSignature Language="C#" Value="public bool IsPInvokeImpl { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsPrivate">
- <MemberSignature Language="C#" Value="public bool IsPrivate { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsPublic">
- <MemberSignature Language="C#" Value="public bool IsPublic { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsRuntimeSpecialName">
- <MemberSignature Language="C#" Value="public bool IsRuntimeSpecialName { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSpecialName">
- <MemberSignature Language="C#" Value="public bool IsSpecialName { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsStatic">
- <MemberSignature Language="C#" Value="public bool IsStatic { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MarshalSpec">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MarshalSpec MarshalSpec { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Offset">
- <MemberSignature Language="C#" Value="public uint Offset { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.FieldDefinition Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RVA">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA RVA { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FieldDefinitionCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FieldDefinitionCollection.xml
deleted file mode 100644
index 3116764c6c6..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FieldDefinitionCollection.xml
+++ /dev/null
@@ -1,252 +0,0 @@
-<Type Name="FieldDefinitionCollection" FullName="Mono.Cecil.FieldDefinitionCollection">
- <TypeSignature Language="C#" Value="public sealed class FieldDefinitionCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public FieldDefinitionCollection (Mono.Cecil.TypeDefinition container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.FieldDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.FieldDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clear">
- <MemberSignature Language="C#" Value="public void Clear ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.FieldDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.FieldDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetField">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FieldDefinition GetField (string name);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.FieldDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.FieldDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.FieldDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.FieldDefinition" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FieldDefinition this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.FieldDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.FieldDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RemoveAt">
- <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FieldReference.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FieldReference.xml
deleted file mode 100644
index f6001bf9aaf..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FieldReference.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<Type Name="FieldReference" FullName="Mono.Cecil.FieldReference">
- <TypeSignature Language="C#" Value="public class FieldReference : Mono.Cecil.MemberReference" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.MemberReference</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public FieldReference (string name, Mono.Cecil.TypeReference declaringType, Mono.Cecil.TypeReference fieldType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="declaringType" Type="Mono.Cecil.TypeReference" />
- <Parameter Name="fieldType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="declaringType">To be added.</param>
- <param name="fieldType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FieldType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference FieldType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.FieldDefinition Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FileAttributes.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FileAttributes.xml
deleted file mode 100644
index a25d391f788..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FileAttributes.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<Type Name="FileAttributes" FullName="Mono.Cecil.FileAttributes">
- <TypeSignature Language="C#" Value="public enum FileAttributes" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="ContainsMetaData">
- <MemberSignature Language="C#" Value="ContainsMetaData" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FileAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ContainsNoMetaData">
- <MemberSignature Language="C#" Value="ContainsNoMetaData" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FileAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FixedArraySpec.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FixedArraySpec.xml
deleted file mode 100644
index bc9262f7739..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FixedArraySpec.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="FixedArraySpec" FullName="Mono.Cecil.FixedArraySpec">
- <TypeSignature Language="C#" Value="public sealed class FixedArraySpec : Mono.Cecil.MarshalSpec" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.MarshalSpec</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public FixedArraySpec (Mono.Cecil.IHasMarshalSpec container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CloneInto">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.MarshalSpec CloneInto (Mono.Cecil.IHasMarshalSpec container);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ElemType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.NativeType ElemType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NumElem">
- <MemberSignature Language="C#" Value="public int NumElem { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FixedSysStringSpec.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FixedSysStringSpec.xml
deleted file mode 100644
index 4bf008cfc67..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FixedSysStringSpec.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<Type Name="FixedSysStringSpec" FullName="Mono.Cecil.FixedSysStringSpec">
- <TypeSignature Language="C#" Value="public sealed class FixedSysStringSpec : Mono.Cecil.MarshalSpec" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.MarshalSpec</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public FixedSysStringSpec (Mono.Cecil.IHasMarshalSpec container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CloneInto">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.MarshalSpec CloneInto (Mono.Cecil.IHasMarshalSpec container);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Size">
- <MemberSignature Language="C#" Value="public int Size { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FunctionPointerType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FunctionPointerType.xml
deleted file mode 100644
index 587dee6654f..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/FunctionPointerType.xml
+++ /dev/null
@@ -1,208 +0,0 @@
-<Type Name="FunctionPointerType" FullName="Mono.Cecil.FunctionPointerType">
- <TypeSignature Language="C#" Value="public sealed class FunctionPointerType : Mono.Cecil.TypeSpecification, Mono.Cecil.IMethodSignature" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.TypeSpecification</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IMethodSignature</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public FunctionPointerType (bool hasThis, bool explicitThis, Mono.Cecil.MethodCallingConvention callConv, Mono.Cecil.MethodReturnType retType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="hasThis" Type="System.Boolean" />
- <Parameter Name="explicitThis" Type="System.Boolean" />
- <Parameter Name="callConv" Type="Mono.Cecil.MethodCallingConvention" />
- <Parameter Name="retType" Type="Mono.Cecil.MethodReturnType" />
- </Parameters>
- <Docs>
- <param name="hasThis">To be added.</param>
- <param name="explicitThis">To be added.</param>
- <param name="callConv">To be added.</param>
- <param name="retType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CallingConvention">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodCallingConvention CallingConvention { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ExplicitThis">
- <MemberSignature Language="C#" Value="public bool ExplicitThis { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FullName">
- <MemberSignature Language="C#" Value="public override string FullName { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetSentinel">
- <MemberSignature Language="C#" Value="public int GetSentinel ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasParameters">
- <MemberSignature Language="C#" Value="public bool HasParameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasThis">
- <MemberSignature Language="C#" Value="public bool HasThis { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public override string Name { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Namespace">
- <MemberSignature Language="C#" Value="public override string Namespace { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Parameters">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ParameterDefinitionCollection Parameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ReturnType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReturnType ReturnType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReturnType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Scope">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.IMetadataScope Scope { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.IMetadataScope</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericArgumentCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericArgumentCollection.xml
deleted file mode 100644
index af480b949b9..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericArgumentCollection.xml
+++ /dev/null
@@ -1,178 +0,0 @@
-<Type Name="GenericArgumentCollection" FullName="Mono.Cecil.GenericArgumentCollection">
- <TypeSignature Language="C#" Value="public sealed class GenericArgumentCollection : System.Collections.CollectionBase" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public GenericArgumentCollection (Mono.Cecil.IGenericInstance container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.IGenericInstance" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.IGenericInstance Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.IGenericInstance</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericContext.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericContext.xml
deleted file mode 100644
index edc5ff8065b..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericContext.xml
+++ /dev/null
@@ -1,137 +0,0 @@
-<Type Name="GenericContext" FullName="Mono.Cecil.GenericContext">
- <TypeSignature Language="C#" Value="public class GenericContext" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public GenericContext ();" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public GenericContext (Mono.Cecil.IGenericParameterProvider provider);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="provider" Type="Mono.Cecil.IGenericParameterProvider" />
- </Parameters>
- <Docs>
- <param name="provider">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public GenericContext (Mono.Cecil.TypeReference type, Mono.Cecil.MethodReference meth);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
- <Parameter Name="meth" Type="Mono.Cecil.MethodReference" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <param name="meth">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="AllowCreation">
- <MemberSignature Language="C#" Value="public bool AllowCreation { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clone">
- <MemberSignature Language="C#" Value="public Mono.Cecil.GenericContext Clone ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericContext</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Method">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Method { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Null">
- <MemberSignature Language="C#" Value="public bool Null { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Type">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference Type { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericInstanceMethod.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericInstanceMethod.xml
deleted file mode 100644
index 72f1ca7b4c3..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericInstanceMethod.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<Type Name="GenericInstanceMethod" FullName="Mono.Cecil.GenericInstanceMethod">
- <TypeSignature Language="C#" Value="public sealed class GenericInstanceMethod : Mono.Cecil.MethodSpecification, Mono.Cecil.IGenericInstance" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.MethodSpecification</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IGenericInstance</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public GenericInstanceMethod (Mono.Cecil.MethodReference elemMethod);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="elemMethod" Type="Mono.Cecil.MethodReference" />
- </Parameters>
- <Docs>
- <param name="elemMethod">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GenericArguments">
- <MemberSignature Language="C#" Value="public Mono.Cecil.GenericArgumentCollection GenericArguments { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericArgumentCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasGenericArguments">
- <MemberSignature Language="C#" Value="public bool HasGenericArguments { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericInstanceType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericInstanceType.xml
deleted file mode 100644
index ebb3b9ada64..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericInstanceType.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-<Type Name="GenericInstanceType" FullName="Mono.Cecil.GenericInstanceType">
- <TypeSignature Language="C#" Value="public sealed class GenericInstanceType : Mono.Cecil.TypeSpecification, Mono.Cecil.IGenericInstance" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.TypeSpecification</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IGenericInstance</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public GenericInstanceType (Mono.Cecil.TypeReference elementType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="elementType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="elementType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FullName">
- <MemberSignature Language="C#" Value="public override string FullName { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GenericArguments">
- <MemberSignature Language="C#" Value="public Mono.Cecil.GenericArgumentCollection GenericArguments { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericArgumentCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasGenericArguments">
- <MemberSignature Language="C#" Value="public bool HasGenericArguments { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsValueType">
- <MemberSignature Language="C#" Value="public override bool IsValueType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericParameter.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericParameter.xml
deleted file mode 100644
index d485eff9f49..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericParameter.xml
+++ /dev/null
@@ -1,275 +0,0 @@
-<Type Name="GenericParameter" FullName="Mono.Cecil.GenericParameter">
- <TypeSignature Language="C#" Value="public sealed class GenericParameter : Mono.Cecil.TypeReference" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.TypeReference</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public GenericParameter (string name, Mono.Cecil.IGenericParameterProvider owner);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="owner" Type="Mono.Cecil.IGenericParameterProvider" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="owner">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Attributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.GenericParameterAttributes Attributes { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Constraints">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ConstraintCollection Constraints { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ConstraintCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FullName">
- <MemberSignature Language="C#" Value="public override string FullName { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasConstraints">
- <MemberSignature Language="C#" Value="public bool HasConstraints { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasDefaultConstructorConstraint">
- <MemberSignature Language="C#" Value="public bool HasDefaultConstructorConstraint { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasNotNullableValueTypeConstraint">
- <MemberSignature Language="C#" Value="public bool HasNotNullableValueTypeConstraint { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasReferenceTypeConstraint">
- <MemberSignature Language="C#" Value="public bool HasReferenceTypeConstraint { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsContravariant">
- <MemberSignature Language="C#" Value="public bool IsContravariant { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsCovariant">
- <MemberSignature Language="C#" Value="public bool IsCovariant { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsNonVariant">
- <MemberSignature Language="C#" Value="public bool IsNonVariant { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public override string Name { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Namespace">
- <MemberSignature Language="C#" Value="public override string Namespace { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Owner">
- <MemberSignature Language="C#" Value="public Mono.Cecil.IGenericParameterProvider Owner { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.IGenericParameterProvider</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Position">
- <MemberSignature Language="C#" Value="public int Position { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.TypeDefinition Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Scope">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.IMetadataScope Scope { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.IMetadataScope</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericParameterAttributes.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericParameterAttributes.xml
deleted file mode 100644
index 84bd79f8cfa..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericParameterAttributes.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-<Type Name="GenericParameterAttributes" FullName="Mono.Cecil.GenericParameterAttributes">
- <TypeSignature Language="C#" Value="public enum GenericParameterAttributes" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Attributes>
- <Attribute>
- <AttributeName>System.Flags</AttributeName>
- </Attribute>
- </Attributes>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Contravariant">
- <MemberSignature Language="C#" Value="Contravariant" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Covariant">
- <MemberSignature Language="C#" Value="Covariant" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="DefaultConstructorConstraint">
- <MemberSignature Language="C#" Value="DefaultConstructorConstraint" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NonVariant">
- <MemberSignature Language="C#" Value="NonVariant" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NotNullableValueTypeConstraint">
- <MemberSignature Language="C#" Value="NotNullableValueTypeConstraint" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ReferenceTypeConstraint">
- <MemberSignature Language="C#" Value="ReferenceTypeConstraint" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="SpecialConstraintMask">
- <MemberSignature Language="C#" Value="SpecialConstraintMask" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="VarianceMask">
- <MemberSignature Language="C#" Value="VarianceMask" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericParameterCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericParameterCollection.xml
deleted file mode 100644
index 4c4c112e00a..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/GenericParameterCollection.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<Type Name="GenericParameterCollection" FullName="Mono.Cecil.GenericParameterCollection">
- <TypeSignature Language="C#" Value="public sealed class GenericParameterCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public GenericParameterCollection (Mono.Cecil.IGenericParameterProvider container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.IGenericParameterProvider" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.GenericParameter value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.GenericParameter" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.IGenericParameterProvider Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.IGenericParameterProvider</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.GenericParameter value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.GenericParameter" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.GenericParameter value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.GenericParameter" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.GenericParameter value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.GenericParameter" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.GenericParameter this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericParameter</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.GenericParameter value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.GenericParameter" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IAnnotationProvider.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IAnnotationProvider.xml
deleted file mode 100644
index 37f3b22cbd3..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IAnnotationProvider.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="IAnnotationProvider" FullName="Mono.Cecil.IAnnotationProvider">
- <TypeSignature Language="C#" Value="public interface IAnnotationProvider" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Annotations">
- <MemberSignature Language="C#" Value="public System.Collections.IDictionary Annotations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IDictionary</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IAssemblyResolver.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IAssemblyResolver.xml
deleted file mode 100644
index da599a8e3d1..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IAssemblyResolver.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<Type Name="IAssemblyResolver" FullName="Mono.Cecil.IAssemblyResolver">
- <TypeSignature Language="C#" Value="public interface IAssemblyResolver" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyDefinition Resolve (Mono.Cecil.AssemblyNameReference name);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="name" Type="Mono.Cecil.AssemblyNameReference" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyDefinition Resolve (string fullName);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="fullName" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="fullName">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ICustomAttributeProvider.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ICustomAttributeProvider.xml
deleted file mode 100644
index 321c2ed19c2..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ICustomAttributeProvider.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="ICustomAttributeProvider" FullName="Mono.Cecil.ICustomAttributeProvider">
- <TypeSignature Language="C#" Value="public interface ICustomAttributeProvider" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="CustomAttributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasCustomAttributes">
- <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IGenericInstance.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IGenericInstance.xml
deleted file mode 100644
index d24dc5a2899..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IGenericInstance.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<Type Name="IGenericInstance" FullName="Mono.Cecil.IGenericInstance">
- <TypeSignature Language="C#" Value="public interface IGenericInstance : Mono.Cecil.IMetadataTokenProvider" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="GenericArguments">
- <MemberSignature Language="C#" Value="public Mono.Cecil.GenericArgumentCollection GenericArguments { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericArgumentCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasGenericArguments">
- <MemberSignature Language="C#" Value="public bool HasGenericArguments { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IGenericParameterProvider.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IGenericParameterProvider.xml
deleted file mode 100644
index a5ef6d2103f..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IGenericParameterProvider.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<Type Name="IGenericParameterProvider" FullName="Mono.Cecil.IGenericParameterProvider">
- <TypeSignature Language="C#" Value="public interface IGenericParameterProvider : Mono.Cecil.IMetadataTokenProvider" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="GenericParameters">
- <MemberSignature Language="C#" Value="public Mono.Cecil.GenericParameterCollection GenericParameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericParameterCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasGenericParameters">
- <MemberSignature Language="C#" Value="public bool HasGenericParameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IHasConstant.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IHasConstant.xml
deleted file mode 100644
index 1f6f75c04ff..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IHasConstant.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<Type Name="IHasConstant" FullName="Mono.Cecil.IHasConstant">
- <TypeSignature Language="C#" Value="public interface IHasConstant : Mono.Cecil.IMetadataTokenProvider" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Constant">
- <MemberSignature Language="C#" Value="public object Constant { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasConstant">
- <MemberSignature Language="C#" Value="public bool HasConstant { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IHasMarshalSpec.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IHasMarshalSpec.xml
deleted file mode 100644
index 04198032753..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IHasMarshalSpec.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<Type Name="IHasMarshalSpec" FullName="Mono.Cecil.IHasMarshalSpec">
- <TypeSignature Language="C#" Value="public interface IHasMarshalSpec : Mono.Cecil.IMetadataTokenProvider" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="MarshalSpec">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MarshalSpec MarshalSpec { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IHasSecurity.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IHasSecurity.xml
deleted file mode 100644
index 10f8af96534..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IHasSecurity.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<Type Name="IHasSecurity" FullName="Mono.Cecil.IHasSecurity">
- <TypeSignature Language="C#" Value="public interface IHasSecurity : Mono.Cecil.IMetadataTokenProvider" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="HasSecurityDeclarations">
- <MemberSignature Language="C#" Value="public bool HasSecurityDeclarations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SecurityDeclarations">
- <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityDeclarationCollection SecurityDeclarations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityDeclarationCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IImporter.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IImporter.xml
deleted file mode 100644
index a47ec709261..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IImporter.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<Type Name="IImporter" FullName="Mono.Cecil.IImporter">
- <TypeSignature Language="C#" Value="public interface IImporter" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="ImportFieldReference">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FieldReference ImportFieldReference (Mono.Cecil.FieldReference field, Mono.Cecil.ImportContext context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="field" Type="Mono.Cecil.FieldReference" />
- <Parameter Name="context" Type="Mono.Cecil.ImportContext" />
- </Parameters>
- <Docs>
- <param name="field">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImportMethodReference">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference ImportMethodReference (Mono.Cecil.MethodReference method, Mono.Cecil.ImportContext context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="method" Type="Mono.Cecil.MethodReference" />
- <Parameter Name="context" Type="Mono.Cecil.ImportContext" />
- </Parameters>
- <Docs>
- <param name="method">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImportTypeReference">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference ImportTypeReference (Mono.Cecil.TypeReference type, Mono.Cecil.ImportContext context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
- <Parameter Name="context" Type="Mono.Cecil.ImportContext" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMemberDefinition.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMemberDefinition.xml
deleted file mode 100644
index cdbf4d47f88..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMemberDefinition.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<Type Name="IMemberDefinition" FullName="Mono.Cecil.IMemberDefinition">
- <TypeSignature Language="C#" Value="public interface IMemberDefinition : Mono.Cecil.ICustomAttributeProvider, Mono.Cecil.IMemberReference" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.ICustomAttributeProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IMemberReference</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="DeclaringType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition DeclaringType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsRuntimeSpecialName">
- <MemberSignature Language="C#" Value="public bool IsRuntimeSpecialName { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSpecialName">
- <MemberSignature Language="C#" Value="public bool IsSpecialName { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMemberReference.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMemberReference.xml
deleted file mode 100644
index 326a07fd1f8..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMemberReference.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<Type Name="IMemberReference" FullName="Mono.Cecil.IMemberReference">
- <TypeSignature Language="C#" Value="public interface IMemberReference : Mono.Cecil.IAnnotationProvider, Mono.Cecil.IMetadataTokenProvider, Mono.Cecil.IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="DeclaringType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference DeclaringType { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public string Name { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMetadataScope.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMetadataScope.xml
deleted file mode 100644
index 8868513be68..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMetadataScope.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<Type Name="IMetadataScope" FullName="Mono.Cecil.IMetadataScope">
- <TypeSignature Language="C#" Value="public interface IMetadataScope : Mono.Cecil.IMetadataTokenProvider" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public string Name { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMetadataTokenProvider.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMetadataTokenProvider.xml
deleted file mode 100644
index 0dfe95f1a1e..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMetadataTokenProvider.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="IMetadataTokenProvider" FullName="Mono.Cecil.IMetadataTokenProvider">
- <TypeSignature Language="C#" Value="public interface IMetadataTokenProvider" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="MetadataToken">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MetadataToken { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMethodSignature.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMethodSignature.xml
deleted file mode 100644
index f29a3943ea9..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IMethodSignature.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-<Type Name="IMethodSignature" FullName="Mono.Cecil.IMethodSignature">
- <TypeSignature Language="C#" Value="public interface IMethodSignature" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="CallingConvention">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodCallingConvention CallingConvention { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ExplicitThis">
- <MemberSignature Language="C#" Value="public bool ExplicitThis { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetSentinel">
- <MemberSignature Language="C#" Value="public int GetSentinel ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasParameters">
- <MemberSignature Language="C#" Value="public bool HasParameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasThis">
- <MemberSignature Language="C#" Value="public bool HasThis { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Parameters">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ParameterDefinitionCollection Parameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ReturnType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReturnType ReturnType { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReturnType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IReflectionStructureVisitable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IReflectionStructureVisitable.xml
deleted file mode 100644
index e26001c1c6c..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IReflectionStructureVisitable.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<Type Name="IReflectionStructureVisitable" FullName="Mono.Cecil.IReflectionStructureVisitable">
- <TypeSignature Language="C#" Value="public interface IReflectionStructureVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IReflectionStructureVisitor.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IReflectionStructureVisitor.xml
deleted file mode 100644
index 923bf98bbc2..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IReflectionStructureVisitor.xml
+++ /dev/null
@@ -1,248 +0,0 @@
-<Type Name="IReflectionStructureVisitor" FullName="Mono.Cecil.IReflectionStructureVisitor">
- <TypeSignature Language="C#" Value="public interface IReflectionStructureVisitor" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="TerminateAssemblyDefinition">
- <MemberSignature Language="C#" Value="public void TerminateAssemblyDefinition (Mono.Cecil.AssemblyDefinition asm);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
- </Parameters>
- <Docs>
- <param name="asm">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyDefinition">
- <MemberSignature Language="C#" Value="public void VisitAssemblyDefinition (Mono.Cecil.AssemblyDefinition asm);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
- </Parameters>
- <Docs>
- <param name="asm">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyLinkedResource">
- <MemberSignature Language="C#" Value="public void VisitAssemblyLinkedResource (Mono.Cecil.AssemblyLinkedResource res);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="res" Type="Mono.Cecil.AssemblyLinkedResource" />
- </Parameters>
- <Docs>
- <param name="res">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyNameDefinition">
- <MemberSignature Language="C#" Value="public void VisitAssemblyNameDefinition (Mono.Cecil.AssemblyNameDefinition name);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="name" Type="Mono.Cecil.AssemblyNameDefinition" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyNameReference">
- <MemberSignature Language="C#" Value="public void VisitAssemblyNameReference (Mono.Cecil.AssemblyNameReference name);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="name" Type="Mono.Cecil.AssemblyNameReference" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitAssemblyNameReferenceCollection">
- <MemberSignature Language="C#" Value="public void VisitAssemblyNameReferenceCollection (Mono.Cecil.AssemblyNameReferenceCollection names);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="names" Type="Mono.Cecil.AssemblyNameReferenceCollection" />
- </Parameters>
- <Docs>
- <param name="names">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEmbeddedResource">
- <MemberSignature Language="C#" Value="public void VisitEmbeddedResource (Mono.Cecil.EmbeddedResource res);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="res" Type="Mono.Cecil.EmbeddedResource" />
- </Parameters>
- <Docs>
- <param name="res">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitLinkedResource">
- <MemberSignature Language="C#" Value="public void VisitLinkedResource (Mono.Cecil.LinkedResource res);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="res" Type="Mono.Cecil.LinkedResource" />
- </Parameters>
- <Docs>
- <param name="res">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleDefinition">
- <MemberSignature Language="C#" Value="public void VisitModuleDefinition (Mono.Cecil.ModuleDefinition module);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="module">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleDefinitionCollection">
- <MemberSignature Language="C#" Value="public void VisitModuleDefinitionCollection (Mono.Cecil.ModuleDefinitionCollection modules);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="modules" Type="Mono.Cecil.ModuleDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="modules">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleReference">
- <MemberSignature Language="C#" Value="public void VisitModuleReference (Mono.Cecil.ModuleReference module);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="module" Type="Mono.Cecil.ModuleReference" />
- </Parameters>
- <Docs>
- <param name="module">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleReferenceCollection">
- <MemberSignature Language="C#" Value="public void VisitModuleReferenceCollection (Mono.Cecil.ModuleReferenceCollection modules);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="modules" Type="Mono.Cecil.ModuleReferenceCollection" />
- </Parameters>
- <Docs>
- <param name="modules">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitResourceCollection">
- <MemberSignature Language="C#" Value="public void VisitResourceCollection (Mono.Cecil.ResourceCollection resources);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="resources" Type="Mono.Cecil.ResourceCollection" />
- </Parameters>
- <Docs>
- <param name="resources">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IReflectionVisitable.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IReflectionVisitable.xml
deleted file mode 100644
index 7894f1789fe..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IReflectionVisitable.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<Type Name="IReflectionVisitable" FullName="Mono.Cecil.IReflectionVisitable">
- <TypeSignature Language="C#" Value="public interface IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IReflectionVisitor.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IReflectionVisitor.xml
deleted file mode 100644
index ddae454c728..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IReflectionVisitor.xml
+++ /dev/null
@@ -1,662 +0,0 @@
-<Type Name="IReflectionVisitor" FullName="Mono.Cecil.IReflectionVisitor">
- <TypeSignature Language="C#" Value="public interface IReflectionVisitor" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="TerminateModuleDefinition">
- <MemberSignature Language="C#" Value="public void TerminateModuleDefinition (Mono.Cecil.ModuleDefinition module);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="module">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitConstructor">
- <MemberSignature Language="C#" Value="public void VisitConstructor (Mono.Cecil.MethodDefinition ctor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ctor" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="ctor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitConstructorCollection">
- <MemberSignature Language="C#" Value="public void VisitConstructorCollection (Mono.Cecil.ConstructorCollection ctors);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ctors" Type="Mono.Cecil.ConstructorCollection" />
- </Parameters>
- <Docs>
- <param name="ctors">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitCustomAttribute">
- <MemberSignature Language="C#" Value="public void VisitCustomAttribute (Mono.Cecil.CustomAttribute customAttr);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="customAttr" Type="Mono.Cecil.CustomAttribute" />
- </Parameters>
- <Docs>
- <param name="customAttr">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitCustomAttributeCollection">
- <MemberSignature Language="C#" Value="public void VisitCustomAttributeCollection (Mono.Cecil.CustomAttributeCollection customAttrs);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="customAttrs" Type="Mono.Cecil.CustomAttributeCollection" />
- </Parameters>
- <Docs>
- <param name="customAttrs">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEventDefinition">
- <MemberSignature Language="C#" Value="public void VisitEventDefinition (Mono.Cecil.EventDefinition evt);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="evt" Type="Mono.Cecil.EventDefinition" />
- </Parameters>
- <Docs>
- <param name="evt">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitEventDefinitionCollection">
- <MemberSignature Language="C#" Value="public void VisitEventDefinitionCollection (Mono.Cecil.EventDefinitionCollection events);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="events" Type="Mono.Cecil.EventDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="events">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitExternType">
- <MemberSignature Language="C#" Value="public void VisitExternType (Mono.Cecil.TypeReference externType);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="externType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="externType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitExternTypeCollection">
- <MemberSignature Language="C#" Value="public void VisitExternTypeCollection (Mono.Cecil.ExternTypeCollection externs);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="externs" Type="Mono.Cecil.ExternTypeCollection" />
- </Parameters>
- <Docs>
- <param name="externs">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldDefinition">
- <MemberSignature Language="C#" Value="public void VisitFieldDefinition (Mono.Cecil.FieldDefinition field);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="field" Type="Mono.Cecil.FieldDefinition" />
- </Parameters>
- <Docs>
- <param name="field">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitFieldDefinitionCollection">
- <MemberSignature Language="C#" Value="public void VisitFieldDefinitionCollection (Mono.Cecil.FieldDefinitionCollection fields);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="fields" Type="Mono.Cecil.FieldDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="fields">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitGenericParameter">
- <MemberSignature Language="C#" Value="public void VisitGenericParameter (Mono.Cecil.GenericParameter genparam);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="genparam" Type="Mono.Cecil.GenericParameter" />
- </Parameters>
- <Docs>
- <param name="genparam">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitGenericParameterCollection">
- <MemberSignature Language="C#" Value="public void VisitGenericParameterCollection (Mono.Cecil.GenericParameterCollection genparams);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="genparams" Type="Mono.Cecil.GenericParameterCollection" />
- </Parameters>
- <Docs>
- <param name="genparams">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitInterface">
- <MemberSignature Language="C#" Value="public void VisitInterface (Mono.Cecil.TypeReference interf);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="interf" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="interf">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitInterfaceCollection">
- <MemberSignature Language="C#" Value="public void VisitInterfaceCollection (Mono.Cecil.InterfaceCollection interfaces);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="interfaces" Type="Mono.Cecil.InterfaceCollection" />
- </Parameters>
- <Docs>
- <param name="interfaces">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMarshalSpec">
- <MemberSignature Language="C#" Value="public void VisitMarshalSpec (Mono.Cecil.MarshalSpec marshalSpec);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="marshalSpec" Type="Mono.Cecil.MarshalSpec" />
- </Parameters>
- <Docs>
- <param name="marshalSpec">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMemberReference">
- <MemberSignature Language="C#" Value="public void VisitMemberReference (Mono.Cecil.MemberReference member);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="member" Type="Mono.Cecil.MemberReference" />
- </Parameters>
- <Docs>
- <param name="member">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMemberReferenceCollection">
- <MemberSignature Language="C#" Value="public void VisitMemberReferenceCollection (Mono.Cecil.MemberReferenceCollection members);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="members" Type="Mono.Cecil.MemberReferenceCollection" />
- </Parameters>
- <Docs>
- <param name="members">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodDefinition">
- <MemberSignature Language="C#" Value="public void VisitMethodDefinition (Mono.Cecil.MethodDefinition method);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="method" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="method">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitMethodDefinitionCollection">
- <MemberSignature Language="C#" Value="public void VisitMethodDefinitionCollection (Mono.Cecil.MethodDefinitionCollection methods);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="methods" Type="Mono.Cecil.MethodDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="methods">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitModuleDefinition">
- <MemberSignature Language="C#" Value="public void VisitModuleDefinition (Mono.Cecil.ModuleDefinition module);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="module">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitNestedType">
- <MemberSignature Language="C#" Value="public void VisitNestedType (Mono.Cecil.TypeDefinition nestedType);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="nestedType" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="nestedType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitNestedTypeCollection">
- <MemberSignature Language="C#" Value="public void VisitNestedTypeCollection (Mono.Cecil.NestedTypeCollection nestedTypes);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="nestedTypes" Type="Mono.Cecil.NestedTypeCollection" />
- </Parameters>
- <Docs>
- <param name="nestedTypes">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitOverride">
- <MemberSignature Language="C#" Value="public void VisitOverride (Mono.Cecil.MethodReference ov);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ov" Type="Mono.Cecil.MethodReference" />
- </Parameters>
- <Docs>
- <param name="ov">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitOverrideCollection">
- <MemberSignature Language="C#" Value="public void VisitOverrideCollection (Mono.Cecil.OverrideCollection meth);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="meth" Type="Mono.Cecil.OverrideCollection" />
- </Parameters>
- <Docs>
- <param name="meth">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitParameterDefinition">
- <MemberSignature Language="C#" Value="public void VisitParameterDefinition (Mono.Cecil.ParameterDefinition parameter);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="parameter" Type="Mono.Cecil.ParameterDefinition" />
- </Parameters>
- <Docs>
- <param name="parameter">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitParameterDefinitionCollection">
- <MemberSignature Language="C#" Value="public void VisitParameterDefinitionCollection (Mono.Cecil.ParameterDefinitionCollection parameters);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="parameters" Type="Mono.Cecil.ParameterDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="parameters">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPInvokeInfo">
- <MemberSignature Language="C#" Value="public void VisitPInvokeInfo (Mono.Cecil.PInvokeInfo pinvk);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="pinvk" Type="Mono.Cecil.PInvokeInfo" />
- </Parameters>
- <Docs>
- <param name="pinvk">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPropertyDefinition">
- <MemberSignature Language="C#" Value="public void VisitPropertyDefinition (Mono.Cecil.PropertyDefinition property);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="property" Type="Mono.Cecil.PropertyDefinition" />
- </Parameters>
- <Docs>
- <param name="property">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitPropertyDefinitionCollection">
- <MemberSignature Language="C#" Value="public void VisitPropertyDefinitionCollection (Mono.Cecil.PropertyDefinitionCollection properties);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="properties" Type="Mono.Cecil.PropertyDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="properties">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitSecurityDeclaration">
- <MemberSignature Language="C#" Value="public void VisitSecurityDeclaration (Mono.Cecil.SecurityDeclaration secDecl);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="secDecl" Type="Mono.Cecil.SecurityDeclaration" />
- </Parameters>
- <Docs>
- <param name="secDecl">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitSecurityDeclarationCollection">
- <MemberSignature Language="C#" Value="public void VisitSecurityDeclarationCollection (Mono.Cecil.SecurityDeclarationCollection secDecls);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="secDecls" Type="Mono.Cecil.SecurityDeclarationCollection" />
- </Parameters>
- <Docs>
- <param name="secDecls">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeDefinition">
- <MemberSignature Language="C#" Value="public void VisitTypeDefinition (Mono.Cecil.TypeDefinition type);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="type" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeDefinitionCollection">
- <MemberSignature Language="C#" Value="public void VisitTypeDefinitionCollection (Mono.Cecil.TypeDefinitionCollection types);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="types" Type="Mono.Cecil.TypeDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="types">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeReference">
- <MemberSignature Language="C#" Value="public void VisitTypeReference (Mono.Cecil.TypeReference type);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="VisitTypeReferenceCollection">
- <MemberSignature Language="C#" Value="public void VisitTypeReferenceCollection (Mono.Cecil.TypeReferenceCollection refs);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="refs" Type="Mono.Cecil.TypeReferenceCollection" />
- </Parameters>
- <Docs>
- <param name="refs">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IRequireResolving.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IRequireResolving.xml
deleted file mode 100644
index 445bafbd012..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/IRequireResolving.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<Type Name="IRequireResolving" FullName="Mono.Cecil.IRequireResolving">
- <TypeSignature Language="C#" Value="public interface IRequireResolving" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Blob">
- <MemberSignature Language="C#" Value="public byte[] Blob { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public bool Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolved">
- <MemberSignature Language="C#" Value="public bool Resolved { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ImportContext.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ImportContext.xml
deleted file mode 100644
index 6ddeaff0e1f..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ImportContext.xml
+++ /dev/null
@@ -1,121 +0,0 @@
-<Type Name="ImportContext" FullName="Mono.Cecil.ImportContext">
- <TypeSignature Language="C#" Value="public class ImportContext" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ImportContext (Mono.Cecil.IImporter importer);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="importer" Type="Mono.Cecil.IImporter" />
- </Parameters>
- <Docs>
- <param name="importer">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ImportContext (Mono.Cecil.IImporter importer, Mono.Cecil.IGenericParameterProvider provider);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="importer" Type="Mono.Cecil.IImporter" />
- <Parameter Name="provider" Type="Mono.Cecil.IGenericParameterProvider" />
- </Parameters>
- <Docs>
- <param name="importer">To be added.</param>
- <param name="provider">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GenericContext">
- <MemberSignature Language="C#" Value="public Mono.Cecil.GenericContext GenericContext { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericContext</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FieldReference Import (Mono.Cecil.FieldReference field);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="field" Type="Mono.Cecil.FieldReference" />
- </Parameters>
- <Docs>
- <param name="field">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Import (Mono.Cecil.MethodReference meth);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="meth" Type="Mono.Cecil.MethodReference" />
- </Parameters>
- <Docs>
- <param name="meth">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference Import (Mono.Cecil.TypeReference type);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/InterfaceCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/InterfaceCollection.xml
deleted file mode 100644
index a6ddb7cd5c1..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/InterfaceCollection.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<Type Name="InterfaceCollection" FullName="Mono.Cecil.InterfaceCollection">
- <TypeSignature Language="C#" Value="public sealed class InterfaceCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public InterfaceCollection (Mono.Cecil.TypeDefinition container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/LinkedResource.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/LinkedResource.xml
deleted file mode 100644
index d046efb54c1..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/LinkedResource.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<Type Name="LinkedResource" FullName="Mono.Cecil.LinkedResource">
- <TypeSignature Language="C#" Value="public sealed class LinkedResource : Mono.Cecil.Resource" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.Resource</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public LinkedResource (string name, Mono.Cecil.ManifestResourceAttributes flags, string file);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="flags" Type="Mono.Cecil.ManifestResourceAttributes" />
- <Parameter Name="file" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="flags">To be added.</param>
- <param name="file">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="File">
- <MemberSignature Language="C#" Value="public string File { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Hash">
- <MemberSignature Language="C#" Value="public byte[] Hash { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ManifestResourceAttributes.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ManifestResourceAttributes.xml
deleted file mode 100644
index 60163f7e1ab..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ManifestResourceAttributes.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<Type Name="ManifestResourceAttributes" FullName="Mono.Cecil.ManifestResourceAttributes">
- <TypeSignature Language="C#" Value="public enum ManifestResourceAttributes" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Attributes>
- <Attribute>
- <AttributeName>System.Flags</AttributeName>
- </Attribute>
- </Attributes>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Private">
- <MemberSignature Language="C#" Value="Private" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ManifestResourceAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Public">
- <MemberSignature Language="C#" Value="Public" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ManifestResourceAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="VisibilityMask">
- <MemberSignature Language="C#" Value="VisibilityMask" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ManifestResourceAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MarshalSpec.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MarshalSpec.xml
deleted file mode 100644
index 4e8ad0b1701..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MarshalSpec.xml
+++ /dev/null
@@ -1,101 +0,0 @@
-<Type Name="MarshalSpec" FullName="Mono.Cecil.MarshalSpec">
- <TypeSignature Language="C#" Value="public class MarshalSpec" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public MarshalSpec (Mono.Cecil.NativeType natIntr, Mono.Cecil.IHasMarshalSpec container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="natIntr" Type="Mono.Cecil.NativeType" />
- <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
- </Parameters>
- <Docs>
- <param name="natIntr">To be added.</param>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public virtual void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CloneInto">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.MarshalSpec CloneInto (Mono.Cecil.IHasMarshalSpec container);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.IHasMarshalSpec Container { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.IHasMarshalSpec</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NativeIntrinsic">
- <MemberSignature Language="C#" Value="public Mono.Cecil.NativeType NativeIntrinsic { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MemberReference.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MemberReference.xml
deleted file mode 100644
index c3357d980c4..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MemberReference.xml
+++ /dev/null
@@ -1,130 +0,0 @@
-<Type Name="MemberReference" FullName="Mono.Cecil.MemberReference">
- <TypeSignature Language="C#" Value="public abstract class MemberReference : Mono.Cecil.IMemberReference" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IMemberReference</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public MemberReference (string name);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public virtual void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DeclaringType">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.TypeReference DeclaringType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MetadataToken">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MetadataToken { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
- <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IDictionary</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public virtual string Name { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MemberReferenceCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MemberReferenceCollection.xml
deleted file mode 100644
index c880e8ab651..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MemberReferenceCollection.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<Type Name="MemberReferenceCollection" FullName="Mono.Cecil.MemberReferenceCollection">
- <TypeSignature Language="C#" Value="public sealed class MemberReferenceCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public MemberReferenceCollection (Mono.Cecil.ModuleDefinition container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.MemberReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.MemberReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.MemberReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.MemberReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.MemberReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.MemberReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.MemberReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.MemberReference" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MemberReference this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MemberReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.MemberReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.MemberReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodAttributes.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodAttributes.xml
deleted file mode 100644
index 5fda9353423..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodAttributes.xml
+++ /dev/null
@@ -1,320 +0,0 @@
-<Type Name="MethodAttributes" FullName="Mono.Cecil.MethodAttributes">
- <TypeSignature Language="C#" Value="public enum MethodAttributes" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Attributes>
- <Attribute>
- <AttributeName>System.Flags</AttributeName>
- </Attribute>
- </Attributes>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Abstract">
- <MemberSignature Language="C#" Value="Abstract" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Assem">
- <MemberSignature Language="C#" Value="Assem" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Compilercontrolled">
- <MemberSignature Language="C#" Value="Compilercontrolled" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="FamANDAssem">
- <MemberSignature Language="C#" Value="FamANDAssem" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Family">
- <MemberSignature Language="C#" Value="Family" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="FamORAssem">
- <MemberSignature Language="C#" Value="FamORAssem" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Final">
- <MemberSignature Language="C#" Value="Final" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="HasSecurity">
- <MemberSignature Language="C#" Value="HasSecurity" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="HideBySig">
- <MemberSignature Language="C#" Value="HideBySig" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MemberAccessMask">
- <MemberSignature Language="C#" Value="MemberAccessMask" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NewSlot">
- <MemberSignature Language="C#" Value="NewSlot" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="PInvokeImpl">
- <MemberSignature Language="C#" Value="PInvokeImpl" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Private">
- <MemberSignature Language="C#" Value="Private" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Public">
- <MemberSignature Language="C#" Value="Public" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="RequireSecObject">
- <MemberSignature Language="C#" Value="RequireSecObject" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ReuseSlot">
- <MemberSignature Language="C#" Value="ReuseSlot" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="RTSpecialName">
- <MemberSignature Language="C#" Value="RTSpecialName" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="SpecialName">
- <MemberSignature Language="C#" Value="SpecialName" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Static">
- <MemberSignature Language="C#" Value="Static" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Strict">
- <MemberSignature Language="C#" Value="Strict" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="UnmanagedExport">
- <MemberSignature Language="C#" Value="UnmanagedExport" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Virtual">
- <MemberSignature Language="C#" Value="Virtual" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="VtableLayoutMask">
- <MemberSignature Language="C#" Value="VtableLayoutMask" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodCallingConvention.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodCallingConvention.xml
deleted file mode 100644
index 49e47e1834e..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodCallingConvention.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<Type Name="MethodCallingConvention" FullName="Mono.Cecil.MethodCallingConvention">
- <TypeSignature Language="C#" Value="public enum MethodCallingConvention" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="C">
- <MemberSignature Language="C#" Value="C" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Default">
- <MemberSignature Language="C#" Value="Default" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="FastCall">
- <MemberSignature Language="C#" Value="FastCall" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Generic">
- <MemberSignature Language="C#" Value="Generic" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="StdCall">
- <MemberSignature Language="C#" Value="StdCall" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ThisCall">
- <MemberSignature Language="C#" Value="ThisCall" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="VarArg">
- <MemberSignature Language="C#" Value="VarArg" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodDefinition.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodDefinition.xml
deleted file mode 100644
index c4117885b79..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodDefinition.xml
+++ /dev/null
@@ -1,928 +0,0 @@
-<Type Name="MethodDefinition" FullName="Mono.Cecil.MethodDefinition">
- <TypeSignature Language="C#" Value="public sealed class MethodDefinition : Mono.Cecil.MethodReference, Mono.Cecil.IHasSecurity, Mono.Cecil.IMemberDefinition" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.MethodReference</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IHasSecurity</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IMemberDefinition</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public MethodDefinition (string name, Mono.Cecil.MethodAttributes attrs, Mono.Cecil.TypeReference returnType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="attrs" Type="Mono.Cecil.MethodAttributes" />
- <Parameter Name="returnType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="attrs">To be added.</param>
- <param name="returnType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public MethodDefinition (string name, Mono.Cecil.Binary.RVA rva, Mono.Cecil.MethodAttributes attrs, Mono.Cecil.MethodImplAttributes implAttrs, bool hasThis, bool explicitThis, Mono.Cecil.MethodCallingConvention callConv);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="rva" Type="Mono.Cecil.Binary.RVA" />
- <Parameter Name="attrs" Type="Mono.Cecil.MethodAttributes" />
- <Parameter Name="implAttrs" Type="Mono.Cecil.MethodImplAttributes" />
- <Parameter Name="hasThis" Type="System.Boolean" />
- <Parameter Name="explicitThis" Type="System.Boolean" />
- <Parameter Name="callConv" Type="Mono.Cecil.MethodCallingConvention" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="rva">To be added.</param>
- <param name="attrs">To be added.</param>
- <param name="implAttrs">To be added.</param>
- <param name="hasThis">To be added.</param>
- <param name="explicitThis">To be added.</param>
- <param name="callConv">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Attributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodAttributes Attributes { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Body">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.MethodBody Body { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Cil.MethodBody</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Cctor">
- <MemberSignature Language="C#" Value="public const string Cctor;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clone">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition Clone ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Ctor">
- <MemberSignature Language="C#" Value="public const string Ctor;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CustomAttributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DeclaringType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition DeclaringType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasBody">
- <MemberSignature Language="C#" Value="public bool HasBody { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasCustomAttributes">
- <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasOverrides">
- <MemberSignature Language="C#" Value="public bool HasOverrides { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasSecurity">
- <MemberSignature Language="C#" Value="public bool HasSecurity { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasSecurityDeclarations">
- <MemberSignature Language="C#" Value="public bool HasSecurityDeclarations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ImplAttributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodImplAttributes ImplAttributes { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsAbstract">
- <MemberSignature Language="C#" Value="public bool IsAbstract { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsAddOn">
- <MemberSignature Language="C#" Value="public bool IsAddOn { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsAssembly">
- <MemberSignature Language="C#" Value="public bool IsAssembly { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsCompilerControlled">
- <MemberSignature Language="C#" Value="public bool IsCompilerControlled { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsConstructor">
- <MemberSignature Language="C#" Value="public bool IsConstructor { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsFamily">
- <MemberSignature Language="C#" Value="public bool IsFamily { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsFamilyAndAssembly">
- <MemberSignature Language="C#" Value="public bool IsFamilyAndAssembly { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsFamilyOrAssembly">
- <MemberSignature Language="C#" Value="public bool IsFamilyOrAssembly { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsFinal">
- <MemberSignature Language="C#" Value="public bool IsFinal { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsFire">
- <MemberSignature Language="C#" Value="public bool IsFire { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsForwardRef">
- <MemberSignature Language="C#" Value="public bool IsForwardRef { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsGetter">
- <MemberSignature Language="C#" Value="public bool IsGetter { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsHideBySig">
- <MemberSignature Language="C#" Value="public bool IsHideBySig { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsIL">
- <MemberSignature Language="C#" Value="public bool IsIL { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsInternalCall">
- <MemberSignature Language="C#" Value="public bool IsInternalCall { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsManaged">
- <MemberSignature Language="C#" Value="public bool IsManaged { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsNative">
- <MemberSignature Language="C#" Value="public bool IsNative { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsNewSlot">
- <MemberSignature Language="C#" Value="public bool IsNewSlot { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsOther">
- <MemberSignature Language="C#" Value="public bool IsOther { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsPInvokeImpl">
- <MemberSignature Language="C#" Value="public bool IsPInvokeImpl { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsPreserveSig">
- <MemberSignature Language="C#" Value="public bool IsPreserveSig { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsPrivate">
- <MemberSignature Language="C#" Value="public bool IsPrivate { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsPublic">
- <MemberSignature Language="C#" Value="public bool IsPublic { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsRemoveOn">
- <MemberSignature Language="C#" Value="public bool IsRemoveOn { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsReuseSlot">
- <MemberSignature Language="C#" Value="public bool IsReuseSlot { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsRuntime">
- <MemberSignature Language="C#" Value="public bool IsRuntime { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsRuntimeSpecialName">
- <MemberSignature Language="C#" Value="public bool IsRuntimeSpecialName { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSetter">
- <MemberSignature Language="C#" Value="public bool IsSetter { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSpecialName">
- <MemberSignature Language="C#" Value="public bool IsSpecialName { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsStatic">
- <MemberSignature Language="C#" Value="public bool IsStatic { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsStrict">
- <MemberSignature Language="C#" Value="public bool IsStrict { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSynchronized">
- <MemberSignature Language="C#" Value="public bool IsSynchronized { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsUnmanaged">
- <MemberSignature Language="C#" Value="public bool IsUnmanaged { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsUnmanagedExport">
- <MemberSignature Language="C#" Value="public bool IsUnmanagedExport { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsVirtual">
- <MemberSignature Language="C#" Value="public bool IsVirtual { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NoInlining">
- <MemberSignature Language="C#" Value="public bool NoInlining { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Overrides">
- <MemberSignature Language="C#" Value="public Mono.Cecil.OverrideCollection Overrides { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.OverrideCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PInvokeInfo">
- <MemberSignature Language="C#" Value="public Mono.Cecil.PInvokeInfo PInvokeInfo { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PInvokeInfo</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.MethodDefinition Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RVA">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA RVA { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SecurityDeclarations">
- <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityDeclarationCollection SecurityDeclarations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityDeclarationCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SemanticsAttributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodSemanticsAttributes SemanticsAttributes { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodSemanticsAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="This">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ParameterDefinition This { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodDefinitionCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodDefinitionCollection.xml
deleted file mode 100644
index ae590c18e4d..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodDefinitionCollection.xml
+++ /dev/null
@@ -1,315 +0,0 @@
-<Type Name="MethodDefinitionCollection" FullName="Mono.Cecil.MethodDefinitionCollection">
- <TypeSignature Language="C#" Value="public sealed class MethodDefinitionCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public MethodDefinitionCollection (Mono.Cecil.TypeDefinition container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.MethodDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clear">
- <MemberSignature Language="C#" Value="public void Clear ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.MethodDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetMethod">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition[] GetMethod (string name);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition[]</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetMethod">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition GetMethod (string name, Mono.Cecil.ParameterDefinitionCollection parameters);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="parameters" Type="Mono.Cecil.ParameterDefinitionCollection" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="parameters">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetMethod">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition GetMethod (string name, Mono.Cecil.TypeReference[] parameters);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="parameters" Type="Mono.Cecil.TypeReference[]" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="parameters">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetMethod">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition GetMethod (string name, Type[] parameters);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="parameters" Type="System.Type[]" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="parameters">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.MethodDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.MethodDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.MethodDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RemoveAt">
- <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodImplAttributes.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodImplAttributes.xml
deleted file mode 100644
index 0811129ab21..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodImplAttributes.xml
+++ /dev/null
@@ -1,203 +0,0 @@
-<Type Name="MethodImplAttributes" FullName="Mono.Cecil.MethodImplAttributes">
- <TypeSignature Language="C#" Value="public enum MethodImplAttributes" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Attributes>
- <Attribute>
- <AttributeName>System.Flags</AttributeName>
- </Attribute>
- </Attributes>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="CodeTypeMask">
- <MemberSignature Language="C#" Value="CodeTypeMask" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ForwardRef">
- <MemberSignature Language="C#" Value="ForwardRef" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="IL">
- <MemberSignature Language="C#" Value="IL" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InternalCall">
- <MemberSignature Language="C#" Value="InternalCall" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Managed">
- <MemberSignature Language="C#" Value="Managed" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ManagedMask">
- <MemberSignature Language="C#" Value="ManagedMask" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MaxMethodImplVal">
- <MemberSignature Language="C#" Value="MaxMethodImplVal" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Native">
- <MemberSignature Language="C#" Value="Native" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NoInlining">
- <MemberSignature Language="C#" Value="NoInlining" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="OPTIL">
- <MemberSignature Language="C#" Value="OPTIL" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="PreserveSig">
- <MemberSignature Language="C#" Value="PreserveSig" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Runtime">
- <MemberSignature Language="C#" Value="Runtime" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Synchronized">
- <MemberSignature Language="C#" Value="Synchronized" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Unmanaged">
- <MemberSignature Language="C#" Value="Unmanaged" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodReference.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodReference.xml
deleted file mode 100644
index 63fad7af854..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodReference.xml
+++ /dev/null
@@ -1,233 +0,0 @@
-<Type Name="MethodReference" FullName="Mono.Cecil.MethodReference">
- <TypeSignature Language="C#" Value="public class MethodReference : Mono.Cecil.MemberReference, Mono.Cecil.IGenericParameterProvider, Mono.Cecil.IMethodSignature" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.MemberReference</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IGenericParameterProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IMethodSignature</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public MethodReference (string name, Mono.Cecil.TypeReference declaringType, Mono.Cecil.TypeReference returnType, bool hasThis, bool explicitThis, Mono.Cecil.MethodCallingConvention callConv);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="declaringType" Type="Mono.Cecil.TypeReference" />
- <Parameter Name="returnType" Type="Mono.Cecil.TypeReference" />
- <Parameter Name="hasThis" Type="System.Boolean" />
- <Parameter Name="explicitThis" Type="System.Boolean" />
- <Parameter Name="callConv" Type="Mono.Cecil.MethodCallingConvention" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="declaringType">To be added.</param>
- <param name="returnType">To be added.</param>
- <param name="hasThis">To be added.</param>
- <param name="explicitThis">To be added.</param>
- <param name="callConv">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CallingConvention">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.MethodCallingConvention CallingConvention { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ExplicitThis">
- <MemberSignature Language="C#" Value="public virtual bool ExplicitThis { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GenericParameters">
- <MemberSignature Language="C#" Value="public Mono.Cecil.GenericParameterCollection GenericParameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericParameterCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetOriginalMethod">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.MethodReference GetOriginalMethod ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReference</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetSentinel">
- <MemberSignature Language="C#" Value="public int GetSentinel ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasGenericParameters">
- <MemberSignature Language="C#" Value="public bool HasGenericParameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasParameters">
- <MemberSignature Language="C#" Value="public virtual bool HasParameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasThis">
- <MemberSignature Language="C#" Value="public virtual bool HasThis { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Parameters">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.ParameterDefinitionCollection Parameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.MethodDefinition Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ReturnType">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.MethodReturnType ReturnType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReturnType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodReturnType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodReturnType.xml
deleted file mode 100644
index 57524fcaf1e..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodReturnType.xml
+++ /dev/null
@@ -1,178 +0,0 @@
-<Type Name="MethodReturnType" FullName="Mono.Cecil.MethodReturnType">
- <TypeSignature Language="C#" Value="public sealed class MethodReturnType : Mono.Cecil.ICustomAttributeProvider, Mono.Cecil.IHasConstant, Mono.Cecil.IHasMarshalSpec" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.ICustomAttributeProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IHasConstant</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IHasMarshalSpec</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public MethodReturnType (Mono.Cecil.TypeReference retType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="retType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="retType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Constant">
- <MemberSignature Language="C#" Value="public object Constant { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CustomAttributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasConstant">
- <MemberSignature Language="C#" Value="public bool HasConstant { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasCustomAttributes">
- <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MarshalSpec">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MarshalSpec MarshalSpec { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MetadataToken">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MetadataToken { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Method">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Method { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ReturnType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference ReturnType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodSemanticsAttributes.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodSemanticsAttributes.xml
deleted file mode 100644
index 47c6a6c92a8..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodSemanticsAttributes.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<Type Name="MethodSemanticsAttributes" FullName="Mono.Cecil.MethodSemanticsAttributes">
- <TypeSignature Language="C#" Value="public enum MethodSemanticsAttributes" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Attributes>
- <Attribute>
- <AttributeName>System.Flags</AttributeName>
- </Attribute>
- </Attributes>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="AddOn">
- <MemberSignature Language="C#" Value="AddOn" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodSemanticsAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Fire">
- <MemberSignature Language="C#" Value="Fire" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodSemanticsAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Getter">
- <MemberSignature Language="C#" Value="Getter" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodSemanticsAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Other">
- <MemberSignature Language="C#" Value="Other" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodSemanticsAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="RemoveOn">
- <MemberSignature Language="C#" Value="RemoveOn" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodSemanticsAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Setter">
- <MemberSignature Language="C#" Value="Setter" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodSemanticsAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodSpecification.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodSpecification.xml
deleted file mode 100644
index a5fa719b671..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/MethodSpecification.xml
+++ /dev/null
@@ -1,168 +0,0 @@
-<Type Name="MethodSpecification" FullName="Mono.Cecil.MethodSpecification">
- <TypeSignature Language="C#" Value="public abstract class MethodSpecification : Mono.Cecil.MethodReference" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.MethodReference</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="CallingConvention">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.MethodCallingConvention CallingConvention { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DeclaringType">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.TypeReference DeclaringType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ElementMethod">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference ElementMethod { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ExplicitThis">
- <MemberSignature Language="C#" Value="public override bool ExplicitThis { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetOriginalMethod">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.MethodReference GetOriginalMethod ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReference</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasParameters">
- <MemberSignature Language="C#" Value="public override bool HasParameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasThis">
- <MemberSignature Language="C#" Value="public override bool HasThis { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public override string Name { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Parameters">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.ParameterDefinitionCollection Parameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ReturnType">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.MethodReturnType ReturnType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReturnType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModType.xml
deleted file mode 100644
index 7ea99e79026..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModType.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-<Type Name="ModType" FullName="Mono.Cecil.ModType">
- <TypeSignature Language="C#" Value="public abstract class ModType : Mono.Cecil.TypeSpecification" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.TypeSpecification</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ModType (Mono.Cecil.TypeReference elemType, Mono.Cecil.TypeReference modType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="elemType" Type="Mono.Cecil.TypeReference" />
- <Parameter Name="modType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="elemType">To be added.</param>
- <param name="modType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FullName">
- <MemberSignature Language="C#" Value="public override string FullName { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ModifierName">
- <MemberSignature Language="C#" Value="protected abstract string ModifierName { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ModifierType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference ModifierType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public override string Name { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModifierOptional.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModifierOptional.xml
deleted file mode 100644
index cd883a28749..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModifierOptional.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<Type Name="ModifierOptional" FullName="Mono.Cecil.ModifierOptional">
- <TypeSignature Language="C#" Value="public sealed class ModifierOptional : Mono.Cecil.ModType" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.ModType</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ModifierOptional (Mono.Cecil.TypeReference elemType, Mono.Cecil.TypeReference modType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="elemType" Type="Mono.Cecil.TypeReference" />
- <Parameter Name="modType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="elemType">To be added.</param>
- <param name="modType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ModifierName">
- <MemberSignature Language="C#" Value="protected override string ModifierName { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModifierRequired.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModifierRequired.xml
deleted file mode 100644
index ac86ae01ab0..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModifierRequired.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<Type Name="ModifierRequired" FullName="Mono.Cecil.ModifierRequired">
- <TypeSignature Language="C#" Value="public sealed class ModifierRequired : Mono.Cecil.ModType" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.ModType</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ModifierRequired (Mono.Cecil.TypeReference elemType, Mono.Cecil.TypeReference modType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="elemType" Type="Mono.Cecil.TypeReference" />
- <Parameter Name="modType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="elemType">To be added.</param>
- <param name="modType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ModifierName">
- <MemberSignature Language="C#" Value="protected override string ModifierName { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModuleDefinition.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModuleDefinition.xml
deleted file mode 100644
index 540bde6af36..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModuleDefinition.xml
+++ /dev/null
@@ -1,1063 +0,0 @@
-<Type Name="ModuleDefinition" FullName="Mono.Cecil.ModuleDefinition">
- <TypeSignature Language="C#" Value="public sealed class ModuleDefinition : Mono.Cecil.ModuleReference, Mono.Cecil.ICustomAttributeProvider, Mono.Cecil.IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.ModuleReference</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.ICustomAttributeProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ModuleDefinition (string name, Mono.Cecil.AssemblyDefinition asm);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="asm">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ModuleDefinition (string name, Mono.Cecil.AssemblyDefinition asm, bool main);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
- <Parameter Name="main" Type="System.Boolean" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="asm">To be added.</param>
- <param name="main">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Assembly">
- <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyDefinition Assembly { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="AssemblyReferences">
- <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyNameReferenceCollection AssemblyReferences { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyNameReferenceCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CustomAttributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ExternTypes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ExternTypeCollection ExternTypes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ExternTypeCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FromByteArray">
- <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttribute FromByteArray (Mono.Cecil.MethodReference ctor, byte[] data);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.CustomAttribute</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ctor" Type="Mono.Cecil.MethodReference" />
- <Parameter Name="data" Type="System.Byte[]" />
- </Parameters>
- <Docs>
- <param name="ctor">To be added.</param>
- <param name="data">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FromByteArray">
- <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityDeclaration FromByteArray (Mono.Cecil.SecurityAction action, byte[] declaration);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityDeclaration</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="action" Type="Mono.Cecil.SecurityAction" />
- <Parameter Name="declaration" Type="System.Byte[]" />
- </Parameters>
- <Docs>
- <param name="action">To be added.</param>
- <param name="declaration">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FullLoad">
- <MemberSignature Language="C#" Value="public void FullLoad ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetAsByteArray">
- <MemberSignature Language="C#" Value="public byte[] GetAsByteArray (Mono.Cecil.CustomAttribute ca);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ca" Type="Mono.Cecil.CustomAttribute" />
- </Parameters>
- <Docs>
- <param name="ca">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetAsByteArray">
- <MemberSignature Language="C#" Value="public byte[] GetAsByteArray (Mono.Cecil.SecurityDeclaration dec);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="dec" Type="Mono.Cecil.SecurityDeclaration" />
- </Parameters>
- <Docs>
- <param name="dec">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasCustomAttributes">
- <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Image">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.Image Image { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Binary.Image</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FieldReference Import (Mono.Cecil.FieldReference field);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="field" Type="Mono.Cecil.FieldReference" />
- </Parameters>
- <Docs>
- <param name="field">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Import (Mono.Cecil.MethodReference meth);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="meth" Type="Mono.Cecil.MethodReference" />
- </Parameters>
- <Docs>
- <param name="meth">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference Import (Mono.Cecil.TypeReference type);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FieldReference Import (System.Reflection.FieldInfo field);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="field" Type="System.Reflection.FieldInfo" />
- </Parameters>
- <Docs>
- <param name="field">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Import (System.Reflection.MethodBase meth);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="meth" Type="System.Reflection.MethodBase" />
- </Parameters>
- <Docs>
- <param name="meth">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference Import (Type type);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="type" Type="System.Type" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FieldReference Import (Mono.Cecil.FieldReference field, Mono.Cecil.MethodDefinition context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="field" Type="Mono.Cecil.FieldReference" />
- <Parameter Name="context" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="field">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FieldReference Import (Mono.Cecil.FieldReference field, Mono.Cecil.TypeDefinition context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="field" Type="Mono.Cecil.FieldReference" />
- <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="field">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Import (Mono.Cecil.MethodReference meth, Mono.Cecil.MethodDefinition context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="meth" Type="Mono.Cecil.MethodReference" />
- <Parameter Name="context" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="meth">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Import (Mono.Cecil.MethodReference meth, Mono.Cecil.TypeDefinition context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="meth" Type="Mono.Cecil.MethodReference" />
- <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="meth">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference Import (Mono.Cecil.TypeReference type, Mono.Cecil.MethodDefinition context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
- <Parameter Name="context" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference Import (Mono.Cecil.TypeReference type, Mono.Cecil.TypeDefinition context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
- <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FieldReference Import (System.Reflection.FieldInfo field, Mono.Cecil.MethodDefinition context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="field" Type="System.Reflection.FieldInfo" />
- <Parameter Name="context" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="field">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FieldReference Import (System.Reflection.FieldInfo field, Mono.Cecil.TypeDefinition context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="field" Type="System.Reflection.FieldInfo" />
- <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="field">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Import (System.Reflection.MethodBase meth, Mono.Cecil.TypeDefinition context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="meth" Type="System.Reflection.MethodBase" />
- <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="meth">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference Import (Type type, Mono.Cecil.MethodDefinition context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="type" Type="System.Type" />
- <Parameter Name="context" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference Import (Type type, Mono.Cecil.TypeDefinition context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="type" Type="System.Type" />
- <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Inject">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Inject (Mono.Cecil.TypeDefinition type);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="type" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Inject">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FieldDefinition Inject (Mono.Cecil.FieldDefinition field, Mono.Cecil.TypeDefinition context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="field" Type="Mono.Cecil.FieldDefinition" />
- <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="field">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Inject">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition Inject (Mono.Cecil.MethodDefinition meth, Mono.Cecil.TypeDefinition context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="meth" Type="Mono.Cecil.MethodDefinition" />
- <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="meth">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Inject">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Inject (Mono.Cecil.TypeDefinition type, Mono.Cecil.IImporter importer);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="type" Type="Mono.Cecil.TypeDefinition" />
- <Parameter Name="importer" Type="Mono.Cecil.IImporter" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <param name="importer">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Inject">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Inject (Mono.Cecil.TypeDefinition type, Mono.Cecil.TypeDefinition context);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="type" Type="Mono.Cecil.TypeDefinition" />
- <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <param name="context">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Inject">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FieldDefinition Inject (Mono.Cecil.FieldDefinition field, Mono.Cecil.TypeDefinition context, Mono.Cecil.IImporter importer);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="field" Type="Mono.Cecil.FieldDefinition" />
- <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
- <Parameter Name="importer" Type="Mono.Cecil.IImporter" />
- </Parameters>
- <Docs>
- <param name="field">To be added.</param>
- <param name="context">To be added.</param>
- <param name="importer">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Inject">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition Inject (Mono.Cecil.MethodDefinition meth, Mono.Cecil.TypeDefinition context, Mono.Cecil.IImporter importer);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="meth" Type="Mono.Cecil.MethodDefinition" />
- <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
- <Parameter Name="importer" Type="Mono.Cecil.IImporter" />
- </Parameters>
- <Docs>
- <param name="meth">To be added.</param>
- <param name="context">To be added.</param>
- <param name="importer">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Inject">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Inject (Mono.Cecil.TypeDefinition type, Mono.Cecil.TypeDefinition context, Mono.Cecil.IImporter importer);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="type" Type="Mono.Cecil.TypeDefinition" />
- <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
- <Parameter Name="importer" Type="Mono.Cecil.IImporter" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <param name="context">To be added.</param>
- <param name="importer">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="LoadSymbols">
- <MemberSignature Language="C#" Value="public void LoadSymbols ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="LoadSymbols">
- <MemberSignature Language="C#" Value="public void LoadSymbols (Mono.Cecil.Cil.ISymbolReader reader);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="reader" Type="Mono.Cecil.Cil.ISymbolReader" />
- </Parameters>
- <Docs>
- <param name="reader">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="LookupByToken">
- <MemberSignature Language="C#" Value="public Mono.Cecil.IMetadataTokenProvider LookupByToken (Mono.Cecil.Metadata.MetadataToken token);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.IMetadataTokenProvider</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="token" Type="Mono.Cecil.Metadata.MetadataToken" />
- </Parameters>
- <Docs>
- <param name="token">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="LookupByToken">
- <MemberSignature Language="C#" Value="public Mono.Cecil.IMetadataTokenProvider LookupByToken (Mono.Cecil.Metadata.TokenType table, int rid);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.IMetadataTokenProvider</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="table" Type="Mono.Cecil.Metadata.TokenType" />
- <Parameter Name="rid" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="table">To be added.</param>
- <param name="rid">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Main">
- <MemberSignature Language="C#" Value="public bool Main { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MemberReferences">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MemberReferenceCollection MemberReferences { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MemberReferenceCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ModuleReferences">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleReferenceCollection ModuleReferences { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ModuleReferenceCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Mvid">
- <MemberSignature Language="C#" Value="public Guid Mvid { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Guid</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resources">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ResourceCollection Resources { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ResourceCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SaveSymbols">
- <MemberSignature Language="C#" Value="public void SaveSymbols ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SaveSymbols">
- <MemberSignature Language="C#" Value="public void SaveSymbols (Mono.Cecil.Cil.ISymbolWriter writer);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="writer" Type="Mono.Cecil.Cil.ISymbolWriter" />
- </Parameters>
- <Docs>
- <param name="writer">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SaveSymbols">
- <MemberSignature Language="C#" Value="public void SaveSymbols (string outputDirectory);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="outputDirectory" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="outputDirectory">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SaveSymbols">
- <MemberSignature Language="C#" Value="public void SaveSymbols (string outputDirectory, Mono.Cecil.Cil.ISymbolWriter writer);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="outputDirectory" Type="System.String" />
- <Parameter Name="writer" Type="Mono.Cecil.Cil.ISymbolWriter" />
- </Parameters>
- <Docs>
- <param name="outputDirectory">To be added.</param>
- <param name="writer">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TypeReferences">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReferenceCollection TypeReferences { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReferenceCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Types">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinitionCollection Types { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModuleDefinitionCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModuleDefinitionCollection.xml
deleted file mode 100644
index 83e7303f3e6..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModuleDefinitionCollection.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<Type Name="ModuleDefinitionCollection" FullName="Mono.Cecil.ModuleDefinitionCollection">
- <TypeSignature Language="C#" Value="public sealed class ModuleDefinitionCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionStructureVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionStructureVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ModuleDefinitionCollection (Mono.Cecil.AssemblyDefinition container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.AssemblyDefinition" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.ModuleDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyDefinition Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.ModuleDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.ModuleDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.ModuleDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.ModuleDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModuleReference.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModuleReference.xml
deleted file mode 100644
index fdea3f52700..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModuleReference.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-<Type Name="ModuleReference" FullName="Mono.Cecil.ModuleReference">
- <TypeSignature Language="C#" Value="public class ModuleReference : Mono.Cecil.IAnnotationProvider, Mono.Cecil.IMetadataScope, Mono.Cecil.IReflectionStructureVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IMetadataScope</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionStructureVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ModuleReference (string name);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public virtual void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MetadataToken">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MetadataToken { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
- <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IDictionary</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public string Name { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModuleReferenceCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModuleReferenceCollection.xml
deleted file mode 100644
index a0e1dffd528..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ModuleReferenceCollection.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<Type Name="ModuleReferenceCollection" FullName="Mono.Cecil.ModuleReferenceCollection">
- <TypeSignature Language="C#" Value="public sealed class ModuleReferenceCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionStructureVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionStructureVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ModuleReferenceCollection (Mono.Cecil.ModuleDefinition container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.ModuleReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.ModuleReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.ModuleReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.ModuleReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.ModuleReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.ModuleReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.ModuleReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.ModuleReference" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleReference this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ModuleReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.ModuleReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.ModuleReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/NativeType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/NativeType.xml
deleted file mode 100644
index 3855939a237..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/NativeType.xml
+++ /dev/null
@@ -1,497 +0,0 @@
-<Type Name="NativeType" FullName="Mono.Cecil.NativeType">
- <TypeSignature Language="C#" Value="public enum NativeType" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="ANSIBSTR">
- <MemberSignature Language="C#" Value="ANSIBSTR" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ARRAY">
- <MemberSignature Language="C#" Value="ARRAY" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ASANY">
- <MemberSignature Language="C#" Value="ASANY" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="BOOLEAN">
- <MemberSignature Language="C#" Value="BOOLEAN" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="BSTR">
- <MemberSignature Language="C#" Value="BSTR" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="BYVALSTR">
- <MemberSignature Language="C#" Value="BYVALSTR" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CURRENCY">
- <MemberSignature Language="C#" Value="CURRENCY" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CUSTOMMARSHALER">
- <MemberSignature Language="C#" Value="CUSTOMMARSHALER" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ERROR">
- <MemberSignature Language="C#" Value="ERROR" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="FIXEDARRAY">
- <MemberSignature Language="C#" Value="FIXEDARRAY" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="FIXEDSYSSTRING">
- <MemberSignature Language="C#" Value="FIXEDSYSSTRING" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="FUNC">
- <MemberSignature Language="C#" Value="FUNC" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="I1">
- <MemberSignature Language="C#" Value="I1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="I2">
- <MemberSignature Language="C#" Value="I2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="I4">
- <MemberSignature Language="C#" Value="I4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="I8">
- <MemberSignature Language="C#" Value="I8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="IDISPATCH">
- <MemberSignature Language="C#" Value="IDISPATCH" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="INT">
- <MemberSignature Language="C#" Value="INT" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="INTF">
- <MemberSignature Language="C#" Value="INTF" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="IUNKNOWN">
- <MemberSignature Language="C#" Value="IUNKNOWN" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="LPSTR">
- <MemberSignature Language="C#" Value="LPSTR" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="LPSTRUCT">
- <MemberSignature Language="C#" Value="LPSTRUCT" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="LPTSTR">
- <MemberSignature Language="C#" Value="LPTSTR" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="LPWSTR">
- <MemberSignature Language="C#" Value="LPWSTR" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="MAX">
- <MemberSignature Language="C#" Value="MAX" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NONE">
- <MemberSignature Language="C#" Value="NONE" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="R4">
- <MemberSignature Language="C#" Value="R4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="R8">
- <MemberSignature Language="C#" Value="R8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="SAFEARRAY">
- <MemberSignature Language="C#" Value="SAFEARRAY" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="STRUCT">
- <MemberSignature Language="C#" Value="STRUCT" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="TBSTR">
- <MemberSignature Language="C#" Value="TBSTR" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="U1">
- <MemberSignature Language="C#" Value="U1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="U2">
- <MemberSignature Language="C#" Value="U2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="U4">
- <MemberSignature Language="C#" Value="U4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="U8">
- <MemberSignature Language="C#" Value="U8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="UINT">
- <MemberSignature Language="C#" Value="UINT" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="VARIANTBOOL">
- <MemberSignature Language="C#" Value="VARIANTBOOL" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NativeType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/NestedTypeCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/NestedTypeCollection.xml
deleted file mode 100644
index 2f81fd2f218..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/NestedTypeCollection.xml
+++ /dev/null
@@ -1,233 +0,0 @@
-<Type Name="NestedTypeCollection" FullName="Mono.Cecil.NestedTypeCollection">
- <TypeSignature Language="C#" Value="public sealed class NestedTypeCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public NestedTypeCollection (Mono.Cecil.TypeDefinition container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.TypeDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clear">
- <MemberSignature Language="C#" Value="public void Clear ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.TypeDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.TypeDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.TypeDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.TypeDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RemoveAt">
- <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/OverrideCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/OverrideCollection.xml
deleted file mode 100644
index b59434f9fa4..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/OverrideCollection.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<Type Name="OverrideCollection" FullName="Mono.Cecil.OverrideCollection">
- <TypeSignature Language="C#" Value="public sealed class OverrideCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public OverrideCollection (Mono.Cecil.MethodDefinition container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.MethodReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.MethodReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.MethodReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.MethodReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.MethodReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.MethodReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.MethodReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.MethodReference" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.MethodReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.MethodReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PInvokeAttributes.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PInvokeAttributes.xml
deleted file mode 100644
index a11db214599..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PInvokeAttributes.xml
+++ /dev/null
@@ -1,190 +0,0 @@
-<Type Name="PInvokeAttributes" FullName="Mono.Cecil.PInvokeAttributes">
- <TypeSignature Language="C#" Value="public enum PInvokeAttributes" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Attributes>
- <Attribute>
- <AttributeName>System.Flags</AttributeName>
- </Attribute>
- </Attributes>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="CallConvCdecl">
- <MemberSignature Language="C#" Value="CallConvCdecl" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CallConvFastcall">
- <MemberSignature Language="C#" Value="CallConvFastcall" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CallConvMask">
- <MemberSignature Language="C#" Value="CallConvMask" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CallConvStdCall">
- <MemberSignature Language="C#" Value="CallConvStdCall" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CallConvThiscall">
- <MemberSignature Language="C#" Value="CallConvThiscall" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CallConvWinapi">
- <MemberSignature Language="C#" Value="CallConvWinapi" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CharSetAnsi">
- <MemberSignature Language="C#" Value="CharSetAnsi" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CharSetAuto">
- <MemberSignature Language="C#" Value="CharSetAuto" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CharSetMask">
- <MemberSignature Language="C#" Value="CharSetMask" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CharSetNotSpec">
- <MemberSignature Language="C#" Value="CharSetNotSpec" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CharSetUnicode">
- <MemberSignature Language="C#" Value="CharSetUnicode" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NoMangle">
- <MemberSignature Language="C#" Value="NoMangle" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="SupportsLastError">
- <MemberSignature Language="C#" Value="SupportsLastError" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PInvokeInfo.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PInvokeInfo.xml
deleted file mode 100644
index f5627e3502d..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PInvokeInfo.xml
+++ /dev/null
@@ -1,300 +0,0 @@
-<Type Name="PInvokeInfo" FullName="Mono.Cecil.PInvokeInfo">
- <TypeSignature Language="C#" Value="public sealed class PInvokeInfo : Mono.Cecil.IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public PInvokeInfo (Mono.Cecil.MethodDefinition meth);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="meth" Type="Mono.Cecil.MethodDefinition" />
- </Parameters>
- <Docs>
- <param name="meth">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public PInvokeInfo (Mono.Cecil.MethodDefinition meth, Mono.Cecil.PInvokeAttributes attrs, string entryPoint, Mono.Cecil.ModuleReference mod);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="meth" Type="Mono.Cecil.MethodDefinition" />
- <Parameter Name="attrs" Type="Mono.Cecil.PInvokeAttributes" />
- <Parameter Name="entryPoint" Type="System.String" />
- <Parameter Name="mod" Type="Mono.Cecil.ModuleReference" />
- </Parameters>
- <Docs>
- <param name="meth">To be added.</param>
- <param name="attrs">To be added.</param>
- <param name="entryPoint">To be added.</param>
- <param name="mod">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Attributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.PInvokeAttributes Attributes { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="EntryPoint">
- <MemberSignature Language="C#" Value="public string EntryPoint { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsCallConvCdecl">
- <MemberSignature Language="C#" Value="public bool IsCallConvCdecl { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsCallConvFastcall">
- <MemberSignature Language="C#" Value="public bool IsCallConvFastcall { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsCallConvStdCall">
- <MemberSignature Language="C#" Value="public bool IsCallConvStdCall { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsCallConvThiscall">
- <MemberSignature Language="C#" Value="public bool IsCallConvThiscall { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsCallConvWinapi">
- <MemberSignature Language="C#" Value="public bool IsCallConvWinapi { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsCharSetAnsi">
- <MemberSignature Language="C#" Value="public bool IsCharSetAnsi { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsCharSetAuto">
- <MemberSignature Language="C#" Value="public bool IsCharSetAuto { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsCharSetNotSpec">
- <MemberSignature Language="C#" Value="public bool IsCharSetNotSpec { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsCharSetUnicode">
- <MemberSignature Language="C#" Value="public bool IsCharSetUnicode { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsNoMangle">
- <MemberSignature Language="C#" Value="public bool IsNoMangle { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Method">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition Method { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Module">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleReference Module { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ModuleReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SupportsLastError">
- <MemberSignature Language="C#" Value="public bool SupportsLastError { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ParameterAttributes.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ParameterAttributes.xml
deleted file mode 100644
index deebc7c19bf..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ParameterAttributes.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-<Type Name="ParameterAttributes" FullName="Mono.Cecil.ParameterAttributes">
- <TypeSignature Language="C#" Value="public enum ParameterAttributes" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Attributes>
- <Attribute>
- <AttributeName>System.Flags</AttributeName>
- </Attribute>
- </Attributes>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="HasDefault">
- <MemberSignature Language="C#" Value="HasDefault" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="HasFieldMarshal">
- <MemberSignature Language="C#" Value="HasFieldMarshal" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="In">
- <MemberSignature Language="C#" Value="In" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Lcid">
- <MemberSignature Language="C#" Value="Lcid" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="None">
- <MemberSignature Language="C#" Value="None" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Optional">
- <MemberSignature Language="C#" Value="Optional" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Out">
- <MemberSignature Language="C#" Value="Out" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Retval">
- <MemberSignature Language="C#" Value="Retval" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Unused">
- <MemberSignature Language="C#" Value="Unused" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ParameterDefinition.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ParameterDefinition.xml
deleted file mode 100644
index 756a55cd762..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ParameterDefinition.xml
+++ /dev/null
@@ -1,308 +0,0 @@
-<Type Name="ParameterDefinition" FullName="Mono.Cecil.ParameterDefinition">
- <TypeSignature Language="C#" Value="public sealed class ParameterDefinition : Mono.Cecil.ParameterReference, Mono.Cecil.ICustomAttributeProvider, Mono.Cecil.IHasConstant, Mono.Cecil.IHasMarshalSpec" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.ParameterReference</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.ICustomAttributeProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IHasConstant</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IHasMarshalSpec</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ParameterDefinition (Mono.Cecil.TypeReference paramType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="paramType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="paramType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ParameterDefinition (string name, int seq, Mono.Cecil.ParameterAttributes attrs, Mono.Cecil.TypeReference paramType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="seq" Type="System.Int32" />
- <Parameter Name="attrs" Type="Mono.Cecil.ParameterAttributes" />
- <Parameter Name="paramType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="seq">To be added.</param>
- <param name="attrs">To be added.</param>
- <param name="paramType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Attributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ParameterAttributes Attributes { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clone">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ParameterDefinition Clone ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Constant">
- <MemberSignature Language="C#" Value="public object Constant { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CustomAttributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasConstant">
- <MemberSignature Language="C#" Value="public bool HasConstant { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasCustomAttributes">
- <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasDefault">
- <MemberSignature Language="C#" Value="public bool HasDefault { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsIn">
- <MemberSignature Language="C#" Value="public bool IsIn { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsLcid">
- <MemberSignature Language="C#" Value="public bool IsLcid { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsOptional">
- <MemberSignature Language="C#" Value="public bool IsOptional { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsOut">
- <MemberSignature Language="C#" Value="public bool IsOut { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsRetval">
- <MemberSignature Language="C#" Value="public bool IsRetval { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MarshalSpec">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MarshalSpec MarshalSpec { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Method">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Method { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.ParameterDefinition Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ParameterDefinitionCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ParameterDefinitionCollection.xml
deleted file mode 100644
index 9a824b520b8..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ParameterDefinitionCollection.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<Type Name="ParameterDefinitionCollection" FullName="Mono.Cecil.ParameterDefinitionCollection">
- <TypeSignature Language="C#" Value="public sealed class ParameterDefinitionCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ParameterDefinitionCollection (Mono.Cecil.IMemberReference container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.IMemberReference" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.ParameterDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.ParameterDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.IMemberReference Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.IMemberReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.ParameterDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.ParameterDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.ParameterDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.ParameterDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.ParameterDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.ParameterDefinition" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ParameterDefinition this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.ParameterDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.ParameterDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ParameterReference.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ParameterReference.xml
deleted file mode 100644
index dad3222fdb1..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ParameterReference.xml
+++ /dev/null
@@ -1,171 +0,0 @@
-<Type Name="ParameterReference" FullName="Mono.Cecil.ParameterReference">
- <TypeSignature Language="C#" Value="public abstract class ParameterReference : Mono.Cecil.IAnnotationProvider, Mono.Cecil.IMetadataTokenProvider, Mono.Cecil.IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ParameterReference (string name, int sequence, Mono.Cecil.TypeReference parameterType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="sequence" Type="System.Int32" />
- <Parameter Name="parameterType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="sequence">To be added.</param>
- <param name="parameterType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public abstract void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MetadataToken">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MetadataToken { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
- <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IDictionary</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public string Name { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ParameterType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference ParameterType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public abstract Mono.Cecil.ParameterDefinition Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Sequence">
- <MemberSignature Language="C#" Value="public int Sequence { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PinnedType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PinnedType.xml
deleted file mode 100644
index 8499be0427c..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PinnedType.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<Type Name="PinnedType" FullName="Mono.Cecil.PinnedType">
- <TypeSignature Language="C#" Value="public sealed class PinnedType : Mono.Cecil.TypeSpecification" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.TypeSpecification</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public PinnedType (Mono.Cecil.TypeReference pType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="pType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="pType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PointerType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PointerType.xml
deleted file mode 100644
index 2766c6504e3..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PointerType.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<Type Name="PointerType" FullName="Mono.Cecil.PointerType">
- <TypeSignature Language="C#" Value="public sealed class PointerType : Mono.Cecil.TypeSpecification" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.TypeSpecification</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public PointerType (Mono.Cecil.TypeReference pType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="pType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="pType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FullName">
- <MemberSignature Language="C#" Value="public override string FullName { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public override string Name { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PropertyAttributes.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PropertyAttributes.xml
deleted file mode 100644
index fa9dce92f87..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PropertyAttributes.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<Type Name="PropertyAttributes" FullName="Mono.Cecil.PropertyAttributes">
- <TypeSignature Language="C#" Value="public enum PropertyAttributes" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Attributes>
- <Attribute>
- <AttributeName>System.Flags</AttributeName>
- </Attribute>
- </Attributes>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="HasDefault">
- <MemberSignature Language="C#" Value="HasDefault" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PropertyAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="RTSpecialName">
- <MemberSignature Language="C#" Value="RTSpecialName" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PropertyAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="SpecialName">
- <MemberSignature Language="C#" Value="SpecialName" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PropertyAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Unused">
- <MemberSignature Language="C#" Value="Unused" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PropertyAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PropertyDefinition.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PropertyDefinition.xml
deleted file mode 100644
index 9742191076a..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PropertyDefinition.xml
+++ /dev/null
@@ -1,342 +0,0 @@
-<Type Name="PropertyDefinition" FullName="Mono.Cecil.PropertyDefinition">
- <TypeSignature Language="C#" Value="public sealed class PropertyDefinition : Mono.Cecil.PropertyReference, Mono.Cecil.IHasConstant, Mono.Cecil.IMemberDefinition" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.PropertyReference</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IHasConstant</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IMemberDefinition</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public PropertyDefinition (string name, Mono.Cecil.TypeReference propertyType, Mono.Cecil.PropertyAttributes attrs);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="propertyType" Type="Mono.Cecil.TypeReference" />
- <Parameter Name="attrs" Type="Mono.Cecil.PropertyAttributes" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="propertyType">To be added.</param>
- <param name="attrs">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Attributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.PropertyAttributes Attributes { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PropertyAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clone">
- <MemberSignature Language="C#" Value="public Mono.Cecil.PropertyDefinition Clone ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PropertyDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Constant">
- <MemberSignature Language="C#" Value="public object Constant { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CreateGetMethod">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.MethodDefinition CreateGetMethod (Mono.Cecil.PropertyDefinition prop);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="prop" Type="Mono.Cecil.PropertyDefinition" />
- </Parameters>
- <Docs>
- <param name="prop">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CreateSetMethod">
- <MemberSignature Language="C#" Value="public static Mono.Cecil.MethodDefinition CreateSetMethod (Mono.Cecil.PropertyDefinition prop);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="prop" Type="Mono.Cecil.PropertyDefinition" />
- </Parameters>
- <Docs>
- <param name="prop">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CustomAttributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DeclaringType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition DeclaringType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetMethod">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition GetMethod { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasConstant">
- <MemberSignature Language="C#" Value="public bool HasConstant { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasCustomAttributes">
- <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasDefault">
- <MemberSignature Language="C#" Value="public bool HasDefault { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasParameters">
- <MemberSignature Language="C#" Value="public override bool HasParameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsRuntimeSpecialName">
- <MemberSignature Language="C#" Value="public bool IsRuntimeSpecialName { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSpecialName">
- <MemberSignature Language="C#" Value="public bool IsSpecialName { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Parameters">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.ParameterDefinitionCollection Parameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.PropertyDefinition Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PropertyDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SetMethod">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition SetMethod { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PropertyDefinitionCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PropertyDefinitionCollection.xml
deleted file mode 100644
index 7e8b76b8511..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PropertyDefinitionCollection.xml
+++ /dev/null
@@ -1,252 +0,0 @@
-<Type Name="PropertyDefinitionCollection" FullName="Mono.Cecil.PropertyDefinitionCollection">
- <TypeSignature Language="C#" Value="public sealed class PropertyDefinitionCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public PropertyDefinitionCollection (Mono.Cecil.TypeDefinition container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.PropertyDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.PropertyDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clear">
- <MemberSignature Language="C#" Value="public void Clear ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.PropertyDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.PropertyDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetProperties">
- <MemberSignature Language="C#" Value="public Mono.Cecil.PropertyDefinition[] GetProperties (string name);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PropertyDefinition[]</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.PropertyDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.PropertyDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.PropertyDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.PropertyDefinition" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.PropertyDefinition this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PropertyDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.PropertyDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.PropertyDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RemoveAt">
- <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PropertyReference.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PropertyReference.xml
deleted file mode 100644
index 1da1bbd6c1b..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/PropertyReference.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<Type Name="PropertyReference" FullName="Mono.Cecil.PropertyReference">
- <TypeSignature Language="C#" Value="public abstract class PropertyReference : Mono.Cecil.MemberReference" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.MemberReference</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public PropertyReference (string name, Mono.Cecil.TypeReference propertyType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="propertyType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="propertyType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasParameters">
- <MemberSignature Language="C#" Value="public abstract bool HasParameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="m_parameters">
- <MemberSignature Language="C#" Value="protected Mono.Cecil.ParameterDefinitionCollection m_parameters;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Parameters">
- <MemberSignature Language="C#" Value="public abstract Mono.Cecil.ParameterDefinitionCollection Parameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ParameterDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PropertyType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference PropertyType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public abstract Mono.Cecil.PropertyDefinition Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PropertyDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ReferenceType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ReferenceType.xml
deleted file mode 100644
index df6ff9fe4e0..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ReferenceType.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<Type Name="ReferenceType" FullName="Mono.Cecil.ReferenceType">
- <TypeSignature Language="C#" Value="public sealed class ReferenceType : Mono.Cecil.TypeSpecification" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.TypeSpecification</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ReferenceType (Mono.Cecil.TypeReference type);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="type">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FullName">
- <MemberSignature Language="C#" Value="public override string FullName { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public override string Name { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ReflectionException.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ReflectionException.xml
deleted file mode 100644
index 6b151bfd7df..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ReflectionException.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<Type Name="ReflectionException" FullName="Mono.Cecil.ReflectionException">
- <TypeSignature Language="C#" Value="public sealed class ReflectionException : Mono.Cecil.Metadata.MetadataFormatException" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.Metadata.MetadataFormatException</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members />
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/Resource.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/Resource.xml
deleted file mode 100644
index 52543fca995..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/Resource.xml
+++ /dev/null
@@ -1,117 +0,0 @@
-<Type Name="Resource" FullName="Mono.Cecil.Resource">
- <TypeSignature Language="C#" Value="public abstract class Resource : Mono.Cecil.IAnnotationProvider, Mono.Cecil.IReflectionStructureVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionStructureVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public abstract void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Flags">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ManifestResourceAttributes Flags { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ManifestResourceAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsPrivate">
- <MemberSignature Language="C#" Value="public bool IsPrivate { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsPublic">
- <MemberSignature Language="C#" Value="public bool IsPublic { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
- <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IDictionary</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public string Name { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ResourceCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ResourceCollection.xml
deleted file mode 100644
index 1bdd0772555..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/ResourceCollection.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<Type Name="ResourceCollection" FullName="Mono.Cecil.ResourceCollection">
- <TypeSignature Language="C#" Value="public sealed class ResourceCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionStructureVisitable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionStructureVisitable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public ResourceCollection (Mono.Cecil.ModuleDefinition container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.Resource value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Resource" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.Resource value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Resource" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.Resource value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Resource" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Insert">
- <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.Resource value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="Mono.Cecil.Resource" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.Resource this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.Resource</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="OnValidate">
- <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="o" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="o">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.Resource value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.Resource" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SafeArraySpec.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SafeArraySpec.xml
deleted file mode 100644
index 2d3895d899c..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SafeArraySpec.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<Type Name="SafeArraySpec" FullName="Mono.Cecil.SafeArraySpec">
- <TypeSignature Language="C#" Value="public sealed class SafeArraySpec : Mono.Cecil.MarshalSpec" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.MarshalSpec</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public SafeArraySpec (Mono.Cecil.IHasMarshalSpec container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CloneInto">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.MarshalSpec CloneInto (Mono.Cecil.IHasMarshalSpec container);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ElemType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.VariantType ElemType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SecurityAction.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SecurityAction.xml
deleted file mode 100644
index f19ef52fda6..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SecurityAction.xml
+++ /dev/null
@@ -1,211 +0,0 @@
-<Type Name="SecurityAction" FullName="Mono.Cecil.SecurityAction">
- <TypeSignature Language="C#" Value="public enum SecurityAction" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Assert">
- <MemberSignature Language="C#" Value="Assert" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Demand">
- <MemberSignature Language="C#" Value="Demand" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Deny">
- <MemberSignature Language="C#" Value="Deny" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="InheritDemand">
- <MemberSignature Language="C#" Value="InheritDemand" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="LinkDemand">
- <MemberSignature Language="C#" Value="LinkDemand" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NonCasDemand">
- <MemberSignature Language="C#" Value="NonCasDemand" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NonCasInheritance">
- <MemberSignature Language="C#" Value="NonCasInheritance" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NonCasLinkDemand">
- <MemberSignature Language="C#" Value="NonCasLinkDemand" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="PermitOnly">
- <MemberSignature Language="C#" Value="PermitOnly" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="PreJitDeny">
- <MemberSignature Language="C#" Value="PreJitDeny" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="PreJitGrant">
- <MemberSignature Language="C#" Value="PreJitGrant" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Request">
- <MemberSignature Language="C#" Value="Request" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="RequestMinimum">
- <MemberSignature Language="C#" Value="RequestMinimum" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="RequestOptional">
- <MemberSignature Language="C#" Value="RequestOptional" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="RequestRefuse">
- <MemberSignature Language="C#" Value="RequestRefuse" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SecurityDeclaration.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SecurityDeclaration.xml
deleted file mode 100644
index e3473a7edf1..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SecurityDeclaration.xml
+++ /dev/null
@@ -1,167 +0,0 @@
-<Type Name="SecurityDeclaration" FullName="Mono.Cecil.SecurityDeclaration">
- <TypeSignature Language="C#" Value="public sealed class SecurityDeclaration : Mono.Cecil.IAnnotationProvider, Mono.Cecil.IReflectionVisitable, Mono.Cecil.IRequireResolving" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IRequireResolving</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public SecurityDeclaration (Mono.Cecil.SecurityAction action);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="action" Type="Mono.Cecil.SecurityAction" />
- </Parameters>
- <Docs>
- <param name="action">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Action">
- <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityAction Action { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Blob">
- <MemberSignature Language="C#" Value="public byte[] Blob { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Byte[]</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clone">
- <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityDeclaration Clone ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityDeclaration</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
- <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IDictionary</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PermissionSet">
- <MemberSignature Language="C#" Value="public System.Security.PermissionSet PermissionSet { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Security.PermissionSet</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public bool Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolved">
- <MemberSignature Language="C#" Value="public bool Resolved { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SecurityDeclarationCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SecurityDeclarationCollection.xml
deleted file mode 100644
index d62c36d8f04..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SecurityDeclarationCollection.xml
+++ /dev/null
@@ -1,280 +0,0 @@
-<Type Name="SecurityDeclarationCollection" FullName="Mono.Cecil.SecurityDeclarationCollection">
- <TypeSignature Language="C#" Value="public sealed class SecurityDeclarationCollection : Mono.Cecil.IReflectionVisitable, System.Collections.IEnumerable" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Object</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>System.Collections.IEnumerable</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public SecurityDeclarationCollection (Mono.Cecil.IHasSecurity container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.IHasSecurity" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.SecurityDeclaration value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.SecurityDeclaration" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clear">
- <MemberSignature Language="C#" Value="public void Clear ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.IHasSecurity Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.IHasSecurity</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.SecurityAction action);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="action" Type="Mono.Cecil.SecurityAction" />
- </Parameters>
- <Docs>
- <param name="action">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.SecurityDeclaration value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.SecurityDeclaration" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CopyTo">
- <MemberSignature Language="C#" Value="public void CopyTo (Array ary, int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ary" Type="System.Array" />
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="ary">To be added.</param>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Count">
- <MemberSignature Language="C#" Value="public int Count { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetEnumerator">
- <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IEnumerator</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSynchronized">
- <MemberSignature Language="C#" Value="public bool IsSynchronized { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityDeclaration this[Mono.Cecil.SecurityAction action] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityDeclaration</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="action" Type="Mono.Cecil.SecurityAction" />
- </Parameters>
- <Docs>
- <param name="action">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityDeclaration this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityDeclaration</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.SecurityAction action);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="action" Type="Mono.Cecil.SecurityAction" />
- </Parameters>
- <Docs>
- <param name="action">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SyncRoot">
- <MemberSignature Language="C#" Value="public object SyncRoot { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SentinelType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SentinelType.xml
deleted file mode 100644
index cb2baf7a32a..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/SentinelType.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<Type Name="SentinelType" FullName="Mono.Cecil.SentinelType">
- <TypeSignature Language="C#" Value="public sealed class SentinelType : Mono.Cecil.TypeSpecification" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.TypeSpecification</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public SentinelType (Mono.Cecil.TypeReference elementType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="elementType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="elementType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TargetRuntime.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TargetRuntime.xml
deleted file mode 100644
index 66b2f8bbe48..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TargetRuntime.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<Type Name="TargetRuntime" FullName="Mono.Cecil.TargetRuntime">
- <TypeSignature Language="C#" Value="public enum TargetRuntime" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="NET_1_0">
- <MemberSignature Language="C#" Value="NET_1_0" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TargetRuntime</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NET_1_1">
- <MemberSignature Language="C#" Value="NET_1_1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TargetRuntime</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NET_2_0">
- <MemberSignature Language="C#" Value="NET_2_0" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TargetRuntime</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NET_4_0">
- <MemberSignature Language="C#" Value="NET_4_0" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TargetRuntime</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeAttributes.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeAttributes.xml
deleted file mode 100644
index 791fc6aec24..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeAttributes.xml
+++ /dev/null
@@ -1,385 +0,0 @@
-<Type Name="TypeAttributes" FullName="Mono.Cecil.TypeAttributes">
- <TypeSignature Language="C#" Value="public enum TypeAttributes" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Attributes>
- <Attribute>
- <AttributeName>System.Flags</AttributeName>
- </Attribute>
- </Attributes>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="Abstract">
- <MemberSignature Language="C#" Value="Abstract" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="AnsiClass">
- <MemberSignature Language="C#" Value="AnsiClass" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="AutoClass">
- <MemberSignature Language="C#" Value="AutoClass" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="AutoLayout">
- <MemberSignature Language="C#" Value="AutoLayout" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="BeforeFieldInit">
- <MemberSignature Language="C#" Value="BeforeFieldInit" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Class">
- <MemberSignature Language="C#" Value="Class" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ClassSemanticMask">
- <MemberSignature Language="C#" Value="ClassSemanticMask" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ExplicitLayout">
- <MemberSignature Language="C#" Value="ExplicitLayout" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="HasSecurity">
- <MemberSignature Language="C#" Value="HasSecurity" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Import">
- <MemberSignature Language="C#" Value="Import" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Interface">
- <MemberSignature Language="C#" Value="Interface" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="LayoutMask">
- <MemberSignature Language="C#" Value="LayoutMask" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NestedAssembly">
- <MemberSignature Language="C#" Value="NestedAssembly" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NestedFamANDAssem">
- <MemberSignature Language="C#" Value="NestedFamANDAssem" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NestedFamily">
- <MemberSignature Language="C#" Value="NestedFamily" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NestedFamORAssem">
- <MemberSignature Language="C#" Value="NestedFamORAssem" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NestedPrivate">
- <MemberSignature Language="C#" Value="NestedPrivate" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NestedPublic">
- <MemberSignature Language="C#" Value="NestedPublic" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="NotPublic">
- <MemberSignature Language="C#" Value="NotPublic" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Public">
- <MemberSignature Language="C#" Value="Public" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="RTSpecialName">
- <MemberSignature Language="C#" Value="RTSpecialName" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Sealed">
- <MemberSignature Language="C#" Value="Sealed" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="SequentialLayout">
- <MemberSignature Language="C#" Value="SequentialLayout" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="Serializable">
- <MemberSignature Language="C#" Value="Serializable" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="SpecialName">
- <MemberSignature Language="C#" Value="SpecialName" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="StringFormatMask">
- <MemberSignature Language="C#" Value="StringFormatMask" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="UnicodeClass">
- <MemberSignature Language="C#" Value="UnicodeClass" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="VisibilityMask">
- <MemberSignature Language="C#" Value="VisibilityMask" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeDefinition.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeDefinition.xml
deleted file mode 100644
index 21edcd28f31..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeDefinition.xml
+++ /dev/null
@@ -1,815 +0,0 @@
-<Type Name="TypeDefinition" FullName="Mono.Cecil.TypeDefinition">
- <TypeSignature Language="C#" Value="public sealed class TypeDefinition : Mono.Cecil.TypeReference, Mono.Cecil.IHasSecurity, Mono.Cecil.IMemberDefinition" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.TypeReference</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IHasSecurity</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IMemberDefinition</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public TypeDefinition (string name, string ns, Mono.Cecil.TypeAttributes attributes, Mono.Cecil.TypeReference baseType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="ns" Type="System.String" />
- <Parameter Name="attributes" Type="Mono.Cecil.TypeAttributes" />
- <Parameter Name="baseType" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="ns">To be added.</param>
- <param name="attributes">To be added.</param>
- <param name="baseType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Attributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeAttributes Attributes { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="BaseType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference BaseType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ClassSize">
- <MemberSignature Language="C#" Value="public uint ClassSize { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clone">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Clone ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Constructors">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ConstructorCollection Constructors { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ConstructorCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DeclaringType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition DeclaringType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Events">
- <MemberSignature Language="C#" Value="public Mono.Cecil.EventDefinitionCollection Events { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.EventDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Fields">
- <MemberSignature Language="C#" Value="public Mono.Cecil.FieldDefinitionCollection Fields { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.FieldDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasConstructors">
- <MemberSignature Language="C#" Value="public bool HasConstructors { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasEvents">
- <MemberSignature Language="C#" Value="public bool HasEvents { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasFields">
- <MemberSignature Language="C#" Value="public bool HasFields { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasInterfaces">
- <MemberSignature Language="C#" Value="public bool HasInterfaces { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasLayoutInfo">
- <MemberSignature Language="C#" Value="public bool HasLayoutInfo { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasMethods">
- <MemberSignature Language="C#" Value="public bool HasMethods { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasNestedTypes">
- <MemberSignature Language="C#" Value="public bool HasNestedTypes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasProperties">
- <MemberSignature Language="C#" Value="public bool HasProperties { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasSecurity">
- <MemberSignature Language="C#" Value="public bool HasSecurity { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasSecurityDeclarations">
- <MemberSignature Language="C#" Value="public bool HasSecurityDeclarations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Interfaces">
- <MemberSignature Language="C#" Value="public Mono.Cecil.InterfaceCollection Interfaces { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.InterfaceCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsAbstract">
- <MemberSignature Language="C#" Value="public bool IsAbstract { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsAnsiClass">
- <MemberSignature Language="C#" Value="public bool IsAnsiClass { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsAutoClass">
- <MemberSignature Language="C#" Value="public bool IsAutoClass { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsAutoLayout">
- <MemberSignature Language="C#" Value="public bool IsAutoLayout { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsBeforeFieldInit">
- <MemberSignature Language="C#" Value="public bool IsBeforeFieldInit { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsClass">
- <MemberSignature Language="C#" Value="public bool IsClass { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsEnum">
- <MemberSignature Language="C#" Value="public bool IsEnum { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsExplicitLayout">
- <MemberSignature Language="C#" Value="public bool IsExplicitLayout { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsImport">
- <MemberSignature Language="C#" Value="public bool IsImport { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsInterface">
- <MemberSignature Language="C#" Value="public bool IsInterface { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsNestedAssembly">
- <MemberSignature Language="C#" Value="public bool IsNestedAssembly { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsNestedFamily">
- <MemberSignature Language="C#" Value="public bool IsNestedFamily { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsNestedFamilyAndAssembly">
- <MemberSignature Language="C#" Value="public bool IsNestedFamilyAndAssembly { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsNestedFamilyOrAssembly">
- <MemberSignature Language="C#" Value="public bool IsNestedFamilyOrAssembly { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsNestedPrivate">
- <MemberSignature Language="C#" Value="public bool IsNestedPrivate { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsNestedPublic">
- <MemberSignature Language="C#" Value="public bool IsNestedPublic { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsNotPublic">
- <MemberSignature Language="C#" Value="public bool IsNotPublic { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsPublic">
- <MemberSignature Language="C#" Value="public bool IsPublic { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsRuntimeSpecialName">
- <MemberSignature Language="C#" Value="public bool IsRuntimeSpecialName { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSealed">
- <MemberSignature Language="C#" Value="public bool IsSealed { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSequentialLayout">
- <MemberSignature Language="C#" Value="public bool IsSequentialLayout { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSerializable">
- <MemberSignature Language="C#" Value="public bool IsSerializable { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSpecialName">
- <MemberSignature Language="C#" Value="public bool IsSpecialName { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsUnicodeClass">
- <MemberSignature Language="C#" Value="public bool IsUnicodeClass { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsValueType">
- <MemberSignature Language="C#" Value="public override bool IsValueType { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Methods">
- <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinitionCollection Methods { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.MethodDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NestedTypes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.NestedTypeCollection NestedTypes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.NestedTypeCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PackingSize">
- <MemberSignature Language="C#" Value="public ushort PackingSize { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.UInt16</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Properties">
- <MemberSignature Language="C#" Value="public Mono.Cecil.PropertyDefinitionCollection Properties { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.PropertyDefinitionCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.TypeDefinition Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SecurityDeclarations">
- <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityDeclarationCollection SecurityDeclarations { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.SecurityDeclarationCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeDefinitionCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeDefinitionCollection.xml
deleted file mode 100644
index 36ce5a88b03..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeDefinitionCollection.xml
+++ /dev/null
@@ -1,446 +0,0 @@
-<Type Name="TypeDefinitionCollection" FullName="Mono.Cecil.TypeDefinitionCollection">
- <TypeSignature Language="C#" Value="public sealed class TypeDefinitionCollection : System.Collections.Specialized.NameObjectCollectionBase, Mono.Cecil.IReflectionVisitable, System.Collections.IList" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.Specialized.NameObjectCollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>System.Collections.IList</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public TypeDefinitionCollection (Mono.Cecil.ModuleDefinition container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.TypeDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clear">
- <MemberSignature Language="C#" Value="public void Clear ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.TypeDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (string fullName);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="fullName" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="fullName">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CopyTo">
- <MemberSignature Language="C#" Value="public void CopyTo (Array ary, int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ary" Type="System.Array" />
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="ary">To be added.</param>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetEnumerator">
- <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IEnumerator</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.TypeDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSynchronized">
- <MemberSignature Language="C#" Value="public bool IsSynchronized { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition this[string fullName] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="fullName" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="fullName">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.TypeDefinition value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RemoveAt">
- <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SyncRoot">
- <MemberSignature Language="C#" Value="public object SyncRoot { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.Add">
- <MemberSignature Language="C#" Value="int IList.Add (object value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.Contains">
- <MemberSignature Language="C#" Value="bool IList.Contains (object value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.IndexOf">
- <MemberSignature Language="C#" Value="int IList.IndexOf (object value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.Insert">
- <MemberSignature Language="C#" Value="void IList.Insert (int index, object value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.IsFixedSize">
- <MemberSignature Language="C#" Value="bool System.Collections.IList.IsFixedSize { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.IsReadOnly">
- <MemberSignature Language="C#" Value="bool System.Collections.IList.IsReadOnly { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.Item">
- <MemberSignature Language="C#" Value="object System.Collections.IList.Item[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.Remove">
- <MemberSignature Language="C#" Value="void IList.Remove (object value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeReference.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeReference.xml
deleted file mode 100644
index 252f83fdb6a..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeReference.xml
+++ /dev/null
@@ -1,307 +0,0 @@
-<Type Name="TypeReference" FullName="Mono.Cecil.TypeReference">
- <TypeSignature Language="C#" Value="public class TypeReference : Mono.Cecil.MemberReference, Mono.Cecil.ICustomAttributeProvider, Mono.Cecil.IGenericParameterProvider" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.MemberReference</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.ICustomAttributeProvider</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>Mono.Cecil.IGenericParameterProvider</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="protected TypeReference (string name, string ns);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="ns" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="ns">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public TypeReference (string name, string ns, Mono.Cecil.IMetadataScope scope, bool valueType);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="name" Type="System.String" />
- <Parameter Name="ns" Type="System.String" />
- <Parameter Name="scope" Type="Mono.Cecil.IMetadataScope" />
- <Parameter Name="valueType" Type="System.Boolean" />
- </Parameters>
- <Docs>
- <param name="name">To be added.</param>
- <param name="ns">To be added.</param>
- <param name="scope">To be added.</param>
- <param name="valueType">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CustomAttributes">
- <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FullName">
- <MemberSignature Language="C#" Value="public virtual string FullName { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GenericParameters">
- <MemberSignature Language="C#" Value="public Mono.Cecil.GenericParameterCollection GenericParameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.GenericParameterCollection</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetOriginalType">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.TypeReference GetOriginalType ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasCustomAttributes">
- <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="HasGenericParameters">
- <MemberSignature Language="C#" Value="public bool HasGenericParameters { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsNested">
- <MemberSignature Language="C#" Value="public bool IsNested { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsValueType">
- <MemberSignature Language="C#" Value="public virtual bool IsValueType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="m_isValueType">
- <MemberSignature Language="C#" Value="protected bool m_isValueType;" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Module">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.ModuleDefinition Module { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public override string Name { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Namespace">
- <MemberSignature Language="C#" Value="public virtual string Namespace { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Resolve">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.TypeDefinition Resolve ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Scope">
- <MemberSignature Language="C#" Value="public virtual Mono.Cecil.IMetadataScope Scope { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.IMetadataScope</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="ToString">
- <MemberSignature Language="C#" Value="public override string ToString ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeReferenceCollection.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeReferenceCollection.xml
deleted file mode 100644
index 5c037e71f96..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeReferenceCollection.xml
+++ /dev/null
@@ -1,446 +0,0 @@
-<Type Name="TypeReferenceCollection" FullName="Mono.Cecil.TypeReferenceCollection">
- <TypeSignature Language="C#" Value="public sealed class TypeReferenceCollection : System.Collections.Specialized.NameObjectCollectionBase, Mono.Cecil.IReflectionVisitable, System.Collections.IList" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Collections.Specialized.NameObjectCollectionBase</BaseTypeName>
- </Base>
- <Interfaces>
- <Interface>
- <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
- </Interface>
- <Interface>
- <InterfaceName>System.Collections.IList</InterfaceName>
- </Interface>
- </Interfaces>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public TypeReferenceCollection (Mono.Cecil.ModuleDefinition container);" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Parameters>
- <Parameter Name="container" Type="Mono.Cecil.ModuleDefinition" />
- </Parameters>
- <Docs>
- <param name="container">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Accept">
- <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
- </Parameters>
- <Docs>
- <param name="visitor">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Add">
- <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Clear">
- <MemberSignature Language="C#" Value="public void Clear ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Container">
- <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition Container { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Contains">
- <MemberSignature Language="C#" Value="public bool Contains (string fullName);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="fullName" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="fullName">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CopyTo">
- <MemberSignature Language="C#" Value="public void CopyTo (Array ary, int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="ary" Type="System.Array" />
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="ary">To be added.</param>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetEnumerator">
- <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Collections.IEnumerator</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IndexOf">
- <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsSynchronized">
- <MemberSignature Language="C#" Value="public bool IsSynchronized { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference this[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Item">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference this[string fullName] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="fullName" Type="System.String" />
- </Parameters>
- <Docs>
- <param name="fullName">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Remove">
- <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.TypeReference value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RemoveAt">
- <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SyncRoot">
- <MemberSignature Language="C#" Value="public object SyncRoot { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.Add">
- <MemberSignature Language="C#" Value="int IList.Add (object value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.Contains">
- <MemberSignature Language="C#" Value="bool IList.Contains (object value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.IndexOf">
- <MemberSignature Language="C#" Value="int IList.IndexOf (object value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.Insert">
- <MemberSignature Language="C#" Value="void IList.Insert (int index, object value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- <Parameter Name="value" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.IsFixedSize">
- <MemberSignature Language="C#" Value="bool System.Collections.IList.IsFixedSize { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.IsReadOnly">
- <MemberSignature Language="C#" Value="bool System.Collections.IList.IsReadOnly { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.Item">
- <MemberSignature Language="C#" Value="object System.Collections.IList.Item[int index] { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Object</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="index" Type="System.Int32" />
- </Parameters>
- <Docs>
- <param name="index">To be added.</param>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="System.Collections.IList.Remove">
- <MemberSignature Language="C#" Value="void IList.Remove (object value);" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="value" Type="System.Object" />
- </Parameters>
- <Docs>
- <param name="value">To be added.</param>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeSpecification.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeSpecification.xml
deleted file mode 100644
index 5778c292982..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/TypeSpecification.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-<Type Name="TypeSpecification" FullName="Mono.Cecil.TypeSpecification">
- <TypeSignature Language="C#" Value="public abstract class TypeSpecification : Mono.Cecil.TypeReference" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Mono.Cecil.TypeReference</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="ElementType">
- <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference ElementType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="FullName">
- <MemberSignature Language="C#" Value="public override string FullName { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="GetOriginalType">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.TypeReference GetOriginalType ();" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.TypeReference</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>To be added.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="IsValueType">
- <MemberSignature Language="C#" Value="public override bool IsValueType { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Module">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.ModuleDefinition Module { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Name">
- <MemberSignature Language="C#" Value="public override string Name { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Namespace">
- <MemberSignature Language="C#" Value="public override string Namespace { set; get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Scope">
- <MemberSignature Language="C#" Value="public override Mono.Cecil.IMetadataScope Scope { get; }" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.IMetadataScope</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/VariantType.xml b/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/VariantType.xml
deleted file mode 100644
index ae4d6730645..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/Mono.Cecil/VariantType.xml
+++ /dev/null
@@ -1,263 +0,0 @@
-<Type Name="VariantType" FullName="Mono.Cecil.VariantType">
- <TypeSignature Language="C#" Value="public enum VariantType" />
- <AssemblyInfo>
- <AssemblyName>Mono.Cecil</AssemblyName>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>System.Enum</BaseTypeName>
- </Base>
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
- <Members>
- <Member MemberName="BOOL">
- <MemberSignature Language="C#" Value="BOOL" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="BSTR">
- <MemberSignature Language="C#" Value="BSTR" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="CY">
- <MemberSignature Language="C#" Value="CY" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="DATE">
- <MemberSignature Language="C#" Value="DATE" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="DECIMAL">
- <MemberSignature Language="C#" Value="DECIMAL" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="DISPATCH">
- <MemberSignature Language="C#" Value="DISPATCH" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="ERROR">
- <MemberSignature Language="C#" Value="ERROR" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="I1">
- <MemberSignature Language="C#" Value="I1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="I2">
- <MemberSignature Language="C#" Value="I2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="I4">
- <MemberSignature Language="C#" Value="I4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="INT">
- <MemberSignature Language="C#" Value="INT" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="R4">
- <MemberSignature Language="C#" Value="R4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="R8">
- <MemberSignature Language="C#" Value="R8" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="UI1">
- <MemberSignature Language="C#" Value="UI1" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="UI2">
- <MemberSignature Language="C#" Value="UI2" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="UI4">
- <MemberSignature Language="C#" Value="UI4" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="UINT">
- <MemberSignature Language="C#" Value="UINT" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="UNKNOWN">
- <MemberSignature Language="C#" Value="UNKNOWN" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- <Member MemberName="VARIANT">
- <MemberSignature Language="C#" Value="VARIANT" />
- <MemberType>Field</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>0.6.9.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Mono.Cecil.VariantType</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>To be added.</summary>
- </Docs>
- </Member>
- </Members>
-</Type>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/index.xml b/mcs/class/Mono.Cecil/Documentation/en/index.xml
deleted file mode 100644
index 5c339a1a717..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/index.xml
+++ /dev/null
@@ -1,346 +0,0 @@
-<Overview>
- <Assemblies>
- <Assembly Name="Mono.Cecil" Version="0.6.9.0">
- <Attributes>
- <Attribute>
- <AttributeName>System.CLSCompliant(false)</AttributeName>
- </Attribute>
- <Attribute>
- <AttributeName>System.Reflection.AssemblyConfiguration("")</AttributeName>
- </Attribute>
- <Attribute>
- <AttributeName>System.Reflection.AssemblyCopyright("(C) 2005 - 2007, Jb Evain")</AttributeName>
- </Attribute>
- <Attribute>
- <AttributeName>System.Reflection.AssemblyDescription("Library for reading and writing CIL images")</AttributeName>
- </Attribute>
- <Attribute>
- <AttributeName>System.Reflection.AssemblyProduct("Mono.Cecil")</AttributeName>
- </Attribute>
- <Attribute>
- <AttributeName>System.Reflection.AssemblyTitle("Mono.Cecil")</AttributeName>
- </Attribute>
- <Attribute>
- <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName>
- </Attribute>
- <Attribute>
- <AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName>
- </Attribute>
- </Attributes>
- </Assembly>
- </Assemblies>
- <Remarks>To be added.</Remarks>
- <Copyright>To be added.</Copyright>
- <Types>
- <Namespace Name="Mono.Cecil">
- <Type Name="ArrayDimension" Kind="Class" />
- <Type Name="ArrayDimensionCollection" Kind="Class" />
- <Type Name="ArrayMarshalSpec" Kind="Class" />
- <Type Name="ArrayType" Kind="Class" />
- <Type Name="AssemblyDefinition" Kind="Class" />
- <Type Name="AssemblyFactory" Kind="Class" />
- <Type Name="AssemblyFlags" Kind="Enumeration" />
- <Type Name="AssemblyHashAlgorithm" Kind="Enumeration" />
- <Type Name="AssemblyKind" Kind="Enumeration" />
- <Type Name="AssemblyLinkedResource" Kind="Class" />
- <Type Name="AssemblyNameDefinition" Kind="Class" />
- <Type Name="AssemblyNameReference" Kind="Class" />
- <Type Name="AssemblyNameReferenceCollection" Kind="Class" />
- <Type Name="BaseAssemblyResolver" Kind="Class" />
- <Type Name="BaseReflectionVisitor" Kind="Class" />
- <Type Name="BaseStructureVisitor" Kind="Class" />
- <Type Name="CallSite" Kind="Class" />
- <Type Name="Constants" Kind="Class" />
- <Type Name="ConstraintCollection" Kind="Class" />
- <Type Name="ConstructorCollection" Kind="Class" />
- <Type Name="CustomAttribute" Kind="Class" />
- <Type Name="CustomAttributeCollection" Kind="Class" />
- <Type Name="CustomMarshalerSpec" Kind="Class" />
- <Type Name="DefaultAssemblyResolver" Kind="Class" />
- <Type Name="DefaultImporter" Kind="Class" />
- <Type Name="EmbeddedResource" Kind="Class" />
- <Type Name="EventAttributes" Kind="Enumeration" />
- <Type Name="EventDefinition" Kind="Class" />
- <Type Name="EventDefinitionCollection" Kind="Class" />
- <Type Name="EventReference" Kind="Class" />
- <Type Name="ExternTypeCollection" Kind="Class" />
- <Type Name="FieldAttributes" Kind="Enumeration" />
- <Type Name="FieldDefinition" Kind="Class" />
- <Type Name="FieldDefinitionCollection" Kind="Class" />
- <Type Name="FieldReference" Kind="Class" />
- <Type Name="FileAttributes" Kind="Enumeration" />
- <Type Name="FixedArraySpec" Kind="Class" />
- <Type Name="FixedSysStringSpec" Kind="Class" />
- <Type Name="FunctionPointerType" Kind="Class" />
- <Type Name="GenericArgumentCollection" Kind="Class" />
- <Type Name="GenericContext" Kind="Class" />
- <Type Name="GenericInstanceMethod" Kind="Class" />
- <Type Name="GenericInstanceType" Kind="Class" />
- <Type Name="GenericParameter" Kind="Class" />
- <Type Name="GenericParameterAttributes" Kind="Enumeration" />
- <Type Name="GenericParameterCollection" Kind="Class" />
- <Type Name="IAnnotationProvider" Kind="Interface" />
- <Type Name="IAssemblyResolver" Kind="Interface" />
- <Type Name="ICustomAttributeProvider" Kind="Interface" />
- <Type Name="IGenericInstance" Kind="Interface" />
- <Type Name="IGenericParameterProvider" Kind="Interface" />
- <Type Name="IHasConstant" Kind="Interface" />
- <Type Name="IHasMarshalSpec" Kind="Interface" />
- <Type Name="IHasSecurity" Kind="Interface" />
- <Type Name="IImporter" Kind="Interface" />
- <Type Name="IMemberDefinition" Kind="Interface" />
- <Type Name="IMemberReference" Kind="Interface" />
- <Type Name="IMetadataScope" Kind="Interface" />
- <Type Name="IMetadataTokenProvider" Kind="Interface" />
- <Type Name="IMethodSignature" Kind="Interface" />
- <Type Name="ImportContext" Kind="Class" />
- <Type Name="InterfaceCollection" Kind="Class" />
- <Type Name="IReflectionStructureVisitable" Kind="Interface" />
- <Type Name="IReflectionStructureVisitor" Kind="Interface" />
- <Type Name="IReflectionVisitable" Kind="Interface" />
- <Type Name="IReflectionVisitor" Kind="Interface" />
- <Type Name="IRequireResolving" Kind="Interface" />
- <Type Name="LinkedResource" Kind="Class" />
- <Type Name="ManifestResourceAttributes" Kind="Enumeration" />
- <Type Name="MarshalSpec" Kind="Class" />
- <Type Name="MemberReference" Kind="Class" />
- <Type Name="MemberReferenceCollection" Kind="Class" />
- <Type Name="MethodAttributes" Kind="Enumeration" />
- <Type Name="MethodCallingConvention" Kind="Enumeration" />
- <Type Name="MethodDefinition" Kind="Class" />
- <Type Name="MethodDefinitionCollection" Kind="Class" />
- <Type Name="MethodImplAttributes" Kind="Enumeration" />
- <Type Name="MethodReference" Kind="Class" />
- <Type Name="MethodReturnType" Kind="Class" />
- <Type Name="MethodSemanticsAttributes" Kind="Enumeration" />
- <Type Name="MethodSpecification" Kind="Class" />
- <Type Name="ModifierOptional" Kind="Class" />
- <Type Name="ModifierRequired" Kind="Class" />
- <Type Name="ModType" Kind="Class" />
- <Type Name="ModuleDefinition" Kind="Class" />
- <Type Name="ModuleDefinitionCollection" Kind="Class" />
- <Type Name="ModuleReference" Kind="Class" />
- <Type Name="ModuleReferenceCollection" Kind="Class" />
- <Type Name="NativeType" Kind="Enumeration" />
- <Type Name="NestedTypeCollection" Kind="Class" />
- <Type Name="OverrideCollection" Kind="Class" />
- <Type Name="ParameterAttributes" Kind="Enumeration" />
- <Type Name="ParameterDefinition" Kind="Class" />
- <Type Name="ParameterDefinitionCollection" Kind="Class" />
- <Type Name="ParameterReference" Kind="Class" />
- <Type Name="PinnedType" Kind="Class" />
- <Type Name="PInvokeAttributes" Kind="Enumeration" />
- <Type Name="PInvokeInfo" Kind="Class" />
- <Type Name="PointerType" Kind="Class" />
- <Type Name="PropertyAttributes" Kind="Enumeration" />
- <Type Name="PropertyDefinition" Kind="Class" />
- <Type Name="PropertyDefinitionCollection" Kind="Class" />
- <Type Name="PropertyReference" Kind="Class" />
- <Type Name="ReferenceType" Kind="Class" />
- <Type Name="ReflectionException" Kind="Class" />
- <Type Name="Resource" Kind="Class" />
- <Type Name="ResourceCollection" Kind="Class" />
- <Type Name="SafeArraySpec" Kind="Class" />
- <Type Name="SecurityAction" Kind="Enumeration" />
- <Type Name="SecurityDeclaration" Kind="Class" />
- <Type Name="SecurityDeclarationCollection" Kind="Class" />
- <Type Name="SentinelType" Kind="Class" />
- <Type Name="TargetRuntime" Kind="Enumeration" />
- <Type Name="TypeAttributes" Kind="Enumeration" />
- <Type Name="TypeDefinition" Kind="Class" />
- <Type Name="TypeDefinitionCollection" Kind="Class" />
- <Type Name="TypeReference" Kind="Class" />
- <Type Name="TypeReferenceCollection" Kind="Class" />
- <Type Name="TypeSpecification" Kind="Class" />
- <Type Name="VariantType" Kind="Enumeration" />
- </Namespace>
- <Namespace Name="Mono.Cecil.Binary">
- <Type Name="BaseImageVisitor" Kind="Class" />
- <Type Name="CLIHeader" Kind="Class" />
- <Type Name="DataDirectory" Kind="Structure" />
- <Type Name="DebugHeader" Kind="Class" />
- <Type Name="DebugStoreType" Kind="Enumeration" />
- <Type Name="DOSHeader" Kind="Class" />
- <Type Name="ExportTable" Kind="Class" />
- <Type Name="HintNameTable" Kind="Class" />
- <Type Name="IBinaryVisitable" Kind="Interface" />
- <Type Name="IBinaryVisitor" Kind="Interface" />
- <Type Name="Image" Kind="Class" />
- <Type Name="ImageCharacteristics" Kind="Enumeration" />
- <Type Name="ImageFormatException" Kind="Class" />
- <Type Name="ImportAddressTable" Kind="Class" />
- <Type Name="ImportLookupTable" Kind="Class" />
- <Type Name="ImportTable" Kind="Class" />
- <Type Name="PEFileHeader" Kind="Class" />
- <Type Name="PEOptionalHeader" Kind="Class" />
- <Type Name="PEOptionalHeader+DataDirectoriesHeader" Kind="Class" />
- <Type Name="PEOptionalHeader+NTSpecificFieldsHeader" Kind="Class" />
- <Type Name="PEOptionalHeader+StandardFieldsHeader" Kind="Class" />
- <Type Name="ResourceDataEntry" Kind="Class" />
- <Type Name="ResourceDirectoryEntry" Kind="Class" />
- <Type Name="ResourceDirectoryString" Kind="Class" />
- <Type Name="ResourceDirectoryTable" Kind="Class" />
- <Type Name="ResourceNode" Kind="Class" />
- <Type Name="RuntimeImage" Kind="Enumeration" />
- <Type Name="RVA" Kind="Structure" />
- <Type Name="Section" Kind="Class" />
- <Type Name="SectionCharacteristics" Kind="Enumeration" />
- <Type Name="SectionCollection" Kind="Class" />
- <Type Name="SubSystem" Kind="Enumeration" />
- </Namespace>
- <Namespace Name="Mono.Cecil.Cil">
- <Type Name="BaseCodeVisitor" Kind="Class" />
- <Type Name="CilWorker" Kind="Class" />
- <Type Name="Code" Kind="Enumeration" />
- <Type Name="Document" Kind="Class" />
- <Type Name="DocumentHashAlgorithm" Kind="Enumeration" />
- <Type Name="DocumentLanguage" Kind="Class" />
- <Type Name="DocumentLanguageVendor" Kind="Class" />
- <Type Name="DocumentType" Kind="Class" />
- <Type Name="ExceptionHandler" Kind="Class" />
- <Type Name="ExceptionHandlerCollection" Kind="Class" />
- <Type Name="ExceptionHandlerType" Kind="Enumeration" />
- <Type Name="FlowControl" Kind="Enumeration" />
- <Type Name="GuidAttribute" Kind="Class" />
- <Type Name="ICodeVisitable" Kind="Interface" />
- <Type Name="ICodeVisitor" Kind="Interface" />
- <Type Name="Instruction" Kind="Class" />
- <Type Name="InstructionCollection" Kind="Class" />
- <Type Name="IScopeProvider" Kind="Interface" />
- <Type Name="ISymbolReader" Kind="Interface" />
- <Type Name="ISymbolStoreFactory" Kind="Interface" />
- <Type Name="ISymbolWriter" Kind="Interface" />
- <Type Name="IVariableDefinitionProvider" Kind="Interface" />
- <Type Name="MethodBody" Kind="Class" />
- <Type Name="OpCode" Kind="Structure" />
- <Type Name="OpCodes" Kind="Class" />
- <Type Name="OpCodeType" Kind="Enumeration" />
- <Type Name="OperandType" Kind="Enumeration" />
- <Type Name="Scope" Kind="Class" />
- <Type Name="ScopeCollection" Kind="Class" />
- <Type Name="SequencePoint" Kind="Class" />
- <Type Name="StackBehaviour" Kind="Enumeration" />
- <Type Name="VariableDefinition" Kind="Class" />
- <Type Name="VariableDefinitionCollection" Kind="Class" />
- <Type Name="VariableReference" Kind="Class" />
- </Namespace>
- <Namespace Name="Mono.Cecil.Metadata">
- <Type Name="AssemblyOSRow" Kind="Class" />
- <Type Name="AssemblyOSTable" Kind="Class" />
- <Type Name="AssemblyProcessorRow" Kind="Class" />
- <Type Name="AssemblyProcessorTable" Kind="Class" />
- <Type Name="AssemblyRefOSRow" Kind="Class" />
- <Type Name="AssemblyRefOSTable" Kind="Class" />
- <Type Name="AssemblyRefProcessorRow" Kind="Class" />
- <Type Name="AssemblyRefProcessorTable" Kind="Class" />
- <Type Name="AssemblyRefRow" Kind="Class" />
- <Type Name="AssemblyRefTable" Kind="Class" />
- <Type Name="AssemblyRow" Kind="Class" />
- <Type Name="AssemblyTable" Kind="Class" />
- <Type Name="BaseMetadataRowVisitor" Kind="Class" />
- <Type Name="BaseMetadataTableVisitor" Kind="Class" />
- <Type Name="BaseMetadataVisitor" Kind="Class" />
- <Type Name="BlobHeap" Kind="Class" />
- <Type Name="ClassLayoutRow" Kind="Class" />
- <Type Name="ClassLayoutTable" Kind="Class" />
- <Type Name="CodedIndex" Kind="Enumeration" />
- <Type Name="ConstantRow" Kind="Class" />
- <Type Name="ConstantTable" Kind="Class" />
- <Type Name="CustomAttributeRow" Kind="Class" />
- <Type Name="CustomAttributeTable" Kind="Class" />
- <Type Name="DeclSecurityRow" Kind="Class" />
- <Type Name="DeclSecurityTable" Kind="Class" />
- <Type Name="ElementType" Kind="Enumeration" />
- <Type Name="EventMapRow" Kind="Class" />
- <Type Name="EventMapTable" Kind="Class" />
- <Type Name="EventPtrRow" Kind="Class" />
- <Type Name="EventPtrTable" Kind="Class" />
- <Type Name="EventRow" Kind="Class" />
- <Type Name="EventTable" Kind="Class" />
- <Type Name="ExportedTypeRow" Kind="Class" />
- <Type Name="ExportedTypeTable" Kind="Class" />
- <Type Name="FieldLayoutRow" Kind="Class" />
- <Type Name="FieldLayoutTable" Kind="Class" />
- <Type Name="FieldMarshalRow" Kind="Class" />
- <Type Name="FieldMarshalTable" Kind="Class" />
- <Type Name="FieldPtrRow" Kind="Class" />
- <Type Name="FieldPtrTable" Kind="Class" />
- <Type Name="FieldRow" Kind="Class" />
- <Type Name="FieldRVARow" Kind="Class" />
- <Type Name="FieldRVATable" Kind="Class" />
- <Type Name="FieldTable" Kind="Class" />
- <Type Name="FileRow" Kind="Class" />
- <Type Name="FileTable" Kind="Class" />
- <Type Name="GenericParamConstraintRow" Kind="Class" />
- <Type Name="GenericParamConstraintTable" Kind="Class" />
- <Type Name="GenericParamRow" Kind="Class" />
- <Type Name="GenericParamTable" Kind="Class" />
- <Type Name="GuidHeap" Kind="Class" />
- <Type Name="IMetadataRow" Kind="Interface" />
- <Type Name="IMetadataRowVisitable" Kind="Interface" />
- <Type Name="IMetadataRowVisitor" Kind="Interface" />
- <Type Name="IMetadataTable" Kind="Interface" />
- <Type Name="IMetadataTableVisitable" Kind="Interface" />
- <Type Name="IMetadataTableVisitor" Kind="Interface" />
- <Type Name="IMetadataVisitable" Kind="Interface" />
- <Type Name="IMetadataVisitor" Kind="Interface" />
- <Type Name="ImplMapRow" Kind="Class" />
- <Type Name="ImplMapTable" Kind="Class" />
- <Type Name="InterfaceImplRow" Kind="Class" />
- <Type Name="InterfaceImplTable" Kind="Class" />
- <Type Name="ManifestResourceRow" Kind="Class" />
- <Type Name="ManifestResourceTable" Kind="Class" />
- <Type Name="MemberRefRow" Kind="Class" />
- <Type Name="MemberRefTable" Kind="Class" />
- <Type Name="MetadataFormatException" Kind="Class" />
- <Type Name="MetadataHeap" Kind="Class" />
- <Type Name="MetadataRoot" Kind="Class" />
- <Type Name="MetadataRoot+MetadataRootHeader" Kind="Class" />
- <Type Name="MetadataStream" Kind="Class" />
- <Type Name="MetadataStream+MetadataStreamHeader" Kind="Class" />
- <Type Name="MetadataStreamCollection" Kind="Class" />
- <Type Name="MetadataToken" Kind="Structure" />
- <Type Name="MethodImplRow" Kind="Class" />
- <Type Name="MethodImplTable" Kind="Class" />
- <Type Name="MethodPtrRow" Kind="Class" />
- <Type Name="MethodPtrTable" Kind="Class" />
- <Type Name="MethodRow" Kind="Class" />
- <Type Name="MethodSemanticsRow" Kind="Class" />
- <Type Name="MethodSemanticsTable" Kind="Class" />
- <Type Name="MethodSpecRow" Kind="Class" />
- <Type Name="MethodSpecTable" Kind="Class" />
- <Type Name="MethodTable" Kind="Class" />
- <Type Name="ModuleRefRow" Kind="Class" />
- <Type Name="ModuleRefTable" Kind="Class" />
- <Type Name="ModuleRow" Kind="Class" />
- <Type Name="ModuleTable" Kind="Class" />
- <Type Name="NestedClassRow" Kind="Class" />
- <Type Name="NestedClassTable" Kind="Class" />
- <Type Name="ParamPtrRow" Kind="Class" />
- <Type Name="ParamPtrTable" Kind="Class" />
- <Type Name="ParamRow" Kind="Class" />
- <Type Name="ParamTable" Kind="Class" />
- <Type Name="PropertyMapRow" Kind="Class" />
- <Type Name="PropertyMapTable" Kind="Class" />
- <Type Name="PropertyPtrRow" Kind="Class" />
- <Type Name="PropertyPtrTable" Kind="Class" />
- <Type Name="PropertyRow" Kind="Class" />
- <Type Name="PropertyTable" Kind="Class" />
- <Type Name="RowCollection" Kind="Class" />
- <Type Name="StandAloneSigRow" Kind="Class" />
- <Type Name="StandAloneSigTable" Kind="Class" />
- <Type Name="StringsHeap" Kind="Class" />
- <Type Name="TableCollection" Kind="Class" />
- <Type Name="TablesHeap" Kind="Class" />
- <Type Name="TokenType" Kind="Enumeration" />
- <Type Name="TypeDefRow" Kind="Class" />
- <Type Name="TypeDefTable" Kind="Class" />
- <Type Name="TypeRefRow" Kind="Class" />
- <Type Name="TypeRefTable" Kind="Class" />
- <Type Name="TypeSpecRow" Kind="Class" />
- <Type Name="TypeSpecTable" Kind="Class" />
- <Type Name="UserStringsHeap" Kind="Class" />
- </Namespace>
- </Types>
- <Title>Mono.Cecil</Title>
-</Overview>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/ns-.xml b/mcs/class/Mono.Cecil/Documentation/en/ns-.xml
deleted file mode 100644
index 36dfeb307bc..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/ns-.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<Namespace Name="">
- <Docs>
- <summary>To be added.</summary>
- <remarks>To be added.</remarks>
- </Docs>
-</Namespace>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/ns-Mono.Cecil.Binary.xml b/mcs/class/Mono.Cecil/Documentation/en/ns-Mono.Cecil.Binary.xml
deleted file mode 100644
index fc7c34029f4..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/ns-Mono.Cecil.Binary.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<Namespace Name="Mono.Cecil.Binary">
- <Docs>
- <summary>Internal namespace used by Mono.Cecil.</summary>
- <remarks>
- <para>
- The classes in this namespace are low-level routines to access
- ECMA CLI images and deals mostly with PE headers and other
- low-level components.
- </para>
- <para>
- The API exposed in this namespace is intended for use by
- Mono.Cecil and is not in general useful for developers.
- </para>
- </remarks>
- </Docs>
-</Namespace>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/ns-Mono.Cecil.Cil.xml b/mcs/class/Mono.Cecil/Documentation/en/ns-Mono.Cecil.Cil.xml
deleted file mode 100644
index 5cb1815b205..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/ns-Mono.Cecil.Cil.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<Namespace Name="Mono.Cecil.Cil">
- <Docs>
- <summary>Dealing with Method Bodies: the Common Language Infrastructure opcodes.</summary>
- <remarks>
- <para>
- The classes in this namespace are used to consume or generate
- bytecodes from the Common Intermediate Language (CIL) from the
- ECMA Common Language Infrastructure (CLI).
- </para>
- </remarks>
- </Docs>
-</Namespace>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/ns-Mono.Cecil.Metadata.xml b/mcs/class/Mono.Cecil/Documentation/en/ns-Mono.Cecil.Metadata.xml
deleted file mode 100644
index 34576686628..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/ns-Mono.Cecil.Metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<Namespace Name="Mono.Cecil.Metadata">
- <Docs>
- <summary>Internal namespace used by Mono.Cecil.</summary>
- <remarks>
- <para>
- The classes in this namespace are low-level routines to access
- ECMA CLI metadata tables and other low-level ECMA CLI constructs.
- </para>
- <para>
- The API exposed in this namespace is intended for use by
- Mono.Cecil and is not in general useful for developers.
- </para>
- </remarks>
- </Docs>
-</Namespace>
diff --git a/mcs/class/Mono.Cecil/Documentation/en/ns-Mono.Cecil.xml b/mcs/class/Mono.Cecil/Documentation/en/ns-Mono.Cecil.xml
deleted file mode 100644
index 61d4bd53163..00000000000
--- a/mcs/class/Mono.Cecil/Documentation/en/ns-Mono.Cecil.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<Namespace Name="Mono.Cecil">
- <Docs>
- <summary>Representation for ECMA CLI Images.</summary>
- <remarks>
- <para>
- The classes in this namespace are used to represent ECMA
- Common Language Infrastructure (CLI) binary images. These
- represent assemblies, modules, types, methods, resources and
- every other component that makes up the ECMA 335 files.
- </para>
- <para>
- You can use the classes in Mono.Cecil to read existing ECMA
- CLI images, creating CLI images and to modify these images
- through the exposed API.
- </para>
- </remarks>
- </Docs>
-</Namespace>
diff --git a/mcs/class/Mono.Cecil/Makefile b/mcs/class/Mono.Cecil/Makefile
index f653b9963ba..b29cadd5be3 100644
--- a/mcs/class/Mono.Cecil/Makefile
+++ b/mcs/class/Mono.Cecil/Makefile
@@ -5,7 +5,11 @@ LIBRARY = Mono.Cecil.dll
LIBRARY_SNK = ../mono.snk
LIBRARY_PACKAGE = none
-LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll -keyfile:$(LIBRARY_SNK)
+LIB_MCS_FLAGS = /r:$(corlib) -keyfile:$(LIBRARY_SNK) -r:System.Core.dll -d:NET_3_5
+
+ifeq (net_4_0, $(PROFILE))
+LIB_MCS_FLAGS += -d:NET_4_0
+endif
NO_TEST = yes
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil-SL.csproj b/mcs/class/Mono.Cecil/Mono.Cecil-SL.csproj
new file mode 100644
index 00000000000..e3fb85c0f24
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil-SL.csproj
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Condition="'$(MSBuildToolsVersion)' == '3.5'">
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ </PropertyGroup>
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>9.0.30729</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{59019979-D337-441B-851F-2133452191A8}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Mono.Cecil</RootNamespace>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <TargetFrameworkVersion>v3.0</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+ <SilverlightApplication>false</SilverlightApplication>
+ <DefineConstants>TRACE;DEBUG;SILVERLIGHT</DefineConstants>
+ <NoStdLib>true</NoStdLib>
+ <NoConfig>true</NoConfig>
+ <SignAssembly>true</SignAssembly>
+ <AssemblyOriginatorKeyFile>mono.snk</AssemblyOriginatorKeyFile>
+ <TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
+ <SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\DebugSL\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;SILVERLIGHT</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\ReleaseSL\</OutputPath>
+ <DefineConstants>TRACE;SILVERLIGHT</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="mscorlib" />
+ <Reference Include="system" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Mono.Cecil.Cil\Code.cs" />
+ <Compile Include="Mono.Cecil.Cil\CodeWriter.cs" />
+ <Compile Include="Mono.Cecil.Cil\CodeReader.cs" />
+ <Compile Include="Mono.Cecil.Cil\Document.cs" />
+ <Compile Include="Mono.Cecil.Cil\ExceptionHandler.cs" />
+ <Compile Include="Mono.Cecil.Cil\ILProcessor.cs" />
+ <Compile Include="Mono.Cecil.Cil\Instruction.cs" />
+ <Compile Include="Mono.Cecil.Cil\MethodBody.cs" />
+ <Compile Include="Mono.Cecil.Cil\OpCode.cs" />
+ <Compile Include="Mono.Cecil.Cil\OpCodes.cs" />
+ <Compile Include="Mono.Cecil.Cil\SequencePoint.cs" />
+ <Compile Include="Mono.Cecil.Cil\Symbols.cs" />
+ <Compile Include="Mono.Cecil.Cil\VariableDefinition.cs" />
+ <Compile Include="Mono.Cecil.Cil\VariableReference.cs" />
+ <Compile Include="Mono.Cecil.Metadata\BlobHeap.cs" />
+ <Compile Include="Mono.Cecil.Metadata\Buffers.cs" />
+ <Compile Include="Mono.Cecil.Metadata\CodedIndex.cs" />
+ <Compile Include="Mono.Cecil.Metadata\ElementType.cs" />
+ <Compile Include="Mono.Cecil.Metadata\GuidHeap.cs" />
+ <Compile Include="Mono.Cecil.Metadata\Heap.cs" />
+ <Compile Include="Mono.Cecil.Metadata\MetadataToken.cs" />
+ <Compile Include="Mono.Cecil.Metadata\Row.cs" />
+ <Compile Include="Mono.Cecil.Metadata\StringHeap.cs" />
+ <Compile Include="Mono.Cecil.Metadata\TableHeap.cs" />
+ <Compile Include="Mono.Cecil.Metadata\TokenType.cs" />
+ <Compile Include="Mono.Cecil.Metadata\UserStringHeap.cs" />
+ <Compile Include="Mono.Cecil.Metadata\Utilities.cs" />
+ <Compile Include="Mono.Cecil.PE\BinaryStreamReader.cs" />
+ <Compile Include="Mono.Cecil.PE\BinaryStreamWriter.cs" />
+ <Compile Include="Mono.Cecil.PE\ByteBuffer.cs" />
+ <Compile Include="Mono.Cecil.PE\ByteBufferEqualityComparer.cs" />
+ <Compile Include="Mono.Cecil.PE\DataDirectory.cs" />
+ <Compile Include="Mono.Cecil.PE\Image.cs" />
+ <Compile Include="Mono.Cecil.PE\ImageReader.cs" />
+ <Compile Include="Mono.Cecil.PE\ImageWriter.cs" />
+ <Compile Include="Mono.Cecil.PE\Section.cs" />
+ <Compile Include="Mono.Cecil.PE\TextMap.cs" />
+ <Compile Include="Mono.Cecil\ArrayType.cs" />
+ <Compile Include="Mono.Cecil\AssemblyDefinition.cs" />
+ <Compile Include="Mono.Cecil\AssemblyFlags.cs" />
+ <Compile Include="Mono.Cecil\AssemblyHashAlgorithm.cs" />
+ <Compile Include="Mono.Cecil\AssemblyInfo.cs" />
+ <Compile Include="Mono.Cecil\AssemblyLinkedResource.cs" />
+ <Compile Include="Mono.Cecil\AssemblyNameDefinition.cs" />
+ <Compile Include="Mono.Cecil\AssemblyNameReference.cs" />
+ <Compile Include="Mono.Cecil\AssemblyReader.cs" />
+ <Compile Include="Mono.Cecil\AssemblyWriter.cs" />
+ <Compile Include="Mono.Cecil\BaseAssemblyResolver.cs" />
+ <Compile Include="Mono.Cecil\CallSite.cs" />
+ <Compile Include="Mono.Cecil\CustomAttribute.cs" />
+ <Compile Include="Mono.Cecil\DefaultAssemblyResolver.cs" />
+ <Compile Include="Mono.Cecil\ExportedType.cs" />
+ <Compile Include="Mono.Cecil\FileAttributes.cs" />
+ <Compile Include="Mono.Cecil\FunctionPointerType.cs" />
+ <Compile Include="Mono.Cecil\GenericInstanceMethod.cs" />
+ <Compile Include="Mono.Cecil\GenericInstanceType.cs" />
+ <Compile Include="Mono.Cecil\GenericParameter.cs" />
+ <Compile Include="Mono.Cecil\GenericParameterAttributes.cs" />
+ <Compile Include="Mono.Cecil\IConstantProvider.cs" />
+ <Compile Include="Mono.Cecil\ICustomAttributeProvider.cs" />
+ <Compile Include="Mono.Cecil\IGenericInstance.cs" />
+ <Compile Include="Mono.Cecil\IGenericParameterProvider.cs" />
+ <Compile Include="Mono.Cecil\IMarshalInfoProvider.cs" />
+ <Compile Include="Mono.Cecil\MarshalInfo.cs" />
+ <Compile Include="Mono.Cecil\MetadataResolver.cs" />
+ <Compile Include="Mono.Cecil\Modifiers.cs" />
+ <Compile Include="Mono.Cecil\NativeType.cs" />
+ <Compile Include="Mono.Cecil\PinnedType.cs" />
+ <Compile Include="Mono.Cecil\MetadataSystem.cs" />
+ <Compile Include="Mono.Cecil\IMethodSignature.cs" />
+ <Compile Include="Mono.Cecil\ParameterDefinitionCollection.cs" />
+ <Compile Include="Mono.Cecil\EmbeddedResource.cs" />
+ <Compile Include="Mono.Cecil\EventAttributes.cs" />
+ <Compile Include="Mono.Cecil\EventDefinition.cs" />
+ <Compile Include="Mono.Cecil\EventReference.cs" />
+ <Compile Include="Mono.Cecil\FieldAttributes.cs" />
+ <Compile Include="Mono.Cecil\FieldDefinition.cs" />
+ <Compile Include="Mono.Cecil\FieldReference.cs" />
+ <Compile Include="Mono.Cecil\IMemberDefinition.cs" />
+ <Compile Include="Mono.Cecil\Import.cs" />
+ <Compile Include="Mono.Cecil\LinkedResource.cs" />
+ <Compile Include="Mono.Cecil\MemberReference.cs" />
+ <Compile Include="Mono.Cecil\MethodAttributes.cs" />
+ <Compile Include="Mono.Cecil\MethodCallingConvention.cs" />
+ <Compile Include="Mono.Cecil\MethodDefinition.cs" />
+ <Compile Include="Mono.Cecil\MethodImplAttributes.cs" />
+ <Compile Include="Mono.Cecil\MethodReference.cs" />
+ <Compile Include="Mono.Cecil\MethodReturnType.cs" />
+ <Compile Include="Mono.Cecil\MethodSemanticsAttributes.cs" />
+ <Compile Include="Mono.Cecil\MethodSpecification.cs" />
+ <Compile Include="Mono.Cecil\ParameterAttributes.cs" />
+ <Compile Include="Mono.Cecil\ParameterDefinition.cs" />
+ <Compile Include="Mono.Cecil\ParameterReference.cs" />
+ <Compile Include="Mono.Cecil\PInvokeAttributes.cs" />
+ <Compile Include="Mono.Cecil\PInvokeInfo.cs" />
+ <Compile Include="Mono.Cecil\PointerType.cs" />
+ <Compile Include="Mono.Cecil\PropertyAttributes.cs" />
+ <Compile Include="Mono.Cecil\PropertyDefinition.cs" />
+ <Compile Include="Mono.Cecil\PropertyReference.cs" />
+ <Compile Include="Mono.Cecil\ReferenceType.cs" />
+ <Compile Include="Mono.Cecil\IMetadataScope.cs" />
+ <Compile Include="Mono.Cecil\IMetadataTokenProvider.cs" />
+ <Compile Include="Mono.Cecil\ManifestResourceAttributes.cs" />
+ <Compile Include="Mono.Cecil\ModuleReference.cs" />
+ <Compile Include="Mono.Cecil\MemberDefinitionCollection.cs" />
+ <Compile Include="Mono.Cecil\ModuleDefinition.cs" />
+ <Compile Include="Mono.Cecil\ModuleKind.cs" />
+ <Compile Include="Mono.Cecil\Resource.cs" />
+ <Compile Include="Mono.Cecil\SecurityDeclaration.cs" />
+ <Compile Include="Mono.Cecil\SentinelType.cs" />
+ <Compile Include="Mono.Cecil\TargetRuntime.cs" />
+ <Compile Include="Mono.Cecil\TypeAttributes.cs" />
+ <Compile Include="Mono.Cecil\TypeDefinition.cs" />
+ <Compile Include="Mono.Cecil\TypeDefinitionCollection.cs" />
+ <Compile Include="Mono.Cecil\TypeParser.cs" />
+ <Compile Include="Mono.Cecil\TypeReference.cs" />
+ <Compile Include="Mono.Cecil\TypeSpecification.cs" />
+ <Compile Include="Mono.Cecil\TypeSystem.cs" />
+ <Compile Include="Mono.Cecil\VariantType.cs" />
+ <Compile Include="Mono.Collections.Generic\Collection.cs" />
+ <Compile Include="Mono.Security.Cryptography\CryptoConvert.cs" />
+ <Compile Include="Mono.Security.Cryptography\CryptoService.cs" />
+ <Compile Include="Mono\Actions.cs" />
+ <Compile Include="Mono\Empty.cs" />
+ <Compile Include="Mono\Funcs.cs" />
+ <Compile Include="System.Runtime.CompilerServices\ExtensionAttribute.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="NOTES.txt" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="mono.snk" />
+ </ItemGroup>
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+ <ProjectExtensions>
+ <VisualStudio>
+ <FlavorProperties GUID="{A1591282-1198-4647-A2B1-27E5FF5F6F3B}">
+ <SilverlightProjectProperties />
+ </FlavorProperties>
+ </VisualStudio>
+ </ProjectExtensions>
+</Project> \ No newline at end of file
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/BaseImageVisitor.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/BaseImageVisitor.cs
deleted file mode 100644
index 610c0bec477..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/BaseImageVisitor.cs
+++ /dev/null
@@ -1,101 +0,0 @@
-//
-// BaseImageVisitor.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 - 2007 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public abstract class BaseImageVisitor : IBinaryVisitor {
-
- public virtual void VisitImage (Image img)
- {
- }
-
- public virtual void VisitDOSHeader (DOSHeader header)
- {
- }
-
- public virtual void VisitPEFileHeader (PEFileHeader header)
- {
- }
-
- public virtual void VisitPEOptionalHeader (PEOptionalHeader header)
- {
- }
-
- public virtual void VisitStandardFieldsHeader (PEOptionalHeader.StandardFieldsHeader header)
- {
- }
-
- public virtual void VisitNTSpecificFieldsHeader (PEOptionalHeader.NTSpecificFieldsHeader header)
- {
- }
-
- public virtual void VisitDataDirectoriesHeader (PEOptionalHeader.DataDirectoriesHeader header)
- {
- }
-
- public virtual void VisitSectionCollection (SectionCollection coll)
- {
- }
-
- public virtual void VisitSection (Section section)
- {
- }
-
- public virtual void VisitImportAddressTable (ImportAddressTable iat)
- {
- }
-
- public virtual void VisitDebugHeader (DebugHeader dh)
- {
- }
-
- public virtual void VisitCLIHeader (CLIHeader header)
- {
- }
-
- public virtual void VisitImportTable (ImportTable it)
- {
- }
-
- public virtual void VisitImportLookupTable (ImportLookupTable ilt)
- {
- }
-
- public virtual void VisitHintNameTable (HintNameTable hnt)
- {
- }
-
- public virtual void VisitExportTable (ExportTable et)
- {
- }
-
- public virtual void TerminateImage (Image img)
- {
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/CLIHeader.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/CLIHeader.cs
deleted file mode 100644
index 200286d576c..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/CLIHeader.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-// CLIHeader.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public sealed class CLIHeader : IHeader, IBinaryVisitable {
-
- public uint Cb;
- public ushort MajorRuntimeVersion;
- public ushort MinorRuntimeVersion;
- public DataDirectory Metadata;
- public RuntimeImage Flags;
- public uint EntryPointToken;
- public DataDirectory Resources;
- public DataDirectory StrongNameSignature;
- public DataDirectory CodeManagerTable;
- public DataDirectory VTableFixups;
- public DataDirectory ExportAddressTableJumps;
- public DataDirectory ManagedNativeHeader;
-
- public byte [] ImageHash;
-
- internal CLIHeader ()
- {
- }
-
- public void SetDefaultValues ()
- {
- Cb = 0x48;
- Flags = RuntimeImage.ILOnly;
- CodeManagerTable = DataDirectory.Zero;
- ExportAddressTableJumps = DataDirectory.Zero;
- ManagedNativeHeader = DataDirectory.Zero;
- }
-
- public void Accept (IBinaryVisitor visitor)
- {
- visitor.VisitCLIHeader (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/DOSHeader.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/DOSHeader.cs
deleted file mode 100644
index 8515433bd40..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/DOSHeader.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-//
-// DOSHeader.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public sealed class DOSHeader : IHeader, IBinaryVisitable {
-
- public byte [] Start;
- public byte [] End;
-
- public uint Lfanew;
-
- internal DOSHeader ()
- {
- }
-
- public void SetDefaultValues ()
- {
- Start = new byte [60] {
- 0x4d, 0x5a, 0x90, 0x00, 0x03, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00
- };
- Lfanew = 128;
- End = new byte [64] {
- 0x0e, 0x1f, 0xba, 0x0e, 0x00, 0xb4, 0x09,
- 0xcd, 0x21, 0xb8, 0x01, 0x4c, 0xcd, 0x21,
- 0x54, 0x68, 0x69, 0x73, 0x20, 0x70, 0x72,
- 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x20, 0x63,
- 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x62,
- 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69,
- 0x6e, 0x20, 0x44, 0x4f, 0x53, 0x20, 0x6d,
- 0x6f, 0x64, 0x65, 0x2e, 0x0d, 0x0d, 0x0a,
- 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00
- };
- }
-
- public void Accept (IBinaryVisitor visitor)
- {
- visitor.VisitDOSHeader (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/DataDirectory.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/DataDirectory.cs
deleted file mode 100644
index 54cb2c12a2f..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/DataDirectory.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-//
-// DataDirectory.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public struct DataDirectory {
-
- public static readonly DataDirectory Zero = new DataDirectory (RVA.Zero, 0);
-
- RVA m_virtualAddress;
- uint m_size;
-
- public RVA VirtualAddress {
- get { return m_virtualAddress; }
- set { m_virtualAddress = value; }
- }
-
- public uint Size {
- get { return m_size; }
- set { m_size = value; }
- }
-
- public DataDirectory (RVA virtualAddress, uint size)
- {
- m_virtualAddress = virtualAddress;
- m_size = size;
- }
-
- public override int GetHashCode ()
- {
- return (m_virtualAddress.GetHashCode () ^ (int) m_size << 1);
- }
-
- public override bool Equals (object other)
- {
- if (other is DataDirectory) {
- DataDirectory odd = (DataDirectory) other;
- return this.m_virtualAddress == odd.m_virtualAddress && this.m_size == odd.m_size;
- }
-
- return false;
- }
-
- public override string ToString ()
- {
- return string.Format ("{0} [{1}]", m_virtualAddress, m_size.ToString ("X"));
- }
-
- public static bool operator == (DataDirectory one, DataDirectory other)
- {
- return one.m_virtualAddress == other.m_virtualAddress && one.m_size == other.m_size;
- }
-
- public static bool operator != (DataDirectory one, DataDirectory other)
- {
- return one.m_virtualAddress != other.m_virtualAddress || one.m_size != other.m_size;
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/DebugHeader.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/DebugHeader.cs
deleted file mode 100644
index ae4d436b13e..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/DebugHeader.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-// DebugHeader.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- using System;
-
- public sealed class DebugHeader : IHeader, IBinaryVisitable {
-
- public uint Characteristics;
- public uint TimeDateStamp;
- public ushort MajorVersion;
- public ushort MinorVersion;
- public DebugStoreType Type;
- public uint SizeOfData;
- public RVA AddressOfRawData;
- public uint PointerToRawData;
-
- public uint Magic;
- public Guid Signature;
- public uint Age;
- public string FileName;
-
- internal DebugHeader ()
- {
- }
-
- public void SetDefaultValues ()
- {
- Characteristics = 0;
-
- this.Magic = 0x53445352;
- this.Age = 0;
- this.Type = DebugStoreType.CodeView;
- this.FileName = string.Empty;
- }
-
- public uint GetSize ()
- {
- return 0x34 + (uint) FileName.Length + 1;
- }
-
- public void Accept (IBinaryVisitor visitor)
- {
- visitor.VisitDebugHeader (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/DebugStoreType.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/DebugStoreType.cs
deleted file mode 100644
index ad9ba97610f..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/DebugStoreType.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// DebugStoreType.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public enum DebugStoreType : uint {
- Unknown = 0x00000000,
- COFF = 0x00000001,
- CodeView = 0x00000002,
- FPO = 0x00000003,
- Misc = 0x00000004,
- Exception = 0x00000005,
- Fixup = 0x00000006,
- OMAPToSrc = 0x00000007,
- OMAPFromSrc = 0x00000008,
- Borland = 0x00000009,
- Reserved10 = 0x0000000a,
- CLSID = 0x0000000b
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ExportTable.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ExportTable.cs
deleted file mode 100644
index 5032e558b23..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ExportTable.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// ExportTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2007 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public sealed class ExportTable : IBinaryVisitable {
-
- public uint Characteristics;
- public uint TimeDateStamp;
- public ushort MajorVersion;
- public ushort MinorVersion;
- public string Name;
- public uint Base;
- public uint NumberOfFunctions;
- public uint NumberOfNames;
- public RVA AddressOfFunctions;
- public RVA AddressOfNames;
- public RVA AddressOfNameOrdinals;
-
- public RVA [] AddressesOfFunctions;
- public RVA [] AddressesOfNames;
- public ushort [] NameOrdinals;
- public string [] Names;
-
- internal ExportTable ()
- {
- }
-
- public void Accept (IBinaryVisitor visitor)
- {
- visitor.VisitExportTable (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/IBinaryVisitable.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/IBinaryVisitable.cs
deleted file mode 100644
index 0d3729e03f5..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/IBinaryVisitable.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// IBinaryVisitable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public interface IBinaryVisitable {
- void Accept (IBinaryVisitor visitor);
- }
-}
-
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/IBinaryVisitor.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/IBinaryVisitor.cs
deleted file mode 100644
index 5b248364e71..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/IBinaryVisitor.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-//
-// IBinaryVisitor.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 - 2007 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public interface IBinaryVisitor {
- void VisitImage (Image img);
- void VisitDOSHeader (DOSHeader header);
- void VisitPEFileHeader (PEFileHeader header);
- void VisitPEOptionalHeader (PEOptionalHeader header);
- void VisitStandardFieldsHeader (PEOptionalHeader.StandardFieldsHeader header);
- void VisitNTSpecificFieldsHeader (PEOptionalHeader.NTSpecificFieldsHeader header);
- void VisitDataDirectoriesHeader (PEOptionalHeader.DataDirectoriesHeader header);
- void VisitSectionCollection (SectionCollection coll);
- void VisitSection (Section section);
- void VisitImportAddressTable (ImportAddressTable iat);
- void VisitDebugHeader (DebugHeader dh);
- void VisitCLIHeader (CLIHeader header);
- void VisitImportTable (ImportTable it);
- void VisitImportLookupTable (ImportLookupTable ilt);
- void VisitHintNameTable (HintNameTable hnt);
- void VisitExportTable (ExportTable et);
-
- void TerminateImage (Image img);
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/Image.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/Image.cs
deleted file mode 100644
index 5844b340935..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/Image.cs
+++ /dev/null
@@ -1,243 +0,0 @@
-//
-// Image.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 - 2007 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- using System;
- using System.IO;
-
- using Mono.Cecil.Metadata;
-
- public sealed class Image : IBinaryVisitable {
-
- DOSHeader m_dosHeader;
- PEFileHeader m_peFileHeader;
- PEOptionalHeader m_peOptionalHeader;
-
- SectionCollection m_sections;
- Section m_textSection;
-
- ImportAddressTable m_importAddressTable;
- CLIHeader m_cliHeader;
- ImportTable m_importTable;
- ImportLookupTable m_importLookupTable;
- HintNameTable m_hintNameTable;
- ExportTable m_exportTable;
-
- DebugHeader m_debugHeader;
- MetadataRoot m_mdRoot;
-
- ResourceDirectoryTable m_rsrcRoot;
-
- FileInfo m_img;
-
- public DOSHeader DOSHeader {
- get { return m_dosHeader; }
- }
-
- public PEFileHeader PEFileHeader {
- get { return m_peFileHeader; }
- }
-
- public PEOptionalHeader PEOptionalHeader {
- get { return m_peOptionalHeader; }
- }
-
- public SectionCollection Sections {
- get { return m_sections; }
- }
-
- public Section TextSection {
- get { return m_textSection; }
- set { m_textSection = value; }
- }
-
- public ImportAddressTable ImportAddressTable {
- get { return m_importAddressTable; }
- }
-
- public CLIHeader CLIHeader {
- get { return m_cliHeader; }
- set { m_cliHeader = value; }
- }
-
- public DebugHeader DebugHeader {
- get { return m_debugHeader; }
- set { m_debugHeader = value; }
- }
-
- public MetadataRoot MetadataRoot {
- get { return m_mdRoot; }
- }
-
- public ImportTable ImportTable {
- get { return m_importTable; }
- }
-
- public ImportLookupTable ImportLookupTable {
- get { return m_importLookupTable; }
- }
-
- public HintNameTable HintNameTable {
- get { return m_hintNameTable; }
- }
-
- public ExportTable ExportTable {
- get { return m_exportTable; }
- set { m_exportTable = value; }
- }
-
- internal ResourceDirectoryTable ResourceDirectoryRoot {
- get { return m_rsrcRoot; }
- set { m_rsrcRoot = value; }
- }
-
- public FileInfo FileInformation {
- get { return m_img; }
- }
-
- internal Image ()
- {
- m_dosHeader = new DOSHeader ();
- m_peFileHeader = new PEFileHeader ();
- m_peOptionalHeader = new PEOptionalHeader ();
- m_sections = new SectionCollection ();
- m_importAddressTable = new ImportAddressTable ();
- m_importTable = new ImportTable ();
- m_importLookupTable = new ImportLookupTable ();
- m_hintNameTable = new HintNameTable ();
- m_mdRoot = new MetadataRoot (this);
- }
-
- internal Image (FileInfo img) : this ()
- {
- m_img = img;
- }
-
- public long ResolveVirtualAddress (RVA rva)
- {
- foreach (Section sect in this.Sections) {
- if (rva >= sect.VirtualAddress &&
- rva < sect.VirtualAddress + sect.SizeOfRawData)
-
- return rva + sect.PointerToRawData - sect.VirtualAddress;
- }
-
- throw new ArgumentOutOfRangeException ("Cannot map the rva to any section");
- }
-
- internal Section GetSectionAtVirtualAddress (RVA rva)
- {
- foreach (Section sect in this.Sections) {
- if (rva >= sect.VirtualAddress &&
- rva < sect.VirtualAddress + sect.SizeOfRawData) {
- return sect;
- }
- }
- return null;
- }
-
- public BinaryReader GetReaderAtVirtualAddress (RVA rva)
- {
- Section sect = GetSectionAtVirtualAddress (rva);
- if (sect == null)
- return null;
-
- BinaryReader br = new BinaryReader (new MemoryStream (sect.Data));
- br.BaseStream.Position = rva - sect.VirtualAddress;
- return br;
- }
-
- public void AddDebugHeader ()
- {
- m_debugHeader = new DebugHeader ();
- m_debugHeader.SetDefaultValues ();
- }
-
- internal void SetFileInfo (FileInfo file)
- {
- m_img = file;
- }
-
- public void Accept (IBinaryVisitor visitor)
- {
- visitor.VisitImage (this);
-
- m_dosHeader.Accept (visitor);
- m_peFileHeader.Accept (visitor);
- m_peOptionalHeader.Accept (visitor);
-
- m_sections.Accept (visitor);
-
- m_importAddressTable.Accept (visitor);
-
- AcceptIfNotNull (m_cliHeader, visitor);
- AcceptIfNotNull (m_debugHeader, visitor);
-
- m_importTable.Accept (visitor);
- m_importLookupTable.Accept (visitor);
- m_hintNameTable.Accept (visitor);
- AcceptIfNotNull (m_exportTable, visitor);
-
- visitor.TerminateImage (this);
- }
-
- static void AcceptIfNotNull (IBinaryVisitable visitable, IBinaryVisitor visitor)
- {
- if (visitable == null)
- return;
-
- visitable.Accept (visitor);
- }
-
- public static Image CreateImage ()
- {
- Image img = new Image ();
-
- ImageInitializer init = new ImageInitializer (img);
- img.Accept (init);
-
- return img;
- }
-
- public static Image GetImage (string file)
- {
- return ImageReader.Read (file).Image;
- }
-
- public static Image GetImage (byte [] image)
- {
- return ImageReader.Read (image).Image;
- }
-
- public static Image GetImage (Stream stream)
- {
- return ImageReader.Read (stream).Image;
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageCharacteristics.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageCharacteristics.cs
deleted file mode 100644
index 278b75d5944..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageCharacteristics.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// ImageCharacteristics.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- using System;
-
- [Flags]
- public enum ImageCharacteristics : ushort {
- RelocsStripped = 0x0001,
- ExecutableImage = 0x0002,
- LineNumsStripped = 0x0004,
- LocalSymsStripped = 0x0008,
- AggressiveWSTrim = 0x0010,
- LargeAddressAware = 0x0020,
- ReservedForFutureUse = 0x0040,
- BytesReversedLo = 0x0080,
- _32BitsMachine = 0x0100,
- DebugStripped = 0x0200,
- RemovableRunFromSwap = 0x0400,
- NetRunFromSwap = 0x0800,
- System = 0x1000,
- Dll = 0x2000,
- UPSystemOnly = 0x4000,
- BytesReversedHI = 0x8000,
-
- __flags = 0x0002 | 0x0004 | 0x0008 | 0x0100,
-
- CILOnlyDll = 0x2000 | (ushort) __flags,
- CILOnlyExe = __flags
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageFormatException.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageFormatException.cs
deleted file mode 100644
index 1592233f384..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageFormatException.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// ImageFormatException.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- using System;
-
- public class ImageFormatException : Exception {
-
- internal ImageFormatException () : base()
- {
- }
-
- internal ImageFormatException (string message) : base(message)
- {
- }
-
- internal ImageFormatException (string message, params string[] parameters) :
- base(string.Format(message, parameters))
- {
- }
-
- internal ImageFormatException (string message, Exception inner) :
- base(message, inner)
- {
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/Imports.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/Imports.cs
deleted file mode 100644
index 021cb39fe93..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/Imports.cs
+++ /dev/null
@@ -1,98 +0,0 @@
-//
-// Imports.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public sealed class ImportAddressTable : IBinaryVisitable {
-
- public RVA HintNameTableRVA;
-
- internal ImportAddressTable ()
- {
- }
-
- public void Accept (IBinaryVisitor visitor)
- {
- visitor.VisitImportAddressTable (this);
- }
- }
-
- public sealed class ImportTable : IBinaryVisitable {
-
- public RVA ImportLookupTable;
- public uint DateTimeStamp;
- public uint ForwardChain;
- public RVA Name;
- public RVA ImportAddressTable;
-
- internal ImportTable ()
- {
- }
-
- public void Accept (IBinaryVisitor visitor)
- {
- visitor.VisitImportTable (this);
- }
- }
-
- public sealed class ImportLookupTable : IBinaryVisitable {
-
- public RVA HintNameRVA;
-
- internal ImportLookupTable ()
- {
- }
-
- public void Accept (IBinaryVisitor visitor)
- {
- visitor.VisitImportLookupTable (this);
- }
- }
-
- public sealed class HintNameTable : IBinaryVisitable {
-
- public const string RuntimeMainExe = "_CorExeMain";
- public const string RuntimeMainDll = "_CorDllMain";
- public const string RuntimeCorEE = "mscoree.dll";
-
- public ushort Hint;
- public string RuntimeMain;
- public string RuntimeLibrary;
- public ushort EntryPoint;
- public RVA RVA;
-
- internal HintNameTable ()
- {
- }
-
- public void Accept (IBinaryVisitor visitor)
- {
- visitor.VisitHintNameTable (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/PEFileHeader.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/PEFileHeader.cs
deleted file mode 100644
index f38ee62f33f..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/PEFileHeader.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-//
-// PEFileHeader.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public sealed class PEFileHeader : IHeader, IBinaryVisitable {
-
- public ushort Machine;
- public ushort NumberOfSections;
- public uint TimeDateStamp;
- public uint PointerToSymbolTable;
- public uint NumberOfSymbols;
- public ushort OptionalHeaderSize;
- public ImageCharacteristics Characteristics;
-
- internal PEFileHeader ()
- {
- }
-
- public void SetDefaultValues ()
- {
- Machine = 0x14c;
- PointerToSymbolTable = 0;
- NumberOfSymbols = 0;
- OptionalHeaderSize = 0xe0;
- }
-
- public void Accept (IBinaryVisitor visitor)
- {
- visitor.VisitPEFileHeader (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/PEOptionalHeader.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/PEOptionalHeader.cs
deleted file mode 100644
index 0f27ff70dd0..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/PEOptionalHeader.cs
+++ /dev/null
@@ -1,200 +0,0 @@
-//
-// PEOptionalHeader.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public sealed class PEOptionalHeader : IHeader, IBinaryVisitable {
-
- public StandardFieldsHeader StandardFields;
- public NTSpecificFieldsHeader NTSpecificFields;
- public DataDirectoriesHeader DataDirectories;
-
- internal PEOptionalHeader ()
- {
- StandardFields = new StandardFieldsHeader ();
- NTSpecificFields = new NTSpecificFieldsHeader ();
- DataDirectories = new DataDirectoriesHeader ();
- }
-
- public void SetDefaultValues ()
- {
- }
-
- public void Accept (IBinaryVisitor visitor)
- {
- visitor.VisitPEOptionalHeader (this);
-
- StandardFields.Accept (visitor);
- NTSpecificFields.Accept (visitor);
- DataDirectories.Accept (visitor);
- }
-
- public sealed class StandardFieldsHeader : IHeader, IBinaryVisitable {
-
- public ushort Magic;
- public byte LMajor;
- public byte LMinor;
- public uint CodeSize;
- public uint InitializedDataSize;
- public uint UninitializedDataSize;
- public RVA EntryPointRVA;
- public RVA BaseOfCode;
- public RVA BaseOfData;
-
- public bool IsPE64 {
- get { return Magic == 0x20b; }
- set {
- if (value)
- Magic = 0x20b;
- else
- Magic = 0x10b;
- }
- }
-
- internal StandardFieldsHeader ()
- {
- }
-
- public void SetDefaultValues ()
- {
- Magic = 0x10b;
- LMajor = 6;
- LMinor = 0;
- }
-
- public void Accept (IBinaryVisitor visitor)
- {
- visitor.VisitStandardFieldsHeader (this);
- }
- }
-
- public sealed class NTSpecificFieldsHeader : IHeader, IBinaryVisitable {
-
- public ulong ImageBase;
- public uint SectionAlignment;
- public uint FileAlignment;
- public ushort OSMajor;
- public ushort OSMinor;
- public ushort UserMajor;
- public ushort UserMinor;
- public ushort SubSysMajor;
- public ushort SubSysMinor;
- public uint Reserved;
- public uint ImageSize;
- public uint HeaderSize;
- public uint FileChecksum;
- public SubSystem SubSystem;
- public ushort DLLFlags;
- public ulong StackReserveSize;
- public ulong StackCommitSize;
- public ulong HeapReserveSize;
- public ulong HeapCommitSize;
- public uint LoaderFlags;
- public uint NumberOfDataDir;
-
- internal NTSpecificFieldsHeader ()
- {
- }
-
- public void SetDefaultValues ()
- {
- ImageBase = 0x400000;
- SectionAlignment = 0x2000;
- FileAlignment = 0x200;
- OSMajor = 4;
- OSMinor = 0;
- UserMajor = 0;
- UserMinor = 0;
- SubSysMajor = 4;
- SubSysMinor = 0;
- Reserved = 0;
- HeaderSize = 0x200;
- FileChecksum = 0;
- DLLFlags = 0;
- StackReserveSize = 0x100000;
- StackCommitSize = 0x1000;
- HeapReserveSize = 0x100000;
- HeapCommitSize = 0x1000;
- LoaderFlags = 0;
- NumberOfDataDir = 0x10;
- }
-
- public void Accept (IBinaryVisitor visitor)
- {
- visitor.VisitNTSpecificFieldsHeader (this);
- }
- }
-
- public sealed class DataDirectoriesHeader : IHeader, IBinaryVisitable {
-
- public DataDirectory ExportTable;
- public DataDirectory ImportTable;
- public DataDirectory ResourceTable;
- public DataDirectory ExceptionTable;
- public DataDirectory CertificateTable;
- public DataDirectory BaseRelocationTable;
- public DataDirectory Debug;
- public DataDirectory Copyright;
- public DataDirectory GlobalPtr;
- public DataDirectory TLSTable;
- public DataDirectory LoadConfigTable;
- public DataDirectory BoundImport;
- public DataDirectory IAT;
- public DataDirectory DelayImportDescriptor;
- public DataDirectory CLIHeader;
- public DataDirectory Reserved;
-
- internal DataDirectoriesHeader ()
- {
- }
-
- public void SetDefaultValues ()
- {
- ExportTable = DataDirectory.Zero;
- ResourceTable = DataDirectory.Zero;
- ExceptionTable = DataDirectory.Zero;
- CertificateTable = DataDirectory.Zero;
- Debug = DataDirectory.Zero;
- Copyright = DataDirectory.Zero;
- GlobalPtr = DataDirectory.Zero;
- TLSTable = DataDirectory.Zero;
- LoadConfigTable = DataDirectory.Zero;
- BoundImport = DataDirectory.Zero;
- IAT = new DataDirectory (new RVA (0x2000), 8);
- DelayImportDescriptor = DataDirectory.Zero;
- CLIHeader = new DataDirectory (new RVA (0x2008), 0x48);
- Reserved = DataDirectory.Zero;
- }
-
- public void Accept (IBinaryVisitor visitor)
- {
- visitor.VisitDataDirectoriesHeader (this);
- }
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/RVA.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/RVA.cs
deleted file mode 100644
index 0c0370bafcf..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/RVA.cs
+++ /dev/null
@@ -1,115 +0,0 @@
-//
-// RVA.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public struct RVA {
-
- public static readonly RVA Zero = new RVA (0);
-
- uint m_rva;
-
- public uint Value {
- get { return m_rva; }
- set { m_rva = value; }
- }
-
- public RVA (uint rva)
- {
- m_rva = rva;
- }
-
- public override int GetHashCode ()
- {
- return (int) m_rva;
- }
-
- public override bool Equals (object other)
- {
- if (other is RVA)
- return this.m_rva == ((RVA) other).m_rva;
-
- return false;
- }
-
- public override string ToString ()
- {
- return string.Format ("0x{0}", m_rva.ToString ("X"));
- }
-
- public static bool operator == (RVA one, RVA other)
- {
- return one.m_rva == other.m_rva;
- }
-
- public static bool operator != (RVA one, RVA other)
- {
- return one.m_rva != other.m_rva;
- }
-
- public static bool operator < (RVA one, RVA other)
- {
- return one.m_rva < other.m_rva;
- }
-
- public static bool operator > (RVA one, RVA other)
- {
- return one.m_rva > other.m_rva;
- }
-
- public static bool operator <= (RVA one, RVA other)
- {
- return one.m_rva <= other.m_rva;
- }
-
- public static bool operator >= (RVA one, RVA other)
- {
- return one.m_rva >= other.m_rva;
- }
-
- public static RVA operator + (RVA rva, uint x)
- {
- return new RVA (rva.m_rva + x);
- }
-
- public static RVA operator - (RVA rva, uint x)
- {
- return new RVA (rva.m_rva - x);
- }
-
- public static implicit operator RVA (uint val)
- {
- return val == 0 ? Zero : new RVA (val);
- }
-
- public static implicit operator uint (RVA rva)
- {
- return rva.m_rva;
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceDataEntry.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceDataEntry.cs
deleted file mode 100644
index c2b3b3f9753..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceDataEntry.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// ResourceDataEntry.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public class ResourceDataEntry : ResourceNode {
-
- public RVA Data;
- public uint Size;
- public uint Codepage;
- public uint Reserved = 0;
-
- public byte [] ResourceData;
-
- public ResourceDataEntry (int offset) : base (offset)
- {
- }
-
- public ResourceDataEntry ()
- {
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceDirectoryEntry.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceDirectoryEntry.cs
deleted file mode 100644
index 5588b3cf22f..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceDirectoryEntry.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-// ResourceDirectoryEntry.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public class ResourceDirectoryEntry : ResourceNode {
-
- private bool m_idByName;
-
- public int ID;
- public ResourceDirectoryString Name;
-
- public bool IdentifiedByName {
- get { return m_idByName; }
- }
-
- public ResourceNode Child;
-
- public ResourceDirectoryEntry (ResourceDirectoryString name)
- {
- this.Name = name;
- m_idByName = true;
- }
-
- public ResourceDirectoryEntry (ResourceDirectoryString name, int offset) : base (offset)
- {
- this.Name = name;
- m_idByName = true;
- }
-
- public ResourceDirectoryEntry (int id)
- {
- this.ID = id;
- }
-
- public ResourceDirectoryEntry (int id, int offset) : base (offset)
- {
- this.ID = id;
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceDirectoryString.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceDirectoryString.cs
deleted file mode 100644
index 8c006e0bd08..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceDirectoryString.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// ResourceDirectoryString.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public class ResourceDirectoryString : ResourceNode {
-
- public string String;
-
- public ResourceDirectoryString (string str)
- {
- this.String = str;
- }
-
- public ResourceDirectoryString (string str, int offset) : base (offset)
- {
- this.String = str;
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceDirectoryTable.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceDirectoryTable.cs
deleted file mode 100644
index 12517bf251e..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceDirectoryTable.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// ResourceDirectoryTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- using System.Collections;
-
- public class ResourceDirectoryTable : ResourceNode {
-
- private ArrayList m_entries;
-
- public uint Characteristics;
- public uint TimeDateStamp;
- public ushort MajorVersion;
- public ushort MinorVersion;
-
- public IList Entries {
- get { return m_entries; }
- }
-
- public ResourceDirectoryTable (int offset) : base (offset)
- {
- m_entries = new ArrayList ();
- }
-
- public ResourceDirectoryTable ()
- {
- m_entries = new ArrayList ();
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceNode.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceNode.cs
deleted file mode 100644
index b51ebd5fa15..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceNode.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// ResourceNode.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public abstract class ResourceNode {
-
- public int Offset;
-
- internal ResourceNode (int offset)
- {
- this.Offset = offset;
- }
-
- internal ResourceNode ()
- {
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/RuntimeImage.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/RuntimeImage.cs
deleted file mode 100644
index 84afacfdc1e..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/RuntimeImage.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// RuntimeImage.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-namespace Mono.Cecil.Binary {
-
- [Flags]
- public enum RuntimeImage : uint {
- ILOnly = 0x0000001,
- F32BitsRequired = 0x0000002,
- StrongNameSigned = 0x0000008,
- TrackDebugData = 0x00010000
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/Section.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/Section.cs
deleted file mode 100644
index a05714bdc50..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/Section.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-// Section.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public sealed class Section : IHeader, IBinaryVisitable {
-
- public const string Text = ".text";
- public const string Resources = ".rsrc";
- public const string Relocs = ".reloc";
- public const string SData = ".sdata";
-
- public uint VirtualSize;
- public RVA VirtualAddress;
- public uint SizeOfRawData;
- public RVA PointerToRawData;
- public RVA PointerToRelocations;
- public RVA PointerToLineNumbers;
- public ushort NumberOfRelocations;
- public ushort NumberOfLineNumbers;
- public SectionCharacteristics Characteristics;
-
- public string Name;
- public byte [] Data;
-
- internal Section ()
- {
- }
-
- public void SetDefaultValues ()
- {
- PointerToLineNumbers = RVA.Zero;
- NumberOfLineNumbers = 0;
- }
-
- public void Accept (IBinaryVisitor visitor)
- {
- visitor.VisitSection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/SectionCharacteristics.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/SectionCharacteristics.cs
deleted file mode 100644
index 66d97ed2645..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/SectionCharacteristics.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-// SectionCharacteristics.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- using System;
-
- [Flags]
- public enum SectionCharacteristics : uint {
- TypeNoPad = 0x0000008,
- ContainsCode = 0x00000020,
- ContainsInitializedData = 0x00000040,
- ContainsUninitializedData = 0x00000080,
- LnkOther = 0x0000100,
- LnkInfo = 0x000200,
- LnkRemove = 0x0000800,
- LnkCOMDAT = 0x00001000,
- GPRel = 0x00008000,
- MemPurgeable = 0x00020000,
- MemLocked = 0x00040000,
- MemPreload = 0x00080000,
- Align1Bytes = 0x00100000,
- Align2Bytes = 0x00200000,
- Align4Bytes = 0x00300000,
- Align8Bytes = 0x00400000,
- Align16Bytes = 0x00500000,
- Align32Bytes = 0x00600000,
- Align64Bytes = 0x00700000,
- Align128Bytes = 0x00800000,
- Align256Bytes = 0x00900000,
- Align512Bytes = 0x00a00000,
- Align1024Bytes = 0x00b00000,
- Align2048Bytes = 0x00c00000,
- Align4096Bytes = 0x00d00000,
- Align8192Bytes = 0x00e00000,
- LnkNRelocOvfl = 0x01000000,
- MemDiscardable = 0x02000000,
- MemNotCached = 0x04000000,
- MemNotPaged = 0x08000000,
- MemShared = 0x10000000,
- MemExecute = 0x20000000,
- MemoryRead = 0x40000000,
- MemoryWrite = 0x80000000
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/SectionCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/SectionCollection.cs
deleted file mode 100644
index 2d90eee1472..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/SectionCollection.cs
+++ /dev/null
@@ -1,114 +0,0 @@
-//
-// SectionCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- using System;
- using System.Collections;
-
- public sealed class SectionCollection : ICollection, IBinaryVisitable {
-
- IList m_items;
-
- public Section this [int index]
- {
- get { return m_items [index] as Section; }
- set { m_items [index] = value; }
- }
-
- public int Count {
- get { return m_items.Count; }
- }
-
- public bool IsSynchronized {
- get { return false; }
- }
-
- public object SyncRoot {
- get { return this; }
- }
-
- internal SectionCollection ()
- {
- m_items = new ArrayList (4);
- }
-
- internal void Add (Section value)
- {
- m_items.Add (value);
- }
-
- internal void Clear ()
- {
- m_items.Clear ();
- }
-
- public bool Contains (Section value)
- {
- return m_items.Contains (value);
- }
-
- public int IndexOf (Section value)
- {
- return m_items.IndexOf (value);
- }
-
- internal void Insert (int index, Section value)
- {
- m_items.Insert (index, value);
- }
-
- internal void Remove (Section value)
- {
- m_items.Remove (value);
- }
-
- internal void RemoveAt (int index)
- {
- m_items.Remove (index);
- }
-
- public void CopyTo (Array ary, int index)
- {
- m_items.CopyTo (ary, index);
- }
-
- public IEnumerator GetEnumerator ()
- {
- return m_items.GetEnumerator ();
- }
-
- public void Accept (IBinaryVisitor visitor)
- {
- visitor.VisitSectionCollection (this);
-
- for (int i = 0; i < m_items.Count; i++)
- this [i].Accept (visitor);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/SubSystem.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Binary/SubSystem.cs
deleted file mode 100644
index 2cab9107105..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/SubSystem.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// SubSystem.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Binary {
-
- public enum SubSystem : ushort {
- Unknown = 0x0,
- Native = 0x1,
- WindowsGui = 0x2,
- WindowsCui = 0x3,
- PosixCui = 0x7,
- WindowsCeGui = 0x9,
- EfiApplication = 0x10,
- EfiBootServiceDriver = 0x11,
- EfiRuntimeDriver = 0x12,
- EfiRom = 0x13,
- Xbox = 0x14,
- NexusAgent = 0x15
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/BaseCodeVisitor.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/BaseCodeVisitor.cs
deleted file mode 100644
index d6e50516202..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/BaseCodeVisitor.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-// BaseCodeVisitor.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- public abstract class BaseCodeVisitor : ICodeVisitor {
-
- public virtual void VisitMethodBody (MethodBody body)
- {
- }
-
- public virtual void VisitInstructionCollection (InstructionCollection instructions)
- {
- }
-
- public virtual void VisitInstruction (Instruction instr)
- {
- }
-
- public virtual void VisitExceptionHandlerCollection (ExceptionHandlerCollection seh)
- {
- }
-
- public virtual void VisitExceptionHandler (ExceptionHandler eh)
- {
- }
-
- public virtual void VisitVariableDefinitionCollection (VariableDefinitionCollection variables)
- {
- }
-
- public virtual void VisitVariableDefinition (VariableDefinition var)
- {
- }
-
- public virtual void VisitScopeCollection (ScopeCollection scopes)
- {
- }
-
- public virtual void VisitScope (Scope s)
- {
- }
-
- public virtual void TerminateMethodBody (MethodBody body)
- {
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/CilWorker.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/CilWorker.cs
deleted file mode 100644
index 7f70e247c23..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/CilWorker.cs
+++ /dev/null
@@ -1,402 +0,0 @@
-//
-// CilWorker.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- using System;
- using SR = System.Reflection;
-
- public sealed class CilWorker {
-
- MethodBody m_mbody;
- InstructionCollection m_instrs;
-
- internal CilWorker (MethodBody body)
- {
- m_mbody = body;
- m_instrs = m_mbody.Instructions;
- }
-
- public MethodBody GetBody ()
- {
- return m_mbody;
- }
-
- public Instruction Create (OpCode opcode)
- {
- if (opcode.OperandType != OperandType.InlineNone)
- throw new ArgumentException ("opcode");
-
- return FinalCreate (opcode);
- }
-
- public Instruction Create (OpCode opcode, TypeReference type)
- {
- if (type == null)
- throw new ArgumentNullException ("type");
- if (opcode.OperandType != OperandType.InlineType &&
- opcode.OperandType != OperandType.InlineTok)
- throw new ArgumentException ("opcode");
-
- return FinalCreate (opcode, type);
- }
-
- public Instruction Create (OpCode opcode, CallSite site)
- {
- if (site == null)
- throw new ArgumentNullException ("site");
- if (opcode.Code != Code.Calli)
- throw new ArgumentException ("code");
-
- return FinalCreate (opcode, site);
- }
-
- public Instruction Create (OpCode opcode, MethodReference method)
- {
- if (method == null)
- throw new ArgumentNullException ("method");
- if (opcode.OperandType != OperandType.InlineMethod &&
- opcode.OperandType != OperandType.InlineTok)
- throw new ArgumentException ("opcode");
-
- return FinalCreate (opcode, method);
- }
-
- public Instruction Create (OpCode opcode, FieldReference field)
- {
- if (field == null)
- throw new ArgumentNullException ("field");
- if (opcode.OperandType != OperandType.InlineField &&
- opcode.OperandType != OperandType.InlineTok)
- throw new ArgumentException ("opcode");
-
- return FinalCreate (opcode, field);
- }
-
- public Instruction Create (OpCode opcode, string str)
- {
- if (str == null)
- throw new ArgumentNullException ("str");
- if (opcode.OperandType != OperandType.InlineString)
- throw new ArgumentException ("opcode");
-
- return FinalCreate (opcode, str);
- }
-
- public Instruction Create (OpCode opcode, sbyte b)
- {
- if (opcode.OperandType != OperandType.ShortInlineI &&
- opcode != OpCodes.Ldc_I4_S)
- throw new ArgumentException ("opcode");
-
- return FinalCreate (opcode, b);
- }
-
- public Instruction Create (OpCode opcode, byte b)
- {
- if (opcode.OperandType == OperandType.ShortInlineVar)
- return Create (opcode, m_mbody.Variables [b]);
-
- if (opcode.OperandType == OperandType.ShortInlineParam)
- return Create (opcode, CodeReader.GetParameter (m_mbody, b));
-
- if (opcode.OperandType != OperandType.ShortInlineI ||
- opcode == OpCodes.Ldc_I4_S)
- throw new ArgumentException ("opcode");
-
- return FinalCreate (opcode, b);
- }
-
- public Instruction Create (OpCode opcode, int i)
- {
- if (opcode.OperandType == OperandType.InlineVar)
- return Create (opcode, m_mbody.Variables [i]);
-
- if (opcode.OperandType == OperandType.InlineParam)
- return Create (opcode, CodeReader.GetParameter (m_mbody, i));
-
- if (opcode.OperandType != OperandType.InlineI)
- throw new ArgumentException ("opcode");
-
- return FinalCreate (opcode, i);
- }
-
- public Instruction Create (OpCode opcode, long l)
- {
- if (opcode.OperandType != OperandType.InlineI8)
- throw new ArgumentException ("opcode");
-
- return FinalCreate (opcode, l);
- }
-
- public Instruction Create (OpCode opcode, float f)
- {
- if (opcode.OperandType != OperandType.ShortInlineR)
- throw new ArgumentException ("opcode");
-
- return FinalCreate (opcode, f);
- }
-
- public Instruction Create (OpCode opcode, double d)
- {
- if (opcode.OperandType != OperandType.InlineR)
- throw new ArgumentException ("opcode");
-
- return FinalCreate (opcode, d);
- }
-
- public Instruction Create (OpCode opcode, Instruction label)
- {
- if (label == null)
- throw new ArgumentNullException ("label");
- if (opcode.OperandType != OperandType.InlineBrTarget &&
- opcode.OperandType != OperandType.ShortInlineBrTarget)
- throw new ArgumentException ("opcode");
-
- return FinalCreate (opcode, label);
- }
-
- public Instruction Create (OpCode opcode, Instruction [] labels)
- {
- if (labels == null)
- throw new ArgumentNullException ("labels");
- if (opcode.OperandType != OperandType.InlineSwitch)
- throw new ArgumentException ("opcode");
-
- return FinalCreate (opcode, labels);
- }
-
- public Instruction Create (OpCode opcode, VariableDefinition var)
- {
- if (var == null)
- throw new ArgumentNullException ("var");
- if (opcode.OperandType != OperandType.ShortInlineVar &&
- opcode.OperandType != OperandType.InlineVar)
- throw new ArgumentException ("opcode");
-
- return FinalCreate (opcode, var);
- }
-
- public Instruction Create (OpCode opcode, ParameterDefinition param)
- {
- if (param == null)
- throw new ArgumentNullException ("param");
- if (opcode.OperandType != OperandType.ShortInlineParam &&
- opcode.OperandType != OperandType.InlineParam)
- throw new ArgumentException ("opcode");
-
- return FinalCreate (opcode, param);
- }
-
- static Instruction FinalCreate (OpCode opcode)
- {
- return FinalCreate (opcode, null);
- }
-
- static Instruction FinalCreate (OpCode opcode, object operand)
- {
- return new Instruction (opcode, operand);
- }
-
- public Instruction Emit (OpCode opcode)
- {
- Instruction instr = Create (opcode);
- Append (instr);
- return instr;
- }
-
- public Instruction Emit (OpCode opcode, TypeReference type)
- {
- Instruction instr = Create (opcode, type);
- Append (instr);
- return instr;
- }
-
- public Instruction Emit (OpCode opcode, MethodReference meth)
- {
- Instruction instr = Create (opcode, meth);
- Append (instr);
- return instr;
- }
-
- public Instruction Emit (OpCode opcode, CallSite site)
- {
- Instruction instr = Create (opcode, site);
- Append (instr);
- return instr;
- }
-
- public Instruction Emit (OpCode opcode, FieldReference field)
- {
- Instruction instr = Create (opcode, field);
- Append (instr);
- return instr;
- }
-
- public Instruction Emit (OpCode opcode, string str)
- {
- Instruction instr = Create (opcode, str);
- Append (instr);
- return instr;
- }
-
- public Instruction Emit (OpCode opcode, byte b)
- {
- Instruction instr = Create (opcode, b);
- Append (instr);
- return instr;
- }
-
- public Instruction Emit (OpCode opcode, sbyte b)
- {
- Instruction instr = Create (opcode, b);
- Append (instr);
- return instr;
- }
-
- public Instruction Emit (OpCode opcode, int i)
- {
- Instruction instr = Create (opcode, i);
- Append (instr);
- return instr;
- }
-
- public Instruction Emit (OpCode opcode, long l)
- {
- Instruction instr = Create (opcode, l);
- Append (instr);
- return instr;
- }
-
- public Instruction Emit (OpCode opcode, float f)
- {
- Instruction instr = Create (opcode, f);
- Append (instr);
- return instr;
- }
-
- public Instruction Emit (OpCode opcode, double d)
- {
- Instruction instr = Create (opcode, d);
- Append (instr);
- return instr;
- }
-
- public Instruction Emit (OpCode opcode, Instruction target)
- {
- Instruction instr = Create (opcode, target);
- Append (instr);
- return instr;
- }
-
- public Instruction Emit (OpCode opcode, Instruction [] targets)
- {
- Instruction instr = Create (opcode, targets);
- Append (instr);
- return instr;
- }
-
- public Instruction Emit (OpCode opcode, VariableDefinition var)
- {
- Instruction instr = Create (opcode, var);
- Append (instr);
- return instr;
- }
-
- public Instruction Emit (OpCode opcode, ParameterDefinition param)
- {
- Instruction instr = Create (opcode, param);
- Append (instr);
- return instr;
- }
-
- public void InsertBefore (Instruction target, Instruction instr)
- {
- int index = m_instrs.IndexOf (target);
- if (index == -1)
- throw new ArgumentOutOfRangeException ("Target instruction not in method body");
-
- m_instrs.Insert (index, instr);
- instr.Previous = target.Previous;
- if (target.Previous != null)
- target.Previous.Next = instr;
- target.Previous = instr;
- instr.Next = target;
- }
-
- public void InsertAfter (Instruction target, Instruction instr)
- {
- int index = m_instrs.IndexOf (target);
- if (index == -1)
- throw new ArgumentOutOfRangeException ("Target instruction not in method body");
-
- m_instrs.Insert (index + 1, instr);
- instr.Next = target.Next;
- if (target.Next != null)
- target.Next.Previous = instr;
- target.Next = instr;
- instr.Previous = target;
- }
-
- public void Append (Instruction instr)
- {
- Instruction last = null, current = instr;
- if (m_instrs.Count > 0)
- last = m_instrs [m_instrs.Count - 1];
-
- if (last != null) {
- last.Next = instr;
- current.Previous = last;
- }
-
- m_instrs.Add (current);
- }
-
- public void Replace (Instruction old, Instruction instr)
- {
- int index = m_instrs.IndexOf (old);
- if (index == -1)
- throw new ArgumentOutOfRangeException ("Target instruction not in method body");
-
- InsertAfter (old, instr);
- Remove (old);
- }
-
- public void Remove (Instruction instr)
- {
- if (!m_instrs.Contains (instr))
- throw new ArgumentException ("Instruction not in method body");
-
- if (instr.Previous != null)
- instr.Previous.Next = instr.Next;
- if (instr.Next != null)
- instr.Next.Previous = instr.Previous;
- m_instrs.Remove (instr);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Code.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Code.cs
index af70ab52de1..bd18b842a95 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Code.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Code.cs
@@ -4,10 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Fri Mar 16 15:37:23 +0100 2007
-//
-// (C) 2007 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/CodeReader.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/CodeReader.cs
index 9fe965f5569..c780cc7ce21 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/CodeReader.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/CodeReader.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 - 2007 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,332 +26,575 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+
+using Mono.Cecil.PE;
+using Mono.Collections.Generic;
+
+using RVA = System.UInt32;
+
namespace Mono.Cecil.Cil {
- using System;
- using System.Collections;
- using System.IO;
+ sealed class CodeReader : ByteBuffer {
+
+ readonly internal MetadataReader reader;
+
+ int start;
+ Section code_section;
- using Mono.Cecil;
- using Mono.Cecil.Metadata;
- using Mono.Cecil.Signatures;
+ MethodDefinition method;
+ MethodBody body;
+
+ int Offset {
+ get { return base.position - start; }
+ }
+
+ CodeReader (Section section, MetadataReader reader)
+ : base (section.Data)
+ {
+ this.code_section = section;
+ this.reader = reader;
+ }
+
+ public static CodeReader CreateCodeReader (MetadataReader metadata)
+ {
+ return new CodeReader (metadata.image.MetadataSection, metadata);
+ }
+
+ public MethodBody ReadMethodBody (MethodDefinition method)
+ {
+ this.method = method;
+ this.body = new MethodBody (method);
+
+ reader.context = method;
+
+ ReadMethodBody ();
+
+ return this.body;
+ }
- sealed class CodeReader : BaseCodeVisitor {
+ public void MoveTo (int rva)
+ {
+ if (!IsInSection (rva)) {
+ code_section = reader.image.GetSectionAtVirtualAddress ((uint) rva);
+ Reset (code_section.Data);
+ }
- ReflectionReader m_reflectReader;
- MetadataRoot m_root;
- IDictionary m_instructions;
+ base.position = rva - (int) code_section.VirtualAddress;
+ }
- public CodeReader (ReflectionReader reflectReader)
+ bool IsInSection (int rva)
{
- m_reflectReader = reflectReader;
- m_root = m_reflectReader.MetadataRoot;
- m_instructions = new Hashtable ();
+ return code_section.VirtualAddress <= rva && rva < code_section.VirtualAddress + code_section.SizeOfRawData;
}
- public override void VisitMethodBody (MethodBody body)
+ void ReadMethodBody ()
{
- MethodDefinition meth = body.Method;
- MethodBody methBody = body;
- BinaryReader br = m_reflectReader.Module.ImageReader.MetadataReader.GetDataReader (meth.RVA);
+ MoveTo (method.RVA);
- // lets read the method
- int flags = br.ReadByte ();
+ var flags = ReadByte ();
switch (flags & 0x3) {
- case (int) MethodHeader.TinyFormat :
- methBody.CodeSize = flags >> 2;
- methBody.MaxStack = 8;
- ReadCilBody (methBody, br);
+ case 0x2: // tiny
+ body.code_size = flags >> 2;
+ body.MaxStackSize = 8;
+ ReadCode ();
break;
- case (int) MethodHeader.FatFormat :
- br.BaseStream.Position--;
- int fatflags = br.ReadUInt16 ();
- //int headersize = (fatflags >> 12) & 0xf;
- methBody.MaxStack = br.ReadUInt16 ();
- methBody.CodeSize = br.ReadInt32 ();
- methBody.LocalVarToken = br.ReadInt32 ();
- body.InitLocals = (fatflags & (int) MethodHeader.InitLocals) != 0;
- if (methBody.LocalVarToken != 0)
- VisitVariableDefinitionCollection (methBody.Variables);
- ReadCilBody (methBody, br);
- if ((fatflags & (int) MethodHeader.MoreSects) != 0)
- ReadSection (methBody, br);
+ case 0x3: // fat
+ base.position--;
+ ReadFatMethod ();
break;
+ default:
+ throw new InvalidOperationException ();
+ }
+
+ var symbol_reader = reader.module.SymbolReader;
+
+ if (symbol_reader != null) {
+ var instructions = body.Instructions;
+ symbol_reader.Read (body, offset => GetInstruction (instructions, offset));
}
}
- public static uint GetRid (int token)
+ void ReadFatMethod ()
{
- return (uint) token & 0x00ffffff;
+ var flags = ReadUInt16 ();
+ body.max_stack_size = ReadUInt16 ();
+ body.code_size = (int) ReadUInt32 ();
+ body.local_var_token = new MetadataToken (ReadUInt32 ());
+ body.init_locals = (flags & 0x10) != 0;
+
+ if (body.LocalVarToken.RID != 0)
+ body.variables = ReadVariables (body.local_var_token);
+
+ ReadCode ();
+
+ if ((flags & 0x8) != 0)
+ ReadSection ();
}
- public static ParameterDefinition GetParameter (MethodBody body, int index)
+ public VariableDefinitionCollection ReadVariables (MetadataToken local_var_token)
{
- if (body.Method.HasThis) {
- if (index == 0)
- return body.Method.This;
- index--;
- }
+ var position = reader.position;
+ var variables = reader.ReadVariables (local_var_token);
+ reader.position = position;
- return body.Method.Parameters [index];
+ return variables;
}
- public static VariableDefinition GetVariable (MethodBody body, int index)
+ void ReadCode ()
{
- return body.Variables [index];
+ start = position;
+ var code_size = body.code_size;
+ var end = start + code_size;
+ var instructions = body.instructions = new InstructionCollection (code_size / 3);
+
+ while (position < end) {
+ var offset = base.position - start;
+ var opcode = ReadOpCode ();
+ var current = new Instruction (offset, opcode);
+
+ if (opcode.OperandType != OperandType.InlineNone)
+ current.operand = ReadOperand (current);
+
+ instructions.Add (current);
+ }
+
+ ResolveBranches (instructions);
}
- void ReadCilBody (MethodBody body, BinaryReader br)
+ OpCode ReadOpCode ()
{
- long start = br.BaseStream.Position;
- Instruction last = null;
- m_instructions.Clear();
- InstructionCollection code = body.Instructions;
- GenericContext context = new GenericContext (body.Method);
+ var il_opcode = ReadByte ();
+ return il_opcode != 0xfe
+ ? OpCodes.OneByteOpCode [il_opcode]
+ : OpCodes.TwoBytesOpCode [ReadByte ()];
+ }
- while (br.BaseStream.Position < start + body.CodeSize) {
- OpCode op;
- long offset = br.BaseStream.Position - start;
- int cursor = br.ReadByte ();
- if (cursor == 0xfe)
- op = OpCodes.TwoBytesOpCode [br.ReadByte ()];
- else
- op = OpCodes.OneByteOpCode [cursor];
+ object ReadOperand (Instruction instruction)
+ {
+ switch (instruction.opcode.OperandType) {
+ case OperandType.InlineSwitch:
+ var length = ReadInt32 ();
+ var base_offset = Offset + (4 * length);
+ var branches = new int [length];
+ for (int i = 0; i < length; i++)
+ branches [i] = base_offset + ReadInt32 ();
+ return branches;
+ case OperandType.ShortInlineBrTarget:
+ return ReadSByte () + Offset;
+ case OperandType.InlineBrTarget:
+ return ReadInt32 () + Offset;
+ case OperandType.ShortInlineI:
+ if (instruction.opcode == OpCodes.Ldc_I4_S)
+ return ReadSByte ();
+
+ return ReadByte ();
+ case OperandType.InlineI:
+ return ReadInt32 ();
+ case OperandType.ShortInlineR:
+ return ReadSingle ();
+ case OperandType.InlineR:
+ return ReadDouble ();
+ case OperandType.InlineI8:
+ return ReadInt64 ();
+ case OperandType.ShortInlineVar:
+ return GetVariable (ReadByte ());
+ case OperandType.InlineVar:
+ return GetVariable (ReadUInt16 ());
+ case OperandType.ShortInlineArg:
+ return GetParameter (ReadByte ());
+ case OperandType.InlineArg:
+ return GetParameter (ReadUInt16 ());
+ case OperandType.InlineSig:
+ return GetCallSite (ReadToken ());
+ case OperandType.InlineString:
+ return GetString (ReadToken ());
+ case OperandType.InlineTok:
+ case OperandType.InlineType:
+ case OperandType.InlineMethod:
+ case OperandType.InlineField:
+ return reader.LookupToken (ReadToken ());
+ default:
+ throw new NotSupportedException ();
+ }
+ }
- Instruction instr = new Instruction ((int) offset, op);
- switch (op.OperandType) {
- case OperandType.InlineNone :
- break;
- case OperandType.InlineSwitch :
- uint length = br.ReadUInt32 ();
- int [] branches = new int [length];
- int [] buf = new int [length];
- for (int i = 0; i < length; i++)
- buf [i] = br.ReadInt32 ();
- for (int i = 0; i < length; i++)
- branches [i] = Convert.ToInt32 (br.BaseStream.Position - start + buf [i]);
- instr.Operand = branches;
- break;
- case OperandType.ShortInlineBrTarget :
- sbyte sbrtgt = br.ReadSByte ();
- instr.Operand = Convert.ToInt32 (br.BaseStream.Position - start + sbrtgt);
- break;
- case OperandType.InlineBrTarget :
- int brtgt = br.ReadInt32 ();
- instr.Operand = Convert.ToInt32 (br.BaseStream.Position - start + brtgt);
- break;
- case OperandType.ShortInlineI :
- if (op == OpCodes.Ldc_I4_S)
- instr.Operand = br.ReadSByte ();
- else
- instr.Operand = br.ReadByte ();
- break;
- case OperandType.ShortInlineVar :
- instr.Operand = GetVariable (body, br.ReadByte ());
- break;
- case OperandType.ShortInlineParam :
- instr.Operand = GetParameter (body, br.ReadByte ());
- break;
- case OperandType.InlineSig :
- instr.Operand = GetCallSiteAt (br.ReadInt32 (), context);
- break;
- case OperandType.InlineI :
- instr.Operand = br.ReadInt32 ();
- break;
- case OperandType.InlineVar :
- instr.Operand = GetVariable (body, br.ReadInt16 ());
- break;
- case OperandType.InlineParam :
- instr.Operand = GetParameter (body, br.ReadInt16 ());
- break;
- case OperandType.InlineI8 :
- instr.Operand = br.ReadInt64 ();
- break;
- case OperandType.ShortInlineR :
- instr.Operand = br.ReadSingle ();
- break;
- case OperandType.InlineR :
- instr.Operand = br.ReadDouble ();
- break;
- case OperandType.InlineString :
- instr.Operand = m_root.Streams.UserStringsHeap [GetRid (br.ReadInt32 ())];
- break;
- case OperandType.InlineField :
- case OperandType.InlineMethod :
- case OperandType.InlineType :
- case OperandType.InlineTok :
- MetadataToken token = new MetadataToken (br.ReadInt32 ());
- switch (token.TokenType) {
- case TokenType.TypeDef:
- instr.Operand = m_reflectReader.GetTypeDefAt (token.RID);
- break;
- case TokenType.TypeRef:
- instr.Operand = m_reflectReader.GetTypeRefAt (token.RID);
- break;
- case TokenType.TypeSpec:
- instr.Operand = m_reflectReader.GetTypeSpecAt (token.RID, context);
- break;
- case TokenType.Field:
- instr.Operand = m_reflectReader.GetFieldDefAt (token.RID);
- break;
- case TokenType.Method:
- instr.Operand = m_reflectReader.GetMethodDefAt (token.RID);
- break;
- case TokenType.MethodSpec:
- instr.Operand = m_reflectReader.GetMethodSpecAt (token.RID, context);
- break;
- case TokenType.MemberRef:
- instr.Operand = m_reflectReader.GetMemberRefAt (token.RID, context);
- break;
- default:
- throw new ReflectionException ("Wrong token: " + token);
- }
- break;
- }
+ public string GetString (MetadataToken token)
+ {
+ return reader.image.UserStringHeap.Read (token.RID);
+ }
- m_instructions.Add (instr.Offset, instr);
+ public ParameterDefinition GetParameter (int index)
+ {
+ return body.GetParameter (index);
+ }
- if (last != null) {
- last.Next = instr;
- instr.Previous = last;
- }
+ public VariableDefinition GetVariable (int index)
+ {
+ return body.Variables [index];
+ }
- last = instr;
+ public CallSite GetCallSite (MetadataToken token)
+ {
+ return reader.ReadCallSite (token);
+ }
- code.Add (instr);
- }
+ void ResolveBranches (Collection<Instruction> instructions)
+ {
+ var items = instructions.items;
+ var size = instructions.size;
- // resolve branches
- foreach (Instruction i in code) {
- switch (i.OpCode.OperandType) {
+ for (int i = 0; i < size; i++) {
+ var instruction = items [i];
+ switch (instruction.opcode.OperandType) {
case OperandType.ShortInlineBrTarget:
case OperandType.InlineBrTarget:
- i.Operand = GetInstruction (body, (int) i.Operand);
+ instruction.operand = GetInstruction ((int) instruction.operand);
break;
case OperandType.InlineSwitch:
- int [] lbls = (int []) i.Operand;
- Instruction [] instrs = new Instruction [lbls.Length];
- for (int j = 0; j < lbls.Length; j++)
- instrs [j] = GetInstruction (body, lbls [j]);
- i.Operand = instrs;
+ var offsets = (int []) instruction.operand;
+ var branches = new Instruction [offsets.Length];
+ for (int j = 0; j < offsets.Length; j++)
+ branches [j] = GetInstruction (offsets [j]);
+
+ instruction.operand = branches;
break;
}
}
+ }
- if (m_reflectReader.SymbolReader != null)
- m_reflectReader.SymbolReader.Read (body, m_instructions);
+ Instruction GetInstruction (int offset)
+ {
+ return GetInstruction (body.Instructions, offset);
}
- Instruction GetInstruction (MethodBody body, int offset)
+ static Instruction GetInstruction (Collection<Instruction> instructions, int offset)
{
- Instruction instruction = m_instructions [offset] as Instruction;
- if (instruction != null)
- return instruction;
+ var size = instructions.size;
+ var items = instructions.items;
+ if (offset < 0 || offset > items [size - 1].offset)
+ return null;
+
+ int min = 0;
+ int max = size - 1;
+ while (min <= max) {
+ int mid = min + ((max - min) / 2);
+ var instruction = items [mid];
+ var instruction_offset = instruction.offset;
+
+ if (offset == instruction_offset)
+ return instruction;
+
+ if (offset < instruction_offset)
+ max = mid - 1;
+ else
+ min = mid + 1;
+ }
- return body.Instructions.Outside;
+ return null;
}
- void ReadSection (MethodBody body, BinaryReader br)
+ void ReadSection ()
{
- br.BaseStream.Position += 3;
- br.BaseStream.Position &= ~3;
+ Align (4);
- byte flags = br.ReadByte ();
- if ((flags & (byte) MethodDataSection.FatFormat) == 0) {
- int length = br.ReadByte () / 12;
- br.ReadBytes (2);
+ const byte fat_format = 0x40;
+ const byte more_sects = 0x80;
- for (int i = 0; i < length; i++) {
- ExceptionHandler eh = new ExceptionHandler (
- (ExceptionHandlerType) (br.ReadInt16 () & 0x7));
- eh.TryStart = GetInstruction (body, Convert.ToInt32 (br.ReadInt16 ()));
- eh.TryEnd = GetInstruction (body, eh.TryStart.Offset + Convert.ToInt32 (br.ReadByte ()));
- eh.HandlerStart = GetInstruction (body, Convert.ToInt32 (br.ReadInt16 ()));
- eh.HandlerEnd = GetInstruction (body, eh.HandlerStart.Offset + Convert.ToInt32 (br.ReadByte ()));
- ReadExceptionHandlerEnd (eh, br, body);
- body.ExceptionHandlers.Add (eh);
- }
- } else {
- br.BaseStream.Position--;
- int length = (br.ReadInt32 () >> 8) / 24;
- if ((flags & (int) MethodDataSection.EHTable) == 0)
- br.ReadBytes (length * 24);
- for (int i = 0; i < length; i++) {
- ExceptionHandler eh = new ExceptionHandler (
- (ExceptionHandlerType) (br.ReadInt32 () & 0x7));
- eh.TryStart = GetInstruction (body, br.ReadInt32 ());
- eh.TryEnd = GetInstruction (body, eh.TryStart.Offset + br.ReadInt32 ());
- eh.HandlerStart = GetInstruction (body, br.ReadInt32 ());
- eh.HandlerEnd = GetInstruction (body, eh.HandlerStart.Offset + br.ReadInt32 ());
- ReadExceptionHandlerEnd (eh, br, body);
- body.ExceptionHandlers.Add (eh);
- }
- }
+ var flags = ReadByte ();
+ if ((flags & fat_format) == 0)
+ ReadSmallSection ();
+ else
+ ReadFatSection ();
+
+ if ((flags & more_sects) != 0)
+ ReadSection ();
+ }
+
+ void ReadSmallSection ()
+ {
+ var count = ReadByte () / 12;
+ Advance (2);
- if ((flags & (byte) MethodDataSection.MoreSects) != 0)
- ReadSection (body, br);
+ ReadExceptionHandlers (
+ count,
+ () => (int) ReadUInt16 (),
+ () => (int) ReadByte ());
}
- void ReadExceptionHandlerEnd (ExceptionHandler eh, BinaryReader br, MethodBody body)
+ void ReadFatSection ()
{
- switch (eh.Type) {
- case ExceptionHandlerType.Catch :
- MetadataToken token = new MetadataToken (br.ReadInt32 ());
- eh.CatchType = m_reflectReader.GetTypeDefOrRef (token, new GenericContext (body.Method));
+ position--;
+ var count = (ReadInt32 () >> 8) / 24;
+
+ ReadExceptionHandlers (
+ count,
+ ReadInt32,
+ ReadInt32);
+ }
+
+ // inline ?
+ void ReadExceptionHandlers (int count, Func<int> read_entry, Func<int> read_length)
+ {
+ for (int i = 0; i < count; i++) {
+ var handler = new ExceptionHandler (
+ (ExceptionHandlerType) (read_entry () & 0x7));
+
+ handler.TryStart = GetInstruction (read_entry ());
+ handler.TryEnd = GetInstruction (handler.TryStart.Offset + read_length ());
+
+ handler.HandlerStart = GetInstruction (read_entry ());
+ handler.HandlerEnd = GetInstruction (handler.HandlerStart.Offset + read_length ());
+
+ ReadExceptionHandlerSpecific (handler);
+
+ this.body.ExceptionHandlers.Add (handler);
+ }
+ }
+
+ void ReadExceptionHandlerSpecific (ExceptionHandler handler)
+ {
+ switch (handler.HandlerType) {
+ case ExceptionHandlerType.Catch:
+ handler.CatchType = (TypeReference) reader.LookupToken (ReadToken ());
+ break;
+ case ExceptionHandlerType.Filter:
+ handler.FilterStart = GetInstruction (ReadInt32 ());
+ handler.FilterEnd = handler.HandlerStart.Previous;
+ break;
+ default:
+ Advance (4);
break;
- case ExceptionHandlerType.Filter :
- eh.FilterStart = GetInstruction (body, br.ReadInt32 ());
- eh.FilterEnd = GetInstruction (body, eh.HandlerStart.Previous.Offset);
+ }
+ }
+
+ void Align (int align)
+ {
+ align--;
+ Advance (((position + align) & ~align) - position);
+ }
+
+ public MetadataToken ReadToken ()
+ {
+ return new MetadataToken (ReadUInt32 ());
+ }
+
+#if !READ_ONLY
+
+ public ByteBuffer PatchRawMethodBody (MethodDefinition method, CodeWriter writer, out MethodSymbols symbols)
+ {
+ var buffer = new ByteBuffer ();
+ symbols = new MethodSymbols (method.Name);
+
+ this.method = method;
+ reader.context = method;
+
+ MoveTo (method.RVA);
+
+ var flags = ReadByte ();
+
+ MetadataToken local_var_token;
+
+ switch (flags & 0x3) {
+ case 0x2: // tiny
+ buffer.WriteByte (flags);
+ local_var_token = MetadataToken.Zero;
+ symbols.code_size = flags >> 2;
+ PatchRawCode (buffer, symbols.code_size, writer);
break;
- default :
- br.ReadInt32 ();
+ case 0x3: // fat
+ base.position--;
+
+ PatchRawFatMethod (buffer, symbols, writer, out local_var_token);
break;
+ default:
+ throw new NotSupportedException ();
+ }
+
+ var symbol_reader = reader.module.SymbolReader;
+ if (symbol_reader != null && writer.metadata.write_symbols) {
+ symbols.method_token = GetOriginalToken (writer.metadata, method);
+ symbols.local_var_token = local_var_token;
+ symbol_reader.Read (symbols);
}
+
+ return buffer;
+ }
+
+ void PatchRawFatMethod (ByteBuffer buffer, MethodSymbols symbols, CodeWriter writer, out MetadataToken local_var_token)
+ {
+ var flags = ReadUInt16 ();
+ buffer.WriteUInt16 (flags);
+ buffer.WriteUInt16 (ReadUInt16 ());
+ symbols.code_size = ReadInt32 ();
+ buffer.WriteInt32 (symbols.code_size);
+ local_var_token = ReadToken ();
+
+ if (local_var_token.RID > 0) {
+ var variables = symbols.variables = ReadVariables (local_var_token);
+ buffer.WriteUInt32 (variables != null
+ ? writer.GetStandAloneSignature (symbols.variables).ToUInt32 ()
+ : 0);
+ } else
+ buffer.WriteUInt32 (0);
+
+ PatchRawCode (buffer, symbols.code_size, writer);
+
+ if ((flags & 0x8) != 0)
+ PatchRawSection (buffer, writer.metadata);
}
- CallSite GetCallSiteAt (int token, GenericContext context)
+ static MetadataToken GetOriginalToken (MetadataBuilder metadata, MethodDefinition method)
{
- StandAloneSigTable sasTable = m_reflectReader.TableReader.GetStandAloneSigTable ();
- MethodSig ms = m_reflectReader.SigReader.GetStandAloneMethodSig (
- sasTable [(int) GetRid (token) - 1].Signature);
- CallSite cs = new CallSite (ms.HasThis, ms.ExplicitThis,
- ms.MethCallConv, m_reflectReader.GetMethodReturnType (ms, context));
- cs.MetadataToken = new MetadataToken (token);
+ MetadataToken original;
+ if (metadata.TryGetOriginalMethodToken (method.token, out original))
+ return original;
+
+ return MetadataToken.Zero;
+ }
+
+ void PatchRawCode (ByteBuffer buffer, int code_size, CodeWriter writer)
+ {
+ var metadata = writer.metadata;
+ buffer.WriteBytes (ReadBytes (code_size));
+ var end = buffer.position;
+ buffer.position -= code_size;
+
+ while (buffer.position < end) {
+ OpCode opcode;
+ var il_opcode = buffer.ReadByte ();
+ if (il_opcode != 0xfe) {
+ opcode = OpCodes.OneByteOpCode [il_opcode];
+ } else {
+ var il_opcode2 = buffer.ReadByte ();
+ opcode = OpCodes.TwoBytesOpCode [il_opcode2];
+ }
- for (int i = 0; i < ms.ParamCount; i++) {
- Param p = ms.Parameters [i];
- cs.Parameters.Add (m_reflectReader.BuildParameterDefinition (i, p, context));
+ switch (opcode.OperandType) {
+ case OperandType.ShortInlineI:
+ case OperandType.ShortInlineBrTarget:
+ case OperandType.ShortInlineVar:
+ case OperandType.ShortInlineArg:
+ buffer.position += 1;
+ break;
+ case OperandType.InlineVar:
+ case OperandType.InlineArg:
+ buffer.position += 2;
+ break;
+ case OperandType.InlineBrTarget:
+ case OperandType.ShortInlineR:
+ case OperandType.InlineI:
+ buffer.position += 4;
+ break;
+ case OperandType.InlineI8:
+ case OperandType.InlineR:
+ buffer.position += 8;
+ break;
+ case OperandType.InlineSwitch:
+ var length = buffer.ReadInt32 ();
+ buffer.position += length * 4;
+ break;
+ case OperandType.InlineString:
+ var @string = GetString (new MetadataToken (buffer.ReadUInt32 ()));
+ buffer.position -= 4;
+ buffer.WriteUInt32 (
+ new MetadataToken (
+ TokenType.String,
+ metadata.user_string_heap.GetStringIndex (@string)).ToUInt32 ());
+ break;
+ case OperandType.InlineSig:
+ var call_site = GetCallSite (new MetadataToken (buffer.ReadUInt32 ()));
+ buffer.position -= 4;
+ buffer.WriteUInt32 (writer.GetStandAloneSignature (call_site).ToUInt32 ());
+ break;
+ case OperandType.InlineTok:
+ case OperandType.InlineType:
+ case OperandType.InlineMethod:
+ case OperandType.InlineField:
+ var provider = reader.LookupToken (new MetadataToken (buffer.ReadUInt32 ()));
+ buffer.position -= 4;
+ buffer.WriteUInt32 (metadata.LookupToken (provider).ToUInt32 ());
+ break;
+ }
}
+ }
+
+ void PatchRawSection (ByteBuffer buffer, MetadataBuilder metadata)
+ {
+ var position = base.position;
+ Align (4);
+ buffer.WriteBytes (base.position - position);
+
+ const byte fat_format = 0x40;
+ const byte more_sects = 0x80;
+
+ var flags = ReadByte ();
+ if ((flags & fat_format) == 0) {
+ buffer.WriteByte (flags);
+ PatchRawSmallSection (buffer, metadata);
+ } else
+ PatchRawFatSection (buffer, metadata);
+
+ if ((flags & more_sects) != 0)
+ PatchRawSection (buffer, metadata);
+ }
+
+ void PatchRawSmallSection (ByteBuffer buffer, MetadataBuilder metadata)
+ {
+ var length = ReadByte ();
+ buffer.WriteByte (length);
+ Advance (2);
+
+ buffer.WriteUInt16 (0);
- ReflectionReader.CreateSentinelIfNeeded (cs, ms);
+ var count = length / 12;
- return cs;
+ PatchRawExceptionHandlers (buffer, metadata, count, false);
}
- public override void VisitVariableDefinitionCollection (VariableDefinitionCollection variables)
+ void PatchRawFatSection (ByteBuffer buffer, MetadataBuilder metadata)
{
- MethodBody body = variables.Container as MethodBody;
- if (body == null || body.LocalVarToken == 0)
- return;
+ position--;
+ var length = ReadInt32 ();
+ buffer.WriteInt32 (length);
- StandAloneSigTable sasTable = m_reflectReader.TableReader.GetStandAloneSigTable ();
- StandAloneSigRow sasRow = sasTable [(int) GetRid (body.LocalVarToken) - 1];
- LocalVarSig sig = m_reflectReader.SigReader.GetLocalVarSig (sasRow.Signature);
- for (int i = 0; i < sig.Count; i++) {
- LocalVarSig.LocalVariable lv = sig.LocalVariables [i];
- TypeReference varType = m_reflectReader.GetTypeRefFromSig (
- lv.Type, new GenericContext (body.Method));
+ var count = (length >> 8) / 24;
- if (lv.ByRef)
- varType = new ReferenceType (varType);
- if ((lv.Constraint & Constraint.Pinned) != 0)
- varType = new PinnedType (varType);
+ PatchRawExceptionHandlers (buffer, metadata, count, true);
+ }
- varType = m_reflectReader.GetModifierType (lv.CustomMods, varType);
+ void PatchRawExceptionHandlers (ByteBuffer buffer, MetadataBuilder metadata, int count, bool fat_entry)
+ {
+ const int fat_entry_size = 16;
+ const int small_entry_size = 6;
+
+ for (int i = 0; i < count; i++) {
+ ExceptionHandlerType handler_type;
+ if (fat_entry) {
+ var type = ReadUInt32 ();
+ handler_type = (ExceptionHandlerType) (type & 0x7);
+ buffer.WriteUInt32 (type);
+ } else {
+ var type = ReadUInt16 ();
+ handler_type = (ExceptionHandlerType) (type & 0x7);
+ buffer.WriteUInt16 (type);
+ }
- body.Variables.Add (new VariableDefinition (
- string.Concat ("V_", i), i, body.Method, varType));
+ buffer.WriteBytes (ReadBytes (fat_entry ? fat_entry_size : small_entry_size));
+
+ switch (handler_type) {
+ case ExceptionHandlerType.Catch:
+ var exception = reader.LookupToken (ReadToken ());
+ buffer.WriteUInt32 (metadata.LookupToken (exception).ToUInt32 ());
+ break;
+ default:
+ buffer.WriteUInt32 (ReadUInt32 ());
+ break;
+ }
}
}
+
+#endif
+
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/CodeWriter.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/CodeWriter.cs
index f6abc5029fc..8bf072241db 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/CodeWriter.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/CodeWriter.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 - 2007 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,510 +26,425 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil.Cil {
+using System;
+using System.Collections.Generic;
+
+using Mono.Collections.Generic;
- using System;
- using System.Collections;
+using Mono.Cecil.Metadata;
+using Mono.Cecil.PE;
- using Mono.Cecil;
- using Mono.Cecil.Binary;
- using Mono.Cecil.Metadata;
- using Mono.Cecil.Signatures;
+using RVA = System.UInt32;
- sealed class CodeWriter : BaseCodeVisitor {
+#if !READ_ONLY
- ReflectionWriter m_reflectWriter;
- MemoryBinaryWriter m_binaryWriter;
- MemoryBinaryWriter m_codeWriter;
+namespace Mono.Cecil.Cil {
- IDictionary m_localSigCache;
- IDictionary m_standaloneSigCache;
+ sealed class CodeWriter : ByteBuffer {
- IDictionary m_stackSizes;
+ readonly RVA code_base;
+ internal readonly MetadataBuilder metadata;
+ readonly Dictionary<uint, MetadataToken> standalone_signatures;
- bool stripped;
+ RVA current;
+ MethodBody body;
- public bool Stripped {
- get { return stripped; }
- set { stripped = value; }
+ public CodeWriter (MetadataBuilder metadata)
+ : base (0)
+ {
+ this.code_base = metadata.text_map.GetNextRVA (TextSegment.CLIHeader);
+ this.current = code_base;
+ this.metadata = metadata;
+ this.standalone_signatures = new Dictionary<uint, MetadataToken> ();
}
- public CodeWriter (ReflectionWriter reflectWriter, MemoryBinaryWriter writer)
+ public RVA WriteMethodBody (MethodDefinition method)
{
- m_reflectWriter = reflectWriter;
- m_binaryWriter = writer;
- m_codeWriter = new MemoryBinaryWriter ();
+ var rva = BeginMethod ();
- m_localSigCache = new Hashtable ();
- m_standaloneSigCache = new Hashtable ();
+ if (IsUnresolved (method)) {
+ if (method.rva == 0)
+ return 0;
- m_stackSizes = new Hashtable ();
- }
+ WriteUnresolvedMethodBody (method);
+ } else {
+ if (IsEmptyMethodBody (method.Body))
+ return 0;
- public RVA WriteMethodBody (MethodDefinition meth)
- {
- if (meth.Body == null)
- return RVA.Zero;
+ WriteResolvedMethodBody (method);
+ }
- RVA ret = m_reflectWriter.MetadataWriter.GetDataCursor ();
- meth.Body.Accept (this);
- return ret;
- }
+ Align (4);
- public override void VisitMethodBody (MethodBody body)
- {
- m_codeWriter.Empty ();
+ EndMethod ();
+ return rva;
}
- void WriteToken (MetadataToken token)
+ static bool IsEmptyMethodBody (MethodBody body)
{
- if (token.RID == 0)
- m_codeWriter.Write (0);
- else
- m_codeWriter.Write (token.ToUInt ());
+ return body.instructions.IsNullOrEmpty ()
+ && body.variables.IsNullOrEmpty ();
}
- static int GetParameterIndex (MethodBody body, ParameterDefinition p)
+ static bool IsUnresolved (MethodDefinition method)
{
- int idx = body.Method.Parameters.IndexOf (p);
- if (idx == -1 && p == body.Method.This)
- return 0;
- if (body.Method.HasThis)
- idx++;
-
- return idx;
+ return method.HasBody && method.HasImage && method.body == null;
}
- public override void VisitInstructionCollection (InstructionCollection instructions)
+ void WriteUnresolvedMethodBody (MethodDefinition method)
{
- MethodBody body = instructions.Container;
- long start = m_codeWriter.BaseStream.Position;
-
- ComputeMaxStack (instructions);
+ var code_reader = metadata.module.Read (method, (_, reader) => reader.code);
- foreach (Instruction instr in instructions) {
+ MethodSymbols symbols;
+ var buffer = code_reader.PatchRawMethodBody (method, this, out symbols);
- instr.Offset = (int) (m_codeWriter.BaseStream.Position - start);
+ WriteBytes (buffer);
- if (instr.OpCode.Size == 1)
- m_codeWriter.Write (instr.OpCode.Op2);
- else {
- m_codeWriter.Write (instr.OpCode.Op1);
- m_codeWriter.Write (instr.OpCode.Op2);
- }
-
- if (instr.OpCode.OperandType != OperandType.InlineNone &&
- instr.Operand == null)
- throw new ReflectionException ("OpCode {0} have null operand", instr.OpCode.Name);
-
- switch (instr.OpCode.OperandType) {
- case OperandType.InlineNone :
- break;
- case OperandType.InlineSwitch :
- Instruction [] targets = (Instruction []) instr.Operand;
- for (int i = 0; i < targets.Length + 1; i++)
- m_codeWriter.Write ((uint) 0);
- break;
- case OperandType.ShortInlineBrTarget :
- m_codeWriter.Write ((byte) 0);
- break;
- case OperandType.InlineBrTarget :
- m_codeWriter.Write (0);
- break;
- case OperandType.ShortInlineI :
- if (instr.OpCode == OpCodes.Ldc_I4_S)
- m_codeWriter.Write ((sbyte) instr.Operand);
- else
- m_codeWriter.Write ((byte) instr.Operand);
- break;
- case OperandType.ShortInlineVar :
- m_codeWriter.Write ((byte) body.Variables.IndexOf (
- (VariableDefinition) instr.Operand));
- break;
- case OperandType.ShortInlineParam :
- m_codeWriter.Write ((byte) GetParameterIndex (body, (ParameterDefinition) instr.Operand));
- break;
- case OperandType.InlineSig :
- WriteToken (GetCallSiteToken ((CallSite) instr.Operand));
- break;
- case OperandType.InlineI :
- m_codeWriter.Write ((int) instr.Operand);
- break;
- case OperandType.InlineVar :
- m_codeWriter.Write ((short) body.Variables.IndexOf (
- (VariableDefinition) instr.Operand));
- break;
- case OperandType.InlineParam :
- m_codeWriter.Write ((short) GetParameterIndex (
- body, (ParameterDefinition) instr.Operand));
- break;
- case OperandType.InlineI8 :
- m_codeWriter.Write ((long) instr.Operand);
- break;
- case OperandType.ShortInlineR :
- m_codeWriter.Write ((float) instr.Operand);
- break;
- case OperandType.InlineR :
- m_codeWriter.Write ((double) instr.Operand);
- break;
- case OperandType.InlineString :
- WriteToken (new MetadataToken (TokenType.String,
- m_reflectWriter.MetadataWriter.AddUserString (instr.Operand as string)));
- break;
- case OperandType.InlineField :
- case OperandType.InlineMethod :
- case OperandType.InlineType :
- case OperandType.InlineTok :
- if (instr.Operand is TypeReference)
- WriteToken (GetTypeToken ((TypeReference) instr.Operand));
- else if (instr.Operand is GenericInstanceMethod)
- WriteToken (m_reflectWriter.GetMethodSpecToken (instr.Operand as GenericInstanceMethod));
- else if (instr.Operand is MemberReference)
- WriteToken (m_reflectWriter.GetMemberRefToken ((MemberReference) instr.Operand));
- else if (instr.Operand is IMetadataTokenProvider)
- WriteToken (((IMetadataTokenProvider) instr.Operand).MetadataToken);
- else
- throw new ReflectionException (
- string.Format ("Wrong operand for {0} OpCode: {1}",
- instr.OpCode.OperandType,
- instr.Operand.GetType ().FullName));
- break;
- }
- }
+ if (symbols.instructions.IsNullOrEmpty ())
+ return;
- // patch branches
- long pos = m_codeWriter.BaseStream.Position;
-
- foreach (Instruction instr in instructions) {
- switch (instr.OpCode.OperandType) {
- case OperandType.InlineSwitch :
- m_codeWriter.BaseStream.Position = instr.Offset + instr.OpCode.Size;
- Instruction [] targets = (Instruction []) instr.Operand;
- m_codeWriter.Write ((uint) targets.Length);
- foreach (Instruction tgt in targets)
- m_codeWriter.Write ((tgt.Offset - (instr.Offset +
- instr.OpCode.Size + (4 * (targets.Length + 1)))));
- break;
- case OperandType.ShortInlineBrTarget :
- m_codeWriter.BaseStream.Position = instr.Offset + instr.OpCode.Size;
- m_codeWriter.Write ((byte) (((Instruction) instr.Operand).Offset -
- (instr.Offset + instr.OpCode.Size + 1)));
- break;
- case OperandType.InlineBrTarget :
- m_codeWriter.BaseStream.Position = instr.Offset + instr.OpCode.Size;
- m_codeWriter.Write(((Instruction) instr.Operand).Offset -
- (instr.Offset + instr.OpCode.Size + 4));
- break;
- }
- }
+ symbols.method_token = method.token;
+ symbols.local_var_token = GetLocalVarToken (buffer, symbols);
- m_codeWriter.BaseStream.Position = pos;
+ var symbol_writer = metadata.symbol_writer;
+ if (symbol_writer != null)
+ symbol_writer.Write (symbols);
}
- MetadataToken GetTypeToken (TypeReference type)
+ static MetadataToken GetLocalVarToken (ByteBuffer buffer, MethodSymbols symbols)
{
- return m_reflectWriter.GetTypeDefOrRefToken (type);
+ if (symbols.variables.IsNullOrEmpty ())
+ return MetadataToken.Zero;
+
+ buffer.position = 8;
+ return new MetadataToken (buffer.ReadUInt32 ());
}
- MetadataToken GetCallSiteToken (CallSite cs)
+ void WriteResolvedMethodBody (MethodDefinition method)
{
- uint sig;
- int sentinel = cs.GetSentinel ();
- if (sentinel > 0)
- sig = m_reflectWriter.SignatureWriter.AddMethodDefSig (
- m_reflectWriter.GetMethodDefSig (cs));
+ body = method.Body;
+ ComputeHeader ();
+ if (RequiresFatHeader ())
+ WriteFatHeader ();
else
- sig = m_reflectWriter.SignatureWriter.AddMethodRefSig (
- m_reflectWriter.GetMethodRefSig (cs));
+ WriteByte ((byte) (0x2 | (body.CodeSize << 2))); // tiny
- if (m_standaloneSigCache.Contains (sig))
- return (MetadataToken) m_standaloneSigCache [sig];
+ WriteInstructions ();
- StandAloneSigTable sasTable = m_reflectWriter.MetadataTableWriter.GetStandAloneSigTable ();
- StandAloneSigRow sasRow = m_reflectWriter.MetadataRowWriter.CreateStandAloneSigRow (sig);
+ if (body.HasExceptionHandlers)
+ WriteExceptionHandlers ();
- sasTable.Rows.Add(sasRow);
-
- MetadataToken token = new MetadataToken (TokenType.Signature, (uint) sasTable.Rows.Count);
- m_standaloneSigCache [sig] = token;
- return token;
+ var symbol_writer = metadata.symbol_writer;
+ if (symbol_writer != null)
+ symbol_writer.Write (body);
}
- static int GetLength (Instruction start, Instruction end, InstructionCollection instructions)
+ void WriteFatHeader ()
{
- Instruction last = instructions [instructions.Count - 1];
- return (end == instructions.Outside ? last.Offset + last.GetSize () : end.Offset) - start.Offset;
+ var body = this.body;
+ byte flags = 0x3; // fat
+ if (body.InitLocals)
+ flags |= 0x10; // init locals
+ if (body.HasExceptionHandlers)
+ flags |= 0x8; // more sections
+
+ WriteByte (flags);
+ WriteByte (0x30);
+ WriteInt16 ((short) body.max_stack_size);
+ WriteInt32 (body.code_size);
+ body.local_var_token = body.HasVariables
+ ? GetStandAloneSignature (body.Variables)
+ : MetadataToken.Zero;
+ WriteMetadataToken (body.local_var_token);
}
- static bool IsRangeFat (Instruction start, Instruction end, InstructionCollection instructions)
+ void WriteInstructions ()
{
- return GetLength (start, end, instructions) >= 256 ||
- start.Offset >= 65536;
- }
-
- static bool IsFat (ExceptionHandlerCollection seh)
- {
- for (int i = 0; i < seh.Count; i++) {
- ExceptionHandler eh = seh [i];
- if (IsRangeFat (eh.TryStart, eh.TryEnd, seh.Container.Instructions))
- return true;
-
- if (IsRangeFat (eh.HandlerStart, eh.HandlerEnd, seh.Container.Instructions))
- return true;
-
- switch (eh.Type) {
- case ExceptionHandlerType.Filter :
- if (IsRangeFat (eh.FilterStart, eh.FilterEnd, seh.Container.Instructions))
- return true;
- break;
- }
+ var instructions = body.Instructions;
+ var items = instructions.items;
+ var size = instructions.size;
+
+ for (int i = 0; i < size; i++) {
+ var instruction = items [i];
+ WriteOpCode (instruction.opcode);
+ WriteOperand (instruction);
}
-
- return false;
}
- void WriteExceptionHandlerCollection (ExceptionHandlerCollection seh)
+ void WriteOpCode (OpCode opcode)
{
- m_codeWriter.QuadAlign ();
-
- if (seh.Count < 0x15 && !IsFat (seh)) {
- m_codeWriter.Write ((byte) MethodDataSection.EHTable);
- m_codeWriter.Write ((byte) (seh.Count * 12 + 4));
- m_codeWriter.Write (new byte [2]);
- foreach (ExceptionHandler eh in seh) {
- m_codeWriter.Write ((ushort) eh.Type);
- m_codeWriter.Write ((ushort) eh.TryStart.Offset);
- m_codeWriter.Write ((byte) (eh.TryEnd.Offset - eh.TryStart.Offset));
- m_codeWriter.Write ((ushort) eh.HandlerStart.Offset);
- m_codeWriter.Write ((byte) GetLength (eh.HandlerStart, eh.HandlerEnd, seh.Container.Instructions));
- WriteHandlerSpecific (eh);
- }
+ if (opcode.Size == 1) {
+ WriteByte (opcode.Op2);
} else {
- m_codeWriter.Write ((byte) (MethodDataSection.FatFormat | MethodDataSection.EHTable));
- WriteFatBlockSize (seh);
- foreach (ExceptionHandler eh in seh) {
- m_codeWriter.Write ((uint) eh.Type);
- m_codeWriter.Write ((uint) eh.TryStart.Offset);
- m_codeWriter.Write ((uint) (eh.TryEnd.Offset - eh.TryStart.Offset));
- m_codeWriter.Write ((uint) eh.HandlerStart.Offset);
- m_codeWriter.Write ((uint) GetLength (eh.HandlerStart, eh.HandlerEnd, seh.Container.Instructions));
- WriteHandlerSpecific (eh);
- }
+ WriteByte (opcode.Op1);
+ WriteByte (opcode.Op2);
}
}
- void WriteFatBlockSize (ExceptionHandlerCollection seh)
+ void WriteOperand (Instruction instruction)
{
- int size = seh.Count * 24 + 4;
- m_codeWriter.Write ((byte) (size & 0xff));
- m_codeWriter.Write ((byte) ((size >> 8) & 0xff));
- m_codeWriter.Write ((byte) ((size >> 16) & 0xff));
- }
+ var opcode = instruction.opcode;
+ var operand_type = opcode.OperandType;
+ if (operand_type == OperandType.InlineNone)
+ return;
- void WriteHandlerSpecific (ExceptionHandler eh)
- {
- switch (eh.Type) {
- case ExceptionHandlerType.Catch :
- WriteToken (GetTypeToken (eh.CatchType));
+ var operand = instruction.operand;
+ if (operand == null)
+ throw new ArgumentException ();
+
+ switch (operand_type) {
+ case OperandType.InlineSwitch: {
+ var targets = (Instruction []) operand;
+ WriteInt32 (targets.Length);
+ var diff = instruction.Offset + opcode.Size + (4 * (targets.Length + 1));
+ for (int i = 0; i < targets.Length; i++)
+ WriteInt32 (GetTargetOffset (targets [i]) - diff);
break;
- case ExceptionHandlerType.Filter :
- m_codeWriter.Write ((uint) eh.FilterStart.Offset);
+ }
+ case OperandType.ShortInlineBrTarget: {
+ var target = (Instruction) operand;
+ WriteSByte ((sbyte) (GetTargetOffset (target) - (instruction.Offset + opcode.Size + 1)));
break;
- default :
- m_codeWriter.Write (0);
+ }
+ case OperandType.InlineBrTarget: {
+ var target = (Instruction) operand;
+ WriteInt32 (GetTargetOffset (target) - (instruction.Offset + opcode.Size + 4));
break;
}
+ case OperandType.ShortInlineVar:
+ WriteByte ((byte) GetVariableIndex ((VariableDefinition) operand));
+ break;
+ case OperandType.ShortInlineArg:
+ WriteByte ((byte) GetParameterIndex ((ParameterDefinition) operand));
+ break;
+ case OperandType.InlineVar:
+ WriteInt16 ((short) GetVariableIndex ((VariableDefinition) operand));
+ break;
+ case OperandType.InlineArg:
+ WriteInt16 ((short) GetParameterIndex ((ParameterDefinition) operand));
+ break;
+ case OperandType.InlineSig:
+ WriteMetadataToken (GetStandAloneSignature ((CallSite) operand));
+ break;
+ case OperandType.ShortInlineI:
+ if (opcode == OpCodes.Ldc_I4_S)
+ WriteSByte ((sbyte) operand);
+ else
+ WriteByte ((byte) operand);
+ break;
+ case OperandType.InlineI:
+ WriteInt32 ((int) operand);
+ break;
+ case OperandType.InlineI8:
+ WriteInt64 ((long) operand);
+ break;
+ case OperandType.ShortInlineR:
+ WriteSingle ((float) operand);
+ break;
+ case OperandType.InlineR:
+ WriteDouble ((double) operand);
+ break;
+ case OperandType.InlineString:
+ WriteMetadataToken (
+ new MetadataToken (
+ TokenType.String,
+ GetUserStringIndex ((string) operand)));
+ break;
+ case OperandType.InlineType:
+ case OperandType.InlineField:
+ case OperandType.InlineMethod:
+ case OperandType.InlineTok:
+ WriteMetadataToken (metadata.LookupToken ((IMetadataTokenProvider) operand));
+ break;
+ default:
+ throw new ArgumentException ();
+ }
}
- public override void VisitVariableDefinitionCollection (VariableDefinitionCollection variables)
+ int GetTargetOffset (Instruction instruction)
{
- MethodBody body = variables.Container as MethodBody;
- if (body == null || stripped)
- return;
-
- uint sig = m_reflectWriter.SignatureWriter.AddLocalVarSig (
- GetLocalVarSig (variables));
-
- if (m_localSigCache.Contains (sig)) {
- body.LocalVarToken = (int) m_localSigCache [sig];
- return;
+ if (instruction == null) {
+ var last = body.instructions [body.instructions.size - 1];
+ return last.offset + last.GetSize ();
}
- StandAloneSigTable sasTable = m_reflectWriter.MetadataTableWriter.GetStandAloneSigTable ();
- StandAloneSigRow sasRow = m_reflectWriter.MetadataRowWriter.CreateStandAloneSigRow (
- sig);
-
- sasTable.Rows.Add (sasRow);
- body.LocalVarToken = sasTable.Rows.Count;
- m_localSigCache [sig] = body.LocalVarToken;
+ return instruction.offset;
}
- public override void TerminateMethodBody (MethodBody body)
+ uint GetUserStringIndex (string @string)
{
- long pos = m_binaryWriter.BaseStream.Position;
-
- if (body.HasVariables || body.HasExceptionHandlers
- || m_codeWriter.BaseStream.Length >= 64 || body.MaxStack > 8) {
-
- MethodHeader header = MethodHeader.FatFormat;
- if (body.InitLocals)
- header |= MethodHeader.InitLocals;
- if (body.HasExceptionHandlers)
- header |= MethodHeader.MoreSects;
-
- m_binaryWriter.Write ((byte) header);
- m_binaryWriter.Write ((byte) 0x30); // (header size / 4) << 4
- m_binaryWriter.Write ((short) body.MaxStack);
- m_binaryWriter.Write ((int) m_codeWriter.BaseStream.Length);
- // the token should be zero if there are no variables
- int token = body.HasVariables ? ((int) TokenType.Signature | body.LocalVarToken) : 0;
- m_binaryWriter.Write (token);
-
- if (body.HasExceptionHandlers)
- WriteExceptionHandlerCollection (body.ExceptionHandlers);
- } else
- m_binaryWriter.Write ((byte) ((byte) MethodHeader.TinyFormat |
- m_codeWriter.BaseStream.Length << 2));
-
- m_binaryWriter.Write (m_codeWriter);
- m_binaryWriter.QuadAlign ();
+ if (@string == null)
+ return 0;
- m_reflectWriter.MetadataWriter.AddData (
- (int) (m_binaryWriter.BaseStream.Position - pos));
+ return metadata.user_string_heap.GetStringIndex (@string);
}
- public LocalVarSig.LocalVariable GetLocalVariableSig (VariableDefinition var)
+ static int GetVariableIndex (VariableDefinition variable)
{
- LocalVarSig.LocalVariable lv = new LocalVarSig.LocalVariable ();
- TypeReference type = var.VariableType;
-
- lv.CustomMods = m_reflectWriter.GetCustomMods (type);
+ return variable.Index;
+ }
- if (type is PinnedType) {
- lv.Constraint |= Constraint.Pinned;
- type = (type as PinnedType).ElementType;
- }
+ int GetParameterIndex (ParameterDefinition parameter)
+ {
+ if (body.method.HasThis) {
+ if (parameter == body.this_parameter)
+ return 0;
- if (type is ReferenceType) {
- lv.ByRef = true;
- type = (type as ReferenceType).ElementType;
+ return parameter.Index + 1;
}
- lv.Type = m_reflectWriter.GetSigType (type);
+ return parameter.Index;
+ }
- return lv;
+ bool RequiresFatHeader ()
+ {
+ var body = this.body;
+ return body.CodeSize >= 64
+ || body.InitLocals
+ || body.HasVariables
+ || body.HasExceptionHandlers
+ || body.MaxStackSize > 8;
}
- public LocalVarSig GetLocalVarSig (VariableDefinitionCollection vars)
+ void ComputeHeader ()
{
- LocalVarSig lvs = new LocalVarSig ();
- lvs.CallingConvention |= 0x7;
- lvs.Count = vars.Count;
- lvs.LocalVariables = new LocalVarSig.LocalVariable [lvs.Count];
- for (int i = 0; i < lvs.Count; i++) {
- lvs.LocalVariables [i] = GetLocalVariableSig (vars [i]);
+ int offset = 0;
+ var instructions = body.instructions;
+ var items = instructions.items;
+ var count = instructions.size;
+ var stack_size = 0;
+ var max_stack = 0;
+ Dictionary<Instruction, int> stack_sizes = null;
+
+ if (body.HasExceptionHandlers)
+ ComputeExceptionHandlerStackSize (ref stack_sizes);
+
+ for (int i = 0; i < count; i++) {
+ var instruction = items [i];
+ instruction.offset = offset;
+ offset += instruction.GetSize ();
+
+ ComputeStackSize (instruction, ref stack_sizes, ref stack_size, ref max_stack);
}
- return lvs;
+ body.code_size = offset;
+ body.max_stack_size = max_stack;
}
- void ComputeMaxStack (InstructionCollection instructions)
+ void ComputeExceptionHandlerStackSize (ref Dictionary<Instruction, int> stack_sizes)
{
- int current = 0;
- int max = 0;
- m_stackSizes.Clear ();
+ var exception_handlers = body.ExceptionHandlers;
- foreach (ExceptionHandler eh in instructions.Container.ExceptionHandlers) {
- switch (eh.Type) {
- case ExceptionHandlerType.Catch :
- case ExceptionHandlerType.Filter :
- m_stackSizes [eh.HandlerStart] = 1;
- max = 1;
+ for (int i = 0; i < exception_handlers.Count; i++) {
+ var exception_handler = exception_handlers [i];
+
+ switch (exception_handler.HandlerType) {
+ case ExceptionHandlerType.Catch:
+ AddExceptionStackSize (exception_handler.HandlerStart, ref stack_sizes);
+ break;
+ case ExceptionHandlerType.Filter:
+ AddExceptionStackSize (exception_handler.FilterStart, ref stack_sizes);
+ AddExceptionStackSize (exception_handler.HandlerStart, ref stack_sizes);
break;
}
}
+ }
- foreach (Instruction instr in instructions) {
+ static void AddExceptionStackSize (Instruction handler_start, ref Dictionary<Instruction, int> stack_sizes)
+ {
+ if (handler_start == null)
+ return;
- object savedSize = m_stackSizes [instr];
- if (savedSize != null)
- current = (int) savedSize;
+ if (stack_sizes == null)
+ stack_sizes = new Dictionary<Instruction, int> ();
- current -= GetPopDelta (instructions.Container.Method, instr, current);
+ stack_sizes [handler_start] = 1;
+ }
- if (current < 0)
- current = 0;
+ static void ComputeStackSize (Instruction instruction, ref Dictionary<Instruction, int> stack_sizes, ref int stack_size, ref int max_stack)
+ {
+ int computed_size;
+ if (stack_sizes != null && stack_sizes.TryGetValue (instruction, out computed_size))
+ stack_size = computed_size;
- current += GetPushDelta (instr);
+ max_stack = System.Math.Max (max_stack, stack_size);
+ ComputeStackDelta (instruction, ref stack_size);
+ max_stack = System.Math.Max (max_stack, stack_size);
- if (current > max)
- max = current;
+ CopyBranchStackSize (instruction, ref stack_sizes, stack_size);
+ ComputeStackSize (instruction, ref stack_size);
+ }
- // for forward branches, copy the stack size for the instruction that is being branched to
- switch (instr.OpCode.OperandType) {
- case OperandType.InlineBrTarget:
- case OperandType.ShortInlineBrTarget:
- m_stackSizes [instr.Operand] = current;
- break;
- case OperandType.InlineSwitch:
- foreach (Instruction target in (Instruction []) instr.Operand)
- m_stackSizes [target] = current;
- break;
- }
+ static void CopyBranchStackSize (Instruction instruction, ref Dictionary<Instruction, int> stack_sizes, int stack_size)
+ {
+ if (stack_size == 0)
+ return;
- switch (instr.OpCode.FlowControl) {
- case FlowControl.Branch:
- case FlowControl.Throw:
- case FlowControl.Return:
- // next statement is not reachable from this statement, so reset the stack depth to 0
- current = 0;
- break;
- }
+ switch (instruction.opcode.OperandType) {
+ case OperandType.ShortInlineBrTarget:
+ case OperandType.InlineBrTarget:
+ CopyBranchStackSize (ref stack_sizes, (Instruction) instruction.operand, stack_size);
+ break;
+ case OperandType.InlineSwitch:
+ var targets = (Instruction[]) instruction.operand;
+ for (int i = 0; i < targets.Length; i++)
+ CopyBranchStackSize (ref stack_sizes, targets [i], stack_size);
+ break;
}
-
- instructions.Container.MaxStack = max + 1; // you never know
}
- static int GetPushDelta (Instruction instruction)
+ static void CopyBranchStackSize (ref Dictionary<Instruction, int> stack_sizes, Instruction target, int stack_size)
{
- OpCode code = instruction.OpCode;
- switch (code.StackBehaviourPush) {
- case StackBehaviour.Push0:
- return 0;
+ if (stack_sizes == null)
+ stack_sizes = new Dictionary<Instruction, int> ();
- case StackBehaviour.Push1:
- case StackBehaviour.Pushi:
- case StackBehaviour.Pushi8:
- case StackBehaviour.Pushr4:
- case StackBehaviour.Pushr8:
- case StackBehaviour.Pushref:
- return 1;
+ int branch_stack_size = stack_size;
- case StackBehaviour.Push1_push1:
- return 2;
+ int computed_size;
+ if (stack_sizes.TryGetValue (target, out computed_size))
+ branch_stack_size = System.Math.Max (branch_stack_size, computed_size);
- case StackBehaviour.Varpush:
- if (code.FlowControl != FlowControl.Call)
- break;
+ stack_sizes [target] = branch_stack_size;
+ }
- IMethodSignature method = (IMethodSignature) instruction.Operand;
- return IsVoid (method.ReturnType.ReturnType) ? 0 : 1;
+ static void ComputeStackSize (Instruction instruction, ref int stack_size)
+ {
+ switch (instruction.opcode.FlowControl) {
+ case FlowControl.Branch:
+ case FlowControl.Break:
+ case FlowControl.Throw:
+ case FlowControl.Return:
+ stack_size = 0;
+ break;
}
+ }
- throw new NotSupportedException ();
+ static void ComputeStackDelta (Instruction instruction, ref int stack_size)
+ {
+ switch (instruction.opcode.FlowControl) {
+ case FlowControl.Call: {
+ var method = (IMethodSignature) instruction.operand;
+ stack_size -= (method.HasParameters ? method.Parameters.Count : 0)
+ + (method.HasThis && instruction.opcode.Code != Code.Newobj ? 1 : 0);
+ stack_size += (method.ReturnType.etype == ElementType.Void ? 0 : 1)
+ + (method.HasThis && instruction.opcode.Code == Code.Newobj ? 1 : 0);
+ break;
+ }
+ default:
+ ComputePopDelta (instruction.opcode.StackBehaviourPop, ref stack_size);
+ ComputePushDelta (instruction.opcode.StackBehaviourPush, ref stack_size);
+ break;
+ }
}
- static int GetPopDelta (MethodDefinition current, Instruction instruction, int height)
+ static void ComputePopDelta (StackBehaviour pop_behavior, ref int stack_size)
{
- OpCode code = instruction.OpCode;
- switch (code.StackBehaviourPop) {
- case StackBehaviour.Pop0:
- return 0;
+ switch (pop_behavior) {
case StackBehaviour.Popi:
case StackBehaviour.Popref:
case StackBehaviour.Pop1:
- return 1;
-
+ stack_size--;
+ break;
case StackBehaviour.Pop1_pop1:
case StackBehaviour.Popi_pop1:
case StackBehaviour.Popi_popi:
@@ -538,40 +453,186 @@ namespace Mono.Cecil.Cil {
case StackBehaviour.Popi_popr8:
case StackBehaviour.Popref_pop1:
case StackBehaviour.Popref_popi:
- return 2;
-
+ stack_size -= 2;
+ break;
case StackBehaviour.Popi_popi_popi:
case StackBehaviour.Popref_popi_popi:
case StackBehaviour.Popref_popi_popi8:
case StackBehaviour.Popref_popi_popr4:
case StackBehaviour.Popref_popi_popr8:
case StackBehaviour.Popref_popi_popref:
- return 3;
-
+ stack_size -= 3;
+ break;
case StackBehaviour.PopAll:
- return height;
+ stack_size = 0;
+ break;
+ }
+ }
- case StackBehaviour.Varpop:
- if (code == OpCodes.Ret)
- return IsVoid (current.ReturnType.ReturnType) ? 0 : 1;
+ static void ComputePushDelta (StackBehaviour push_behaviour, ref int stack_size)
+ {
+ switch (push_behaviour) {
+ case StackBehaviour.Push1:
+ case StackBehaviour.Pushi:
+ case StackBehaviour.Pushi8:
+ case StackBehaviour.Pushr4:
+ case StackBehaviour.Pushr8:
+ case StackBehaviour.Pushref:
+ stack_size++;
+ break;
+ case StackBehaviour.Push1_push1:
+ stack_size += 2;
+ break;
+ }
+ }
- if (code.FlowControl != FlowControl.Call)
- break;
+ void WriteExceptionHandlers ()
+ {
+ Align (4);
+
+ var handlers = body.ExceptionHandlers;
+
+ if (handlers.Count < 0x15 && !RequiresFatSection (handlers))
+ WriteSmallSection (handlers);
+ else
+ WriteFatSection (handlers);
+ }
+
+ static bool RequiresFatSection (Collection<ExceptionHandler> handlers)
+ {
+ for (int i = 0; i < handlers.Count; i++) {
+ var handler = handlers [i];
+
+ if (IsFatRange (handler.TryStart, handler.TryEnd))
+ return true;
+
+ if (IsFatRange (handler.HandlerStart, handler.HandlerEnd))
+ return true;
- IMethodSignature method = (IMethodSignature) instruction.Operand;
- int count = method.HasParameters ? method.Parameters.Count : 0;
- if (method.HasThis && code != OpCodes.Newobj)
- ++count;
+ if (handler.HandlerType == ExceptionHandlerType.Filter
+ && IsFatRange (handler.FilterStart, handler.FilterEnd))
+ return true;
+ }
+
+ return false;
+ }
+
+ static bool IsFatRange (Instruction start, Instruction end)
+ {
+ if (end == null)
+ return true;
+
+ return end.Offset - start.Offset > 255 || start.Offset > 65535;
+ }
+
+ void WriteSmallSection (Collection<ExceptionHandler> handlers)
+ {
+ const byte eh_table = 0x1;
+
+ WriteByte (eh_table);
+ WriteByte ((byte) (handlers.Count * 12 + 4));
+ WriteBytes (2);
+
+ WriteExceptionHandlers (
+ handlers,
+ i => WriteUInt16 ((ushort) i),
+ i => WriteByte ((byte) i));
+ }
+
+ void WriteFatSection (Collection<ExceptionHandler> handlers)
+ {
+ const byte eh_table = 0x1;
+ const byte fat_format = 0x40;
+
+ WriteByte (eh_table | fat_format);
+
+ int size = handlers.Count * 24 + 4;
+ WriteByte ((byte) (size & 0xff));
+ WriteByte ((byte) ((size >> 8) & 0xff));
+ WriteByte ((byte) ((size >> 16) & 0xff));
+
+ WriteExceptionHandlers (handlers, WriteInt32, WriteInt32);
+ }
+
+ void WriteExceptionHandlers (Collection<ExceptionHandler> handlers, Action<int> write_entry, Action<int> write_length)
+ {
+ for (int i = 0; i < handlers.Count; i++) {
+ var handler = handlers [i];
+
+ write_entry ((int) handler.HandlerType);
+
+ write_entry (handler.TryStart.Offset);
+ write_length (GetTargetOffset (handler.TryEnd) - handler.TryStart.Offset);
+
+ write_entry (handler.HandlerStart.Offset);
+ write_length (GetTargetOffset (handler.HandlerEnd) - handler.HandlerStart.Offset);
+
+ WriteExceptionHandlerSpecific (handler);
+ }
+ }
- return count;
+ void WriteExceptionHandlerSpecific (ExceptionHandler handler)
+ {
+ switch (handler.HandlerType) {
+ case ExceptionHandlerType.Catch:
+ WriteMetadataToken (metadata.LookupToken (handler.CatchType));
+ break;
+ case ExceptionHandlerType.Filter:
+ WriteInt32 (handler.FilterStart.Offset);
+ break;
+ default:
+ WriteInt32 (0);
+ break;
}
+ }
+
+ public MetadataToken GetStandAloneSignature (Collection<VariableDefinition> variables)
+ {
+ var signature = metadata.GetLocalVariableBlobIndex (variables);
- throw new NotSupportedException ();
+ return GetStandAloneSignatureToken (signature);
}
- static bool IsVoid (TypeReference type)
+ public MetadataToken GetStandAloneSignature (CallSite call_site)
{
- return type.FullName == Constants.Void;
+ var signature = metadata.GetCallSiteBlobIndex (call_site);
+ var token = GetStandAloneSignatureToken (signature);
+ call_site.MetadataToken = token;
+ return token;
+ }
+
+ MetadataToken GetStandAloneSignatureToken (uint signature)
+ {
+ MetadataToken token;
+ if (standalone_signatures.TryGetValue (signature, out token))
+ return token;
+
+ token = new MetadataToken (TokenType.Signature, metadata.AddStandAloneSignature (signature));
+ standalone_signatures.Add (signature, token);
+ return token;
+ }
+
+ RVA BeginMethod ()
+ {
+ return current;
+ }
+
+ void WriteMetadataToken (MetadataToken token)
+ {
+ WriteUInt32 (token.ToUInt32 ());
+ }
+
+ void Align (int align)
+ {
+ align--;
+ WriteBytes (((position + align) & ~align) - position);
+ }
+
+ void EndMethod ()
+ {
+ current = (RVA) (code_base + position);
}
}
}
+
+#endif
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Document.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Document.cs
index 1b40c443bff..e46d2c1d824 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Document.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Document.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2006 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,55 +26,86 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+
namespace Mono.Cecil.Cil {
- using System;
+ public enum DocumentType {
+ Other,
+ Text,
+ }
+
+ public enum DocumentHashAlgorithm {
+ None,
+ MD5,
+ SHA1,
+ }
+
+ public enum DocumentLanguage {
+ Other,
+ C,
+ Cpp,
+ CSharp,
+ Basic,
+ Java,
+ Cobol,
+ Pascal,
+ Cil,
+ JScript,
+ Smc,
+ MCpp,
+ }
+
+ public enum DocumentLanguageVendor {
+ Other,
+ Microsoft,
+ }
- public class Document {
+ public sealed class Document {
- string m_url;
+ string url;
- Guid m_type;
- DocumentHashAlgorithm m_hashAlgorithm;
- Guid m_language;
- Guid m_languageVendor;
+ byte type;
+ byte hash_algorithm;
+ byte language;
+ byte language_vendor;
- byte [] m_hash;
+ byte [] hash;
public string Url {
- get { return m_url; }
- set { m_url = value; }
+ get { return url; }
+ set { url = value; }
}
- public Guid Type {
- get { return m_type; }
- set { m_type = value; }
+ public DocumentType Type {
+ get { return (DocumentType) type; }
+ set { type = (byte) value; }
}
public DocumentHashAlgorithm HashAlgorithm {
- get { return m_hashAlgorithm; }
- set { m_hashAlgorithm = value; }
+ get { return (DocumentHashAlgorithm) hash_algorithm; }
+ set { hash_algorithm = (byte) value; }
}
- public Guid Language {
- get { return m_language; }
- set { m_language = value; }
+ public DocumentLanguage Language {
+ get { return (DocumentLanguage) language; }
+ set { language = (byte) value; }
}
- public Guid LanguageVendor {
- get { return m_languageVendor; }
- set { m_languageVendor = value; }
+ public DocumentLanguageVendor LanguageVendor {
+ get { return (DocumentLanguageVendor) language_vendor; }
+ set { language_vendor = (byte) value; }
}
public byte [] Hash {
- get { return m_hash; }
- set { m_hash = value; }
+ get { return hash; }
+ set { hash = value; }
}
public Document (string url)
{
- m_url = url;
- m_hash = new byte [0];
+ this.url = url;
+ this.hash = Empty<byte>.Array;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/DocumentHashAlgorithm.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/DocumentHashAlgorithm.cs
deleted file mode 100644
index cd5791fc05a..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/DocumentHashAlgorithm.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// DocumentHashAlgorithm.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- public enum DocumentHashAlgorithm {
- [Guid (0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)] None,
- [Guid (0x406ea660, 0x64cf, 0x4c82, 0xb6, 0xf0, 0x42, 0xd4, 0x81, 0x72, 0xa7, 0x99)] MD5,
- [Guid (0xff1816ec, 0xaa5e, 0x4d10, 0x87, 0xf7, 0x6f, 0x49, 0x63, 0x83, 0x34, 0x60)] SHA1
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/DocumentLanguage.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/DocumentLanguage.cs
deleted file mode 100644
index cc7defc3b7b..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/DocumentLanguage.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// DocumentLanguage.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- using System;
-
- public abstract class DocumentLanguage {
-#if CF_2_0
- public static readonly Guid None = new Guid ("00000000-0000-0000-0000-000000000000");
- public static readonly Guid C = new Guid ("63a08714-fc37-11d2-904c-00c04fa302a1");
- public static readonly Guid Cpp = new Guid ("3a12d0b7-c26c-11d0-b442-00a0244a1dd2");
- public static readonly Guid CSharp = new Guid ("3f5162f8-07c6-11d3-9053-00c04fa302a1");
- public static readonly Guid Basic = new Guid ("3a12d0b8-c26c-11d0-b442-00a0244a1dd2");
- public static readonly Guid Java = new Guid ("3a12d0b4-c26c-11d0-b442-00a0244a1dd2");
- public static readonly Guid Cobol = new Guid ("af046cd1-d0e1-11d2-977c-00a0c9b4d50c");
- public static readonly Guid Pascal = new Guid ("af046cd2-d0e1-11d2-977c-00a0c9b4d50c");
- public static readonly Guid CIL = new Guid ("af046cd3-d0e1-11d2-977c-00a0c9b4d50c");
- public static readonly Guid JScript = new Guid ("3a12d0b6-c26c-11d0-b442-00a0244a1dd2");
- public static readonly Guid SMC = new Guid ("0d9b9f7b-6611-11d3-bd2a-0000f80849bd");
- public static readonly Guid MCpp = new Guid ("4b35fde8-07c6-11d3-9053-00c04fa302a1");
-#else
- public static readonly Guid None = new Guid (0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x0, 0x00, 0x00, 0x00, 0x00, 0x00);
- public static readonly Guid C = new Guid (0x63a08714, 0xfc37, 0x11d2, 0x90, 0x4c, 0x0, 0xc0, 0x4f, 0xa3, 0x02, 0xa1);
- public static readonly Guid Cpp = new Guid (0x3a12d0b7, 0xc26c, 0x11d0, 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2);
- public static readonly Guid CSharp = new Guid (0x3f5162f8, 0x07c6, 0x11d3, 0x90, 0x53, 0x0, 0xc0, 0x4f, 0xa3, 0x02, 0xa1);
- public static readonly Guid Basic = new Guid (0x3a12d0b8, 0xc26c, 0x11d0, 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2);
- public static readonly Guid Java = new Guid (0x3a12d0b4, 0xc26c, 0x11d0, 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2);
- public static readonly Guid Cobol = new Guid (0xaf046cd1, 0xd0e1, 0x11d2, 0x97, 0x7c, 0x0, 0xa0, 0xc9, 0xb4, 0xd5, 0xc);
- public static readonly Guid Pascal = new Guid (0xaf046cd2, 0xd0e1, 0x11d2, 0x97, 0x7c, 0x0, 0xa0, 0xc9, 0xb4, 0xd5, 0xc);
- public static readonly Guid CIL = new Guid (0xaf046cd3, 0xd0e1, 0x11d2, 0x97, 0x7c, 0x0, 0xa0, 0xc9, 0xb4, 0xd5, 0xc);
- public static readonly Guid JScript = new Guid (0x3a12d0b6, 0xc26c, 0x11d0, 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2);
- public static readonly Guid SMC = new Guid (0xd9b9f7b, 0x6611, 0x11d3, 0xbd, 0x2a, 0x0, 0x0, 0xf8, 0x8, 0x49, 0xbd);
- public static readonly Guid MCpp = new Guid (0x4b35fde8, 0x07c6, 0x11d3, 0x90, 0x53, 0x0, 0xc0, 0x4f, 0xa3, 0x02, 0xa1);
-#endif
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/DocumentLanguageVendor.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/DocumentLanguageVendor.cs
deleted file mode 100644
index d070abb8926..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/DocumentLanguageVendor.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// DocumentLanguageVendor.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- using System;
-
- public abstract class DocumentLanguageVendor {
-#if CF_2_0
- public static readonly Guid Other = new Guid ("00000000-0000-0000-0000-000000000000");
- public static readonly Guid Microsoft = new Guid ("994b45c4-e6e9-11d2-903f-00c04fa302a1");
-#else
- public static readonly Guid Other = new Guid (0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
- public static readonly Guid Microsoft = new Guid (0x994b45c4, 0xe6e9, 0x11d2, 0x90, 0x3f, 0x00, 0xc0, 0x4f, 0xa3, 0x02, 0xa1);
-#endif
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/DocumentType.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/DocumentType.cs
deleted file mode 100644
index 9df776485bc..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/DocumentType.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// DocumentType.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- using System;
-
- public abstract class DocumentType {
-
- public static readonly Guid Other = new Guid (0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
- public static readonly Guid Text = new Guid (0x5a869d0b, 0x6611, 0x11d3, 0xbd, 0x2a, 0x00, 0x00, 0xf8, 0x08, 0x49, 0xbd);
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ExceptionHandler.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ExceptionHandler.cs
index d1ee7bf66e6..a76f8f397b2 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ExceptionHandler.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ExceptionHandler.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -28,68 +28,68 @@
namespace Mono.Cecil.Cil {
- using Mono.Cecil;
+ public enum ExceptionHandlerType {
+ Catch = 0,
+ Filter = 1,
+ Finally = 2,
+ Fault = 4,
+ }
- public sealed class ExceptionHandler : ICodeVisitable {
+ public sealed class ExceptionHandler {
- Instruction m_tryStart;
- Instruction m_tryEnd;
- Instruction m_filterStart;
- Instruction m_filterEnd;
- Instruction m_handlerStart;
- Instruction m_handlerEnd;
+ Instruction try_start;
+ Instruction try_end;
+ Instruction filter_start;
+ Instruction filter_end;
+ Instruction handler_start;
+ Instruction handler_end;
- TypeReference m_catchType;
- ExceptionHandlerType m_type;
+ TypeReference catch_type;
+ ExceptionHandlerType handler_type;
public Instruction TryStart {
- get { return m_tryStart; }
- set { m_tryStart = value; }
+ get { return try_start; }
+ set { try_start = value; }
}
public Instruction TryEnd {
- get { return m_tryEnd; }
- set { m_tryEnd = value; }
+ get { return try_end; }
+ set { try_end = value; }
}
public Instruction FilterStart {
- get { return m_filterStart; }
- set { m_filterStart = value; }
+ get { return filter_start; }
+ set { filter_start = value; }
}
public Instruction FilterEnd {
- get { return m_filterEnd; }
- set { m_filterEnd = value; }
+ get { return filter_end; }
+ set { filter_end = value; }
}
public Instruction HandlerStart {
- get { return m_handlerStart; }
- set { m_handlerStart = value; }
+ get { return handler_start; }
+ set { handler_start = value; }
}
public Instruction HandlerEnd {
- get { return m_handlerEnd; }
- set { m_handlerEnd = value; }
+ get { return handler_end; }
+ set { handler_end = value; }
}
public TypeReference CatchType {
- get { return m_catchType; }
- set { m_catchType = value; }
- }
-
- public ExceptionHandlerType Type {
- get { return m_type; }
- set { m_type = value; }
+ get { return catch_type; }
+ set { catch_type = value; }
}
- public ExceptionHandler (ExceptionHandlerType type)
- {
- m_type = type;
+ public ExceptionHandlerType HandlerType {
+ get { return handler_type; }
+ set { handler_type = value; }
}
- public void Accept (ICodeVisitor visitor)
+ public ExceptionHandler (ExceptionHandlerType handlerType)
{
- visitor.VisitExceptionHandler (this);
+ this.handler_type = handlerType;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ExceptionHandlerCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ExceptionHandlerCollection.cs
deleted file mode 100644
index dd2b11a8873..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ExceptionHandlerCollection.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// ExceptionHandlerCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Wed Sep 27 12:46:53 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class ExceptionHandlerCollection : CollectionBase, ICodeVisitable {
-
- MethodBody m_container;
-
- public ExceptionHandler this [int index] {
- get { return List [index] as ExceptionHandler; }
- set { List [index] = value; }
- }
-
- public MethodBody Container {
- get { return m_container; }
- }
-
- public ExceptionHandlerCollection (MethodBody container)
- {
- m_container = container;
- }
-
- public void Add (ExceptionHandler value)
- {
- List.Add (value);
- }
-
- public bool Contains (ExceptionHandler value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (ExceptionHandler value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, ExceptionHandler value)
- {
- List.Insert (index, value);
- }
-
- public void Remove (ExceptionHandler value)
- {
- List.Remove (value);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is ExceptionHandler))
- throw new ArgumentException ("Must be of type " + typeof (ExceptionHandler).FullName);
- }
-
- public void Accept (ICodeVisitor visitor)
- {
- visitor.VisitExceptionHandlerCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ExceptionHandlerType.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ExceptionHandlerType.cs
deleted file mode 100644
index 28b8b7c357f..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ExceptionHandlerType.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// ExceptionHandlerType.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- public enum ExceptionHandlerType {
- Catch = 0x0000,
- Filter = 0x0001,
- Finally = 0x0002,
- Fault = 0x0004
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/FlowControl.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/FlowControl.cs
deleted file mode 100644
index e08104d491f..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/FlowControl.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// FlowControl.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- public enum FlowControl {
- Branch,
- Break,
- Call,
- Cond_Branch,
- Meta,
- Next,
- Phi,
- Return,
- Throw
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/GuidAttribute.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/GuidAttribute.cs
deleted file mode 100644
index 7755dee829d..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/GuidAttribute.cs
+++ /dev/null
@@ -1,91 +0,0 @@
-//
-// GuidAttribute.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- using System;
- using System.Reflection;
-
- [AttributeUsage (AttributeTargets.Field)]
- public sealed class GuidAttribute : Attribute {
-
- private Guid m_guid;
-
- public Guid Guid {
- get { return m_guid; }
- }
-
- GuidAttribute ()
- {
- m_guid = new Guid ();
- }
-
- public GuidAttribute (
- uint a,
- ushort b,
- ushort c,
- byte d,
- byte e,
- byte f,
- byte g,
- byte h,
- byte i,
- byte j,
- byte k)
- {
- m_guid = new Guid ((int) a, (short) b, (short) c, d, e, f, g, h, i, j, k);
- }
-
- public static int GetValueFromGuid (Guid id, Type enumeration)
- {
- foreach (FieldInfo fi in enumeration.GetFields (BindingFlags.Static | BindingFlags.Public))
- if (id == GetGuidAttribute (fi).Guid)
- return (int) fi.GetValue (null);
-
- return -1;
- }
-
- public static Guid GetGuidFromValue (int value, Type enumeration)
- {
- foreach (FieldInfo fi in enumeration.GetFields (BindingFlags.Static | BindingFlags.Public))
- if (value == (int) fi.GetValue (null))
- return GetGuidAttribute (fi).Guid;
-
- return new Guid ();
- }
-
- static GuidAttribute GetGuidAttribute (FieldInfo fi)
- {
- GuidAttribute [] attributes = fi.GetCustomAttributes (typeof (GuidAttribute), false) as GuidAttribute [];
- if (attributes == null || attributes.Length != 1)
- return new GuidAttribute ();
-
- return attributes [0];
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ICodeVisitable.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ICodeVisitable.cs
deleted file mode 100644
index 91571d88807..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ICodeVisitable.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// ICodeVisitable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- public interface ICodeVisitable {
- void Accept (ICodeVisitor visitor);
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ICodeVisitor.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ICodeVisitor.cs
deleted file mode 100644
index c02335e9425..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ICodeVisitor.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// ICodeVisitor.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- public interface ICodeVisitor {
-
- void VisitMethodBody (MethodBody body);
- void VisitInstructionCollection (InstructionCollection instructions);
- void VisitInstruction (Instruction instr);
- void VisitExceptionHandlerCollection (ExceptionHandlerCollection seh);
- void VisitExceptionHandler (ExceptionHandler eh);
- void VisitVariableDefinitionCollection (VariableDefinitionCollection variables);
- void VisitVariableDefinition (VariableDefinition var);
- void VisitScopeCollection (ScopeCollection scopes);
- void VisitScope (Scope scope);
-
- void TerminateMethodBody (MethodBody body);
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ILProcessor.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ILProcessor.cs
new file mode 100644
index 00000000000..1300b3e6bb1
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ILProcessor.cs
@@ -0,0 +1,278 @@
+//
+// ILProcessor.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+using Mono.Collections.Generic;
+
+namespace Mono.Cecil.Cil {
+
+ public sealed class ILProcessor {
+
+ readonly MethodBody body;
+ readonly Collection<Instruction> instructions;
+
+ public MethodBody Body {
+ get { return body; }
+ }
+
+ internal ILProcessor (MethodBody body)
+ {
+ this.body = body;
+ this.instructions = body.Instructions;
+ }
+
+ public Instruction Create (OpCode opcode)
+ {
+ return Instruction.Create (opcode);
+ }
+
+ public Instruction Create (OpCode opcode, TypeReference type)
+ {
+ return Instruction.Create (opcode, type);
+ }
+
+ public Instruction Create (OpCode opcode, CallSite site)
+ {
+ return Instruction.Create (opcode, site);
+ }
+
+ public Instruction Create (OpCode opcode, MethodReference method)
+ {
+ return Instruction.Create (opcode, method);
+ }
+
+ public Instruction Create (OpCode opcode, FieldReference field)
+ {
+ return Instruction.Create (opcode, field);
+ }
+
+ public Instruction Create (OpCode opcode, string value)
+ {
+ return Instruction.Create (opcode, value);
+ }
+
+ public Instruction Create (OpCode opcode, sbyte value)
+ {
+ return Instruction.Create (opcode, value);
+ }
+
+ public Instruction Create (OpCode opcode, byte value)
+ {
+ if (opcode.OperandType == OperandType.ShortInlineVar)
+ return Instruction.Create (opcode, body.Variables [value]);
+
+ if (opcode.OperandType == OperandType.ShortInlineArg)
+ return Instruction.Create (opcode, body.GetParameter (value));
+
+ return Instruction.Create (opcode, value);
+ }
+
+ public Instruction Create (OpCode opcode, int value)
+ {
+ if (opcode.OperandType == OperandType.InlineVar)
+ return Instruction.Create (opcode, body.Variables [value]);
+
+ if (opcode.OperandType == OperandType.InlineArg)
+ return Instruction.Create (opcode, body.GetParameter (value));
+
+ return Instruction.Create (opcode, value);
+ }
+
+ public Instruction Create (OpCode opcode, long value)
+ {
+ return Instruction.Create (opcode, value);
+ }
+
+ public Instruction Create (OpCode opcode, float value)
+ {
+ return Instruction.Create (opcode, value);
+ }
+
+ public Instruction Create (OpCode opcode, double value)
+ {
+ return Instruction.Create (opcode, value);
+ }
+
+ public Instruction Create (OpCode opcode, Instruction target)
+ {
+ return Instruction.Create (opcode, target);
+ }
+
+ public Instruction Create (OpCode opcode, Instruction [] targets)
+ {
+ return Instruction.Create (opcode, targets);
+ }
+
+ public Instruction Create (OpCode opcode, VariableDefinition variable)
+ {
+ return Instruction.Create (opcode, variable);
+ }
+
+ public Instruction Create (OpCode opcode, ParameterDefinition parameter)
+ {
+ return Instruction.Create (opcode, parameter);
+ }
+
+ public void Emit (OpCode opcode)
+ {
+ Append (Create (opcode));
+ }
+
+ public void Emit (OpCode opcode, TypeReference type)
+ {
+ Append (Create (opcode, type));
+ }
+
+ public void Emit (OpCode opcode, MethodReference method)
+ {
+ Append (Create (opcode, method));
+ }
+
+ public void Emit (OpCode opcode, CallSite site)
+ {
+ Append (Create (opcode, site));
+ }
+
+ public void Emit (OpCode opcode, FieldReference field)
+ {
+ Append (Create (opcode, field));
+ }
+
+ public void Emit (OpCode opcode, string value)
+ {
+ Append (Create (opcode, value));
+ }
+
+ public void Emit (OpCode opcode, byte value)
+ {
+ Append (Create (opcode, value));
+ }
+
+ public void Emit (OpCode opcode, sbyte value)
+ {
+ Append (Create (opcode, value));
+ }
+
+ public void Emit (OpCode opcode, int value)
+ {
+ Append (Create (opcode, value));
+ }
+
+ public void Emit (OpCode opcode, long value)
+ {
+ Append (Create (opcode, value));
+ }
+
+ public void Emit (OpCode opcode, float value)
+ {
+ Append (Create (opcode, value));
+ }
+
+ public void Emit (OpCode opcode, double value)
+ {
+ Append (Create (opcode, value));
+ }
+
+ public void Emit (OpCode opcode, Instruction target)
+ {
+ Append (Create (opcode, target));
+ }
+
+ public void Emit (OpCode opcode, Instruction [] targets)
+ {
+ Append (Create (opcode, targets));
+ }
+
+ public void Emit (OpCode opcode, VariableDefinition variable)
+ {
+ Append (Create (opcode, variable));
+ }
+
+ public void Emit (OpCode opcode, ParameterDefinition parameter)
+ {
+ Append (Create (opcode, parameter));
+ }
+
+ public void InsertBefore (Instruction target, Instruction instruction)
+ {
+ if (target == null)
+ throw new ArgumentNullException ("target");
+ if (instruction == null)
+ throw new ArgumentNullException ("instruction");
+
+ var index = instructions.IndexOf (target);
+ if (index == -1)
+ throw new ArgumentOutOfRangeException ("target");
+
+ instructions.Insert (index, instruction);
+ }
+
+ public void InsertAfter (Instruction target, Instruction instruction)
+ {
+ if (target == null)
+ throw new ArgumentNullException ("target");
+ if (instruction == null)
+ throw new ArgumentNullException ("instruction");
+
+ var index = instructions.IndexOf (target);
+ if (index == -1)
+ throw new ArgumentOutOfRangeException ("target");
+
+ instructions.Insert (index + 1, instruction);
+ }
+
+ public void Append (Instruction instruction)
+ {
+ if (instruction == null)
+ throw new ArgumentNullException ("instruction");
+
+ instructions.Add (instruction);
+ }
+
+ public void Replace (Instruction target, Instruction instruction)
+ {
+ if (target == null)
+ throw new ArgumentNullException ("target");
+ if (instruction == null)
+ throw new ArgumentNullException ("instruction");
+
+ InsertAfter (target, instruction);
+ Remove (target);
+ }
+
+ public void Remove (Instruction instruction)
+ {
+ if (instruction == null)
+ throw new ArgumentNullException ("instruction");
+
+ if (!instructions.Remove (instruction))
+ throw new ArgumentOutOfRangeException ("instruction");
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/IScopeProvider.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/IScopeProvider.cs
deleted file mode 100644
index f7db2414cfb..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/IScopeProvider.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// Document.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- public interface IScopeProvider {
-
- ScopeCollection Scopes { get; }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ISymbolReader.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ISymbolReader.cs
deleted file mode 100644
index 646e62e376a..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ISymbolReader.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// ISymbolReader.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections;
-
-namespace Mono.Cecil.Cil {
-
- public interface ISymbolReader : IDisposable {
-
- void Read (MethodBody body, IDictionary instructions);
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ISymbolStoreFactory.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ISymbolStoreFactory.cs
deleted file mode 100644
index 945c7a031b2..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ISymbolStoreFactory.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// ISymbolStoreFactory.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- public interface ISymbolStoreFactory {
-
- ISymbolReader CreateReader (ModuleDefinition module, string assemblyFileName);
- ISymbolWriter CreateWriter (ModuleDefinition module, string assemblyFileName);
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ISymbolWriter.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ISymbolWriter.cs
deleted file mode 100644
index 3e28bf088ec..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ISymbolWriter.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// ISymbolWriter.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 - 2007 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- using System;
-
- public interface ISymbolWriter : IDisposable {
-
- void Write (MethodBody body);
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/IVariableDefinitionProvider.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/IVariableDefinitionProvider.cs
deleted file mode 100644
index 9f647977ec4..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/IVariableDefinitionProvider.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// IVariableDefinitionProvider.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- public interface IVariableDefinitionProvider {
-
- VariableDefinitionCollection Variables { get; }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Instruction.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Instruction.cs
index 7e9a5defddf..e8d36c4b384 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Instruction.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Instruction.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,80 +26,74 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+using System.Text;
+
namespace Mono.Cecil.Cil {
- public sealed class Instruction : ICodeVisitable {
+ public sealed class Instruction {
- int m_offset;
- OpCode m_opCode;
- object m_operand;
+ internal int offset;
+ internal OpCode opcode;
+ internal object operand;
- Instruction m_previous;
- Instruction m_next;
+ internal Instruction previous;
+ internal Instruction next;
- SequencePoint m_sequencePoint;
+ SequencePoint sequence_point;
public int Offset {
- get { return m_offset; }
- set { m_offset = value; }
+ get { return offset; }
+ set { offset = value; }
}
public OpCode OpCode {
- get { return m_opCode; }
- set { m_opCode = value; }
+ get { return opcode; }
+ set { opcode = value; }
}
public object Operand {
- get { return m_operand; }
- set { m_operand = value; }
+ get { return operand; }
+ set { operand = value; }
}
public Instruction Previous {
- get { return m_previous; }
- set { m_previous = value; }
+ get { return previous; }
+ set { previous = value; }
}
public Instruction Next {
- get { return m_next; }
- set { m_next = value; }
+ get { return next; }
+ set { next = value; }
}
public SequencePoint SequencePoint {
- get { return m_sequencePoint; }
- set { m_sequencePoint = value; }
- }
-
- internal Instruction (int offset, OpCode opCode, object operand) : this (offset, opCode)
- {
- m_operand = operand;
+ get { return sequence_point; }
+ set { sequence_point = value; }
}
internal Instruction (int offset, OpCode opCode)
{
- m_offset = offset;
- m_opCode = opCode;
- }
-
- internal Instruction (OpCode opCode, object operand) : this (0, opCode, operand)
- {
+ this.offset = offset;
+ this.opcode = opCode;
}
- internal Instruction (OpCode opCode) : this (0, opCode)
+ internal Instruction (OpCode opcode, object operand)
{
+ this.opcode = opcode;
+ this.operand = operand;
}
public int GetSize ()
{
- int size = m_opCode.Size;
+ int size = opcode.Size;
- switch (m_opCode.OperandType) {
+ switch (opcode.OperandType) {
case OperandType.InlineSwitch:
- size += (1 + ((Instruction []) m_operand).Length) * 4;
- break;
+ return size + (1 + ((Instruction []) operand).Length) * 4;
case OperandType.InlineI8:
case OperandType.InlineR:
- size += 8;
- break;
+ return size + 8;
case OperandType.InlineBrTarget:
case OperandType.InlineField:
case OperandType.InlineI:
@@ -108,26 +102,220 @@ namespace Mono.Cecil.Cil {
case OperandType.InlineTok:
case OperandType.InlineType:
case OperandType.ShortInlineR:
- size += 4;
- break;
- case OperandType.InlineParam:
+ case OperandType.InlineSig:
+ return size + 4;
+ case OperandType.InlineArg:
case OperandType.InlineVar:
- size += 2;
- break;
+ return size + 2;
case OperandType.ShortInlineBrTarget:
case OperandType.ShortInlineI:
- case OperandType.ShortInlineParam:
+ case OperandType.ShortInlineArg:
case OperandType.ShortInlineVar:
- size += 1;
+ return size + 1;
+ default:
+ return size;
+ }
+ }
+
+ public override string ToString ()
+ {
+ var instruction = new StringBuilder ();
+
+ AppendLabel (instruction, this);
+ instruction.Append (':');
+ instruction.Append (' ');
+ instruction.Append (opcode.Name);
+
+ if (operand == null)
+ return instruction.ToString ();
+
+ instruction.Append (' ');
+
+ switch (opcode.OperandType) {
+ case OperandType.ShortInlineBrTarget:
+ case OperandType.InlineBrTarget:
+ AppendLabel (instruction, (Instruction) operand);
+ break;
+ case OperandType.InlineSwitch:
+ var labels = (Instruction []) operand;
+ for (int i = 0; i < labels.Length; i++) {
+ if (i > 0)
+ instruction.Append (',');
+
+ AppendLabel (instruction, labels [i]);
+ }
+ break;
+ case OperandType.InlineString:
+ instruction.Append ('\"');
+ instruction.Append (operand);
+ instruction.Append ('\"');
+ break;
+ default:
+ instruction.Append (operand);
break;
}
- return size;
+ return instruction.ToString ();
+ }
+
+ static void AppendLabel (StringBuilder builder, Instruction instruction)
+ {
+ builder.Append ("IL_");
+ builder.Append (instruction.offset.ToString ("x4"));
+ }
+
+ public static Instruction Create (OpCode opcode)
+ {
+ if (opcode.OperandType != OperandType.InlineNone)
+ throw new ArgumentException ("opcode");
+
+ return new Instruction (opcode, null);
+ }
+
+ public static Instruction Create (OpCode opcode, TypeReference type)
+ {
+ if (type == null)
+ throw new ArgumentNullException ("type");
+ if (opcode.OperandType != OperandType.InlineType &&
+ opcode.OperandType != OperandType.InlineTok)
+ throw new ArgumentException ("opcode");
+
+ return new Instruction (opcode, type);
+ }
+
+ public static Instruction Create (OpCode opcode, CallSite site)
+ {
+ if (site == null)
+ throw new ArgumentNullException ("site");
+ if (opcode.Code != Code.Calli)
+ throw new ArgumentException ("code");
+
+ return new Instruction (opcode, site);
+ }
+
+ public static Instruction Create (OpCode opcode, MethodReference method)
+ {
+ if (method == null)
+ throw new ArgumentNullException ("method");
+ if (opcode.OperandType != OperandType.InlineMethod &&
+ opcode.OperandType != OperandType.InlineTok)
+ throw new ArgumentException ("opcode");
+
+ return new Instruction (opcode, method);
}
- public void Accept (ICodeVisitor visitor)
+ public static Instruction Create (OpCode opcode, FieldReference field)
{
- visitor.VisitInstruction (this);
+ if (field == null)
+ throw new ArgumentNullException ("field");
+ if (opcode.OperandType != OperandType.InlineField &&
+ opcode.OperandType != OperandType.InlineTok)
+ throw new ArgumentException ("opcode");
+
+ return new Instruction (opcode, field);
+ }
+
+ public static Instruction Create (OpCode opcode, string value)
+ {
+ if (value == null)
+ throw new ArgumentNullException ("value");
+ if (opcode.OperandType != OperandType.InlineString)
+ throw new ArgumentException ("opcode");
+
+ return new Instruction (opcode, value);
+ }
+
+ public static Instruction Create (OpCode opcode, sbyte value)
+ {
+ if (opcode.OperandType != OperandType.ShortInlineI &&
+ opcode != OpCodes.Ldc_I4_S)
+ throw new ArgumentException ("opcode");
+
+ return new Instruction (opcode, value);
+ }
+
+ public static Instruction Create (OpCode opcode, byte value)
+ {
+ if (opcode.OperandType != OperandType.ShortInlineI ||
+ opcode == OpCodes.Ldc_I4_S)
+ throw new ArgumentException ("opcode");
+
+ return new Instruction (opcode, value);
+ }
+
+ public static Instruction Create (OpCode opcode, int value)
+ {
+ if (opcode.OperandType != OperandType.InlineI)
+ throw new ArgumentException ("opcode");
+
+ return new Instruction (opcode, value);
+ }
+
+ public static Instruction Create (OpCode opcode, long value)
+ {
+ if (opcode.OperandType != OperandType.InlineI8)
+ throw new ArgumentException ("opcode");
+
+ return new Instruction (opcode, value);
+ }
+
+ public static Instruction Create (OpCode opcode, float value)
+ {
+ if (opcode.OperandType != OperandType.ShortInlineR)
+ throw new ArgumentException ("opcode");
+
+ return new Instruction (opcode, value);
+ }
+
+ public static Instruction Create (OpCode opcode, double value)
+ {
+ if (opcode.OperandType != OperandType.InlineR)
+ throw new ArgumentException ("opcode");
+
+ return new Instruction (opcode, value);
+ }
+
+ public static Instruction Create (OpCode opcode, Instruction target)
+ {
+ if (target == null)
+ throw new ArgumentNullException ("target");
+ if (opcode.OperandType != OperandType.InlineBrTarget &&
+ opcode.OperandType != OperandType.ShortInlineBrTarget)
+ throw new ArgumentException ("opcode");
+
+ return new Instruction (opcode, target);
+ }
+
+ public static Instruction Create (OpCode opcode, Instruction [] targets)
+ {
+ if (targets == null)
+ throw new ArgumentNullException ("targets");
+ if (opcode.OperandType != OperandType.InlineSwitch)
+ throw new ArgumentException ("opcode");
+
+ return new Instruction (opcode, targets);
+ }
+
+ public static Instruction Create (OpCode opcode, VariableDefinition variable)
+ {
+ if (variable == null)
+ throw new ArgumentNullException ("variable");
+ if (opcode.OperandType != OperandType.ShortInlineVar &&
+ opcode.OperandType != OperandType.InlineVar)
+ throw new ArgumentException ("opcode");
+
+ return new Instruction (opcode, variable);
+ }
+
+ public static Instruction Create (OpCode opcode, ParameterDefinition parameter)
+ {
+ if (parameter == null)
+ throw new ArgumentNullException ("parameter");
+ if (opcode.OperandType != OperandType.ShortInlineArg &&
+ opcode.OperandType != OperandType.InlineArg)
+ throw new ArgumentException ("opcode");
+
+ return new Instruction (opcode, parameter);
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/InstructionCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/InstructionCollection.cs
deleted file mode 100644
index 190750b71bb..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/InstructionCollection.cs
+++ /dev/null
@@ -1,94 +0,0 @@
-//
-// InstructionCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Thu Sep 28 17:54:43 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class InstructionCollection : CollectionBase, ICodeVisitable {
-
- MethodBody m_container;
- public readonly Instruction Outside = new Instruction (int.MaxValue, OpCodes.Nop);
-
- public Instruction this [int index] {
- get { return List [index] as Instruction; }
- set { List [index] = value; }
- }
-
- public MethodBody Container {
- get { return m_container; }
- }
-
- public InstructionCollection (MethodBody container)
- {
- m_container = container;
- }
-
- internal void Add (Instruction value)
- {
- List.Add (value);
- }
-
- public bool Contains (Instruction value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (Instruction value)
- {
- return List.IndexOf (value);
- }
-
- internal void Insert (int index, Instruction value)
- {
- List.Insert (index, value);
- }
-
- internal void Remove (Instruction value)
- {
- List.Remove (value);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is Instruction))
- throw new ArgumentException ("Must be of type " + typeof (Instruction).FullName);
- }
-
- public void Accept (ICodeVisitor visitor)
- {
- visitor.VisitInstructionCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/MethodBody.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/MethodBody.cs
index 70a7049a8ef..b57900e5ac4 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/MethodBody.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/MethodBody.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,598 +26,205 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil.Cil {
+using System;
+
+using Mono.Collections.Generic;
- using Mono.Cecil;
+namespace Mono.Cecil.Cil {
- public sealed class MethodBody : IVariableDefinitionProvider, IScopeProvider, ICodeVisitable {
+ public sealed class MethodBody : IVariableDefinitionProvider {
- MethodDefinition m_method;
- int m_maxStack;
- int m_codeSize;
- bool m_initLocals;
- int m_localVarToken;
+ readonly internal MethodDefinition method;
- InstructionCollection m_instructions;
- ExceptionHandlerCollection m_exceptions;
- VariableDefinitionCollection m_variables;
- ScopeCollection m_scopes;
+ internal ParameterDefinition this_parameter;
+ internal int max_stack_size;
+ internal int code_size;
+ internal bool init_locals;
+ internal MetadataToken local_var_token;
- private CilWorker m_cilWorker;
+ internal Collection<Instruction> instructions;
+ internal Collection<ExceptionHandler> exceptions;
+ internal Collection<VariableDefinition> variables;
+ Scope scope;
public MethodDefinition Method {
- get { return m_method; }
+ get { return method; }
}
- public int MaxStack {
- get { return m_maxStack; }
- set { m_maxStack = value; }
+ public int MaxStackSize {
+ get { return max_stack_size; }
+ set { max_stack_size = value; }
}
public int CodeSize {
- get { return m_codeSize; }
- set { m_codeSize = value; }
+ get { return code_size; }
}
public bool InitLocals {
- get { return m_initLocals; }
- set { m_initLocals = value; }
+ get { return init_locals; }
+ set { init_locals = value; }
}
- public int LocalVarToken {
- get { return m_localVarToken; }
- set { m_localVarToken = value; }
+ public MetadataToken LocalVarToken {
+ get { return local_var_token; }
+ set { local_var_token = value; }
}
- public CilWorker CilWorker {
- get {
- if (m_cilWorker == null)
- m_cilWorker = new CilWorker (this);
- return m_cilWorker;
- }
- set { m_cilWorker = value; }
- }
-
- public InstructionCollection Instructions {
- get { return m_instructions; }
+ public Collection<Instruction> Instructions {
+ get { return instructions ?? (instructions = new InstructionCollection ()); }
}
public bool HasExceptionHandlers {
- get { return m_exceptions != null && m_exceptions.Count > 0; }
+ get { return !exceptions.IsNullOrEmpty (); }
}
- public ExceptionHandlerCollection ExceptionHandlers {
- get {
- if (m_exceptions == null)
- m_exceptions = new ExceptionHandlerCollection (this);
- return m_exceptions;
- }
+ public Collection<ExceptionHandler> ExceptionHandlers {
+ get { return exceptions ?? (exceptions = new Collection<ExceptionHandler> ()); }
}
public bool HasVariables {
- get { return m_variables != null && m_variables.Count > 0; }
+ get { return !variables.IsNullOrEmpty (); }
}
- public VariableDefinitionCollection Variables {
- get {
- if (m_variables == null)
- m_variables = new VariableDefinitionCollection (this);
- return m_variables;
- }
+ public Collection<VariableDefinition> Variables {
+ get { return variables ?? (variables = new VariableDefinitionCollection ()); }
}
- public bool HasScopes {
- get { return m_scopes != null && m_scopes.Count > 0; }
+ public Scope Scope {
+ get { return scope; }
+ set { scope = value; }
}
- public ScopeCollection Scopes {
+ public ParameterDefinition ThisParameter {
get {
- if (m_scopes == null)
- m_scopes = new ScopeCollection (this);
- return m_scopes;
+ if (method == null || method.DeclaringType == null)
+ throw new NotSupportedException ();
+
+ return this_parameter ?? (this_parameter = new ParameterDefinition ("0", ParameterAttributes.None, method.DeclaringType));
}
}
- public MethodBody (MethodDefinition meth)
+ public MethodBody (MethodDefinition method)
{
- m_method = meth;
- // there is always a RET instruction (if a body is present)
- m_instructions = new InstructionCollection (this);
+ this.method = method;
}
- internal static Instruction GetInstruction (MethodBody oldBody, MethodBody newBody, Instruction i)
+ public ILProcessor GetILProcessor ()
{
- int pos = oldBody.Instructions.IndexOf (i);
- if (pos > -1 && pos < newBody.Instructions.Count)
- return newBody.Instructions [pos];
-
- return newBody.Instructions.Outside;
+ return new ILProcessor (this);
}
+ }
- internal static MethodBody Clone (MethodBody body, MethodDefinition parent, ImportContext context)
- {
- MethodBody nb = new MethodBody (parent);
- nb.MaxStack = body.MaxStack;
- nb.InitLocals = body.InitLocals;
- nb.CodeSize = body.CodeSize;
-
- CilWorker worker = nb.CilWorker;
-
- if (body.HasVariables) {
- foreach (VariableDefinition var in body.Variables)
- nb.Variables.Add (new VariableDefinition (
- var.Name, var.Index, parent,
- context.Import (var.VariableType)));
- }
-
- foreach (Instruction instr in body.Instructions) {
- Instruction ni = new Instruction (instr.OpCode);
-
- switch (instr.OpCode.OperandType) {
- case OperandType.InlineParam :
- case OperandType.ShortInlineParam :
- if (instr.Operand == body.Method.This)
- ni.Operand = nb.Method.This;
- else {
- int param = body.Method.Parameters.IndexOf ((ParameterDefinition) instr.Operand);
- ni.Operand = parent.Parameters [param];
- }
- break;
- case OperandType.InlineVar :
- case OperandType.ShortInlineVar :
- int var = body.Variables.IndexOf ((VariableDefinition) instr.Operand);
- ni.Operand = nb.Variables [var];
- break;
- case OperandType.InlineField :
- ni.Operand = context.Import ((FieldReference) instr.Operand);
- break;
- case OperandType.InlineMethod :
- ni.Operand = context.Import ((MethodReference) instr.Operand);
- break;
- case OperandType.InlineType :
- ni.Operand = context.Import ((TypeReference) instr.Operand);
- break;
- case OperandType.InlineTok :
- if (instr.Operand is TypeReference)
- ni.Operand = context.Import ((TypeReference) instr.Operand);
- else if (instr.Operand is FieldReference)
- ni.Operand = context.Import ((FieldReference) instr.Operand);
- else if (instr.Operand is MethodReference)
- ni.Operand = context.Import ((MethodReference) instr.Operand);
- break;
- case OperandType.ShortInlineBrTarget :
- case OperandType.InlineBrTarget :
- case OperandType.InlineSwitch :
- break;
- default :
- ni.Operand = instr.Operand;
- break;
- }
-
- worker.Append (ni);
- }
+ public interface IVariableDefinitionProvider {
+ bool HasVariables { get; }
+ Collection<VariableDefinition> Variables { get; }
+ }
- for (int i = 0; i < body.Instructions.Count; i++) {
- Instruction instr = nb.Instructions [i];
- Instruction oldi = body.Instructions [i];
+ class VariableDefinitionCollection : Collection<VariableDefinition> {
- if (instr.OpCode.OperandType == OperandType.InlineSwitch) {
- Instruction [] olds = (Instruction []) oldi.Operand;
- Instruction [] targets = new Instruction [olds.Length];
+ internal VariableDefinitionCollection ()
+ {
+ }
- for (int j = 0; j < targets.Length; j++)
- targets [j] = GetInstruction (body, nb, olds [j]);
+ internal VariableDefinitionCollection (int capacity)
+ : base (capacity)
+ {
+ }
- instr.Operand = targets;
- } else if (instr.OpCode.OperandType == OperandType.ShortInlineBrTarget || instr.OpCode.OperandType == OperandType.InlineBrTarget)
- instr.Operand = GetInstruction (body, nb, (Instruction) oldi.Operand);
- }
+ protected override void OnAdd (VariableDefinition item, int index)
+ {
+ item.index = index;
+ }
- if (!body.HasExceptionHandlers)
- return nb;
-
- foreach (ExceptionHandler eh in body.ExceptionHandlers) {
- ExceptionHandler neh = new ExceptionHandler (eh.Type);
- neh.TryStart = GetInstruction (body, nb, eh.TryStart);
- neh.TryEnd = GetInstruction (body, nb, eh.TryEnd);
- neh.HandlerStart = GetInstruction (body, nb, eh.HandlerStart);
- neh.HandlerEnd = GetInstruction (body, nb, eh.HandlerEnd);
-
- switch (eh.Type) {
- case ExceptionHandlerType.Catch :
- neh.CatchType = context.Import (eh.CatchType);
- break;
- case ExceptionHandlerType.Filter :
- neh.FilterStart = GetInstruction (body, nb, eh.FilterStart);
- neh.FilterEnd = GetInstruction (body, nb, eh.FilterEnd);
- break;
- }
-
- nb.ExceptionHandlers.Add (neh);
- }
+ protected override void OnInsert (VariableDefinition item, int index)
+ {
+ item.index = index;
- return nb;
+ for (int i = index; i < size; i++)
+ items [i].index = i + 1;
}
- public void Simplify ()
+ protected override void OnSet (VariableDefinition item, int index)
{
- foreach (Instruction i in this.Instructions) {
- if (i.OpCode.OpCodeType != OpCodeType.Macro)
- continue;
-
- switch (i.OpCode.Code) {
- case Code.Ldarg_0 :
- Modify (i, OpCodes.Ldarg,
- CodeReader.GetParameter (this, 0));
- break;
- case Code.Ldarg_1 :
- Modify (i, OpCodes.Ldarg,
- CodeReader.GetParameter (this, 1));
- break;
- case Code.Ldarg_2 :
- Modify (i, OpCodes.Ldarg,
- CodeReader.GetParameter (this, 2));
- break;
- case Code.Ldarg_3 :
- Modify (i, OpCodes.Ldarg,
- CodeReader.GetParameter (this, 3));
- break;
- case Code.Ldloc_0 :
- Modify (i, OpCodes.Ldloc,
- CodeReader.GetVariable (this, 0));
- break;
- case Code.Ldloc_1 :
- Modify (i, OpCodes.Ldloc,
- CodeReader.GetVariable (this, 1));
- break;
- case Code.Ldloc_2 :
- Modify (i, OpCodes.Ldloc,
- CodeReader.GetVariable (this, 2));
- break;
- case Code.Ldloc_3 :
- Modify (i, OpCodes.Ldloc,
- CodeReader.GetVariable (this, 3));
- break;
- case Code.Stloc_0 :
- Modify (i, OpCodes.Stloc,
- CodeReader.GetVariable (this, 0));
- break;
- case Code.Stloc_1 :
- Modify (i, OpCodes.Stloc,
- CodeReader.GetVariable (this, 1));
- break;
- case Code.Stloc_2 :
- Modify (i, OpCodes.Stloc,
- CodeReader.GetVariable (this, 2));
- break;
- case Code.Stloc_3 :
- Modify (i, OpCodes.Stloc,
- CodeReader.GetVariable (this, 3));
- break;
- case Code.Ldarg_S :
- i.OpCode = OpCodes.Ldarg;
- break;
- case Code.Ldarga_S :
- i.OpCode = OpCodes.Ldarga;
- break;
- case Code.Starg_S :
- i.OpCode = OpCodes.Starg;
- break;
- case Code.Ldloc_S :
- i.OpCode = OpCodes.Ldloc;
- break;
- case Code.Ldloca_S :
- i.OpCode = OpCodes.Ldloca;
- break;
- case Code.Stloc_S :
- i.OpCode = OpCodes.Stloc;
- break;
- case Code.Ldc_I4_M1 :
- Modify (i, OpCodes.Ldc_I4, -1);
- break;
- case Code.Ldc_I4_0 :
- Modify (i, OpCodes.Ldc_I4, 0);
- break;
- case Code.Ldc_I4_1 :
- Modify (i, OpCodes.Ldc_I4, 1);
- break;
- case Code.Ldc_I4_2 :
- Modify (i, OpCodes.Ldc_I4, 2);
- break;
- case Code.Ldc_I4_3 :
- Modify (i, OpCodes.Ldc_I4, 3);
- break;
- case Code.Ldc_I4_4 :
- Modify (i, OpCodes.Ldc_I4, 4);
- break;
- case Code.Ldc_I4_5 :
- Modify (i, OpCodes.Ldc_I4, 5);
- break;
- case Code.Ldc_I4_6 :
- Modify (i, OpCodes.Ldc_I4, 6);
- break;
- case Code.Ldc_I4_7 :
- Modify (i, OpCodes.Ldc_I4, 7);
- break;
- case Code.Ldc_I4_8 :
- Modify (i, OpCodes.Ldc_I4, 8);
- break;
- case Code.Ldc_I4_S :
- i.OpCode = OpCodes.Ldc_I4;
- i.Operand = (int) (sbyte) i.Operand;
- break;
- case Code.Br_S :
- i.OpCode = OpCodes.Br;
- break;
- case Code.Brfalse_S :
- i.OpCode = OpCodes.Brfalse;
- break;
- case Code.Brtrue_S :
- i.OpCode = OpCodes.Brtrue;
- break;
- case Code.Beq_S :
- i.OpCode = OpCodes.Beq;
- break;
- case Code.Bge_S :
- i.OpCode = OpCodes.Bge;
- break;
- case Code.Bgt_S :
- i.OpCode = OpCodes.Bgt;
- break;
- case Code.Ble_S :
- i.OpCode = OpCodes.Ble;
- break;
- case Code.Blt_S :
- i.OpCode = OpCodes.Blt;
- break;
- case Code.Bne_Un_S :
- i.OpCode = OpCodes.Bne_Un;
- break;
- case Code.Bge_Un_S :
- i.OpCode = OpCodes.Bge_Un;
- break;
- case Code.Bgt_Un_S :
- i.OpCode = OpCodes.Bgt_Un;
- break;
- case Code.Ble_Un_S :
- i.OpCode = OpCodes.Ble_Un;
- break;
- case Code.Blt_Un_S :
- i.OpCode = OpCodes.Blt_Un;
- break;
- case Code.Leave_S :
- i.OpCode = OpCodes.Leave;
- break;
- }
- }
+ item.index = index;
}
- public void Optimize ()
+ protected override void OnRemove (VariableDefinition item, int index)
{
- foreach (Instruction instr in m_instructions) {
- int index;
- switch (instr.OpCode.Code) {
- case Code.Ldarg:
- index = m_method.Parameters.IndexOf ((ParameterDefinition) instr.Operand);
- if (index == -1 && instr.Operand == m_method.This)
- index = 0;
- else if (m_method.HasThis)
- index++;
-
- switch (index) {
- case 0:
- Modify (instr, OpCodes.Ldarg_0, null);
- break;
- case 1:
- Modify (instr, OpCodes.Ldarg_1, null);
- break;
- case 2:
- Modify (instr, OpCodes.Ldarg_2, null);
- break;
- case 3:
- Modify (instr, OpCodes.Ldarg_3, null);
- break;
- default:
- if (index < 256)
- Modify (instr, OpCodes.Ldarg_S, instr.Operand);
- break;
- }
- break;
- case Code.Ldloc:
- index = m_variables.IndexOf ((VariableDefinition) instr.Operand);
- switch (index) {
- case 0:
- Modify (instr, OpCodes.Ldloc_0, null);
- break;
- case 1:
- Modify (instr, OpCodes.Ldloc_1, null);
- break;
- case 2:
- Modify (instr, OpCodes.Ldloc_2, null);
- break;
- case 3:
- Modify (instr, OpCodes.Ldloc_3, null);
- break;
- default:
- if (index < 256)
- Modify (instr, OpCodes.Ldloc_S, instr.Operand);
- break;
- }
- break;
- case Code.Stloc:
- index = m_variables.IndexOf ((VariableDefinition) instr.Operand);
- switch (index) {
- case 0:
- Modify (instr, OpCodes.Stloc_0, null);
- break;
- case 1:
- Modify (instr, OpCodes.Stloc_1, null);
- break;
- case 2:
- Modify (instr, OpCodes.Stloc_2, null);
- break;
- case 3:
- Modify (instr, OpCodes.Stloc_3, null);
- break;
- default:
- if (index < 256)
- Modify (instr, OpCodes.Stloc_S, instr.Operand);
- break;
- }
- break;
- case Code.Ldarga:
- index = m_method.Parameters.IndexOf ((ParameterDefinition) instr.Operand);
- if (index == -1 && instr.Operand == m_method.This)
- index = 0;
- else if (m_method.HasThis)
- index++;
- if (index < 256)
- Modify (instr, OpCodes.Ldarga_S, instr.Operand);
- break;
- case Code.Ldloca:
- if (m_variables.IndexOf ((VariableDefinition) instr.Operand) < 256)
- Modify (instr, OpCodes.Ldloca_S, instr.Operand);
- break;
- case Code.Ldc_I4:
- int i = (int) instr.Operand;
- switch (i) {
- case -1:
- Modify (instr, OpCodes.Ldc_I4_M1, null);
- break;
- case 0:
- Modify (instr, OpCodes.Ldc_I4_0, null);
- break;
- case 1:
- Modify (instr, OpCodes.Ldc_I4_1, null);
- break;
- case 2:
- Modify (instr, OpCodes.Ldc_I4_2, null);
- break;
- case 3:
- Modify (instr, OpCodes.Ldc_I4_3, null);
- break;
- case 4:
- Modify (instr, OpCodes.Ldc_I4_4, null);
- break;
- case 5:
- Modify (instr, OpCodes.Ldc_I4_5, null);
- break;
- case 6:
- Modify (instr, OpCodes.Ldc_I4_6, null);
- break;
- case 7:
- Modify (instr, OpCodes.Ldc_I4_7, null);
- break;
- case 8:
- Modify (instr, OpCodes.Ldc_I4_8, null);
- break;
- default:
- if (i >= -128 && i < 128)
- Modify (instr, OpCodes.Ldc_I4_S, (sbyte) i);
- break;
- }
- break;
- }
- }
+ item.index = -1;
- OptimizeBranches ();
+ for (int i = index + 1; i < size; i++)
+ items [i].index = i - 1;
}
+ }
- void OptimizeBranches ()
- {
- ComputeOffsets ();
+ class InstructionCollection : Collection<Instruction> {
- foreach (Instruction instr in m_instructions) {
- if (instr.OpCode.OperandType != OperandType.InlineBrTarget)
- continue;
+ internal InstructionCollection ()
+ {
+ }
- if (OptimizeBranch (instr))
- ComputeOffsets ();
- }
+ internal InstructionCollection (int capacity)
+ : base (capacity)
+ {
}
- static bool OptimizeBranch (Instruction instr)
+ protected override void OnAdd (Instruction item, int index)
{
- int offset = ((Instruction) instr.Operand).Offset - (instr.Offset + instr.OpCode.Size + 4);
- if (! (offset >= -128 && offset <= 127))
- return false;
-
- switch (instr.OpCode.Code) {
- case Code.Br:
- instr.OpCode = OpCodes.Br_S;
- break;
- case Code.Brfalse:
- instr.OpCode = OpCodes.Brfalse_S;
- break;
- case Code.Brtrue:
- instr.OpCode = OpCodes.Brtrue_S;
- break;
- case Code.Beq:
- instr.OpCode = OpCodes.Beq_S;
- break;
- case Code.Bge:
- instr.OpCode = OpCodes.Bge_S;
- break;
- case Code.Bgt:
- instr.OpCode = OpCodes.Bgt_S;
- break;
- case Code.Ble:
- instr.OpCode = OpCodes.Ble_S;
- break;
- case Code.Blt:
- instr.OpCode = OpCodes.Blt_S;
- break;
- case Code.Bne_Un:
- instr.OpCode = OpCodes.Bne_Un_S;
- break;
- case Code.Bge_Un:
- instr.OpCode = OpCodes.Bge_Un_S;
- break;
- case Code.Bgt_Un:
- instr.OpCode = OpCodes.Bgt_Un_S;
- break;
- case Code.Ble_Un:
- instr.OpCode = OpCodes.Ble_Un_S;
- break;
- case Code.Blt_Un:
- instr.OpCode = OpCodes.Blt_Un_S;
- break;
- case Code.Leave:
- instr.OpCode = OpCodes.Leave_S;
- break;
- }
+ if (index == 0)
+ return;
- return true;
+ var previous = items [index - 1];
+ previous.next = item;
+ item.previous = previous;
}
- void ComputeOffsets ()
+ protected override void OnInsert (Instruction item, int index)
{
- int offset = 0;
+ if (size == 0)
+ return;
+
+ var current = items [index];
+ if (current == null) {
+ var last = items [index - 1];
+ last.next = item;
+ item.previous = last;
+ return;
+ }
- foreach (Instruction instr in m_instructions) {
- instr.Offset = offset;
- offset += instr.GetSize ();
+ var previous = current.previous;
+ if (previous != null) {
+ previous.next = item;
+ item.previous = previous;
}
+
+ current.previous = item;
+ item.next = current;
}
- static void Modify (Instruction i, OpCode op, object operand)
+ protected override void OnSet (Instruction item, int index)
{
- i.OpCode = op;
- i.Operand = operand;
+ var current = items [index];
+
+ item.previous = current.previous;
+ item.next = current.next;
+
+ current.previous = null;
+ current.next = null;
}
- public void Accept (ICodeVisitor visitor)
+ protected override void OnRemove (Instruction item, int index)
{
- visitor.VisitMethodBody (this);
- if (HasVariables)
- m_variables.Accept (visitor);
- m_instructions.Accept (visitor);
- if (HasExceptionHandlers)
- m_exceptions.Accept (visitor);
- if (HasScopes)
- m_scopes.Accept (visitor);
-
- visitor.TerminateMethodBody (this);
+ var previous = item.previous;
+ if (previous != null)
+ previous.next = item.next;
+
+ var next = item.next;
+ if (next != null)
+ next.previous = item.previous;
+
+ item.previous = null;
+ item.next = null;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCode.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCode.cs
index 829fc2f0344..aad4ba4b9d0 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCode.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCode.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -28,74 +28,148 @@
namespace Mono.Cecil.Cil {
+ public enum FlowControl {
+ Branch,
+ Break,
+ Call,
+ Cond_Branch,
+ Meta,
+ Next,
+ Phi,
+ Return,
+ Throw,
+ }
+
+ public enum OpCodeType {
+ Annotation,
+ Macro,
+ Nternal,
+ Objmodel,
+ Prefix,
+ Primitive,
+ }
+
+ public enum OperandType {
+ InlineBrTarget,
+ InlineField,
+ InlineI,
+ InlineI8,
+ InlineMethod,
+ InlineNone,
+ InlinePhi,
+ InlineR,
+ InlineSig,
+ InlineString,
+ InlineSwitch,
+ InlineTok,
+ InlineType,
+ InlineVar,
+ InlineArg,
+ ShortInlineBrTarget,
+ ShortInlineI,
+ ShortInlineR,
+ ShortInlineVar,
+ ShortInlineArg,
+ }
+
+ public enum StackBehaviour {
+ Pop0,
+ Pop1,
+ Pop1_pop1,
+ Popi,
+ Popi_pop1,
+ Popi_popi,
+ Popi_popi8,
+ Popi_popi_popi,
+ Popi_popr4,
+ Popi_popr8,
+ Popref,
+ Popref_pop1,
+ Popref_popi,
+ Popref_popi_popi,
+ Popref_popi_popi8,
+ Popref_popi_popr4,
+ Popref_popi_popr8,
+ Popref_popi_popref,
+ PopAll,
+ Push0,
+ Push1,
+ Push1_push1,
+ Pushi,
+ Pushi8,
+ Pushr4,
+ Pushr8,
+ Pushref,
+ Varpop,
+ Varpush,
+ }
+
public struct OpCode {
- short m_value;
- byte m_code;
- byte m_flowControl;
- byte m_opCodeType;
- byte m_operandType;
- byte m_stackBehaviourPop;
- byte m_stackBehaviourPush;
+
+ readonly byte op1;
+ readonly byte op2;
+ readonly byte code;
+ readonly byte flow_control;
+ readonly byte opcode_type;
+ readonly byte operand_type;
+ readonly byte stack_behavior_pop;
+ readonly byte stack_behavior_push;
public string Name {
- get {
- int index = (Size == 1) ? Op2 : (Op2 + 256);
- return OpCodeNames.names [index];
- }
+ get { return OpCodeNames.names [op1 == 0xff ? op2 : op2 + 256]; }
}
public int Size {
- get { return ((m_value & 0xff00) == 0xff00) ? 1 : 2; }
+ get { return op1 == 0xff ? 1 : 2; }
}
public byte Op1 {
- get { return (byte) (m_value >> 8); }
+ get { return op1; }
}
public byte Op2 {
- get { return (byte) m_value; }
+ get { return op2; }
}
public short Value {
- get { return (Size == 1) ? Op2 : m_value; }
+ get { return (short) ((op1 << 8) | op2); }
}
public Code Code {
- get { return (Code) m_code; }
+ get { return (Code) code; }
}
public FlowControl FlowControl {
- get { return (FlowControl) m_flowControl; }
+ get { return (FlowControl) flow_control; }
}
public OpCodeType OpCodeType {
- get { return (OpCodeType) m_opCodeType; }
+ get { return (OpCodeType) opcode_type; }
}
public OperandType OperandType {
- get { return (OperandType) m_operandType; }
+ get { return (OperandType) operand_type; }
}
public StackBehaviour StackBehaviourPop {
- get { return (StackBehaviour) m_stackBehaviourPop; }
+ get { return (StackBehaviour) stack_behavior_pop; }
}
public StackBehaviour StackBehaviourPush {
- get { return (StackBehaviour) m_stackBehaviourPush; }
+ get { return (StackBehaviour) stack_behavior_push; }
}
- internal OpCode (byte op1, byte op2,
- Code code, FlowControl flowControl,
- OpCodeType opCodeType, OperandType operandType,
- StackBehaviour pop, StackBehaviour push)
+ internal OpCode (int x, int y)
{
- m_value = (short) ((op1 << 8) | op2);
- m_code = (byte) code;
- m_flowControl = (byte) flowControl;
- m_opCodeType = (byte) opCodeType;
- m_operandType = (byte) operandType;
- m_stackBehaviourPop = (byte) pop;
- m_stackBehaviourPush = (byte) push;
+ this.op1 = (byte) ((x >> 0) & 0xff);
+ this.op2 = (byte) ((x >> 8) & 0xff);
+ this.code = (byte) ((x >> 16) & 0xff);
+ this.flow_control = (byte) ((x >> 24) & 0xff);
+
+ this.opcode_type = (byte) ((y >> 0) & 0xff);
+ this.operand_type = (byte) ((y >> 8) & 0xff);
+ this.stack_behavior_pop = (byte) ((y >> 16) & 0xff);
+ this.stack_behavior_push = (byte) ((y >> 24) & 0xff);
if (op1 == 0xff)
OpCodes.OneByteOpCode [op2] = this;
@@ -105,30 +179,31 @@ namespace Mono.Cecil.Cil {
public override int GetHashCode ()
{
- return m_value;
+ return Value;
}
public override bool Equals (object obj)
{
if (!(obj is OpCode))
return false;
- OpCode v = (OpCode) obj;
- return v.m_value == m_value;
+
+ var opcode = (OpCode) obj;
+ return op1 == opcode.op1 && op2 == opcode.op2;
}
public bool Equals (OpCode opcode)
{
- return (m_value == opcode.m_value);
+ return op1 == opcode.op1 && op2 == opcode.op2;
}
public static bool operator == (OpCode one, OpCode other)
{
- return (one.m_value == other.m_value);
+ return one.op1 == other.op1 && one.op2 == other.op2;
}
public static bool operator != (OpCode one, OpCode other)
{
- return (one.m_value != other.m_value);
+ return one.op1 != other.op1 || one.op2 != other.op2;
}
public override string ToString ()
@@ -136,4 +211,314 @@ namespace Mono.Cecil.Cil {
return Name;
}
}
+
+ static class OpCodeNames {
+
+ internal static readonly string [] names = {
+ "nop",
+ "break",
+ "ldarg.0",
+ "ldarg.1",
+ "ldarg.2",
+ "ldarg.3",
+ "ldloc.0",
+ "ldloc.1",
+ "ldloc.2",
+ "ldloc.3",
+ "stloc.0",
+ "stloc.1",
+ "stloc.2",
+ "stloc.3",
+ "ldarg.s",
+ "ldarga.s",
+ "starg.s",
+ "ldloc.s",
+ "ldloca.s",
+ "stloc.s",
+ "ldnull",
+ "ldc.i4.m1",
+ "ldc.i4.0",
+ "ldc.i4.1",
+ "ldc.i4.2",
+ "ldc.i4.3",
+ "ldc.i4.4",
+ "ldc.i4.5",
+ "ldc.i4.6",
+ "ldc.i4.7",
+ "ldc.i4.8",
+ "ldc.i4.s",
+ "ldc.i4",
+ "ldc.i8",
+ "ldc.r4",
+ "ldc.r8",
+ null,
+ "dup",
+ "pop",
+ "jmp",
+ "call",
+ "calli",
+ "ret",
+ "br.s",
+ "brfalse.s",
+ "brtrue.s",
+ "beq.s",
+ "bge.s",
+ "bgt.s",
+ "ble.s",
+ "blt.s",
+ "bne.un.s",
+ "bge.un.s",
+ "bgt.un.s",
+ "ble.un.s",
+ "blt.un.s",
+ "br",
+ "brfalse",
+ "brtrue",
+ "beq",
+ "bge",
+ "bgt",
+ "ble",
+ "blt",
+ "bne.un",
+ "bge.un",
+ "bgt.un",
+ "ble.un",
+ "blt.un",
+ "switch",
+ "ldind.i1",
+ "ldind.u1",
+ "ldind.i2",
+ "ldind.u2",
+ "ldind.i4",
+ "ldind.u4",
+ "ldind.i8",
+ "ldind.i",
+ "ldind.r4",
+ "ldind.r8",
+ "ldind.ref",
+ "stind.ref",
+ "stind.i1",
+ "stind.i2",
+ "stind.i4",
+ "stind.i8",
+ "stind.r4",
+ "stind.r8",
+ "add",
+ "sub",
+ "mul",
+ "div",
+ "div.un",
+ "rem",
+ "rem.un",
+ "and",
+ "or",
+ "xor",
+ "shl",
+ "shr",
+ "shr.un",
+ "neg",
+ "not",
+ "conv.i1",
+ "conv.i2",
+ "conv.i4",
+ "conv.i8",
+ "conv.r4",
+ "conv.r8",
+ "conv.u4",
+ "conv.u8",
+ "callvirt",
+ "cpobj",
+ "ldobj",
+ "ldstr",
+ "newobj",
+ "castclass",
+ "isinst",
+ "conv.r.un",
+ null,
+ null,
+ "unbox",
+ "throw",
+ "ldfld",
+ "ldflda",
+ "stfld",
+ "ldsfld",
+ "ldsflda",
+ "stsfld",
+ "stobj",
+ "conv.ovf.i1.un",
+ "conv.ovf.i2.un",
+ "conv.ovf.i4.un",
+ "conv.ovf.i8.un",
+ "conv.ovf.u1.un",
+ "conv.ovf.u2.un",
+ "conv.ovf.u4.un",
+ "conv.ovf.u8.un",
+ "conv.ovf.i.un",
+ "conv.ovf.u.un",
+ "box",
+ "newarr",
+ "ldlen",
+ "ldelema",
+ "ldelem.i1",
+ "ldelem.u1",
+ "ldelem.i2",
+ "ldelem.u2",
+ "ldelem.i4",
+ "ldelem.u4",
+ "ldelem.i8",
+ "ldelem.i",
+ "ldelem.r4",
+ "ldelem.r8",
+ "ldelem.ref",
+ "stelem.i",
+ "stelem.i1",
+ "stelem.i2",
+ "stelem.i4",
+ "stelem.i8",
+ "stelem.r4",
+ "stelem.r8",
+ "stelem.ref",
+ "ldelem.any",
+ "stelem.any",
+ "unbox.any",
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ "conv.ovf.i1",
+ "conv.ovf.u1",
+ "conv.ovf.i2",
+ "conv.ovf.u2",
+ "conv.ovf.i4",
+ "conv.ovf.u4",
+ "conv.ovf.i8",
+ "conv.ovf.u8",
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ "refanyval",
+ "ckfinite",
+ null,
+ null,
+ "mkrefany",
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ "ldtoken",
+ "conv.u2",
+ "conv.u1",
+ "conv.i",
+ "conv.ovf.i",
+ "conv.ovf.u",
+ "add.ovf",
+ "add.ovf.un",
+ "mul.ovf",
+ "mul.ovf.un",
+ "sub.ovf",
+ "sub.ovf.un",
+ "endfinally",
+ "leave",
+ "leave.s",
+ "stind.i",
+ "conv.u",
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ "prefix7",
+ "prefix6",
+ "prefix5",
+ "prefix4",
+ "prefix3",
+ "prefix2",
+ "prefix1",
+ "prefixref",
+ "arglist",
+ "ceq",
+ "cgt",
+ "cgt.un",
+ "clt",
+ "clt.un",
+ "ldftn",
+ "ldvirtftn",
+ null,
+ "ldarg",
+ "ldarga",
+ "starg",
+ "ldloc",
+ "ldloca",
+ "stloc",
+ "localloc",
+ null,
+ "endfilter",
+ "unaligned.",
+ "volatile.",
+ "tail.",
+ "initobj",
+ "constrained.",
+ "cpblk",
+ "initblk",
+ "no.", // added by spouliot to match Cecil existing definitions
+ "rethrow",
+ null,
+ "sizeof",
+ "refanytype",
+ "readonly.", // added by spouliot to match Cecil existing definitions
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ };
+ }
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCodeType.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCodeType.cs
deleted file mode 100644
index c6106d96cd7..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCodeType.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// OpCodeType.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- public enum OpCodeType {
- Annotation,
- Macro,
- Nternal,
- Objmodel,
- Prefix,
- Primitive
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCodes.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCodes.cs
index 1e5a99cde8b..ce468a19c42 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCodes.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCodes.cs
@@ -4,10 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Fri Jun 06 13:04:02 +0200 2008
-//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -31,1553 +28,885 @@
namespace Mono.Cecil.Cil {
- public sealed class OpCodes {
+ public static class OpCodes {
internal static readonly OpCode [] OneByteOpCode = new OpCode [0xe0 + 1];
internal static readonly OpCode [] TwoBytesOpCode = new OpCode [0x1e + 1];
public static readonly OpCode Nop = new OpCode (
- 0xff, 0x00,
- Code.Nop, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Push0);
+ 0xff << 0 | 0x00 << 8 | (byte) Code.Nop << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Break = new OpCode (
- 0xff, 0x01,
- Code.Break, FlowControl.Break,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Push0);
+ 0xff << 0 | 0x01 << 8 | (byte) Code.Break << 16 | (byte) FlowControl.Break << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Ldarg_0 = new OpCode (
- 0xff, 0x02,
- Code.Ldarg_0, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Push1);
+ 0xff << 0 | 0x02 << 8 | (byte) Code.Ldarg_0 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Ldarg_1 = new OpCode (
- 0xff, 0x03,
- Code.Ldarg_1, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Push1);
+ 0xff << 0 | 0x03 << 8 | (byte) Code.Ldarg_1 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Ldarg_2 = new OpCode (
- 0xff, 0x04,
- Code.Ldarg_2, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Push1);
+ 0xff << 0 | 0x04 << 8 | (byte) Code.Ldarg_2 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Ldarg_3 = new OpCode (
- 0xff, 0x05,
- Code.Ldarg_3, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Push1);
+ 0xff << 0 | 0x05 << 8 | (byte) Code.Ldarg_3 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Ldloc_0 = new OpCode (
- 0xff, 0x06,
- Code.Ldloc_0, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Push1);
+ 0xff << 0 | 0x06 << 8 | (byte) Code.Ldloc_0 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Ldloc_1 = new OpCode (
- 0xff, 0x07,
- Code.Ldloc_1, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Push1);
+ 0xff << 0 | 0x07 << 8 | (byte) Code.Ldloc_1 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Ldloc_2 = new OpCode (
- 0xff, 0x08,
- Code.Ldloc_2, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Push1);
+ 0xff << 0 | 0x08 << 8 | (byte) Code.Ldloc_2 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Ldloc_3 = new OpCode (
- 0xff, 0x09,
- Code.Ldloc_3, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Push1);
+ 0xff << 0 | 0x09 << 8 | (byte) Code.Ldloc_3 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Stloc_0 = new OpCode (
- 0xff, 0x0a,
- Code.Stloc_0, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x0a << 8 | (byte) Code.Stloc_0 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stloc_1 = new OpCode (
- 0xff, 0x0b,
- Code.Stloc_1, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x0b << 8 | (byte) Code.Stloc_1 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stloc_2 = new OpCode (
- 0xff, 0x0c,
- Code.Stloc_2, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x0c << 8 | (byte) Code.Stloc_2 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stloc_3 = new OpCode (
- 0xff, 0x0d,
- Code.Stloc_3, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x0d << 8 | (byte) Code.Stloc_3 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Ldarg_S = new OpCode (
- 0xff, 0x0e,
- Code.Ldarg_S, FlowControl.Next,
- OpCodeType.Macro, OperandType.ShortInlineParam,
- StackBehaviour.Pop0, StackBehaviour.Push1);
+ 0xff << 0 | 0x0e << 8 | (byte) Code.Ldarg_S << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineArg << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Ldarga_S = new OpCode (
- 0xff, 0x0f,
- Code.Ldarga_S, FlowControl.Next,
- OpCodeType.Macro, OperandType.ShortInlineParam,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xff << 0 | 0x0f << 8 | (byte) Code.Ldarga_S << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineArg << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Starg_S = new OpCode (
- 0xff, 0x10,
- Code.Starg_S, FlowControl.Next,
- OpCodeType.Macro, OperandType.ShortInlineParam,
- StackBehaviour.Pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x10 << 8 | (byte) Code.Starg_S << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineArg << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Ldloc_S = new OpCode (
- 0xff, 0x11,
- Code.Ldloc_S, FlowControl.Next,
- OpCodeType.Macro, OperandType.ShortInlineVar,
- StackBehaviour.Pop0, StackBehaviour.Push1);
+ 0xff << 0 | 0x11 << 8 | (byte) Code.Ldloc_S << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineVar << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Ldloca_S = new OpCode (
- 0xff, 0x12,
- Code.Ldloca_S, FlowControl.Next,
- OpCodeType.Macro, OperandType.ShortInlineVar,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xff << 0 | 0x12 << 8 | (byte) Code.Ldloca_S << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineVar << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Stloc_S = new OpCode (
- 0xff, 0x13,
- Code.Stloc_S, FlowControl.Next,
- OpCodeType.Macro, OperandType.ShortInlineVar,
- StackBehaviour.Pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x13 << 8 | (byte) Code.Stloc_S << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineVar << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Ldnull = new OpCode (
- 0xff, 0x14,
- Code.Ldnull, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Pushref);
+ 0xff << 0 | 0x14 << 8 | (byte) Code.Ldnull << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushref << 24);
public static readonly OpCode Ldc_I4_M1 = new OpCode (
- 0xff, 0x15,
- Code.Ldc_I4_M1, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xff << 0 | 0x15 << 8 | (byte) Code.Ldc_I4_M1 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldc_I4_0 = new OpCode (
- 0xff, 0x16,
- Code.Ldc_I4_0, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xff << 0 | 0x16 << 8 | (byte) Code.Ldc_I4_0 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldc_I4_1 = new OpCode (
- 0xff, 0x17,
- Code.Ldc_I4_1, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xff << 0 | 0x17 << 8 | (byte) Code.Ldc_I4_1 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldc_I4_2 = new OpCode (
- 0xff, 0x18,
- Code.Ldc_I4_2, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xff << 0 | 0x18 << 8 | (byte) Code.Ldc_I4_2 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldc_I4_3 = new OpCode (
- 0xff, 0x19,
- Code.Ldc_I4_3, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xff << 0 | 0x19 << 8 | (byte) Code.Ldc_I4_3 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldc_I4_4 = new OpCode (
- 0xff, 0x1a,
- Code.Ldc_I4_4, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xff << 0 | 0x1a << 8 | (byte) Code.Ldc_I4_4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldc_I4_5 = new OpCode (
- 0xff, 0x1b,
- Code.Ldc_I4_5, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xff << 0 | 0x1b << 8 | (byte) Code.Ldc_I4_5 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldc_I4_6 = new OpCode (
- 0xff, 0x1c,
- Code.Ldc_I4_6, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xff << 0 | 0x1c << 8 | (byte) Code.Ldc_I4_6 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldc_I4_7 = new OpCode (
- 0xff, 0x1d,
- Code.Ldc_I4_7, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xff << 0 | 0x1d << 8 | (byte) Code.Ldc_I4_7 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldc_I4_8 = new OpCode (
- 0xff, 0x1e,
- Code.Ldc_I4_8, FlowControl.Next,
- OpCodeType.Macro, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xff << 0 | 0x1e << 8 | (byte) Code.Ldc_I4_8 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldc_I4_S = new OpCode (
- 0xff, 0x1f,
- Code.Ldc_I4_S, FlowControl.Next,
- OpCodeType.Macro, OperandType.ShortInlineI,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xff << 0 | 0x1f << 8 | (byte) Code.Ldc_I4_S << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineI << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldc_I4 = new OpCode (
- 0xff, 0x20,
- Code.Ldc_I4, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineI,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xff << 0 | 0x20 << 8 | (byte) Code.Ldc_I4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineI << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldc_I8 = new OpCode (
- 0xff, 0x21,
- Code.Ldc_I8, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineI8,
- StackBehaviour.Pop0, StackBehaviour.Pushi8);
+ 0xff << 0 | 0x21 << 8 | (byte) Code.Ldc_I8 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineI8 << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi8 << 24);
public static readonly OpCode Ldc_R4 = new OpCode (
- 0xff, 0x22,
- Code.Ldc_R4, FlowControl.Next,
- OpCodeType.Primitive, OperandType.ShortInlineR,
- StackBehaviour.Pop0, StackBehaviour.Pushr4);
+ 0xff << 0 | 0x22 << 8 | (byte) Code.Ldc_R4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.ShortInlineR << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushr4 << 24);
public static readonly OpCode Ldc_R8 = new OpCode (
- 0xff, 0x23,
- Code.Ldc_R8, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineR,
- StackBehaviour.Pop0, StackBehaviour.Pushr8);
+ 0xff << 0 | 0x23 << 8 | (byte) Code.Ldc_R8 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineR << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushr8 << 24);
public static readonly OpCode Dup = new OpCode (
- 0xff, 0x25,
- Code.Dup, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Push1_push1);
+ 0xff << 0 | 0x25 << 8 | (byte) Code.Dup << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push1_push1 << 24);
public static readonly OpCode Pop = new OpCode (
- 0xff, 0x26,
- Code.Pop, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x26 << 8 | (byte) Code.Pop << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Jmp = new OpCode (
- 0xff, 0x27,
- Code.Jmp, FlowControl.Call,
- OpCodeType.Primitive, OperandType.InlineMethod,
- StackBehaviour.Pop0, StackBehaviour.Push0);
+ 0xff << 0 | 0x27 << 8 | (byte) Code.Jmp << 16 | (byte) FlowControl.Call << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineMethod << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Call = new OpCode (
- 0xff, 0x28,
- Code.Call, FlowControl.Call,
- OpCodeType.Primitive, OperandType.InlineMethod,
- StackBehaviour.Varpop, StackBehaviour.Varpush);
+ 0xff << 0 | 0x28 << 8 | (byte) Code.Call << 16 | (byte) FlowControl.Call << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineMethod << 8 | (byte) StackBehaviour.Varpop << 16 | (byte) StackBehaviour.Varpush << 24);
public static readonly OpCode Calli = new OpCode (
- 0xff, 0x29,
- Code.Calli, FlowControl.Call,
- OpCodeType.Primitive, OperandType.InlineSig,
- StackBehaviour.Varpop, StackBehaviour.Varpush);
+ 0xff << 0 | 0x29 << 8 | (byte) Code.Calli << 16 | (byte) FlowControl.Call << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineSig << 8 | (byte) StackBehaviour.Varpop << 16 | (byte) StackBehaviour.Varpush << 24);
public static readonly OpCode Ret = new OpCode (
- 0xff, 0x2a,
- Code.Ret, FlowControl.Return,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Varpop, StackBehaviour.Push0);
+ 0xff << 0 | 0x2a << 8 | (byte) Code.Ret << 16 | (byte) FlowControl.Return << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Varpop << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Br_S = new OpCode (
- 0xff, 0x2b,
- Code.Br_S, FlowControl.Branch,
- OpCodeType.Macro, OperandType.ShortInlineBrTarget,
- StackBehaviour.Pop0, StackBehaviour.Push0);
+ 0xff << 0 | 0x2b << 8 | (byte) Code.Br_S << 16 | (byte) FlowControl.Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Brfalse_S = new OpCode (
- 0xff, 0x2c,
- Code.Brfalse_S, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.ShortInlineBrTarget,
- StackBehaviour.Popi, StackBehaviour.Push0);
+ 0xff << 0 | 0x2c << 8 | (byte) Code.Brfalse_S << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Brtrue_S = new OpCode (
- 0xff, 0x2d,
- Code.Brtrue_S, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.ShortInlineBrTarget,
- StackBehaviour.Popi, StackBehaviour.Push0);
+ 0xff << 0 | 0x2d << 8 | (byte) Code.Brtrue_S << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Beq_S = new OpCode (
- 0xff, 0x2e,
- Code.Beq_S, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.ShortInlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x2e << 8 | (byte) Code.Beq_S << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Bge_S = new OpCode (
- 0xff, 0x2f,
- Code.Bge_S, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.ShortInlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x2f << 8 | (byte) Code.Bge_S << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Bgt_S = new OpCode (
- 0xff, 0x30,
- Code.Bgt_S, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.ShortInlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x30 << 8 | (byte) Code.Bgt_S << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Ble_S = new OpCode (
- 0xff, 0x31,
- Code.Ble_S, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.ShortInlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x31 << 8 | (byte) Code.Ble_S << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Blt_S = new OpCode (
- 0xff, 0x32,
- Code.Blt_S, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.ShortInlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x32 << 8 | (byte) Code.Blt_S << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Bne_Un_S = new OpCode (
- 0xff, 0x33,
- Code.Bne_Un_S, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.ShortInlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x33 << 8 | (byte) Code.Bne_Un_S << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Bge_Un_S = new OpCode (
- 0xff, 0x34,
- Code.Bge_Un_S, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.ShortInlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x34 << 8 | (byte) Code.Bge_Un_S << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Bgt_Un_S = new OpCode (
- 0xff, 0x35,
- Code.Bgt_Un_S, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.ShortInlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x35 << 8 | (byte) Code.Bgt_Un_S << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Ble_Un_S = new OpCode (
- 0xff, 0x36,
- Code.Ble_Un_S, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.ShortInlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x36 << 8 | (byte) Code.Ble_Un_S << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Blt_Un_S = new OpCode (
- 0xff, 0x37,
- Code.Blt_Un_S, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.ShortInlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x37 << 8 | (byte) Code.Blt_Un_S << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Br = new OpCode (
- 0xff, 0x38,
- Code.Br, FlowControl.Branch,
- OpCodeType.Primitive, OperandType.InlineBrTarget,
- StackBehaviour.Pop0, StackBehaviour.Push0);
+ 0xff << 0 | 0x38 << 8 | (byte) Code.Br << 16 | (byte) FlowControl.Branch << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Brfalse = new OpCode (
- 0xff, 0x39,
- Code.Brfalse, FlowControl.Cond_Branch,
- OpCodeType.Primitive, OperandType.InlineBrTarget,
- StackBehaviour.Popi, StackBehaviour.Push0);
+ 0xff << 0 | 0x39 << 8 | (byte) Code.Brfalse << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Brtrue = new OpCode (
- 0xff, 0x3a,
- Code.Brtrue, FlowControl.Cond_Branch,
- OpCodeType.Primitive, OperandType.InlineBrTarget,
- StackBehaviour.Popi, StackBehaviour.Push0);
+ 0xff << 0 | 0x3a << 8 | (byte) Code.Brtrue << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Beq = new OpCode (
- 0xff, 0x3b,
- Code.Beq, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.InlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x3b << 8 | (byte) Code.Beq << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Bge = new OpCode (
- 0xff, 0x3c,
- Code.Bge, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.InlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x3c << 8 | (byte) Code.Bge << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Bgt = new OpCode (
- 0xff, 0x3d,
- Code.Bgt, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.InlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x3d << 8 | (byte) Code.Bgt << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Ble = new OpCode (
- 0xff, 0x3e,
- Code.Ble, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.InlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x3e << 8 | (byte) Code.Ble << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Blt = new OpCode (
- 0xff, 0x3f,
- Code.Blt, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.InlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x3f << 8 | (byte) Code.Blt << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Bne_Un = new OpCode (
- 0xff, 0x40,
- Code.Bne_Un, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.InlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x40 << 8 | (byte) Code.Bne_Un << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Bge_Un = new OpCode (
- 0xff, 0x41,
- Code.Bge_Un, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.InlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x41 << 8 | (byte) Code.Bge_Un << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Bgt_Un = new OpCode (
- 0xff, 0x42,
- Code.Bgt_Un, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.InlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x42 << 8 | (byte) Code.Bgt_Un << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Ble_Un = new OpCode (
- 0xff, 0x43,
- Code.Ble_Un, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.InlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x43 << 8 | (byte) Code.Ble_Un << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Blt_Un = new OpCode (
- 0xff, 0x44,
- Code.Blt_Un, FlowControl.Cond_Branch,
- OpCodeType.Macro, OperandType.InlineBrTarget,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x44 << 8 | (byte) Code.Blt_Un << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Switch = new OpCode (
- 0xff, 0x45,
- Code.Switch, FlowControl.Cond_Branch,
- OpCodeType.Primitive, OperandType.InlineSwitch,
- StackBehaviour.Popi, StackBehaviour.Push0);
+ 0xff << 0 | 0x45 << 8 | (byte) Code.Switch << 16 | (byte) FlowControl.Cond_Branch << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineSwitch << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Ldind_I1 = new OpCode (
- 0xff, 0x46,
- Code.Ldind_I1, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi, StackBehaviour.Pushi);
+ 0xff << 0 | 0x46 << 8 | (byte) Code.Ldind_I1 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldind_U1 = new OpCode (
- 0xff, 0x47,
- Code.Ldind_U1, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi, StackBehaviour.Pushi);
+ 0xff << 0 | 0x47 << 8 | (byte) Code.Ldind_U1 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldind_I2 = new OpCode (
- 0xff, 0x48,
- Code.Ldind_I2, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi, StackBehaviour.Pushi);
+ 0xff << 0 | 0x48 << 8 | (byte) Code.Ldind_I2 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldind_U2 = new OpCode (
- 0xff, 0x49,
- Code.Ldind_U2, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi, StackBehaviour.Pushi);
+ 0xff << 0 | 0x49 << 8 | (byte) Code.Ldind_U2 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldind_I4 = new OpCode (
- 0xff, 0x4a,
- Code.Ldind_I4, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi, StackBehaviour.Pushi);
+ 0xff << 0 | 0x4a << 8 | (byte) Code.Ldind_I4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldind_U4 = new OpCode (
- 0xff, 0x4b,
- Code.Ldind_U4, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi, StackBehaviour.Pushi);
+ 0xff << 0 | 0x4b << 8 | (byte) Code.Ldind_U4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldind_I8 = new OpCode (
- 0xff, 0x4c,
- Code.Ldind_I8, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi, StackBehaviour.Pushi8);
+ 0xff << 0 | 0x4c << 8 | (byte) Code.Ldind_I8 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi8 << 24);
public static readonly OpCode Ldind_I = new OpCode (
- 0xff, 0x4d,
- Code.Ldind_I, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi, StackBehaviour.Pushi);
+ 0xff << 0 | 0x4d << 8 | (byte) Code.Ldind_I << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldind_R4 = new OpCode (
- 0xff, 0x4e,
- Code.Ldind_R4, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi, StackBehaviour.Pushr4);
+ 0xff << 0 | 0x4e << 8 | (byte) Code.Ldind_R4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushr4 << 24);
public static readonly OpCode Ldind_R8 = new OpCode (
- 0xff, 0x4f,
- Code.Ldind_R8, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi, StackBehaviour.Pushr8);
+ 0xff << 0 | 0x4f << 8 | (byte) Code.Ldind_R8 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushr8 << 24);
public static readonly OpCode Ldind_Ref = new OpCode (
- 0xff, 0x50,
- Code.Ldind_Ref, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi, StackBehaviour.Pushref);
+ 0xff << 0 | 0x50 << 8 | (byte) Code.Ldind_Ref << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushref << 24);
public static readonly OpCode Stind_Ref = new OpCode (
- 0xff, 0x51,
- Code.Stind_Ref, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi_popi, StackBehaviour.Push0);
+ 0xff << 0 | 0x51 << 8 | (byte) Code.Stind_Ref << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stind_I1 = new OpCode (
- 0xff, 0x52,
- Code.Stind_I1, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi_popi, StackBehaviour.Push0);
+ 0xff << 0 | 0x52 << 8 | (byte) Code.Stind_I1 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stind_I2 = new OpCode (
- 0xff, 0x53,
- Code.Stind_I2, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi_popi, StackBehaviour.Push0);
+ 0xff << 0 | 0x53 << 8 | (byte) Code.Stind_I2 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stind_I4 = new OpCode (
- 0xff, 0x54,
- Code.Stind_I4, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi_popi, StackBehaviour.Push0);
+ 0xff << 0 | 0x54 << 8 | (byte) Code.Stind_I4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stind_I8 = new OpCode (
- 0xff, 0x55,
- Code.Stind_I8, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi_popi8, StackBehaviour.Push0);
+ 0xff << 0 | 0x55 << 8 | (byte) Code.Stind_I8 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popi8 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stind_R4 = new OpCode (
- 0xff, 0x56,
- Code.Stind_R4, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi_popr4, StackBehaviour.Push0);
+ 0xff << 0 | 0x56 << 8 | (byte) Code.Stind_R4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popr4 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stind_R8 = new OpCode (
- 0xff, 0x57,
- Code.Stind_R8, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi_popr8, StackBehaviour.Push0);
+ 0xff << 0 | 0x57 << 8 | (byte) Code.Stind_R8 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popr8 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Add = new OpCode (
- 0xff, 0x58,
- Code.Add, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0x58 << 8 | (byte) Code.Add << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Sub = new OpCode (
- 0xff, 0x59,
- Code.Sub, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0x59 << 8 | (byte) Code.Sub << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Mul = new OpCode (
- 0xff, 0x5a,
- Code.Mul, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0x5a << 8 | (byte) Code.Mul << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Div = new OpCode (
- 0xff, 0x5b,
- Code.Div, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0x5b << 8 | (byte) Code.Div << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Div_Un = new OpCode (
- 0xff, 0x5c,
- Code.Div_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0x5c << 8 | (byte) Code.Div_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Rem = new OpCode (
- 0xff, 0x5d,
- Code.Rem, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0x5d << 8 | (byte) Code.Rem << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Rem_Un = new OpCode (
- 0xff, 0x5e,
- Code.Rem_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0x5e << 8 | (byte) Code.Rem_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode And = new OpCode (
- 0xff, 0x5f,
- Code.And, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0x5f << 8 | (byte) Code.And << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Or = new OpCode (
- 0xff, 0x60,
- Code.Or, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0x60 << 8 | (byte) Code.Or << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Xor = new OpCode (
- 0xff, 0x61,
- Code.Xor, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0x61 << 8 | (byte) Code.Xor << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Shl = new OpCode (
- 0xff, 0x62,
- Code.Shl, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0x62 << 8 | (byte) Code.Shl << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Shr = new OpCode (
- 0xff, 0x63,
- Code.Shr, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0x63 << 8 | (byte) Code.Shr << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Shr_Un = new OpCode (
- 0xff, 0x64,
- Code.Shr_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0x64 << 8 | (byte) Code.Shr_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Neg = new OpCode (
- 0xff, 0x65,
- Code.Neg, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0x65 << 8 | (byte) Code.Neg << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Not = new OpCode (
- 0xff, 0x66,
- Code.Not, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0x66 << 8 | (byte) Code.Not << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Conv_I1 = new OpCode (
- 0xff, 0x67,
- Code.Conv_I1, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0x67 << 8 | (byte) Code.Conv_I1 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_I2 = new OpCode (
- 0xff, 0x68,
- Code.Conv_I2, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0x68 << 8 | (byte) Code.Conv_I2 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_I4 = new OpCode (
- 0xff, 0x69,
- Code.Conv_I4, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0x69 << 8 | (byte) Code.Conv_I4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_I8 = new OpCode (
- 0xff, 0x6a,
- Code.Conv_I8, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi8);
+ 0xff << 0 | 0x6a << 8 | (byte) Code.Conv_I8 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi8 << 24);
public static readonly OpCode Conv_R4 = new OpCode (
- 0xff, 0x6b,
- Code.Conv_R4, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushr4);
+ 0xff << 0 | 0x6b << 8 | (byte) Code.Conv_R4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushr4 << 24);
public static readonly OpCode Conv_R8 = new OpCode (
- 0xff, 0x6c,
- Code.Conv_R8, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushr8);
+ 0xff << 0 | 0x6c << 8 | (byte) Code.Conv_R8 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushr8 << 24);
public static readonly OpCode Conv_U4 = new OpCode (
- 0xff, 0x6d,
- Code.Conv_U4, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0x6d << 8 | (byte) Code.Conv_U4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_U8 = new OpCode (
- 0xff, 0x6e,
- Code.Conv_U8, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi8);
+ 0xff << 0 | 0x6e << 8 | (byte) Code.Conv_U8 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi8 << 24);
public static readonly OpCode Callvirt = new OpCode (
- 0xff, 0x6f,
- Code.Callvirt, FlowControl.Call,
- OpCodeType.Objmodel, OperandType.InlineMethod,
- StackBehaviour.Varpop, StackBehaviour.Varpush);
+ 0xff << 0 | 0x6f << 8 | (byte) Code.Callvirt << 16 | (byte) FlowControl.Call << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineMethod << 8 | (byte) StackBehaviour.Varpop << 16 | (byte) StackBehaviour.Varpush << 24);
public static readonly OpCode Cpobj = new OpCode (
- 0xff, 0x70,
- Code.Cpobj, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineType,
- StackBehaviour.Popi_popi, StackBehaviour.Push0);
+ 0xff << 0 | 0x70 << 8 | (byte) Code.Cpobj << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Ldobj = new OpCode (
- 0xff, 0x71,
- Code.Ldobj, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineType,
- StackBehaviour.Popi, StackBehaviour.Push1);
+ 0xff << 0 | 0x71 << 8 | (byte) Code.Ldobj << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Ldstr = new OpCode (
- 0xff, 0x72,
- Code.Ldstr, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineString,
- StackBehaviour.Pop0, StackBehaviour.Pushref);
+ 0xff << 0 | 0x72 << 8 | (byte) Code.Ldstr << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineString << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushref << 24);
public static readonly OpCode Newobj = new OpCode (
- 0xff, 0x73,
- Code.Newobj, FlowControl.Call,
- OpCodeType.Objmodel, OperandType.InlineMethod,
- StackBehaviour.Varpop, StackBehaviour.Pushref);
+ 0xff << 0 | 0x73 << 8 | (byte) Code.Newobj << 16 | (byte) FlowControl.Call << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineMethod << 8 | (byte) StackBehaviour.Varpop << 16 | (byte) StackBehaviour.Pushref << 24);
public static readonly OpCode Castclass = new OpCode (
- 0xff, 0x74,
- Code.Castclass, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineType,
- StackBehaviour.Popref, StackBehaviour.Pushref);
+ 0xff << 0 | 0x74 << 8 | (byte) Code.Castclass << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Pushref << 24);
public static readonly OpCode Isinst = new OpCode (
- 0xff, 0x75,
- Code.Isinst, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineType,
- StackBehaviour.Popref, StackBehaviour.Pushi);
+ 0xff << 0 | 0x75 << 8 | (byte) Code.Isinst << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_R_Un = new OpCode (
- 0xff, 0x76,
- Code.Conv_R_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushr8);
+ 0xff << 0 | 0x76 << 8 | (byte) Code.Conv_R_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushr8 << 24);
public static readonly OpCode Unbox = new OpCode (
- 0xff, 0x79,
- Code.Unbox, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineType,
- StackBehaviour.Popref, StackBehaviour.Pushi);
+ 0xff << 0 | 0x79 << 8 | (byte) Code.Unbox << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Throw = new OpCode (
- 0xff, 0x7a,
- Code.Throw, FlowControl.Throw,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref, StackBehaviour.Push0);
+ 0xff << 0 | 0x7a << 8 | (byte) Code.Throw << 16 | (byte) FlowControl.Throw << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Ldfld = new OpCode (
- 0xff, 0x7b,
- Code.Ldfld, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineField,
- StackBehaviour.Popref, StackBehaviour.Push1);
+ 0xff << 0 | 0x7b << 8 | (byte) Code.Ldfld << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineField << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Ldflda = new OpCode (
- 0xff, 0x7c,
- Code.Ldflda, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineField,
- StackBehaviour.Popref, StackBehaviour.Pushi);
+ 0xff << 0 | 0x7c << 8 | (byte) Code.Ldflda << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineField << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Stfld = new OpCode (
- 0xff, 0x7d,
- Code.Stfld, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineField,
- StackBehaviour.Popref_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x7d << 8 | (byte) Code.Stfld << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineField << 8 | (byte) StackBehaviour.Popref_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Ldsfld = new OpCode (
- 0xff, 0x7e,
- Code.Ldsfld, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineField,
- StackBehaviour.Pop0, StackBehaviour.Push1);
+ 0xff << 0 | 0x7e << 8 | (byte) Code.Ldsfld << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineField << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Ldsflda = new OpCode (
- 0xff, 0x7f,
- Code.Ldsflda, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineField,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xff << 0 | 0x7f << 8 | (byte) Code.Ldsflda << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineField << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Stsfld = new OpCode (
- 0xff, 0x80,
- Code.Stsfld, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineField,
- StackBehaviour.Pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x80 << 8 | (byte) Code.Stsfld << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineField << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stobj = new OpCode (
- 0xff, 0x81,
- Code.Stobj, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineType,
- StackBehaviour.Popi_pop1, StackBehaviour.Push0);
+ 0xff << 0 | 0x81 << 8 | (byte) Code.Stobj << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popi_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Conv_Ovf_I1_Un = new OpCode (
- 0xff, 0x82,
- Code.Conv_Ovf_I1_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0x82 << 8 | (byte) Code.Conv_Ovf_I1_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_Ovf_I2_Un = new OpCode (
- 0xff, 0x83,
- Code.Conv_Ovf_I2_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0x83 << 8 | (byte) Code.Conv_Ovf_I2_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_Ovf_I4_Un = new OpCode (
- 0xff, 0x84,
- Code.Conv_Ovf_I4_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0x84 << 8 | (byte) Code.Conv_Ovf_I4_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_Ovf_I8_Un = new OpCode (
- 0xff, 0x85,
- Code.Conv_Ovf_I8_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi8);
+ 0xff << 0 | 0x85 << 8 | (byte) Code.Conv_Ovf_I8_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi8 << 24);
public static readonly OpCode Conv_Ovf_U1_Un = new OpCode (
- 0xff, 0x86,
- Code.Conv_Ovf_U1_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0x86 << 8 | (byte) Code.Conv_Ovf_U1_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_Ovf_U2_Un = new OpCode (
- 0xff, 0x87,
- Code.Conv_Ovf_U2_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0x87 << 8 | (byte) Code.Conv_Ovf_U2_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_Ovf_U4_Un = new OpCode (
- 0xff, 0x88,
- Code.Conv_Ovf_U4_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0x88 << 8 | (byte) Code.Conv_Ovf_U4_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_Ovf_U8_Un = new OpCode (
- 0xff, 0x89,
- Code.Conv_Ovf_U8_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi8);
+ 0xff << 0 | 0x89 << 8 | (byte) Code.Conv_Ovf_U8_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi8 << 24);
public static readonly OpCode Conv_Ovf_I_Un = new OpCode (
- 0xff, 0x8a,
- Code.Conv_Ovf_I_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0x8a << 8 | (byte) Code.Conv_Ovf_I_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_Ovf_U_Un = new OpCode (
- 0xff, 0x8b,
- Code.Conv_Ovf_U_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0x8b << 8 | (byte) Code.Conv_Ovf_U_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Box = new OpCode (
- 0xff, 0x8c,
- Code.Box, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineType,
- StackBehaviour.Pop1, StackBehaviour.Pushref);
+ 0xff << 0 | 0x8c << 8 | (byte) Code.Box << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushref << 24);
public static readonly OpCode Newarr = new OpCode (
- 0xff, 0x8d,
- Code.Newarr, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineType,
- StackBehaviour.Popi, StackBehaviour.Pushref);
+ 0xff << 0 | 0x8d << 8 | (byte) Code.Newarr << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushref << 24);
public static readonly OpCode Ldlen = new OpCode (
- 0xff, 0x8e,
- Code.Ldlen, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref, StackBehaviour.Pushi);
+ 0xff << 0 | 0x8e << 8 | (byte) Code.Ldlen << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldelema = new OpCode (
- 0xff, 0x8f,
- Code.Ldelema, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineType,
- StackBehaviour.Popref_popi, StackBehaviour.Pushi);
+ 0xff << 0 | 0x8f << 8 | (byte) Code.Ldelema << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldelem_I1 = new OpCode (
- 0xff, 0x90,
- Code.Ldelem_I1, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi, StackBehaviour.Pushi);
+ 0xff << 0 | 0x90 << 8 | (byte) Code.Ldelem_I1 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldelem_U1 = new OpCode (
- 0xff, 0x91,
- Code.Ldelem_U1, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi, StackBehaviour.Pushi);
+ 0xff << 0 | 0x91 << 8 | (byte) Code.Ldelem_U1 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldelem_I2 = new OpCode (
- 0xff, 0x92,
- Code.Ldelem_I2, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi, StackBehaviour.Pushi);
+ 0xff << 0 | 0x92 << 8 | (byte) Code.Ldelem_I2 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldelem_U2 = new OpCode (
- 0xff, 0x93,
- Code.Ldelem_U2, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi, StackBehaviour.Pushi);
+ 0xff << 0 | 0x93 << 8 | (byte) Code.Ldelem_U2 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldelem_I4 = new OpCode (
- 0xff, 0x94,
- Code.Ldelem_I4, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi, StackBehaviour.Pushi);
+ 0xff << 0 | 0x94 << 8 | (byte) Code.Ldelem_I4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldelem_U4 = new OpCode (
- 0xff, 0x95,
- Code.Ldelem_U4, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi, StackBehaviour.Pushi);
+ 0xff << 0 | 0x95 << 8 | (byte) Code.Ldelem_U4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldelem_I8 = new OpCode (
- 0xff, 0x96,
- Code.Ldelem_I8, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi, StackBehaviour.Pushi8);
+ 0xff << 0 | 0x96 << 8 | (byte) Code.Ldelem_I8 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi8 << 24);
public static readonly OpCode Ldelem_I = new OpCode (
- 0xff, 0x97,
- Code.Ldelem_I, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi, StackBehaviour.Pushi);
+ 0xff << 0 | 0x97 << 8 | (byte) Code.Ldelem_I << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldelem_R4 = new OpCode (
- 0xff, 0x98,
- Code.Ldelem_R4, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi, StackBehaviour.Pushr4);
+ 0xff << 0 | 0x98 << 8 | (byte) Code.Ldelem_R4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushr4 << 24);
public static readonly OpCode Ldelem_R8 = new OpCode (
- 0xff, 0x99,
- Code.Ldelem_R8, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi, StackBehaviour.Pushr8);
+ 0xff << 0 | 0x99 << 8 | (byte) Code.Ldelem_R8 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushr8 << 24);
public static readonly OpCode Ldelem_Ref = new OpCode (
- 0xff, 0x9a,
- Code.Ldelem_Ref, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi, StackBehaviour.Pushref);
+ 0xff << 0 | 0x9a << 8 | (byte) Code.Ldelem_Ref << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushref << 24);
public static readonly OpCode Stelem_I = new OpCode (
- 0xff, 0x9b,
- Code.Stelem_I, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi_popi, StackBehaviour.Push0);
+ 0xff << 0 | 0x9b << 8 | (byte) Code.Stelem_I << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stelem_I1 = new OpCode (
- 0xff, 0x9c,
- Code.Stelem_I1, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi_popi, StackBehaviour.Push0);
+ 0xff << 0 | 0x9c << 8 | (byte) Code.Stelem_I1 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stelem_I2 = new OpCode (
- 0xff, 0x9d,
- Code.Stelem_I2, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi_popi, StackBehaviour.Push0);
+ 0xff << 0 | 0x9d << 8 | (byte) Code.Stelem_I2 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stelem_I4 = new OpCode (
- 0xff, 0x9e,
- Code.Stelem_I4, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi_popi, StackBehaviour.Push0);
+ 0xff << 0 | 0x9e << 8 | (byte) Code.Stelem_I4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stelem_I8 = new OpCode (
- 0xff, 0x9f,
- Code.Stelem_I8, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi_popi8, StackBehaviour.Push0);
+ 0xff << 0 | 0x9f << 8 | (byte) Code.Stelem_I8 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi_popi8 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stelem_R4 = new OpCode (
- 0xff, 0xa0,
- Code.Stelem_R4, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi_popr4, StackBehaviour.Push0);
+ 0xff << 0 | 0xa0 << 8 | (byte) Code.Stelem_R4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi_popr4 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stelem_R8 = new OpCode (
- 0xff, 0xa1,
- Code.Stelem_R8, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi_popr8, StackBehaviour.Push0);
+ 0xff << 0 | 0xa1 << 8 | (byte) Code.Stelem_R8 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi_popr8 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stelem_Ref = new OpCode (
- 0xff, 0xa2,
- Code.Stelem_Ref, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Popref_popi_popref, StackBehaviour.Push0);
+ 0xff << 0 | 0xa2 << 8 | (byte) Code.Stelem_Ref << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi_popref << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Ldelem_Any = new OpCode (
- 0xff, 0xa3,
- Code.Ldelem_Any, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineType,
- StackBehaviour.Popref_popi, StackBehaviour.Push1);
+ 0xff << 0 | 0xa3 << 8 | (byte) Code.Ldelem_Any << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Stelem_Any = new OpCode (
- 0xff, 0xa4,
- Code.Stelem_Any, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineType,
- StackBehaviour.Popref_popi_popref, StackBehaviour.Push0);
+ 0xff << 0 | 0xa4 << 8 | (byte) Code.Stelem_Any << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popref_popi_popref << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Unbox_Any = new OpCode (
- 0xff, 0xa5,
- Code.Unbox_Any, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineType,
- StackBehaviour.Popref, StackBehaviour.Push1);
+ 0xff << 0 | 0xa5 << 8 | (byte) Code.Unbox_Any << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Conv_Ovf_I1 = new OpCode (
- 0xff, 0xb3,
- Code.Conv_Ovf_I1, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0xb3 << 8 | (byte) Code.Conv_Ovf_I1 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_Ovf_U1 = new OpCode (
- 0xff, 0xb4,
- Code.Conv_Ovf_U1, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0xb4 << 8 | (byte) Code.Conv_Ovf_U1 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_Ovf_I2 = new OpCode (
- 0xff, 0xb5,
- Code.Conv_Ovf_I2, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0xb5 << 8 | (byte) Code.Conv_Ovf_I2 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_Ovf_U2 = new OpCode (
- 0xff, 0xb6,
- Code.Conv_Ovf_U2, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0xb6 << 8 | (byte) Code.Conv_Ovf_U2 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_Ovf_I4 = new OpCode (
- 0xff, 0xb7,
- Code.Conv_Ovf_I4, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0xb7 << 8 | (byte) Code.Conv_Ovf_I4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_Ovf_U4 = new OpCode (
- 0xff, 0xb8,
- Code.Conv_Ovf_U4, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0xb8 << 8 | (byte) Code.Conv_Ovf_U4 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_Ovf_I8 = new OpCode (
- 0xff, 0xb9,
- Code.Conv_Ovf_I8, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi8);
+ 0xff << 0 | 0xb9 << 8 | (byte) Code.Conv_Ovf_I8 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi8 << 24);
public static readonly OpCode Conv_Ovf_U8 = new OpCode (
- 0xff, 0xba,
- Code.Conv_Ovf_U8, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi8);
+ 0xff << 0 | 0xba << 8 | (byte) Code.Conv_Ovf_U8 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi8 << 24);
public static readonly OpCode Refanyval = new OpCode (
- 0xff, 0xc2,
- Code.Refanyval, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineType,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0xc2 << 8 | (byte) Code.Refanyval << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ckfinite = new OpCode (
- 0xff, 0xc3,
- Code.Ckfinite, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushr8);
+ 0xff << 0 | 0xc3 << 8 | (byte) Code.Ckfinite << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushr8 << 24);
public static readonly OpCode Mkrefany = new OpCode (
- 0xff, 0xc6,
- Code.Mkrefany, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineType,
- StackBehaviour.Popi, StackBehaviour.Push1);
+ 0xff << 0 | 0xc6 << 8 | (byte) Code.Mkrefany << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Ldtoken = new OpCode (
- 0xff, 0xd0,
- Code.Ldtoken, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineTok,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xff << 0 | 0xd0 << 8 | (byte) Code.Ldtoken << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineTok << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_U2 = new OpCode (
- 0xff, 0xd1,
- Code.Conv_U2, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0xd1 << 8 | (byte) Code.Conv_U2 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_U1 = new OpCode (
- 0xff, 0xd2,
- Code.Conv_U1, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0xd2 << 8 | (byte) Code.Conv_U1 << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_I = new OpCode (
- 0xff, 0xd3,
- Code.Conv_I, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0xd3 << 8 | (byte) Code.Conv_I << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_Ovf_I = new OpCode (
- 0xff, 0xd4,
- Code.Conv_Ovf_I, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0xd4 << 8 | (byte) Code.Conv_Ovf_I << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Conv_Ovf_U = new OpCode (
- 0xff, 0xd5,
- Code.Conv_Ovf_U, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0xd5 << 8 | (byte) Code.Conv_Ovf_U << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Add_Ovf = new OpCode (
- 0xff, 0xd6,
- Code.Add_Ovf, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0xd6 << 8 | (byte) Code.Add_Ovf << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Add_Ovf_Un = new OpCode (
- 0xff, 0xd7,
- Code.Add_Ovf_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0xd7 << 8 | (byte) Code.Add_Ovf_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Mul_Ovf = new OpCode (
- 0xff, 0xd8,
- Code.Mul_Ovf, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0xd8 << 8 | (byte) Code.Mul_Ovf << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Mul_Ovf_Un = new OpCode (
- 0xff, 0xd9,
- Code.Mul_Ovf_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0xd9 << 8 | (byte) Code.Mul_Ovf_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Sub_Ovf = new OpCode (
- 0xff, 0xda,
- Code.Sub_Ovf, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0xda << 8 | (byte) Code.Sub_Ovf << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Sub_Ovf_Un = new OpCode (
- 0xff, 0xdb,
- Code.Sub_Ovf_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+ 0xff << 0 | 0xdb << 8 | (byte) Code.Sub_Ovf_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Endfinally = new OpCode (
- 0xff, 0xdc,
- Code.Endfinally, FlowControl.Return,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Push0);
+ 0xff << 0 | 0xdc << 8 | (byte) Code.Endfinally << 16 | (byte) FlowControl.Return << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Leave = new OpCode (
- 0xff, 0xdd,
- Code.Leave, FlowControl.Branch,
- OpCodeType.Primitive, OperandType.InlineBrTarget,
- StackBehaviour.PopAll, StackBehaviour.Push0);
+ 0xff << 0 | 0xdd << 8 | (byte) Code.Leave << 16 | (byte) FlowControl.Branch << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.PopAll << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Leave_S = new OpCode (
- 0xff, 0xde,
- Code.Leave_S, FlowControl.Branch,
- OpCodeType.Macro, OperandType.ShortInlineBrTarget,
- StackBehaviour.PopAll, StackBehaviour.Push0);
+ 0xff << 0 | 0xde << 8 | (byte) Code.Leave_S << 16 | (byte) FlowControl.Branch << 24,
+ (byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.PopAll << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Stind_I = new OpCode (
- 0xff, 0xdf,
- Code.Stind_I, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi_popi, StackBehaviour.Push0);
+ 0xff << 0 | 0xdf << 8 | (byte) Code.Stind_I << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Conv_U = new OpCode (
- 0xff, 0xe0,
- Code.Conv_U, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xff << 0 | 0xe0 << 8 | (byte) Code.Conv_U << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Arglist = new OpCode (
- 0xfe, 0x00,
- Code.Arglist, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xfe << 0 | 0x00 << 8 | (byte) Code.Arglist << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ceq = new OpCode (
- 0xfe, 0x01,
- Code.Ceq, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Pushi);
+ 0xfe << 0 | 0x01 << 8 | (byte) Code.Ceq << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Cgt = new OpCode (
- 0xfe, 0x02,
- Code.Cgt, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Pushi);
+ 0xfe << 0 | 0x02 << 8 | (byte) Code.Cgt << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Cgt_Un = new OpCode (
- 0xfe, 0x03,
- Code.Cgt_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Pushi);
+ 0xfe << 0 | 0x03 << 8 | (byte) Code.Cgt_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Clt = new OpCode (
- 0xfe, 0x04,
- Code.Clt, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Pushi);
+ 0xfe << 0 | 0x04 << 8 | (byte) Code.Clt << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Clt_Un = new OpCode (
- 0xfe, 0x05,
- Code.Clt_Un, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1_pop1, StackBehaviour.Pushi);
+ 0xfe << 0 | 0x05 << 8 | (byte) Code.Clt_Un << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldftn = new OpCode (
- 0xfe, 0x06,
- Code.Ldftn, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineMethod,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xfe << 0 | 0x06 << 8 | (byte) Code.Ldftn << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineMethod << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldvirtftn = new OpCode (
- 0xfe, 0x07,
- Code.Ldvirtftn, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineMethod,
- StackBehaviour.Popref, StackBehaviour.Pushi);
+ 0xfe << 0 | 0x07 << 8 | (byte) Code.Ldvirtftn << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineMethod << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Ldarg = new OpCode (
- 0xfe, 0x09,
- Code.Ldarg, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineParam,
- StackBehaviour.Pop0, StackBehaviour.Push1);
+ 0xfe << 0 | 0x09 << 8 | (byte) Code.Ldarg << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineArg << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Ldarga = new OpCode (
- 0xfe, 0x0a,
- Code.Ldarga, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineParam,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xfe << 0 | 0x0a << 8 | (byte) Code.Ldarga << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineArg << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Starg = new OpCode (
- 0xfe, 0x0b,
- Code.Starg, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineParam,
- StackBehaviour.Pop1, StackBehaviour.Push0);
+ 0xfe << 0 | 0x0b << 8 | (byte) Code.Starg << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineArg << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Ldloc = new OpCode (
- 0xfe, 0x0c,
- Code.Ldloc, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineVar,
- StackBehaviour.Pop0, StackBehaviour.Push1);
+ 0xfe << 0 | 0x0c << 8 | (byte) Code.Ldloc << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineVar << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);
public static readonly OpCode Ldloca = new OpCode (
- 0xfe, 0x0d,
- Code.Ldloca, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineVar,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xfe << 0 | 0x0d << 8 | (byte) Code.Ldloca << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineVar << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Stloc = new OpCode (
- 0xfe, 0x0e,
- Code.Stloc, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineVar,
- StackBehaviour.Pop1, StackBehaviour.Push0);
+ 0xfe << 0 | 0x0e << 8 | (byte) Code.Stloc << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineVar << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Localloc = new OpCode (
- 0xfe, 0x0f,
- Code.Localloc, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi, StackBehaviour.Pushi);
+ 0xfe << 0 | 0x0f << 8 | (byte) Code.Localloc << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Endfilter = new OpCode (
- 0xfe, 0x11,
- Code.Endfilter, FlowControl.Return,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi, StackBehaviour.Push0);
+ 0xfe << 0 | 0x11 << 8 | (byte) Code.Endfilter << 16 | (byte) FlowControl.Return << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Unaligned = new OpCode (
- 0xfe, 0x12,
- Code.Unaligned, FlowControl.Meta,
- OpCodeType.Prefix, OperandType.ShortInlineI,
- StackBehaviour.Pop0, StackBehaviour.Push0);
+ 0xfe << 0 | 0x12 << 8 | (byte) Code.Unaligned << 16 | (byte) FlowControl.Meta << 24,
+ (byte) OpCodeType.Prefix << 0 | (byte) OperandType.ShortInlineI << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Volatile = new OpCode (
- 0xfe, 0x13,
- Code.Volatile, FlowControl.Meta,
- OpCodeType.Prefix, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Push0);
+ 0xfe << 0 | 0x13 << 8 | (byte) Code.Volatile << 16 | (byte) FlowControl.Meta << 24,
+ (byte) OpCodeType.Prefix << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Tail = new OpCode (
- 0xfe, 0x14,
- Code.Tail, FlowControl.Meta,
- OpCodeType.Prefix, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Push0);
+ 0xfe << 0 | 0x14 << 8 | (byte) Code.Tail << 16 | (byte) FlowControl.Meta << 24,
+ (byte) OpCodeType.Prefix << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Initobj = new OpCode (
- 0xfe, 0x15,
- Code.Initobj, FlowControl.Next,
- OpCodeType.Objmodel, OperandType.InlineType,
- StackBehaviour.Popi, StackBehaviour.Push0);
+ 0xfe << 0 | 0x15 << 8 | (byte) Code.Initobj << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Constrained = new OpCode (
- 0xfe, 0x16,
- Code.Constrained, FlowControl.Next,
- OpCodeType.Prefix, OperandType.InlineType,
- StackBehaviour.Pop0, StackBehaviour.Push0);
+ 0xfe << 0 | 0x16 << 8 | (byte) Code.Constrained << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Prefix << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Cpblk = new OpCode (
- 0xfe, 0x17,
- Code.Cpblk, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi_popi_popi, StackBehaviour.Push0);
+ 0xfe << 0 | 0x17 << 8 | (byte) Code.Cpblk << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Initblk = new OpCode (
- 0xfe, 0x18,
- Code.Initblk, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Popi_popi_popi, StackBehaviour.Push0);
+ 0xfe << 0 | 0x18 << 8 | (byte) Code.Initblk << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode No = new OpCode (
- 0xfe, 0x19,
- Code.No, FlowControl.Next,
- OpCodeType.Prefix, OperandType.ShortInlineI,
- StackBehaviour.Pop0, StackBehaviour.Push0);
+ 0xfe << 0 | 0x19 << 8 | (byte) Code.No << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Prefix << 0 | (byte) OperandType.ShortInlineI << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Rethrow = new OpCode (
- 0xfe, 0x1a,
- Code.Rethrow, FlowControl.Throw,
- OpCodeType.Objmodel, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Push0);
+ 0xfe << 0 | 0x1a << 8 | (byte) Code.Rethrow << 16 | (byte) FlowControl.Throw << 24,
+ (byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);
public static readonly OpCode Sizeof = new OpCode (
- 0xfe, 0x1c,
- Code.Sizeof, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineType,
- StackBehaviour.Pop0, StackBehaviour.Pushi);
+ 0xfe << 0 | 0x1c << 8 | (byte) Code.Sizeof << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Refanytype = new OpCode (
- 0xfe, 0x1d,
- Code.Refanytype, FlowControl.Next,
- OpCodeType.Primitive, OperandType.InlineNone,
- StackBehaviour.Pop1, StackBehaviour.Pushi);
+ 0xfe << 0 | 0x1d << 8 | (byte) Code.Refanytype << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);
public static readonly OpCode Readonly = new OpCode (
- 0xfe, 0x1e,
- Code.Readonly, FlowControl.Next,
- OpCodeType.Prefix, OperandType.InlineNone,
- StackBehaviour.Pop0, StackBehaviour.Push0);
-
- OpCodes ()
- {
- }
-
- public static OpCode GetOpCode (Code code)
- {
- switch (code) {
- case Code.Nop : return OpCodes.Nop;
- case Code.Break : return OpCodes.Break;
- case Code.Ldarg_0 : return OpCodes.Ldarg_0;
- case Code.Ldarg_1 : return OpCodes.Ldarg_1;
- case Code.Ldarg_2 : return OpCodes.Ldarg_2;
- case Code.Ldarg_3 : return OpCodes.Ldarg_3;
- case Code.Ldloc_0 : return OpCodes.Ldloc_0;
- case Code.Ldloc_1 : return OpCodes.Ldloc_1;
- case Code.Ldloc_2 : return OpCodes.Ldloc_2;
- case Code.Ldloc_3 : return OpCodes.Ldloc_3;
- case Code.Stloc_0 : return OpCodes.Stloc_0;
- case Code.Stloc_1 : return OpCodes.Stloc_1;
- case Code.Stloc_2 : return OpCodes.Stloc_2;
- case Code.Stloc_3 : return OpCodes.Stloc_3;
- case Code.Ldarg_S : return OpCodes.Ldarg_S;
- case Code.Ldarga_S : return OpCodes.Ldarga_S;
- case Code.Starg_S : return OpCodes.Starg_S;
- case Code.Ldloc_S : return OpCodes.Ldloc_S;
- case Code.Ldloca_S : return OpCodes.Ldloca_S;
- case Code.Stloc_S : return OpCodes.Stloc_S;
- case Code.Ldnull : return OpCodes.Ldnull;
- case Code.Ldc_I4_M1 : return OpCodes.Ldc_I4_M1;
- case Code.Ldc_I4_0 : return OpCodes.Ldc_I4_0;
- case Code.Ldc_I4_1 : return OpCodes.Ldc_I4_1;
- case Code.Ldc_I4_2 : return OpCodes.Ldc_I4_2;
- case Code.Ldc_I4_3 : return OpCodes.Ldc_I4_3;
- case Code.Ldc_I4_4 : return OpCodes.Ldc_I4_4;
- case Code.Ldc_I4_5 : return OpCodes.Ldc_I4_5;
- case Code.Ldc_I4_6 : return OpCodes.Ldc_I4_6;
- case Code.Ldc_I4_7 : return OpCodes.Ldc_I4_7;
- case Code.Ldc_I4_8 : return OpCodes.Ldc_I4_8;
- case Code.Ldc_I4_S : return OpCodes.Ldc_I4_S;
- case Code.Ldc_I4 : return OpCodes.Ldc_I4;
- case Code.Ldc_I8 : return OpCodes.Ldc_I8;
- case Code.Ldc_R4 : return OpCodes.Ldc_R4;
- case Code.Ldc_R8 : return OpCodes.Ldc_R8;
- case Code.Dup : return OpCodes.Dup;
- case Code.Pop : return OpCodes.Pop;
- case Code.Jmp : return OpCodes.Jmp;
- case Code.Call : return OpCodes.Call;
- case Code.Calli : return OpCodes.Calli;
- case Code.Ret : return OpCodes.Ret;
- case Code.Br_S : return OpCodes.Br_S;
- case Code.Brfalse_S : return OpCodes.Brfalse_S;
- case Code.Brtrue_S : return OpCodes.Brtrue_S;
- case Code.Beq_S : return OpCodes.Beq_S;
- case Code.Bge_S : return OpCodes.Bge_S;
- case Code.Bgt_S : return OpCodes.Bgt_S;
- case Code.Ble_S : return OpCodes.Ble_S;
- case Code.Blt_S : return OpCodes.Blt_S;
- case Code.Bne_Un_S : return OpCodes.Bne_Un_S;
- case Code.Bge_Un_S : return OpCodes.Bge_Un_S;
- case Code.Bgt_Un_S : return OpCodes.Bgt_Un_S;
- case Code.Ble_Un_S : return OpCodes.Ble_Un_S;
- case Code.Blt_Un_S : return OpCodes.Blt_Un_S;
- case Code.Br : return OpCodes.Br;
- case Code.Brfalse : return OpCodes.Brfalse;
- case Code.Brtrue : return OpCodes.Brtrue;
- case Code.Beq : return OpCodes.Beq;
- case Code.Bge : return OpCodes.Bge;
- case Code.Bgt : return OpCodes.Bgt;
- case Code.Ble : return OpCodes.Ble;
- case Code.Blt : return OpCodes.Blt;
- case Code.Bne_Un : return OpCodes.Bne_Un;
- case Code.Bge_Un : return OpCodes.Bge_Un;
- case Code.Bgt_Un : return OpCodes.Bgt_Un;
- case Code.Ble_Un : return OpCodes.Ble_Un;
- case Code.Blt_Un : return OpCodes.Blt_Un;
- case Code.Switch : return OpCodes.Switch;
- case Code.Ldind_I1 : return OpCodes.Ldind_I1;
- case Code.Ldind_U1 : return OpCodes.Ldind_U1;
- case Code.Ldind_I2 : return OpCodes.Ldind_I2;
- case Code.Ldind_U2 : return OpCodes.Ldind_U2;
- case Code.Ldind_I4 : return OpCodes.Ldind_I4;
- case Code.Ldind_U4 : return OpCodes.Ldind_U4;
- case Code.Ldind_I8 : return OpCodes.Ldind_I8;
- case Code.Ldind_I : return OpCodes.Ldind_I;
- case Code.Ldind_R4 : return OpCodes.Ldind_R4;
- case Code.Ldind_R8 : return OpCodes.Ldind_R8;
- case Code.Ldind_Ref : return OpCodes.Ldind_Ref;
- case Code.Stind_Ref : return OpCodes.Stind_Ref;
- case Code.Stind_I1 : return OpCodes.Stind_I1;
- case Code.Stind_I2 : return OpCodes.Stind_I2;
- case Code.Stind_I4 : return OpCodes.Stind_I4;
- case Code.Stind_I8 : return OpCodes.Stind_I8;
- case Code.Stind_R4 : return OpCodes.Stind_R4;
- case Code.Stind_R8 : return OpCodes.Stind_R8;
- case Code.Add : return OpCodes.Add;
- case Code.Sub : return OpCodes.Sub;
- case Code.Mul : return OpCodes.Mul;
- case Code.Div : return OpCodes.Div;
- case Code.Div_Un : return OpCodes.Div_Un;
- case Code.Rem : return OpCodes.Rem;
- case Code.Rem_Un : return OpCodes.Rem_Un;
- case Code.And : return OpCodes.And;
- case Code.Or : return OpCodes.Or;
- case Code.Xor : return OpCodes.Xor;
- case Code.Shl : return OpCodes.Shl;
- case Code.Shr : return OpCodes.Shr;
- case Code.Shr_Un : return OpCodes.Shr_Un;
- case Code.Neg : return OpCodes.Neg;
- case Code.Not : return OpCodes.Not;
- case Code.Conv_I1 : return OpCodes.Conv_I1;
- case Code.Conv_I2 : return OpCodes.Conv_I2;
- case Code.Conv_I4 : return OpCodes.Conv_I4;
- case Code.Conv_I8 : return OpCodes.Conv_I8;
- case Code.Conv_R4 : return OpCodes.Conv_R4;
- case Code.Conv_R8 : return OpCodes.Conv_R8;
- case Code.Conv_U4 : return OpCodes.Conv_U4;
- case Code.Conv_U8 : return OpCodes.Conv_U8;
- case Code.Callvirt : return OpCodes.Callvirt;
- case Code.Cpobj : return OpCodes.Cpobj;
- case Code.Ldobj : return OpCodes.Ldobj;
- case Code.Ldstr : return OpCodes.Ldstr;
- case Code.Newobj : return OpCodes.Newobj;
- case Code.Castclass : return OpCodes.Castclass;
- case Code.Isinst : return OpCodes.Isinst;
- case Code.Conv_R_Un : return OpCodes.Conv_R_Un;
- case Code.Unbox : return OpCodes.Unbox;
- case Code.Throw : return OpCodes.Throw;
- case Code.Ldfld : return OpCodes.Ldfld;
- case Code.Ldflda : return OpCodes.Ldflda;
- case Code.Stfld : return OpCodes.Stfld;
- case Code.Ldsfld : return OpCodes.Ldsfld;
- case Code.Ldsflda : return OpCodes.Ldsflda;
- case Code.Stsfld : return OpCodes.Stsfld;
- case Code.Stobj : return OpCodes.Stobj;
- case Code.Conv_Ovf_I1_Un : return OpCodes.Conv_Ovf_I1_Un;
- case Code.Conv_Ovf_I2_Un : return OpCodes.Conv_Ovf_I2_Un;
- case Code.Conv_Ovf_I4_Un : return OpCodes.Conv_Ovf_I4_Un;
- case Code.Conv_Ovf_I8_Un : return OpCodes.Conv_Ovf_I8_Un;
- case Code.Conv_Ovf_U1_Un : return OpCodes.Conv_Ovf_U1_Un;
- case Code.Conv_Ovf_U2_Un : return OpCodes.Conv_Ovf_U2_Un;
- case Code.Conv_Ovf_U4_Un : return OpCodes.Conv_Ovf_U4_Un;
- case Code.Conv_Ovf_U8_Un : return OpCodes.Conv_Ovf_U8_Un;
- case Code.Conv_Ovf_I_Un : return OpCodes.Conv_Ovf_I_Un;
- case Code.Conv_Ovf_U_Un : return OpCodes.Conv_Ovf_U_Un;
- case Code.Box : return OpCodes.Box;
- case Code.Newarr : return OpCodes.Newarr;
- case Code.Ldlen : return OpCodes.Ldlen;
- case Code.Ldelema : return OpCodes.Ldelema;
- case Code.Ldelem_I1 : return OpCodes.Ldelem_I1;
- case Code.Ldelem_U1 : return OpCodes.Ldelem_U1;
- case Code.Ldelem_I2 : return OpCodes.Ldelem_I2;
- case Code.Ldelem_U2 : return OpCodes.Ldelem_U2;
- case Code.Ldelem_I4 : return OpCodes.Ldelem_I4;
- case Code.Ldelem_U4 : return OpCodes.Ldelem_U4;
- case Code.Ldelem_I8 : return OpCodes.Ldelem_I8;
- case Code.Ldelem_I : return OpCodes.Ldelem_I;
- case Code.Ldelem_R4 : return OpCodes.Ldelem_R4;
- case Code.Ldelem_R8 : return OpCodes.Ldelem_R8;
- case Code.Ldelem_Ref : return OpCodes.Ldelem_Ref;
- case Code.Stelem_I : return OpCodes.Stelem_I;
- case Code.Stelem_I1 : return OpCodes.Stelem_I1;
- case Code.Stelem_I2 : return OpCodes.Stelem_I2;
- case Code.Stelem_I4 : return OpCodes.Stelem_I4;
- case Code.Stelem_I8 : return OpCodes.Stelem_I8;
- case Code.Stelem_R4 : return OpCodes.Stelem_R4;
- case Code.Stelem_R8 : return OpCodes.Stelem_R8;
- case Code.Stelem_Ref : return OpCodes.Stelem_Ref;
- case Code.Ldelem_Any : return OpCodes.Ldelem_Any;
- case Code.Stelem_Any : return OpCodes.Stelem_Any;
- case Code.Unbox_Any : return OpCodes.Unbox_Any;
- case Code.Conv_Ovf_I1 : return OpCodes.Conv_Ovf_I1;
- case Code.Conv_Ovf_U1 : return OpCodes.Conv_Ovf_U1;
- case Code.Conv_Ovf_I2 : return OpCodes.Conv_Ovf_I2;
- case Code.Conv_Ovf_U2 : return OpCodes.Conv_Ovf_U2;
- case Code.Conv_Ovf_I4 : return OpCodes.Conv_Ovf_I4;
- case Code.Conv_Ovf_U4 : return OpCodes.Conv_Ovf_U4;
- case Code.Conv_Ovf_I8 : return OpCodes.Conv_Ovf_I8;
- case Code.Conv_Ovf_U8 : return OpCodes.Conv_Ovf_U8;
- case Code.Refanyval : return OpCodes.Refanyval;
- case Code.Ckfinite : return OpCodes.Ckfinite;
- case Code.Mkrefany : return OpCodes.Mkrefany;
- case Code.Ldtoken : return OpCodes.Ldtoken;
- case Code.Conv_U2 : return OpCodes.Conv_U2;
- case Code.Conv_U1 : return OpCodes.Conv_U1;
- case Code.Conv_I : return OpCodes.Conv_I;
- case Code.Conv_Ovf_I : return OpCodes.Conv_Ovf_I;
- case Code.Conv_Ovf_U : return OpCodes.Conv_Ovf_U;
- case Code.Add_Ovf : return OpCodes.Add_Ovf;
- case Code.Add_Ovf_Un : return OpCodes.Add_Ovf_Un;
- case Code.Mul_Ovf : return OpCodes.Mul_Ovf;
- case Code.Mul_Ovf_Un : return OpCodes.Mul_Ovf_Un;
- case Code.Sub_Ovf : return OpCodes.Sub_Ovf;
- case Code.Sub_Ovf_Un : return OpCodes.Sub_Ovf_Un;
- case Code.Endfinally : return OpCodes.Endfinally;
- case Code.Leave : return OpCodes.Leave;
- case Code.Leave_S : return OpCodes.Leave_S;
- case Code.Stind_I : return OpCodes.Stind_I;
- case Code.Conv_U : return OpCodes.Conv_U;
- case Code.Arglist : return OpCodes.Arglist;
- case Code.Ceq : return OpCodes.Ceq;
- case Code.Cgt : return OpCodes.Cgt;
- case Code.Cgt_Un : return OpCodes.Cgt_Un;
- case Code.Clt : return OpCodes.Clt;
- case Code.Clt_Un : return OpCodes.Clt_Un;
- case Code.Ldftn : return OpCodes.Ldftn;
- case Code.Ldvirtftn : return OpCodes.Ldvirtftn;
- case Code.Ldarg : return OpCodes.Ldarg;
- case Code.Ldarga : return OpCodes.Ldarga;
- case Code.Starg : return OpCodes.Starg;
- case Code.Ldloc : return OpCodes.Ldloc;
- case Code.Ldloca : return OpCodes.Ldloca;
- case Code.Stloc : return OpCodes.Stloc;
- case Code.Localloc : return OpCodes.Localloc;
- case Code.Endfilter : return OpCodes.Endfilter;
- case Code.Unaligned : return OpCodes.Unaligned;
- case Code.Volatile : return OpCodes.Volatile;
- case Code.Tail : return OpCodes.Tail;
- case Code.Initobj : return OpCodes.Initobj;
- case Code.Constrained : return OpCodes.Constrained;
- case Code.Cpblk : return OpCodes.Cpblk;
- case Code.Initblk : return OpCodes.Initblk;
- case Code.No : return OpCodes.No;
- case Code.Rethrow : return OpCodes.Rethrow;
- case Code.Sizeof : return OpCodes.Sizeof;
- case Code.Refanytype : return OpCodes.Refanytype;
- case Code.Readonly : return OpCodes.Readonly;
- default : return OpCodes.Nop;
- }
- }
+ 0xfe << 0 | 0x1e << 8 | (byte) Code.Readonly << 16 | (byte) FlowControl.Next << 24,
+ (byte) OpCodeType.Prefix << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/OperandType.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/OperandType.cs
deleted file mode 100644
index 938b2b9bbbf..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/OperandType.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// OperandType.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- public enum OperandType {
- InlineBrTarget,
- InlineField,
- InlineI,
- InlineI8,
- InlineMethod,
- InlineNone,
- InlinePhi,
- InlineR,
- InlineSig,
- InlineString,
- InlineSwitch,
- InlineTok,
- InlineType,
- InlineVar,
- InlineParam,
- ShortInlineBrTarget,
- ShortInlineI,
- ShortInlineR,
- ShortInlineVar,
- ShortInlineParam
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Scope.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Scope.cs
deleted file mode 100644
index ce4068c3d2a..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Scope.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// Scope.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- public class Scope : IScopeProvider, IVariableDefinitionProvider, ICodeVisitable {
-
- Instruction m_start;
- Instruction m_end;
-
- Scope m_parent;
- ScopeCollection m_scopes;
-
- VariableDefinitionCollection m_variables;
-
- public Instruction Start {
- get { return m_start; }
- set { m_start = value; }
- }
-
- public Instruction End {
- get { return m_end; }
- set { m_end = value; }
- }
-
- public Scope Parent {
- get { return m_parent; }
- set { m_parent = value; }
- }
-
- public ScopeCollection Scopes {
- get {
- if (m_scopes == null)
- m_scopes = new ScopeCollection (this);
-
- return m_scopes;
- }
- }
-
- public VariableDefinitionCollection Variables {
- get {
- if (m_variables == null)
- m_variables = new VariableDefinitionCollection (this);
-
- return m_variables;
- }
- }
-
- public void Accept (ICodeVisitor visitor)
- {
- visitor.VisitScope (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ScopeCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ScopeCollection.cs
deleted file mode 100644
index 6872e70c9a7..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/ScopeCollection.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// ScopeCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Wed Sep 27 12:46:54 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class ScopeCollection : CollectionBase, ICodeVisitable {
-
- IScopeProvider m_container;
-
- public Scope this [int index] {
- get { return List [index] as Scope; }
- set { List [index] = value; }
- }
-
- public IScopeProvider Container {
- get { return m_container; }
- }
-
- public ScopeCollection (IScopeProvider container)
- {
- m_container = container;
- }
-
- public void Add (Scope value)
- {
- List.Add (value);
- }
-
- public bool Contains (Scope value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (Scope value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, Scope value)
- {
- List.Insert (index, value);
- }
-
- public void Remove (Scope value)
- {
- List.Remove (value);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is Scope))
- throw new ArgumentException ("Must be of type " + typeof (Scope).FullName);
- }
-
- public void Accept (ICodeVisitor visitor)
- {
- visitor.VisitScopeCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/SequencePoint.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/SequencePoint.cs
index 81dc110e32b..189b5f52bb1 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/SequencePoint.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/SequencePoint.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2006 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -28,51 +28,43 @@
namespace Mono.Cecil.Cil {
- public class SequencePoint {
+ public sealed class SequencePoint {
- Document m_document;
+ Document document;
- int m_startLine;
- int m_startColumn;
- int m_endLine;
- int m_endColumn;
+ int start_line;
+ int start_column;
+ int end_line;
+ int end_column;
public int StartLine {
- get { return m_startLine; }
- set { m_startLine = value; }
+ get { return start_line; }
+ set { start_line = value; }
}
public int StartColumn {
- get { return m_startColumn; }
- set { m_startColumn = value; }
+ get { return start_column; }
+ set { start_column = value; }
}
public int EndLine {
- get { return m_endLine; }
- set { m_endLine = value; }
+ get { return end_line; }
+ set { end_line = value; }
}
public int EndColumn {
- get { return m_endColumn; }
- set { m_endColumn = value; }
+ get { return end_column; }
+ set { end_column = value; }
}
public Document Document {
- get { return m_document; }
- set { m_document = value; }
+ get { return document; }
+ set { document = value; }
}
public SequencePoint (Document document)
{
- m_document = document;
- }
-
- public SequencePoint (Document doc, int startLine, int startCol, int endLine, int endCol) : this (doc)
- {
- m_startLine = startLine;
- m_startColumn = startCol;
- m_endLine = endLine;
- m_endColumn = endCol;
+ this.document = document;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/StackBehaviour.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/StackBehaviour.cs
deleted file mode 100644
index edab8aa9762..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/StackBehaviour.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// StackBehaviour.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- public enum StackBehaviour {
- Pop0,
- Pop1,
- Pop1_pop1,
- Popi,
- Popi_pop1,
- Popi_popi,
- Popi_popi8,
- Popi_popi_popi,
- Popi_popr4,
- Popi_popr8,
- Popref,
- Popref_pop1,
- Popref_popi,
- Popref_popi_popi,
- Popref_popi_popi8,
- Popref_popi_popr4,
- Popref_popi_popr8,
- Popref_popi_popref,
- PopAll,
- Push0,
- Push1,
- Push1_push1,
- Pushi,
- Pushi8,
- Pushr4,
- Pushr8,
- Pushref,
- Varpop,
- Varpush
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Symbols.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Symbols.cs
new file mode 100644
index 00000000000..ba2e694fc2b
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/Symbols.cs
@@ -0,0 +1,272 @@
+//
+// Symbols.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.IO;
+using System.Runtime.InteropServices;
+using SR = System.Reflection;
+
+using Mono.Collections.Generic;
+
+namespace Mono.Cecil.Cil {
+
+ [StructLayout (LayoutKind.Sequential)]
+ public struct ImageDebugDirectory {
+ public int Characteristics;
+ public int TimeDateStamp;
+ public short MajorVersion;
+ public short MinorVersion;
+ public int Type;
+ public int SizeOfData;
+ public int AddressOfRawData;
+ public int PointerToRawData;
+ }
+
+ public sealed class Scope : IVariableDefinitionProvider {
+
+ Instruction start;
+ Instruction end;
+
+ Collection<Scope> scopes;
+ Collection<VariableDefinition> variables;
+
+ public Instruction Start {
+ get { return start; }
+ set { start = value; }
+ }
+
+ public Instruction End {
+ get { return end; }
+ set { end = value; }
+ }
+
+ public bool HasScopes {
+ get { return !scopes.IsNullOrEmpty (); }
+ }
+
+ public Collection<Scope> Scopes {
+ get {
+ if (scopes == null)
+ scopes = new Collection<Scope> ();
+
+ return scopes;
+ }
+ }
+
+ public bool HasVariables {
+ get { return !variables.IsNullOrEmpty (); }
+ }
+
+ public Collection<VariableDefinition> Variables {
+ get {
+ if (variables == null)
+ variables = new Collection<VariableDefinition> ();
+
+ return variables;
+ }
+ }
+ }
+
+ public struct InstructionSymbol {
+
+ public readonly int Offset;
+ public readonly SequencePoint SequencePoint;
+
+ public InstructionSymbol (int offset, SequencePoint sequencePoint)
+ {
+ this.Offset = offset;
+ this.SequencePoint = sequencePoint;
+ }
+ }
+
+ public sealed class MethodSymbols {
+
+ internal int code_size;
+ internal string method_name;
+ internal MetadataToken method_token;
+ internal MetadataToken local_var_token;
+ internal Collection<VariableDefinition> variables;
+ internal Collection<InstructionSymbol> instructions;
+
+ public bool HasVariables {
+ get { return !variables.IsNullOrEmpty (); }
+ }
+
+ public Collection<VariableDefinition> Variables {
+ get {
+ if (variables == null)
+ variables = new Collection<VariableDefinition> ();
+
+ return variables;
+ }
+ }
+
+ public Collection<InstructionSymbol> Instructions {
+ get {
+ if (instructions == null)
+ instructions = new Collection<InstructionSymbol> ();
+
+ return instructions;
+ }
+ }
+
+ public int CodeSize {
+ get { return code_size; }
+ }
+
+ public string MethodName {
+ get { return method_name; }
+ }
+
+ public MetadataToken MethodToken {
+ get { return method_token; }
+ }
+
+ public MetadataToken LocalVarToken {
+ get { return local_var_token; }
+ }
+
+ public MethodSymbols (string methodName)
+ {
+ this.method_name = methodName;
+ }
+ }
+
+ public delegate Instruction InstructionMapper (int offset);
+
+ public interface ISymbolReader : IDisposable {
+
+ bool ProcessDebugHeader (ImageDebugDirectory directory, byte [] header);
+ void Read (MethodBody body, InstructionMapper mapper);
+ void Read (MethodSymbols symbols);
+ }
+
+ public interface ISymbolReaderProvider {
+
+ ISymbolReader GetSymbolReader (ModuleDefinition module, string fileName);
+ ISymbolReader GetSymbolReader (ModuleDefinition module, Stream symbolStream);
+ }
+
+ static class SymbolProvider {
+
+ static readonly string symbol_kind = Type.GetType ("Mono.Runtime") != null ? "Mdb" : "Pdb";
+
+ static SR.AssemblyName GetPlatformSymbolAssemblyName ()
+ {
+ var cecil_name = typeof (SymbolProvider).Assembly.GetName ();
+
+ var name = new SR.AssemblyName {
+ Name = "Mono.Cecil." + symbol_kind,
+ Version = cecil_name.Version,
+ };
+
+ name.SetPublicKeyToken (cecil_name.GetPublicKeyToken ());
+
+ return name;
+ }
+
+ static Type GetPlatformType (string fullname)
+ {
+ var type = Type.GetType (fullname);
+ if (type != null)
+ return type;
+
+ var assembly_name = GetPlatformSymbolAssemblyName ();
+
+ type = Type.GetType (fullname + ", " + assembly_name.FullName);
+ if (type != null)
+ return type;
+
+ try {
+ var assembly = SR.Assembly.Load (assembly_name);
+ if (assembly != null)
+ return assembly.GetType (fullname);
+ } catch (FileNotFoundException) {
+#if !CF
+ } catch (FileLoadException) {
+#endif
+ }
+
+ return null;
+ }
+
+ static ISymbolReaderProvider reader_provider;
+
+ public static ISymbolReaderProvider GetPlatformReaderProvider ()
+ {
+ if (reader_provider != null)
+ return reader_provider;
+
+ var type = GetPlatformType (GetProviderTypeName ("ReaderProvider"));
+ if (type == null)
+ return null;
+
+ return reader_provider = (ISymbolReaderProvider) Activator.CreateInstance (type);
+ }
+
+ static string GetProviderTypeName (string name)
+ {
+ return "Mono.Cecil." + symbol_kind + "." + symbol_kind + name;
+ }
+
+#if !READ_ONLY
+
+ static ISymbolWriterProvider writer_provider;
+
+ public static ISymbolWriterProvider GetPlatformWriterProvider ()
+ {
+ if (writer_provider != null)
+ return writer_provider;
+
+ var type = GetPlatformType (GetProviderTypeName ("WriterProvider"));
+ if (type == null)
+ return null;
+
+ return writer_provider = (ISymbolWriterProvider) Activator.CreateInstance (type);
+ }
+
+#endif
+ }
+
+#if !READ_ONLY
+
+ public interface ISymbolWriter : IDisposable {
+
+ bool GetDebugHeader (out ImageDebugDirectory directory, out byte [] header);
+ void Write (MethodBody body);
+ void Write (MethodSymbols symbols);
+ }
+
+ public interface ISymbolWriterProvider {
+
+ ISymbolWriter GetSymbolWriter (ModuleDefinition module, string fileName);
+ ISymbolWriter GetSymbolWriter (ModuleDefinition module, Stream symbolStream);
+ }
+
+#endif
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/VariableDefinition.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/VariableDefinition.cs
index 6ce68af03d8..690543e975d 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/VariableDefinition.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/VariableDefinition.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -30,31 +30,23 @@ namespace Mono.Cecil.Cil {
public sealed class VariableDefinition : VariableReference {
- MethodDefinition m_method;
-
- public MethodDefinition Method {
- get { return m_method; }
- set { m_method = value; }
+ public bool IsPinned {
+ get { return variable_type.IsPinned; }
}
- public VariableDefinition (TypeReference variableType) : base (variableType)
+ public VariableDefinition (TypeReference variableType)
+ : base (variableType)
{
}
- public VariableDefinition (string name, int index, MethodDefinition method, TypeReference variableType) :
- base (name, index, variableType)
+ public VariableDefinition (string name, TypeReference variableType)
+ : base (name, variableType)
{
- m_method = method;
}
public override VariableDefinition Resolve ()
{
return this;
}
-
- public override void Accept (ICodeVisitor visitor)
- {
- visitor.VisitVariableDefinition (this);
- }
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/VariableDefinitionCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/VariableDefinitionCollection.cs
deleted file mode 100644
index 3bd8446bd9e..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/VariableDefinitionCollection.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// VariableDefinitionCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Wed Sep 27 12:46:53 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Cil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class VariableDefinitionCollection : CollectionBase, ICodeVisitable {
-
- IVariableDefinitionProvider m_container;
-
- public VariableDefinition this [int index] {
- get { return List [index] as VariableDefinition; }
- set { List [index] = value; }
- }
-
- public IVariableDefinitionProvider Container {
- get { return m_container; }
- }
-
- public VariableDefinitionCollection (IVariableDefinitionProvider container)
- {
- m_container = container;
- }
-
- public void Add (VariableDefinition value)
- {
- List.Add (value);
- }
-
- public bool Contains (VariableDefinition value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (VariableDefinition value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, VariableDefinition value)
- {
- List.Insert (index, value);
- }
-
- public void Remove (VariableDefinition value)
- {
- List.Remove (value);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is VariableDefinition))
- throw new ArgumentException ("Must be of type " + typeof (VariableDefinition).FullName);
- }
-
- public void Accept (ICodeVisitor visitor)
- {
- visitor.VisitVariableDefinitionCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/VariableReference.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/VariableReference.cs
index 06b30416f60..54538455003 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/VariableReference.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Cil/VariableReference.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -28,48 +28,48 @@
namespace Mono.Cecil.Cil {
- public abstract class VariableReference : ICodeVisitable {
+ public abstract class VariableReference {
- string m_name;
- int m_index;
- TypeReference m_variableType;
+ string name;
+ internal int index = -1;
+ protected TypeReference variable_type;
public string Name {
- get { return m_name; }
- set { m_name = value; }
+ get { return name; }
+ set { name = value; }
}
- public int Index {
- get { return m_index; }
- set { m_index = value; }
+ public TypeReference VariableType {
+ get { return variable_type; }
+ set { variable_type = value; }
}
- public TypeReference VariableType {
- get { return m_variableType; }
- set { m_variableType = value; }
+ public int Index {
+ get { return index; }
}
- public VariableReference (TypeReference variableType)
+ internal VariableReference (TypeReference variable_type)
+ : this (string.Empty, variable_type)
{
- m_variableType = variableType;
}
- public VariableReference (string name, int index, TypeReference variableType) : this (variableType)
+ internal VariableReference (string name, TypeReference variable_type)
{
- m_name = name;
- m_index = index;
+ this.name = name;
+ this.variable_type = variable_type;
}
public abstract VariableDefinition Resolve ();
public override string ToString ()
{
- if (m_name != null && m_name.Length > 0)
- return m_name;
+ if (!string.IsNullOrEmpty (name))
+ return name;
- return string.Concat ("V_", m_index);
- }
+ if (index >= 0)
+ return "V_" + index;
- public abstract void Accept (ICodeVisitor visitor);
+ return string.Empty;
+ }
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Assembly.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Assembly.cs
deleted file mode 100644
index 72da5c20fb0..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Assembly.cs
+++ /dev/null
@@ -1,88 +0,0 @@
-//
-// AssemblyTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:25 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil;
-
- public sealed class AssemblyTable : IMetadataTable {
-
- public const int RId = 0x20;
-
- RowCollection m_rows;
-
- public AssemblyRow this [int index] {
- get { return m_rows [index] as AssemblyRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal AssemblyTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitAssemblyTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class AssemblyRow : IMetadataRow {
-
- public AssemblyHashAlgorithm HashAlgId;
- public ushort MajorVersion;
- public ushort MinorVersion;
- public ushort BuildNumber;
- public ushort RevisionNumber;
- public AssemblyFlags Flags;
- public uint PublicKey;
- public uint Name;
- public uint Culture;
-
- internal AssemblyRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitAssemblyRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyOS.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyOS.cs
deleted file mode 100644
index b6b193b579d..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyOS.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// AssemblyOSTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:25 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class AssemblyOSTable : IMetadataTable {
-
- public const int RId = 0x22;
-
- RowCollection m_rows;
-
- public AssemblyOSRow this [int index] {
- get { return m_rows [index] as AssemblyOSRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal AssemblyOSTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitAssemblyOSTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class AssemblyOSRow : IMetadataRow {
-
- public uint OSPlatformID;
- public uint OSMajorVersion;
- public uint OSMinorVersion;
-
- internal AssemblyOSRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitAssemblyOSRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyProcessor.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyProcessor.cs
deleted file mode 100644
index ca7c7a9a2af..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyProcessor.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// AssemblyProcessorTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:25 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class AssemblyProcessorTable : IMetadataTable {
-
- public const int RId = 0x21;
-
- RowCollection m_rows;
-
- public AssemblyProcessorRow this [int index] {
- get { return m_rows [index] as AssemblyProcessorRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal AssemblyProcessorTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitAssemblyProcessorTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class AssemblyProcessorRow : IMetadataRow {
-
- public uint Processor;
-
- internal AssemblyProcessorRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitAssemblyProcessorRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyRef.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyRef.cs
deleted file mode 100644
index 06b50067c94..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyRef.cs
+++ /dev/null
@@ -1,88 +0,0 @@
-//
-// AssemblyRefTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:25 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil;
-
- public sealed class AssemblyRefTable : IMetadataTable {
-
- public const int RId = 0x23;
-
- RowCollection m_rows;
-
- public AssemblyRefRow this [int index] {
- get { return m_rows [index] as AssemblyRefRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal AssemblyRefTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitAssemblyRefTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class AssemblyRefRow : IMetadataRow {
-
- public ushort MajorVersion;
- public ushort MinorVersion;
- public ushort BuildNumber;
- public ushort RevisionNumber;
- public AssemblyFlags Flags;
- public uint PublicKeyOrToken;
- public uint Name;
- public uint Culture;
- public uint HashValue;
-
- internal AssemblyRefRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitAssemblyRefRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyRefOS.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyRefOS.cs
deleted file mode 100644
index db794e986e6..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyRefOS.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-//
-// AssemblyRefOSTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:25 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class AssemblyRefOSTable : IMetadataTable {
-
- public const int RId = 0x25;
-
- RowCollection m_rows;
-
- public AssemblyRefOSRow this [int index] {
- get { return m_rows [index] as AssemblyRefOSRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal AssemblyRefOSTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitAssemblyRefOSTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class AssemblyRefOSRow : IMetadataRow {
-
- public uint OSPlatformID;
- public uint OSMajorVersion;
- public uint OSMinorVersion;
- public uint AssemblyRef;
-
- internal AssemblyRefOSRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitAssemblyRefOSRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyRefProcessor.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyRefProcessor.cs
deleted file mode 100644
index 80cef8b7347..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/AssemblyRefProcessor.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// AssemblyRefProcessorTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:25 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class AssemblyRefProcessorTable : IMetadataTable {
-
- public const int RId = 0x24;
-
- RowCollection m_rows;
-
- public AssemblyRefProcessorRow this [int index] {
- get { return m_rows [index] as AssemblyRefProcessorRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal AssemblyRefProcessorTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitAssemblyRefProcessorTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class AssemblyRefProcessorRow : IMetadataRow {
-
- public uint Processor;
- public uint AssemblyRef;
-
- internal AssemblyRefProcessorRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitAssemblyRefProcessorRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/BaseMetadataVisitor.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/BaseMetadataVisitor.cs
deleted file mode 100644
index fd6ac0f0758..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/BaseMetadataVisitor.cs
+++ /dev/null
@@ -1,448 +0,0 @@
-//
-// BaseMetadataVisitor.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Thu Feb 22 14:39:38 CET 2007
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public abstract class BaseMetadataVisitor : IMetadataVisitor {
-
- public virtual void VisitMetadataRoot (MetadataRoot root)
- {
- }
-
- public virtual void VisitMetadataRootHeader (MetadataRoot.MetadataRootHeader header)
- {
- }
-
- public virtual void VisitMetadataStreamCollection (MetadataStreamCollection streams)
- {
- }
-
- public virtual void VisitMetadataStream (MetadataStream stream)
- {
- }
-
- public virtual void VisitMetadataStreamHeader (MetadataStream.MetadataStreamHeader header)
- {
- }
-
- public virtual void VisitGuidHeap (GuidHeap heap)
- {
- }
-
- public virtual void VisitStringsHeap (StringsHeap heap)
- {
- }
-
- public virtual void VisitTablesHeap (TablesHeap heap)
- {
- }
-
- public virtual void VisitBlobHeap (BlobHeap heap)
- {
- }
-
- public virtual void VisitUserStringsHeap (UserStringsHeap heap)
- {
- }
-
- public virtual void TerminateMetadataRoot (MetadataRoot root)
- {
- }
- }
-
- public abstract class BaseMetadataTableVisitor : IMetadataTableVisitor {
-
- public virtual void VisitTableCollection (TableCollection coll)
- {
- }
-
- public virtual void VisitAssemblyTable (AssemblyTable table)
- {
- }
-
- public virtual void VisitAssemblyOSTable (AssemblyOSTable table)
- {
- }
-
- public virtual void VisitAssemblyProcessorTable (AssemblyProcessorTable table)
- {
- }
-
- public virtual void VisitAssemblyRefTable (AssemblyRefTable table)
- {
- }
-
- public virtual void VisitAssemblyRefOSTable (AssemblyRefOSTable table)
- {
- }
-
- public virtual void VisitAssemblyRefProcessorTable (AssemblyRefProcessorTable table)
- {
- }
-
- public virtual void VisitClassLayoutTable (ClassLayoutTable table)
- {
- }
-
- public virtual void VisitConstantTable (ConstantTable table)
- {
- }
-
- public virtual void VisitCustomAttributeTable (CustomAttributeTable table)
- {
- }
-
- public virtual void VisitDeclSecurityTable (DeclSecurityTable table)
- {
- }
-
- public virtual void VisitEventTable (EventTable table)
- {
- }
-
- public virtual void VisitEventMapTable (EventMapTable table)
- {
- }
-
- public virtual void VisitEventPtrTable (EventPtrTable table)
- {
- }
-
- public virtual void VisitExportedTypeTable (ExportedTypeTable table)
- {
- }
-
- public virtual void VisitFieldTable (FieldTable table)
- {
- }
-
- public virtual void VisitFieldLayoutTable (FieldLayoutTable table)
- {
- }
-
- public virtual void VisitFieldMarshalTable (FieldMarshalTable table)
- {
- }
-
- public virtual void VisitFieldPtrTable (FieldPtrTable table)
- {
- }
-
- public virtual void VisitFieldRVATable (FieldRVATable table)
- {
- }
-
- public virtual void VisitFileTable (FileTable table)
- {
- }
-
- public virtual void VisitGenericParamTable (GenericParamTable table)
- {
- }
-
- public virtual void VisitGenericParamConstraintTable (GenericParamConstraintTable table)
- {
- }
-
- public virtual void VisitImplMapTable (ImplMapTable table)
- {
- }
-
- public virtual void VisitInterfaceImplTable (InterfaceImplTable table)
- {
- }
-
- public virtual void VisitManifestResourceTable (ManifestResourceTable table)
- {
- }
-
- public virtual void VisitMemberRefTable (MemberRefTable table)
- {
- }
-
- public virtual void VisitMethodTable (MethodTable table)
- {
- }
-
- public virtual void VisitMethodImplTable (MethodImplTable table)
- {
- }
-
- public virtual void VisitMethodPtrTable (MethodPtrTable table)
- {
- }
-
- public virtual void VisitMethodSemanticsTable (MethodSemanticsTable table)
- {
- }
-
- public virtual void VisitMethodSpecTable (MethodSpecTable table)
- {
- }
-
- public virtual void VisitModuleTable (ModuleTable table)
- {
- }
-
- public virtual void VisitModuleRefTable (ModuleRefTable table)
- {
- }
-
- public virtual void VisitNestedClassTable (NestedClassTable table)
- {
- }
-
- public virtual void VisitParamTable (ParamTable table)
- {
- }
-
- public virtual void VisitParamPtrTable (ParamPtrTable table)
- {
- }
-
- public virtual void VisitPropertyTable (PropertyTable table)
- {
- }
-
- public virtual void VisitPropertyMapTable (PropertyMapTable table)
- {
- }
-
- public virtual void VisitPropertyPtrTable (PropertyPtrTable table)
- {
- }
-
- public virtual void VisitStandAloneSigTable (StandAloneSigTable table)
- {
- }
-
- public virtual void VisitTypeDefTable (TypeDefTable table)
- {
- }
-
- public virtual void VisitTypeRefTable (TypeRefTable table)
- {
- }
-
- public virtual void VisitTypeSpecTable (TypeSpecTable table)
- {
- }
-
- public virtual void TerminateTableCollection (TableCollection coll)
- {
- }
-
- public abstract IMetadataRowVisitor GetRowVisitor();
- }
-
- public abstract class BaseMetadataRowVisitor : IMetadataRowVisitor {
-
- public virtual void VisitRowCollection (RowCollection coll)
- {
- }
-
- public virtual void VisitAssemblyRow (AssemblyRow row)
- {
- }
-
- public virtual void VisitAssemblyOSRow (AssemblyOSRow row)
- {
- }
-
- public virtual void VisitAssemblyProcessorRow (AssemblyProcessorRow row)
- {
- }
-
- public virtual void VisitAssemblyRefRow (AssemblyRefRow row)
- {
- }
-
- public virtual void VisitAssemblyRefOSRow (AssemblyRefOSRow row)
- {
- }
-
- public virtual void VisitAssemblyRefProcessorRow (AssemblyRefProcessorRow row)
- {
- }
-
- public virtual void VisitClassLayoutRow (ClassLayoutRow row)
- {
- }
-
- public virtual void VisitConstantRow (ConstantRow row)
- {
- }
-
- public virtual void VisitCustomAttributeRow (CustomAttributeRow row)
- {
- }
-
- public virtual void VisitDeclSecurityRow (DeclSecurityRow row)
- {
- }
-
- public virtual void VisitEventRow (EventRow row)
- {
- }
-
- public virtual void VisitEventMapRow (EventMapRow row)
- {
- }
-
- public virtual void VisitEventPtrRow (EventPtrRow row)
- {
- }
-
- public virtual void VisitExportedTypeRow (ExportedTypeRow row)
- {
- }
-
- public virtual void VisitFieldRow (FieldRow row)
- {
- }
-
- public virtual void VisitFieldLayoutRow (FieldLayoutRow row)
- {
- }
-
- public virtual void VisitFieldMarshalRow (FieldMarshalRow row)
- {
- }
-
- public virtual void VisitFieldPtrRow (FieldPtrRow row)
- {
- }
-
- public virtual void VisitFieldRVARow (FieldRVARow row)
- {
- }
-
- public virtual void VisitFileRow (FileRow row)
- {
- }
-
- public virtual void VisitGenericParamRow (GenericParamRow row)
- {
- }
-
- public virtual void VisitGenericParamConstraintRow (GenericParamConstraintRow row)
- {
- }
-
- public virtual void VisitImplMapRow (ImplMapRow row)
- {
- }
-
- public virtual void VisitInterfaceImplRow (InterfaceImplRow row)
- {
- }
-
- public virtual void VisitManifestResourceRow (ManifestResourceRow row)
- {
- }
-
- public virtual void VisitMemberRefRow (MemberRefRow row)
- {
- }
-
- public virtual void VisitMethodRow (MethodRow row)
- {
- }
-
- public virtual void VisitMethodImplRow (MethodImplRow row)
- {
- }
-
- public virtual void VisitMethodPtrRow (MethodPtrRow row)
- {
- }
-
- public virtual void VisitMethodSemanticsRow (MethodSemanticsRow row)
- {
- }
-
- public virtual void VisitMethodSpecRow (MethodSpecRow row)
- {
- }
-
- public virtual void VisitModuleRow (ModuleRow row)
- {
- }
-
- public virtual void VisitModuleRefRow (ModuleRefRow row)
- {
- }
-
- public virtual void VisitNestedClassRow (NestedClassRow row)
- {
- }
-
- public virtual void VisitParamRow (ParamRow row)
- {
- }
-
- public virtual void VisitParamPtrRow (ParamPtrRow row)
- {
- }
-
- public virtual void VisitPropertyRow (PropertyRow row)
- {
- }
-
- public virtual void VisitPropertyMapRow (PropertyMapRow row)
- {
- }
-
- public virtual void VisitPropertyPtrRow (PropertyPtrRow row)
- {
- }
-
- public virtual void VisitStandAloneSigRow (StandAloneSigRow row)
- {
- }
-
- public virtual void VisitTypeDefRow (TypeDefRow row)
- {
- }
-
- public virtual void VisitTypeRefRow (TypeRefRow row)
- {
- }
-
- public virtual void VisitTypeSpecRow (TypeSpecRow row)
- {
- }
-
- public virtual void TerminateRowCollection (RowCollection coll)
- {
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/BlobHeap.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/BlobHeap.cs
index 7c6d81bf3a7..81c775e0184 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/BlobHeap.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/BlobHeap.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,65 +26,34 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil.Metadata {
-
- using System;
- using System.Collections;
- using System.IO;
+using System;
- public class BlobHeap : MetadataHeap {
+using Mono.Cecil.PE;
- internal BlobHeap (MetadataStream stream) : base (stream, MetadataStream.Blob)
- {
- }
+namespace Mono.Cecil.Metadata {
- public byte [] Read (uint index)
- {
- return ReadBytesFromStream (index);
- }
+ sealed class BlobHeap : Heap {
- public BinaryReader GetReader (uint index)
+ public BlobHeap (Section section, uint start, uint size)
+ : base (section, start, size)
{
- return new BinaryReader (new MemoryStream (Read (index)));
}
- public override void Accept (IMetadataVisitor visitor)
- {
- visitor.VisitBlobHeap (this);
- }
- }
-
- class ByteArrayEqualityComparer : IHashCodeProvider, IComparer {
-
- public static readonly ByteArrayEqualityComparer Instance = new ByteArrayEqualityComparer ();
-
- public int GetHashCode (object obj)
+ public byte [] Read (uint index)
{
- byte [] array = (byte []) obj;
+ if (index == 0 || index > Size - 1)
+ return Empty<byte>.Array;
- int hash = 0;
- for (int i = 0; i < array.Length; i++)
- hash = (hash * 37) ^ array [i];
-
- return hash;
- }
-
- public int Compare (object a, object b)
- {
- byte [] x = (byte []) a;
- byte [] y = (byte []) b;
+ var data = Section.Data;
- if (x == null || y == null)
- return x == y ? 0 : 1;
+ int position = (int) (index + Offset);
+ int length = (int) data.ReadCompressedUInt32 (ref position);
- if (x.Length != y.Length)
- return 1;
+ var buffer = new byte [length];
- for (int i = 0; i < x.Length; i++)
- if (x [i] != y [i])
- return 1;
+ Buffer.BlockCopy (data, position, buffer, 0, length);
- return 0;
+ return buffer;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Buffers.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Buffers.cs
new file mode 100644
index 00000000000..e8759d7426d
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Buffers.cs
@@ -0,0 +1,373 @@
+//
+// TableHeapBuffer.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+using Mono.Cecil.PE;
+
+using RVA = System.UInt32;
+
+#if !READ_ONLY
+
+namespace Mono.Cecil.Metadata {
+
+ sealed class TableHeapBuffer : HeapBuffer {
+
+ readonly ModuleDefinition module;
+ readonly MetadataBuilder metadata;
+
+ internal MetadataTable [] tables = new MetadataTable [45];
+
+ bool large_string;
+ bool large_blob;
+ readonly int [] coded_index_sizes = new int [13];
+ readonly Func<Table, int> counter;
+
+ public override bool IsEmpty {
+ get { return false; }
+ }
+
+ public TableHeapBuffer (ModuleDefinition module, MetadataBuilder metadata)
+ : base (24)
+ {
+ this.module = module;
+ this.metadata = metadata;
+ this.counter = GetTableLength;
+ }
+
+ int GetTableLength (Table table)
+ {
+ var md_table = tables [(int) table];
+ return md_table != null ? md_table.Length : 0;
+ }
+
+ public TTable GetTable<TTable> (Table table) where TTable : MetadataTable, new ()
+ {
+ var md_table = (TTable) tables [(int) table];
+ if (md_table != null)
+ return md_table;
+
+ md_table = new TTable ();
+ tables [(int) table] = md_table;
+ return md_table;
+ }
+
+ public void WriteBySize (uint value, int size)
+ {
+ if (size == 4)
+ WriteUInt32 (value);
+ else
+ WriteUInt16 ((ushort) value);
+ }
+
+ public void WriteBySize (uint value, bool large)
+ {
+ if (large)
+ WriteUInt32 (value);
+ else
+ WriteUInt16 ((ushort) value);
+ }
+
+ public void WriteString (uint @string)
+ {
+ WriteBySize (@string, large_string);
+ }
+
+ public void WriteBlob (uint blob)
+ {
+ WriteBySize (blob, large_blob);
+ }
+
+ public void WriteRID (uint rid, Table table)
+ {
+ var md_table = tables [(int) table];
+ WriteBySize (rid, md_table == null ? false : md_table.IsLarge);
+ }
+
+ int GetCodedIndexSize (CodedIndex coded_index)
+ {
+ var index = (int) coded_index;
+ var size = coded_index_sizes [index];
+ if (size != 0)
+ return size;
+
+ return coded_index_sizes [index] = coded_index.GetSize (counter);
+ }
+
+ public void WriteCodedRID (uint rid, CodedIndex coded_index)
+ {
+ WriteBySize (rid, GetCodedIndexSize (coded_index));
+ }
+
+ public void WriteTableHeap ()
+ {
+ WriteUInt32 (0); // Reserved
+ WriteByte (GetTableHeapVersion ()); // MajorVersion
+ WriteByte (0); // MinorVersion
+ WriteByte (GetHeapSizes ()); // HeapSizes
+ WriteByte (10); // Reserved2
+ WriteUInt64 (GetValid ()); // Valid
+ WriteUInt64 (0x0016003301fa00); // Sorted
+
+ WriteRowCount ();
+ WriteTables ();
+ }
+
+ void WriteRowCount ()
+ {
+ for (int i = 0; i < tables.Length; i++) {
+ var table = tables [i];
+ if (table == null || table.Length == 0)
+ continue;
+
+ WriteUInt32 ((uint) table.Length);
+ }
+ }
+
+ void WriteTables ()
+ {
+ for (int i = 0; i < tables.Length; i++) {
+ var table = tables [i];
+ if (table == null || table.Length == 0)
+ continue;
+
+ table.Write (this);
+ }
+ }
+
+ ulong GetValid ()
+ {
+ ulong valid = 0;
+
+ for (int i = 0; i < tables.Length; i++) {
+ var table = tables [i];
+ if (table == null || table.Length == 0)
+ continue;
+
+ table.Sort ();
+ valid |= (1UL << i);
+ }
+
+ return valid;
+ }
+
+ byte GetHeapSizes ()
+ {
+ byte heap_sizes = 0;
+
+ if (metadata.string_heap.IsLarge) {
+ large_string = true;
+ heap_sizes |= 0x01;
+ }
+
+ if (metadata.blob_heap.IsLarge) {
+ large_blob = true;
+ heap_sizes |= 0x04;
+ }
+
+ return heap_sizes;
+ }
+
+ byte GetTableHeapVersion ()
+ {
+ switch (module.Runtime) {
+ case TargetRuntime.Net_1_0:
+ case TargetRuntime.Net_1_1:
+ return 1;
+ default:
+ return 2;
+ }
+ }
+
+ public void FixupData (RVA data_rva)
+ {
+ var table = GetTable<FieldRVATable> (Table.FieldRVA);
+ if (table.length == 0)
+ return;
+
+ var field_idx_size = GetTable<FieldTable> (Table.Field).IsLarge ? 4 : 2;
+ var previous = this.position;
+
+ base.position = table.position;
+ for (int i = 0; i < table.length; i++) {
+ var rva = ReadUInt32 ();
+ base.position -= 4;
+ WriteUInt32 (rva + data_rva);
+ base.position += field_idx_size;
+ }
+
+ base.position = previous;
+ }
+ }
+
+ sealed class ResourceBuffer : ByteBuffer {
+
+ public ResourceBuffer ()
+ : base (0)
+ {
+ }
+
+ public uint AddResource (byte [] resource)
+ {
+ var offset = (uint) this.position;
+ WriteInt32 (resource.Length);
+ WriteBytes (resource);
+ return offset;
+ }
+ }
+
+ sealed class DataBuffer : ByteBuffer {
+
+ public DataBuffer ()
+ : base (0)
+ {
+ }
+
+ public RVA AddData (byte [] data)
+ {
+ var rva = (RVA) position;
+ WriteBytes (data);
+ return rva;
+ }
+ }
+
+ abstract class HeapBuffer : ByteBuffer {
+
+ public bool IsLarge {
+ get { return base.length > 65536; }
+ }
+
+ public abstract bool IsEmpty { get; }
+
+ protected HeapBuffer (int length)
+ : base (length)
+ {
+ }
+ }
+
+ class StringHeapBuffer : HeapBuffer {
+
+ readonly Dictionary<string, uint> strings = new Dictionary<string, uint> ();
+
+ public sealed override bool IsEmpty {
+ get { return length <= 1; }
+ }
+
+ public StringHeapBuffer ()
+ : base (1)
+ {
+ WriteByte (0);
+ }
+
+ public uint GetStringIndex (string @string)
+ {
+ uint index;
+ if (strings.TryGetValue (@string, out index))
+ return index;
+
+ index = (uint) base.position;
+ WriteString (@string);
+ strings.Add (@string, index);
+ return index;
+ }
+
+ protected virtual void WriteString (string @string)
+ {
+ WriteBytes (Encoding.UTF8.GetBytes (@string));
+ WriteByte (0);
+ }
+ }
+
+ sealed class BlobHeapBuffer : HeapBuffer {
+
+ readonly Dictionary<ByteBuffer, uint> blobs = new Dictionary<ByteBuffer, uint> (new ByteBufferEqualityComparer ());
+
+ public override bool IsEmpty {
+ get { return length <= 1; }
+ }
+
+ public BlobHeapBuffer ()
+ : base (1)
+ {
+ WriteByte (0);
+ }
+
+ public uint GetBlobIndex (ByteBuffer blob)
+ {
+ uint index;
+ if (blobs.TryGetValue (blob, out index))
+ return index;
+
+ index = (uint) base.position;
+ WriteBlob (blob);
+ blobs.Add (blob, index);
+ return index;
+ }
+
+ void WriteBlob (ByteBuffer blob)
+ {
+ WriteCompressedUInt32 ((uint) blob.length);
+ WriteBytes (blob);
+ }
+ }
+
+ sealed class UserStringHeapBuffer : StringHeapBuffer {
+
+ protected override void WriteString (string @string)
+ {
+ WriteCompressedUInt32 ((uint) @string.Length * 2 + 1);
+
+ byte special = 0;
+
+ for (int i = 0; i < @string.Length; i++) {
+ var @char = @string [i];
+ WriteUInt16 (@char);
+
+ if (special == 1)
+ continue;
+
+ if (@char < 0x20 || @char > 0x7e) {
+ if (@char > 0x7e
+ || (@char >= 0x01 && @char <= 0x08)
+ || (@char >= 0x0e && @char <= 0x1f)
+ || @char == 0x27
+ || @char == 0x2d) {
+
+ special = 1;
+ }
+ }
+ }
+
+ WriteByte (special);
+ }
+ }
+}
+
+#endif
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ClassLayout.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ClassLayout.cs
deleted file mode 100644
index cb83be4bdc1..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ClassLayout.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// ClassLayoutTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:25 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class ClassLayoutTable : IMetadataTable {
-
- public const int RId = 0x0f;
-
- RowCollection m_rows;
-
- public ClassLayoutRow this [int index] {
- get { return m_rows [index] as ClassLayoutRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal ClassLayoutTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitClassLayoutTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class ClassLayoutRow : IMetadataRow {
-
- public ushort PackingSize;
- public uint ClassSize;
- public uint Parent;
-
- internal ClassLayoutRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitClassLayoutRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/CodedIndex.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/CodedIndex.cs
index 2cf5578258a..62677263d41 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/CodedIndex.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/CodedIndex.cs
@@ -4,10 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Mar 20 16:02:16 +0100 2007
-//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -31,7 +28,7 @@
namespace Mono.Cecil.Metadata {
- public enum CodedIndex {
+ enum CodedIndex {
TypeDefOrRef,
HasConstant,
HasCustomAttribute,
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Constant.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Constant.cs
deleted file mode 100644
index 3ca867df3ef..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Constant.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// ConstantTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:25 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class ConstantTable : IMetadataTable {
-
- public const int RId = 0x0b;
-
- RowCollection m_rows;
-
- public ConstantRow this [int index] {
- get { return m_rows [index] as ConstantRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal ConstantTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitConstantTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class ConstantRow : IMetadataRow {
-
- public ElementType Type;
- public MetadataToken Parent;
- public uint Value;
-
- internal ConstantRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitConstantRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/CustomAttribute.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/CustomAttribute.cs
deleted file mode 100644
index 21a0d0c8786..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/CustomAttribute.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// CustomAttributeTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:25 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class CustomAttributeTable : IMetadataTable {
-
- public const int RId = 0x0c;
-
- RowCollection m_rows;
-
- public CustomAttributeRow this [int index] {
- get { return m_rows [index] as CustomAttributeRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal CustomAttributeTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitCustomAttributeTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class CustomAttributeRow : IMetadataRow {
-
- public MetadataToken Parent;
- public MetadataToken Type;
- public uint Value;
-
- internal CustomAttributeRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitCustomAttributeRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/DeclSecurity.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/DeclSecurity.cs
deleted file mode 100644
index 1b2fbdc54f3..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/DeclSecurity.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-//
-// DeclSecurityTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil;
-
- public sealed class DeclSecurityTable : IMetadataTable {
-
- public const int RId = 0x0e;
-
- RowCollection m_rows;
-
- public DeclSecurityRow this [int index] {
- get { return m_rows [index] as DeclSecurityRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal DeclSecurityTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitDeclSecurityTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class DeclSecurityRow : IMetadataRow {
-
- public SecurityAction Action;
- public MetadataToken Parent;
- public uint PermissionSet;
-
- internal DeclSecurityRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitDeclSecurityRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ElementType.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ElementType.cs
index 4d78f435f98..1ede042b50d 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ElementType.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ElementType.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -28,46 +28,46 @@
namespace Mono.Cecil.Metadata {
- public enum ElementType {
- End = 0x00, // Marks end of a list
- Void = 0x01,
- Boolean = 0x02,
- Char = 0x03,
- I1 = 0x04,
- U1 = 0x05,
- I2 = 0x06,
- U2 = 0x07,
- I4 = 0x08,
- U4 = 0x09,
- I8 = 0x0a,
- U8 = 0x0b,
- R4 = 0x0c,
- R8 = 0x0d,
- String = 0x0e,
- Ptr = 0x0f, // Followed by <type> token
- ByRef = 0x10, // Followed by <type> token
- ValueType = 0x11, // Followed by <type> token
- Class = 0x12, // Followed by <type> token
- Var = 0x13, // Followed by generic parameter number
- Array = 0x14, // <type> <rank> <boundsCount> <bound1> <loCount> <lo1>
+ enum ElementType : byte {
+ None = 0x00,
+ Void = 0x01,
+ Boolean = 0x02,
+ Char = 0x03,
+ I1 = 0x04,
+ U1 = 0x05,
+ I2 = 0x06,
+ U2 = 0x07,
+ I4 = 0x08,
+ U4 = 0x09,
+ I8 = 0x0a,
+ U8 = 0x0b,
+ R4 = 0x0c,
+ R8 = 0x0d,
+ String = 0x0e,
+ Ptr = 0x0f, // Followed by <type> token
+ ByRef = 0x10, // Followed by <type> token
+ ValueType = 0x11, // Followed by <type> token
+ Class = 0x12, // Followed by <type> token
+ Var = 0x13, // Followed by generic parameter number
+ Array = 0x14, // <type> <rank> <boundsCount> <bound1> <loCount> <lo1>
GenericInst = 0x15, // <type> <type-arg-count> <type-1> ... <type-n> */
- TypedByRef = 0x16,
- I = 0x18, // System.IntPtr
- U = 0x19, // System.UIntPtr
- FnPtr = 0x1b, // Followed by full method signature
- Object = 0x1c, // System.Object
- SzArray = 0x1d, // Single-dim array with 0 lower bound
- MVar = 0x1e, // Followed by generic parameter number
- CModReqD = 0x1f, // Required modifier : followed by a TypeDef or TypeRef token
- CModOpt = 0x20, // Optional modifier : followed by a TypeDef or TypeRef token
- Internal = 0x21, // Implemented within the CLI
- Modifier = 0x40, // Or'd with following element types
- Sentinel = 0x41, // Sentinel for varargs method signature
- Pinned = 0x45, // Denotes a local variable that points at a pinned object
+ TypedByRef = 0x16,
+ I = 0x18, // System.IntPtr
+ U = 0x19, // System.UIntPtr
+ FnPtr = 0x1b, // Followed by full method signature
+ Object = 0x1c, // System.Object
+ SzArray = 0x1d, // Single-dim array with 0 lower bound
+ MVar = 0x1e, // Followed by generic parameter number
+ CModReqD = 0x1f, // Required modifier : followed by a TypeDef or TypeRef token
+ CModOpt = 0x20, // Optional modifier : followed by a TypeDef or TypeRef token
+ Internal = 0x21, // Implemented within the CLI
+ Modifier = 0x40, // Or'd with following element types
+ Sentinel = 0x41, // Sentinel for varargs method signature
+ Pinned = 0x45, // Denotes a local variable that points at a pinned object
// special undocumented constants
- Type = 0x50,
- Boxed = 0x51,
- Enum = 0x55
+ Type = 0x50,
+ Boxed = 0x51,
+ Enum = 0x55
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Event.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Event.cs
deleted file mode 100644
index a60fedb3098..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Event.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-//
-// EventTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil;
-
- public sealed class EventTable : IMetadataTable {
-
- public const int RId = 0x14;
-
- RowCollection m_rows;
-
- public EventRow this [int index] {
- get { return m_rows [index] as EventRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal EventTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitEventTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class EventRow : IMetadataRow {
-
- public EventAttributes EventFlags;
- public uint Name;
- public MetadataToken EventType;
-
- internal EventRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitEventRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/EventMap.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/EventMap.cs
deleted file mode 100644
index c3be845ab82..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/EventMap.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// EventMapTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class EventMapTable : IMetadataTable {
-
- public const int RId = 0x12;
-
- RowCollection m_rows;
-
- public EventMapRow this [int index] {
- get { return m_rows [index] as EventMapRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal EventMapTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitEventMapTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class EventMapRow : IMetadataRow {
-
- public uint Parent;
- public uint EventList;
-
- internal EventMapRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitEventMapRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/EventPtr.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/EventPtr.cs
deleted file mode 100644
index 094fe5c3591..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/EventPtr.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// EventPtrTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Thu Feb 22 14:39:38 CET 2007
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class EventPtrTable : IMetadataTable {
-
- public const int RId = 0x13;
-
- RowCollection m_rows;
-
- public EventPtrRow this [int index] {
- get { return m_rows [index] as EventPtrRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal EventPtrTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitEventPtrTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class EventPtrRow : IMetadataRow {
-
- public uint Event;
-
- internal EventPtrRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitEventPtrRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ExportedType.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ExportedType.cs
deleted file mode 100644
index bca827ff20a..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ExportedType.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-//
-// ExportedTypeTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil;
-
- public sealed class ExportedTypeTable : IMetadataTable {
-
- public const int RId = 0x27;
-
- RowCollection m_rows;
-
- public ExportedTypeRow this [int index] {
- get { return m_rows [index] as ExportedTypeRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal ExportedTypeTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitExportedTypeTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class ExportedTypeRow : IMetadataRow {
-
- public TypeAttributes Flags;
- public uint TypeDefId;
- public uint TypeName;
- public uint TypeNamespace;
- public MetadataToken Implementation;
-
- internal ExportedTypeRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitExportedTypeRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Field.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Field.cs
deleted file mode 100644
index 65b799841f9..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Field.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-//
-// FieldTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil;
-
- public sealed class FieldTable : IMetadataTable {
-
- public const int RId = 0x04;
-
- RowCollection m_rows;
-
- public FieldRow this [int index] {
- get { return m_rows [index] as FieldRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal FieldTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitFieldTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class FieldRow : IMetadataRow {
-
- public FieldAttributes Flags;
- public uint Name;
- public uint Signature;
-
- internal FieldRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitFieldRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/FieldLayout.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/FieldLayout.cs
deleted file mode 100644
index 5cf1563594b..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/FieldLayout.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// FieldLayoutTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class FieldLayoutTable : IMetadataTable {
-
- public const int RId = 0x10;
-
- RowCollection m_rows;
-
- public FieldLayoutRow this [int index] {
- get { return m_rows [index] as FieldLayoutRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal FieldLayoutTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitFieldLayoutTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class FieldLayoutRow : IMetadataRow {
-
- public uint Offset;
- public uint Field;
-
- internal FieldLayoutRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitFieldLayoutRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/FieldMarshal.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/FieldMarshal.cs
deleted file mode 100644
index f5c69361e63..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/FieldMarshal.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// FieldMarshalTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class FieldMarshalTable : IMetadataTable {
-
- public const int RId = 0x0d;
-
- RowCollection m_rows;
-
- public FieldMarshalRow this [int index] {
- get { return m_rows [index] as FieldMarshalRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal FieldMarshalTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitFieldMarshalTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class FieldMarshalRow : IMetadataRow {
-
- public MetadataToken Parent;
- public uint NativeType;
-
- internal FieldMarshalRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitFieldMarshalRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/FieldPtr.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/FieldPtr.cs
deleted file mode 100644
index b0d0c8a77dd..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/FieldPtr.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// FieldPtrTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Thu Feb 22 14:39:38 CET 2007
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class FieldPtrTable : IMetadataTable {
-
- public const int RId = 0x03;
-
- RowCollection m_rows;
-
- public FieldPtrRow this [int index] {
- get { return m_rows [index] as FieldPtrRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal FieldPtrTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitFieldPtrTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class FieldPtrRow : IMetadataRow {
-
- public uint Field;
-
- internal FieldPtrRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitFieldPtrRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/FieldRVA.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/FieldRVA.cs
deleted file mode 100644
index e4e9fce0d19..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/FieldRVA.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-//
-// FieldRVATable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil.Binary;
-
- public sealed class FieldRVATable : IMetadataTable {
-
- public const int RId = 0x1d;
-
- RowCollection m_rows;
-
- public FieldRVARow this [int index] {
- get { return m_rows [index] as FieldRVARow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal FieldRVATable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitFieldRVATable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class FieldRVARow : IMetadataRow {
-
- public RVA RVA;
- public uint Field;
-
- internal FieldRVARow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitFieldRVARow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/File.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/File.cs
deleted file mode 100644
index de109197a57..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/File.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-//
-// FileTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil;
-
- public sealed class FileTable : IMetadataTable {
-
- public const int RId = 0x26;
-
- RowCollection m_rows;
-
- public FileRow this [int index] {
- get { return m_rows [index] as FileRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal FileTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitFileTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class FileRow : IMetadataRow {
-
- public FileAttributes Flags;
- public uint Name;
- public uint HashValue;
-
- internal FileRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitFileRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/GenericParam.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/GenericParam.cs
deleted file mode 100644
index 219ca606a38..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/GenericParam.cs
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// GenericParamTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil;
-
- public sealed class GenericParamTable : IMetadataTable {
-
- public const int RId = 0x2a;
-
- RowCollection m_rows;
-
- public GenericParamRow this [int index] {
- get { return m_rows [index] as GenericParamRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal GenericParamTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitGenericParamTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class GenericParamRow : IMetadataRow {
-
- public ushort Number;
- public GenericParameterAttributes Flags;
- public MetadataToken Owner;
- public uint Name;
-
- internal GenericParamRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitGenericParamRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/GenericParamConstraint.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/GenericParamConstraint.cs
deleted file mode 100644
index f6aa3286177..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/GenericParamConstraint.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// GenericParamConstraintTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class GenericParamConstraintTable : IMetadataTable {
-
- public const int RId = 0x2c;
-
- RowCollection m_rows;
-
- public GenericParamConstraintRow this [int index] {
- get { return m_rows [index] as GenericParamConstraintRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal GenericParamConstraintTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitGenericParamConstraintTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class GenericParamConstraintRow : IMetadataRow {
-
- public uint Owner;
- public MetadataToken Constraint;
-
- internal GenericParamConstraintRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitGenericParamConstraintRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/GuidHeap.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/GuidHeap.cs
index ade00ec79ae..19acdab5121 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/GuidHeap.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/GuidHeap.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,55 +26,34 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil.Metadata {
+using System;
- using System;
- using System.Collections;
+using Mono.Cecil.PE;
- public class GuidHeap : MetadataHeap {
+namespace Mono.Cecil.Metadata {
- readonly IDictionary m_guids;
+ sealed class GuidHeap : Heap {
- public IDictionary Guids {
- get { return m_guids; }
+ public GuidHeap (Section section, uint start, uint size)
+ : base (section, start, size)
+ {
}
- public GuidHeap (MetadataStream stream) : base (stream, MetadataStream.GUID)
+ public Guid Read (uint index)
{
- int capacity = (int)(stream.Header.Size / 16);
- m_guids = new Hashtable (capacity);
- }
+ if (index == 0)
+ return new Guid ();
- public Guid this [uint index] {
- get {
- if (index == 0)
- return new Guid (new byte [16]);
+ const int guid_size = 16;
- int idx = (int) index - 1;
+ var buffer = new byte [guid_size];
- if (m_guids.Contains (idx))
- return (Guid) m_guids [idx];
+ index--;
- if (idx + 16 > this.Data.Length)
- throw new IndexOutOfRangeException ();
+ Buffer.BlockCopy (Section.Data, (int) (Offset + index), buffer, 0, guid_size);
- byte [] buffer = null;
- if (this.Data.Length == 16) {
- buffer = this.Data;
- } else {
- buffer = new byte [16];
- Buffer.BlockCopy (this.Data, idx, buffer, 0, 16);
- }
- Guid res = new Guid (buffer);
- m_guids [idx] = res;
- return res;
- }
- set { m_guids [index] = value; }
- }
+ return new Guid (buffer);
- public override void Accept (IMetadataVisitor visitor)
- {
- visitor.VisitGuidHeap (this);
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Heap.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Heap.cs
new file mode 100644
index 00000000000..e7ff72059b1
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Heap.cs
@@ -0,0 +1,48 @@
+//
+// Heap.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using Mono.Cecil.PE;
+
+namespace Mono.Cecil.Metadata {
+
+ abstract class Heap {
+
+ public int IndexSize;
+
+ public readonly Section Section;
+ public readonly uint Offset;
+ public readonly uint Size;
+
+ protected Heap (Section section, uint offset, uint size)
+ {
+ this.Section = section;
+ this.Offset = offset;
+ this.Size = size;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/IMetadataRow.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/IMetadataRow.cs
deleted file mode 100644
index 012d5bf31e5..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/IMetadataRow.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// IMetadataRow.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public interface IMetadataRow : IMetadataRowVisitable {
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/IMetadataTable.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/IMetadataTable.cs
deleted file mode 100644
index 2fdf849d634..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/IMetadataTable.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// IMetadataTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public interface IMetadataTable : IMetadataTableVisitable {
- int Id { get; }
- RowCollection Rows { get; set; }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/IMetadataVisitable.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/IMetadataVisitable.cs
deleted file mode 100644
index 09ce018feb2..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/IMetadataVisitable.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// IMetadataVisitable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public interface IMetadataVisitable {
- void Accept (IMetadataVisitor visitor);
- }
-
- public interface IMetadataTableVisitable {
- void Accept (IMetadataTableVisitor visitor);
- }
-
- public interface IMetadataRowVisitable {
- void Accept (IMetadataRowVisitor visitor);
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/IMetadataVisitor.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/IMetadataVisitor.cs
deleted file mode 100644
index 3bbea3ac747..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/IMetadataVisitor.cs
+++ /dev/null
@@ -1,149 +0,0 @@
-//
-// IMetadataVisitor.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Thu Feb 22 14:39:38 CET 2007
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public interface IMetadataVisitor {
- void VisitMetadataRoot (MetadataRoot root);
- void VisitMetadataRootHeader (MetadataRoot.MetadataRootHeader header);
- void VisitMetadataStreamCollection (MetadataStreamCollection streams);
- void VisitMetadataStream (MetadataStream stream);
- void VisitMetadataStreamHeader (MetadataStream.MetadataStreamHeader header);
- void VisitGuidHeap (GuidHeap heap);
- void VisitStringsHeap (StringsHeap heap);
- void VisitTablesHeap (TablesHeap heap);
- void VisitBlobHeap (BlobHeap heap);
- void VisitUserStringsHeap (UserStringsHeap heap);
-
- void TerminateMetadataRoot (MetadataRoot root);
- }
-
- public interface IMetadataTableVisitor {
- void VisitTableCollection (TableCollection coll);
-
- void VisitAssemblyTable (AssemblyTable table);
- void VisitAssemblyOSTable (AssemblyOSTable table);
- void VisitAssemblyProcessorTable (AssemblyProcessorTable table);
- void VisitAssemblyRefTable (AssemblyRefTable table);
- void VisitAssemblyRefOSTable (AssemblyRefOSTable table);
- void VisitAssemblyRefProcessorTable (AssemblyRefProcessorTable table);
- void VisitClassLayoutTable (ClassLayoutTable table);
- void VisitConstantTable (ConstantTable table);
- void VisitCustomAttributeTable (CustomAttributeTable table);
- void VisitDeclSecurityTable (DeclSecurityTable table);
- void VisitEventTable (EventTable table);
- void VisitEventMapTable (EventMapTable table);
- void VisitEventPtrTable (EventPtrTable table);
- void VisitExportedTypeTable (ExportedTypeTable table);
- void VisitFieldTable (FieldTable table);
- void VisitFieldLayoutTable (FieldLayoutTable table);
- void VisitFieldMarshalTable (FieldMarshalTable table);
- void VisitFieldPtrTable (FieldPtrTable table);
- void VisitFieldRVATable (FieldRVATable table);
- void VisitFileTable (FileTable table);
- void VisitGenericParamTable (GenericParamTable table);
- void VisitGenericParamConstraintTable (GenericParamConstraintTable table);
- void VisitImplMapTable (ImplMapTable table);
- void VisitInterfaceImplTable (InterfaceImplTable table);
- void VisitManifestResourceTable (ManifestResourceTable table);
- void VisitMemberRefTable (MemberRefTable table);
- void VisitMethodTable (MethodTable table);
- void VisitMethodImplTable (MethodImplTable table);
- void VisitMethodPtrTable (MethodPtrTable table);
- void VisitMethodSemanticsTable (MethodSemanticsTable table);
- void VisitMethodSpecTable (MethodSpecTable table);
- void VisitModuleTable (ModuleTable table);
- void VisitModuleRefTable (ModuleRefTable table);
- void VisitNestedClassTable (NestedClassTable table);
- void VisitParamTable (ParamTable table);
- void VisitParamPtrTable (ParamPtrTable table);
- void VisitPropertyTable (PropertyTable table);
- void VisitPropertyMapTable (PropertyMapTable table);
- void VisitPropertyPtrTable (PropertyPtrTable table);
- void VisitStandAloneSigTable (StandAloneSigTable table);
- void VisitTypeDefTable (TypeDefTable table);
- void VisitTypeRefTable (TypeRefTable table);
- void VisitTypeSpecTable (TypeSpecTable table);
-
- void TerminateTableCollection (TableCollection coll);
- IMetadataRowVisitor GetRowVisitor();
-}
-
- public interface IMetadataRowVisitor {
- void VisitRowCollection (RowCollection coll);
-
- void VisitAssemblyRow (AssemblyRow row);
- void VisitAssemblyOSRow (AssemblyOSRow row);
- void VisitAssemblyProcessorRow (AssemblyProcessorRow row);
- void VisitAssemblyRefRow (AssemblyRefRow row);
- void VisitAssemblyRefOSRow (AssemblyRefOSRow row);
- void VisitAssemblyRefProcessorRow (AssemblyRefProcessorRow row);
- void VisitClassLayoutRow (ClassLayoutRow row);
- void VisitConstantRow (ConstantRow row);
- void VisitCustomAttributeRow (CustomAttributeRow row);
- void VisitDeclSecurityRow (DeclSecurityRow row);
- void VisitEventRow (EventRow row);
- void VisitEventMapRow (EventMapRow row);
- void VisitEventPtrRow (EventPtrRow row);
- void VisitExportedTypeRow (ExportedTypeRow row);
- void VisitFieldRow (FieldRow row);
- void VisitFieldLayoutRow (FieldLayoutRow row);
- void VisitFieldMarshalRow (FieldMarshalRow row);
- void VisitFieldPtrRow (FieldPtrRow row);
- void VisitFieldRVARow (FieldRVARow row);
- void VisitFileRow (FileRow row);
- void VisitGenericParamRow (GenericParamRow row);
- void VisitGenericParamConstraintRow (GenericParamConstraintRow row);
- void VisitImplMapRow (ImplMapRow row);
- void VisitInterfaceImplRow (InterfaceImplRow row);
- void VisitManifestResourceRow (ManifestResourceRow row);
- void VisitMemberRefRow (MemberRefRow row);
- void VisitMethodRow (MethodRow row);
- void VisitMethodImplRow (MethodImplRow row);
- void VisitMethodPtrRow (MethodPtrRow row);
- void VisitMethodSemanticsRow (MethodSemanticsRow row);
- void VisitMethodSpecRow (MethodSpecRow row);
- void VisitModuleRow (ModuleRow row);
- void VisitModuleRefRow (ModuleRefRow row);
- void VisitNestedClassRow (NestedClassRow row);
- void VisitParamRow (ParamRow row);
- void VisitParamPtrRow (ParamPtrRow row);
- void VisitPropertyRow (PropertyRow row);
- void VisitPropertyMapRow (PropertyMapRow row);
- void VisitPropertyPtrRow (PropertyPtrRow row);
- void VisitStandAloneSigRow (StandAloneSigRow row);
- void VisitTypeDefRow (TypeDefRow row);
- void VisitTypeRefRow (TypeRefRow row);
- void VisitTypeSpecRow (TypeSpecRow row);
-
- void TerminateRowCollection (RowCollection coll);
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ImplMap.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ImplMap.cs
deleted file mode 100644
index 3548312bf2a..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ImplMap.cs
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// ImplMapTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil;
-
- public sealed class ImplMapTable : IMetadataTable {
-
- public const int RId = 0x1c;
-
- RowCollection m_rows;
-
- public ImplMapRow this [int index] {
- get { return m_rows [index] as ImplMapRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal ImplMapTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitImplMapTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class ImplMapRow : IMetadataRow {
-
- public PInvokeAttributes MappingFlags;
- public MetadataToken MemberForwarded;
- public uint ImportName;
- public uint ImportScope;
-
- internal ImplMapRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitImplMapRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/InterfaceImpl.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/InterfaceImpl.cs
deleted file mode 100644
index fc527c5050f..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/InterfaceImpl.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// InterfaceImplTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class InterfaceImplTable : IMetadataTable {
-
- public const int RId = 0x09;
-
- RowCollection m_rows;
-
- public InterfaceImplRow this [int index] {
- get { return m_rows [index] as InterfaceImplRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal InterfaceImplTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitInterfaceImplTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class InterfaceImplRow : IMetadataRow {
-
- public uint Class;
- public MetadataToken Interface;
-
- internal InterfaceImplRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitInterfaceImplRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ManifestResource.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ManifestResource.cs
deleted file mode 100644
index 07caf5111e5..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ManifestResource.cs
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// ManifestResourceTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil;
-
- public sealed class ManifestResourceTable : IMetadataTable {
-
- public const int RId = 0x28;
-
- RowCollection m_rows;
-
- public ManifestResourceRow this [int index] {
- get { return m_rows [index] as ManifestResourceRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal ManifestResourceTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitManifestResourceTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class ManifestResourceRow : IMetadataRow {
-
- public uint Offset;
- public ManifestResourceAttributes Flags;
- public uint Name;
- public MetadataToken Implementation;
-
- internal ManifestResourceRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitManifestResourceRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MemberRef.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MemberRef.cs
deleted file mode 100644
index 7a51aaaa08d..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MemberRef.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// MemberRefTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class MemberRefTable : IMetadataTable {
-
- public const int RId = 0x0a;
-
- RowCollection m_rows;
-
- public MemberRefRow this [int index] {
- get { return m_rows [index] as MemberRefRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal MemberRefTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitMemberRefTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class MemberRefRow : IMetadataRow {
-
- public MetadataToken Class;
- public uint Name;
- public uint Signature;
-
- internal MemberRefRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitMemberRefRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataFormatException.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataFormatException.cs
deleted file mode 100644
index dd917905f72..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataFormatException.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// MetadataFormatException.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using System;
-
- using Mono.Cecil.Binary;
-
- public class MetadataFormatException : ImageFormatException {
-
- internal MetadataFormatException () : base ()
- {
- }
-
- internal MetadataFormatException (string message) : base (message)
- {
- }
-
- internal MetadataFormatException (string message, params string [] parameters) :
- base (string.Format (message, parameters))
- {
- }
-
- internal MetadataFormatException (string message, Exception inner) :
- base (message, inner)
- {
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataHeap.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataHeap.cs
deleted file mode 100644
index 7ce2d28df05..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataHeap.cs
+++ /dev/null
@@ -1,92 +0,0 @@
-//
-// MetadataHeap.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using System;
-
- using Mono.Cecil;
-
- public abstract class MetadataHeap : IMetadataVisitable {
-
- MetadataStream m_stream;
- string m_name;
- byte [] m_data;
-
- public string Name {
- get { return m_name; }
- }
-
- public byte [] Data {
- get { return m_data; }
- set { m_data = value; }
- }
-
- public int IndexSize;
-
- internal MetadataHeap (MetadataStream stream, string name)
- {
- m_name = name;
- m_stream = stream;
- }
-
- public static MetadataHeap HeapFactory (MetadataStream stream)
- {
- switch (stream.Header.Name) {
- case MetadataStream.Tables :
- case MetadataStream.IncrementalTables :
- return new TablesHeap (stream);
- case MetadataStream.GUID :
- return new GuidHeap (stream);
- case MetadataStream.Strings :
- return new StringsHeap (stream);
- case MetadataStream.UserStrings :
- return new UserStringsHeap (stream);
- case MetadataStream.Blob :
- return new BlobHeap (stream);
- default :
- return null;
- }
- }
-
- public MetadataStream GetStream ()
- {
- return m_stream;
- }
-
- protected virtual byte [] ReadBytesFromStream (uint pos)
- {
- int start, length = Utilities.ReadCompressedInteger (m_data, (int) pos, out start);
- byte [] buffer = new byte [length];
- Buffer.BlockCopy (m_data, start, buffer, 0, length);
- return buffer;
- }
-
- public abstract void Accept (IMetadataVisitor visitor);
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataRoot.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataRoot.cs
deleted file mode 100644
index 9305149ce4d..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataRoot.cs
+++ /dev/null
@@ -1,99 +0,0 @@
-//
-// MetadataRoot.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil.Binary;
-
- public sealed class MetadataRoot : IMetadataVisitable {
-
- MetadataRootHeader m_header;
- Image m_image;
-
- MetadataStreamCollection m_streams;
-
- public MetadataRootHeader Header {
- get { return m_header; }
- set { m_header = value; }
- }
-
- public MetadataStreamCollection Streams {
- get { return m_streams; }
- set { m_streams = value; }
- }
-
- internal MetadataRoot (Image img)
- {
- m_image = img;
- }
-
- public Image GetImage ()
- {
- return m_image;
- }
-
- public void Accept (IMetadataVisitor visitor)
- {
- visitor.VisitMetadataRoot (this);
-
- m_header.Accept (visitor);
- m_streams.Accept (visitor);
-
- visitor.TerminateMetadataRoot (this);
- }
-
- public sealed class MetadataRootHeader : IHeader, IMetadataVisitable {
-
- public const uint StandardSignature = 0x424a5342;
-
- public uint Signature;
- public ushort MinorVersion;
- public ushort MajorVersion;
- public uint Reserved;
- public string Version;
- public ushort Flags;
- public ushort Streams;
-
- internal MetadataRootHeader ()
- {
- }
-
- public void SetDefaultValues ()
- {
- Signature = StandardSignature;
- Reserved = 0;
- Flags = 0;
- }
-
- public void Accept (IMetadataVisitor visitor)
- {
- visitor.VisitMetadataRootHeader (this);
- }
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataStream.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataStream.cs
deleted file mode 100644
index 96ba0b437f0..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataStream.cs
+++ /dev/null
@@ -1,90 +0,0 @@
-//
-// MetadataStream.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public class MetadataStream : IMetadataVisitable {
-
- public const string Strings = "#Strings";
- public const string Tables = "#~";
- public const string IncrementalTables = "#-";
- public const string Blob = "#Blob";
- public const string GUID = "#GUID";
- public const string UserStrings = "#US";
-
- MetadataStreamHeader m_header;
- MetadataHeap m_heap;
-
- public MetadataStreamHeader Header {
- get { return m_header; }
- set { m_header = value; }
- }
-
- public MetadataHeap Heap {
- get { return m_heap; }
- set { m_heap = value; }
- }
-
- internal MetadataStream ()
- {
- m_header = new MetadataStreamHeader (this);
- }
-
- public void Accept (IMetadataVisitor visitor)
- {
- visitor.VisitMetadataStream (this);
-
- m_header.Accept (visitor);
- if (m_heap != null)
- m_heap.Accept (visitor);
- }
-
- public class MetadataStreamHeader : IMetadataVisitable {
-
- public uint Offset;
- public uint Size;
- public string Name;
-
- private MetadataStream m_stream;
-
- public MetadataStream Stream {
- get { return m_stream; }
- }
-
- internal MetadataStreamHeader (MetadataStream stream)
- {
- m_stream = stream;
- }
-
- public void Accept (IMetadataVisitor visitor)
- {
- visitor.VisitMetadataStreamHeader (this);
- }
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataStreamCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataStreamCollection.cs
deleted file mode 100644
index b602f177d0d..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataStreamCollection.cs
+++ /dev/null
@@ -1,145 +0,0 @@
-//
-// MetadataStreamCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using System;
- using System.Collections;
-
- public class MetadataStreamCollection : ICollection, IMetadataVisitable {
-
- IList m_items;
-
- BlobHeap m_blobHeap;
- GuidHeap m_guidHeap;
- StringsHeap m_stringsHeap;
- UserStringsHeap m_usHeap;
- TablesHeap m_tablesHeap;
-
- public MetadataStream this [int index] {
- get { return m_items [index] as MetadataStream; }
- set { m_items [index] = value; }
- }
-
- public int Count {
- get { return m_items.Count; }
- }
-
- public bool IsSynchronized {
- get { return false; }
- }
-
- public object SyncRoot {
- get { return this; }
- }
-
- public BlobHeap BlobHeap {
- get {
- if (m_blobHeap == null)
- m_blobHeap = GetHeap (MetadataStream.Blob) as BlobHeap;
- return m_blobHeap;
- }
- }
-
- public GuidHeap GuidHeap {
- get {
- if (m_guidHeap == null)
- m_guidHeap = GetHeap (MetadataStream.GUID) as GuidHeap;
- return m_guidHeap;
- }
- }
-
- public StringsHeap StringsHeap {
- get {
- if (m_stringsHeap == null)
- m_stringsHeap = GetHeap (MetadataStream.Strings) as StringsHeap;
- return m_stringsHeap;
- }
- }
-
- public TablesHeap TablesHeap {
- get {
- if (m_tablesHeap == null)
- m_tablesHeap = GetHeap (MetadataStream.Tables) as TablesHeap;
- return m_tablesHeap;
- }
- }
-
- public UserStringsHeap UserStringsHeap {
- get {
- if (m_usHeap == null)
- m_usHeap = GetHeap (MetadataStream.UserStrings) as UserStringsHeap;
- return m_usHeap;
- }
- }
-
- public MetadataStreamCollection ()
- {
- m_items = new ArrayList (5);
- }
-
- private MetadataHeap GetHeap (string name)
- {
- for (int i = 0; i < m_items.Count; i++) {
- MetadataStream stream = m_items [i] as MetadataStream;
- if (stream.Heap.Name == name)
- return stream.Heap;
- }
-
- return null;
- }
-
- internal void Add (MetadataStream value)
- {
- m_items.Add (value);
- }
-
- internal void Remove (MetadataStream value)
- {
- m_items.Remove (value);
- }
-
- public void CopyTo (Array ary, int index)
- {
- m_items.CopyTo (ary, index);
- }
-
- public IEnumerator GetEnumerator ()
- {
- return m_items.GetEnumerator ();
- }
-
- public void Accept (IMetadataVisitor visitor)
- {
- visitor.VisitMetadataStreamCollection (this);
-
- for (int i = 0; i < m_items.Count; i++)
- this [i].Accept (visitor);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataToken.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataToken.cs
index a771bad5291..8c1338e9482 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataToken.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataToken.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,77 +26,80 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil.Metadata {
+namespace Mono.Cecil {
public struct MetadataToken {
- uint m_rid;
- TokenType m_type;
+ readonly uint token;
- public uint RID {
- get { return m_rid; }
+ public uint RID {
+ get { return token & 0x00ffffff; }
}
public TokenType TokenType {
- get { return m_type; }
+ get { return (TokenType) (token & 0xff000000); }
}
- public static readonly MetadataToken Zero = new MetadataToken ((TokenType) 0, 0);
+ public static readonly MetadataToken Zero = new MetadataToken ((uint) 0);
- public MetadataToken (int token)
+ public MetadataToken (uint token)
{
- m_type = (TokenType) (token & 0xff000000);
- m_rid = (uint) token & 0x00ffffff;
+ this.token = token;
}
- public MetadataToken (TokenType table, uint rid)
+ public MetadataToken (TokenType type)
+ : this (type, 0)
{
- m_type = table;
- m_rid = rid;
}
- internal static MetadataToken FromMetadataRow (TokenType table, int rowIndex)
+ public MetadataToken (TokenType type, uint rid)
{
- return new MetadataToken (table, (uint) rowIndex + 1);
+ token = (uint) type | rid;
}
- public uint ToUInt ()
+ public MetadataToken (TokenType type, int rid)
{
- return (uint) m_type | m_rid;
+ token = (uint) type | (uint) rid;
}
- public override int GetHashCode ()
+ public int ToInt32 ()
{
- return (int) ToUInt ();
+ return (int) token;
}
- public override bool Equals (object other)
+ public uint ToUInt32 ()
{
- if (other is MetadataToken)
- return Equals ((MetadataToken) other);
+ return token;
+ }
- return false;
+ public override int GetHashCode ()
+ {
+ return (int) token;
}
- private bool Equals (MetadataToken other)
+ public override bool Equals (object obj)
{
- return other.m_rid == m_rid && other.m_type == m_type;
+ if (obj is MetadataToken) {
+ var other = (MetadataToken) obj;
+ return other.token == token;
+ }
+
+ return false;
}
public static bool operator == (MetadataToken one, MetadataToken other)
{
- return one.Equals (other);
+ return one.token == other.token;
}
public static bool operator != (MetadataToken one, MetadataToken other)
{
- return !one.Equals (other);
+ return one.token != other.token;
}
public override string ToString ()
{
- return string.Format ("{0} [0x{1}]",
- m_type, m_rid.ToString ("x4"));
+ return string.Format ("[{0}:0x{1}]", TokenType, RID.ToString ("x4"));
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Method.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Method.cs
deleted file mode 100644
index 3d195bc8062..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Method.cs
+++ /dev/null
@@ -1,87 +0,0 @@
-//
-// MethodTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil;
-
- using Mono.Cecil.Binary;
-
- public sealed class MethodTable : IMetadataTable {
-
- public const int RId = 0x06;
-
- RowCollection m_rows;
-
- public MethodRow this [int index] {
- get { return m_rows [index] as MethodRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal MethodTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitMethodTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class MethodRow : IMetadataRow {
-
- public RVA RVA;
- public MethodImplAttributes ImplFlags;
- public MethodAttributes Flags;
- public uint Name;
- public uint Signature;
- public uint ParamList;
-
- internal MethodRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitMethodRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MethodImpl.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MethodImpl.cs
deleted file mode 100644
index fa9a9d2ec95..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MethodImpl.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// MethodImplTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class MethodImplTable : IMetadataTable {
-
- public const int RId = 0x19;
-
- RowCollection m_rows;
-
- public MethodImplRow this [int index] {
- get { return m_rows [index] as MethodImplRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal MethodImplTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitMethodImplTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class MethodImplRow : IMetadataRow {
-
- public uint Class;
- public MetadataToken MethodBody;
- public MetadataToken MethodDeclaration;
-
- internal MethodImplRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitMethodImplRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MethodPtr.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MethodPtr.cs
deleted file mode 100644
index 7a81b8826aa..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MethodPtr.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// MethodPtrTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Thu Feb 22 14:39:38 CET 2007
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class MethodPtrTable : IMetadataTable {
-
- public const int RId = 0x05;
-
- RowCollection m_rows;
-
- public MethodPtrRow this [int index] {
- get { return m_rows [index] as MethodPtrRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal MethodPtrTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitMethodPtrTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class MethodPtrRow : IMetadataRow {
-
- public uint Method;
-
- internal MethodPtrRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitMethodPtrRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MethodSemantics.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MethodSemantics.cs
deleted file mode 100644
index c1dd17546dd..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MethodSemantics.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-//
-// MethodSemanticsTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil;
-
- public sealed class MethodSemanticsTable : IMetadataTable {
-
- public const int RId = 0x18;
-
- RowCollection m_rows;
-
- public MethodSemanticsRow this [int index] {
- get { return m_rows [index] as MethodSemanticsRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal MethodSemanticsTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitMethodSemanticsTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class MethodSemanticsRow : IMetadataRow {
-
- public MethodSemanticsAttributes Semantics;
- public uint Method;
- public MetadataToken Association;
-
- internal MethodSemanticsRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitMethodSemanticsRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MethodSpec.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MethodSpec.cs
deleted file mode 100644
index dc5a61d3967..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MethodSpec.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// MethodSpecTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class MethodSpecTable : IMetadataTable {
-
- public const int RId = 0x2b;
-
- RowCollection m_rows;
-
- public MethodSpecRow this [int index] {
- get { return m_rows [index] as MethodSpecRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal MethodSpecTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitMethodSpecTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class MethodSpecRow : IMetadataRow {
-
- public MetadataToken Method;
- public uint Instantiation;
-
- internal MethodSpecRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitMethodSpecRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Module.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Module.cs
deleted file mode 100644
index be06b969478..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Module.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-//
-// ModuleTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class ModuleTable : IMetadataTable {
-
- public const int RId = 0x00;
-
- RowCollection m_rows;
-
- public ModuleRow this [int index] {
- get { return m_rows [index] as ModuleRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal ModuleTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitModuleTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class ModuleRow : IMetadataRow {
-
- public ushort Generation;
- public uint Name;
- public uint Mvid;
- public uint EncId;
- public uint EncBaseId;
-
- internal ModuleRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitModuleRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ModuleRef.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ModuleRef.cs
deleted file mode 100644
index fd88991710b..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ModuleRef.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// ModuleRefTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class ModuleRefTable : IMetadataTable {
-
- public const int RId = 0x1a;
-
- RowCollection m_rows;
-
- public ModuleRefRow this [int index] {
- get { return m_rows [index] as ModuleRefRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal ModuleRefTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitModuleRefTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class ModuleRefRow : IMetadataRow {
-
- public uint Name;
-
- internal ModuleRefRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitModuleRefRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/NestedClass.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/NestedClass.cs
deleted file mode 100644
index 9920a6437d3..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/NestedClass.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// NestedClassTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class NestedClassTable : IMetadataTable {
-
- public const int RId = 0x29;
-
- RowCollection m_rows;
-
- public NestedClassRow this [int index] {
- get { return m_rows [index] as NestedClassRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal NestedClassTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitNestedClassTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class NestedClassRow : IMetadataRow {
-
- public uint NestedClass;
- public uint EnclosingClass;
-
- internal NestedClassRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitNestedClassRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Param.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Param.cs
deleted file mode 100644
index 5704ce60056..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Param.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-//
-// ParamTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil;
-
- public sealed class ParamTable : IMetadataTable {
-
- public const int RId = 0x08;
-
- RowCollection m_rows;
-
- public ParamRow this [int index] {
- get { return m_rows [index] as ParamRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal ParamTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitParamTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class ParamRow : IMetadataRow {
-
- public ParameterAttributes Flags;
- public ushort Sequence;
- public uint Name;
-
- internal ParamRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitParamRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ParamPtr.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ParamPtr.cs
deleted file mode 100644
index ffba322c154..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/ParamPtr.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// ParamPtrTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Thu Feb 22 14:39:38 CET 2007
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class ParamPtrTable : IMetadataTable {
-
- public const int RId = 0x07;
-
- RowCollection m_rows;
-
- public ParamPtrRow this [int index] {
- get { return m_rows [index] as ParamPtrRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal ParamPtrTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitParamPtrTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class ParamPtrRow : IMetadataRow {
-
- public uint Param;
-
- internal ParamPtrRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitParamPtrRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Property.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Property.cs
deleted file mode 100644
index 5f3bcc97cf1..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Property.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-//
-// PropertyTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil;
-
- public sealed class PropertyTable : IMetadataTable {
-
- public const int RId = 0x17;
-
- RowCollection m_rows;
-
- public PropertyRow this [int index] {
- get { return m_rows [index] as PropertyRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal PropertyTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitPropertyTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class PropertyRow : IMetadataRow {
-
- public PropertyAttributes Flags;
- public uint Name;
- public uint Type;
-
- internal PropertyRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitPropertyRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/PropertyMap.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/PropertyMap.cs
deleted file mode 100644
index 5a3b13ca38a..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/PropertyMap.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// PropertyMapTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class PropertyMapTable : IMetadataTable {
-
- public const int RId = 0x15;
-
- RowCollection m_rows;
-
- public PropertyMapRow this [int index] {
- get { return m_rows [index] as PropertyMapRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal PropertyMapTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitPropertyMapTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class PropertyMapRow : IMetadataRow {
-
- public uint Parent;
- public uint PropertyList;
-
- internal PropertyMapRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitPropertyMapRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/PropertyPtr.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/PropertyPtr.cs
deleted file mode 100644
index f767757a9e9..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/PropertyPtr.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// PropertyPtrTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Thu Feb 22 14:39:38 CET 2007
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class PropertyPtrTable : IMetadataTable {
-
- public const int RId = 0x16;
-
- RowCollection m_rows;
-
- public PropertyPtrRow this [int index] {
- get { return m_rows [index] as PropertyPtrRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal PropertyPtrTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitPropertyPtrTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class PropertyPtrRow : IMetadataRow {
-
- public uint Property;
-
- internal PropertyPtrRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitPropertyPtrRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Row.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Row.cs
new file mode 100644
index 00000000000..ab491a6e2ad
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Row.cs
@@ -0,0 +1,170 @@
+//
+// Row.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Collections.Generic;
+
+namespace Mono.Cecil.Metadata {
+
+ struct Row<T1, T2> {
+ internal T1 Col1;
+ internal T2 Col2;
+
+ public Row (T1 col1, T2 col2)
+ {
+ Col1 = col1;
+ Col2 = col2;
+ }
+ }
+
+ struct Row<T1, T2, T3> {
+ internal T1 Col1;
+ internal T2 Col2;
+ internal T3 Col3;
+
+ public Row (T1 col1, T2 col2, T3 col3)
+ {
+ Col1 = col1;
+ Col2 = col2;
+ Col3 = col3;
+ }
+ }
+
+ struct Row<T1, T2, T3, T4> {
+ internal T1 Col1;
+ internal T2 Col2;
+ internal T3 Col3;
+ internal T4 Col4;
+
+ public Row (T1 col1, T2 col2, T3 col3, T4 col4)
+ {
+ Col1 = col1;
+ Col2 = col2;
+ Col3 = col3;
+ Col4 = col4;
+ }
+ }
+
+ struct Row<T1, T2, T3, T4, T5> {
+ internal T1 Col1;
+ internal T2 Col2;
+ internal T3 Col3;
+ internal T4 Col4;
+ internal T5 Col5;
+
+ public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5)
+ {
+ Col1 = col1;
+ Col2 = col2;
+ Col3 = col3;
+ Col4 = col4;
+ Col5 = col5;
+ }
+ }
+
+ struct Row<T1, T2, T3, T4, T5, T6> {
+ internal T1 Col1;
+ internal T2 Col2;
+ internal T3 Col3;
+ internal T4 Col4;
+ internal T5 Col5;
+ internal T6 Col6;
+
+ public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5, T6 col6)
+ {
+ Col1 = col1;
+ Col2 = col2;
+ Col3 = col3;
+ Col4 = col4;
+ Col5 = col5;
+ Col6 = col6;
+ }
+ }
+
+ struct Row<T1, T2, T3, T4, T5, T6, T7, T8, T9> {
+ internal T1 Col1;
+ internal T2 Col2;
+ internal T3 Col3;
+ internal T4 Col4;
+ internal T5 Col5;
+ internal T6 Col6;
+ internal T7 Col7;
+ internal T8 Col8;
+ internal T9 Col9;
+
+ public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5, T6 col6, T7 col7, T8 col8, T9 col9)
+ {
+ Col1 = col1;
+ Col2 = col2;
+ Col3 = col3;
+ Col4 = col4;
+ Col5 = col5;
+ Col6 = col6;
+ Col7 = col7;
+ Col8 = col8;
+ Col9 = col9;
+ }
+ }
+
+ sealed class RowEqualityComparer : IEqualityComparer<Row<string, string>>, IEqualityComparer<Row<uint, uint>>, IEqualityComparer<Row<uint, uint, uint>> {
+
+ public bool Equals (Row<string, string> x, Row<string, string> y)
+ {
+ return x.Col1 == y.Col1
+ && x.Col2 == y.Col2;
+ }
+
+ public int GetHashCode (Row<string, string> obj)
+ {
+ string x = obj.Col1, y = obj.Col2;
+ return (x != null ? x.GetHashCode () : 0) ^ (y != null ? y.GetHashCode () : 0);
+ }
+
+ public bool Equals (Row<uint, uint> x, Row<uint, uint> y)
+ {
+ return x.Col1 == y.Col1
+ && x.Col2 == y.Col2;
+ }
+
+ public int GetHashCode (Row<uint, uint> obj)
+ {
+ return (int) (obj.Col1 ^ obj.Col2);
+ }
+
+ public bool Equals (Row<uint, uint, uint> x, Row<uint, uint, uint> y)
+ {
+ return x.Col1 == y.Col1
+ && x.Col2 == y.Col2
+ && x.Col3 == y.Col3;
+ }
+
+ public int GetHashCode (Row<uint, uint, uint> obj)
+ {
+ return (int) (obj.Col1 ^ obj.Col2 ^ obj.Col3);
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/RowCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/RowCollection.cs
deleted file mode 100644
index 4da8c4ed4a1..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/RowCollection.cs
+++ /dev/null
@@ -1,125 +0,0 @@
-//
-// RowCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using System;
- using System.Collections;
-
- public class RowCollection : ICollection, IMetadataRowVisitable {
-
- ArrayList m_items;
-
- public IMetadataRow this [int index] {
- get { return m_items [index] as IMetadataRow; }
- set { m_items [index] = value; }
- }
-
- public int Count {
- get { return m_items.Count; }
- }
-
- public bool IsSynchronized {
- get { return false; }
- }
-
- public object SyncRoot {
- get { return this; }
- }
-
- internal RowCollection (int size)
- {
- m_items = new ArrayList (size);
- }
-
- internal RowCollection ()
- {
- m_items = new ArrayList ();
- }
-
- internal void Add (IMetadataRow value)
- {
- m_items.Add (value);
- }
-
- public void Clear ()
- {
- m_items.Clear ();
- }
-
- public bool Contains (IMetadataRow value)
- {
- return m_items.Contains (value);
- }
-
- public int IndexOf (IMetadataRow value)
- {
- return m_items.IndexOf (value);
- }
-
- public void Insert (int index, IMetadataRow value)
- {
- m_items.Insert (index, value);
- }
-
- public void Remove (IMetadataRow value)
- {
- m_items.Remove (value);
- }
-
- public void RemoveAt (int index)
- {
- m_items.Remove (index);
- }
-
- public void CopyTo (Array ary, int index)
- {
- m_items.CopyTo (ary, index);
- }
-
- public void Sort (IComparer comp)
- {
- m_items.Sort (comp);
- }
-
- public IEnumerator GetEnumerator ()
- {
- return m_items.GetEnumerator ();
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitRowCollection (this);
-
- for (int i = 0; i < m_items.Count; i++)
- this [i].Accept (visitor);
-
- visitor.TerminateRowCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/StandAloneSig.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/StandAloneSig.cs
deleted file mode 100644
index cb3c7f9b0ea..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/StandAloneSig.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// StandAloneSigTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class StandAloneSigTable : IMetadataTable {
-
- public const int RId = 0x11;
-
- RowCollection m_rows;
-
- public StandAloneSigRow this [int index] {
- get { return m_rows [index] as StandAloneSigRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal StandAloneSigTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitStandAloneSigTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class StandAloneSigRow : IMetadataRow {
-
- public uint Signature;
-
- internal StandAloneSigRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitStandAloneSigRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/StringHeap.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/StringHeap.cs
new file mode 100644
index 00000000000..85a289213c5
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/StringHeap.cs
@@ -0,0 +1,81 @@
+//
+// StringHeap.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+using Mono.Cecil.PE;
+
+namespace Mono.Cecil.Metadata {
+
+ class StringHeap : Heap {
+
+ readonly Dictionary<uint, string> strings = new Dictionary<uint, string> ();
+
+ public StringHeap (Section section, uint start, uint size)
+ : base (section, start, size)
+ {
+ }
+
+ public string Read (uint index)
+ {
+ if (index == 0)
+ return string.Empty;
+
+ string @string;
+ if (strings.TryGetValue (index, out @string))
+ return @string;
+
+ if (index > Size - 1)
+ return string.Empty;
+
+ @string = ReadStringAt (index);
+ if (@string.Length != 0)
+ strings.Add (index, @string);
+
+ return @string;
+ }
+
+ protected virtual string ReadStringAt (uint index)
+ {
+ int length = 0;
+ byte [] data = Section.Data;
+ int start = (int) (index + Offset);
+
+ for (int i = start; ; i++) {
+ if (data [i] == 0)
+ break;
+
+ length++;
+ }
+
+ return Encoding.UTF8.GetString (data, start, length);
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/StringsHeap.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/StringsHeap.cs
deleted file mode 100644
index 608faf82214..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/StringsHeap.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// StringsHeap.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using System.Collections;
- using System.Text;
-
- public class StringsHeap : MetadataHeap {
-
- IDictionary m_strings;
-
- public string this [uint index] {
- get {
- string str = m_strings [index] as string;
- if (str == null) {
- str = ReadStringAt (index);
- m_strings [index] = str;
- }
- return str;
- }
- set { m_strings [index] = value; }
- }
-
- internal StringsHeap (MetadataStream stream) : base (stream, MetadataStream.Strings)
- {
- m_strings = new Hashtable ();
- }
-
- string ReadStringAt (uint index)
- {
- byte [] data = this.Data;
- int heap_length = data.Length;
-
- if (index > heap_length - 1)
- return string.Empty;
-
- int length = 0;
- for (int i = (int) index; i < heap_length; i++) {
- if (data [i] == 0)
- break;
-
- length++;
- }
-
- return Encoding.UTF8.GetString (data, (int) index, length);
- }
-
- public override void Accept (IMetadataVisitor visitor)
- {
- visitor.VisitStringsHeap (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TableCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TableCollection.cs
deleted file mode 100644
index 817ccb02665..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TableCollection.cs
+++ /dev/null
@@ -1,115 +0,0 @@
-//
-// TableCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using System;
- using System.Collections;
-
- public class TableCollection : ICollection, IMetadataTableVisitable {
-
- IMetadataTable [] m_tables = new IMetadataTable [TablesHeap.MaxTableCount];
-
- TablesHeap m_heap;
-
- public IMetadataTable this [int index] {
- get { return m_tables [index]; }
- set { m_tables [index] = value; }
- }
-
- public int Count {
- get {
- return GetList ().Count;
- }
- }
-
- public bool IsSynchronized {
- get { return false; }
- }
-
- public object SyncRoot {
- get { return this; }
- }
-
- public TablesHeap Heap {
- get { return m_heap; }
- }
-
- internal TableCollection (TablesHeap heap)
- {
- m_heap = heap;
- }
-
- internal void Add (IMetadataTable value)
- {
- m_tables [value.Id] = value;
- }
-
- public bool Contains (IMetadataTable value)
- {
- return m_tables [value.Id] != null;
- }
-
- internal void Remove (IMetadataTable value)
- {
- m_tables [value.Id] = null;
- }
-
- public void CopyTo (Array array, int index)
- {
- GetList ().CopyTo (array, index);
- }
-
- internal IList GetList ()
- {
- IList tables = new ArrayList ();
- for (int i = 0; i < m_tables.Length; i++) {
- IMetadataTable table = m_tables [i];
- if (table != null)
- tables.Add (table);
- }
-
- return tables;
- }
-
- public IEnumerator GetEnumerator ()
- {
- return GetList ().GetEnumerator ();
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitTableCollection (this);
-
- foreach (IMetadataTable table in GetList ())
- table.Accept (visitor);
-
- visitor.TerminateTableCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TableHeap.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TableHeap.cs
new file mode 100644
index 00000000000..cc441db25fe
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TableHeap.cs
@@ -0,0 +1,153 @@
+//
+// TableHeap.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using Mono.Cecil.PE;
+
+namespace Mono.Cecil.Metadata {
+
+ enum Table : byte {
+ Module = 0x00,
+ TypeRef = 0x01,
+ TypeDef = 0x02,
+ FieldPtr = 0x03,
+ Field = 0x04,
+ MethodPtr = 0x05,
+ Method = 0x06,
+ ParamPtr = 0x07,
+ Param = 0x08,
+ InterfaceImpl = 0x09,
+ MemberRef = 0x0a,
+ Constant = 0x0b,
+ CustomAttribute = 0x0c,
+ FieldMarshal = 0x0d,
+ DeclSecurity = 0x0e,
+ ClassLayout = 0x0f,
+ FieldLayout = 0x10,
+ StandAloneSig = 0x11,
+ EventMap = 0x12,
+ EventPtr = 0x13,
+ Event = 0x14,
+ PropertyMap = 0x15,
+ PropertyPtr = 0x16,
+ Property = 0x17,
+ MethodSemantics = 0x18,
+ MethodImpl = 0x19,
+ ModuleRef = 0x1a,
+ TypeSpec = 0x1b,
+ ImplMap = 0x1c,
+ FieldRVA = 0x1d,
+ Assembly = 0x20,
+ AssemblyProcessor = 0x21,
+ AssemblyOS = 0x22,
+ AssemblyRef = 0x23,
+ AssemblyRefProcessor = 0x24,
+ AssemblyRefOS = 0x25,
+ File = 0x26,
+ ExportedType = 0x27,
+ ManifestResource = 0x28,
+ NestedClass = 0x29,
+ GenericParam = 0x2a,
+ MethodSpec = 0x2b,
+ GenericParamConstraint = 0x2c,
+ }
+
+ struct TableInformation {
+ public uint Offset;
+ public uint Length;
+ public uint RowSize;
+ }
+
+ sealed class TableHeap : Heap {
+
+ public long Valid;
+ public long Sorted;
+
+ public static readonly Table [] TableIdentifiers = new [] {
+ Table.Module,
+ Table.TypeRef,
+ Table.TypeDef,
+ Table.FieldPtr,
+ Table.Field,
+ Table.MethodPtr,
+ Table.Method,
+ Table.ParamPtr,
+ Table.Param,
+ Table.InterfaceImpl,
+ Table.MemberRef,
+ Table.Constant,
+ Table.CustomAttribute,
+ Table.FieldMarshal,
+ Table.DeclSecurity,
+ Table.ClassLayout,
+ Table.FieldLayout,
+ Table.StandAloneSig,
+ Table.EventMap,
+ Table.EventPtr,
+ Table.Event,
+ Table.PropertyMap,
+ Table.PropertyPtr,
+ Table.Property,
+ Table.MethodSemantics,
+ Table.MethodImpl,
+ Table.ModuleRef,
+ Table.TypeSpec,
+ Table.ImplMap,
+ Table.FieldRVA,
+ Table.Assembly,
+ Table.AssemblyProcessor,
+ Table.AssemblyOS,
+ Table.AssemblyRef,
+ Table.AssemblyRefProcessor,
+ Table.AssemblyRefOS,
+ Table.File,
+ Table.ExportedType,
+ Table.ManifestResource,
+ Table.NestedClass,
+ Table.GenericParam,
+ Table.MethodSpec,
+ Table.GenericParamConstraint,
+ };
+
+ public readonly TableInformation [] Tables = new TableInformation [45];
+
+ public TableInformation this [Table table] {
+ get { return Tables [(int) table]; }
+ }
+
+ public TableHeap (Section section, uint start, uint size)
+ : base (section, start, size)
+ {
+ }
+
+ public bool HasTable (Table table)
+ {
+ return (Valid & (1L << (int) table)) != 0;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TablesHeap.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TablesHeap.cs
deleted file mode 100644
index 583ac7e4b31..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TablesHeap.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-// TablesHeap.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using System;
- using System.Collections;
-
- public class TablesHeap : MetadataHeap {
-
- public uint Reserved;
- public byte MajorVersion;
- public byte MinorVersion;
- public byte HeapSizes;
- public byte Reserved2;
- public long Valid;
- public long Sorted;
-
- TableCollection m_tables;
-
- public const int MaxTableCount = 45;
-
- public TableCollection Tables {
- get { return m_tables; }
- set { m_tables = value; }
- }
-
- public IMetadataTable this [int id]
- {
- get { return m_tables [id]; }
- set { m_tables [id] = value; }
- }
-
- internal TablesHeap (MetadataStream stream) : base(stream, MetadataStream.Tables)
- {
- }
-
- public bool HasTable (int id)
- {
- return (Valid & (1L << id)) != 0;
- }
-
- public override void Accept (IMetadataVisitor visitor)
- {
- visitor.VisitTablesHeap (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TokenType.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TokenType.cs
index 44de8042fc0..f822b6dd9fd 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TokenType.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TokenType.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,33 +26,31 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil.Metadata {
+namespace Mono.Cecil {
public enum TokenType : uint {
- Module = 0x00000000,
- TypeRef = 0x01000000,
- TypeDef = 0x02000000,
- Field = 0x04000000,
- Method = 0x06000000,
- Param = 0x08000000,
- InterfaceImpl = 0x09000000,
- MemberRef = 0x0a000000,
- CustomAttribute = 0x0c000000,
- Permission = 0x0e000000,
- Signature = 0x11000000,
- Event = 0x14000000,
- Property = 0x17000000,
- ModuleRef = 0x1a000000,
- TypeSpec = 0x1b000000,
- Assembly = 0x20000000,
- AssemblyRef = 0x23000000,
- File = 0x26000000,
- ExportedType = 0x27000000,
- ManifestResource = 0x28000000,
- GenericParam = 0x2a000000,
- MethodSpec = 0x2b000000,
- String = 0x70000000,
- Name = 0x71000000,
- BaseType = 0x72000000
+ Module = 0x00000000,
+ TypeRef = 0x01000000,
+ TypeDef = 0x02000000,
+ Field = 0x04000000,
+ Method = 0x06000000,
+ Param = 0x08000000,
+ InterfaceImpl = 0x09000000,
+ MemberRef = 0x0a000000,
+ CustomAttribute = 0x0c000000,
+ Permission = 0x0e000000,
+ Signature = 0x11000000,
+ Event = 0x14000000,
+ Property = 0x17000000,
+ ModuleRef = 0x1a000000,
+ TypeSpec = 0x1b000000,
+ Assembly = 0x20000000,
+ AssemblyRef = 0x23000000,
+ File = 0x26000000,
+ ExportedType = 0x27000000,
+ ManifestResource = 0x28000000,
+ GenericParam = 0x2a000000,
+ MethodSpec = 0x2b000000,
+ String = 0x70000000,
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TypeDef.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TypeDef.cs
deleted file mode 100644
index d611ac9f1e0..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TypeDef.cs
+++ /dev/null
@@ -1,85 +0,0 @@
-//
-// TypeDefTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using Mono.Cecil;
-
- public sealed class TypeDefTable : IMetadataTable {
-
- public const int RId = 0x02;
-
- RowCollection m_rows;
-
- public TypeDefRow this [int index] {
- get { return m_rows [index] as TypeDefRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal TypeDefTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitTypeDefTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class TypeDefRow : IMetadataRow {
-
- public TypeAttributes Flags;
- public uint Name;
- public uint Namespace;
- public MetadataToken Extends;
- public uint FieldList;
- public uint MethodList;
-
- internal TypeDefRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitTypeDefRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TypeRef.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TypeRef.cs
deleted file mode 100644
index d27d72e0658..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TypeRef.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// TypeRefTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class TypeRefTable : IMetadataTable {
-
- public const int RId = 0x01;
-
- RowCollection m_rows;
-
- public TypeRefRow this [int index] {
- get { return m_rows [index] as TypeRefRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal TypeRefTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitTypeRefTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class TypeRefRow : IMetadataRow {
-
- public MetadataToken ResolutionScope;
- public uint Name;
- public uint Namespace;
-
- internal TypeRefRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitTypeRefRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TypeSpec.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TypeSpec.cs
deleted file mode 100644
index 5c20402af62..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/TypeSpec.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// TypeSpecTable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Tue Oct 10 23:08:26 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- public sealed class TypeSpecTable : IMetadataTable {
-
- public const int RId = 0x1b;
-
- RowCollection m_rows;
-
- public TypeSpecRow this [int index] {
- get { return m_rows [index] as TypeSpecRow; }
- set { m_rows [index] = value; }
- }
-
- public RowCollection Rows {
- get { return m_rows; }
- set { m_rows = value; }
- }
-
- public int Id {
- get { return RId; }
- }
-
- internal TypeSpecTable ()
- {
- }
-
- public void Accept (IMetadataTableVisitor visitor)
- {
- visitor.VisitTypeSpecTable (this);
- this.Rows.Accept (visitor.GetRowVisitor ());
- }
- }
-
- public sealed class TypeSpecRow : IMetadataRow {
-
- public uint Signature;
-
- internal TypeSpecRow ()
- {
- }
-
- public void Accept (IMetadataRowVisitor visitor)
- {
- visitor.VisitTypeSpecRow (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/UserStringHeap.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/UserStringHeap.cs
new file mode 100644
index 00000000000..7353cb7057c
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/UserStringHeap.cs
@@ -0,0 +1,59 @@
+//
+// UserStringHeap.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+using Mono.Cecil.PE;
+
+namespace Mono.Cecil.Metadata {
+
+ sealed class UserStringHeap : StringHeap {
+
+ public UserStringHeap (Section section, uint start, uint size)
+ : base (section, start, size)
+ {
+ }
+
+ protected override string ReadStringAt (uint index)
+ {
+ byte [] data = Section.Data;
+ int start = (int) (index + Offset);
+
+ uint length = (uint) (data.ReadCompressedUInt32 (ref start) & ~1);
+ if (length < 1)
+ return string.Empty;
+
+ var chars = new char [length / 2];
+
+ for (int i = start, j = 0; i < start + length; i += 2)
+ chars [j++] = (char) (data [i] | (data [i + 1] << 8));
+
+ return new string (chars);
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/UserStringsHeap.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/UserStringsHeap.cs
deleted file mode 100644
index dcf776a07a3..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/UserStringsHeap.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-//
-// UserStringsHeap.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Metadata {
-
- using System.Collections;
- using System.Text;
-
- public class UserStringsHeap : MetadataHeap {
-
- readonly IDictionary m_strings;
-
- public string this [uint offset] {
- get {
- string us = m_strings [offset] as string;
- if (us != null)
- return us;
-
- us = ReadStringAt ((int) offset);
- if (us != null && us.Length != 0)
- m_strings [offset] = us;
-
- return us;
- }
- set { m_strings [offset] = value; }
- }
-
- internal UserStringsHeap (MetadataStream stream) : base (stream, MetadataStream.UserStrings)
- {
- m_strings = new Hashtable ();
- }
-
- string ReadStringAt (int offset)
- {
- int length = Utilities.ReadCompressedInteger (this.Data, offset, out offset) - 1;
- if (length < 1)
- return string.Empty;
-
- char [] chars = new char [length / 2];
-
- for (int i = offset, j = 0; i < offset + length; i += 2)
- chars [j++] = (char) (Data [i] | (Data [i + 1] << 8));
-
- return new string (chars);
- }
-
- public override void Accept (IMetadataVisitor visitor)
- {
- visitor.VisitUserStringsHeap (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Utilities.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Utilities.cs
index 7f762529c62..496c61b51f7 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Utilities.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/Utilities.cs
@@ -4,10 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Sat Feb 16 23:23:29 +0100 2008
-//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -29,635 +26,504 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil.Metadata {
+using System;
- using System;
- using System.Collections;
- using System.IO;
+using Mono.Cecil.Metadata;
- sealed class Utilities {
+namespace Mono.Cecil {
- Utilities ()
- {
- }
+ static partial class Mixin {
- public static int ReadCompressedInteger (byte [] data, int pos, out int start)
+ public static uint ReadCompressedUInt32 (this byte [] data, ref int position)
{
- int integer;
- start = pos;
- if ((data [pos] & 0x80) == 0) {
- integer = data [pos];
- start++;
- } else if ((data [pos] & 0x40) == 0) {
- integer = (data [start] & ~0x80) << 8;
- integer |= data [pos + 1];
- start += 2;
+ uint integer;
+ if ((data [position] & 0x80) == 0) {
+ integer = data [position];
+ position++;
+ } else if ((data [position] & 0x40) == 0) {
+ integer = (uint) (data [position] & ~0x80) << 8;
+ integer |= data [position + 1];
+ position += 2;
} else {
- integer = (data [start] & ~0xc0) << 24;
- integer |= data [pos + 1] << 16;
- integer |= data [pos + 2] << 8;
- integer |= data [pos + 3];
- start += 4;
+ integer = (uint) (data [position] & ~0xc0) << 24;
+ integer |= (uint) data [position + 1] << 16;
+ integer |= (uint) data [position + 2] << 8;
+ integer |= (uint) data [position + 3];
+ position += 4;
}
return integer;
}
- public static int ReadCompressedSignedInteger (byte [] data, int pos, out int start)
+ public static MetadataToken GetMetadataToken (this CodedIndex self, uint data)
{
- int integer = ReadCompressedInteger (data, pos, out start) >> 1;
- if ((integer & 1) == 0)
- return integer;
-
- if (integer < 0x40)
- return integer - 0x40;
-
- if (integer < 0x2000)
- return integer - 0x2000;
-
- if (integer < 0x10000000)
- return integer - 0x10000000;
-
- return integer - 0x20000000;
- }
-
- public static int WriteCompressedInteger (BinaryWriter writer, int value)
- {
- if (value < 0x80)
- writer.Write ((byte) value);
- else if (value < 0x4000) {
- writer.Write ((byte) (0x80 | (value >> 8)));
- writer.Write ((byte) (value & 0xff));
- } else {
- writer.Write ((byte) ((value >> 24) | 0xc0));
- writer.Write ((byte) ((value >> 16) & 0xff));
- writer.Write ((byte) ((value >> 8) & 0xff));
- writer.Write ((byte) (value & 0xff));
- }
- return (int) writer.BaseStream.Position;
- }
-
- public static MetadataToken GetMetadataToken (CodedIndex cidx, uint data)
- {
- uint rid = 0;
- switch (cidx) {
- case CodedIndex.TypeDefOrRef :
+ uint rid;
+ TokenType token_type;
+ switch (self) {
+ case CodedIndex.TypeDefOrRef:
rid = data >> 2;
switch (data & 3) {
- case 0 :
- return new MetadataToken (TokenType.TypeDef, rid);
- case 1 :
- return new MetadataToken (TokenType.TypeRef, rid);
- case 2 :
- return new MetadataToken (TokenType.TypeSpec, rid);
- default :
- return MetadataToken.Zero;
+ case 0:
+ token_type = TokenType.TypeDef; goto ret;
+ case 1:
+ token_type = TokenType.TypeRef; goto ret;
+ case 2:
+ token_type = TokenType.TypeSpec; goto ret;
+ default:
+ goto exit;
}
- case CodedIndex.HasConstant :
+ case CodedIndex.HasConstant:
rid = data >> 2;
switch (data & 3) {
- case 0 :
- return new MetadataToken (TokenType.Field, rid);
- case 1 :
- return new MetadataToken (TokenType.Param, rid);
- case 2 :
- return new MetadataToken (TokenType.Property, rid);
- default :
- return MetadataToken.Zero;
+ case 0:
+ token_type = TokenType.Field; goto ret;
+ case 1:
+ token_type = TokenType.Param; goto ret;
+ case 2:
+ token_type = TokenType.Property; goto ret;
+ default:
+ goto exit;
}
- case CodedIndex.HasCustomAttribute :
+ case CodedIndex.HasCustomAttribute:
rid = data >> 5;
switch (data & 31) {
- case 0 :
- return new MetadataToken (TokenType.Method, rid);
- case 1 :
- return new MetadataToken (TokenType.Field, rid);
- case 2 :
- return new MetadataToken (TokenType.TypeRef, rid);
- case 3 :
- return new MetadataToken (TokenType.TypeDef, rid);
- case 4 :
- return new MetadataToken (TokenType.Param, rid);
- case 5 :
- return new MetadataToken (TokenType.InterfaceImpl, rid);
- case 6 :
- return new MetadataToken (TokenType.MemberRef, rid);
- case 7 :
- return new MetadataToken (TokenType.Module, rid);
- case 8 :
- return new MetadataToken (TokenType.Permission, rid);
- case 9 :
- return new MetadataToken (TokenType.Property, rid);
- case 10 :
- return new MetadataToken (TokenType.Event, rid);
- case 11 :
- return new MetadataToken (TokenType.Signature, rid);
- case 12 :
- return new MetadataToken (TokenType.ModuleRef, rid);
- case 13 :
- return new MetadataToken (TokenType.TypeSpec, rid);
- case 14 :
- return new MetadataToken (TokenType.Assembly, rid);
- case 15 :
- return new MetadataToken (TokenType.AssemblyRef, rid);
- case 16 :
- return new MetadataToken (TokenType.File, rid);
- case 17 :
- return new MetadataToken (TokenType.ExportedType, rid);
- case 18 :
- return new MetadataToken (TokenType.ManifestResource, rid);
- case 19 :
- return new MetadataToken (TokenType.GenericParam, rid);
- default :
- return MetadataToken.Zero;
+ case 0:
+ token_type = TokenType.Method; goto ret;
+ case 1:
+ token_type = TokenType.Field; goto ret;
+ case 2:
+ token_type = TokenType.TypeRef; goto ret;
+ case 3:
+ token_type = TokenType.TypeDef; goto ret;
+ case 4:
+ token_type = TokenType.Param; goto ret;
+ case 5:
+ token_type = TokenType.InterfaceImpl; goto ret;
+ case 6:
+ token_type = TokenType.MemberRef; goto ret;
+ case 7:
+ token_type = TokenType.Module; goto ret;
+ case 8:
+ token_type = TokenType.Permission; goto ret;
+ case 9:
+ token_type = TokenType.Property; goto ret;
+ case 10:
+ token_type = TokenType.Event; goto ret;
+ case 11:
+ token_type = TokenType.Signature; goto ret;
+ case 12:
+ token_type = TokenType.ModuleRef; goto ret;
+ case 13:
+ token_type = TokenType.TypeSpec; goto ret;
+ case 14:
+ token_type = TokenType.Assembly; goto ret;
+ case 15:
+ token_type = TokenType.AssemblyRef; goto ret;
+ case 16:
+ token_type = TokenType.File; goto ret;
+ case 17:
+ token_type = TokenType.ExportedType; goto ret;
+ case 18:
+ token_type = TokenType.ManifestResource; goto ret;
+ case 19:
+ token_type = TokenType.GenericParam; goto ret;
+ default:
+ goto exit;
}
- case CodedIndex.HasFieldMarshal :
+ case CodedIndex.HasFieldMarshal:
rid = data >> 1;
switch (data & 1) {
- case 0 :
- return new MetadataToken (TokenType.Field, rid);
- case 1 :
- return new MetadataToken (TokenType.Param, rid);
- default :
- return MetadataToken.Zero;
+ case 0:
+ token_type = TokenType.Field; goto ret;
+ case 1:
+ token_type = TokenType.Param; goto ret;
+ default:
+ goto exit;
}
- case CodedIndex.HasDeclSecurity :
+ case CodedIndex.HasDeclSecurity:
rid = data >> 2;
switch (data & 3) {
- case 0 :
- return new MetadataToken (TokenType.TypeDef, rid);
- case 1 :
- return new MetadataToken (TokenType.Method, rid);
- case 2 :
- return new MetadataToken (TokenType.Assembly, rid);
- default :
- return MetadataToken.Zero;
+ case 0:
+ token_type = TokenType.TypeDef; goto ret;
+ case 1:
+ token_type = TokenType.Method; goto ret;
+ case 2:
+ token_type = TokenType.Assembly; goto ret;
+ default:
+ goto exit;
}
- case CodedIndex.MemberRefParent :
+ case CodedIndex.MemberRefParent:
rid = data >> 3;
switch (data & 7) {
- case 0 :
- return new MetadataToken (TokenType.TypeDef, rid);
- case 1 :
- return new MetadataToken (TokenType.TypeRef, rid);
- case 2 :
- return new MetadataToken (TokenType.ModuleRef, rid);
- case 3 :
- return new MetadataToken (TokenType.Method, rid);
- case 4 :
- return new MetadataToken (TokenType.TypeSpec, rid);
- default :
- return MetadataToken.Zero;
+ case 0:
+ token_type = TokenType.TypeDef; goto ret;
+ case 1:
+ token_type = TokenType.TypeRef; goto ret;
+ case 2:
+ token_type = TokenType.ModuleRef; goto ret;
+ case 3:
+ token_type = TokenType.Method; goto ret;
+ case 4:
+ token_type = TokenType.TypeSpec; goto ret;
+ default:
+ goto exit;
}
- case CodedIndex.HasSemantics :
+ case CodedIndex.HasSemantics:
rid = data >> 1;
switch (data & 1) {
- case 0 :
- return new MetadataToken (TokenType.Event, rid);
- case 1 :
- return new MetadataToken (TokenType.Property, rid);
- default :
- return MetadataToken.Zero;
+ case 0:
+ token_type = TokenType.Event; goto ret;
+ case 1:
+ token_type = TokenType.Property; goto ret;
+ default:
+ goto exit;
}
- case CodedIndex.MethodDefOrRef :
+ case CodedIndex.MethodDefOrRef:
rid = data >> 1;
switch (data & 1) {
- case 0 :
- return new MetadataToken (TokenType.Method, rid);
- case 1 :
- return new MetadataToken (TokenType.MemberRef, rid);
- default :
- return MetadataToken.Zero;
+ case 0:
+ token_type = TokenType.Method; goto ret;
+ case 1:
+ token_type = TokenType.MemberRef; goto ret;
+ default:
+ goto exit;
}
- case CodedIndex.MemberForwarded :
+ case CodedIndex.MemberForwarded:
rid = data >> 1;
switch (data & 1) {
- case 0 :
- return new MetadataToken (TokenType.Field, rid);
- case 1 :
- return new MetadataToken (TokenType.Method, rid);
- default :
- return MetadataToken.Zero;
+ case 0:
+ token_type = TokenType.Field; goto ret;
+ case 1:
+ token_type = TokenType.Method; goto ret;
+ default:
+ goto exit;
}
- case CodedIndex.Implementation :
+ case CodedIndex.Implementation:
rid = data >> 2;
switch (data & 3) {
- case 0 :
- return new MetadataToken (TokenType.File, rid);
- case 1 :
- return new MetadataToken (TokenType.AssemblyRef, rid);
- case 2 :
- return new MetadataToken (TokenType.ExportedType, rid);
- default :
- return MetadataToken.Zero;
+ case 0:
+ token_type = TokenType.File; goto ret;
+ case 1:
+ token_type = TokenType.AssemblyRef; goto ret;
+ case 2:
+ token_type = TokenType.ExportedType; goto ret;
+ default:
+ goto exit;
}
- case CodedIndex.CustomAttributeType :
+ case CodedIndex.CustomAttributeType:
rid = data >> 3;
switch (data & 7) {
- case 2 :
- return new MetadataToken (TokenType.Method, rid);
- case 3 :
- return new MetadataToken (TokenType.MemberRef, rid);
- default :
- return MetadataToken.Zero;
+ case 2:
+ token_type = TokenType.Method; goto ret;
+ case 3:
+ token_type = TokenType.MemberRef; goto ret;
+ default:
+ goto exit;
}
- case CodedIndex.ResolutionScope :
+ case CodedIndex.ResolutionScope:
rid = data >> 2;
switch (data & 3) {
- case 0 :
- return new MetadataToken (TokenType.Module, rid);
- case 1 :
- return new MetadataToken (TokenType.ModuleRef, rid);
- case 2 :
- return new MetadataToken (TokenType.AssemblyRef, rid);
- case 3 :
- return new MetadataToken (TokenType.TypeRef, rid);
- default :
- return MetadataToken.Zero;
+ case 0:
+ token_type = TokenType.Module; goto ret;
+ case 1:
+ token_type = TokenType.ModuleRef; goto ret;
+ case 2:
+ token_type = TokenType.AssemblyRef; goto ret;
+ case 3:
+ token_type = TokenType.TypeRef; goto ret;
+ default:
+ goto exit;
}
- case CodedIndex.TypeOrMethodDef :
+ case CodedIndex.TypeOrMethodDef:
rid = data >> 1;
switch (data & 1) {
- case 0 :
- return new MetadataToken (TokenType.TypeDef, rid);
- case 1 :
- return new MetadataToken (TokenType.Method, rid);
- default :
- return MetadataToken.Zero;
+ case 0:
+ token_type = TokenType.TypeDef; goto ret;
+ case 1:
+ token_type = TokenType.Method; goto ret;
+ default: goto exit;
}
- default :
- return MetadataToken.Zero;
+ default:
+ goto exit;
}
+ ret:
+ return new MetadataToken (token_type, rid);
+ exit:
+ return MetadataToken.Zero;
}
- public static uint CompressMetadataToken (CodedIndex cidx, MetadataToken token)
+#if !READ_ONLY
+ public static uint CompressMetadataToken (this CodedIndex self, MetadataToken token)
{
uint ret = 0;
if (token.RID == 0)
return ret;
- switch (cidx) {
- case CodedIndex.TypeDefOrRef :
+ switch (self) {
+ case CodedIndex.TypeDefOrRef:
ret = token.RID << 2;
switch (token.TokenType) {
- case TokenType.TypeDef :
+ case TokenType.TypeDef:
return ret | 0;
- case TokenType.TypeRef :
+ case TokenType.TypeRef:
return ret | 1;
- case TokenType.TypeSpec :
+ case TokenType.TypeSpec:
return ret | 2;
- default :
- throw new MetadataFormatException("Non valid Token for TypeDefOrRef");
+ default:
+ goto exit;
}
- case CodedIndex.HasConstant :
+ case CodedIndex.HasConstant:
ret = token.RID << 2;
switch (token.TokenType) {
- case TokenType.Field :
+ case TokenType.Field:
return ret | 0;
- case TokenType.Param :
+ case TokenType.Param:
return ret | 1;
- case TokenType.Property :
+ case TokenType.Property:
return ret | 2;
- default :
- throw new MetadataFormatException("Non valid Token for HasConstant");
+ default:
+ goto exit;
}
- case CodedIndex.HasCustomAttribute :
+ case CodedIndex.HasCustomAttribute:
ret = token.RID << 5;
switch (token.TokenType) {
- case TokenType.Method :
+ case TokenType.Method:
return ret | 0;
- case TokenType.Field :
+ case TokenType.Field:
return ret | 1;
- case TokenType.TypeRef :
+ case TokenType.TypeRef:
return ret | 2;
- case TokenType.TypeDef :
+ case TokenType.TypeDef:
return ret | 3;
- case TokenType.Param :
+ case TokenType.Param:
return ret | 4;
- case TokenType.InterfaceImpl :
+ case TokenType.InterfaceImpl:
return ret | 5;
- case TokenType.MemberRef :
+ case TokenType.MemberRef:
return ret | 6;
- case TokenType.Module :
+ case TokenType.Module:
return ret | 7;
- case TokenType.Permission :
+ case TokenType.Permission:
return ret | 8;
- case TokenType.Property :
+ case TokenType.Property:
return ret | 9;
- case TokenType.Event :
+ case TokenType.Event:
return ret | 10;
- case TokenType.Signature :
+ case TokenType.Signature:
return ret | 11;
- case TokenType.ModuleRef :
+ case TokenType.ModuleRef:
return ret | 12;
- case TokenType.TypeSpec :
+ case TokenType.TypeSpec:
return ret | 13;
- case TokenType.Assembly :
+ case TokenType.Assembly:
return ret | 14;
- case TokenType.AssemblyRef :
+ case TokenType.AssemblyRef:
return ret | 15;
- case TokenType.File :
+ case TokenType.File:
return ret | 16;
- case TokenType.ExportedType :
+ case TokenType.ExportedType:
return ret | 17;
- case TokenType.ManifestResource :
+ case TokenType.ManifestResource:
return ret | 18;
- case TokenType.GenericParam :
+ case TokenType.GenericParam:
return ret | 19;
- default :
- throw new MetadataFormatException("Non valid Token for HasCustomAttribute");
+ default:
+ goto exit;
}
- case CodedIndex.HasFieldMarshal :
+ case CodedIndex.HasFieldMarshal:
ret = token.RID << 1;
switch (token.TokenType) {
- case TokenType.Field :
+ case TokenType.Field:
return ret | 0;
- case TokenType.Param :
+ case TokenType.Param:
return ret | 1;
- default :
- throw new MetadataFormatException("Non valid Token for HasFieldMarshal");
+ default:
+ goto exit;
}
- case CodedIndex.HasDeclSecurity :
+ case CodedIndex.HasDeclSecurity:
ret = token.RID << 2;
switch (token.TokenType) {
- case TokenType.TypeDef :
+ case TokenType.TypeDef:
return ret | 0;
- case TokenType.Method :
+ case TokenType.Method:
return ret | 1;
- case TokenType.Assembly :
+ case TokenType.Assembly:
return ret | 2;
- default :
- throw new MetadataFormatException("Non valid Token for HasDeclSecurity");
+ default:
+ goto exit;
}
- case CodedIndex.MemberRefParent :
+ case CodedIndex.MemberRefParent:
ret = token.RID << 3;
switch (token.TokenType) {
- case TokenType.TypeDef :
+ case TokenType.TypeDef:
return ret | 0;
- case TokenType.TypeRef :
+ case TokenType.TypeRef:
return ret | 1;
- case TokenType.ModuleRef :
+ case TokenType.ModuleRef:
return ret | 2;
- case TokenType.Method :
+ case TokenType.Method:
return ret | 3;
- case TokenType.TypeSpec :
+ case TokenType.TypeSpec:
return ret | 4;
- default :
- throw new MetadataFormatException("Non valid Token for MemberRefParent");
+ default:
+ goto exit;
}
- case CodedIndex.HasSemantics :
+ case CodedIndex.HasSemantics:
ret = token.RID << 1;
switch (token.TokenType) {
- case TokenType.Event :
+ case TokenType.Event:
return ret | 0;
- case TokenType.Property :
+ case TokenType.Property:
return ret | 1;
- default :
- throw new MetadataFormatException("Non valid Token for HasSemantics");
+ default:
+ goto exit;
}
- case CodedIndex.MethodDefOrRef :
+ case CodedIndex.MethodDefOrRef:
ret = token.RID << 1;
switch (token.TokenType) {
- case TokenType.Method :
+ case TokenType.Method:
return ret | 0;
- case TokenType.MemberRef :
+ case TokenType.MemberRef:
return ret | 1;
- default :
- throw new MetadataFormatException("Non valid Token for MethodDefOrRef");
+ default:
+ goto exit;
}
- case CodedIndex.MemberForwarded :
+ case CodedIndex.MemberForwarded:
ret = token.RID << 1;
switch (token.TokenType) {
- case TokenType.Field :
+ case TokenType.Field:
return ret | 0;
- case TokenType.Method :
+ case TokenType.Method:
return ret | 1;
- default :
- throw new MetadataFormatException("Non valid Token for MemberForwarded");
+ default:
+ goto exit;
}
- case CodedIndex.Implementation :
+ case CodedIndex.Implementation:
ret = token.RID << 2;
switch (token.TokenType) {
- case TokenType.File :
+ case TokenType.File:
return ret | 0;
- case TokenType.AssemblyRef :
+ case TokenType.AssemblyRef:
return ret | 1;
- case TokenType.ExportedType :
+ case TokenType.ExportedType:
return ret | 2;
- default :
- throw new MetadataFormatException("Non valid Token for Implementation");
+ default:
+ goto exit;
}
- case CodedIndex.CustomAttributeType :
+ case CodedIndex.CustomAttributeType:
ret = token.RID << 3;
switch (token.TokenType) {
- case TokenType.Method :
+ case TokenType.Method:
return ret | 2;
- case TokenType.MemberRef :
+ case TokenType.MemberRef:
return ret | 3;
- default :
- throw new MetadataFormatException("Non valid Token for CustomAttributeType");
+ default:
+ goto exit;
}
- case CodedIndex.ResolutionScope :
+ case CodedIndex.ResolutionScope:
ret = token.RID << 2;
switch (token.TokenType) {
- case TokenType.Module :
+ case TokenType.Module:
return ret | 0;
- case TokenType.ModuleRef :
+ case TokenType.ModuleRef:
return ret | 1;
- case TokenType.AssemblyRef :
+ case TokenType.AssemblyRef:
return ret | 2;
- case TokenType.TypeRef :
+ case TokenType.TypeRef:
return ret | 3;
- default :
- throw new MetadataFormatException("Non valid Token for ResolutionScope");
+ default:
+ goto exit;
}
- case CodedIndex.TypeOrMethodDef :
+ case CodedIndex.TypeOrMethodDef:
ret = token.RID << 1;
switch (token.TokenType) {
- case TokenType.TypeDef :
+ case TokenType.TypeDef:
return ret | 0;
- case TokenType.Method :
+ case TokenType.Method:
return ret | 1;
- default :
- throw new MetadataFormatException("Non valid Token for TypeOrMethodDef");
+ default:
+ goto exit;
}
- default :
- throw new MetadataFormatException ("Non valid CodedIndex");
- }
- }
-
- internal static Type GetCorrespondingTable (TokenType t)
- {
- switch (t) {
- case TokenType.Assembly :
- return typeof (AssemblyTable);
- case TokenType.AssemblyRef :
- return typeof (AssemblyRefTable);
- case TokenType.CustomAttribute :
- return typeof (CustomAttributeTable);
- case TokenType.Event :
- return typeof (EventTable);
- case TokenType.ExportedType :
- return typeof (ExportedTypeTable);
- case TokenType.Field :
- return typeof (FieldTable);
- case TokenType.File :
- return typeof (FileTable);
- case TokenType.InterfaceImpl :
- return typeof (InterfaceImplTable);
- case TokenType.MemberRef :
- return typeof (MemberRefTable);
- case TokenType.Method :
- return typeof (MethodTable);
- case TokenType.Module :
- return typeof (ModuleTable);
- case TokenType.ModuleRef :
- return typeof (ModuleRefTable);
- case TokenType.Param :
- return typeof (ParamTable);
- case TokenType.Permission :
- return typeof (DeclSecurityTable);
- case TokenType.Property :
- return typeof (PropertyTable);
- case TokenType.Signature :
- return typeof (StandAloneSigTable);
- case TokenType.TypeDef :
- return typeof (TypeDefTable);
- case TokenType.TypeRef :
- return typeof (TypeRefTable);
- case TokenType.TypeSpec :
- return typeof (TypeSpecTable);
- default :
- return null;
+ default:
+ goto exit;
}
+ exit:
+ throw new ArgumentException ();
}
+#endif
- internal delegate int TableRowCounter (int rid);
-
- internal static int GetCodedIndexSize (CodedIndex ci, TableRowCounter rowCounter, int [] codedIndexCache)
+ public static int GetSize (this CodedIndex self, Func<Table, int> counter)
{
- int bits = 0, max = 0, index = (int) ci;
- if (codedIndexCache [index] != 0)
- return codedIndexCache [index];
+ int bits;
+ Table [] tables;
- int res = 0;
- int [] rids;
- switch (ci) {
- case CodedIndex.TypeDefOrRef :
+ switch (self) {
+ case CodedIndex.TypeDefOrRef:
bits = 2;
- rids = new int [3];
- rids [0] = TypeDefTable.RId;
- rids [1] = TypeRefTable.RId;
- rids [2] = TypeSpecTable.RId;
+ tables = new [] { Table.TypeDef, Table.TypeRef, Table.TypeSpec };
break;
- case CodedIndex.HasConstant :
+ case CodedIndex.HasConstant:
bits = 2;
- rids = new int [3];
- rids [0] = FieldTable.RId;
- rids [1] = ParamTable.RId;
- rids [2] = PropertyTable.RId;
+ tables = new [] { Table.Field, Table.Param, Table.Property };
break;
- case CodedIndex.HasCustomAttribute :
+ case CodedIndex.HasCustomAttribute:
bits = 5;
- rids = new int [20];
- rids [0] = MethodTable.RId;
- rids [1] = FieldTable.RId;
- rids [2] = TypeRefTable.RId;
- rids [3] = TypeDefTable.RId;
- rids [4] = ParamTable.RId;
- rids [5] = InterfaceImplTable.RId;
- rids [6] = MemberRefTable.RId;
- rids [7] = ModuleTable.RId;
- rids [8] = DeclSecurityTable.RId;
- rids [9] = PropertyTable.RId;
- rids [10] = EventTable.RId;
- rids [11] = StandAloneSigTable.RId;
- rids [12] = ModuleRefTable.RId;
- rids [13] = TypeSpecTable.RId;
- rids [14] = AssemblyTable.RId;
- rids [15] = AssemblyRefTable.RId;
- rids [16] = FileTable.RId;
- rids [17] = ExportedTypeTable.RId;
- rids [18] = ManifestResourceTable.RId;
- rids [19] = GenericParamTable.RId;
+ tables = new [] {
+ Table.Method, Table.Field, Table.TypeRef, Table.TypeDef, Table.Param, Table.InterfaceImpl, Table.MemberRef,
+ Table.Module, Table.DeclSecurity, Table.Property, Table.Event, Table.StandAloneSig, Table.ModuleRef,
+ Table.TypeSpec, Table.Assembly, Table.AssemblyRef, Table.File, Table.ExportedType,
+ Table.ManifestResource, Table.GenericParam
+ };
break;
- case CodedIndex.HasFieldMarshal :
+ case CodedIndex.HasFieldMarshal:
bits = 1;
- rids = new int [2];
- rids [0] = FieldTable.RId;
- rids [1] = ParamTable.RId;
+ tables = new [] { Table.Field, Table.Param };
break;
- case CodedIndex.HasDeclSecurity :
+ case CodedIndex.HasDeclSecurity:
bits = 2;
- rids = new int [3];
- rids [0] = TypeDefTable.RId;
- rids [1] = MethodTable.RId;
- rids [2] = AssemblyTable.RId;
+ tables = new [] { Table.TypeDef, Table.Method, Table.Assembly };
break;
- case CodedIndex.MemberRefParent :
+ case CodedIndex.MemberRefParent:
bits = 3;
- rids = new int [5];
- rids [0] = TypeDefTable.RId;
- rids [1] = TypeRefTable.RId;
- rids [2] = ModuleRefTable.RId;
- rids [3] = MethodTable.RId;
- rids [4] = TypeSpecTable.RId;
+ tables = new [] { Table.TypeDef, Table.TypeRef, Table.ModuleRef, Table.Method, Table.TypeSpec };
break;
- case CodedIndex.HasSemantics :
+ case CodedIndex.HasSemantics:
bits = 1;
- rids = new int [2];
- rids [0] = EventTable.RId;
- rids [1] = PropertyTable.RId;
+ tables = new [] { Table.Event, Table.Property };
break;
- case CodedIndex.MethodDefOrRef :
+ case CodedIndex.MethodDefOrRef:
bits = 1;
- rids = new int [2];
- rids [0] = MethodTable.RId;
- rids [1] = MemberRefTable.RId;
+ tables = new [] { Table.Method, Table.MemberRef };
break;
- case CodedIndex.MemberForwarded :
+ case CodedIndex.MemberForwarded:
bits = 1;
- rids = new int [2];
- rids [0] = FieldTable.RId;
- rids [1] = MethodTable.RId;
+ tables = new [] { Table.Field, Table.Method };
break;
- case CodedIndex.Implementation :
+ case CodedIndex.Implementation:
bits = 2;
- rids = new int [3];
- rids [0] = FileTable.RId;
- rids [1] = AssemblyRefTable.RId;
- rids [2] = ExportedTypeTable.RId;
+ tables = new [] { Table.File, Table.AssemblyRef, Table.ExportedType };
break;
- case CodedIndex.CustomAttributeType :
+ case CodedIndex.CustomAttributeType:
bits = 3;
- rids = new int [2];
- rids [0] = MethodTable.RId;
- rids [1] = MemberRefTable.RId;
+ tables = new [] { Table.Method, Table.MemberRef };
break;
- case CodedIndex.ResolutionScope :
+ case CodedIndex.ResolutionScope:
bits = 2;
- rids = new int [4];
- rids [0] = ModuleTable.RId;
- rids [1] = ModuleRefTable.RId;
- rids [2] = AssemblyRefTable.RId;
- rids [3] = TypeRefTable.RId;
+ tables = new [] { Table.Module, Table.ModuleRef, Table.AssemblyRef, Table.TypeRef };
break;
- case CodedIndex.TypeOrMethodDef :
+ case CodedIndex.TypeOrMethodDef:
bits = 1;
- rids = new int [2];
- rids [0] = TypeDefTable.RId;
- rids [1] = MethodTable.RId;
+ tables = new [] { Table.TypeDef, Table.Method };
break;
- default :
- throw new MetadataFormatException ("Non valid CodedIndex");
+ default:
+ throw new ArgumentException ();
}
- for (int i = 0; i < rids.Length; i++) {
- int rows = rowCounter (rids [i]);
- if (rows > max) max = rows;
+ int max = 0;
+
+ for (int i = 0; i < tables.Length; i++) {
+ max = System.Math.Max (counter (tables [i]), max);
}
- res = max < (1 << (16 - bits)) ? 2 : 4;
- codedIndexCache [index] = res;
- return res;
+ return max < (1 << (16 - bits)) ? 2 : 4;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.PE/BinaryStreamReader.cs b/mcs/class/Mono.Cecil/Mono.Cecil.PE/BinaryStreamReader.cs
new file mode 100644
index 00000000000..8f5b38e16c6
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.PE/BinaryStreamReader.cs
@@ -0,0 +1,51 @@
+//
+// BinaryStreamReader.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.IO;
+
+namespace Mono.Cecil.PE {
+
+ class BinaryStreamReader : BinaryReader {
+
+ public BinaryStreamReader (Stream stream)
+ : base (stream)
+ {
+ }
+
+ protected void Advance (int bytes)
+ {
+ BaseStream.Seek (bytes, SeekOrigin.Current);
+ }
+
+ protected DataDirectory ReadDataDirectory ()
+ {
+ return new DataDirectory (ReadUInt32 (), ReadUInt32 ());
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.PE/BinaryStreamWriter.cs b/mcs/class/Mono.Cecil/Mono.Cecil.PE/BinaryStreamWriter.cs
new file mode 100644
index 00000000000..37189cb6666
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.PE/BinaryStreamWriter.cs
@@ -0,0 +1,96 @@
+//
+// BinaryStreamWriter.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.IO;
+
+#if !READ_ONLY
+
+namespace Mono.Cecil.PE {
+
+ class BinaryStreamWriter : BinaryWriter {
+
+ public BinaryStreamWriter (Stream stream)
+ : base (stream)
+ {
+ }
+
+ public void WriteByte (byte value)
+ {
+ Write (value);
+ }
+
+ public void WriteUInt16 (ushort value)
+ {
+ Write (value);
+ }
+
+ public void WriteInt16 (short value)
+ {
+ Write (value);
+ }
+
+ public void WriteUInt32 (uint value)
+ {
+ Write (value);
+ }
+
+ public void WriteInt32 (int value)
+ {
+ Write (value);
+ }
+
+ public void WriteUInt64 (ulong value)
+ {
+ Write (value);
+ }
+
+ public void WriteBytes (byte [] bytes)
+ {
+ Write (bytes);
+ }
+
+ public void WriteDataDirectory (DataDirectory directory)
+ {
+ Write (directory.VirtualAddress);
+ Write (directory.Size);
+ }
+
+ public void WriteBuffer (ByteBuffer buffer)
+ {
+ Write (buffer.buffer, 0, buffer.length);
+ }
+
+ protected void Advance (int bytes)
+ {
+ BaseStream.Seek (bytes, SeekOrigin.Current);
+ }
+ }
+}
+
+#endif
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.PE/ByteBuffer.cs b/mcs/class/Mono.Cecil/Mono.Cecil.PE/ByteBuffer.cs
new file mode 100644
index 00000000000..4303b6d56f9
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.PE/ByteBuffer.cs
@@ -0,0 +1,342 @@
+//
+// ByteBuffer.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace Mono.Cecil.PE {
+
+ class ByteBuffer {
+
+ internal byte [] buffer;
+ internal int length;
+ internal int position;
+
+ public ByteBuffer ()
+ {
+ this.buffer = Empty<byte>.Array;
+ }
+
+ public ByteBuffer (int length)
+ {
+ this.buffer = new byte [length];
+ }
+
+ public ByteBuffer (byte [] buffer)
+ {
+ this.buffer = buffer ?? Empty<byte>.Array;
+ this.length = this.buffer.Length;
+ }
+
+ public void Reset (byte [] buffer)
+ {
+ this.buffer = buffer ?? Empty<byte>.Array;
+ this.length = this.buffer.Length;
+ }
+
+ public void Advance (int length)
+ {
+ position += length;
+ }
+
+ public byte ReadByte ()
+ {
+ return buffer [position++];
+ }
+
+ public sbyte ReadSByte ()
+ {
+ return (sbyte) ReadByte ();
+ }
+
+ public byte [] ReadBytes (int length)
+ {
+ var bytes = new byte [length];
+ Buffer.BlockCopy (buffer, position, bytes, 0, length);
+ position += length;
+ return bytes;
+ }
+
+ public ushort ReadUInt16 ()
+ {
+ ushort value = (ushort) (buffer [position]
+ | (buffer [position + 1] << 8));
+ position += 2;
+ return value;
+ }
+
+ public short ReadInt16 ()
+ {
+ return (short) ReadUInt16 ();
+ }
+
+ public uint ReadUInt32 ()
+ {
+ uint value = (uint) (buffer [position]
+ | (buffer [position + 1] << 8)
+ | (buffer [position + 2] << 16)
+ | (buffer [position + 3] << 24));
+ position += 4;
+ return value;
+ }
+
+ public int ReadInt32 ()
+ {
+ return (int) ReadUInt32 ();
+ }
+
+ public ulong ReadUInt64 ()
+ {
+ uint low = ReadUInt32 ();
+ uint high = ReadUInt32 ();
+
+ return (((ulong) high) << 32) | low;
+ }
+
+ public long ReadInt64 ()
+ {
+ return (long) ReadUInt64 ();
+ }
+
+ public uint ReadCompressedUInt32 ()
+ {
+ byte first = ReadByte ();
+ if ((first & 0x80) == 0)
+ return first;
+
+ if ((first & 0x40) == 0)
+ return ((uint) (first & ~0x80) << 8)
+ | ReadByte ();
+
+ return ((uint) (first & ~0xc0) << 24)
+ | (uint) ReadByte () << 16
+ | (uint) ReadByte () << 8
+ | ReadByte ();
+ }
+
+ public int ReadCompressedInt32 ()
+ {
+ var value = (int) ReadCompressedUInt32 ();
+
+ return (value & 1) != 0
+ ? -(value >> 1)
+ : value >> 1;
+ }
+
+ public float ReadSingle ()
+ {
+ if (!BitConverter.IsLittleEndian) {
+ var bytes = ReadBytes (4);
+ Array.Reverse (bytes);
+ return BitConverter.ToSingle (bytes, 0);
+ }
+
+ float value = BitConverter.ToSingle (buffer, position);
+ position += 4;
+ return value;
+ }
+
+ public double ReadDouble ()
+ {
+ if (!BitConverter.IsLittleEndian) {
+ var bytes = ReadBytes (8);
+ Array.Reverse (bytes);
+ return BitConverter.ToDouble (bytes, 0);
+ }
+
+ double value = BitConverter.ToDouble (buffer, position);
+ position += 8;
+ return value;
+ }
+
+#if !READ_ONLY
+
+ public void WriteByte (byte value)
+ {
+ if (position == buffer.Length)
+ Grow (1);
+
+ buffer [position++] = value;
+
+ if (position > length)
+ length = position;
+ }
+
+ public void WriteSByte (sbyte value)
+ {
+ WriteByte ((byte) value);
+ }
+
+ public void WriteUInt16 (ushort value)
+ {
+ if (position + 2 > buffer.Length)
+ Grow (2);
+
+ buffer [position++] = (byte) value;
+ buffer [position++] = (byte) (value >> 8);
+
+ if (position > length)
+ length = position;
+ }
+
+ public void WriteInt16 (short value)
+ {
+ WriteUInt16 ((ushort) value);
+ }
+
+ public void WriteUInt32 (uint value)
+ {
+ if (position + 4 > buffer.Length)
+ Grow (4);
+
+ buffer [position++] = (byte) value;
+ buffer [position++] = (byte) (value >> 8);
+ buffer [position++] = (byte) (value >> 16);
+ buffer [position++] = (byte) (value >> 24);
+
+ if (position > length)
+ length = position;
+ }
+
+ public void WriteInt32 (int value)
+ {
+ WriteUInt32 ((uint) value);
+ }
+
+ public void WriteUInt64 (ulong value)
+ {
+ if (position + 8 > buffer.Length)
+ Grow (8);
+
+ buffer [position++] = (byte) value;
+ buffer [position++] = (byte) (value >> 8);
+ buffer [position++] = (byte) (value >> 16);
+ buffer [position++] = (byte) (value >> 24);
+ buffer [position++] = (byte) (value >> 32);
+ buffer [position++] = (byte) (value >> 40);
+ buffer [position++] = (byte) (value >> 48);
+ buffer [position++] = (byte) (value >> 56);
+
+ if (position > length)
+ length = position;
+ }
+
+ public void WriteInt64 (long value)
+ {
+ WriteUInt64 ((ulong) value);
+ }
+
+ public void WriteCompressedUInt32 (uint value)
+ {
+ if (value < 0x80)
+ WriteByte ((byte) value);
+ else if (value < 0x4000) {
+ WriteByte ((byte) (0x80 | (value >> 8)));
+ WriteByte ((byte) (value & 0xff));
+ } else {
+ WriteByte ((byte) ((value >> 24) | 0xc0));
+ WriteByte ((byte) ((value >> 16) & 0xff));
+ WriteByte ((byte) ((value >> 8) & 0xff));
+ WriteByte ((byte) (value & 0xff));
+ }
+ }
+
+ public void WriteCompressedInt32 (int value)
+ {
+ WriteCompressedUInt32 ((uint) ((value < 0) ? ((-value) << 1) | 1 : value << 1));
+ }
+
+ public void WriteBytes (byte [] bytes)
+ {
+ var length = bytes.Length;
+ if (position + length > buffer.Length)
+ Grow (length);
+
+ Buffer.BlockCopy (bytes, 0, buffer, position, length);
+ position += length;
+
+ if (position > this.length)
+ this.length = position;
+ }
+
+ public void WriteBytes (int length)
+ {
+ if (position + length > buffer.Length)
+ Grow (length);
+
+ position += length;
+
+ if (position > this.length)
+ this.length = position;
+ }
+
+ public void WriteBytes (ByteBuffer buffer)
+ {
+ if (position + buffer.length > this.buffer.Length)
+ Grow (buffer.length);
+
+ Buffer.BlockCopy (buffer.buffer, 0, this.buffer, position, buffer.length);
+ position += buffer.length;
+
+ if (position > this.length)
+ this.length = position;
+ }
+
+ public void WriteSingle (float value)
+ {
+ var bytes = BitConverter.GetBytes (value);
+
+ if (!BitConverter.IsLittleEndian)
+ Array.Reverse (bytes);
+
+ WriteBytes (bytes);
+ }
+
+ public void WriteDouble (double value)
+ {
+ var bytes = BitConverter.GetBytes (value);
+
+ if (!BitConverter.IsLittleEndian)
+ Array.Reverse (bytes);
+
+ WriteBytes (bytes);
+ }
+
+ void Grow (int desired)
+ {
+ var current = this.buffer;
+ var current_length = current.Length;
+
+ var buffer = new byte [System.Math.Max (current_length + desired, current_length * 2)];
+ Buffer.BlockCopy (current, 0, buffer, 0, current_length);
+ this.buffer = buffer;
+ }
+
+#endif
+
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.PE/ByteBufferEqualityComparer.cs b/mcs/class/Mono.Cecil/Mono.Cecil.PE/ByteBufferEqualityComparer.cs
new file mode 100644
index 00000000000..fd780250ff2
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.PE/ByteBufferEqualityComparer.cs
@@ -0,0 +1,61 @@
+//
+// ByteBufferEqualityComparer.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections.Generic;
+
+namespace Mono.Cecil.PE {
+
+ sealed class ByteBufferEqualityComparer : IEqualityComparer<ByteBuffer> {
+
+ public bool Equals (ByteBuffer x, ByteBuffer y)
+ {
+ if (x.length != y.length)
+ return false;
+
+ var x_buffer = x.buffer;
+ var y_buffer = y.buffer;
+
+ for (int i = 0; i < x.length; i++)
+ if (x_buffer [i] != y_buffer [i])
+ return false;
+
+ return true;
+ }
+
+ public int GetHashCode (ByteBuffer buffer)
+ {
+ var hash = 0;
+ var bytes = buffer.buffer;
+ for (int i = 0; i < buffer.length; i++)
+ hash = (hash * 37) ^ bytes [i];
+
+ return hash;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.PE/DataDirectory.cs b/mcs/class/Mono.Cecil/Mono.Cecil.PE/DataDirectory.cs
new file mode 100644
index 00000000000..5ba2d2d55a9
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.PE/DataDirectory.cs
@@ -0,0 +1,50 @@
+//
+// DataDirectory.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+using RVA = System.UInt32;
+
+namespace Mono.Cecil.PE {
+
+ struct DataDirectory {
+
+ public readonly RVA VirtualAddress;
+ public readonly uint Size;
+
+ public bool IsZero {
+ get { return VirtualAddress == 0 && Size == 0; }
+ }
+
+ public DataDirectory (RVA rva, uint size)
+ {
+ this.VirtualAddress = rva;
+ this.Size = size;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.PE/Image.cs b/mcs/class/Mono.Cecil/Mono.Cecil.PE/Image.cs
new file mode 100644
index 00000000000..11aba8fd206
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.PE/Image.cs
@@ -0,0 +1,159 @@
+//
+// Image.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+using Mono;
+using Mono.Cecil.Cil;
+using Mono.Cecil.Metadata;
+
+using RVA = System.UInt32;
+
+namespace Mono.Cecil.PE {
+
+ sealed class Image {
+
+ public ModuleKind Kind;
+ public TargetRuntime Runtime;
+ public TargetArchitecture Architecture;
+ public string FileName;
+
+ public Section [] Sections;
+
+ public Section MetadataSection;
+
+ public uint EntryPointToken;
+ public ModuleAttributes Attributes;
+
+ public DataDirectory Debug;
+ public DataDirectory Resources;
+
+ public StringHeap StringHeap;
+ public BlobHeap BlobHeap;
+ public UserStringHeap UserStringHeap;
+ public GuidHeap GuidHeap;
+ public TableHeap TableHeap;
+
+ readonly int [] coded_index_sizes = new int [13];
+
+ readonly Func<Table, int> counter;
+
+ public Image ()
+ {
+ counter = GetTableLength;
+ }
+
+ public bool HasTable (Table table)
+ {
+ return GetTableLength (table) > 0;
+ }
+
+ public int GetTableLength (Table table)
+ {
+ return (int) TableHeap [table].Length;
+ }
+
+ public int GetTableIndexSize (Table table)
+ {
+ return GetTableLength (table) < 65536 ? 2 : 4;
+ }
+
+ public int GetCodedIndexSize (CodedIndex coded_index)
+ {
+ var index = (int) coded_index;
+ var size = coded_index_sizes [index];
+ if (size != 0)
+ return size;
+
+ return coded_index_sizes [index] = coded_index.GetSize (counter);
+ }
+
+ public uint ResolveVirtualAddress (RVA rva)
+ {
+ var section = GetSectionAtVirtualAddress (rva);
+ if (section == null)
+ throw new ArgumentOutOfRangeException ();
+
+ return ResolveVirtualAddressInSection (rva, section);
+ }
+
+ public uint ResolveVirtualAddressInSection (RVA rva, Section section)
+ {
+ return rva + section.PointerToRawData - section.VirtualAddress;
+ }
+
+ public Section GetSection (string name)
+ {
+ var sections = this.Sections;
+ for (int i = 0; i < sections.Length; i++) {
+ var section = sections [i];
+ if (section.Name == name)
+ return section;
+ }
+
+ return null;
+ }
+
+ public Section GetSectionAtVirtualAddress (RVA rva)
+ {
+ var sections = this.Sections;
+ for (int i = 0; i < sections.Length; i++) {
+ var section = sections [i];
+ if (rva >= section.VirtualAddress && rva < section.VirtualAddress + section.SizeOfRawData)
+ return section;
+ }
+
+ return null;
+ }
+
+ public ImageDebugDirectory GetDebugHeader (out byte [] header)
+ {
+ var section = GetSectionAtVirtualAddress (Debug.VirtualAddress);
+ var buffer = new ByteBuffer (section.Data);
+ buffer.position = (int) (Debug.VirtualAddress - section.VirtualAddress);
+
+ var directory = new ImageDebugDirectory {
+ Characteristics = buffer.ReadInt32 (),
+ TimeDateStamp = buffer.ReadInt32 (),
+ MajorVersion = buffer.ReadInt16 (),
+ MinorVersion = buffer.ReadInt16 (),
+ Type = buffer.ReadInt32 (),
+ SizeOfData = buffer.ReadInt32 (),
+ AddressOfRawData = buffer.ReadInt32 (),
+ PointerToRawData = buffer.ReadInt32 (),
+ };
+
+ buffer.position = (int) (directory.PointerToRawData - section.PointerToRawData);
+
+ header = new byte [directory.SizeOfData];
+ Buffer.BlockCopy (buffer.buffer, buffer.position, header, 0, header.Length);
+
+ return directory;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.PE/ImageReader.cs b/mcs/class/Mono.Cecil/Mono.Cecil.PE/ImageReader.cs
new file mode 100644
index 00000000000..a228c1ffec6
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.PE/ImageReader.cs
@@ -0,0 +1,678 @@
+//
+// ImageReader.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.IO;
+
+using Mono.Cecil.Metadata;
+
+using RVA = System.UInt32;
+
+namespace Mono.Cecil.PE {
+
+ sealed class ImageReader : BinaryStreamReader {
+
+ readonly Image image;
+
+ DataDirectory cli;
+ DataDirectory metadata;
+
+ public ImageReader (Stream stream)
+ : base (stream)
+ {
+ image = new Image ();
+
+ image.FileName = stream.GetFullyQualifiedName ();
+ }
+
+ void MoveTo (DataDirectory directory)
+ {
+ BaseStream.Position = image.ResolveVirtualAddress (directory.VirtualAddress);
+ }
+
+ void MoveTo (uint position)
+ {
+ BaseStream.Position = position;
+ }
+
+ void ReadImage ()
+ {
+ if (BaseStream.Length < 128)
+ throw new BadImageFormatException ();
+
+ // - DOSHeader
+
+ // PE 2
+ // Start 58
+ // Lfanew 4
+ // End 64
+
+ if (ReadUInt16 () != 0x5a4d)
+ throw new BadImageFormatException ();
+
+ Advance (58);
+
+ MoveTo (ReadUInt32 ());
+
+ if (ReadUInt32 () != 0x00004550)
+ throw new BadImageFormatException ();
+
+ // - PEFileHeader
+
+ // Machine 2
+ image.Architecture = ReadArchitecture ();
+
+ // NumberOfSections 2
+ ushort sections = ReadUInt16 ();
+
+ // TimeDateStamp 4
+ // PointerToSymbolTable 4
+ // NumberOfSymbols 4
+ // OptionalHeaderSize 2
+ Advance (14);
+
+ // Characteristics 2
+ ushort characteristics = ReadUInt16 ();
+
+ ushort subsystem;
+ ReadOptionalHeaders (out subsystem);
+ ReadSections (sections);
+ ReadCLIHeader ();
+ ReadMetadata ();
+
+ image.Kind = GetModuleKind (characteristics, subsystem);
+ }
+
+ TargetArchitecture ReadArchitecture ()
+ {
+ var machine = ReadUInt16 ();
+ switch (machine) {
+ case 0x014c:
+ return TargetArchitecture.I386;
+ case 0x8664:
+ return TargetArchitecture.AMD64;
+ case 0x0200:
+ return TargetArchitecture.IA64;
+ }
+
+ throw new NotSupportedException ();
+ }
+
+ static ModuleKind GetModuleKind (ushort characteristics, ushort subsystem)
+ {
+ if ((characteristics & 0x2000) != 0) // ImageCharacteristics.Dll
+ return ModuleKind.Dll;
+
+ if (subsystem == 0x2 || subsystem == 0x9) // SubSystem.WindowsGui || SubSystem.WindowsCeGui
+ return ModuleKind.Windows;
+
+ return ModuleKind.Console;
+ }
+
+ void ReadOptionalHeaders (out ushort subsystem)
+ {
+ // - PEOptionalHeader
+ // - StandardFieldsHeader
+
+ // Magic 2
+ bool pe64 = ReadUInt16 () == 0x20b;
+
+ // pe32 || pe64
+
+ // LMajor 1
+ // LMinor 1
+ // CodeSize 4
+ // InitializedDataSize 4
+ // UninitializedDataSize4
+ // EntryPointRVA 4
+ // BaseOfCode 4
+ // BaseOfData 4 || 0
+
+ // - NTSpecificFieldsHeader
+
+ // ImageBase 4 || 8
+ // SectionAlignment 4
+ // FileAlignement 4
+ // OSMajor 2
+ // OSMinor 2
+ // UserMajor 2
+ // UserMinor 2
+ // SubSysMajor 2
+ // SubSysMinor 2
+ // Reserved 4
+ // ImageSize 4
+ // HeaderSize 4
+ // FileChecksum 4
+ Advance (66);
+
+ // SubSystem 2
+ subsystem = ReadUInt16 ();
+
+ // DLLFlags 2
+ // StackReserveSize 4 || 8
+ // StackCommitSize 4 || 8
+ // HeapReserveSize 4 || 8
+ // HeapCommitSize 4 || 8
+ // LoaderFlags 4
+ // NumberOfDataDir 4
+
+ // - DataDirectoriesHeader
+
+ // ExportTable 8
+ // ImportTable 8
+ // ResourceTable 8
+ // ExceptionTable 8
+ // CertificateTable 8
+ // BaseRelocationTable 8
+
+ Advance (pe64 ? 90 : 74);
+
+ // Debug 8
+ image.Debug = ReadDataDirectory ();
+
+ // Copyright 8
+ // GlobalPtr 8
+ // TLSTable 8
+ // LoadConfigTable 8
+ // BoundImport 8
+ // IAT 8
+ // DelayImportDescriptor8
+ Advance (56);
+
+ // CLIHeader 8
+ cli = ReadDataDirectory ();
+
+ if (cli.IsZero)
+ throw new BadImageFormatException ();
+
+ // Reserved 8
+ Advance (8);
+ }
+
+ string ReadAlignedString (int length)
+ {
+ int read = 0;
+ var buffer = new char [length];
+ while (read < length) {
+ var current = ReadByte ();
+ if (current == 0)
+ break;
+
+ buffer [read++] = (char) current;
+ }
+
+ Advance (-1 + ((read + 4) & ~3) - read);
+
+ return new string (buffer, 0, read);
+ }
+
+ string ReadZeroTerminatedString (int length)
+ {
+ int read = 0;
+ var buffer = new char [length];
+ var bytes = ReadBytes (length);
+ while (read < length) {
+ var current = bytes [read];
+ if (current == 0)
+ break;
+
+ buffer [read++] = (char) current;
+ }
+
+ return new string (buffer, 0, read);
+ }
+
+ void ReadSections (ushort count)
+ {
+ var sections = new Section [count];
+
+ for (int i = 0; i < count; i++) {
+ var section = new Section ();
+
+ // Name
+ section.Name = ReadZeroTerminatedString (8);
+
+ // VirtualSize 4
+ Advance (4);
+
+ // VirtualAddress 4
+ section.VirtualAddress = ReadUInt32 ();
+ // SizeOfRawData 4
+ section.SizeOfRawData = ReadUInt32 ();
+ // PointerToRawData 4
+ section.PointerToRawData = ReadUInt32 ();
+
+ // PointerToRelocations 4
+ // PointerToLineNumbers 4
+ // NumberOfRelocations 2
+ // NumberOfLineNumbers 2
+ // Characteristics 4
+ Advance (16);
+
+ sections [i] = section;
+
+ if (section.Name == ".reloc")
+ continue;
+
+ ReadSectionData (section);
+ }
+
+ image.Sections = sections;
+ }
+
+ void ReadSectionData (Section section)
+ {
+ var position = BaseStream.Position;
+
+ MoveTo (section.PointerToRawData);
+
+ var length = (int) section.SizeOfRawData;
+ var data = new byte [length];
+ int offset = 0, read;
+
+ while ((read = Read (data, offset, length - offset)) > 0)
+ offset += read;
+
+ section.Data = data;
+
+ BaseStream.Position = position;
+ }
+
+ void ReadCLIHeader ()
+ {
+ MoveTo (cli);
+
+ // - CLIHeader
+
+ // Cb 4
+ // MajorRuntimeVersion 2
+ // MinorRuntimeVersion 2
+ Advance (8);
+
+ // Metadata 8
+ metadata = ReadDataDirectory ();
+ // Flags 4
+ image.Attributes = (ModuleAttributes) ReadUInt32 ();
+ // EntryPointToken 4
+ image.EntryPointToken = ReadUInt32 ();
+ // Resources 8
+ image.Resources = ReadDataDirectory ();
+ // StrongNameSignature 8
+ // CodeManagerTable 8
+ // VTableFixups 8
+ // ExportAddressTableJumps 8
+ // ManagedNativeHeader 8
+ }
+
+ void ReadMetadata ()
+ {
+ MoveTo (metadata);
+
+ if (ReadUInt32 () != 0x424a5342)
+ throw new BadImageFormatException ();
+
+ // MajorVersion 2
+ // MinorVersion 2
+ // Reserved 4
+ Advance (8);
+
+ var version = ReadZeroTerminatedString (ReadInt32 ());
+ image.Runtime = version.ParseRuntime ();
+
+ // Flags 2
+ Advance (2);
+
+ var streams = ReadUInt16 ();
+
+ var section = image.GetSectionAtVirtualAddress (metadata.VirtualAddress);
+ if (section == null)
+ throw new BadImageFormatException ();
+
+ image.MetadataSection = section;
+
+ for (int i = 0; i < streams; i++)
+ ReadMetadataStream (section);
+
+ if (image.TableHeap != null)
+ ReadTableHeap ();
+ }
+
+ void ReadMetadataStream (Section section)
+ {
+ // Offset 4
+ uint start = metadata.VirtualAddress - section.VirtualAddress + ReadUInt32 (); // relative to the section start
+
+ // Size 4
+ uint size = ReadUInt32 ();
+
+ var name = ReadAlignedString (16);
+ switch (name) {
+ case "#~":
+ case "#-":
+ image.TableHeap = new TableHeap (section, start, size);
+ break;
+ case "#Strings":
+ image.StringHeap = new StringHeap (section, start, size);
+ break;
+ case "#Blob":
+ image.BlobHeap = new BlobHeap (section, start, size);
+ break;
+ case "#GUID":
+ image.GuidHeap = new GuidHeap (section, start, size);
+ break;
+ case "#US":
+ image.UserStringHeap = new UserStringHeap (section, start, size);
+ break;
+ }
+ }
+
+ void ReadTableHeap ()
+ {
+ var heap = image.TableHeap;
+
+ uint start = heap.Section.PointerToRawData;
+
+ MoveTo (heap.Offset + start);
+
+ // Reserved 4
+ // MajorVersion 1
+ // MinorVersion 1
+ Advance (6);
+
+ // HeapSizes 1
+ var sizes = ReadByte ();
+
+ // Reserved2 1
+ Advance (1);
+
+ // Valid 8
+ heap.Valid = ReadInt64 ();
+
+ // Sorted 8
+ heap.Sorted = ReadInt64 ();
+
+ for (int i = 0; i < TableHeap.TableIdentifiers.Length; i++) {
+ var table = TableHeap.TableIdentifiers [i];
+ if (!heap.HasTable (table))
+ continue;
+
+ heap.Tables [(int) table].Length = ReadUInt32 ();
+ }
+
+ SetIndexSize (image.StringHeap, sizes, 0x1);
+ SetIndexSize (image.GuidHeap, sizes, 0x2);
+ SetIndexSize (image.BlobHeap, sizes, 0x4);
+
+ ComputeTableInformations ();
+ }
+
+ static void SetIndexSize (Heap heap, uint sizes, byte flag)
+ {
+ if (heap == null)
+ return;
+
+ heap.IndexSize = (sizes & flag) > 0 ? 4 : 2;
+ }
+
+ int GetTableIndexSize (Table table)
+ {
+ return image.GetTableIndexSize (table);
+ }
+
+ int GetCodedIndexSize (CodedIndex index)
+ {
+ return image.GetCodedIndexSize (index);
+ }
+
+ void ComputeTableInformations ()
+ {
+ uint offset = (uint) BaseStream.Position - image.MetadataSection.PointerToRawData; // header
+
+ int stridx_size = image.StringHeap.IndexSize;
+ int blobidx_size = image.BlobHeap != null ? image.BlobHeap.IndexSize : 2;
+
+ var heap = image.TableHeap;
+ var tables = heap.Tables;
+
+ for (int i = 0; i < TableHeap.TableIdentifiers.Length; i++) {
+ var table = TableHeap.TableIdentifiers [i];
+ if (!heap.HasTable (table))
+ continue;
+
+ int size;
+ switch (table) {
+ case Table.Module:
+ size = 2 // Generation
+ + stridx_size // Name
+ + (image.GuidHeap.IndexSize * 3); // Mvid, EncId, EncBaseId
+ break;
+ case Table.TypeRef:
+ size = GetCodedIndexSize (CodedIndex.ResolutionScope) // ResolutionScope
+ + (stridx_size * 2); // Name, Namespace
+ break;
+ case Table.TypeDef:
+ size = 4 // Flags
+ + (stridx_size * 2) // Name, Namespace
+ + GetCodedIndexSize (CodedIndex.TypeDefOrRef) // BaseType
+ + GetTableIndexSize (Table.Field) // FieldList
+ + GetTableIndexSize (Table.Method); // MethodList
+ break;
+ case Table.FieldPtr:
+ size = GetTableIndexSize (Table.Field); // Field
+ break;
+ case Table.Field:
+ size = 2 // Flags
+ + stridx_size // Name
+ + blobidx_size; // Signature
+ break;
+ case Table.MethodPtr:
+ size = GetTableIndexSize (Table.Method); // Method
+ break;
+ case Table.Method:
+ size = 8 // Rva 4, ImplFlags 2, Flags 2
+ + stridx_size // Name
+ + blobidx_size // Signature
+ + GetTableIndexSize (Table.Param); // ParamList
+ break;
+ case Table.ParamPtr:
+ size = GetTableIndexSize (Table.Param); // Param
+ break;
+ case Table.Param:
+ size = 4 // Flags 2, Sequence 2
+ + stridx_size; // Name
+ break;
+ case Table.InterfaceImpl:
+ size = GetTableIndexSize (Table.TypeDef) // Class
+ + GetCodedIndexSize (CodedIndex.TypeDefOrRef); // Interface
+ break;
+ case Table.MemberRef:
+ size = GetCodedIndexSize (CodedIndex.MemberRefParent) // Class
+ + stridx_size // Name
+ + blobidx_size; // Signature
+ break;
+ case Table.Constant:
+ size = 2 // Type
+ + GetCodedIndexSize (CodedIndex.HasConstant) // Parent
+ + blobidx_size; // Value
+ break;
+ case Table.CustomAttribute:
+ size = GetCodedIndexSize (CodedIndex.HasCustomAttribute) // Parent
+ + GetCodedIndexSize (CodedIndex.CustomAttributeType) // Type
+ + blobidx_size; // Value
+ break;
+ case Table.FieldMarshal:
+ size = GetCodedIndexSize (CodedIndex.HasFieldMarshal) // Parent
+ + blobidx_size; // NativeType
+ break;
+ case Table.DeclSecurity:
+ size = 2 // Action
+ + GetCodedIndexSize (CodedIndex.HasDeclSecurity) // Parent
+ + blobidx_size; // PermissionSet
+ break;
+ case Table.ClassLayout:
+ size = 6 // PackingSize 2, ClassSize 4
+ + GetTableIndexSize (Table.TypeDef); // Parent
+ break;
+ case Table.FieldLayout:
+ size = 4 // Offset
+ + GetTableIndexSize (Table.Field); // Field
+ break;
+ case Table.StandAloneSig:
+ size = blobidx_size; // Signature
+ break;
+ case Table.EventMap:
+ size = GetTableIndexSize (Table.TypeDef) // Parent
+ + GetTableIndexSize (Table.Event); // EventList
+ break;
+ case Table.EventPtr:
+ size = GetTableIndexSize (Table.Event); // Event
+ break;
+ case Table.Event:
+ size = 2 // Flags
+ + stridx_size // Name
+ + GetCodedIndexSize (CodedIndex.TypeDefOrRef); // EventType
+ break;
+ case Table.PropertyMap:
+ size = GetTableIndexSize (Table.TypeDef) // Parent
+ + GetTableIndexSize (Table.Property); // PropertyList
+ break;
+ case Table.PropertyPtr:
+ size = GetTableIndexSize (Table.Property); // Property
+ break;
+ case Table.Property:
+ size = 2 // Flags
+ + stridx_size // Name
+ + blobidx_size; // Type
+ break;
+ case Table.MethodSemantics:
+ size = 2 // Semantics
+ + GetTableIndexSize (Table.Method) // Method
+ + GetCodedIndexSize (CodedIndex.HasSemantics); // Association
+ break;
+ case Table.MethodImpl:
+ size = GetTableIndexSize (Table.TypeDef) // Class
+ + GetCodedIndexSize (CodedIndex.MethodDefOrRef) // MethodBody
+ + GetCodedIndexSize (CodedIndex.MethodDefOrRef); // MethodDeclaration
+ break;
+ case Table.ModuleRef:
+ size = stridx_size; // Name
+ break;
+ case Table.TypeSpec:
+ size = blobidx_size; // Signature
+ break;
+ case Table.ImplMap:
+ size = 2 // MappingFlags
+ + GetCodedIndexSize (CodedIndex.MemberForwarded) // MemberForwarded
+ + stridx_size // ImportName
+ + GetTableIndexSize (Table.ModuleRef); // ImportScope
+ break;
+ case Table.FieldRVA:
+ size = 4 // RVA
+ + GetTableIndexSize (Table.Field); // Field
+ break;
+ case Table.Assembly:
+ size = 16 // HashAlgId 4, Version 4 * 2, Flags 4
+ + blobidx_size // PublicKey
+ + (stridx_size * 2); // Name, Culture
+ break;
+ case Table.AssemblyProcessor:
+ size = 4; // Processor
+ break;
+ case Table.AssemblyOS:
+ size = 12; // Platform 4, Version 2 * 4
+ break;
+ case Table.AssemblyRef:
+ size = 12 // Version 2 * 4 + Flags 4
+ + (blobidx_size * 2) // PublicKeyOrToken, HashValue
+ + (stridx_size * 2); // Name, Culture
+ break;
+ case Table.AssemblyRefProcessor:
+ size = 4 // Processor
+ + GetTableIndexSize (Table.AssemblyRef); // AssemblyRef
+ break;
+ case Table.AssemblyRefOS:
+ size = 12 // Platform 4, Version 2 * 4
+ + GetTableIndexSize (Table.AssemblyRef); // AssemblyRef
+ break;
+ case Table.File:
+ size = 4 // Flags
+ + stridx_size // Name
+ + blobidx_size; // HashValue
+ break;
+ case Table.ExportedType:
+ size = 8 // Flags 4, TypeDefId 4
+ + (stridx_size * 2) // Name, Namespace
+ + GetCodedIndexSize (CodedIndex.Implementation); // Implementation
+ break;
+ case Table.ManifestResource:
+ size = 8 // Offset, Flags
+ + stridx_size // Name
+ + GetCodedIndexSize (CodedIndex.Implementation); // Implementation
+ break;
+ case Table.NestedClass:
+ size = GetTableIndexSize (Table.TypeDef) // NestedClass
+ + GetTableIndexSize (Table.TypeDef); // EnclosingClass
+ break;
+ case Table.GenericParam:
+ size = 4 // Number, Flags
+ + GetCodedIndexSize (CodedIndex.TypeOrMethodDef) // Owner
+ + stridx_size; // Name
+ break;
+ case Table.MethodSpec:
+ size = GetCodedIndexSize (CodedIndex.MethodDefOrRef) // Method
+ + blobidx_size; // Instantiation
+ break;
+ case Table.GenericParamConstraint:
+ size = GetTableIndexSize (Table.GenericParam) // Owner
+ + GetCodedIndexSize (CodedIndex.TypeDefOrRef); // Constraint
+ break;
+ default:
+ throw new NotSupportedException ();
+ }
+
+ int index = (int) table;
+
+ tables [index].RowSize = (uint) size;
+ tables [index].Offset = offset;
+
+ offset += (uint) size * tables [index].Length;
+ }
+ }
+
+ public static Image ReadImageFrom (Stream stream)
+ {
+ try {
+ var reader = new ImageReader (stream);
+ reader.ReadImage ();
+ return reader.image;
+ } catch (EndOfStreamException e) {
+ throw new BadImageFormatException (stream.GetFullyQualifiedName (), e);
+ }
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.PE/ImageWriter.cs b/mcs/class/Mono.Cecil/Mono.Cecil.PE/ImageWriter.cs
new file mode 100644
index 00000000000..939de6b952f
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.PE/ImageWriter.cs
@@ -0,0 +1,820 @@
+//
+// ImageWriter.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.IO;
+
+#if !READ_ONLY
+
+using Mono.Cecil.Cil;
+using Mono.Cecil.Metadata;
+
+using RVA = System.UInt32;
+
+namespace Mono.Cecil.PE {
+
+ sealed class ImageWriter : BinaryStreamWriter {
+
+ readonly ModuleDefinition module;
+ readonly MetadataBuilder metadata;
+ readonly TextMap text_map;
+
+ ImageDebugDirectory debug_directory;
+ byte [] debug_data;
+
+ ByteBuffer win32_resources;
+
+ const uint pe_header_size = 0x178u;
+ const uint section_header_size = 0x28u;
+ const uint file_alignment = 0x200;
+ const uint section_alignment = 0x2000;
+ const ulong image_base = 0x00400000;
+
+ internal const RVA text_rva = 0x2000;
+
+ readonly bool pe64;
+ readonly uint time_stamp;
+
+ internal Section text;
+ internal Section rsrc;
+ internal Section reloc;
+
+ ushort sections;
+
+ ImageWriter (ModuleDefinition module, MetadataBuilder metadata, Stream stream)
+ : base (stream)
+ {
+ this.module = module;
+ this.metadata = metadata;
+ this.GetDebugHeader ();
+ this.GetWin32Resources ();
+ this.text_map = BuildTextMap ();
+ this.sections = 2; // text + reloc
+ this.pe64 = module.Architecture != TargetArchitecture.I386;
+ this.time_stamp = (uint) DateTime.UtcNow.Subtract (new DateTime (1970, 1, 1)).TotalSeconds;
+ }
+
+ void GetDebugHeader ()
+ {
+ var symbol_writer = metadata.symbol_writer;
+ if (symbol_writer == null)
+ return;
+
+ if (!symbol_writer.GetDebugHeader (out debug_directory, out debug_data))
+ debug_data = Empty<byte>.Array;
+ }
+
+ void GetWin32Resources ()
+ {
+ var rsrc = GetImageResourceSection ();
+ if (rsrc == null)
+ return;
+
+ var raw_resources = new byte [rsrc.Data.Length];
+ Buffer.BlockCopy (rsrc.Data, 0, raw_resources, 0, rsrc.Data.Length);
+ win32_resources = new ByteBuffer (raw_resources);
+ }
+
+ Section GetImageResourceSection ()
+ {
+ if (!module.HasImage)
+ return null;
+
+ const string rsrc_section = ".rsrc";
+
+ return module.Image.GetSection (rsrc_section);
+ }
+
+ public static ImageWriter CreateWriter (ModuleDefinition module, MetadataBuilder metadata, Stream stream)
+ {
+ var writer = new ImageWriter (module, metadata, stream);
+ writer.BuildSections ();
+ return writer;
+ }
+
+ void BuildSections ()
+ {
+ var has_win32_resources = win32_resources != null;
+ if (has_win32_resources)
+ sections++;
+
+ text = CreateSection (".text", text_map.GetLength (), null);
+ var previous = text;
+
+ if (has_win32_resources) {
+ rsrc = CreateSection (".rsrc", (uint) win32_resources.length, previous);
+
+ PatchWin32Resources (win32_resources);
+ previous = rsrc;
+ }
+
+ reloc = CreateSection (".reloc", 12u, previous);
+ }
+
+ Section CreateSection (string name, uint size, Section previous)
+ {
+ return new Section {
+ Name = name,
+ VirtualAddress = previous != null
+ ? previous.VirtualAddress + Align (previous.VirtualSize, section_alignment)
+ : text_rva,
+ VirtualSize = size,
+ PointerToRawData = previous != null
+ ? previous.PointerToRawData + previous.SizeOfRawData
+ : Align (GetHeaderSize (), file_alignment),
+ SizeOfRawData = Align (size, file_alignment)
+ };
+ }
+
+ static uint Align (uint value, uint align)
+ {
+ align--;
+ return (value + align) & ~align;
+ }
+
+ void WriteDOSHeader ()
+ {
+ Write (new byte [] {
+ // dos header start
+ 0x4d, 0x5a, 0x90, 0x00, 0x03, 0x00, 0x00,
+ 0x00, 0x04, 0x00, 0x00, 0x00, 0xff, 0xff,
+ 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ // lfanew
+ 0x80, 0x00, 0x00, 0x00,
+ // dos header end
+ 0x0e, 0x1f, 0xba, 0x0e, 0x00, 0xb4, 0x09,
+ 0xcd, 0x21, 0xb8, 0x01, 0x4c, 0xcd, 0x21,
+ 0x54, 0x68, 0x69, 0x73, 0x20, 0x70, 0x72,
+ 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x20, 0x63,
+ 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x62,
+ 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69,
+ 0x6e, 0x20, 0x44, 0x4f, 0x53, 0x20, 0x6d,
+ 0x6f, 0x64, 0x65, 0x2e, 0x0d, 0x0d, 0x0a,
+ 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00
+ });
+ }
+
+ void WritePEFileHeader ()
+ {
+ WriteUInt32 (0x00004550); // Magic
+ WriteUInt16 (GetMachine ()); // Machine
+ WriteUInt16 (sections); // NumberOfSections
+ WriteUInt32 (time_stamp);
+ WriteUInt32 (0); // PointerToSymbolTable
+ WriteUInt32 (0); // NumberOfSymbols
+ WriteUInt16 ((ushort) (!pe64 ? 0xe0 : 0xf0)); // SizeOfOptionalHeader
+
+ // ExecutableImage | (pe64 ? 32BitsMachine : LargeAddressAware)
+ var characteristics = (ushort) (0x0002 | (!pe64 ? 0x0100 : 0x0020));
+ if (module.Kind == ModuleKind.Dll || module.Kind == ModuleKind.NetModule)
+ characteristics |= 0x2000;
+ WriteUInt16 (characteristics); // Characteristics
+ }
+
+ ushort GetMachine ()
+ {
+ switch (module.Architecture) {
+ case TargetArchitecture.I386:
+ return 0x014c;
+ case TargetArchitecture.AMD64:
+ return 0x8664;
+ case TargetArchitecture.IA64:
+ return 0x0200;
+ }
+
+ throw new NotSupportedException ();
+ }
+
+ void WriteOptionalHeaders ()
+ {
+ WriteUInt16 ((ushort) (!pe64 ? 0x10b : 0x20b)); // Magic
+ WriteByte (8); // LMajor
+ WriteByte (0); // LMinor
+ WriteUInt32 (text.SizeOfRawData); // CodeSize
+ WriteUInt32 (reloc.SizeOfRawData
+ + (rsrc != null ? rsrc.SizeOfRawData : 0)); // InitializedDataSize
+ WriteUInt32 (0); // UninitializedDataSize
+
+ var entry_point_rva = text_map.GetRVA (TextSegment.StartupStub);
+ if (module.Architecture == TargetArchitecture.IA64)
+ entry_point_rva += 0x20;
+ WriteUInt32 (entry_point_rva); // EntryPointRVA
+ WriteUInt32 (text_rva); // BaseOfCode
+
+ if (!pe64) {
+ WriteUInt32 (0); // BaseOfData
+ WriteUInt32 ((uint) image_base); // ImageBase
+ } else {
+ WriteUInt64 (image_base); // ImageBase
+ }
+
+ WriteUInt32 (section_alignment); // SectionAlignment
+ WriteUInt32 (file_alignment); // FileAlignment
+
+ WriteUInt16 (4); // OSMajor
+ WriteUInt16 (0); // OSMinor
+ WriteUInt16 (0); // UserMajor
+ WriteUInt16 (0); // UserMinor
+ WriteUInt16 (4); // SubSysMajor
+ WriteUInt16 (0); // SubSysMinor
+ WriteUInt32 (0); // Reserved
+
+ WriteUInt32 (reloc.VirtualAddress + Align (reloc.VirtualSize, section_alignment)); // ImageSize
+ WriteUInt32 (text.PointerToRawData); // HeaderSize
+
+ WriteUInt32 (0); // Checksum
+ WriteUInt16 (GetSubSystem ()); // SubSystem
+ WriteUInt16 (0x8540); // DLLFlags
+
+ const ulong stack_reserve = 0x100000;
+ const ulong stack_commit = 0x1000;
+ const ulong heap_reserve = 0x100000;
+ const ulong heap_commit = 0x1000;
+
+ if (!pe64) {
+ WriteUInt32 ((uint) stack_reserve);
+ WriteUInt32 ((uint) stack_commit);
+ WriteUInt32 ((uint) heap_reserve);
+ WriteUInt32 ((uint) heap_commit);
+ } else {
+ WriteUInt64 (stack_reserve);
+ WriteUInt64 (stack_commit);
+ WriteUInt64 (heap_reserve);
+ WriteUInt64 (heap_commit);
+ }
+
+ WriteUInt32 (0); // LoaderFlags
+ WriteUInt32 (16); // NumberOfDataDir
+
+ WriteZeroDataDirectory (); // ExportTable
+ WriteDataDirectory (text_map.GetDataDirectory (TextSegment.ImportDirectory)); // ImportTable
+ if (rsrc != null) { // ResourceTable
+ WriteUInt32 (rsrc.VirtualAddress);
+ WriteUInt32 (rsrc.VirtualSize);
+ } else
+ WriteZeroDataDirectory ();
+
+ WriteZeroDataDirectory (); // ExceptionTable
+ WriteZeroDataDirectory (); // CertificateTable
+ WriteUInt32 (reloc.VirtualAddress); // BaseRelocationTable
+ WriteUInt32 (reloc.VirtualSize);
+
+ if (text_map.GetLength (TextSegment.DebugDirectory) > 0) {
+ WriteUInt32 (text_map.GetRVA (TextSegment.DebugDirectory));
+ WriteUInt32 (28u);
+ } else
+ WriteZeroDataDirectory ();
+
+ WriteZeroDataDirectory (); // Copyright
+ WriteZeroDataDirectory (); // GlobalPtr
+ WriteZeroDataDirectory (); // TLSTable
+ WriteZeroDataDirectory (); // LoadConfigTable
+ WriteZeroDataDirectory (); // BoundImport
+ WriteDataDirectory (text_map.GetDataDirectory (TextSegment.ImportAddressTable)); // IAT
+ WriteZeroDataDirectory (); // DelayImportDesc
+ WriteDataDirectory (text_map.GetDataDirectory (TextSegment.CLIHeader)); // CLIHeader
+ WriteZeroDataDirectory (); // Reserved
+ }
+
+ void WriteZeroDataDirectory ()
+ {
+ WriteUInt32 (0);
+ WriteUInt32 (0);
+ }
+
+ ushort GetSubSystem ()
+ {
+ switch (module.Kind) {
+ case ModuleKind.Console:
+ case ModuleKind.Dll:
+ case ModuleKind.NetModule:
+ return 0x3;
+ case ModuleKind.Windows:
+ return 0x2;
+ default:
+ throw new ArgumentOutOfRangeException ();
+ }
+ }
+
+ void WriteSectionHeaders ()
+ {
+ WriteSection (text, 0x60000020);
+
+ if (rsrc != null)
+ WriteSection (rsrc, 0x40000040);
+
+ WriteSection (reloc, 0x42000040);
+ }
+
+ void WriteSection (Section section, uint characteristics)
+ {
+ var name = new byte [8];
+ var sect_name = section.Name;
+ for (int i = 0; i < sect_name.Length; i++)
+ name [i] = (byte) sect_name [i];
+
+ WriteBytes (name);
+ WriteUInt32 (section.VirtualSize);
+ WriteUInt32 (section.VirtualAddress);
+ WriteUInt32 (section.SizeOfRawData);
+ WriteUInt32 (section.PointerToRawData);
+ WriteUInt32 (0); // PointerToRelocations
+ WriteUInt32 (0); // PointerToLineNumbers
+ WriteUInt16 (0); // NumberOfRelocations
+ WriteUInt16 (0); // NumberOfLineNumbers
+ WriteUInt32 (characteristics);
+ }
+
+ void MoveTo (uint pointer)
+ {
+ BaseStream.Seek (pointer, SeekOrigin.Begin);
+ }
+
+ void MoveToRVA (Section section, RVA rva)
+ {
+ BaseStream.Seek (section.PointerToRawData + rva - section.VirtualAddress, SeekOrigin.Begin);
+ }
+
+ void MoveToRVA (TextSegment segment)
+ {
+ MoveToRVA (text, text_map.GetRVA (segment));
+ }
+
+ void WriteRVA (RVA rva)
+ {
+ if (!pe64)
+ WriteUInt32 (rva);
+ else
+ WriteUInt64 (rva);
+ }
+
+ void WriteText ()
+ {
+ MoveTo (text.PointerToRawData);
+
+ // ImportAddressTable
+
+ WriteRVA (text_map.GetRVA (TextSegment.ImportHintNameTable));
+ WriteRVA (0);
+
+ // CLIHeader
+
+ WriteUInt32 (0x48);
+ WriteUInt16 (2);
+ WriteUInt16 ((ushort) ((module.Runtime <= TargetRuntime.Net_1_1) ? 0 : 5));
+
+ WriteUInt32 (text_map.GetRVA (TextSegment.MetadataHeader));
+ WriteUInt32 (GetMetadataLength ());
+ WriteUInt32 ((uint) module.Attributes);
+ WriteUInt32 (metadata.entry_point.ToUInt32 ());
+ WriteDataDirectory (text_map.GetDataDirectory (TextSegment.Resources));
+ WriteDataDirectory (text_map.GetDataDirectory (TextSegment.StrongNameSignature));
+ WriteZeroDataDirectory (); // CodeManagerTable
+ WriteZeroDataDirectory (); // VTableFixups
+ WriteZeroDataDirectory (); // ExportAddressTableJumps
+ WriteZeroDataDirectory (); // ManagedNativeHeader
+
+ // Code
+
+ MoveToRVA (TextSegment.Code);
+ WriteBuffer (metadata.code);
+
+ // Resources
+
+ MoveToRVA (TextSegment.Resources);
+ WriteBuffer (metadata.resources);
+
+ // Data
+
+ if (metadata.data.length > 0) {
+ MoveToRVA (TextSegment.Data);
+ WriteBuffer (metadata.data);
+ }
+
+ // StrongNameSignature
+ // stays blank
+
+ // MetadataHeader
+
+ MoveToRVA (TextSegment.MetadataHeader);
+ WriteMetadataHeader ();
+
+ WriteMetadata ();
+
+ // DebugDirectory
+ if (text_map.GetLength (TextSegment.DebugDirectory) > 0) {
+ MoveToRVA (TextSegment.DebugDirectory);
+ WriteDebugDirectory ();
+ }
+
+ // ImportDirectory
+ MoveToRVA (TextSegment.ImportDirectory);
+ WriteImportDirectory ();
+
+ // StartupStub
+ MoveToRVA (TextSegment.StartupStub);
+ WriteStartupStub ();
+ }
+
+ uint GetMetadataLength ()
+ {
+ return text_map.GetRVA (TextSegment.DebugDirectory) - text_map.GetRVA (TextSegment.MetadataHeader);
+ }
+
+ void WriteMetadataHeader ()
+ {
+ WriteUInt32 (0x424a5342); // Signature
+ WriteUInt16 (1); // MajorVersion
+ WriteUInt16 (1); // MinorVersion
+ WriteUInt32 (0); // Reserved
+
+ var version = GetZeroTerminatedString (GetVersion ());
+ WriteUInt32 ((uint) version.Length);
+ WriteBytes (version);
+ WriteUInt16 (0); // Flags
+ WriteUInt16 (GetStreamCount ());
+
+ uint offset = text_map.GetRVA (TextSegment.TableHeap) - text_map.GetRVA (TextSegment.MetadataHeader);
+
+ WriteStreamHeader (ref offset, TextSegment.TableHeap, "#~");
+ WriteStreamHeader (ref offset, TextSegment.StringHeap, "#Strings");
+ WriteStreamHeader (ref offset, TextSegment.UserStringHeap, "#US");
+ WriteStreamHeader (ref offset, TextSegment.GuidHeap, "#GUID");
+ WriteStreamHeader (ref offset, TextSegment.BlobHeap, "#Blob");
+ }
+
+ string GetVersion ()
+ {
+ switch (module.Runtime) {
+ case TargetRuntime.Net_1_0:
+ return "v1.0.3705";
+ case TargetRuntime.Net_1_1:
+ return "v1.1.4322";
+ case TargetRuntime.Net_2_0:
+ return "v2.0.50727";
+ case TargetRuntime.Net_4_0:
+ default:
+ return "v4.0.30319";
+ }
+ }
+
+ ushort GetStreamCount ()
+ {
+ return (ushort) (
+ 1 // #~
+ + 1 // #Strings
+ + (metadata.user_string_heap.IsEmpty ? 0 : 1) // #US
+ + 1 // GUID
+ + (metadata.blob_heap.IsEmpty ? 0 : 1)); // #Blob
+ }
+
+ void WriteStreamHeader (ref uint offset, TextSegment heap, string name)
+ {
+ var length = (uint) text_map.GetLength (heap);
+ if (length == 0)
+ return;
+
+ WriteUInt32 (offset);
+ WriteUInt32 (length);
+ WriteBytes (GetZeroTerminatedString (name));
+ offset += length;
+ }
+
+ static byte [] GetZeroTerminatedString (string @string)
+ {
+ return GetString (@string, (@string.Length + 1 + 3) & ~3);
+ }
+
+ static byte [] GetSimpleString (string @string)
+ {
+ return GetString (@string, @string.Length);
+ }
+
+ static byte [] GetString (string @string, int length)
+ {
+ var bytes = new byte [length];
+ for (int i = 0; i < @string.Length; i++)
+ bytes [i] = (byte) @string [i];
+
+ return bytes;
+ }
+
+ void WriteMetadata ()
+ {
+ WriteHeap (TextSegment.TableHeap, metadata.table_heap);
+ WriteHeap (TextSegment.StringHeap, metadata.string_heap);
+ WriteHeap (TextSegment.UserStringHeap, metadata.user_string_heap);
+ WriteGuidHeap ();
+ WriteHeap (TextSegment.BlobHeap, metadata.blob_heap);
+ }
+
+ void WriteHeap (TextSegment heap, HeapBuffer buffer)
+ {
+ if (buffer.IsEmpty)
+ return;
+
+ MoveToRVA (heap);
+ WriteBuffer (buffer);
+ }
+
+ void WriteGuidHeap ()
+ {
+ MoveToRVA (TextSegment.GuidHeap);
+ WriteBytes (module.Mvid.ToByteArray ());
+ }
+
+ void WriteDebugDirectory ()
+ {
+ WriteInt32 (debug_directory.Characteristics);
+ WriteUInt32 (time_stamp);
+ WriteInt16 (debug_directory.MajorVersion);
+ WriteInt16 (debug_directory.MinorVersion);
+ WriteInt32 (debug_directory.Type);
+ WriteInt32 (debug_directory.SizeOfData);
+ WriteInt32 (debug_directory.AddressOfRawData);
+ WriteInt32 ((int) BaseStream.Position + 4);
+
+ WriteBytes (debug_data);
+ }
+
+ void WriteImportDirectory ()
+ {
+ WriteUInt32 (text_map.GetRVA (TextSegment.ImportDirectory) + 40); // ImportLookupTable
+ WriteUInt32 (0); // DateTimeStamp
+ WriteUInt32 (0); // ForwarderChain
+ WriteUInt32 (text_map.GetRVA (TextSegment.ImportHintNameTable) + 14);
+ WriteUInt32 (text_map.GetRVA (TextSegment.ImportAddressTable));
+ Advance (20);
+
+ // ImportLookupTable
+ WriteUInt32 (text_map.GetRVA (TextSegment.ImportHintNameTable));
+
+ // ImportHintNameTable
+ MoveToRVA (TextSegment.ImportHintNameTable);
+
+ WriteUInt16 (0); // Hint
+ WriteBytes (GetRuntimeMain ());
+ WriteByte (0);
+ WriteBytes (GetSimpleString ("mscoree.dll"));
+ WriteUInt16 (0);
+ }
+
+ byte [] GetRuntimeMain ()
+ {
+ return module.Kind == ModuleKind.Dll || module.Kind == ModuleKind.NetModule
+ ? GetSimpleString ("_CorDllMain")
+ : GetSimpleString ("_CorExeMain");
+ }
+
+ void WriteStartupStub ()
+ {
+ switch (module.Architecture) {
+ case TargetArchitecture.I386:
+ WriteUInt16 (0x25ff);
+ WriteUInt32 ((uint) image_base + text_map.GetRVA (TextSegment.ImportAddressTable));
+ return;
+ case TargetArchitecture.AMD64:
+ WriteUInt16 (0xa148);
+ WriteUInt32 ((uint) image_base + text_map.GetRVA (TextSegment.ImportAddressTable));
+ WriteUInt16 (0xe0ff);
+ return;
+ case TargetArchitecture.IA64:
+ WriteBytes (new byte [] {
+ 0x0b, 0x48, 0x00, 0x02, 0x18, 0x10, 0xa0, 0x40, 0x24, 0x30, 0x28, 0x00, 0x00, 0x00, 0x04, 0x00,
+ 0x10, 0x08, 0x00, 0x12, 0x18, 0x10, 0x60, 0x50, 0x04, 0x80, 0x03, 0x00, 0x60, 0x00, 0x80, 0x00
+ });
+ WriteUInt32 ((uint) image_base + text_map.GetRVA (TextSegment.StartupStub));
+ WriteUInt32 ((uint) image_base + text_rva);
+ return;
+ }
+ }
+
+ void WriteRsrc ()
+ {
+ MoveTo (rsrc.PointerToRawData);
+ WriteBuffer (win32_resources);
+ }
+
+ void WriteReloc ()
+ {
+ MoveTo (reloc.PointerToRawData);
+
+ var reloc_rva = text_map.GetRVA (TextSegment.StartupStub);
+ reloc_rva += module.Architecture == TargetArchitecture.IA64 ? 0x20u : 2;
+ var page_rva = reloc_rva & ~0xfffu;
+
+ WriteUInt32 (page_rva); // PageRVA
+ WriteUInt32 (0x000c); // Block Size
+
+ switch (module.Architecture) {
+ case TargetArchitecture.I386:
+ WriteUInt32 (0x3000 + reloc_rva - page_rva);
+ break;
+ case TargetArchitecture.AMD64:
+ WriteUInt32 (0xa000 + reloc_rva - page_rva);
+ break;
+ case TargetArchitecture.IA64:
+ WriteUInt16 ((ushort) (0xa000 + reloc_rva - page_rva));
+ WriteUInt16 ((ushort) (0xa000 + reloc_rva - page_rva + 8));
+ break;
+ }
+
+ WriteBytes (new byte [file_alignment - reloc.VirtualSize]);
+ }
+
+ public void WriteImage ()
+ {
+ WriteDOSHeader ();
+ WritePEFileHeader ();
+ WriteOptionalHeaders ();
+ WriteSectionHeaders ();
+ WriteText ();
+ if (rsrc != null)
+ WriteRsrc ();
+ WriteReloc ();
+ }
+
+ TextMap BuildTextMap ()
+ {
+ var map = metadata.text_map;
+
+ map.AddMap (TextSegment.Code, metadata.code.length, !pe64 ? 4 : 16);
+ map.AddMap (TextSegment.Resources, metadata.resources.length, 8);
+ map.AddMap (TextSegment.Data, metadata.data.length, 4);
+ if (metadata.data.length > 0)
+ metadata.table_heap.FixupData (map.GetRVA (TextSegment.Data));
+ map.AddMap (TextSegment.StrongNameSignature, GetStrongNameLength (), 4);
+
+ map.AddMap (TextSegment.MetadataHeader, GetMetadataHeaderLength ());
+ map.AddMap (TextSegment.TableHeap, metadata.table_heap.length, 4);
+ map.AddMap (TextSegment.StringHeap, metadata.string_heap.length, 4);
+ map.AddMap (TextSegment.UserStringHeap, metadata.user_string_heap.IsEmpty ? 0 : metadata.user_string_heap.length, 4);
+ map.AddMap (TextSegment.GuidHeap, 16);
+ map.AddMap (TextSegment.BlobHeap, metadata.blob_heap.IsEmpty ? 0 : metadata.blob_heap.length, 4);
+
+ int debug_dir_len = 0;
+ if (!debug_data.IsNullOrEmpty ()) {
+ const int debug_dir_header_len = 28;
+
+ debug_directory.AddressOfRawData = (int) map.GetNextRVA (TextSegment.BlobHeap) + debug_dir_header_len;
+ debug_dir_len = debug_data.Length + debug_dir_header_len;
+ }
+
+ map.AddMap (TextSegment.DebugDirectory, debug_dir_len, 4);
+
+ RVA import_dir_rva = map.GetNextRVA (TextSegment.DebugDirectory);
+ RVA import_hnt_rva = import_dir_rva + (!pe64 ? 48u : 52u);
+ import_hnt_rva = (import_hnt_rva + 15u) & ~15u;
+ uint import_dir_len = (import_hnt_rva - import_dir_rva) + 27u;
+
+ RVA startup_stub_rva = import_dir_rva + import_dir_len;
+ startup_stub_rva = module.Architecture == TargetArchitecture.IA64
+ ? (startup_stub_rva + 15u) & ~15u
+ : 2 + ((startup_stub_rva + 3u) & ~3u);
+
+ map.AddMap (TextSegment.ImportDirectory, new Range (import_dir_rva, import_dir_len));
+ map.AddMap (TextSegment.ImportHintNameTable, new Range (import_hnt_rva, 0));
+ map.AddMap (TextSegment.StartupStub, new Range (startup_stub_rva, GetStartupStubLength ()));
+
+ return map;
+ }
+
+ uint GetStartupStubLength ()
+ {
+ switch (module.Architecture) {
+ case TargetArchitecture.I386:
+ return 6;
+ case TargetArchitecture.AMD64:
+ return 12;
+ case TargetArchitecture.IA64:
+ return 48;
+ default:
+ throw new InvalidOperationException ();
+ }
+ }
+
+ int GetMetadataHeaderLength ()
+ {
+ return
+ // MetadataHeader
+ 40
+ // #~ header
+ + 12
+ // #Strings header
+ + 20
+ // #US header
+ + (metadata.user_string_heap.IsEmpty ? 0 : 12)
+ // #GUID header
+ + 16
+ // #Blob header
+ + (metadata.blob_heap.IsEmpty ? 0 : 16);
+ }
+
+ int GetStrongNameLength ()
+ {
+ if ((module.Attributes & ModuleAttributes.StrongNameSigned) == 0)
+ return 0;
+
+ if (module.Assembly == null)
+ throw new InvalidOperationException ();
+
+ var public_key = module.Assembly.Name.PublicKey;
+
+ if (public_key != null) {
+ // in fx 2.0 the key may be from 384 to 16384 bits
+ // so we must calculate the signature size based on
+ // the size of the public key (minus the 32 byte header)
+ int size = public_key.Length;
+ if (size > 32)
+ return size - 32;
+ // note: size == 16 for the ECMA "key" which is replaced
+ // by the runtime with a 1024 bits key (128 bytes)
+ }
+
+ return 128; // default strongname signature size
+ }
+
+ public DataDirectory GetStrongNameSignatureDirectory ()
+ {
+ return text_map.GetDataDirectory (TextSegment.StrongNameSignature);
+ }
+
+ public uint GetHeaderSize ()
+ {
+ return pe_header_size + (sections * section_header_size);
+ }
+
+ void PatchWin32Resources (ByteBuffer resources)
+ {
+ PatchResourceDirectoryTable (resources);
+ }
+
+ void PatchResourceDirectoryTable (ByteBuffer resources)
+ {
+ resources.Advance (12);
+
+ var entries = resources.ReadUInt16 () + resources.ReadUInt16 ();
+
+ for (int i = 0; i < entries; i++)
+ PatchResourceDirectoryEntry (resources);
+ }
+
+ void PatchResourceDirectoryEntry (ByteBuffer resources)
+ {
+ resources.Advance (4);
+ var child = resources.ReadUInt32 ();
+
+ var position = resources.position;
+ resources.position = (int) child & 0x7fffffff;
+
+ if ((child & 0x80000000) != 0)
+ PatchResourceDirectoryTable (resources);
+ else
+ PatchResourceDataEntry (resources);
+
+ resources.position = position;
+ }
+
+ void PatchResourceDataEntry (ByteBuffer resources)
+ {
+ var old_rsrc = GetImageResourceSection ();
+ var rva = resources.ReadUInt32 ();
+ resources.position -= 4;
+ resources.WriteUInt32 (rva - old_rsrc.VirtualAddress + rsrc.VirtualAddress);
+ }
+ }
+}
+
+#endif
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.PE/Section.cs b/mcs/class/Mono.Cecil/Mono.Cecil.PE/Section.cs
new file mode 100644
index 00000000000..54935f9898f
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.PE/Section.cs
@@ -0,0 +1,43 @@
+//
+// Section.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+using RVA = System.UInt32;
+
+namespace Mono.Cecil.PE {
+
+ sealed class Section {
+ public string Name;
+ public RVA VirtualAddress;
+ public uint VirtualSize;
+ public uint SizeOfRawData;
+ public uint PointerToRawData;
+ public byte [] Data;
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.PE/TextMap.cs b/mcs/class/Mono.Cecil/Mono.Cecil.PE/TextMap.cs
new file mode 100644
index 00000000000..daeda0cffe2
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.PE/TextMap.cs
@@ -0,0 +1,129 @@
+//
+// TextMap.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+#if !READ_ONLY
+
+using RVA = System.UInt32;
+
+namespace Mono.Cecil.PE {
+
+ enum TextSegment {
+ ImportAddressTable,
+ CLIHeader,
+ Code,
+ Resources,
+ Data,
+ StrongNameSignature,
+
+ // Metadata
+ MetadataHeader,
+ TableHeap,
+ StringHeap,
+ UserStringHeap,
+ GuidHeap,
+ BlobHeap,
+ // End Metadata
+
+ DebugDirectory,
+ ImportDirectory,
+ ImportHintNameTable,
+ StartupStub,
+ }
+
+ sealed class TextMap {
+
+ readonly Range [] map = new Range [16 /*Enum.GetValues (typeof (TextSegment)).Length*/];
+
+ public void AddMap (TextSegment segment, int length)
+ {
+ map [(int) segment] = new Range (GetStart (segment), (uint) length);
+ }
+
+ public void AddMap (TextSegment segment, int length, int align)
+ {
+ align--;
+
+ AddMap (segment, (length + align) & ~align);
+ }
+
+ public void AddMap (TextSegment segment, Range range)
+ {
+ map [(int) segment] = range;
+ }
+
+ public Range GetRange (TextSegment segment)
+ {
+ return map [(int) segment];
+ }
+
+ public DataDirectory GetDataDirectory (TextSegment segment)
+ {
+ var range = map [(int) segment];
+
+ return new DataDirectory (range.Length == 0 ? 0 : range.Start, range.Length);
+ }
+
+ public RVA GetRVA (TextSegment segment)
+ {
+ return map [(int) segment].Start;
+ }
+
+ public RVA GetNextRVA (TextSegment segment)
+ {
+ var i = (int) segment;
+ return map [i].Start + map [i].Length;
+ }
+
+ public int GetLength (TextSegment segment)
+ {
+ return (int) map [(int) segment].Length;
+ }
+
+ RVA GetStart (TextSegment segment)
+ {
+ var index = (int) segment;
+ return index == 0 ? ImageWriter.text_rva : ComputeStart (index);
+ }
+
+ RVA ComputeStart (int index)
+ {
+ index--;
+ return map [index].Start + map [index].Length;
+ }
+
+ public uint GetLength ()
+ {
+ var range = map [(int) TextSegment.StartupStub];
+ return range.Start - ImageWriter.text_rva + range.Length;
+ }
+ }
+}
+
+#endif
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/CustomAttrib.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/CustomAttrib.cs
deleted file mode 100644
index cb38a307936..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/CustomAttrib.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-//
-// CustomAttrib.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Signatures {
-
- using Mono.Cecil.Metadata;
-
- internal sealed class CustomAttrib {
-
- public const ushort StdProlog = 0x0001;
-
- public MethodReference Constructor;
-
- public ushort Prolog;
- public FixedArg [] FixedArgs;
- public ushort NumNamed;
- public NamedArg [] NamedArgs;
- public bool Read;
-
- public CustomAttrib (MethodReference ctor)
- {
- Constructor = ctor;
- }
-
- public struct FixedArg {
-
- public bool SzArray;
- public uint NumElem;
- public Elem [] Elems;
-
- internal static FixedArg [] Empty = new FixedArg [0];
- }
-
- public struct Elem {
-
- public bool Simple;
- public bool String;
- public bool Type;
- public bool BoxedValueType;
-
- public ElementType FieldOrPropType;
- public object Value;
-
- public TypeReference ElemType;
- }
-
- public struct NamedArg {
-
- public bool Field;
- public bool Property;
-
- public ElementType FieldOrPropType;
- public string FieldOrPropName;
- public FixedArg FixedArg;
-
- internal static NamedArg [] Empty = new NamedArg [0];
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/CustomMod.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/CustomMod.cs
deleted file mode 100644
index 1b26e7fdcbc..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/CustomMod.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// CustomMod.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Signatures {
-
- using Mono.Cecil.Metadata;
-
- internal sealed class CustomMod {
-
- public static CustomMod [] EmptyCustomMod = new CustomMod [0];
-
- public enum CMODType : byte {
- None = 0x0,
- OPT = (byte) ElementType.CModOpt,
- REQD = (byte) ElementType.CModReqD
- }
-
- public CMODType CMOD;
- public MetadataToken TypeDefOrRef;
-
- public CustomMod ()
- {
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/LocalVarSig.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/LocalVarSig.cs
deleted file mode 100644
index 071c90c4a8c..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/LocalVarSig.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-//
-// LocalVarSig.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Signatures {
-
- internal sealed class LocalVarSig : Signature {
-
- public bool Local;
- public int Count;
- public LocalVariable [] LocalVariables;
-
- public LocalVarSig () : base ()
- {
- }
-
- public LocalVarSig (uint blobIndex) : base (blobIndex)
- {
- }
-
- public override void Accept (ISignatureVisitor visitor)
- {
- visitor.VisitLocalVarSig (this);
- }
-
- public struct LocalVariable {
-
- public CustomMod [] CustomMods;
- public Constraint Constraint;
- public bool ByRef;
- public SigType Type;
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MarshalSig.cs b/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MarshalSig.cs
deleted file mode 100644
index 4b99c573ca6..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MarshalSig.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// MarshalSig.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil.Signatures {
-
- using System;
-
- using Mono.Cecil;
-
- internal sealed class MarshalSig {
-
- public NativeType NativeInstrinsic;
- public IMarshalSigSpec Spec;
-
- public MarshalSig (NativeType nt)
- {
- this.NativeInstrinsic = nt;
- }
-
- public interface IMarshalSigSpec {
- }
-
- public sealed class Array : IMarshalSigSpec {
-
- public NativeType ArrayElemType;
- public int ParamNum;
- public int ElemMult;
- public int NumElem;
-
- public Array ()
- {
- this.ParamNum = 0;
- this.ElemMult = 0;
- this.NumElem = 0;
- }
- }
-
- public sealed class CustomMarshaler : IMarshalSigSpec {
-
- public string Guid;
- public string UnmanagedType;
- public string ManagedType;
- public string Cookie;
- }
-
- public sealed class FixedArray : IMarshalSigSpec {
-
- public int NumElem;
- public NativeType ArrayElemType;
-
- public FixedArray ()
- {
- this.NumElem = 0;
- this.ArrayElemType = NativeType.NONE;
- }
- }
-
- public sealed class SafeArray : IMarshalSigSpec {
-
- public VariantType ArrayElemType;
- }
-
- public sealed class FixedSysString : IMarshalSigSpec {
-
- public int Size;
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.csproj b/mcs/class/Mono.Cecil/Mono.Cecil.csproj
index e8585fa48e5..fb0cab11f5a 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.csproj
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.csproj
@@ -1,33 +1,29 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="2.0">
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{D8F63DFF-5230-43E4-9AB2-DA6E721A1FAE}</ProjectGuid>
+ <ProjectGuid>{D68133BD-1E63-496E-9EDE-4FBDBF77B486}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Mono.Cecil</RootNamespace>
<AssemblyName>Mono.Cecil</AssemblyName>
- <StartupObject>
- </StartupObject>
+ <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
<SignAssembly>true</SignAssembly>
- <AssemblyOriginatorKeyFile>..\mono.snk</AssemblyOriginatorKeyFile>
- <FileUpgradeFlags>
- </FileUpgradeFlags>
- <OldToolsVersion>2.0</OldToolsVersion>
- <UpgradeBackupLocation>
- </UpgradeBackupLocation>
+ <AssemblyOriginatorKeyFile>mono.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
- <DefineConstants>TRACE;DEBUG</DefineConstants>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -36,346 +32,149 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug - No System.dll|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>bin\Debug - No System.dll\</OutputPath>
- <DefineConstants>TRACE;DEBUG;NO_SYSTEM_DLL;NET_2_0</DefineConstants>
- <DebugType>full</DebugType>
- <PlatformTarget>AnyCPU</PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>
- <Compile Include="Mono.Cecil.Binary\BaseImageVisitor.cs" />
- <Compile Include="Mono.Cecil.Binary\CLIHeader.cs" />
- <Compile Include="Mono.Cecil.Binary\CopyImageVisitor.cs" />
- <Compile Include="Mono.Cecil.Binary\DataDirectory.cs" />
- <Compile Include="Mono.Cecil.Binary\DebugHeader.cs" />
- <Compile Include="Mono.Cecil.Binary\DebugStoreType.cs" />
- <Compile Include="Mono.Cecil.Binary\DOSHeader.cs" />
- <Compile Include="Mono.Cecil.Binary\ExportTable.cs" />
- <Compile Include="Mono.Cecil.Binary\IBinaryVisitable.cs" />
- <Compile Include="Mono.Cecil.Binary\IBinaryVisitor.cs" />
- <Compile Include="Mono.Cecil.Binary\IHeader.cs" />
- <Compile Include="Mono.Cecil.Binary\Image.cs" />
- <Compile Include="Mono.Cecil.Binary\ImageCharacteristics.cs" />
- <Compile Include="Mono.Cecil.Binary\ImageFormatException.cs" />
- <Compile Include="Mono.Cecil.Binary\ImageInitializer.cs" />
- <Compile Include="Mono.Cecil.Binary\ImageReader.cs" />
- <Compile Include="Mono.Cecil.Binary\ImageWriter.cs" />
- <Compile Include="Mono.Cecil.Binary\Imports.cs" />
- <Compile Include="Mono.Cecil.Binary\MemoryBinaryWriter.cs" />
- <Compile Include="Mono.Cecil.Binary\PEFileHeader.cs" />
- <Compile Include="Mono.Cecil.Binary\PEOptionalHeader.cs" />
- <Compile Include="Mono.Cecil.Binary\ResourceDataEntry.cs" />
- <Compile Include="Mono.Cecil.Binary\ResourceDirectoryEntry.cs" />
- <Compile Include="Mono.Cecil.Binary\ResourceDirectoryString.cs" />
- <Compile Include="Mono.Cecil.Binary\ResourceDirectoryTable.cs" />
- <Compile Include="Mono.Cecil.Binary\ResourceNode.cs" />
- <Compile Include="Mono.Cecil.Binary\ResourceReader.cs" />
- <Compile Include="Mono.Cecil.Binary\ResourceWriter.cs" />
- <Compile Include="Mono.Cecil.Binary\RuntimeImage.cs" />
- <Compile Include="Mono.Cecil.Binary\RVA.cs" />
- <Compile Include="Mono.Cecil.Binary\Section.cs" />
- <Compile Include="Mono.Cecil.Binary\SectionCharacteristics.cs" />
- <Compile Include="Mono.Cecil.Binary\SectionCollection.cs" />
- <Compile Include="Mono.Cecil.Binary\SubSystem.cs" />
- <Compile Include="Mono.Cecil.Cil\BaseCodeVisitor.cs" />
- <Compile Include="Mono.Cecil.Cil\CilWorker.cs" />
<Compile Include="Mono.Cecil.Cil\Code.cs" />
- <Compile Include="Mono.Cecil.Cil\CodeReader.cs" />
<Compile Include="Mono.Cecil.Cil\CodeWriter.cs" />
- <Compile Include="Mono.Cecil.Cil\DocumentType.cs" />
+ <Compile Include="Mono.Cecil.Cil\CodeReader.cs" />
<Compile Include="Mono.Cecil.Cil\Document.cs" />
- <Compile Include="Mono.Cecil.Cil\DocumentHashAlgorithm.cs" />
- <Compile Include="Mono.Cecil.Cil\DocumentLanguage.cs" />
- <Compile Include="Mono.Cecil.Cil\DocumentLanguageVendor.cs" />
<Compile Include="Mono.Cecil.Cil\ExceptionHandler.cs" />
- <Compile Include="Mono.Cecil.Cil\ExceptionHandlerCollection.cs" />
- <Compile Include="Mono.Cecil.Cil\ExceptionHandlerType.cs" />
- <Compile Include="Mono.Cecil.Cil\FlowControl.cs" />
- <Compile Include="Mono.Cecil.Cil\GuidAttribute.cs" />
- <Compile Include="Mono.Cecil.Cil\ICodeVisitable.cs" />
- <Compile Include="Mono.Cecil.Cil\ICodeVisitor.cs" />
+ <Compile Include="Mono.Cecil.Cil\ILProcessor.cs" />
<Compile Include="Mono.Cecil.Cil\Instruction.cs" />
- <Compile Include="Mono.Cecil.Cil\InstructionCollection.cs" />
- <Compile Include="Mono.Cecil.Cil\IScopeProvider.cs" />
- <Compile Include="Mono.Cecil.Cil\ISymbolReader.cs" />
- <Compile Include="Mono.Cecil.Cil\ISymbolStoreFactory.cs" />
- <Compile Include="Mono.Cecil.Cil\ISymbolWriter.cs" />
- <Compile Include="Mono.Cecil.Cil\IVariableDefinitionProvider.cs" />
<Compile Include="Mono.Cecil.Cil\MethodBody.cs" />
- <Compile Include="Mono.Cecil.Cil\MethodDataSection.cs" />
- <Compile Include="Mono.Cecil.Cil\MethodHeader.cs" />
<Compile Include="Mono.Cecil.Cil\OpCode.cs" />
<Compile Include="Mono.Cecil.Cil\OpCodes.cs" />
- <Compile Include="Mono.Cecil.Cil\OpCodeNames.cs" />
- <Compile Include="Mono.Cecil.Cil\OpCodeType.cs" />
- <Compile Include="Mono.Cecil.Cil\OperandType.cs" />
- <Compile Include="Mono.Cecil.Cil\Scope.cs" />
- <Compile Include="Mono.Cecil.Cil\ScopeCollection.cs" />
<Compile Include="Mono.Cecil.Cil\SequencePoint.cs" />
- <Compile Include="Mono.Cecil.Cil\StackBehaviour.cs" />
- <Compile Include="Mono.Cecil.Cil\SymbolStoreHelper.cs" />
+ <Compile Include="Mono.Cecil.Cil\Symbols.cs" />
<Compile Include="Mono.Cecil.Cil\VariableDefinition.cs" />
- <Compile Include="Mono.Cecil.Cil\VariableDefinitionCollection.cs" />
<Compile Include="Mono.Cecil.Cil\VariableReference.cs" />
- <Compile Include="Mono.Cecil.Metadata\Assembly.cs" />
- <Compile Include="Mono.Cecil.Metadata\AssemblyOS.cs" />
- <Compile Include="Mono.Cecil.Metadata\AssemblyProcessor.cs" />
- <Compile Include="Mono.Cecil.Metadata\AssemblyRef.cs" />
- <Compile Include="Mono.Cecil.Metadata\AssemblyRefOS.cs" />
- <Compile Include="Mono.Cecil.Metadata\AssemblyRefProcessor.cs" />
- <Compile Include="Mono.Cecil.Metadata\BaseMetadataVisitor.cs" />
<Compile Include="Mono.Cecil.Metadata\BlobHeap.cs" />
- <Compile Include="Mono.Cecil.Metadata\ClassLayout.cs" />
+ <Compile Include="Mono.Cecil.Metadata\Buffers.cs" />
<Compile Include="Mono.Cecil.Metadata\CodedIndex.cs" />
- <Compile Include="Mono.Cecil.Metadata\Constant.cs" />
- <Compile Include="Mono.Cecil.Metadata\CultureUtils.cs" />
- <Compile Include="Mono.Cecil.Metadata\CustomAttribute.cs" />
- <Compile Include="Mono.Cecil.Metadata\DeclSecurity.cs" />
<Compile Include="Mono.Cecil.Metadata\ElementType.cs" />
- <Compile Include="Mono.Cecil.Metadata\Event.cs" />
- <Compile Include="Mono.Cecil.Metadata\EventMap.cs" />
- <Compile Include="Mono.Cecil.Metadata\EventPtr.cs" />
- <Compile Include="Mono.Cecil.Metadata\ExportedType.cs" />
- <Compile Include="Mono.Cecil.Metadata\Field.cs" />
- <Compile Include="Mono.Cecil.Metadata\FieldLayout.cs" />
- <Compile Include="Mono.Cecil.Metadata\FieldMarshal.cs" />
- <Compile Include="Mono.Cecil.Metadata\FieldPtr.cs" />
- <Compile Include="Mono.Cecil.Metadata\FieldRVA.cs" />
- <Compile Include="Mono.Cecil.Metadata\File.cs" />
- <Compile Include="Mono.Cecil.Metadata\GenericParam.cs" />
- <Compile Include="Mono.Cecil.Metadata\GenericParamConstraint.cs" />
<Compile Include="Mono.Cecil.Metadata\GuidHeap.cs" />
- <Compile Include="Mono.Cecil.Metadata\IMetadataRow.cs" />
- <Compile Include="Mono.Cecil.Metadata\IMetadataTable.cs" />
- <Compile Include="Mono.Cecil.Metadata\IMetadataVisitable.cs" />
- <Compile Include="Mono.Cecil.Metadata\IMetadataVisitor.cs" />
- <Compile Include="Mono.Cecil.Metadata\ImplMap.cs" />
- <Compile Include="Mono.Cecil.Metadata\InterfaceImpl.cs" />
- <Compile Include="Mono.Cecil.Metadata\ManifestResource.cs" />
- <Compile Include="Mono.Cecil.Metadata\MemberRef.cs" />
- <Compile Include="Mono.Cecil.Metadata\MetadataFormatException.cs" />
- <Compile Include="Mono.Cecil.Metadata\MetadataHeap.cs" />
- <Compile Include="Mono.Cecil.Metadata\MetadataInitializer.cs" />
- <Compile Include="Mono.Cecil.Metadata\MetadataReader.cs" />
- <Compile Include="Mono.Cecil.Metadata\MetadataRoot.cs" />
- <Compile Include="Mono.Cecil.Metadata\MetadataRowReader.cs" />
- <Compile Include="Mono.Cecil.Metadata\MetadataRowWriter.cs" />
- <Compile Include="Mono.Cecil.Metadata\MetadataStream.cs" />
- <Compile Include="Mono.Cecil.Metadata\MetadataStreamCollection.cs" />
- <Compile Include="Mono.Cecil.Metadata\MetadataTableReader.cs" />
- <Compile Include="Mono.Cecil.Metadata\MetadataTableWriter.cs" />
+ <Compile Include="Mono.Cecil.Metadata\Heap.cs" />
<Compile Include="Mono.Cecil.Metadata\MetadataToken.cs" />
- <Compile Include="Mono.Cecil.Metadata\MetadataWriter.cs" />
- <Compile Include="Mono.Cecil.Metadata\Method.cs" />
- <Compile Include="Mono.Cecil.Metadata\MethodImpl.cs" />
- <Compile Include="Mono.Cecil.Metadata\MethodPtr.cs" />
- <Compile Include="Mono.Cecil.Metadata\MethodSemantics.cs" />
- <Compile Include="Mono.Cecil.Metadata\MethodSpec.cs" />
- <Compile Include="Mono.Cecil.Metadata\Module.cs" />
- <Compile Include="Mono.Cecil.Metadata\ModuleRef.cs" />
- <Compile Include="Mono.Cecil.Metadata\NestedClass.cs" />
- <Compile Include="Mono.Cecil.Metadata\Param.cs" />
- <Compile Include="Mono.Cecil.Metadata\ParamPtr.cs" />
- <Compile Include="Mono.Cecil.Metadata\Property.cs" />
- <Compile Include="Mono.Cecil.Metadata\PropertyMap.cs" />
- <Compile Include="Mono.Cecil.Metadata\PropertyPtr.cs" />
- <Compile Include="Mono.Cecil.Metadata\RowCollection.cs" />
- <Compile Include="Mono.Cecil.Metadata\StandAloneSig.cs" />
- <Compile Include="Mono.Cecil.Metadata\StringsHeap.cs" />
- <Compile Include="Mono.Cecil.Metadata\TableCollection.cs" />
- <Compile Include="Mono.Cecil.Metadata\TablesHeap.cs" />
+ <Compile Include="Mono.Cecil.Metadata\Row.cs" />
+ <Compile Include="Mono.Cecil.Metadata\StringHeap.cs" />
+ <Compile Include="Mono.Cecil.Metadata\TableHeap.cs" />
<Compile Include="Mono.Cecil.Metadata\TokenType.cs" />
- <Compile Include="Mono.Cecil.Metadata\TypeDef.cs" />
- <Compile Include="Mono.Cecil.Metadata\TypeRef.cs" />
- <Compile Include="Mono.Cecil.Metadata\TypeSpec.cs" />
- <Compile Include="Mono.Cecil.Metadata\UserStringsHeap.cs" />
+ <Compile Include="Mono.Cecil.Metadata\UserStringHeap.cs" />
<Compile Include="Mono.Cecil.Metadata\Utilities.cs" />
- <Compile Include="Mono.Cecil.Signatures\Array.cs" />
- <Compile Include="Mono.Cecil.Signatures\ArrayShape.cs" />
- <Compile Include="Mono.Cecil.Signatures\BaseSignatureVisitor.cs" />
- <Compile Include="Mono.Cecil.Signatures\Class.cs" />
- <Compile Include="Mono.Cecil.Signatures\Constraint.cs" />
- <Compile Include="Mono.Cecil.Signatures\CustomAttrib.cs" />
- <Compile Include="Mono.Cecil.Signatures\CustomMod.cs" />
- <Compile Include="Mono.Cecil.Signatures\FieldSig.cs" />
- <Compile Include="Mono.Cecil.Signatures\FnPtr.cs" />
- <Compile Include="Mono.Cecil.Signatures\GenericArg.cs" />
- <Compile Include="Mono.Cecil.Signatures\GenericInst.cs" />
- <Compile Include="Mono.Cecil.Signatures\GenericInstSignature.cs" />
- <Compile Include="Mono.Cecil.Signatures\InputOutputItem.cs" />
- <Compile Include="Mono.Cecil.Signatures\ISignatureVisitable.cs" />
- <Compile Include="Mono.Cecil.Signatures\ISignatureVisitor.cs" />
- <Compile Include="Mono.Cecil.Signatures\LocalVarSig.cs" />
- <Compile Include="Mono.Cecil.Signatures\MarshalSig.cs" />
- <Compile Include="Mono.Cecil.Signatures\MethodDefSig.cs" />
- <Compile Include="Mono.Cecil.Signatures\MethodRefSig.cs" />
- <Compile Include="Mono.Cecil.Signatures\MethodSig.cs" />
- <Compile Include="Mono.Cecil.Signatures\MethodSpec.cs" />
- <Compile Include="Mono.Cecil.Signatures\MVar.cs" />
- <Compile Include="Mono.Cecil.Signatures\Param.cs" />
- <Compile Include="Mono.Cecil.Signatures\PropertySig.cs" />
- <Compile Include="Mono.Cecil.Signatures\Ptr.cs" />
- <Compile Include="Mono.Cecil.Signatures\RetType.cs" />
- <Compile Include="Mono.Cecil.Signatures\Signature.cs" />
- <Compile Include="Mono.Cecil.Signatures\SignatureReader.cs" />
- <Compile Include="Mono.Cecil.Signatures\SignatureWriter.cs" />
- <Compile Include="Mono.Cecil.Signatures\SigType.cs" />
- <Compile Include="Mono.Cecil.Signatures\SzArray.cs" />
- <Compile Include="Mono.Cecil.Signatures\TypeSpec.cs" />
- <Compile Include="Mono.Cecil.Signatures\ValueType.cs" />
- <Compile Include="Mono.Cecil.Signatures\Var.cs" />
- <Compile Include="Mono.Cecil\AggressiveReflectionReader.cs" />
- <Compile Include="Mono.Cecil\ArrayDimension.cs" />
- <Compile Include="Mono.Cecil\ArrayDimensionCollection.cs" />
+ <Compile Include="Mono.Cecil.PE\BinaryStreamReader.cs" />
+ <Compile Include="Mono.Cecil.PE\BinaryStreamWriter.cs" />
+ <Compile Include="Mono.Cecil.PE\ByteBufferEqualityComparer.cs" />
+ <Compile Include="Mono.Cecil.PE\ByteBuffer.cs" />
+ <Compile Include="Mono.Cecil.PE\DataDirectory.cs" />
+ <Compile Include="Mono.Cecil.PE\Image.cs" />
+ <Compile Include="Mono.Cecil.PE\ImageReader.cs" />
+ <Compile Include="Mono.Cecil.PE\ImageWriter.cs" />
+ <Compile Include="Mono.Cecil.PE\Section.cs" />
+ <Compile Include="Mono.Cecil.PE\TextMap.cs" />
<Compile Include="Mono.Cecil\ArrayType.cs" />
<Compile Include="Mono.Cecil\AssemblyDefinition.cs" />
- <Compile Include="Mono.Cecil\AssemblyFactory.cs" />
<Compile Include="Mono.Cecil\AssemblyFlags.cs" />
<Compile Include="Mono.Cecil\AssemblyHashAlgorithm.cs" />
<Compile Include="Mono.Cecil\AssemblyInfo.cs" />
- <Compile Include="Mono.Cecil\AssemblyKind.cs" />
<Compile Include="Mono.Cecil\AssemblyLinkedResource.cs" />
<Compile Include="Mono.Cecil\AssemblyNameDefinition.cs" />
<Compile Include="Mono.Cecil\AssemblyNameReference.cs" />
- <Compile Include="Mono.Cecil\AssemblyNameReferenceCollection.cs" />
- <Compile Include="Mono.Cecil\AssemblyStripper.cs" />
+ <Compile Include="Mono.Cecil\AssemblyReader.cs" />
+ <Compile Include="Mono.Cecil\AssemblyWriter.cs" />
<Compile Include="Mono.Cecil\BaseAssemblyResolver.cs" />
- <Compile Include="Mono.Cecil\BaseReflectionReader.cs" />
- <Compile Include="Mono.Cecil\BaseReflectionVisitor.cs" />
- <Compile Include="Mono.Cecil\BaseStructureVisitor.cs" />
<Compile Include="Mono.Cecil\CallSite.cs" />
- <Compile Include="Mono.Cecil\CompactFrameworkCompatibility.cs" />
- <Compile Include="Mono.Cecil\Constants.cs" />
- <Compile Include="Mono.Cecil\ConstraintCollection.cs" />
- <Compile Include="Mono.Cecil\ConstructorCollection.cs" />
+ <Compile Include="Mono.Cecil\TypeParser.cs" />
+ <Compile Include="Mono.Cecil\Import.cs" />
+ <Compile Include="Mono.Collections.Generic\Collection.cs" />
+ <Compile Include="Mono.Cecil\ExportedType.cs" />
+ <Compile Include="Mono.Cecil\SecurityDeclaration.cs" />
<Compile Include="Mono.Cecil\CustomAttribute.cs" />
- <Compile Include="Mono.Cecil\CustomAttributeCollection.cs" />
<Compile Include="Mono.Cecil\DefaultAssemblyResolver.cs" />
- <Compile Include="Mono.Cecil\DefaultImporter.cs" />
- <Compile Include="Mono.Cecil\EmbeddedResource.cs" />
- <Compile Include="Mono.Cecil\EventAttributes.cs" />
- <Compile Include="Mono.Cecil\EventDefinition.cs" />
- <Compile Include="Mono.Cecil\EventDefinitionCollection.cs" />
- <Compile Include="Mono.Cecil\EventReference.cs" />
- <Compile Include="Mono.Cecil\ExternTypeCollection.cs" />
- <Compile Include="Mono.Cecil\FieldAttributes.cs" />
- <Compile Include="Mono.Cecil\FieldDefinition.cs" />
- <Compile Include="Mono.Cecil\FieldDefinitionCollection.cs" />
- <Compile Include="Mono.Cecil\FieldReference.cs" />
<Compile Include="Mono.Cecil\FileAttributes.cs" />
<Compile Include="Mono.Cecil\FunctionPointerType.cs" />
- <Compile Include="Mono.Cecil\GenericArgumentCollection.cs" />
- <Compile Include="Mono.Cecil\GenericContext.cs" />
<Compile Include="Mono.Cecil\GenericInstanceMethod.cs" />
<Compile Include="Mono.Cecil\GenericInstanceType.cs" />
<Compile Include="Mono.Cecil\GenericParameter.cs" />
<Compile Include="Mono.Cecil\GenericParameterAttributes.cs" />
- <Compile Include="Mono.Cecil\GenericParameterCollection.cs" />
- <Compile Include="Mono.Cecil\HashCodeProvider.cs" />
- <Compile Include="Mono.Cecil\IAnnotationProvider.cs" />
- <Compile Include="Mono.Cecil\IAssemblyResolver.cs" />
+ <Compile Include="Mono.Cecil\IConstantProvider.cs" />
<Compile Include="Mono.Cecil\ICustomAttributeProvider.cs" />
- <Compile Include="Mono.Cecil\IDetailReader.cs" />
<Compile Include="Mono.Cecil\IGenericInstance.cs" />
<Compile Include="Mono.Cecil\IGenericParameterProvider.cs" />
- <Compile Include="Mono.Cecil\IHasConstant.cs" />
- <Compile Include="Mono.Cecil\IHasMarshalSpec.cs" />
- <Compile Include="Mono.Cecil\IHasSecurity.cs" />
- <Compile Include="Mono.Cecil\IImporter.cs" />
- <Compile Include="Mono.Cecil\IMemberDefinition.cs" />
- <Compile Include="Mono.Cecil\IMemberReference.cs" />
- <Compile Include="Mono.Cecil\IMetadataScope.cs" />
- <Compile Include="Mono.Cecil\IMetadataTokenProvider.cs" />
+ <Compile Include="Mono.Cecil\IMarshalInfoProvider.cs" />
+ <Compile Include="Mono.Cecil\MarshalInfo.cs" />
+ <Compile Include="Mono.Cecil\MetadataResolver.cs" />
+ <Compile Include="Mono.Cecil\Modifiers.cs" />
+ <Compile Include="Mono.Cecil\NativeType.cs" />
+ <Compile Include="Mono.Cecil\PinnedType.cs" />
+ <Compile Include="Mono.Cecil\MetadataSystem.cs" />
<Compile Include="Mono.Cecil\IMethodSignature.cs" />
- <Compile Include="Mono.Cecil\ImportContext.cs" />
- <Compile Include="Mono.Cecil\InterfaceCollection.cs" />
- <Compile Include="Mono.Cecil\IReflectionStructureVisitable.cs" />
- <Compile Include="Mono.Cecil\IReflectionStructureVisitor.cs" />
- <Compile Include="Mono.Cecil\IReflectionVisitable.cs" />
- <Compile Include="Mono.Cecil\IReflectionVisitor.cs" />
- <Compile Include="Mono.Cecil\IRequireResolving.cs" />
+ <Compile Include="Mono.Cecil\ParameterDefinitionCollection.cs" />
+ <Compile Include="Mono.Cecil\EmbeddedResource.cs" />
+ <Compile Include="Mono.Cecil\EventAttributes.cs" />
+ <Compile Include="Mono.Cecil\EventDefinition.cs" />
+ <Compile Include="Mono.Cecil\EventReference.cs" />
+ <Compile Include="Mono.Cecil\FieldAttributes.cs" />
+ <Compile Include="Mono.Cecil\FieldDefinition.cs" />
+ <Compile Include="Mono.Cecil\FieldReference.cs" />
+ <Compile Include="Mono.Cecil\IMemberDefinition.cs" />
<Compile Include="Mono.Cecil\LinkedResource.cs" />
- <Compile Include="Mono.Cecil\ManifestResourceAttributes.cs" />
- <Compile Include="Mono.Cecil\MarshalSpec.cs" />
<Compile Include="Mono.Cecil\MemberReference.cs" />
- <Compile Include="Mono.Cecil\MemberReferenceCollection.cs" />
- <Compile Include="Mono.Cecil\MetadataResolver.cs" />
<Compile Include="Mono.Cecil\MethodAttributes.cs" />
<Compile Include="Mono.Cecil\MethodCallingConvention.cs" />
<Compile Include="Mono.Cecil\MethodDefinition.cs" />
- <Compile Include="Mono.Cecil\MethodDefinitionCollection.cs" />
<Compile Include="Mono.Cecil\MethodImplAttributes.cs" />
<Compile Include="Mono.Cecil\MethodReference.cs" />
<Compile Include="Mono.Cecil\MethodReturnType.cs" />
<Compile Include="Mono.Cecil\MethodSemanticsAttributes.cs" />
<Compile Include="Mono.Cecil\MethodSpecification.cs" />
- <Compile Include="Mono.Cecil\Modifiers.cs" />
- <Compile Include="Mono.Cecil\ModuleDefinition.cs" />
- <Compile Include="Mono.Cecil\ModuleDefinitionCollection.cs" />
- <Compile Include="Mono.Cecil\ModuleReference.cs" />
- <Compile Include="Mono.Cecil\ModuleReferenceCollection.cs" />
- <Compile Include="Mono.Cecil\NameObjectCollectionBase.cs" />
- <Compile Include="Mono.Cecil\NativeType.cs" />
- <Compile Include="Mono.Cecil\NestedTypeCollection.cs" />
- <Compile Include="Mono.Cecil\NullReferenceImporter.cs" />
- <Compile Include="Mono.Cecil\OverrideCollection.cs" />
<Compile Include="Mono.Cecil\ParameterAttributes.cs" />
<Compile Include="Mono.Cecil\ParameterDefinition.cs" />
- <Compile Include="Mono.Cecil\ParameterDefinitionCollection.cs" />
<Compile Include="Mono.Cecil\ParameterReference.cs" />
- <Compile Include="Mono.Cecil\PinnedType.cs" />
<Compile Include="Mono.Cecil\PInvokeAttributes.cs" />
<Compile Include="Mono.Cecil\PInvokeInfo.cs" />
<Compile Include="Mono.Cecil\PointerType.cs" />
<Compile Include="Mono.Cecil\PropertyAttributes.cs" />
<Compile Include="Mono.Cecil\PropertyDefinition.cs" />
- <Compile Include="Mono.Cecil\PropertyDefinitionCollection.cs" />
<Compile Include="Mono.Cecil\PropertyReference.cs" />
<Compile Include="Mono.Cecil\ReferenceType.cs" />
- <Compile Include="Mono.Cecil\ReflectionController.cs" />
- <Compile Include="Mono.Cecil\ReflectionException.cs" />
- <Compile Include="Mono.Cecil\ReflectionHelper.cs" />
- <Compile Include="Mono.Cecil\ReflectionReader.cs" />
- <Compile Include="Mono.Cecil\ReflectionWriter.cs" />
+ <Compile Include="Mono.Cecil\IMetadataScope.cs" />
+ <Compile Include="Mono.Cecil\IMetadataTokenProvider.cs" />
+ <Compile Include="Mono.Cecil\ManifestResourceAttributes.cs" />
+ <Compile Include="Mono.Cecil\ModuleReference.cs" />
+ <Compile Include="Mono.Cecil\MemberDefinitionCollection.cs" />
+ <Compile Include="Mono.Cecil\ModuleDefinition.cs" />
+ <Compile Include="Mono.Cecil\ModuleKind.cs" />
<Compile Include="Mono.Cecil\Resource.cs" />
- <Compile Include="Mono.Cecil\ResourceCollection.cs" />
- <Compile Include="Mono.Cecil\SecurityAction.cs" />
- <Compile Include="Mono.Cecil\SecurityDeclaration.cs" />
- <Compile Include="Mono.Cecil\SecurityDeclarationCollection.cs" />
- <Compile Include="Mono.Cecil\SecurityDeclarationReader.cs" />
<Compile Include="Mono.Cecil\SentinelType.cs" />
- <Compile Include="Mono.Cecil\StructureReader.cs" />
- <Compile Include="Mono.Cecil\StructureWriter.cs" />
- <Compile Include="Mono.Cecil\TableComparers.cs" />
<Compile Include="Mono.Cecil\TargetRuntime.cs" />
<Compile Include="Mono.Cecil\TypeAttributes.cs" />
<Compile Include="Mono.Cecil\TypeDefinition.cs" />
<Compile Include="Mono.Cecil\TypeDefinitionCollection.cs" />
<Compile Include="Mono.Cecil\TypeReference.cs" />
- <Compile Include="Mono.Cecil\TypeReferenceCollection.cs" />
<Compile Include="Mono.Cecil\TypeSpecification.cs" />
+ <Compile Include="Mono.Cecil\TypeSystem.cs" />
<Compile Include="Mono.Cecil\VariantType.cs" />
- <Compile Include="Mono.Xml\SecurityParser.cs" />
- <Compile Include="Mono.Xml\SmallXmlParser.cs" />
+ <Compile Include="Mono.Collections.Generic\ReadOnlyCollection.cs" />
+ <Compile Include="Mono.Security.Cryptography\CryptoConvert.cs" />
+ <Compile Include="Mono.Security.Cryptography\CryptoService.cs" />
+ <Compile Include="System.Runtime.CompilerServices\ExtensionAttribute.cs" />
+ <Compile Include="Mono\Actions.cs" />
+ <Compile Include="Mono\Empty.cs" />
+ <Compile Include="Mono\Funcs.cs" />
</ItemGroup>
<ItemGroup>
- <None Include="AUTHORS" />
- <None Include="ChangeLog" />
- <None Include="configure" />
- <None Include="default.build" />
- <None Include="Makefile" />
- <None Include="mono-cecil.pc.in" />
- <None Include="Mono.Cecil.dll.sources" />
- <None Include="Mono.Xml\ChangeLog" />
- <None Include="NEWS" />
- <None Include="README" />
- <None Include="TODO" />
+ <Content Include="NOTES.txt" />
</ItemGroup>
<ItemGroup>
- <Reference Include="System" />
+ <None Include="mono.snk" />
</ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
</Project> \ No newline at end of file
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.dll.sources b/mcs/class/Mono.Cecil/Mono.Cecil.dll.sources
index bb313af6b7a..95bb7f35369 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.dll.sources
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.dll.sources
@@ -1,313 +1,127 @@
-./Mono.Cecil/AggressiveReflectionReader.cs
-./Mono.Cecil/ArrayDimension.cs
-./Mono.Cecil/ArrayDimensionCollection.cs
-./Mono.Cecil/ArrayType.cs
-./Mono.Cecil/AssemblyDefinition.cs
-./Mono.Cecil/AssemblyFactory.cs
-./Mono.Cecil/AssemblyFlags.cs
-./Mono.Cecil/AssemblyHashAlgorithm.cs
-./Mono.Cecil/AssemblyInfo.cs
-./Mono.Cecil/AssemblyKind.cs
-./Mono.Cecil/AssemblyLinkedResource.cs
-./Mono.Cecil/AssemblyNameDefinition.cs
-./Mono.Cecil/AssemblyNameReference.cs
-./Mono.Cecil/AssemblyNameReferenceCollection.cs
-./Mono.Cecil/AssemblyStripper.cs
-./Mono.Cecil/BaseAssemblyResolver.cs
-./Mono.Cecil/BaseReflectionReader.cs
-./Mono.Cecil/BaseReflectionVisitor.cs
-./Mono.Cecil/BaseStructureVisitor.cs
-./Mono.Cecil/CallSite.cs
-./Mono.Cecil/CompactFrameworkCompatibility.cs
-./Mono.Cecil/Constants.cs
-./Mono.Cecil/ConstraintCollection.cs
-./Mono.Cecil/ConstructorCollection.cs
-./Mono.Cecil/CustomAttribute.cs
-./Mono.Cecil/CustomAttributeCollection.cs
-./Mono.Cecil/DefaultAssemblyResolver.cs
-./Mono.Cecil/DefaultImporter.cs
-./Mono.Cecil/EmbeddedResource.cs
+./Mono.Collections.Generic/Collection.cs
+./Mono.Collections.Generic/ReadOnlyCollection.cs
+./Mono.Cecil.PE/ImageWriter.cs
+./Mono.Cecil.PE/BinaryStreamWriter.cs
+./Mono.Cecil.PE/BinaryStreamReader.cs
+./Mono.Cecil.PE/DataDirectory.cs
+./Mono.Cecil.PE/ByteBuffer.cs
+./Mono.Cecil.PE/ByteBufferEqualityComparer.cs
+./Mono.Cecil.PE/TextMap.cs
+./Mono.Cecil.PE/Section.cs
+./Mono.Cecil.PE/Image.cs
+./Mono.Cecil.PE/ImageReader.cs
+./Mono.Cecil.Metadata/TableHeap.cs
+./Mono.Cecil.Metadata/GuidHeap.cs
+./Mono.Cecil.Metadata/Heap.cs
+./Mono.Cecil.Metadata/TokenType.cs
+./Mono.Cecil.Metadata/CodedIndex.cs
+./Mono.Cecil.Metadata/ElementType.cs
+./Mono.Cecil.Metadata/BlobHeap.cs
+./Mono.Cecil.Metadata/Row.cs
+./Mono.Cecil.Metadata/MetadataToken.cs
+./Mono.Cecil.Metadata/UserStringHeap.cs
+./Mono.Cecil.Metadata/Utilities.cs
+./Mono.Cecil.Metadata/StringHeap.cs
+./Mono.Cecil.Metadata/Buffers.cs
+./System.Runtime.CompilerServices/ExtensionAttribute.cs
+./Mono.Security.Cryptography/CryptoService.cs
+./Mono.Security.Cryptography/CryptoConvert.cs
+./Mono/Empty.cs
+./Mono/Funcs.cs
+./Mono/Actions.cs
+./Mono.Cecil.Cil/ILProcessor.cs
+./Mono.Cecil.Cil/VariableReference.cs
+./Mono.Cecil.Cil/OpCodes.cs
+./Mono.Cecil.Cil/MethodBody.cs
+./Mono.Cecil.Cil/Instruction.cs
+./Mono.Cecil.Cil/Code.cs
+./Mono.Cecil.Cil/Symbols.cs
+./Mono.Cecil.Cil/CodeWriter.cs
+./Mono.Cecil.Cil/CodeReader.cs
+./Mono.Cecil.Cil/SequencePoint.cs
+./Mono.Cecil.Cil/Document.cs
+./Mono.Cecil.Cil/OpCode.cs
+./Mono.Cecil.Cil/ExceptionHandler.cs
+./Mono.Cecil.Cil/VariableDefinition.cs
+./Mono.Cecil/ModuleReference.cs
+./Mono.Cecil/TypeParser.cs
+./Mono.Cecil/LinkedResource.cs
+./Mono.Cecil/IMemberDefinition.cs
+./Mono.Cecil/Resource.cs
+./Mono.Cecil/ICustomAttributeProvider.cs
+./Mono.Cecil/MethodReference.cs
./Mono.Cecil/EventAttributes.cs
-./Mono.Cecil/EventDefinition.cs
-./Mono.Cecil/EventDefinitionCollection.cs
-./Mono.Cecil/EventReference.cs
-./Mono.Cecil/ExternTypeCollection.cs
-./Mono.Cecil/FieldAttributes.cs
-./Mono.Cecil/FieldDefinition.cs
-./Mono.Cecil/FieldDefinitionCollection.cs
./Mono.Cecil/FieldReference.cs
-./Mono.Cecil/FileAttributes.cs
-./Mono.Cecil/FunctionPointerType.cs
-./Mono.Cecil/GenericArgumentCollection.cs
-./Mono.Cecil/GenericContext.cs
-./Mono.Cecil/GenericInstanceMethod.cs
-./Mono.Cecil/GenericInstanceType.cs
+./Mono.Cecil/SentinelType.cs
+./Mono.Cecil/MemberReference.cs
+./Mono.Cecil/AssemblyReader.cs
+./Mono.Cecil/TargetRuntime.cs
+./Mono.Cecil/TypeAttributes.cs
./Mono.Cecil/GenericParameter.cs
-./Mono.Cecil/GenericParameterAttributes.cs
-./Mono.Cecil/GenericParameterCollection.cs
-./Mono.Cecil/HashCodeProvider.cs
-./Mono.Cecil/IAnnotationProvider.cs
-./Mono.Cecil/IAssemblyResolver.cs
-./Mono.Cecil/ICustomAttributeProvider.cs
-./Mono.Cecil/IDetailReader.cs
-./Mono.Cecil/IGenericInstance.cs
+./Mono.Cecil/MethodImplAttributes.cs
+./Mono.Cecil/FileAttributes.cs
+./Mono.Cecil/ManifestResourceAttributes.cs
+./Mono.Cecil/SecurityDeclaration.cs
+./Mono.Cecil/NativeType.cs
+./Mono.Cecil/EventReference.cs
+./Mono.Cecil/AssemblyWriter.cs
+./Mono.Cecil/Modifiers.cs
./Mono.Cecil/IGenericParameterProvider.cs
-./Mono.Cecil/IHasConstant.cs
-./Mono.Cecil/IHasMarshalSpec.cs
-./Mono.Cecil/IHasSecurity.cs
-./Mono.Cecil/IImporter.cs
-./Mono.Cecil/IMemberDefinition.cs
-./Mono.Cecil/IMemberReference.cs
+./Mono.Cecil/ParameterDefinition.cs
./Mono.Cecil/IMetadataScope.cs
+./Mono.Cecil/AssemblyNameReference.cs
+./Mono.Cecil/ParameterAttributes.cs
+./Mono.Cecil/TypeSpecification.cs
./Mono.Cecil/IMetadataTokenProvider.cs
-./Mono.Cecil/IMethodSignature.cs
-./Mono.Cecil/ImportContext.cs
-./Mono.Cecil/InterfaceCollection.cs
-./Mono.Cecil/IReflectionStructureVisitable.cs
-./Mono.Cecil/IReflectionStructureVisitor.cs
-./Mono.Cecil/IReflectionVisitable.cs
-./Mono.Cecil/IReflectionVisitor.cs
-./Mono.Cecil/IRequireResolving.cs
-./Mono.Cecil/LinkedResource.cs
-./Mono.Cecil/ManifestResourceAttributes.cs
-./Mono.Cecil/MarshalSpec.cs
-./Mono.Cecil/MemberReference.cs
-./Mono.Cecil/MemberReferenceCollection.cs
-./Mono.Cecil/MetadataResolver.cs
./Mono.Cecil/MethodAttributes.cs
-./Mono.Cecil/MethodCallingConvention.cs
-./Mono.Cecil/MethodDefinition.cs
-./Mono.Cecil/MethodDefinitionCollection.cs
-./Mono.Cecil/MethodImplAttributes.cs
-./Mono.Cecil/MethodReference.cs
+./Mono.Cecil/AssemblyInfo.cs
+./Mono.Cecil/IMarshalInfoProvider.cs
+./Mono.Cecil/PointerType.cs
+./Mono.Cecil/ArrayType.cs
+./Mono.Cecil/TypeDefinition.cs
+./Mono.Cecil/FunctionPointerType.cs
+./Mono.Cecil/MetadataResolver.cs
+./Mono.Cecil/Import.cs
+./Mono.Cecil/IGenericInstance.cs
+./Mono.Cecil/ExportedType.cs
+./Mono.Cecil/PInvokeAttributes.cs
+./Mono.Cecil/AssemblyHashAlgorithm.cs
./Mono.Cecil/MethodReturnType.cs
+./Mono.Cecil/ParameterReference.cs
+./Mono.Cecil/AssemblyLinkedResource.cs
+./Mono.Cecil/EventDefinition.cs
+./Mono.Cecil/FieldAttributes.cs
+./Mono.Cecil/AssemblyNameDefinition.cs
+./Mono.Cecil/ParameterDefinitionCollection.cs
+./Mono.Cecil/ModuleDefinition.cs
+./Mono.Cecil/MetadataSystem.cs
+./Mono.Cecil/AssemblyFlags.cs
+./Mono.Cecil/TypeDefinitionCollection.cs
+./Mono.Cecil/CustomAttribute.cs
+./Mono.Cecil/MemberDefinitionCollection.cs
+./Mono.Cecil/PropertyDefinition.cs
+./Mono.Cecil/GenericInstanceType.cs
+./Mono.Cecil/ModuleKind.cs
+./Mono.Cecil/DefaultAssemblyResolver.cs
./Mono.Cecil/MethodSemanticsAttributes.cs
+./Mono.Cecil/EmbeddedResource.cs
+./Mono.Cecil/PropertyAttributes.cs
./Mono.Cecil/MethodSpecification.cs
-./Mono.Cecil/Modifiers.cs
-./Mono.Cecil/ModuleDefinition.cs
-./Mono.Cecil/ModuleDefinitionCollection.cs
-./Mono.Cecil/ModuleReference.cs
-./Mono.Cecil/ModuleReferenceCollection.cs
-./Mono.Cecil/NativeType.cs
-./Mono.Cecil/NestedTypeCollection.cs
-./Mono.Cecil/NullReferenceImporter.cs
-./Mono.Cecil/OverrideCollection.cs
-./Mono.Cecil/ParameterAttributes.cs
-./Mono.Cecil/ParameterDefinition.cs
-./Mono.Cecil/ParameterDefinitionCollection.cs
-./Mono.Cecil/ParameterReference.cs
+./Mono.Cecil/TypeReference.cs
+./Mono.Cecil/IConstantProvider.cs
+./Mono.Cecil/MethodDefinition.cs
./Mono.Cecil/PinnedType.cs
-./Mono.Cecil/PInvokeAttributes.cs
-./Mono.Cecil/PInvokeInfo.cs
-./Mono.Cecil/PointerType.cs
-./Mono.Cecil/PropertyAttributes.cs
-./Mono.Cecil/PropertyDefinition.cs
-./Mono.Cecil/PropertyDefinitionCollection.cs
+./Mono.Cecil/VariantType.cs
+./Mono.Cecil/MethodCallingConvention.cs
+./Mono.Cecil/TypeSystem.cs
+./Mono.Cecil/IMethodSignature.cs
+./Mono.Cecil/FieldDefinition.cs
+./Mono.Cecil/BaseAssemblyResolver.cs
./Mono.Cecil/PropertyReference.cs
+./Mono.Cecil/MarshalInfo.cs
+./Mono.Cecil/GenericInstanceMethod.cs
./Mono.Cecil/ReferenceType.cs
-./Mono.Cecil/ReflectionController.cs
-./Mono.Cecil/ReflectionException.cs
-./Mono.Cecil/ReflectionHelper.cs
-./Mono.Cecil/ReflectionReader.cs
-./Mono.Cecil/ReflectionWriter.cs
-./Mono.Cecil/Resource.cs
-./Mono.Cecil/ResourceCollection.cs
-./Mono.Cecil/SecurityAction.cs
-./Mono.Cecil/SecurityDeclaration.cs
-./Mono.Cecil/SecurityDeclarationCollection.cs
-./Mono.Cecil/SecurityDeclarationReader.cs
-./Mono.Cecil/SentinelType.cs
-./Mono.Cecil/StructureReader.cs
-./Mono.Cecil/StructureWriter.cs
-./Mono.Cecil/TableComparers.cs
-./Mono.Cecil/TargetRuntime.cs
-./Mono.Cecil/TypeAttributes.cs
-./Mono.Cecil/TypeDefinition.cs
-./Mono.Cecil/TypeDefinitionCollection.cs
-./Mono.Cecil/TypeReference.cs
-./Mono.Cecil/TypeReferenceCollection.cs
-./Mono.Cecil/TypeSpecification.cs
-./Mono.Cecil/VariantType.cs
-./Mono.Cecil.Binary/BaseImageVisitor.cs
-./Mono.Cecil.Binary/CLIHeader.cs
-./Mono.Cecil.Binary/CopyImageVisitor.cs
-./Mono.Cecil.Binary/DataDirectory.cs
-./Mono.Cecil.Binary/DebugHeader.cs
-./Mono.Cecil.Binary/DebugStoreType.cs
-./Mono.Cecil.Binary/DOSHeader.cs
-./Mono.Cecil.Binary/ExportTable.cs
-./Mono.Cecil.Binary/IBinaryVisitable.cs
-./Mono.Cecil.Binary/IBinaryVisitor.cs
-./Mono.Cecil.Binary/IHeader.cs
-./Mono.Cecil.Binary/Image.cs
-./Mono.Cecil.Binary/ImageCharacteristics.cs
-./Mono.Cecil.Binary/ImageFormatException.cs
-./Mono.Cecil.Binary/ImageInitializer.cs
-./Mono.Cecil.Binary/ImageReader.cs
-./Mono.Cecil.Binary/ImageWriter.cs
-./Mono.Cecil.Binary/Imports.cs
-./Mono.Cecil.Binary/MemoryBinaryWriter.cs
-./Mono.Cecil.Binary/PEFileHeader.cs
-./Mono.Cecil.Binary/PEOptionalHeader.cs
-./Mono.Cecil.Binary/ResourceDataEntry.cs
-./Mono.Cecil.Binary/ResourceDirectoryEntry.cs
-./Mono.Cecil.Binary/ResourceDirectoryString.cs
-./Mono.Cecil.Binary/ResourceDirectoryTable.cs
-./Mono.Cecil.Binary/ResourceNode.cs
-./Mono.Cecil.Binary/ResourceReader.cs
-./Mono.Cecil.Binary/ResourceWriter.cs
-./Mono.Cecil.Binary/RuntimeImage.cs
-./Mono.Cecil.Binary/RVA.cs
-./Mono.Cecil.Binary/Section.cs
-./Mono.Cecil.Binary/SectionCharacteristics.cs
-./Mono.Cecil.Binary/SectionCollection.cs
-./Mono.Cecil.Binary/SubSystem.cs
-./Mono.Cecil.Metadata/Assembly.cs
-./Mono.Cecil.Metadata/AssemblyOS.cs
-./Mono.Cecil.Metadata/AssemblyProcessor.cs
-./Mono.Cecil.Metadata/AssemblyRef.cs
-./Mono.Cecil.Metadata/AssemblyRefOS.cs
-./Mono.Cecil.Metadata/AssemblyRefProcessor.cs
-./Mono.Cecil.Metadata/BaseMetadataVisitor.cs
-./Mono.Cecil.Metadata/BlobHeap.cs
-./Mono.Cecil.Metadata/ClassLayout.cs
-./Mono.Cecil.Metadata/CodedIndex.cs
-./Mono.Cecil.Metadata/Constant.cs
-./Mono.Cecil.Metadata/CultureUtils.cs
-./Mono.Cecil.Metadata/CustomAttribute.cs
-./Mono.Cecil.Metadata/DeclSecurity.cs
-./Mono.Cecil.Metadata/ElementType.cs
-./Mono.Cecil.Metadata/Event.cs
-./Mono.Cecil.Metadata/EventMap.cs
-./Mono.Cecil.Metadata/EventPtr.cs
-./Mono.Cecil.Metadata/ExportedType.cs
-./Mono.Cecil.Metadata/Field.cs
-./Mono.Cecil.Metadata/FieldLayout.cs
-./Mono.Cecil.Metadata/FieldMarshal.cs
-./Mono.Cecil.Metadata/FieldPtr.cs
-./Mono.Cecil.Metadata/FieldRVA.cs
-./Mono.Cecil.Metadata/File.cs
-./Mono.Cecil.Metadata/GenericParam.cs
-./Mono.Cecil.Metadata/GenericParamConstraint.cs
-./Mono.Cecil.Metadata/GuidHeap.cs
-./Mono.Cecil.Metadata/IMetadataRow.cs
-./Mono.Cecil.Metadata/IMetadataTable.cs
-./Mono.Cecil.Metadata/IMetadataVisitable.cs
-./Mono.Cecil.Metadata/IMetadataVisitor.cs
-./Mono.Cecil.Metadata/ImplMap.cs
-./Mono.Cecil.Metadata/InterfaceImpl.cs
-./Mono.Cecil.Metadata/ManifestResource.cs
-./Mono.Cecil.Metadata/MemberRef.cs
-./Mono.Cecil.Metadata/MetadataFormatException.cs
-./Mono.Cecil.Metadata/MetadataHeap.cs
-./Mono.Cecil.Metadata/MetadataInitializer.cs
-./Mono.Cecil.Metadata/MetadataReader.cs
-./Mono.Cecil.Metadata/MetadataRoot.cs
-./Mono.Cecil.Metadata/MetadataRowReader.cs
-./Mono.Cecil.Metadata/MetadataRowWriter.cs
-./Mono.Cecil.Metadata/MetadataStream.cs
-./Mono.Cecil.Metadata/MetadataStreamCollection.cs
-./Mono.Cecil.Metadata/MetadataTableReader.cs
-./Mono.Cecil.Metadata/MetadataTableWriter.cs
-./Mono.Cecil.Metadata/MetadataToken.cs
-./Mono.Cecil.Metadata/MetadataWriter.cs
-./Mono.Cecil.Metadata/Method.cs
-./Mono.Cecil.Metadata/MethodImpl.cs
-./Mono.Cecil.Metadata/MethodPtr.cs
-./Mono.Cecil.Metadata/MethodSemantics.cs
-./Mono.Cecil.Metadata/MethodSpec.cs
-./Mono.Cecil.Metadata/Module.cs
-./Mono.Cecil.Metadata/ModuleRef.cs
-./Mono.Cecil.Metadata/NestedClass.cs
-./Mono.Cecil.Metadata/Param.cs
-./Mono.Cecil.Metadata/ParamPtr.cs
-./Mono.Cecil.Metadata/Property.cs
-./Mono.Cecil.Metadata/PropertyMap.cs
-./Mono.Cecil.Metadata/PropertyPtr.cs
-./Mono.Cecil.Metadata/RowCollection.cs
-./Mono.Cecil.Metadata/StandAloneSig.cs
-./Mono.Cecil.Metadata/StringsHeap.cs
-./Mono.Cecil.Metadata/TableCollection.cs
-./Mono.Cecil.Metadata/TablesHeap.cs
-./Mono.Cecil.Metadata/TokenType.cs
-./Mono.Cecil.Metadata/TypeDef.cs
-./Mono.Cecil.Metadata/TypeRef.cs
-./Mono.Cecil.Metadata/TypeSpec.cs
-./Mono.Cecil.Metadata/UserStringsHeap.cs
-./Mono.Cecil.Metadata/Utilities.cs
-./Mono.Cecil.Cil/BaseCodeVisitor.cs
-./Mono.Cecil.Cil/CilWorker.cs
-./Mono.Cecil.Cil/Code.cs
-./Mono.Cecil.Cil/CodeReader.cs
-./Mono.Cecil.Cil/CodeWriter.cs
-./Mono.Cecil.Cil/Document.cs
-./Mono.Cecil.Cil/DocumentHashAlgorithm.cs
-./Mono.Cecil.Cil/DocumentLanguage.cs
-./Mono.Cecil.Cil/DocumentLanguageVendor.cs
-./Mono.Cecil.Cil/DocumentType.cs
-./Mono.Cecil.Cil/ExceptionHandler.cs
-./Mono.Cecil.Cil/ExceptionHandlerCollection.cs
-./Mono.Cecil.Cil/ExceptionHandlerType.cs
-./Mono.Cecil.Cil/FlowControl.cs
-./Mono.Cecil.Cil/GuidAttribute.cs
-./Mono.Cecil.Cil/ICodeVisitable.cs
-./Mono.Cecil.Cil/ICodeVisitor.cs
-./Mono.Cecil.Cil/Instruction.cs
-./Mono.Cecil.Cil/InstructionCollection.cs
-./Mono.Cecil.Cil/IScopeProvider.cs
-./Mono.Cecil.Cil/ISymbolReader.cs
-./Mono.Cecil.Cil/ISymbolStoreFactory.cs
-./Mono.Cecil.Cil/ISymbolWriter.cs
-./Mono.Cecil.Cil/IVariableDefinitionProvider.cs
-./Mono.Cecil.Cil/MethodBody.cs
-./Mono.Cecil.Cil/MethodDataSection.cs
-./Mono.Cecil.Cil/MethodHeader.cs
-./Mono.Cecil.Cil/OpCode.cs
-./Mono.Cecil.Cil/OpCodes.cs
-./Mono.Cecil.Cil/OpCodeNames.cs
-./Mono.Cecil.Cil/OpCodeType.cs
-./Mono.Cecil.Cil/OperandType.cs
-./Mono.Cecil.Cil/Scope.cs
-./Mono.Cecil.Cil/ScopeCollection.cs
-./Mono.Cecil.Cil/SequencePoint.cs
-./Mono.Cecil.Cil/StackBehaviour.cs
-./Mono.Cecil.Cil/SymbolStoreHelper.cs
-./Mono.Cecil.Cil/VariableDefinition.cs
-./Mono.Cecil.Cil/VariableDefinitionCollection.cs
-./Mono.Cecil.Cil/VariableReference.cs
-./Mono.Cecil.Signatures/Array.cs
-./Mono.Cecil.Signatures/ArrayShape.cs
-./Mono.Cecil.Signatures/BaseSignatureVisitor.cs
-./Mono.Cecil.Signatures/Class.cs
-./Mono.Cecil.Signatures/Constraint.cs
-./Mono.Cecil.Signatures/CustomAttrib.cs
-./Mono.Cecil.Signatures/CustomMod.cs
-./Mono.Cecil.Signatures/FieldSig.cs
-./Mono.Cecil.Signatures/FnPtr.cs
-./Mono.Cecil.Signatures/GenericArg.cs
-./Mono.Cecil.Signatures/GenericInst.cs
-./Mono.Cecil.Signatures/GenericInstSignature.cs
-./Mono.Cecil.Signatures/InputOutputItem.cs
-./Mono.Cecil.Signatures/ISignatureVisitable.cs
-./Mono.Cecil.Signatures/ISignatureVisitor.cs
-./Mono.Cecil.Signatures/LocalVarSig.cs
-./Mono.Cecil.Signatures/MarshalSig.cs
-./Mono.Cecil.Signatures/MethodDefSig.cs
-./Mono.Cecil.Signatures/MethodRefSig.cs
-./Mono.Cecil.Signatures/MethodSig.cs
-./Mono.Cecil.Signatures/MethodSpec.cs
-./Mono.Cecil.Signatures/MVar.cs
-./Mono.Cecil.Signatures/Param.cs
-./Mono.Cecil.Signatures/PropertySig.cs
-./Mono.Cecil.Signatures/Ptr.cs
-./Mono.Cecil.Signatures/RetType.cs
-./Mono.Cecil.Signatures/Signature.cs
-./Mono.Cecil.Signatures/SignatureReader.cs
-./Mono.Cecil.Signatures/SignatureWriter.cs
-./Mono.Cecil.Signatures/SigType.cs
-./Mono.Cecil.Signatures/SzArray.cs
-./Mono.Cecil.Signatures/TypeSpec.cs
-./Mono.Cecil.Signatures/ValueType.cs
-./Mono.Cecil.Signatures/Var.cs
-./Mono.Xml/SecurityParser.cs
-./Mono.Xml/SmallXmlParser.cs
+./Mono.Cecil/PInvokeInfo.cs
+./Mono.Cecil/CallSite.cs
+./Mono.Cecil/AssemblyDefinition.cs
+./Mono.Cecil/GenericParameterAttributes.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.nunit b/mcs/class/Mono.Cecil/Mono.Cecil.nunit
new file mode 100755
index 00000000000..36e6808159d
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.nunit
@@ -0,0 +1,9 @@
+<NUnitProject>
+ <Settings activeconfig="Default" />
+ <Config name="Default" binpathtype="Auto">
+ <assembly path="Test\bin\Debug\Mono.Cecil.Tests.dll" />
+ <assembly path="rocks\Test\bin\Debug\Mono.Cecil.Rocks.Tests.dll" />
+ <assembly path="symbols\mdb\Test\bin\Debug\Mono.Cecil.Mdb.Tests.dll" />
+ <assembly path="symbols\pdb\Test\bin\Debug\Mono.Cecil.Pdb.Tests.dll" />
+ </Config>
+</NUnitProject>
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.sln b/mcs/class/Mono.Cecil/Mono.Cecil.sln
new file mode 100644
index 00000000000..4afe99ad963
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil.sln
@@ -0,0 +1,85 @@
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{74E5ECE0-06B4-401C-AEBA-E8DD53E17943}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Symbols", "Symbols", "{929D5B3B-E29A-40CC-93D8-0FF43A6F9FA1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil", "Mono.Cecil.csproj", "{D68133BD-1E63-496E-9EDE-4FBDBF77B486}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil.Tests", "Test\Mono.Cecil.Tests.csproj", "{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dbg", "dbg\dbg.csproj", "{89A775F3-64AB-485E-B958-60C25254B732}"
+EndProject
+Project("{00000000-0000-0000-0000-000000000000}") = "Mono.Cecil-SL", "Mono.Cecil-SL.csproj", "{59019979-D337-441B-851F-2133452191A8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil.Mdb", "symbols\mdb\Mono.Cecil.Mdb.csproj", "{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil.Mdb.Tests", "symbols\mdb\Test\Mono.Cecil.Mdb.Tests.csproj", "{AC71DF9C-99FA-4A63-990A-66C8010355A6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil.Pdb", "symbols\pdb\Mono.Cecil.Pdb.csproj", "{63E6915C-7EA4-4D76-AB28-0D7191EEA626}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil.Pdb.Tests", "symbols\pdb\Test\Mono.Cecil.Pdb.Tests.csproj", "{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil.Rocks.Tests", "rocks\Test\Mono.Cecil.Rocks.Tests.csproj", "{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil.Rocks", "rocks\Mono.Cecil.Rocks.csproj", "{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D68133BD-1E63-496E-9EDE-4FBDBF77B486}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.Release|Any CPU.Build.0 = Release|Any CPU
+ {89A775F3-64AB-485E-B958-60C25254B732}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {89A775F3-64AB-485E-B958-60C25254B732}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {89A775F3-64AB-485E-B958-60C25254B732}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {89A775F3-64AB-485E-B958-60C25254B732}.Release|Any CPU.Build.0 = Release|Any CPU
+ {59019979-D337-441B-851F-2133452191A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {59019979-D337-441B-851F-2133452191A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {59019979-D337-441B-851F-2133452191A8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {59019979-D337-441B-851F-2133452191A8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AC71DF9C-99FA-4A63-990A-66C8010355A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AC71DF9C-99FA-4A63-990A-66C8010355A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AC71DF9C-99FA-4A63-990A-66C8010355A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AC71DF9C-99FA-4A63-990A-66C8010355A6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {63E6915C-7EA4-4D76-AB28-0D7191EEA626}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {63E6915C-7EA4-4D76-AB28-0D7191EEA626}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {63E6915C-7EA4-4D76-AB28-0D7191EEA626}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {63E6915C-7EA4-4D76-AB28-0D7191EEA626}.Release|Any CPU.Build.0 = Release|Any CPU
+ {29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {A47B1F49-A81A-43E8-BE6B-DD28AF2C4055} = {74E5ECE0-06B4-401C-AEBA-E8DD53E17943}
+ {AC71DF9C-99FA-4A63-990A-66C8010355A6} = {74E5ECE0-06B4-401C-AEBA-E8DD53E17943}
+ {29300103-CB76-4A1D-B6FD-FFD91C1EC8AA} = {74E5ECE0-06B4-401C-AEBA-E8DD53E17943}
+ {C6CFD7E1-B855-44DC-B4CE-9CD72984AF52} = {74E5ECE0-06B4-401C-AEBA-E8DD53E17943}
+ {8559DD7F-A16F-46D0-A05A-9139FAEBA8FD} = {929D5B3B-E29A-40CC-93D8-0FF43A6F9FA1}
+ {63E6915C-7EA4-4D76-AB28-0D7191EEA626} = {929D5B3B-E29A-40CC-93D8-0FF43A6F9FA1}
+ EndGlobalSection
+EndGlobal
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ArrayDimension.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ArrayDimension.cs
deleted file mode 100644
index e7dafbb9212..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ArrayDimension.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// ArrayDimension.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public sealed class ArrayDimension {
-
- int m_lowerBound;
- int m_upperBound;
-
- public int LowerBound {
- get { return m_lowerBound; }
- set { m_lowerBound = value; }
- }
-
- public int UpperBound {
- get { return m_upperBound; }
- set { m_upperBound = value; }
- }
-
- public ArrayDimension (int lb, int ub)
- {
- m_lowerBound = lb;
- m_upperBound = ub;
- }
-
- public override string ToString ()
- {
- if (m_upperBound == 0)
- return string.Empty;
- return string.Concat (m_lowerBound, "...", m_upperBound);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ArrayDimensionCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ArrayDimensionCollection.cs
deleted file mode 100644
index c31cfb1f3da..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ArrayDimensionCollection.cs
+++ /dev/null
@@ -1,88 +0,0 @@
-//
-// ArrayDimensionCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Wed Sep 27 12:46:53 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class ArrayDimensionCollection : CollectionBase {
-
- ArrayType m_container;
-
- public ArrayDimension this [int index] {
- get { return List [index] as ArrayDimension; }
- set { List [index] = value; }
- }
-
- public ArrayType Container {
- get { return m_container; }
- }
-
- public ArrayDimensionCollection (ArrayType container)
- {
- m_container = container;
- }
-
- public void Add (ArrayDimension value)
- {
- List.Add (value);
- }
-
- public bool Contains (ArrayDimension value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (ArrayDimension value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, ArrayDimension value)
- {
- List.Insert (index, value);
- }
-
- public void Remove (ArrayDimension value)
- {
- List.Remove (value);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is ArrayDimension))
- throw new ArgumentException ("Must be of type " + typeof (ArrayDimension).FullName);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ArrayType.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ArrayType.cs
index 87456d28829..e3a060f7b33 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ArrayType.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/ArrayType.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,84 +26,134 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+using System.Text;
+using Mono.Collections.Generic;
+using MD = Mono.Cecil.Metadata;
+
namespace Mono.Cecil {
- using System.Text;
+ public struct ArrayDimension {
+
+ int? lower_bound;
+ int? upper_bound;
- using Mono.Cecil.Signatures;
+ public int? LowerBound {
+ get { return lower_bound; }
+ set { lower_bound = value; }
+ }
+
+ public int? UpperBound {
+ get { return upper_bound; }
+ set { upper_bound = value; }
+ }
+
+ public bool IsSized {
+ get { return lower_bound.HasValue || upper_bound.HasValue; }
+ }
+
+ public ArrayDimension (int? lowerBound, int? upperBound)
+ {
+ this.lower_bound = lowerBound;
+ this.upper_bound = upperBound;
+ }
+
+ public override string ToString ()
+ {
+ return !IsSized
+ ? string.Empty
+ : lower_bound + "..." + upper_bound;
+ }
+ }
public sealed class ArrayType : TypeSpecification {
- private ArrayDimensionCollection m_dimensions;
+ Collection<ArrayDimension> dimensions;
+
+ public Collection<ArrayDimension> Dimensions {
+ get {
+ if (dimensions != null)
+ return dimensions;
- public ArrayDimensionCollection Dimensions {
- get { return m_dimensions; }
+ dimensions = new Collection<ArrayDimension> ();
+ dimensions.Add (new ArrayDimension ());
+ return dimensions;
+ }
}
public int Rank {
- get { return m_dimensions.Count; }
+ get { return dimensions == null ? 1 : dimensions.Count; }
}
- public bool IsSizedArray {
+ public bool IsVector {
get {
- if (this.Rank != 1)
+ if (dimensions == null)
+ return true;
+
+ if (dimensions.Count > 1)
return false;
- ArrayDimension dim = m_dimensions [0];
- return dim.UpperBound == 0;
+
+ var dimension = dimensions [0];
+
+ return !dimension.IsSized;
}
}
+ public override bool IsValueType {
+ get { return false; }
+ set { throw new InvalidOperationException (); }
+ }
+
public override string Name {
- get { return string.Concat (base.Name, Suffix ()); }
+ get { return base.Name + Suffix; }
}
public override string FullName {
- get { return string.Concat (base.FullName, Suffix ()); }
+ get { return base.FullName + Suffix; }
}
- string Suffix ()
- {
- StringBuilder sb = new StringBuilder ();
- sb.Append ("[");
- for (int i = 0; i < m_dimensions.Count; i++) {
- ArrayDimension dim = m_dimensions [i];
- string rank = dim.ToString ();
- if (i < m_dimensions.Count - 1)
- sb.Append (",");
- if (rank.Length > 0) {
- sb.Append (" ");
- sb.Append (rank);
+ string Suffix {
+ get {
+ if (IsVector)
+ return "[]";
+
+ var suffix = new StringBuilder ();
+ suffix.Append ("[");
+ for (int i = 0; i < dimensions.Count; i++) {
+ if (i > 0)
+ suffix.Append (",");
+
+ suffix.Append (dimensions [i].ToString ());
}
+ suffix.Append ("]");
+
+ return suffix.ToString ();
}
- sb.Append ("]");
- return sb.ToString ();
}
- internal ArrayType (TypeReference elementType, ArrayShape shape) : base (elementType)
- {
- m_dimensions = new ArrayDimensionCollection (this);
- for (int i = 0; i < shape.Rank; i++) {
- int lower = 0, upper = 0;
- if (i < shape.NumSizes)
- if (i < shape.NumLoBounds) {
- lower = shape.LoBounds [i];
- upper = shape.LoBounds [i] + shape.Sizes [i] - 1;
- } else
- upper = shape.Sizes [i] - 1;
-
- m_dimensions.Add (new ArrayDimension (lower, upper));
- }
+ public override bool IsArray {
+ get { return true; }
}
- public ArrayType (TypeReference elementType, int rank) : base (elementType)
+ public ArrayType (TypeReference type)
+ : base (type)
{
- m_dimensions = new ArrayDimensionCollection (this);
- for (int i = 0; i < rank; i++)
- m_dimensions.Add (new ArrayDimension (0, 0));
+ Mixin.CheckType (type);
+ this.etype = MD.ElementType.Array;
}
- public ArrayType (TypeReference elementType) : this (elementType, 1)
+ public ArrayType (TypeReference type, int rank)
+ : this (type)
{
+ Mixin.CheckType (type);
+
+ if (rank == 1)
+ return;
+
+ dimensions = new Collection<ArrayDimension> (rank);
+ for (int i = 0; i < rank; i++)
+ dimensions.Add (new ArrayDimension ());
+ this.etype = MD.ElementType.Array;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyDefinition.cs b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyDefinition.cs
index 11373af32b6..bb757d38ce8 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyDefinition.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyDefinition.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,144 +26,164 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
+using System.IO;
+
+using Mono.Collections.Generic;
- using System;
- using System.Collections;
+namespace Mono.Cecil {
- using Mono.Cecil.Metadata;
+ public sealed class AssemblyDefinition : ICustomAttributeProvider, ISecurityDeclarationProvider {
- public class AssemblyDefinition : ICustomAttributeProvider,
- IHasSecurity, IAnnotationProvider, IReflectionStructureVisitable {
+ AssemblyNameDefinition name;
- MetadataToken m_token;
- AssemblyNameDefinition m_asmName;
- ModuleDefinitionCollection m_modules;
- SecurityDeclarationCollection m_secDecls;
- CustomAttributeCollection m_customAttrs;
- MethodDefinition m_ep;
- TargetRuntime m_runtime;
- AssemblyKind m_kind;
+ internal ModuleDefinition main_module;
+ Collection<ModuleDefinition> modules;
+ Collection<CustomAttribute> custom_attributes;
+ Collection<SecurityDeclaration> security_declarations;
- ModuleDefinition m_mainModule;
- StructureReader m_reader;
+ public AssemblyNameDefinition Name {
+ get { return name; }
+ set { name = value; }
+ }
- IAssemblyResolver m_resolver;
- IDictionary m_annotations;
+ public string FullName {
+ get { return name != null ? name.FullName : string.Empty; }
+ }
public MetadataToken MetadataToken {
- get { return m_token; }
- set { m_token = value; }
+ get { return new MetadataToken (TokenType.Assembly, 1); }
+ set { }
}
- public AssemblyNameDefinition Name {
- get { return m_asmName; }
+ public Collection<ModuleDefinition> Modules {
+ get {
+ if (modules != null)
+ return modules;
+
+ if (main_module.HasImage)
+ return modules = main_module.Read (this, (_, reader) => reader.ReadModules ());
+
+ return modules = new Collection<ModuleDefinition> { main_module };
+ }
}
- public ModuleDefinitionCollection Modules {
- get { return m_modules; }
+ public ModuleDefinition MainModule {
+ get { return main_module; }
}
- public bool HasSecurityDeclarations {
- get { return (m_secDecls == null) ? false : (m_secDecls.Count > 0); }
+ public MethodDefinition EntryPoint {
+ get { return main_module.EntryPoint; }
+ set { main_module.EntryPoint = value; }
}
- public SecurityDeclarationCollection SecurityDeclarations {
+ public bool HasCustomAttributes {
get {
- if (m_secDecls == null)
- m_secDecls = new SecurityDeclarationCollection (this);
+ if (custom_attributes != null)
+ return custom_attributes.Count > 0;
- return m_secDecls;
+ return this.GetHasCustomAttributes (main_module);
}
}
- public bool HasCustomAttributes {
- get { return (m_customAttrs == null) ? false : (m_customAttrs.Count > 0); }
+ public Collection<CustomAttribute> CustomAttributes {
+ get { return custom_attributes ?? (custom_attributes = this.GetCustomAttributes (main_module)); }
}
- public CustomAttributeCollection CustomAttributes {
+ public bool HasSecurityDeclarations {
get {
- if (m_customAttrs == null)
- m_customAttrs = new CustomAttributeCollection (this);
+ if (security_declarations != null)
+ return security_declarations.Count > 0;
- return m_customAttrs;
+ return this.GetHasSecurityDeclarations (main_module);
}
}
- public MethodDefinition EntryPoint {
- get { return m_ep; }
- set { m_ep = value; }
+ public Collection<SecurityDeclaration> SecurityDeclarations {
+ get { return security_declarations ?? (security_declarations = this.GetSecurityDeclarations (main_module)); }
+ }
+
+ internal AssemblyDefinition ()
+ {
}
- public TargetRuntime Runtime {
- get { return m_runtime; }
- set { m_runtime = value; }
+#if !READ_ONLY
+ public static AssemblyDefinition CreateAssembly (AssemblyNameDefinition assemblyName, string moduleName, ModuleKind kind)
+ {
+ return CreateAssembly (assemblyName, moduleName, new ModuleParameters { Kind = kind });
}
- public AssemblyKind Kind {
- get { return m_kind; }
- set { m_kind = value; }
+ public static AssemblyDefinition CreateAssembly (AssemblyNameDefinition assemblyName, string moduleName, ModuleParameters parameters)
+ {
+ if (assemblyName == null)
+ throw new ArgumentNullException ("assemblyName");
+ if (moduleName == null)
+ throw new ArgumentNullException ("moduleName");
+ Mixin.CheckParameters (parameters);
+ if (parameters.Kind == ModuleKind.NetModule)
+ throw new ArgumentException ("kind");
+
+ var assembly = ModuleDefinition.CreateModule (moduleName, parameters).Assembly;
+ assembly.Name = assemblyName;
+
+ return assembly;
}
+#endif
- public ModuleDefinition MainModule {
- get {
- if (m_mainModule == null) {
- foreach (ModuleDefinition module in m_modules) {
- if (module.Main) {
- m_mainModule = module;
- break;
- }
- }
- }
- return m_mainModule;
- }
+ public static AssemblyDefinition ReadAssembly (string fileName)
+ {
+ return ReadAssembly (ModuleDefinition.ReadModule (fileName));
}
- internal StructureReader Reader {
- get { return m_reader; }
+ public static AssemblyDefinition ReadAssembly (string fileName, ReaderParameters parameters)
+ {
+ return ReadAssembly (ModuleDefinition.ReadModule (fileName, parameters));
}
- public IAssemblyResolver Resolver {
- get { return m_resolver; }
- set { m_resolver = value; }
+ public static AssemblyDefinition ReadAssembly (Stream stream)
+ {
+ return ReadAssembly (ModuleDefinition.ReadModule (stream));
}
- IDictionary IAnnotationProvider.Annotations {
- get {
- if (m_annotations == null)
- m_annotations = new Hashtable ();
- return m_annotations;
- }
+ public static AssemblyDefinition ReadAssembly (Stream stream, ReaderParameters parameters)
+ {
+ return ReadAssembly (ModuleDefinition.ReadModule (stream, parameters));
}
- internal AssemblyDefinition (AssemblyNameDefinition name)
+ static AssemblyDefinition ReadAssembly (ModuleDefinition module)
{
- if (name == null)
- throw new ArgumentNullException ("name");
+ var assembly = module.Assembly;
+ if (assembly == null)
+ throw new ArgumentException ();
- m_asmName = name;
- m_modules = new ModuleDefinitionCollection (this);
- m_resolver = new DefaultAssemblyResolver ();
+ return assembly;
}
- internal AssemblyDefinition (AssemblyNameDefinition name, StructureReader reader) : this (name)
+#if !READ_ONLY
+ public void Write (string fileName)
{
- m_reader = reader;
+ Write (fileName, new WriterParameters ());
}
- public void Accept (IReflectionStructureVisitor visitor)
+ public void Write (Stream stream)
{
- visitor.VisitAssemblyDefinition (this);
+ Write (stream, new WriterParameters ());
+ }
- m_asmName.Accept (visitor);
- m_modules.Accept (visitor);
+ public void Write (string fileName, WriterParameters parameters)
+ {
+ main_module.Write (fileName, parameters);
+ }
- visitor.TerminateAssemblyDefinition (this);
+ public void Write (Stream stream, WriterParameters parameters)
+ {
+ main_module.Write (stream, parameters);
}
+#endif
public override string ToString ()
{
- return m_asmName.FullName;
+ return this.FullName;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyFactory.cs b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyFactory.cs
deleted file mode 100644
index 1317c31f913..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyFactory.cs
+++ /dev/null
@@ -1,183 +0,0 @@
-//
-// AssemblyFactory.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.IO;
- using SR = System.Reflection;
-
- using Mono.Cecil.Binary;
-
- public sealed class AssemblyFactory {
-
- AssemblyFactory ()
- {
- }
-
- static AssemblyDefinition GetAssembly (ImageReader irv, bool manifestOnly)
- {
- StructureReader srv = new StructureReader (irv, manifestOnly);
- AssemblyDefinition asm = new AssemblyDefinition (
- new AssemblyNameDefinition (), srv);
-
- asm.Accept (srv);
- return asm;
- }
-
- static AssemblyDefinition GetAssembly (ImageReader reader)
- {
- return GetAssembly (reader, false);
- }
-
- static AssemblyDefinition GetAssemblyManifest (ImageReader reader)
- {
- return GetAssembly (reader, true);
- }
-
- public static AssemblyDefinition GetAssembly (string file)
- {
- return GetAssembly (ImageReader.Read (file));
- }
-
- public static AssemblyDefinition GetAssembly (byte [] assembly)
- {
- return GetAssembly (ImageReader.Read (assembly));
- }
-
- public static AssemblyDefinition GetAssembly (Stream stream)
- {
- return GetAssembly (ImageReader.Read (stream));
- }
-
- public static AssemblyDefinition GetAssemblyManifest (string file)
- {
- return GetAssemblyManifest (ImageReader.Read (file));
- }
-
- public static AssemblyDefinition GetAssemblyManifest (byte [] assembly)
- {
- return GetAssemblyManifest (ImageReader.Read (assembly));
- }
-
- public static AssemblyDefinition GetAssemblyManifest (Stream stream)
- {
- return GetAssemblyManifest (ImageReader.Read (stream));
- }
-
- static TargetRuntime CurrentRuntime ()
- {
- Version corlib = typeof (object).Assembly.GetName ().Version;
-
- switch (corlib.Major) {
- case 1:
- return corlib.Minor == 0 ? TargetRuntime.NET_1_0 : TargetRuntime.NET_1_1;
- case 2:
- return TargetRuntime.NET_2_0;
- case 4:
- return TargetRuntime.NET_4_0;
- default:
- throw new NotSupportedException ();
- }
- }
-
- public static AssemblyDefinition DefineAssembly (string name, AssemblyKind kind)
- {
- return DefineAssembly (name, name, CurrentRuntime (), kind);
- }
-
- public static AssemblyDefinition DefineAssembly (string name, TargetRuntime rt, AssemblyKind kind)
- {
- return DefineAssembly (name, name, rt, kind);
- }
-
- public static AssemblyDefinition DefineAssembly (string assemblyName, string moduleName, TargetRuntime rt, AssemblyKind kind)
- {
- AssemblyNameDefinition asmName = new AssemblyNameDefinition ();
- asmName.Name = assemblyName;
- AssemblyDefinition asm = new AssemblyDefinition (asmName);
- asm.Runtime = rt;
- asm.Kind = kind;
- ModuleDefinition main = new ModuleDefinition (moduleName, asm, true);
- asm.Modules.Add (main);
- return asm;
- }
-
- static void WriteAssembly (AssemblyDefinition asm, BinaryWriter bw)
- {
- asm.Accept (new StructureWriter (asm, bw));
- }
-
- public static void SaveAssembly (AssemblyDefinition asm, string file)
- {
- using (FileStream fs = new FileStream (
- file, FileMode.Create, FileAccess.Write, FileShare.None)) {
-
- SaveAssembly (asm, fs);
- asm.MainModule.Image.SetFileInfo (new FileInfo (file));
- }
- }
-
- public static void SaveAssembly (AssemblyDefinition asm, out byte [] assembly)
- {
- MemoryBinaryWriter bw = new MemoryBinaryWriter ();
- SaveAssembly (asm, bw.BaseStream);
- assembly = bw.ToArray ();
- }
-
- public static void SaveAssembly (AssemblyDefinition asm, Stream stream)
- {
- BinaryWriter bw = new BinaryWriter (stream);
- try {
- WriteAssembly (asm, bw);
- } finally {
- bw.Close ();
- }
-
- foreach (ModuleDefinition module in asm.Modules)
- if (module.Controller.Writer.SaveSymbols)
- module.Controller.Writer.WriteSymbols (module);
- }
-
-#if !CF_1_0 && !CF_2_0
- public static SR.Assembly CreateReflectionAssembly (AssemblyDefinition asm, AppDomain domain)
- {
- using (MemoryBinaryWriter writer = new MemoryBinaryWriter ()) {
-
- WriteAssembly (asm, writer);
- return domain.Load (writer.ToArray ());
- }
- }
-
- public static SR.Assembly CreateReflectionAssembly (AssemblyDefinition asm)
- {
- return CreateReflectionAssembly (asm, AppDomain.CurrentDomain);
- }
-#endif
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyFlags.cs b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyFlags.cs
index 9231fc8406c..6d04c59c4c6 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyFlags.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyFlags.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,16 +26,16 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
- using System;
+namespace Mono.Cecil {
[Flags]
- public enum AssemblyFlags : uint {
+ public enum AssemblyAttributes : uint {
PublicKey = 0x0001,
SideBySideCompatible = 0x0000,
Retargetable = 0x0100,
- EnableJITcompileTracking = 0x8000,
- DisableJITcompileOptimizer = 0x4000
+ DisableJITCompileOptimizer = 0x4000,
+ EnableJITCompileTracking = 0x8000,
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyHashAlgorithm.cs b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyHashAlgorithm.cs
index e32c2ec2fbc..0e7bf838bee 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyHashAlgorithm.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyHashAlgorithm.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -34,4 +34,3 @@ namespace Mono.Cecil {
SHA1 = 0x8004
}
}
-
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyInfo.cs b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyInfo.cs
index cd77a32dd5d..b7019815b31 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyInfo.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyInfo.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,37 +26,24 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-using System;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
-#if !EMBEDDED
-
[assembly: AssemblyTitle ("Mono.Cecil")]
-[assembly: AssemblyDescription ("Library for reading and writing CIL images")]
-[assembly: AssemblyConfiguration ("")]
[assembly: AssemblyProduct ("Mono.Cecil")]
-[assembly: AssemblyCopyright ("(C) 2005 - 2007, Jb Evain")]
-[assembly: AssemblyCulture ("")]
+[assembly: AssemblyCopyright ("Copyright © 2008 - 2010 Jb Evain")]
-[assembly: CLSCompliant (false)]
[assembly: ComVisible (false)]
-[assembly: AssemblyVersion (
- //
- // DO NOT MODIFY THE STRING BELOWS WITOUT UPDATING cecil.pc.in in mono/data
- //
- "0.6.9.0"
- //
- // DO NOT MODIFY THE STRING ABOVE WITHOUT UPDATING cecil.pc.in in mono/data
-)]
-
-#if KEYFILE
-[assembly: AssemblyKeyFile("../../mono.snk")]
-#endif
+[assembly: Guid ("fd225bb4-fa53-44b2-a6db-85f5e48dcb54")]
+[assembly: AssemblyVersion ("0.9.4.0")]
+#if !CF
+[assembly: AssemblyFileVersion ("0.9.4.0")]
#endif
-
-
+[assembly: InternalsVisibleTo ("Mono.Cecil.Pdb, PublicKey=002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df")]
+[assembly: InternalsVisibleTo ("Mono.Cecil.Mdb, PublicKey=002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df")]
+[assembly: InternalsVisibleTo ("Mono.Cecil.Rocks, PublicKey=002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df")]
+[assembly: InternalsVisibleTo ("Mono.Cecil.Tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df")]
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyKind.cs b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyKind.cs
deleted file mode 100644
index 7d5e7c0254e..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyKind.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// AssemblyKind.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public enum AssemblyKind {
- Dll,
- Console,
- Windows
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyLinkedResource.cs b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyLinkedResource.cs
index 0ff9ff15153..68e44f80bfc 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyLinkedResource.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyLinkedResource.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,26 +26,32 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+
namespace Mono.Cecil {
public sealed class AssemblyLinkedResource : Resource {
- private AssemblyNameReference m_asmRef;
+ AssemblyNameReference reference;
public AssemblyNameReference Assembly {
- get { return m_asmRef; }
- set { m_asmRef = value; }
+ get { return reference; }
+ set { reference = value; }
+ }
+
+ public override ResourceType ResourceType {
+ get { return ResourceType.AssemblyLinked; }
}
- public AssemblyLinkedResource (string name, ManifestResourceAttributes flags,
- AssemblyNameReference asmRef) : base (name, flags)
+ public AssemblyLinkedResource (string name, ManifestResourceAttributes flags)
+ : base (name, flags)
{
- m_asmRef = asmRef;
}
- public override void Accept (IReflectionStructureVisitor visitor)
+ public AssemblyLinkedResource (string name, ManifestResourceAttributes flags, AssemblyNameReference reference)
+ : base (name, flags)
{
- visitor.VisitAssemblyLinkedResource (this);
+ this.reference = reference;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyNameDefinition.cs b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyNameDefinition.cs
index bf54fb58d7d..4756cb81a3a 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyNameDefinition.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyNameDefinition.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,27 +26,25 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
- using System;
+namespace Mono.Cecil {
public sealed class AssemblyNameDefinition : AssemblyNameReference {
public override byte [] Hash {
- get { return new byte [0]; }
- }
-
- public AssemblyNameDefinition () : base()
- {
+ get { return Empty<byte>.Array; }
}
- public AssemblyNameDefinition (string name, string culture, Version version) : base (name, culture, version)
+ internal AssemblyNameDefinition ()
{
+ this.token = new MetadataToken (TokenType.Assembly, 1);
}
- public override void Accept (IReflectionStructureVisitor visitor)
+ public AssemblyNameDefinition (string name, Version version)
+ : base (name, version)
{
- visitor.VisitAssemblyNameDefinition (this);
+ this.token = new MetadataToken (TokenType.Assembly, 1);
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyNameReference.cs b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyNameReference.cs
index 6b99de9870c..2798082ba2f 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyNameReference.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyNameReference.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,155 +26,158 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
+using System.Globalization;
+using System.Security.Cryptography;
+using System.Text;
- using System;
- using System.Collections;
- using System.Globalization;
- using System.Security.Cryptography;
- using System.Text;
+namespace Mono.Cecil {
- using Mono.Cecil.Metadata;
+ public class AssemblyNameReference : IMetadataScope {
- public class AssemblyNameReference : IMetadataScope, IAnnotationProvider, IReflectionStructureVisitable {
+ string name;
+ string culture;
+ Version version;
+ uint attributes;
+ byte [] public_key;
+ byte [] public_key_token;
+ AssemblyHashAlgorithm hash_algorithm;
+ byte [] hash;
- string m_name;
- string m_culture;
- Version m_version;
- AssemblyFlags m_flags;
- byte [] m_publicKey;
- byte [] m_publicKeyToken;
- AssemblyHashAlgorithm m_hashAlgo;
- byte [] m_hash;
- MetadataToken m_token;
- IDictionary m_annotations;
+ internal MetadataToken token;
- bool m_fullNameDiscarded = true;
- string m_fullName;
+ string full_name;
public string Name {
- get { return m_name; }
+ get { return name; }
set {
- m_name = value;
- m_fullNameDiscarded = true;
+ name = value;
+ full_name = null;
}
}
public string Culture {
- get { return m_culture; }
+ get { return culture; }
set {
- m_culture = value;
- m_fullNameDiscarded = true;
+ culture = value;
+ full_name = null;
}
}
public Version Version {
- get { return m_version; }
+ get { return version; }
set {
- m_version = value;
- m_fullNameDiscarded = true;
+ version = value;
+ full_name = null;
}
}
- public AssemblyFlags Flags {
- get { return m_flags; }
- set { m_flags = value; }
+ public AssemblyAttributes Attributes {
+ get { return (AssemblyAttributes) attributes; }
+ set { attributes = (uint) value; }
}
public bool HasPublicKey {
- get { return (m_flags & AssemblyFlags.PublicKey) != 0; }
- set {
- if (value)
- m_flags |= AssemblyFlags.PublicKey;
- else
- m_flags &= ~AssemblyFlags.PublicKey;
- }
+ get { return attributes.GetAttributes ((uint) AssemblyAttributes.PublicKey); }
+ set { attributes = attributes.SetAttributes ((uint) AssemblyAttributes.PublicKey, value); }
}
public bool IsSideBySideCompatible {
- get { return (m_flags & AssemblyFlags.SideBySideCompatible) != 0; }
- set {
- if (value)
- m_flags |= AssemblyFlags.SideBySideCompatible;
- else
- m_flags &= ~AssemblyFlags.SideBySideCompatible;
- }
+ get { return attributes.GetAttributes ((uint) AssemblyAttributes.SideBySideCompatible); }
+ set { attributes = attributes.SetAttributes ((uint) AssemblyAttributes.SideBySideCompatible, value); }
}
public bool IsRetargetable {
- get { return (m_flags & AssemblyFlags.Retargetable) != 0; }
- set {
- if (value)
- m_flags |= AssemblyFlags.Retargetable;
- else
- m_flags &= ~AssemblyFlags.Retargetable;
- }
+ get { return attributes.GetAttributes ((uint) AssemblyAttributes.Retargetable); }
+ set { attributes = attributes.SetAttributes ((uint) AssemblyAttributes.Retargetable, value); }
}
public byte [] PublicKey {
- get { return m_publicKey; }
+ get { return public_key; }
set {
- m_publicKey = value;
- m_publicKeyToken = null;
- m_fullNameDiscarded = true;
+ public_key = value;
+ HasPublicKey = !public_key.IsNullOrEmpty ();
+ public_key_token = Empty<byte>.Array;
+ full_name = null;
}
}
public byte [] PublicKeyToken {
get {
-#if !CF_1_0
- if ((m_publicKeyToken == null || m_publicKeyToken.Length == 0) && (m_publicKey != null && m_publicKey.Length > 0)) {
- HashAlgorithm ha;
- switch (m_hashAlgo) {
- case AssemblyHashAlgorithm.Reserved:
- ha = MD5.Create (); break;
- default:
- // None default to SHA1
- ha = SHA1.Create (); break;
- }
- byte [] hash = ha.ComputeHash (m_publicKey);
+ if (public_key_token.IsNullOrEmpty () && !public_key.IsNullOrEmpty ()) {
+ var hash = HashPublicKey ();
// we need the last 8 bytes in reverse order
- m_publicKeyToken = new byte [8];
- Array.Copy (hash, (hash.Length - 8), m_publicKeyToken, 0, 8);
- Array.Reverse (m_publicKeyToken, 0, 8);
+ public_key_token = new byte [8];
+ Array.Copy (hash, (hash.Length - 8), public_key_token, 0, 8);
+ Array.Reverse (public_key_token, 0, 8);
}
-#endif
- return m_publicKeyToken;
+ return public_key_token;
}
set {
- m_publicKeyToken = value;
- m_fullNameDiscarded = true;
+ public_key_token = value;
+ full_name = null;
+ }
+ }
+
+ byte [] HashPublicKey ()
+ {
+ HashAlgorithm algorithm;
+
+ switch (hash_algorithm) {
+ case AssemblyHashAlgorithm.Reserved:
+#if SILVERLIGHT
+ throw new NotSupportedException ();
+#else
+ algorithm = MD5.Create ();
+ break;
+#endif
+ default:
+ // None default to SHA1
+#if SILVERLIGHT
+ algorithm = new SHA1Managed ();
+ break;
+#else
+ algorithm = SHA1.Create ();
+ break;
+#endif
}
+
+ using (algorithm)
+ return algorithm.ComputeHash (public_key);
+ }
+
+ public virtual MetadataScopeType MetadataScopeType {
+ get { return MetadataScopeType.AssemblyNameReference; }
}
public string FullName {
get {
- if (m_fullName != null && !m_fullNameDiscarded)
- return m_fullName;
-
- StringBuilder sb = new StringBuilder ();
- string sep = ", ";
- sb.Append (m_name);
- if (m_version != null) {
- sb.Append (sep);
- sb.Append ("Version=");
- sb.Append (m_version.ToString ());
+ if (full_name != null)
+ return full_name;
+
+ const string sep = ", ";
+
+ var builder = new StringBuilder ();
+ builder.Append (name);
+ if (version != null) {
+ builder.Append (sep);
+ builder.Append ("Version=");
+ builder.Append (version.ToString ());
}
- sb.Append (sep);
- sb.Append ("Culture=");
- sb.Append (m_culture == null || m_culture.Length == 0 ? "neutral" : m_culture);
- sb.Append (sep);
- sb.Append ("PublicKeyToken=");
- if (this.PublicKeyToken != null && m_publicKeyToken.Length > 0) {
- for (int i = 0 ; i < m_publicKeyToken.Length ; i++) {
- sb.Append (m_publicKeyToken [i].ToString ("x2"));
+ builder.Append (sep);
+ builder.Append ("Culture=");
+ builder.Append (string.IsNullOrEmpty (culture) ? "neutral" : culture);
+ builder.Append (sep);
+ builder.Append ("PublicKeyToken=");
+
+ if (this.PublicKeyToken != null && public_key_token.Length > 0) {
+ for (int i = 0 ; i < public_key_token.Length ; i++) {
+ builder.Append (public_key_token [i].ToString ("x2"));
}
- } else {
- sb.Append ("null");
- }
- m_fullName = sb.ToString ();
- m_fullNameDiscarded = false;
- return m_fullName;
+ } else
+ builder.Append ("null");
+
+ return full_name = builder.ToString ();
}
}
@@ -185,17 +188,17 @@ namespace Mono.Cecil {
if (fullName.Length == 0)
throw new ArgumentException ("Name can not be empty");
- AssemblyNameReference name = new AssemblyNameReference ();
- string [] tokens = fullName.Split (',');
+ var name = new AssemblyNameReference ();
+ var tokens = fullName.Split (',');
for (int i = 0; i < tokens.Length; i++) {
- string token = tokens [i].Trim ();
+ var token = tokens [i].Trim ();
if (i == 0) {
name.Name = token;
continue;
}
- string [] parts = token.Split ('=');
+ var parts = token.Split ('=');
if (parts.Length != 2)
throw new ArgumentException ("Malformed name");
@@ -207,13 +210,13 @@ namespace Mono.Cecil {
name.Culture = parts [1];
break;
case "PublicKeyToken":
- string pkToken = parts [1];
- if (pkToken == "null")
+ string pk_token = parts [1];
+ if (pk_token == "null")
break;
- name.PublicKeyToken = new byte [pkToken.Length / 2];
+ name.PublicKeyToken = new byte [pk_token.Length / 2];
for (int j = 0; j < name.PublicKeyToken.Length; j++) {
- name.PublicKeyToken [j] = Byte.Parse (pkToken.Substring (j * 2, 2), NumberStyles.HexNumber);
+ name.PublicKeyToken [j] = Byte.Parse (pk_token.Substring (j * 2, 2), NumberStyles.HexNumber);
}
break;
}
@@ -222,54 +225,39 @@ namespace Mono.Cecil {
return name;
}
- public AssemblyHashAlgorithm HashAlgorithm
- {
- get { return m_hashAlgo; }
- set { m_hashAlgo = value; }
+ public AssemblyHashAlgorithm HashAlgorithm {
+ get { return hash_algorithm; }
+ set { hash_algorithm = value; }
}
public virtual byte [] Hash {
- get { return m_hash; }
- set { m_hash = value; }
+ get { return hash; }
+ set { hash = value; }
}
public MetadataToken MetadataToken {
- get { return m_token; }
- set { m_token = value; }
+ get { return token; }
+ set { token = value; }
}
- IDictionary IAnnotationProvider.Annotations {
- get {
- if (m_annotations == null)
- m_annotations = new Hashtable ();
- return m_annotations;
- }
- }
-
- public AssemblyNameReference () : this (string.Empty, string.Empty, new Version (0, 0, 0, 0))
+ internal AssemblyNameReference ()
{
}
- public AssemblyNameReference (string name, string culture, Version version)
+ public AssemblyNameReference (string name, Version version)
{
if (name == null)
throw new ArgumentNullException ("name");
- if (culture == null)
- throw new ArgumentNullException ("culture");
- m_name = name;
- m_culture = culture;
- m_version = version;
- m_hashAlgo = AssemblyHashAlgorithm.None;
+
+ this.name = name;
+ this.version = version;
+ this.hash_algorithm = AssemblyHashAlgorithm.None;
+ this.token = new MetadataToken (TokenType.AssemblyRef);
}
public override string ToString ()
{
return this.FullName;
}
-
- public virtual void Accept (IReflectionStructureVisitor visitor)
- {
- visitor.VisitAssemblyNameReference (this);
- }
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyNameReferenceCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyNameReferenceCollection.cs
deleted file mode 100644
index be2b3b95aa2..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyNameReferenceCollection.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// AssemblyNameReferenceCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Wed Sep 27 12:46:52 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class AssemblyNameReferenceCollection : CollectionBase, IReflectionStructureVisitable {
-
- ModuleDefinition m_container;
-
- public AssemblyNameReference this [int index] {
- get { return List [index] as AssemblyNameReference; }
- set { List [index] = value; }
- }
-
- public ModuleDefinition Container {
- get { return m_container; }
- }
-
- public AssemblyNameReferenceCollection (ModuleDefinition container)
- {
- m_container = container;
- }
-
- public void Add (AssemblyNameReference value)
- {
- List.Add (value);
- }
-
- public bool Contains (AssemblyNameReference value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (AssemblyNameReference value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, AssemblyNameReference value)
- {
- List.Insert (index, value);
- }
-
- public void Remove (AssemblyNameReference value)
- {
- List.Remove (value);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is AssemblyNameReference))
- throw new ArgumentException ("Must be of type " + typeof (AssemblyNameReference).FullName);
- }
-
- public void Accept (IReflectionStructureVisitor visitor)
- {
- visitor.VisitAssemblyNameReferenceCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyReader.cs b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyReader.cs
new file mode 100644
index 00000000000..18175fc5d1a
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyReader.cs
@@ -0,0 +1,3007 @@
+//
+// AssemblyReader.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+
+using Mono.Collections.Generic;
+using Mono.Cecil.Cil;
+using Mono.Cecil.Metadata;
+using Mono.Cecil.PE;
+
+using RVA = System.UInt32;
+
+namespace Mono.Cecil {
+
+ abstract class ModuleReader {
+
+ readonly protected Image image;
+ readonly protected ModuleDefinition module;
+
+ protected ModuleReader (Image image, ReadingMode mode)
+ {
+ this.image = image;
+ this.module = new ModuleDefinition (image);
+ this.module.ReadingMode = mode;
+ }
+
+ protected abstract void ReadModule ();
+
+ protected void ReadModuleManifest (MetadataReader reader)
+ {
+ reader.Populate (module);
+
+ ReadAssembly (reader);
+ }
+
+ void ReadAssembly (MetadataReader reader)
+ {
+ var name = reader.ReadAssemblyNameDefinition ();
+ if (name == null) {
+ module.kind = ModuleKind.NetModule;
+ return;
+ }
+
+ var assembly = new AssemblyDefinition ();
+ assembly.Name = name;
+
+ module.assembly = assembly;
+ assembly.main_module = module;
+ }
+
+ public static ModuleDefinition CreateModuleFrom (Image image, ReaderParameters parameters)
+ {
+ var module = ReadModule (image, parameters);
+
+ ReadSymbols (module, parameters);
+
+ if (parameters.AssemblyResolver != null)
+ module.assembly_resolver = parameters.AssemblyResolver;
+
+ return module;
+ }
+
+ static void ReadSymbols (ModuleDefinition module, ReaderParameters parameters)
+ {
+ var symbol_reader_provider = parameters.SymbolReaderProvider;
+
+ if (symbol_reader_provider == null && parameters.ReadSymbols)
+ symbol_reader_provider = SymbolProvider.GetPlatformReaderProvider ();
+
+ if (symbol_reader_provider != null) {
+ module.SymbolReaderProvider = symbol_reader_provider;
+
+ var reader = parameters.SymbolStream != null
+ ? symbol_reader_provider.GetSymbolReader (module, parameters.SymbolStream)
+ : symbol_reader_provider.GetSymbolReader (module, module.FullyQualifiedName);
+
+ module.ReadSymbols (reader);
+ }
+ }
+
+ static ModuleDefinition ReadModule (Image image, ReaderParameters parameters)
+ {
+ var reader = CreateModuleReader (image, parameters.ReadingMode);
+ reader.ReadModule ();
+ return reader.module;
+ }
+
+ static ModuleReader CreateModuleReader (Image image, ReadingMode mode)
+ {
+ switch (mode) {
+ case ReadingMode.Immediate:
+ return new ImmediateModuleReader (image);
+ case ReadingMode.Deferred:
+ return new DeferredModuleReader (image);
+ default:
+ throw new ArgumentException ();
+ }
+ }
+ }
+
+ sealed class ImmediateModuleReader : ModuleReader {
+
+ public ImmediateModuleReader (Image image)
+ : base (image, ReadingMode.Immediate)
+ {
+ }
+
+ protected override void ReadModule ()
+ {
+ this.module.Read (this.module, (module, reader) => {
+ ReadModuleManifest (reader);
+ ReadModule (module);
+ return module;
+ });
+ }
+
+ public static void ReadModule (ModuleDefinition module)
+ {
+ if (module.HasAssemblyReferences)
+ Read (module.AssemblyReferences);
+ if (module.HasResources)
+ Read (module.Resources);
+ if (module.HasModuleReferences)
+ Read (module.ModuleReferences);
+ if (module.HasTypes)
+ ReadTypes (module.Types);
+ if (module.HasExportedTypes)
+ Read (module.ExportedTypes);
+ if (module.HasCustomAttributes)
+ Read (module.CustomAttributes);
+
+ var assembly = module.Assembly;
+ if (assembly == null)
+ return;
+
+ if (assembly.HasCustomAttributes)
+ Read (assembly.CustomAttributes);
+ if (assembly.HasSecurityDeclarations)
+ Read (assembly.SecurityDeclarations);
+ }
+
+ static void ReadTypes (Collection<TypeDefinition> types)
+ {
+ for (int i = 0; i < types.Count; i++)
+ ReadType (types [i]);
+ }
+
+ static void ReadType (TypeDefinition type)
+ {
+ ReadGenericParameters (type);
+
+ if (type.HasInterfaces)
+ Read (type.Interfaces);
+
+ if (type.HasNestedTypes)
+ ReadTypes (type.NestedTypes);
+
+ if (type.HasLayoutInfo)
+ Read (type.ClassSize);
+
+ if (type.HasFields)
+ ReadFields (type);
+
+ if (type.HasMethods)
+ ReadMethods (type);
+
+ if (type.HasProperties)
+ ReadProperties (type);
+
+ if (type.HasEvents)
+ ReadEvents (type);
+
+ ReadSecurityDeclarations (type);
+ ReadCustomAttributes (type);
+ }
+
+ static void ReadGenericParameters (IGenericParameterProvider provider)
+ {
+ if (!provider.HasGenericParameters)
+ return;
+
+ var parameters = provider.GenericParameters;
+
+ for (int i = 0; i < parameters.Count; i++) {
+ var parameter = parameters [i];
+
+ if (parameter.HasConstraints)
+ Read (parameter.Constraints);
+
+ if (parameter.HasCustomAttributes)
+ Read (parameter.CustomAttributes);
+ }
+ }
+
+ static void ReadSecurityDeclarations (ISecurityDeclarationProvider provider)
+ {
+ if (provider.HasSecurityDeclarations)
+ Read (provider.SecurityDeclarations);
+ }
+
+ static void ReadCustomAttributes (ICustomAttributeProvider provider)
+ {
+ if (provider.HasCustomAttributes)
+ Read (provider.CustomAttributes);
+ }
+
+ static void ReadFields (TypeDefinition type)
+ {
+ var fields = type.Fields;
+
+ for (int i = 0; i < fields.Count; i++) {
+ var field = fields [i];
+
+ if (field.HasConstant)
+ Read (field.Constant);
+
+ if (field.HasLayoutInfo)
+ Read (field.Offset);
+
+ if (field.RVA > 0)
+ Read (field.InitialValue);
+
+ if (field.HasMarshalInfo)
+ Read (field.MarshalInfo);
+
+ ReadCustomAttributes (field);
+ }
+ }
+
+ static void ReadMethods (TypeDefinition type)
+ {
+ var methods = type.Methods;
+
+ for (int i = 0; i < methods.Count; i++) {
+ var method = methods [i];
+
+ ReadGenericParameters (method);
+
+ if (method.HasParameters)
+ ReadParameters (method);
+
+ if (method.HasOverrides)
+ Read (method.Overrides);
+
+ if (method.IsPInvokeImpl)
+ Read (method.PInvokeInfo);
+
+ ReadSecurityDeclarations (method);
+ ReadCustomAttributes (method);
+
+ var return_type = method.MethodReturnType;
+ if (return_type.HasConstant)
+ Read (return_type.Constant);
+
+ if (return_type.HasMarshalInfo)
+ Read (return_type.MarshalInfo);
+
+ ReadCustomAttributes (return_type);
+ }
+ }
+
+ static void ReadParameters (MethodDefinition method)
+ {
+ var parameters = method.Parameters;
+
+ for (int i = 0; i < parameters.Count; i++) {
+ var parameter = parameters [i];
+
+ if (parameter.HasConstant)
+ Read (parameter.Constant);
+
+ if (parameter.HasMarshalInfo)
+ Read (parameter.MarshalInfo);
+
+ ReadCustomAttributes (parameter);
+ }
+ }
+
+ static void ReadProperties (TypeDefinition type)
+ {
+ var properties = type.Properties;
+
+ for (int i = 0; i < properties.Count; i++) {
+ var property = properties [i];
+
+ Read (property.GetMethod);
+
+ if (property.HasConstant)
+ Read (property.Constant);
+
+ ReadCustomAttributes (property);
+ }
+ }
+
+ static void ReadEvents (TypeDefinition type)
+ {
+ var events = type.Events;
+
+ for (int i = 0; i < events.Count; i++) {
+ var @event = events [i];
+
+ Read (@event.AddMethod);
+
+ ReadCustomAttributes (@event);
+ }
+ }
+
+ static void Read (object collection)
+ {
+ }
+ }
+
+ sealed class DeferredModuleReader : ModuleReader {
+
+ public DeferredModuleReader (Image image)
+ : base (image, ReadingMode.Deferred)
+ {
+ }
+
+ protected override void ReadModule ()
+ {
+ this.module.Read (this.module, (module, reader) => {
+ ReadModuleManifest (reader);
+ return module;
+ });
+ }
+ }
+
+ sealed class MetadataReader : ByteBuffer {
+
+ readonly internal Image image;
+ readonly internal ModuleDefinition module;
+ readonly internal MetadataSystem metadata;
+
+ internal IGenericContext context;
+ internal CodeReader code;
+
+ uint Position {
+ get { return (uint) base.position; }
+ set { base.position = (int) value; }
+ }
+
+ public MetadataReader (ModuleDefinition module)
+ : base (module.Image.MetadataSection.Data)
+ {
+ this.image = module.Image;
+ this.module = module;
+ this.metadata = module.MetadataSystem;
+ this.code = CodeReader.CreateCodeReader (this);
+ }
+
+ int GetCodedIndexSize (CodedIndex index)
+ {
+ return image.GetCodedIndexSize (index);
+ }
+
+ uint ReadByIndexSize (int size)
+ {
+ if (size == 4)
+ return ReadUInt32 ();
+ else
+ return ReadUInt16 ();
+ }
+
+ byte [] ReadBlob ()
+ {
+ var blob_heap = image.BlobHeap;
+ if (blob_heap == null) {
+ position += 2;
+ return Empty<byte>.Array;
+ }
+
+ return blob_heap.Read (ReadBlobIndex ());
+ }
+
+ byte [] ReadBlob (uint signature)
+ {
+ var blob_heap = image.BlobHeap;
+ if (blob_heap == null)
+ return Empty<byte>.Array;
+
+ return blob_heap.Read (signature);
+ }
+
+ uint ReadBlobIndex ()
+ {
+ var blob_heap = image.BlobHeap;
+ return ReadByIndexSize (blob_heap != null ? blob_heap.IndexSize : 2);
+ }
+
+ string ReadString ()
+ {
+ return image.StringHeap.Read (ReadByIndexSize (image.StringHeap.IndexSize));
+ }
+
+ uint ReadStringIndex ()
+ {
+ return ReadByIndexSize (image.StringHeap.IndexSize);
+ }
+
+ uint ReadTableIndex (Table table)
+ {
+ return ReadByIndexSize (image.GetTableIndexSize (table));
+ }
+
+ MetadataToken ReadMetadataToken (CodedIndex index)
+ {
+ return index.GetMetadataToken (ReadByIndexSize (GetCodedIndexSize (index)));
+ }
+
+ int MoveTo (Table table)
+ {
+ var info = image.TableHeap [table];
+ if (info.Length != 0)
+ Position = info.Offset;
+
+ return (int) info.Length;
+ }
+
+ bool MoveTo (Table table, uint row)
+ {
+ var info = image.TableHeap [table];
+ var length = info.Length;
+ if (length == 0 || row > length)
+ return false;
+
+ Position = info.Offset + (info.RowSize * (row - 1));
+ return true;
+ }
+
+ public AssemblyNameDefinition ReadAssemblyNameDefinition ()
+ {
+ if (MoveTo (Table.Assembly) == 0)
+ return null;
+
+ var name = new AssemblyNameDefinition ();
+
+ name.HashAlgorithm = (AssemblyHashAlgorithm) ReadUInt32 ();
+
+ PopulateVersionAndFlags (name);
+
+ name.PublicKey = ReadBlob ();
+
+ PopulateNameAndCulture (name);
+
+ return name;
+ }
+
+ public ModuleDefinition Populate (ModuleDefinition module)
+ {
+ if (MoveTo (Table.Module) == 0)
+ return module;
+
+ Advance (2); // Generation
+
+ module.Name = ReadString ();
+ module.Mvid = image.GuidHeap.Read (ReadByIndexSize (image.GuidHeap.IndexSize));
+
+ return module;
+ }
+
+ public Collection<AssemblyNameReference> ReadAssemblyReferences ()
+ {
+ int length = MoveTo (Table.AssemblyRef);
+ var references = new Collection<AssemblyNameReference> (length);
+
+ for (uint i = 1; i <= length; i++) {
+ var reference = new AssemblyNameReference ();
+ reference.token = new MetadataToken (TokenType.AssemblyRef, i);
+
+ PopulateVersionAndFlags (reference);
+
+ reference.PublicKeyToken = ReadBlob ();
+
+ PopulateNameAndCulture (reference);
+
+ reference.Hash = ReadBlob ();
+
+ references.Add (reference);
+ }
+
+ return references;
+ }
+
+ public MethodDefinition ReadEntryPoint ()
+ {
+ if (module.Kind != ModuleKind.Console && module.Kind != ModuleKind.Windows)
+ return null;
+
+ var token = new MetadataToken (module.Image.EntryPointToken);
+
+ return GetMethodDefinition (token.RID);
+ }
+
+ public Collection<ModuleDefinition> ReadModules ()
+ {
+ var modules = new Collection<ModuleDefinition> (1);
+ modules.Add (this.module);
+
+ int length = MoveTo (Table.File);
+ for (uint i = 1; i <= length; i++) {
+ var attributes = (FileAttributes) ReadUInt32 ();
+ var name = ReadString ();
+ ReadBlobIndex ();
+
+ if (attributes != FileAttributes.ContainsMetaData)
+ continue;
+
+ var parameters = new ReaderParameters {
+ ReadingMode = module.ReadingMode,
+ SymbolReaderProvider = module.SymbolReaderProvider,
+ };
+
+ modules.Add (ModuleDefinition.ReadModule (
+ GetModuleFileName (name), parameters));
+ }
+
+ return modules;
+ }
+
+ string GetModuleFileName (string name)
+ {
+ if (module.FullyQualifiedName == null)
+ throw new NotSupportedException ();
+
+ var path = Path.GetDirectoryName (module.FullyQualifiedName);
+ return Path.Combine (path, name);
+ }
+
+ public Collection<ModuleReference> ReadModuleReferences ()
+ {
+ int length = MoveTo (Table.ModuleRef);
+ var references = new Collection<ModuleReference> (length);
+
+ for (uint i = 1; i <= length; i++) {
+ var reference = new ModuleReference (ReadString ());
+ reference.token = new MetadataToken (TokenType.ModuleRef, i);
+
+ references.Add (reference);
+ }
+
+ return references;
+ }
+
+ public bool HasFileResource ()
+ {
+ int length = MoveTo (Table.File);
+ if (length == 0)
+ return false;
+
+ for (uint i = 1; i <= length; i++)
+ if (ReadFileRecord (i).Col1 == FileAttributes.ContainsNoMetaData)
+ return true;
+
+ return false;
+ }
+
+ public Collection<Resource> ReadResources ()
+ {
+ int length = MoveTo (Table.ManifestResource);
+ var resources = new Collection<Resource> (length);
+
+ for (int i = 1; i <= length; i++) {
+ var offset = ReadUInt32 ();
+ var flags = (ManifestResourceAttributes) ReadUInt32 ();
+ var name = ReadString ();
+ var implementation = ReadMetadataToken (CodedIndex.Implementation);
+
+ Resource resource;
+
+ if (implementation.RID == 0) {
+ resource = new EmbeddedResource (name, flags, offset, this);
+ } else if (implementation.TokenType == TokenType.AssemblyRef) {
+ resource = new AssemblyLinkedResource (name, flags) {
+ Assembly = (AssemblyNameReference) GetTypeReferenceScope (implementation),
+ };
+ } else if (implementation.TokenType == TokenType.File) {
+ var file_record = ReadFileRecord (implementation.RID);
+
+ resource = new LinkedResource (name, flags) {
+ File = file_record.Col2,
+ hash = ReadBlob (file_record.Col3)
+ };
+ } else
+ throw new NotSupportedException ();
+
+ resources.Add (resource);
+ }
+
+ return resources;
+ }
+
+ Row<FileAttributes, string, uint> ReadFileRecord (uint rid)
+ {
+ var position = this.position;
+
+ if (!MoveTo (Table.File, rid))
+ throw new ArgumentException ();
+
+ var record = new Row<FileAttributes, string, uint> (
+ (FileAttributes) ReadUInt32 (),
+ ReadString (),
+ ReadBlobIndex ());
+
+ this.position = position;
+
+ return record;
+ }
+
+ public MemoryStream GetManagedResourceStream (uint offset)
+ {
+ var rva = image.Resources.VirtualAddress;
+ var section = image.GetSectionAtVirtualAddress (rva);
+ var position = (rva - section.VirtualAddress) + offset;
+ var buffer = section.Data;
+
+ var length = buffer [position]
+ | (buffer [position + 1] << 8)
+ | (buffer [position + 2] << 16)
+ | (buffer [position + 3] << 24);
+
+ return new MemoryStream (buffer, (int) position + 4, length);
+ }
+
+ void PopulateVersionAndFlags (AssemblyNameReference name)
+ {
+ name.Version = new Version (
+ ReadUInt16 (),
+ ReadUInt16 (),
+ ReadUInt16 (),
+ ReadUInt16 ());
+
+ name.Attributes = (AssemblyAttributes) ReadUInt32 ();
+ }
+
+ void PopulateNameAndCulture (AssemblyNameReference name)
+ {
+ name.Name = ReadString ();
+ name.Culture = ReadString ();
+ }
+
+ public TypeDefinitionCollection ReadTypes ()
+ {
+ InitializeTypeDefinitions ();
+ var mtypes = metadata.Types;
+ var type_count = mtypes.Length - metadata.NestedTypes.Count;
+ var types = new TypeDefinitionCollection (module, type_count);
+
+ for (int i = 0; i < mtypes.Length; i++) {
+ var type = mtypes [i];
+ if (IsNested (type.Attributes))
+ continue;
+
+ types.Add (type);
+ }
+
+ return types;
+ }
+
+ void InitializeTypeDefinitions ()
+ {
+ if (metadata.Types != null)
+ return;
+
+ InitializeNestedTypes ();
+ InitializeFields ();
+ InitializeMethods ();
+
+ int length = MoveTo (Table.TypeDef);
+ var types = metadata.Types = new TypeDefinition [length];
+
+ for (uint i = 0; i < length; i++) {
+ if (types [i] != null)
+ continue;
+
+ types [i] = ReadType (i + 1);
+ }
+ }
+
+ static bool IsNested (TypeAttributes attributes)
+ {
+ switch (attributes & TypeAttributes.VisibilityMask) {
+ case TypeAttributes.NestedAssembly:
+ case TypeAttributes.NestedFamANDAssem:
+ case TypeAttributes.NestedFamily:
+ case TypeAttributes.NestedFamORAssem:
+ case TypeAttributes.NestedPrivate:
+ case TypeAttributes.NestedPublic:
+ return true;
+ default:
+ return false;
+ }
+ }
+
+ public bool HasNestedTypes (TypeDefinition type)
+ {
+ uint [] mapping;
+ InitializeNestedTypes ();
+
+ if (!metadata.TryGetNestedTypeMapping (type, out mapping))
+ return false;
+
+ return mapping.Length > 0;
+ }
+
+ public Collection<TypeDefinition> ReadNestedTypes (TypeDefinition type)
+ {
+ InitializeNestedTypes ();
+ uint [] mapping;
+ if (!metadata.TryGetNestedTypeMapping (type, out mapping))
+ return new MemberDefinitionCollection<TypeDefinition> (type);
+
+ var nested_types = new MemberDefinitionCollection<TypeDefinition> (type, mapping.Length);
+
+ for (int i = 0; i < mapping.Length; i++)
+ nested_types.Add (GetTypeDefinition (mapping [i]));
+
+ metadata.RemoveNestedTypeMapping (type);
+
+ return nested_types;
+ }
+
+ void InitializeNestedTypes ()
+ {
+ if (metadata.NestedTypes != null)
+ return;
+
+ var length = MoveTo (Table.NestedClass);
+
+ metadata.NestedTypes = new Dictionary<uint, uint []> (length);
+ metadata.ReverseNestedTypes = new Dictionary<uint, uint> (length);
+
+ if (length == 0)
+ return;
+
+ for (int i = 1; i <= length; i++) {
+ var nested = ReadTableIndex (Table.TypeDef);
+ var declaring = ReadTableIndex (Table.TypeDef);
+
+ AddNestedMapping (declaring, nested);
+ }
+ }
+
+ void AddNestedMapping (uint declaring, uint nested)
+ {
+ metadata.SetNestedTypeMapping (declaring, AddMapping (metadata.NestedTypes, declaring, nested));
+ metadata.SetReverseNestedTypeMapping (nested, declaring);
+ }
+
+ static TValue [] AddMapping<TKey, TValue> (Dictionary<TKey, TValue []> cache, TKey key, TValue value)
+ {
+ TValue [] mapped;
+ if (!cache.TryGetValue (key, out mapped)) {
+ mapped = new [] { value };
+ return mapped;
+ }
+
+ var new_mapped = new TValue [mapped.Length + 1];
+ Array.Copy (mapped, new_mapped, mapped.Length);
+ new_mapped [mapped.Length] = value;
+ return new_mapped;
+ }
+
+ TypeDefinition ReadType (uint rid)
+ {
+ if (!MoveTo (Table.TypeDef, rid))
+ return null;
+
+ var attributes = (TypeAttributes) ReadUInt32 ();
+ var name = ReadString ();
+ var @namespace = ReadString ();
+ var type = new TypeDefinition (@namespace, name, attributes);
+ type.token = new MetadataToken (TokenType.TypeDef, rid);
+ type.scope = module;
+ type.module = module;
+
+ metadata.AddTypeDefinition (type);
+
+ this.context = type;
+
+ type.BaseType = GetTypeDefOrRef (ReadMetadataToken (CodedIndex.TypeDefOrRef));
+
+ type.fields_range = ReadFieldsRange (rid);
+ type.methods_range = ReadMethodsRange (rid);
+
+ if (IsNested (attributes))
+ type.DeclaringType = GetNestedTypeDeclaringType (type);
+
+ return type;
+ }
+
+ TypeDefinition GetNestedTypeDeclaringType (TypeDefinition type)
+ {
+ uint declaring_rid;
+ if (!metadata.TryGetReverseNestedTypeMapping (type, out declaring_rid))
+ return null;
+
+ metadata.RemoveReverseNestedTypeMapping (type);
+ return GetTypeDefinition (declaring_rid);
+ }
+
+ Range ReadFieldsRange (uint type_index)
+ {
+ return ReadListRange (type_index, Table.TypeDef, Table.Field);
+ }
+
+ Range ReadMethodsRange (uint type_index)
+ {
+ return ReadListRange (type_index, Table.TypeDef, Table.Method);
+ }
+
+ Range ReadListRange (uint current_index, Table current, Table target)
+ {
+ var list = new Range ();
+
+ list.Start = ReadTableIndex (target);
+
+ uint next_index;
+ var current_table = image.TableHeap [current];
+
+ if (current_index == current_table.Length)
+ next_index = image.TableHeap [target].Length + 1;
+ else {
+ var position = Position;
+ Position += (uint) (current_table.RowSize - image.GetTableIndexSize (target));
+ next_index = ReadTableIndex (target);
+ Position = position;
+ }
+
+ list.Length = next_index - list.Start;
+
+ return list;
+ }
+
+ public Row<short, int> ReadTypeLayout (TypeDefinition type)
+ {
+ InitializeTypeLayouts ();
+ Row<ushort, uint> class_layout;
+ var rid = type.token.RID;
+ if (!metadata.ClassLayouts.TryGetValue (rid, out class_layout))
+ return new Row<short, int> (Mixin.NoDataMarker, Mixin.NoDataMarker);
+
+ type.PackingSize = (short) class_layout.Col1;
+ type.ClassSize = (int) class_layout.Col2;
+
+ metadata.ClassLayouts.Remove (rid);
+
+ return new Row<short, int> ((short) class_layout.Col1, (int) class_layout.Col2);
+ }
+
+ void InitializeTypeLayouts ()
+ {
+ if (metadata.ClassLayouts != null)
+ return;
+
+ int length = MoveTo (Table.ClassLayout);
+
+ var class_layouts = metadata.ClassLayouts = new Dictionary<uint, Row<ushort, uint>> (length);
+
+ for (uint i = 0; i < length; i++) {
+ var packing_size = ReadUInt16 ();
+ var class_size = ReadUInt32 ();
+
+ var parent = ReadTableIndex (Table.TypeDef);
+
+ class_layouts.Add (parent, new Row<ushort, uint> (packing_size, class_size));
+ }
+ }
+
+ public TypeReference GetTypeDefOrRef (MetadataToken token)
+ {
+ return (TypeReference) LookupToken (token);
+ }
+
+ TypeDefinition GetTypeDefinition (uint rid)
+ {
+ InitializeTypeDefinitions ();
+
+ var type = metadata.GetTypeDefinition (rid);
+ if (type != null)
+ return type;
+
+ return ReadTypeDefinition (rid);
+ }
+
+ TypeDefinition ReadTypeDefinition (uint rid)
+ {
+ if (!MoveTo (Table.TypeDef, rid))
+ return null;
+
+ return ReadType (rid);
+ }
+
+ void InitializeTypeReferences ()
+ {
+ if (metadata.TypeReferences != null)
+ return;
+
+ metadata.TypeReferences = new TypeReference [image.GetTableLength (Table.TypeRef)];
+ }
+
+ public TypeReference GetTypeReference (string scope, string full_name)
+ {
+ InitializeTypeReferences ();
+
+ var length = metadata.TypeReferences.Length;
+
+ for (uint i = 1; i <= length; i++) {
+ var type = GetTypeReference (i);
+
+ if (type.FullName != full_name)
+ continue;
+
+ if (string.IsNullOrEmpty (scope))
+ return type;
+
+ if (type.Scope.Name == scope)
+ return type;
+ }
+
+ return null;
+ }
+
+ TypeReference GetTypeReference (uint rid)
+ {
+ InitializeTypeReferences ();
+
+ var type = metadata.GetTypeReference (rid);
+ if (type != null)
+ return type;
+
+ type = ReadTypeReference (rid);
+ if (type != null)
+ metadata.AddTypeReference (type);
+
+ return type;
+ }
+
+ TypeReference ReadTypeReference (uint rid)
+ {
+ if (!MoveTo (Table.TypeRef, rid))
+ return null;
+
+ TypeReference declaring_type = null;
+ IMetadataScope scope;
+
+ var scope_token = ReadMetadataToken (CodedIndex.ResolutionScope);
+
+ if (scope_token.TokenType == TokenType.TypeRef) {
+ declaring_type = GetTypeDefOrRef (scope_token);
+
+ scope = declaring_type != null
+ ? declaring_type.Scope
+ : module;
+ } else
+ scope = GetTypeReferenceScope (scope_token);
+
+ var name = ReadString ();
+ var @namespace = ReadString ();
+
+ var type = new TypeReference (
+ @namespace,
+ name,
+ module,
+ scope);
+
+ type.DeclaringType = declaring_type;
+ type.token = new MetadataToken (TokenType.TypeRef, rid);
+
+ MetadataSystem.TryProcessPrimitiveType (type);
+
+ return type;
+ }
+
+ IMetadataScope GetTypeReferenceScope (MetadataToken scope)
+ {
+ switch (scope.TokenType) {
+ // FIXME: both assembly refs and module refs should be in their
+ // own arrays, in case of someone modify the collections before
+ // this code is called
+ case TokenType.AssemblyRef:
+ return module.AssemblyReferences [(int) scope.RID - 1];
+ case TokenType.ModuleRef:
+ return module.ModuleReferences [(int) scope.RID - 1];
+ case TokenType.Module:
+ return module;
+ default:
+ throw new NotSupportedException ();
+ }
+ }
+
+ public IEnumerable<TypeReference> GetTypeReferences ()
+ {
+ InitializeTypeReferences ();
+
+ var length = image.GetTableLength (Table.TypeRef);
+
+ var type_references = new TypeReference [length];
+
+ for (uint i = 1; i <= length; i++)
+ type_references [i - 1] = GetTypeReference (i);
+
+ return type_references;
+ }
+
+ TypeReference GetTypeSpecification (uint rid)
+ {
+ if (!MoveTo (Table.TypeSpec, rid))
+ return null;
+
+ var reader = ReadSignature (ReadBlobIndex ());
+ return reader.ReadTypeSignature ();
+ }
+
+ SignatureReader ReadSignature (uint signature)
+ {
+ return new SignatureReader (signature, this);
+ }
+
+ public bool HasInterfaces (TypeDefinition type)
+ {
+ InitializeInterfaces ();
+ MetadataToken [] mapping;
+
+ return metadata.TryGetInterfaceMapping (type, out mapping);
+ }
+
+ public Collection<TypeReference> ReadInterfaces (TypeDefinition type)
+ {
+ InitializeInterfaces ();
+ MetadataToken [] mapping;
+
+ if (!metadata.TryGetInterfaceMapping (type, out mapping))
+ return new Collection<TypeReference> ();
+
+ var interfaces = new Collection<TypeReference> (mapping.Length);
+
+ this.context = type;
+
+ for (int i = 0; i < mapping.Length; i++)
+ interfaces.Add (GetTypeDefOrRef (mapping [i]));
+
+ metadata.RemoveInterfaceMapping (type);
+
+ return interfaces;
+ }
+
+ void InitializeInterfaces ()
+ {
+ if (metadata.Interfaces != null)
+ return;
+
+ int length = MoveTo (Table.InterfaceImpl);
+
+ metadata.Interfaces = new Dictionary<uint, MetadataToken []> (length);
+
+ for (int i = 0; i < length; i++) {
+ var type = ReadTableIndex (Table.TypeDef);
+ var @interface = ReadMetadataToken (CodedIndex.TypeDefOrRef);
+
+ AddInterfaceMapping (type, @interface);
+ }
+ }
+
+ void AddInterfaceMapping (uint type, MetadataToken @interface)
+ {
+ metadata.SetInterfaceMapping (type, AddMapping (metadata.Interfaces, type, @interface));
+ }
+
+ public Collection<FieldDefinition> ReadFields (TypeDefinition type)
+ {
+ var fields_range = type.fields_range;
+ if (fields_range.Length == 0)
+ return new MemberDefinitionCollection<FieldDefinition> (type);
+
+ var fields = new MemberDefinitionCollection<FieldDefinition> (type, (int) fields_range.Length);
+ this.context = type;
+
+ MoveTo (Table.Field, fields_range.Start);
+ for (uint i = 0; i < fields_range.Length; i++)
+ fields.Add (ReadField (fields_range.Start + i));
+
+ return fields;
+ }
+
+ FieldDefinition ReadField (uint field_rid)
+ {
+ var attributes = (FieldAttributes) ReadUInt16 ();
+ var name = ReadString ();
+ var signature = ReadBlobIndex ();
+
+ var field = new FieldDefinition (name, attributes, ReadFieldType (signature));
+ field.token = new MetadataToken (TokenType.Field, field_rid);
+ metadata.AddFieldDefinition (field);
+
+ return field;
+ }
+
+ void InitializeFields ()
+ {
+ if (metadata.Fields != null)
+ return;
+
+ metadata.Fields = new FieldDefinition [image.GetTableLength (Table.Field)];
+ }
+
+ TypeReference ReadFieldType (uint signature)
+ {
+ var reader = ReadSignature (signature);
+
+ const byte field_sig = 0x6;
+
+ if (reader.ReadByte () != field_sig)
+ throw new NotSupportedException ();
+
+ return reader.ReadTypeSignature ();
+ }
+
+ public int ReadFieldRVA (FieldDefinition field)
+ {
+ InitializeFieldRVAs ();
+ var rid = field.token.RID;
+
+ RVA rva;
+ if (!metadata.FieldRVAs.TryGetValue (rid, out rva))
+ return 0;
+
+ var size = GetFieldTypeSize (field.FieldType);
+
+ if (size == 0 || rva == 0)
+ return 0;
+
+ metadata.FieldRVAs.Remove (rid);
+
+ field.InitialValue = GetFieldInitializeValue (size, rva);
+
+ return (int) rva;
+ }
+
+ byte [] GetFieldInitializeValue (int size, RVA rva)
+ {
+ var section = image.GetSectionAtVirtualAddress (rva);
+ if (section == null)
+ return Empty<byte>.Array;
+
+ var value = new byte [size];
+ Buffer.BlockCopy (section.Data, (int) (rva - section.VirtualAddress), value, 0, size);
+ return value;
+ }
+
+ static int GetFieldTypeSize (TypeReference type)
+ {
+ int size = 0;
+
+ switch (type.etype) {
+ case ElementType.Boolean:
+ case ElementType.U1:
+ case ElementType.I1:
+ size = 1;
+ break;
+ case ElementType.U2:
+ case ElementType.I2:
+ case ElementType.Char:
+ size = 2;
+ break;
+ case ElementType.U4:
+ case ElementType.I4:
+ case ElementType.R4:
+ size = 4;
+ break;
+ case ElementType.U8:
+ case ElementType.I8:
+ case ElementType.R8:
+ size = 8;
+ break;
+ case ElementType.Ptr:
+ case ElementType.FnPtr:
+ size = IntPtr.Size;
+ break;
+ case ElementType.CModOpt:
+ case ElementType.CModReqD:
+ return GetFieldTypeSize (((IModifierType) type).ElementType);
+ default:
+ var field_type = type.CheckedResolve ();
+ if (field_type.HasLayoutInfo)
+ size = field_type.ClassSize;
+
+ break;
+ }
+
+ return size;
+ }
+
+ void InitializeFieldRVAs ()
+ {
+ if (metadata.FieldRVAs != null)
+ return;
+
+ int length = MoveTo (Table.FieldRVA);
+
+ var field_rvas = metadata.FieldRVAs = new Dictionary<uint, uint> (length);
+
+ for (int i = 0; i < length; i++) {
+ var rva = ReadUInt32 ();
+ var field = ReadTableIndex (Table.Field);
+
+ field_rvas.Add (field, rva);
+ }
+ }
+
+ public int ReadFieldLayout (FieldDefinition field)
+ {
+ InitializeFieldLayouts ();
+ var rid = field.token.RID;
+ uint offset;
+ if (!metadata.FieldLayouts.TryGetValue (rid, out offset))
+ return Mixin.NoDataMarker;
+
+ metadata.FieldLayouts.Remove (rid);
+
+ return (int) offset;
+ }
+
+ void InitializeFieldLayouts ()
+ {
+ if (metadata.FieldLayouts != null)
+ return;
+
+ int length = MoveTo (Table.FieldLayout);
+
+ var field_layouts = metadata.FieldLayouts = new Dictionary<uint, uint> (length);
+
+ for (int i = 0; i < length; i++) {
+ var offset = ReadUInt32 ();
+ var field = ReadTableIndex (Table.Field);
+
+ field_layouts.Add (field, offset);
+ }
+ }
+
+ public bool HasEvents (TypeDefinition type)
+ {
+ InitializeEvents ();
+
+ Range range;
+ if (!metadata.TryGetEventsRange (type, out range))
+ return false;
+
+ return range.Length > 0;
+ }
+
+ public Collection<EventDefinition> ReadEvents (TypeDefinition type)
+ {
+ InitializeEvents ();
+ Range range;
+
+ if (!metadata.TryGetEventsRange (type, out range))
+ return new MemberDefinitionCollection<EventDefinition> (type);
+
+ var events = new MemberDefinitionCollection<EventDefinition> (type, (int) range.Length);
+
+ metadata.RemoveEventsRange (type);
+
+ if (range.Length == 0 || !MoveTo (Table.Event, range.Start))
+ return events;
+
+ this.context = type;
+
+ for (uint i = 0; i < range.Length; i++)
+ events.Add (ReadEvent (range.Start + i));
+
+ return events;
+ }
+
+ EventDefinition ReadEvent (uint event_rid)
+ {
+ var attributes = (EventAttributes) ReadUInt16 ();
+ var name = ReadString ();
+ var event_type = GetTypeDefOrRef (ReadMetadataToken (CodedIndex.TypeDefOrRef));
+
+ var @event = new EventDefinition (name, attributes, event_type);
+ @event.token = new MetadataToken (TokenType.Event, event_rid);
+ return @event;
+ }
+
+ void InitializeEvents ()
+ {
+ if (metadata.Events != null)
+ return;
+
+ int length = MoveTo (Table.EventMap);
+
+ metadata.Events = new Dictionary<uint, Range> (length);
+
+ for (uint i = 1; i <= length; i++) {
+ var type_rid = ReadTableIndex (Table.TypeDef);
+ Range events_range = ReadEventsRange (i);
+ metadata.AddEventsRange (type_rid, events_range);
+ }
+ }
+
+ Range ReadEventsRange (uint rid)
+ {
+ return ReadListRange (rid, Table.EventMap, Table.Event);
+ }
+
+ public bool HasProperties (TypeDefinition type)
+ {
+ InitializeProperties ();
+
+ Range range;
+ if (!metadata.TryGetPropertiesRange (type, out range))
+ return false;
+
+ return range.Length > 0;
+ }
+
+ public Collection<PropertyDefinition> ReadProperties (TypeDefinition type)
+ {
+ InitializeProperties ();
+
+ Range range;
+
+ if (!metadata.TryGetPropertiesRange (type, out range))
+ return new MemberDefinitionCollection<PropertyDefinition> (type);
+
+ metadata.RemovePropertiesRange (type);
+
+ var properties = new MemberDefinitionCollection<PropertyDefinition> (type, (int) range.Length);
+
+ if (range.Length == 0 || !MoveTo (Table.Property, range.Start))
+ return properties;
+
+ this.context = type;
+
+ for (uint i = 0; i < range.Length; i++)
+ properties.Add (ReadProperty (range.Start + i));
+
+ return properties;
+ }
+
+ PropertyDefinition ReadProperty (uint property_rid)
+ {
+ var attributes = (PropertyAttributes) ReadUInt16 ();
+ var name = ReadString ();
+ var signature = ReadBlobIndex ();
+
+ var reader = ReadSignature (signature);
+ const byte property_signature = 0x8;
+
+ var calling_convention = reader.ReadByte ();
+
+ if ((calling_convention & property_signature) == 0)
+ throw new NotSupportedException ();
+
+ var has_this = (calling_convention & 0x20) != 0;
+
+ reader.ReadCompressedUInt32 (); // count
+
+ var property = new PropertyDefinition (name, attributes, reader.ReadTypeSignature ());
+ property.HasThis = has_this;
+ property.token = new MetadataToken (TokenType.Property, property_rid);
+
+ return property;
+ }
+
+ void InitializeProperties ()
+ {
+ if (metadata.Properties != null)
+ return;
+
+ int length = MoveTo (Table.PropertyMap);
+
+ metadata.Properties = new Dictionary<uint, Range> (length);
+
+ for (uint i = 1; i <= length; i++) {
+ var type_rid = ReadTableIndex (Table.TypeDef);
+ var properties_range = ReadPropertiesRange (i);
+ metadata.AddPropertiesRange (type_rid, properties_range);
+ }
+ }
+
+ Range ReadPropertiesRange (uint rid)
+ {
+ return ReadListRange (rid, Table.PropertyMap, Table.Property);
+ }
+
+ public MethodSemanticsAttributes ReadMethodSemantics (MethodDefinition method)
+ {
+ InitializeMethodSemantics ();
+ Row<MethodSemanticsAttributes, MetadataToken> row;
+ if (!metadata.Semantics.TryGetValue (method.token.RID, out row))
+ return MethodSemanticsAttributes.None;
+
+ method.SemanticsAttributes = row.Col1;
+ var type = method.DeclaringType;
+
+ switch (row.Col1) {
+ case MethodSemanticsAttributes.AddOn:
+ GetEvent (type, row.Col2).add_method = method;
+ break;
+ case MethodSemanticsAttributes.Fire:
+ GetEvent (type, row.Col2).invoke_method = method;
+ break;
+ case MethodSemanticsAttributes.RemoveOn:
+ GetEvent (type, row.Col2).remove_method = method;
+ break;
+ case MethodSemanticsAttributes.Getter:
+ GetProperty (type, row.Col2).get_method = method;
+ break;
+ case MethodSemanticsAttributes.Setter:
+ GetProperty (type, row.Col2).set_method = method;
+ break;
+ case MethodSemanticsAttributes.Other:
+ switch (row.Col2.TokenType) {
+ case TokenType.Event: {
+ var @event = GetEvent (type, row.Col2);
+ if (@event.other_methods == null)
+ @event.other_methods = new Collection<MethodDefinition> ();
+
+ @event.other_methods.Add (method);
+ break;
+ }
+ case TokenType.Property: {
+ var property = GetProperty (type, row.Col2);
+ if (property.other_methods == null)
+ property.other_methods = new Collection<MethodDefinition> ();
+
+ property.other_methods.Add (method);
+
+ break;
+ }
+ default:
+ throw new NotSupportedException ();
+ }
+ break;
+ default:
+ throw new NotSupportedException ();
+ }
+
+ metadata.Semantics.Remove (method.token.RID);
+
+ return row.Col1;
+ }
+
+ static EventDefinition GetEvent (TypeDefinition type, MetadataToken token)
+ {
+ if (token.TokenType != TokenType.Event)
+ throw new ArgumentException ();
+
+ return GetMember (type.Events, token);
+ }
+
+ static PropertyDefinition GetProperty (TypeDefinition type, MetadataToken token)
+ {
+ if (token.TokenType != TokenType.Property)
+ throw new ArgumentException ();
+
+ return GetMember (type.Properties, token);
+ }
+
+ static TMember GetMember<TMember> (Collection<TMember> members, MetadataToken token) where TMember : IMemberDefinition
+ {
+ for (int i = 0; i < members.Count; i++) {
+ var member = members [i];
+ if (member.MetadataToken == token)
+ return member;
+ }
+
+ throw new ArgumentException ();
+ }
+
+ void InitializeMethodSemantics ()
+ {
+ if (metadata.Semantics != null)
+ return;
+
+ int length = MoveTo (Table.MethodSemantics);
+
+ var semantics = metadata.Semantics = new Dictionary<uint, Row<MethodSemanticsAttributes, MetadataToken>> (0);
+
+ for (uint i = 0; i < length; i++) {
+ var attributes = (MethodSemanticsAttributes) ReadUInt16 ();
+ var method_rid = ReadTableIndex (Table.Method);
+ var association = ReadMetadataToken (CodedIndex.HasSemantics);
+
+ semantics [method_rid] = new Row<MethodSemanticsAttributes, MetadataToken> (attributes, association);
+ }
+ }
+
+ public PropertyDefinition ReadMethods (PropertyDefinition property)
+ {
+ ReadAllSemantics (property.DeclaringType);
+ return property;
+ }
+
+ public EventDefinition ReadMethods (EventDefinition @event)
+ {
+ ReadAllSemantics (@event.DeclaringType);
+ return @event;
+ }
+
+ static void ReadAllSemantics (TypeDefinition type)
+ {
+ var methods = type.Methods;
+ for (int i = 0; i < methods.Count; i++)
+ methods [i].ReadSemantics ();
+ }
+
+ Range ReadParametersRange (uint method_rid)
+ {
+ return ReadListRange (method_rid, Table.Method, Table.Param);
+ }
+
+ public Collection<MethodDefinition> ReadMethods (TypeDefinition type)
+ {
+ var methods_range = type.methods_range;
+ if (methods_range.Length == 0)
+ return new MemberDefinitionCollection<MethodDefinition> (type);
+
+ var methods = new MemberDefinitionCollection<MethodDefinition> (type, (int) methods_range.Length);
+
+ MoveTo (Table.Method, methods_range.Start);
+ for (uint i = 0; i < methods_range.Length; i++)
+ ReadMethod (methods_range.Start + i, methods);
+
+ return methods;
+ }
+
+ void InitializeMethods ()
+ {
+ if (metadata.Methods != null)
+ return;
+
+ metadata.Methods = new MethodDefinition [image.GetTableLength (Table.Method)];
+ }
+
+ void ReadMethod (uint method_rid, Collection<MethodDefinition> methods)
+ {
+ var method = new MethodDefinition ();
+ method.rva = ReadUInt32 ();
+ method.ImplAttributes = (MethodImplAttributes) ReadUInt16 ();
+ method.Attributes = (MethodAttributes) ReadUInt16 ();
+ method.Name = ReadString ();
+ method.token = new MetadataToken (TokenType.Method, method_rid);
+
+ methods.Add (method); // attach method
+
+ var signature = ReadBlobIndex ();
+ var param_range = ReadParametersRange (method_rid);
+
+ this.context = method;
+
+ ReadMethodSignature (signature, method);
+ metadata.AddMethodDefinition (method);
+
+ if (param_range.Length == 0)
+ return;
+
+ var position = base.position;
+ ReadParameters (method, param_range);
+ base.position = position;
+ }
+
+ void ReadParameters (MethodDefinition method, Range param_range)
+ {
+ MoveTo (Table.Param, param_range.Start);
+ for (uint i = 0; i < param_range.Length; i++) {
+ var attributes = (ParameterAttributes) ReadUInt16 ();
+ var sequence = ReadUInt16 ();
+ var name = ReadString ();
+
+ var parameter = sequence == 0
+ ? method.MethodReturnType.Parameter
+ : method.Parameters [sequence - 1];
+
+ parameter.token = new MetadataToken (TokenType.Param, param_range.Start + i);
+ parameter.Name = name;
+ parameter.Attributes = attributes;
+ }
+ }
+
+ void ReadMethodSignature (uint signature, IMethodSignature method)
+ {
+ var reader = ReadSignature (signature);
+ reader.ReadMethodSignature (method);
+ }
+
+ public PInvokeInfo ReadPInvokeInfo (MethodDefinition method)
+ {
+ InitializePInvokes ();
+ Row<PInvokeAttributes, uint, uint> row;
+
+ var rid = method.token.RID;
+
+ if (!metadata.PInvokes.TryGetValue (rid, out row))
+ return null;
+
+ metadata.PInvokes.Remove (rid);
+
+ return new PInvokeInfo (
+ row.Col1,
+ image.StringHeap.Read (row.Col2),
+ module.ModuleReferences [(int) row.Col3 - 1]);
+ }
+
+ void InitializePInvokes ()
+ {
+ if (metadata.PInvokes != null)
+ return;
+
+ int length = MoveTo (Table.ImplMap);
+
+ var pinvokes = metadata.PInvokes = new Dictionary<uint, Row<PInvokeAttributes, uint, uint>> (length);
+
+ for (int i = 1; i <= length; i++) {
+ var attributes = (PInvokeAttributes) ReadUInt16 ();
+ var method = ReadMetadataToken (CodedIndex.MemberForwarded);
+ var name = ReadStringIndex ();
+ var scope = ReadTableIndex (Table.File);
+
+ if (method.TokenType != TokenType.Method)
+ continue;
+
+ pinvokes.Add (method.RID, new Row<PInvokeAttributes, uint, uint> (attributes, name, scope));
+ }
+ }
+
+ public bool HasGenericParameters (IGenericParameterProvider provider)
+ {
+ InitializeGenericParameters ();
+
+ Range range;
+ if (!metadata.TryGetGenericParameterRange (provider, out range))
+ return false;
+
+ return range.Length > 0;
+ }
+
+ public Collection<GenericParameter> ReadGenericParameters (IGenericParameterProvider provider)
+ {
+ InitializeGenericParameters ();
+
+ Range range;
+ if (!metadata.TryGetGenericParameterRange (provider, out range)
+ || !MoveTo (Table.GenericParam, range.Start))
+ return new Collection<GenericParameter> ();
+
+ metadata.RemoveGenericParameterRange (provider);
+
+ var generic_parameters = new Collection<GenericParameter> ((int) range.Length);
+
+ for (uint i = 0; i < range.Length; i++) {
+ ReadUInt16 (); // index
+ var flags = (GenericParameterAttributes) ReadUInt16 ();
+ ReadMetadataToken (CodedIndex.TypeOrMethodDef);
+ var name = ReadString ();
+
+ var parameter = new GenericParameter (name, provider);
+ parameter.token = new MetadataToken (TokenType.GenericParam, range.Start + i);
+ parameter.Attributes = flags;
+
+ generic_parameters.Add (parameter);
+ }
+
+ return generic_parameters;
+ }
+
+ void InitializeGenericParameters ()
+ {
+ if (metadata.GenericParameters != null)
+ return;
+
+ metadata.GenericParameters = InitializeRanges (
+ Table.GenericParam, () => {
+ Advance (4);
+ var next = ReadMetadataToken (CodedIndex.TypeOrMethodDef);
+ ReadStringIndex ();
+ return next;
+ });
+ }
+
+ Dictionary<MetadataToken, Range> InitializeRanges (Table table, Func<MetadataToken> get_next)
+ {
+ int length = MoveTo (table);
+ var ranges = new Dictionary<MetadataToken, Range> (length);
+
+ if (length == 0)
+ return ranges;
+
+ MetadataToken owner = MetadataToken.Zero;
+ Range range = new Range (1, 0);
+
+ for (uint i = 1; i <= length; i++) {
+ var next = get_next ();
+
+ if (i == 1) {
+ owner = next;
+ range.Length++;
+ } else if (next != owner) {
+ if (owner.RID != 0)
+ ranges.Add (owner, range);
+ range = new Range (i, 1);
+ owner = next;
+ } else
+ range.Length++;
+ }
+
+ if (owner != MetadataToken.Zero)
+ ranges.Add (owner, range);
+
+ return ranges;
+ }
+
+ public bool HasGenericConstraints (GenericParameter generic_parameter)
+ {
+ InitializeGenericConstraints ();
+
+ MetadataToken [] mapping;
+ if (!metadata.TryGetGenericConstraintMapping (generic_parameter, out mapping))
+ return false;
+
+ return mapping.Length > 0;
+ }
+
+ public Collection<TypeReference> ReadGenericConstraints (GenericParameter generic_parameter)
+ {
+ InitializeGenericConstraints ();
+
+ MetadataToken [] mapping;
+ if (!metadata.TryGetGenericConstraintMapping (generic_parameter, out mapping))
+ return new Collection<TypeReference> ();
+
+ var constraints = new Collection<TypeReference> (mapping.Length);
+
+ this.context = (IGenericContext) generic_parameter.Owner;
+
+ for (int i = 0; i < mapping.Length; i++)
+ constraints.Add (GetTypeDefOrRef (mapping [i]));
+
+ metadata.RemoveGenericConstraintMapping (generic_parameter);
+
+ return constraints;
+ }
+
+ void InitializeGenericConstraints ()
+ {
+ if (metadata.GenericConstraints != null)
+ return;
+
+ var length = MoveTo (Table.GenericParamConstraint);
+
+ metadata.GenericConstraints = new Dictionary<uint, MetadataToken []> (length);
+
+ for (int i = 1; i <= length; i++)
+ AddGenericConstraintMapping (
+ ReadTableIndex (Table.GenericParam),
+ ReadMetadataToken (CodedIndex.TypeDefOrRef));
+ }
+
+ void AddGenericConstraintMapping (uint generic_parameter, MetadataToken constraint)
+ {
+ metadata.SetGenericConstraintMapping (
+ generic_parameter,
+ AddMapping (metadata.GenericConstraints, generic_parameter, constraint));
+ }
+
+ public bool HasOverrides (MethodDefinition method)
+ {
+ InitializeOverrides ();
+ MetadataToken [] mapping;
+
+ if (!metadata.TryGetOverrideMapping (method, out mapping))
+ return false;
+
+ return mapping.Length > 0;
+ }
+
+ public Collection<MethodReference> ReadOverrides (MethodDefinition method)
+ {
+ InitializeOverrides ();
+
+ MetadataToken [] mapping;
+ if (!metadata.TryGetOverrideMapping (method, out mapping))
+ return new Collection<MethodReference> ();
+
+ var overrides = new Collection<MethodReference> (mapping.Length);
+
+ this.context = method;
+
+ for (int i = 0; i < mapping.Length; i++)
+ overrides.Add ((MethodReference) LookupToken (mapping [i]));
+
+ metadata.RemoveOverrideMapping (method);
+
+ return overrides;
+ }
+
+ void InitializeOverrides ()
+ {
+ if (metadata.Overrides != null)
+ return;
+
+ var length = MoveTo (Table.MethodImpl);
+
+ metadata.Overrides = new Dictionary<uint, MetadataToken []> (length);
+
+ for (int i = 1; i <= length; i++) {
+ ReadTableIndex (Table.TypeDef);
+
+ var method = ReadMetadataToken (CodedIndex.MethodDefOrRef);
+ if (method.TokenType != TokenType.Method)
+ throw new NotSupportedException ();
+
+ var @override = ReadMetadataToken (CodedIndex.MethodDefOrRef);
+
+ AddOverrideMapping (method.RID, @override);
+ }
+ }
+
+ void AddOverrideMapping (uint method_rid, MetadataToken @override)
+ {
+ metadata.SetOverrideMapping (
+ method_rid,
+ AddMapping (metadata.Overrides, method_rid, @override));
+ }
+
+ public MethodBody ReadMethodBody (MethodDefinition method)
+ {
+ return code.ReadMethodBody (method);
+ }
+
+ public CallSite ReadCallSite (MetadataToken token)
+ {
+ if (!MoveTo (Table.StandAloneSig, token.RID))
+ return null;
+
+ var signature = ReadBlobIndex ();
+
+ var call_site = new CallSite ();
+
+ ReadMethodSignature (signature, call_site);
+
+ return call_site;
+ }
+
+ public VariableDefinitionCollection ReadVariables (MetadataToken local_var_token)
+ {
+ if (!MoveTo (Table.StandAloneSig, local_var_token.RID))
+ return null;
+
+ var reader = ReadSignature (ReadBlobIndex ());
+ const byte local_sig = 0x7;
+
+ if (reader.ReadByte () != local_sig)
+ throw new NotSupportedException ();
+
+ var count = reader.ReadCompressedUInt32 ();
+ if (count == 0)
+ return null;
+
+ var variables = new VariableDefinitionCollection ((int) count);
+
+ for (int i = 0; i < count; i++)
+ variables.Add (new VariableDefinition (reader.ReadTypeSignature ()));
+
+ return variables;
+ }
+
+ public IMetadataTokenProvider LookupToken (MetadataToken token)
+ {
+ var rid = token.RID;
+
+ if (rid == 0)
+ return null;
+
+ IMetadataTokenProvider element;
+ var position = this.position;
+ var context = this.context;
+
+ switch (token.TokenType) {
+ case TokenType.TypeDef:
+ element = GetTypeDefinition (rid);
+ break;
+ case TokenType.TypeRef:
+ element = GetTypeReference (rid);
+ break;
+ case TokenType.TypeSpec:
+ element = GetTypeSpecification (rid);
+ break;
+ case TokenType.Field:
+ element = GetFieldDefinition (rid);
+ break;
+ case TokenType.Method:
+ element = GetMethodDefinition (rid);
+ break;
+ case TokenType.MemberRef:
+ element = GetMemberReference (rid);
+ break;
+ case TokenType.MethodSpec:
+ element = GetMethodSpecification (rid);
+ break;
+ default:
+ throw new NotSupportedException ();
+ }
+
+ this.position = position;
+ this.context = context;
+
+ return element;
+ }
+
+ public FieldDefinition GetFieldDefinition (uint rid)
+ {
+ InitializeTypeDefinitions ();
+
+ var field = metadata.GetFieldDefinition (rid);
+ if (field != null)
+ return field;
+
+ return LookupField (rid);
+ }
+
+ FieldDefinition LookupField (uint rid)
+ {
+ var type = metadata.GetFieldDeclaringType (rid);
+ if (type == null)
+ throw new NotSupportedException ();
+
+ InitializeCollection (type.Fields);
+
+ return metadata.GetFieldDefinition (rid);
+ }
+
+ public MethodDefinition GetMethodDefinition (uint rid)
+ {
+ InitializeTypeDefinitions ();
+
+ var method = metadata.GetMethodDefinition (rid);
+ if (method != null)
+ return method;
+
+ return LookupMethod (rid);
+ }
+
+ MethodDefinition LookupMethod (uint rid)
+ {
+ var type = metadata.GetMethodDeclaringType (rid);
+ if (type == null)
+ throw new NotSupportedException ();
+
+ InitializeCollection (type.Methods);
+
+ return metadata.GetMethodDefinition (rid);
+ }
+
+ MethodSpecification GetMethodSpecification (uint rid)
+ {
+ if (!MoveTo (Table.MethodSpec, rid))
+ return null;
+
+ var method = (MethodReference) LookupToken (
+ ReadMetadataToken (CodedIndex.MethodDefOrRef));
+ var signature = ReadBlobIndex ();
+
+ return ReadMethodSpecSignature (signature, method);
+ }
+
+ MethodSpecification ReadMethodSpecSignature (uint signature, MethodReference method)
+ {
+ var reader = ReadSignature (signature);
+ const byte methodspec_sig = 0x0a;
+
+ var call_conv = reader.ReadByte ();
+
+ if (call_conv != methodspec_sig)
+ throw new NotSupportedException ();
+
+ var instance = new GenericInstanceMethod (method);
+
+ reader.ReadGenericInstanceSignature (method, instance);
+
+ return instance;
+ }
+
+ MemberReference GetMemberReference (uint rid)
+ {
+ InitializeMemberReferences ();
+
+ var member = metadata.GetMemberReference (rid);
+ if (member != null)
+ return member;
+
+ member = ReadMemberReference (rid);
+ if (!member.ContainsGenericParameter)
+ metadata.AddMemberReference (member);
+ return member;
+ }
+
+ MemberReference ReadMemberReference (uint rid)
+ {
+ if (!MoveTo (Table.MemberRef, rid))
+ return null;
+
+ var token = ReadMetadataToken (CodedIndex.MemberRefParent);
+ var name = ReadString ();
+ var signature = ReadBlobIndex ();
+
+ MemberReference member;
+
+ switch (token.TokenType) {
+ case TokenType.TypeDef:
+ case TokenType.TypeRef:
+ case TokenType.TypeSpec:
+ member = ReadTypeMemberReference (token, name, signature);
+ break;
+ case TokenType.Method:
+ member = ReadMethodMemberReference (token, name, signature);
+ break;
+ default:
+ throw new NotSupportedException ();
+ }
+
+ member.token = new MetadataToken (TokenType.MemberRef, rid);
+
+ return member;
+ }
+
+ MemberReference ReadTypeMemberReference (MetadataToken type, string name, uint signature)
+ {
+ var declaring_type = GetTypeDefOrRef (type);
+
+ this.context = declaring_type;
+
+ var member = ReadMemberReferenceSignature (signature, declaring_type);
+ member.Name = name;
+
+ return member;
+ }
+
+ MemberReference ReadMemberReferenceSignature (uint signature, TypeReference declaring_type)
+ {
+ var reader = ReadSignature (signature);
+ const byte field_sig = 0x6;
+
+ if (reader.buffer [reader.position] == field_sig) {
+ reader.position++;
+ var field = new FieldReference ();
+ field.DeclaringType = declaring_type;
+ field.FieldType = reader.ReadTypeSignature ();
+ return field;
+ } else {
+ var method = new MethodReference ();
+ method.DeclaringType = declaring_type;
+ reader.ReadMethodSignature (method);
+ return method;
+ }
+ }
+
+ MemberReference ReadMethodMemberReference (MetadataToken token, string name, uint signature)
+ {
+ var method = GetMethodDefinition (token.RID);
+
+ this.context = method;
+
+ var member = ReadMemberReferenceSignature (signature, method.DeclaringType);
+ member.Name = name;
+
+ return member;
+ }
+
+ void InitializeMemberReferences ()
+ {
+ if (metadata.MemberReferences != null)
+ return;
+
+ metadata.MemberReferences = new MemberReference [image.GetTableLength (Table.MemberRef)];
+ }
+
+ public IEnumerable<MemberReference> GetMemberReferences ()
+ {
+ InitializeMemberReferences ();
+
+ var length = image.GetTableLength (Table.MemberRef);
+
+ var type_system = module.TypeSystem;
+
+ var context = new MethodReference (string.Empty, type_system.Void);
+ context.DeclaringType = new TypeReference (string.Empty, string.Empty, module, type_system.Corlib);
+
+ var member_references = new MemberReference [length];
+
+ for (uint i = 1; i <= length; i++) {
+ this.context = context;
+ member_references [i - 1] = GetMemberReference (i);
+ }
+
+ return member_references;
+ }
+
+ void InitializeConstants ()
+ {
+ if (metadata.Constants != null)
+ return;
+
+ var length = MoveTo (Table.Constant);
+
+ var constants = metadata.Constants = new Dictionary<MetadataToken, Row<ElementType, uint>> (length);
+
+ for (uint i = 1; i <= length; i++) {
+ var type = (ElementType) ReadUInt16 ();
+ var owner = ReadMetadataToken (CodedIndex.HasConstant);
+ var signature = ReadBlobIndex ();
+
+ constants.Add (owner, new Row<ElementType, uint> (type, signature));
+ }
+ }
+
+ public object ReadConstant (IConstantProvider owner)
+ {
+ InitializeConstants ();
+
+ Row<ElementType, uint> row;
+ if (!metadata.Constants.TryGetValue (owner.MetadataToken, out row))
+ return Mixin.NoValue;
+
+ metadata.Constants.Remove (owner.MetadataToken);
+
+ switch (row.Col1) {
+ case ElementType.Class:
+ case ElementType.Object:
+ return null;
+ case ElementType.String:
+ return ReadConstantString (ReadBlob (row.Col2));
+ default:
+ return ReadConstantPrimitive (row.Col1, row.Col2);
+ }
+ }
+
+ static string ReadConstantString (byte [] blob)
+ {
+ var length = blob.Length;
+ if ((length & 1) == 1)
+ length--;
+
+ return Encoding.Unicode.GetString (blob, 0, length);
+ }
+
+ object ReadConstantPrimitive (ElementType type, uint signature)
+ {
+ var reader = ReadSignature (signature);
+ return reader.ReadConstantSignature (type);
+ }
+
+ void InitializeCustomAttributes ()
+ {
+ if (metadata.CustomAttributes != null)
+ return;
+
+ metadata.CustomAttributes = InitializeRanges (
+ Table.CustomAttribute, () => {
+ var next = ReadMetadataToken (CodedIndex.HasCustomAttribute);
+ ReadMetadataToken (CodedIndex.CustomAttributeType);
+ ReadBlobIndex ();
+ return next;
+ });
+ }
+
+ public bool HasCustomAttributes (ICustomAttributeProvider owner)
+ {
+ InitializeCustomAttributes ();
+
+ Range range;
+ if (!metadata.TryGetCustomAttributeRange (owner, out range))
+ return false;
+
+ return range.Length > 0;
+ }
+
+ public Collection<CustomAttribute> ReadCustomAttributes (ICustomAttributeProvider owner)
+ {
+ InitializeCustomAttributes ();
+
+ Range range;
+ if (!metadata.TryGetCustomAttributeRange (owner, out range)
+ || !MoveTo (Table.CustomAttribute, range.Start))
+ return new Collection<CustomAttribute> ();
+
+ var custom_attributes = new Collection<CustomAttribute> ((int) range.Length);
+
+ for (int i = 0; i < range.Length; i++) {
+ ReadMetadataToken (CodedIndex.HasCustomAttribute);
+
+ var constructor = (MethodReference) LookupToken (
+ ReadMetadataToken (CodedIndex.CustomAttributeType));
+
+ var signature = ReadBlobIndex ();
+
+ custom_attributes.Add (new CustomAttribute (signature, constructor));
+ }
+
+ metadata.RemoveCustomAttributeRange (owner);
+
+ return custom_attributes;
+ }
+
+ public byte [] ReadCustomAttributeBlob (uint signature)
+ {
+ return ReadBlob (signature);
+ }
+
+ public void ReadCustomAttributeSignature (CustomAttribute attribute)
+ {
+ var reader = ReadSignature (attribute.signature);
+ if (reader.ReadUInt16 () != 0x0001)
+ throw new InvalidOperationException ();
+
+ var constructor = attribute.Constructor;
+ if (constructor.HasParameters)
+ reader.ReadCustomAttributeConstructorArguments (attribute, constructor.Parameters);
+
+ if (!reader.CanReadMore ())
+ return;
+
+ var named = reader.ReadUInt16 ();
+
+ if (named == 0)
+ return;
+
+ reader.ReadCustomAttributeNamedArguments (named, ref attribute.fields, ref attribute.properties);
+ }
+
+ void InitializeMarshalInfos ()
+ {
+ if (metadata.FieldMarshals != null)
+ return;
+
+ var length = MoveTo (Table.FieldMarshal);
+
+ var marshals = metadata.FieldMarshals = new Dictionary<MetadataToken, uint> (length);
+
+ for (int i = 0; i < length; i++) {
+ var token = ReadMetadataToken (CodedIndex.HasFieldMarshal);
+ var signature = ReadBlobIndex ();
+ if (token.RID == 0)
+ continue;
+
+ marshals.Add (token, signature);
+ }
+ }
+
+ public bool HasMarshalInfo (IMarshalInfoProvider owner)
+ {
+ InitializeMarshalInfos ();
+
+ return metadata.FieldMarshals.ContainsKey (owner.MetadataToken);
+ }
+
+ public MarshalInfo ReadMarshalInfo (IMarshalInfoProvider owner)
+ {
+ InitializeMarshalInfos ();
+
+ uint signature;
+ if (!metadata.FieldMarshals.TryGetValue (owner.MetadataToken, out signature))
+ return null;
+
+ var reader = ReadSignature (signature);
+
+ metadata.FieldMarshals.Remove (owner.MetadataToken);
+
+ return reader.ReadMarshalInfo ();
+ }
+
+ void InitializeSecurityDeclarations ()
+ {
+ if (metadata.SecurityDeclarations != null)
+ return;
+
+ metadata.SecurityDeclarations = InitializeRanges (
+ Table.DeclSecurity, () => {
+ ReadUInt16 ();
+ var next = ReadMetadataToken (CodedIndex.HasDeclSecurity);
+ ReadBlobIndex ();
+ return next;
+ });
+ }
+
+ public bool HasSecurityDeclarations (ISecurityDeclarationProvider owner)
+ {
+ InitializeSecurityDeclarations ();
+
+ Range range;
+ if (!metadata.TryGetSecurityDeclarationRange (owner, out range))
+ return false;
+
+ return range.Length > 0;
+ }
+
+ public Collection<SecurityDeclaration> ReadSecurityDeclarations (ISecurityDeclarationProvider owner)
+ {
+ InitializeSecurityDeclarations ();
+
+ Range range;
+ if (!metadata.TryGetSecurityDeclarationRange (owner, out range)
+ || !MoveTo (Table.DeclSecurity, range.Start))
+ return new Collection<SecurityDeclaration> ();
+
+ var security_declarations = new Collection<SecurityDeclaration> ((int) range.Length);
+
+ for (int i = 0; i < range.Length; i++) {
+ var action = (SecurityAction) ReadUInt16 ();
+ ReadMetadataToken (CodedIndex.HasDeclSecurity);
+ var signature = ReadBlobIndex ();
+
+ security_declarations.Add (new SecurityDeclaration (action, signature, module));
+ }
+
+ metadata.RemoveSecurityDeclarationRange (owner);
+
+ return security_declarations;
+ }
+
+ public byte [] ReadSecurityDeclarationBlob (uint signature)
+ {
+ return ReadBlob (signature);
+ }
+
+ public void ReadSecurityDeclarationSignature (SecurityDeclaration declaration)
+ {
+ var signature = declaration.signature;
+ var reader = ReadSignature (signature);
+
+ if (reader.buffer [reader.position] != '.') {
+ ReadXmlSecurityDeclaration (signature, declaration);
+ return;
+ }
+
+ reader.ReadByte ();
+ var count = reader.ReadCompressedUInt32 ();
+ var attributes = new Collection<SecurityAttribute> ((int) count);
+
+ for (int i = 0; i < count; i++)
+ attributes.Add (reader.ReadSecurityAttribute ());
+
+ declaration.security_attributes = attributes;
+ }
+
+ void ReadXmlSecurityDeclaration (uint signature, SecurityDeclaration declaration)
+ {
+ var blob = ReadBlob (signature);
+ var attributes = new Collection<SecurityAttribute> (1);
+
+ var attribute = new SecurityAttribute (
+ module.TypeSystem.LookupType ("System.Security.Permissions", "PermissionSetAttribute"));
+
+ attribute.properties = new Collection<CustomAttributeNamedArgument> (1);
+ attribute.properties.Add (
+ new CustomAttributeNamedArgument (
+ "XML",
+ new CustomAttributeArgument (
+ module.TypeSystem.String,
+ Encoding.Unicode.GetString (blob, 0, blob.Length))));
+
+ attributes.Add (attribute);
+
+ declaration.security_attributes = attributes;
+ }
+
+ public Collection<ExportedType> ReadExportedTypes ()
+ {
+ var length = MoveTo (Table.ExportedType);
+ if (length == 0)
+ return new Collection<ExportedType> ();
+
+ var exported_types = new Collection<ExportedType> (length);
+
+ for (int i = 1; i <= length; i++) {
+ var attributes = (TypeAttributes) ReadUInt32 ();
+ var identifier = ReadUInt32 ();
+ var name = ReadString ();
+ var @namespace = ReadString ();
+ var implementation = ReadMetadataToken (CodedIndex.Implementation);
+
+ ExportedType declaring_type = null;
+ IMetadataScope scope = null;
+
+ switch (implementation.TokenType) {
+ case TokenType.AssemblyRef:
+ case TokenType.File:
+ scope = GetExportedTypeScope (implementation);
+ break;
+ case TokenType.ExportedType:
+ // FIXME: if the table is not properly sorted
+ declaring_type = exported_types [(int) implementation.RID - 1];
+ break;
+ }
+
+ var exported_type = new ExportedType (@namespace, name, scope) {
+ Attributes = attributes,
+ Identifier = (int) identifier,
+ DeclaringType = declaring_type,
+ };
+ exported_type.token = new MetadataToken (TokenType.ExportedType, i);
+
+ exported_types.Add (exported_type);
+ }
+
+ return exported_types;
+ }
+
+ IMetadataScope GetExportedTypeScope (MetadataToken token)
+ {
+ switch (token.TokenType) {
+ case TokenType.AssemblyRef:
+ return module.AssemblyReferences [(int) token.RID - 1];
+ case TokenType.File:
+ var position = this.position;
+ var reference = GetModuleReferenceFromFile (token);
+ this.position = position;
+
+ if (reference == null)
+ throw new NotSupportedException ();
+
+ return reference;
+ default:
+ throw new NotSupportedException ();
+ }
+ }
+
+ ModuleReference GetModuleReferenceFromFile (MetadataToken token)
+ {
+ if (!MoveTo (Table.File, token.RID))
+ return null;
+
+ ReadUInt32 ();
+ var file_name = ReadString ();
+ var modules = module.ModuleReferences;
+
+ ModuleReference reference = null;
+ for (int i = 0; i < modules.Count; i++) {
+ var module_reference = modules [i];
+ if (module_reference.Name != file_name)
+ continue;
+
+ reference = module_reference;
+ break;
+ }
+
+ return reference;
+ }
+
+ static void InitializeCollection (object o)
+ {
+ }
+ }
+
+ sealed class SignatureReader : ByteBuffer {
+
+ readonly MetadataReader reader;
+ readonly uint start, sig_length;
+
+ TypeSystem TypeSystem {
+ get { return reader.module.TypeSystem; }
+ }
+
+ public SignatureReader (uint blob, MetadataReader reader)
+ : base (reader.buffer)
+ {
+ this.reader = reader;
+
+ MoveToBlob (blob);
+
+ this.sig_length = ReadCompressedUInt32 ();
+ this.start = (uint) position;
+ }
+
+ void MoveToBlob (uint blob)
+ {
+ position = (int) (reader.image.BlobHeap.Offset + blob);
+ }
+
+ MetadataToken ReadTypeTokenSignature ()
+ {
+ return CodedIndex.TypeDefOrRef.GetMetadataToken (ReadCompressedUInt32 ());
+ }
+
+ GenericParameter GetGenericParameter (GenericParameterType type, uint var)
+ {
+ var context = reader.context;
+
+ if (context == null)
+ throw new NotSupportedException ();
+
+ IGenericParameterProvider provider;
+
+ switch (type) {
+ case GenericParameterType.Type:
+ provider = context.Type;
+ break;
+ case GenericParameterType.Method:
+ provider = context.Method;
+ break;
+ default:
+ throw new NotSupportedException ();
+ }
+
+ int index = (int) var;
+
+ if (!context.IsDefinition)
+ CheckGenericContext (provider, index);
+
+ return provider.GenericParameters [index];
+ }
+
+ static void CheckGenericContext (IGenericParameterProvider owner, int index)
+ {
+ var owner_parameters = owner.GenericParameters;
+
+ for (int i = owner_parameters.Count; i <= index; i++)
+ owner_parameters.Add (new GenericParameter (owner));
+ }
+
+ public void ReadGenericInstanceSignature (IGenericParameterProvider provider, IGenericInstance instance)
+ {
+ var arity = ReadCompressedUInt32 ();
+
+ if (!provider.IsDefinition)
+ CheckGenericContext (provider, (int) arity - 1);
+
+ var instance_arguments = instance.GenericArguments;
+
+ for (int i = 0; i < arity; i++)
+ instance_arguments.Add (ReadTypeSignature ());
+ }
+
+ ArrayType ReadArrayTypeSignature ()
+ {
+ var array = new ArrayType (ReadTypeSignature ());
+
+ var rank = ReadCompressedUInt32 ();
+
+ var sizes = new uint [ReadCompressedUInt32 ()];
+ for (int i = 0; i < sizes.Length; i++)
+ sizes [i] = ReadCompressedUInt32 ();
+
+ var low_bounds = new int [ReadCompressedUInt32 ()];
+ for (int i = 0; i < low_bounds.Length; i++)
+ low_bounds [i] = ReadCompressedInt32 ();
+
+ array.Dimensions.Clear ();
+
+ for (int i = 0; i < rank; i++) {
+ int? lower = null, upper = null;
+
+ if (i < low_bounds.Length)
+ lower = low_bounds [i];
+
+ if (i < sizes.Length)
+ upper = lower + (int) sizes [i] - 1;
+
+ array.Dimensions.Add (new ArrayDimension (lower, upper));
+ }
+
+ return array;
+ }
+
+ TypeReference GetTypeDefOrRef (MetadataToken token)
+ {
+ return reader.GetTypeDefOrRef (token);
+ }
+
+ public TypeReference ReadTypeSignature ()
+ {
+ return ReadTypeSignature ((ElementType) ReadByte ());
+ }
+
+ TypeReference ReadTypeSignature (ElementType etype)
+ {
+ switch (etype) {
+ case ElementType.ValueType: {
+ var value_type = GetTypeDefOrRef (ReadTypeTokenSignature ());
+ value_type.IsValueType = true;
+ return value_type;
+ }
+ case ElementType.Class:
+ return GetTypeDefOrRef (ReadTypeTokenSignature ());
+ case ElementType.Ptr:
+ return new PointerType (ReadTypeSignature ());
+ case ElementType.FnPtr: {
+ var fptr = new FunctionPointerType ();
+ ReadMethodSignature (fptr);
+ return fptr;
+ }
+ case ElementType.ByRef:
+ return new ByReferenceType (ReadTypeSignature ());
+ case ElementType.Pinned:
+ return new PinnedType (ReadTypeSignature ());
+ case ElementType.SzArray:
+ return new ArrayType (ReadTypeSignature ());
+ case ElementType.Array:
+ return ReadArrayTypeSignature ();
+ case ElementType.CModOpt:
+ return new OptionalModifierType (
+ GetTypeDefOrRef (ReadTypeTokenSignature ()), ReadTypeSignature ());
+ case ElementType.CModReqD:
+ return new RequiredModifierType (
+ GetTypeDefOrRef (ReadTypeTokenSignature ()), ReadTypeSignature ());
+ case ElementType.Sentinel:
+ return new SentinelType (ReadTypeSignature ());
+ case ElementType.Var:
+ return GetGenericParameter (GenericParameterType.Type, ReadCompressedUInt32 ());
+ case ElementType.MVar:
+ return GetGenericParameter (GenericParameterType.Method, ReadCompressedUInt32 ());
+ case ElementType.GenericInst: {
+ var is_value_type = ReadByte () == (byte) ElementType.ValueType;
+ var element_type = GetTypeDefOrRef (ReadTypeTokenSignature ());
+ var generic_instance = new GenericInstanceType (element_type);
+
+ ReadGenericInstanceSignature (element_type, generic_instance);
+
+ if (is_value_type) {
+ generic_instance.IsValueType = true;
+ element_type.GetElementType ().IsValueType = true;
+ }
+
+ return generic_instance;
+ }
+ case ElementType.Object: return TypeSystem.Object;
+ case ElementType.Void: return TypeSystem.Void;
+ case ElementType.TypedByRef: return TypeSystem.TypedReference;
+ case ElementType.I: return TypeSystem.IntPtr;
+ case ElementType.U: return TypeSystem.UIntPtr;
+ default: return GetPrimitiveType (etype);
+ }
+ }
+
+ public void ReadMethodSignature (IMethodSignature method)
+ {
+ var calling_convention = ReadByte ();
+ method.CallingConvention = (MethodCallingConvention) calling_convention;
+ method.HasThis = (calling_convention & 0x20) != 0;
+ method.ExplicitThis = (calling_convention & 0x40) != 0;
+
+ var generic_context = method as MethodReference;
+ if (generic_context != null)
+ reader.context = generic_context;
+
+ if ((calling_convention & 0x10) != 0) {
+ var arity = ReadCompressedUInt32 ();
+
+ if (generic_context != null && !generic_context.IsDefinition)
+ CheckGenericContext (generic_context, (int) arity -1 );
+ }
+
+ // TODO: more call_conv
+
+ var param_count = ReadCompressedUInt32 ();
+
+ method.MethodReturnType.ReturnType = ReadTypeSignature ();
+
+ if (param_count == 0)
+ return;
+
+ Collection<ParameterDefinition> parameters;
+
+ var method_ref = method as MethodReference;
+ if (method_ref != null)
+ parameters = method_ref.parameters = new ParameterDefinitionCollection (method, (int) param_count);
+ else
+ parameters = method.Parameters;
+
+ for (int i = 0; i < param_count; i++)
+ parameters.Add (new ParameterDefinition (ReadTypeSignature ()));
+ }
+
+ public object ReadConstantSignature (ElementType type)
+ {
+ return ReadPrimitiveValue (type);
+ }
+
+ public void ReadCustomAttributeConstructorArguments (CustomAttribute attribute, Collection<ParameterDefinition> parameters)
+ {
+ var count = parameters.Count;
+ if (count == 0)
+ return;
+
+ attribute.arguments = new Collection<CustomAttributeArgument> (count);
+
+ for (int i = 0; i < count; i++)
+ attribute.arguments.Add (
+ ReadCustomAttributeFixedArgument (parameters [i].ParameterType));
+ }
+
+ CustomAttributeArgument ReadCustomAttributeFixedArgument (TypeReference type)
+ {
+ if (type.IsArray)
+ return ReadCustomAttributeFixedArrayArgument ((ArrayType) type);
+
+ return ReadCustomAttributeElement (type);
+ }
+
+ public void ReadCustomAttributeNamedArguments (ushort count, ref Collection<CustomAttributeNamedArgument> fields, ref Collection<CustomAttributeNamedArgument> properties)
+ {
+ for (int i = 0; i < count; i++)
+ ReadCustomAttributeNamedArgument (ref fields, ref properties);
+ }
+
+ void ReadCustomAttributeNamedArgument (ref Collection<CustomAttributeNamedArgument> fields, ref Collection<CustomAttributeNamedArgument> properties)
+ {
+ var kind = ReadByte ();
+ var type = ReadCustomAttributeFieldOrPropType ();
+ var name = ReadUTF8String ();
+
+ Collection<CustomAttributeNamedArgument> container;
+ switch (kind) {
+ case 0x53:
+ container = GetCustomAttributeNamedArgumentCollection (ref fields);
+ break;
+ case 0x54:
+ container = GetCustomAttributeNamedArgumentCollection (ref properties);
+ break;
+ default:
+ throw new NotSupportedException ();
+ }
+
+ container.Add (new CustomAttributeNamedArgument (name, ReadCustomAttributeFixedArgument (type)));
+ }
+
+ static Collection<CustomAttributeNamedArgument> GetCustomAttributeNamedArgumentCollection (ref Collection<CustomAttributeNamedArgument> collection)
+ {
+ if (collection != null)
+ return collection;
+
+ return collection = new Collection<CustomAttributeNamedArgument> ();
+ }
+
+ CustomAttributeArgument ReadCustomAttributeFixedArrayArgument (ArrayType type)
+ {
+ var length = ReadUInt32 ();
+
+ if (length == 0xffffffff)
+ return new CustomAttributeArgument (type, null);
+
+ if (length == 0)
+ return new CustomAttributeArgument (type, Empty<CustomAttributeArgument>.Array);
+
+ var arguments = new CustomAttributeArgument [length];
+ var element_type = type.ElementType;
+
+ for (int i = 0; i < length; i++)
+ arguments [i] = ReadCustomAttributeElement (element_type);
+
+ return new CustomAttributeArgument (type, arguments);
+ }
+
+ CustomAttributeArgument ReadCustomAttributeElement (TypeReference type)
+ {
+ if (type.IsArray)
+ return ReadCustomAttributeFixedArrayArgument ((ArrayType) type);
+
+ if (type.etype == ElementType.Object)
+ return ReadCustomAttributeElement (ReadCustomAttributeFieldOrPropType ());
+
+ return new CustomAttributeArgument (type, ReadCustomAttributeElementValue (type));
+ }
+
+ object ReadCustomAttributeElementValue (TypeReference type)
+ {
+ var etype = type.etype;
+
+ switch (etype) {
+ case ElementType.String:
+ return ReadUTF8String ();
+ case ElementType.None:
+ if (type.IsTypeOf ("System", "Type"))
+ return ReadTypeReference ();
+
+ return ReadCustomAttributeEnum (type);
+ default:
+ return ReadPrimitiveValue (etype);
+ }
+ }
+
+ object ReadPrimitiveValue (ElementType type)
+ {
+ switch (type) {
+ case ElementType.Boolean:
+ return ReadByte () == 1;
+ case ElementType.I1:
+ return (sbyte) ReadByte ();
+ case ElementType.U1:
+ return ReadByte ();
+ case ElementType.Char:
+ return (char) ReadUInt16 ();
+ case ElementType.I2:
+ return ReadInt16 ();
+ case ElementType.U2:
+ return ReadUInt16 ();
+ case ElementType.I4:
+ return ReadInt32 ();
+ case ElementType.U4:
+ return ReadUInt32 ();
+ case ElementType.I8:
+ return ReadInt64 ();
+ case ElementType.U8:
+ return ReadUInt64 ();
+ case ElementType.R4:
+ return ReadSingle ();
+ case ElementType.R8:
+ return ReadDouble ();
+ default:
+ throw new NotImplementedException (type.ToString ());
+ }
+ }
+
+ TypeReference GetPrimitiveType (ElementType etype)
+ {
+ switch (etype) {
+ case ElementType.Boolean:
+ return TypeSystem.Boolean;
+ case ElementType.Char:
+ return TypeSystem.Char;
+ case ElementType.I1:
+ return TypeSystem.SByte;
+ case ElementType.U1:
+ return TypeSystem.Byte;
+ case ElementType.I2:
+ return TypeSystem.Int16;
+ case ElementType.U2:
+ return TypeSystem.UInt16;
+ case ElementType.I4:
+ return TypeSystem.Int32;
+ case ElementType.U4:
+ return TypeSystem.UInt32;
+ case ElementType.I8:
+ return TypeSystem.Int64;
+ case ElementType.U8:
+ return TypeSystem.UInt64;
+ case ElementType.R4:
+ return TypeSystem.Single;
+ case ElementType.R8:
+ return TypeSystem.Double;
+ case ElementType.String:
+ return TypeSystem.String;
+ default:
+ throw new NotImplementedException (etype.ToString ());
+ }
+ }
+
+ TypeReference ReadCustomAttributeFieldOrPropType ()
+ {
+ var etype = (ElementType) ReadByte ();
+
+ switch (etype) {
+ case ElementType.Boxed:
+ return TypeSystem.Object;
+ case ElementType.SzArray:
+ return new ArrayType (ReadCustomAttributeFieldOrPropType ());
+ case ElementType.Enum:
+ return ReadTypeReference ();
+ case ElementType.Type:
+ return TypeSystem.LookupType ("System", "Type");
+ default:
+ return GetPrimitiveType (etype);
+ }
+ }
+
+ public TypeReference ReadTypeReference ()
+ {
+ return TypeParser.ParseType (reader.module, ReadUTF8String ());
+ }
+
+ object ReadCustomAttributeEnum (TypeReference enum_type)
+ {
+ var type = enum_type.CheckedResolve ();
+ if (!type.IsEnum)
+ throw new ArgumentException ();
+
+ return ReadCustomAttributeElementValue (type.GetEnumUnderlyingType ());
+ }
+
+ public SecurityAttribute ReadSecurityAttribute ()
+ {
+ var attribute = new SecurityAttribute (ReadTypeReference ());
+
+ ReadCompressedUInt32 ();
+
+ ReadCustomAttributeNamedArguments (
+ (ushort) ReadCompressedUInt32 (),
+ ref attribute.fields,
+ ref attribute.properties);
+
+ return attribute;
+ }
+
+ public MarshalInfo ReadMarshalInfo ()
+ {
+ var native = ReadNativeType ();
+ switch (native) {
+ case NativeType.Array: {
+ var array = new ArrayMarshalInfo ();
+ if (CanReadMore ())
+ array.element_type = ReadNativeType ();
+ if (CanReadMore ())
+ array.size_parameter_index = (int) ReadCompressedUInt32 ();
+ if (CanReadMore ())
+ array.size = (int) ReadCompressedUInt32 ();
+ if (CanReadMore ())
+ array.size_parameter_multiplier = (int) ReadCompressedUInt32 ();
+ return array;
+ }
+ case NativeType.SafeArray: {
+ var array = new SafeArrayMarshalInfo ();
+ if (CanReadMore ())
+ array.element_type = ReadVariantType ();
+ return array;
+ }
+ case NativeType.FixedArray: {
+ var array = new FixedArrayMarshalInfo ();
+ if (CanReadMore ())
+ array.size = (int) ReadCompressedUInt32 ();
+ if (CanReadMore ())
+ array.element_type = ReadNativeType ();
+ return array;
+ }
+ case NativeType.FixedSysString: {
+ var sys_string = new FixedSysStringMarshalInfo ();
+ if (CanReadMore ())
+ sys_string.size = (int) ReadCompressedUInt32 ();
+ return sys_string;
+ }
+ case NativeType.CustomMarshaler: {
+ var marshaler = new CustomMarshalInfo ();
+ var guid_value = ReadUTF8String ();
+ marshaler.guid = !string.IsNullOrEmpty (guid_value) ? new Guid (guid_value) : Guid.Empty;
+ marshaler.unmanaged_type = ReadUTF8String ();
+ marshaler.managed_type = ReadTypeReference ();
+ marshaler.cookie = ReadUTF8String ();
+ return marshaler;
+ }
+ default:
+ return new MarshalInfo (native);
+ }
+ }
+
+ NativeType ReadNativeType ()
+ {
+ return (NativeType) ReadByte ();
+ }
+
+ VariantType ReadVariantType ()
+ {
+ return (VariantType) ReadByte ();
+ }
+
+ string ReadUTF8String ()
+ {
+ if (buffer [position] == 0xff) {
+ position++;
+ return null;
+ }
+
+ var length = (int) ReadCompressedUInt32 ();
+ if (length == 0)
+ return string.Empty;
+
+ var @string = Encoding.UTF8.GetString (buffer, position,
+ buffer [position + length - 1] == 0 ? length - 1 : length);
+
+ position += length;
+ return @string;
+ }
+
+ public bool CanReadMore ()
+ {
+ return position - start < sig_length;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyStripper.cs b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyStripper.cs
deleted file mode 100644
index 4bd08e9342d..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyStripper.cs
+++ /dev/null
@@ -1,220 +0,0 @@
-//
-// AssemblyStripper.cs
-//
-// Author:
-// Jb Evain (jbevain@novell.com)
-//
-// (C) 2008 Novell, Inc (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.Collections;
-using System.IO;
-
-using Mono.Cecil.Binary;
-using Mono.Cecil.Cil;
-using Mono.Cecil.Metadata;
-
-namespace Mono.Cecil {
-
- class AssemblyStripper {
-
- AssemblyDefinition assembly;
- BinaryWriter writer;
-
- Image original;
- Image stripped;
-
- ReflectionWriter reflection_writer;
- MetadataWriter metadata_writer;
-
- TablesHeap original_tables;
- TablesHeap stripped_tables;
-
- AssemblyStripper (AssemblyDefinition assembly, BinaryWriter writer)
- {
- this.assembly = assembly;
- this.writer = writer;
- }
-
- void Strip ()
- {
- FullLoad ();
- ClearMethodBodies ();
- CopyOriginalImage ();
- PatchMethods ();
- PatchFields ();
- PatchResources ();
- Write ();
- }
-
- void FullLoad ()
- {
- assembly.MainModule.FullLoad ();
- }
-
- void ClearMethodBodies ()
- {
- foreach (TypeDefinition type in assembly.MainModule.Types) {
- ClearMethodBodies (type.Constructors);
- ClearMethodBodies (type.Methods);
- }
- }
-
- static void ClearMethodBodies (ICollection methods)
- {
- foreach (MethodDefinition method in methods) {
- if (!method.HasBody)
- continue;
-
- MethodBody body = new MethodBody (method);
- body.CilWorker.Emit (OpCodes.Ret);
-
- method.Body = body;
- }
- }
-
- void CopyOriginalImage ()
- {
- original = assembly.MainModule.Image;
- stripped = Image.CreateImage();
-
- stripped.Accept (new CopyImageVisitor (original));
-
- assembly.MainModule.Image = stripped;
-
- original_tables = original.MetadataRoot.Streams.TablesHeap;
- stripped_tables = stripped.MetadataRoot.Streams.TablesHeap;
-
- TableCollection tables = original_tables.Tables;
- foreach (IMetadataTable table in tables)
- stripped_tables.Tables.Add(table);
-
- stripped_tables.Valid = original_tables.Valid;
- stripped_tables.Sorted = original_tables.Sorted;
-
- reflection_writer = new ReflectionWriter (assembly.MainModule);
- reflection_writer.StructureWriter = new StructureWriter (assembly, writer);
- reflection_writer.CodeWriter.Stripped = true;
-
- metadata_writer = reflection_writer.MetadataWriter;
-
- PatchHeap (metadata_writer.StringWriter, original.MetadataRoot.Streams.StringsHeap);
- PatchHeap (metadata_writer.GuidWriter, original.MetadataRoot.Streams.GuidHeap);
- PatchHeap (metadata_writer.UserStringWriter, original.MetadataRoot.Streams.UserStringsHeap);
- PatchHeap (metadata_writer.BlobWriter, original.MetadataRoot.Streams.BlobHeap);
-
- if (assembly.EntryPoint != null)
- metadata_writer.EntryPointToken = assembly.EntryPoint.MetadataToken.ToUInt ();
- }
-
- static void PatchHeap (MemoryBinaryWriter heap_writer, MetadataHeap heap)
- {
- if (heap == null)
- return;
-
- heap_writer.BaseStream.Position = 0;
- heap_writer.Write (heap.Data);
- }
-
- void PatchMethods ()
- {
- MethodTable methodTable = (MethodTable) stripped_tables [MethodTable.RId];
- if (methodTable == null)
- return;
-
- RVA method_rva = RVA.Zero;
-
- for (int i = 0; i < methodTable.Rows.Count; i++) {
- MethodRow methodRow = methodTable[i];
-
- MetadataToken methodToken = MetadataToken.FromMetadataRow (TokenType.Method, i);
-
- MethodDefinition method = (MethodDefinition) assembly.MainModule.LookupByToken (methodToken);
-
- if (method.HasBody) {
- method_rva = method_rva != RVA.Zero
- ? method_rva
- : reflection_writer.CodeWriter.WriteMethodBody (method);
-
- methodRow.RVA = method_rva;
- } else
- methodRow.RVA = RVA.Zero;
- }
- }
-
- void PatchFields ()
- {
- FieldRVATable fieldRvaTable = (FieldRVATable) stripped_tables [FieldRVATable.RId];
- if (fieldRvaTable == null)
- return;
-
- for (int i = 0; i < fieldRvaTable.Rows.Count; i++) {
- FieldRVARow fieldRvaRow = fieldRvaTable [i];
-
- MetadataToken fieldToken = new MetadataToken (TokenType.Field, fieldRvaRow.Field);
-
- FieldDefinition field = (FieldDefinition) assembly.MainModule.LookupByToken (fieldToken);
-
- fieldRvaRow.RVA = metadata_writer.GetDataCursor ();
- metadata_writer.AddData (field.InitialValue.Length + 3 & (~3));
- metadata_writer.AddFieldInitData (field.InitialValue);
- }
- }
-
- void PatchResources ()
- {
- ManifestResourceTable resourceTable = (ManifestResourceTable) stripped_tables [ManifestResourceTable.RId];
- if (resourceTable == null)
- return;
-
- for (int i = 0; i < resourceTable.Rows.Count; i++) {
- ManifestResourceRow resourceRow = resourceTable [i];
-
- if (resourceRow.Implementation.RID != 0)
- continue;
-
- foreach (Resource resource in assembly.MainModule.Resources) {
- EmbeddedResource er = resource as EmbeddedResource;
- if (er == null)
- continue;
-
- if (resource.Name != original.MetadataRoot.Streams.StringsHeap [resourceRow.Name])
- continue;
-
- resourceRow.Offset = metadata_writer.AddResource (er.Data);
- }
- }
- }
-
- void Write ()
- {
- stripped.MetadataRoot.Accept (metadata_writer);
- }
-
- public static void StripAssembly (AssemblyDefinition assembly, string file)
- {
- using (FileStream fs = new FileStream (file, FileMode.Create, FileAccess.Write, FileShare.None)) {
- new AssemblyStripper (assembly, new BinaryWriter (fs)).Strip ();
- }
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyWriter.cs b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyWriter.cs
new file mode 100644
index 00000000000..02b98ae7ea1
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/AssemblyWriter.cs
@@ -0,0 +1,2524 @@
+//
+// AssemblyWriter.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+
+using Mono.Collections.Generic;
+using Mono.Cecil.Cil;
+using Mono.Cecil.Metadata;
+using Mono.Cecil.PE;
+
+using RVA = System.UInt32;
+using RID = System.UInt32;
+using CodedRID = System.UInt32;
+using StringIndex = System.UInt32;
+using BlobIndex = System.UInt32;
+
+namespace Mono.Cecil {
+
+#if !READ_ONLY
+
+ using TypeRefRow = Row<CodedRID, StringIndex, StringIndex>;
+ using TypeDefRow = Row<TypeAttributes, StringIndex, StringIndex, CodedRID, RID, RID>;
+ using FieldRow = Row<FieldAttributes, StringIndex, BlobIndex>;
+ using MethodRow = Row<RVA, MethodImplAttributes, MethodAttributes, StringIndex, BlobIndex, RID>;
+ using ParamRow = Row<ParameterAttributes, ushort, StringIndex>;
+ using InterfaceImplRow = Row<uint, CodedRID>;
+ using MemberRefRow = Row<CodedRID, StringIndex, BlobIndex>;
+ using ConstantRow = Row<ElementType, CodedRID, BlobIndex>;
+ using CustomAttributeRow = Row<CodedRID, CodedRID, BlobIndex>;
+ using FieldMarshalRow = Row<CodedRID, BlobIndex>;
+ using DeclSecurityRow = Row<SecurityAction, CodedRID, BlobIndex>;
+ using ClassLayoutRow = Row<ushort, uint, RID>;
+ using FieldLayoutRow = Row<uint, RID>;
+ using EventMapRow = Row<RID, RID>;
+ using EventRow = Row<EventAttributes, StringIndex, CodedRID>;
+ using PropertyMapRow = Row<RID, RID>;
+ using PropertyRow = Row<PropertyAttributes, StringIndex, BlobIndex>;
+ using MethodSemanticsRow = Row<MethodSemanticsAttributes, RID, CodedRID>;
+ using MethodImplRow = Row<RID, CodedRID, CodedRID>;
+ using ImplMapRow = Row<PInvokeAttributes, CodedRID, StringIndex, RID>;
+ using FieldRVARow = Row<RVA, RID>;
+ using AssemblyRow = Row<AssemblyHashAlgorithm, ushort, ushort, ushort, ushort, AssemblyAttributes, uint, uint, uint>;
+ using AssemblyRefRow = Row<ushort, ushort, ushort, ushort, AssemblyAttributes, uint, uint, uint, uint>;
+ using FileRow = Row<FileAttributes, StringIndex, BlobIndex>;
+ using ExportedTypeRow = Row<TypeAttributes, uint, StringIndex, StringIndex, CodedRID>;
+ using ManifestResourceRow = Row<uint, ManifestResourceAttributes, StringIndex, CodedRID>;
+ using NestedClassRow = Row<RID, RID>;
+ using GenericParamRow = Row<ushort, GenericParameterAttributes, CodedRID, StringIndex>;
+ using MethodSpecRow = Row<CodedRID, BlobIndex>;
+ using GenericParamConstraintRow = Row<RID, CodedRID>;
+
+ static class ModuleWriter {
+
+ public static void WriteModuleTo (ModuleDefinition module, Stream stream, WriterParameters parameters)
+ {
+ if ((module.Attributes & ModuleAttributes.ILOnly) == 0)
+ throw new ArgumentException ();
+
+ if (module.HasImage && module.ReadingMode == ReadingMode.Deferred)
+ ImmediateModuleReader.ReadModule (module);
+
+ module.MetadataSystem.Clear ();
+
+ var name = module.assembly != null ? module.assembly.Name : null;
+ var fq_name = stream.GetFullyQualifiedName ();
+ var symbol_writer_provider = parameters.SymbolWriterProvider;
+ if (symbol_writer_provider == null && parameters.WriteSymbols)
+ symbol_writer_provider = SymbolProvider.GetPlatformWriterProvider ();
+ var symbol_writer = GetSymbolWriter (module, fq_name, symbol_writer_provider);
+
+#if !SILVERLIGHT && !CF
+ if (parameters.StrongNameKeyPair != null && name != null)
+ name.PublicKey = parameters.StrongNameKeyPair.PublicKey;
+#endif
+
+ if (name != null && name.HasPublicKey)
+ module.Attributes |= ModuleAttributes.StrongNameSigned;
+
+ var metadata = new MetadataBuilder (module, fq_name,
+ symbol_writer_provider, symbol_writer);
+
+ BuildMetadata (module, metadata);
+
+ if (module.SymbolReader != null)
+ module.SymbolReader.Dispose ();
+
+ var writer = ImageWriter.CreateWriter (module, metadata, stream);
+
+ writer.WriteImage ();
+
+#if !SILVERLIGHT && !CF
+ if (parameters.StrongNameKeyPair != null)
+ CryptoService.StrongName (stream, writer, parameters.StrongNameKeyPair);
+#endif
+ if (symbol_writer != null)
+ symbol_writer.Dispose ();
+ }
+
+ static void BuildMetadata (ModuleDefinition module, MetadataBuilder metadata)
+ {
+ if (!module.HasImage) {
+ metadata.BuildMetadata ();
+ return;
+ }
+
+ module.Read (metadata, (builder, _) => {
+ builder.BuildMetadata ();
+ return builder;
+ });
+ }
+
+ static ISymbolWriter GetSymbolWriter (ModuleDefinition module, string fq_name, ISymbolWriterProvider symbol_writer_provider)
+ {
+ if (symbol_writer_provider == null)
+ return null;
+
+ return symbol_writer_provider.GetSymbolWriter (module, fq_name);
+ }
+ }
+
+ abstract class MetadataTable {
+
+ public abstract int Length { get; }
+
+ public bool IsLarge {
+ get { return Length > 65535; }
+ }
+
+ public abstract void Write (TableHeapBuffer buffer);
+ public abstract void Sort ();
+ }
+
+ abstract class OneRowTable<TRow> : MetadataTable where TRow : struct {
+
+ internal TRow row;
+
+ public sealed override int Length {
+ get { return 1; }
+ }
+
+ public sealed override void Sort ()
+ {
+ }
+ }
+
+ abstract class MetadataTable<TRow> : MetadataTable where TRow : struct {
+
+ internal TRow [] rows = new TRow [2];
+ internal int length;
+
+ public sealed override int Length {
+ get { return length; }
+ }
+
+ public int AddRow (TRow row)
+ {
+ if (rows.Length == length)
+ Grow ();
+
+ rows [length++] = row;
+ return length;
+ }
+
+ void Grow ()
+ {
+ var rows = new TRow [this.rows.Length * 2];
+ Array.Copy (this.rows, rows, this.rows.Length);
+ this.rows = rows;
+ }
+
+ public override void Sort ()
+ {
+ }
+ }
+
+ abstract class SortedTable<TRow> : MetadataTable<TRow>, IComparer<TRow> where TRow : struct {
+
+ public sealed override void Sort ()
+ {
+ Array.Sort (rows, 0, length, this);
+ }
+
+ protected int Compare (uint x, uint y)
+ {
+ return x == y ? 0 : x > y ? 1 : -1;
+ }
+
+ public abstract int Compare (TRow x, TRow y);
+ }
+
+ sealed class ModuleTable : OneRowTable<uint> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ buffer.WriteUInt16 (0); // Generation
+ buffer.WriteString (row); // Name
+ buffer.WriteUInt16 (1); // Mvid
+ buffer.WriteUInt16 (0); // EncId
+ buffer.WriteUInt16 (0); // EncBaseId
+ }
+ }
+
+ sealed class TypeRefTable : MetadataTable<TypeRefRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteCodedRID (
+ rows [i].Col1, CodedIndex.ResolutionScope); // Scope
+ buffer.WriteString (rows [i].Col2); // Name
+ buffer.WriteString (rows [i].Col3); // Namespace
+ }
+ }
+ }
+
+ sealed class TypeDefTable : MetadataTable<TypeDefRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt32 ((uint) rows [i].Col1); // Attributes
+ buffer.WriteString (rows [i].Col2); // Name
+ buffer.WriteString (rows [i].Col3); // Namespace
+ buffer.WriteCodedRID (
+ rows [i].Col4, CodedIndex.TypeDefOrRef); // Extends
+ buffer.WriteRID (rows [i].Col5, Table.Field); // FieldList
+ buffer.WriteRID (rows [i].Col6, Table.Method); // MethodList
+ }
+ }
+ }
+
+ sealed class FieldTable : MetadataTable<FieldRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt16 ((ushort) rows [i].Col1); // Attributes
+ buffer.WriteString (rows [i].Col2); // Name
+ buffer.WriteBlob (rows [i].Col3); // Signature
+ }
+ }
+ }
+
+ sealed class MethodTable : MetadataTable<MethodRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt32 (rows [i].Col1); // RVA
+ buffer.WriteUInt16 ((ushort) rows [i].Col2); // ImplFlags
+ buffer.WriteUInt16 ((ushort) rows [i].Col3); // Flags
+ buffer.WriteString (rows [i].Col4); // Name
+ buffer.WriteBlob (rows [i].Col5); // Signature
+ buffer.WriteRID (rows [i].Col6, Table.Param); // ParamList
+ }
+ }
+ }
+
+ sealed class ParamTable : MetadataTable<ParamRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt16 ((ushort) rows [i].Col1); // Attributes
+ buffer.WriteUInt16 (rows [i].Col2); // Sequence
+ buffer.WriteString (rows [i].Col3); // Name
+ }
+ }
+ }
+
+ sealed class InterfaceImplTable : MetadataTable<InterfaceImplRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteRID (rows [i].Col1, Table.TypeDef); // Class
+ buffer.WriteCodedRID (rows [i].Col2, CodedIndex.TypeDefOrRef); // Interface
+ }
+ }
+
+ /*public override int Compare (InterfaceImplRow x, InterfaceImplRow y)
+ {
+ return (int) (x.Col1 == y.Col1 ? y.Col2 - x.Col2 : x.Col1 - y.Col1);
+ }*/
+ }
+
+ sealed class MemberRefTable : MetadataTable<MemberRefRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteCodedRID (rows [i].Col1, CodedIndex.MemberRefParent);
+ buffer.WriteString (rows [i].Col2);
+ buffer.WriteBlob (rows [i].Col3);
+ }
+ }
+ }
+
+ sealed class ConstantTable : SortedTable<ConstantRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt16 ((ushort) rows [i].Col1);
+ buffer.WriteCodedRID (rows [i].Col2, CodedIndex.HasConstant);
+ buffer.WriteBlob (rows [i].Col3);
+ }
+ }
+
+ public override int Compare (ConstantRow x, ConstantRow y)
+ {
+ return Compare (x.Col2, y.Col2);
+ }
+ }
+
+ sealed class CustomAttributeTable : SortedTable<CustomAttributeRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteCodedRID (rows [i].Col1, CodedIndex.HasCustomAttribute); // Parent
+ buffer.WriteCodedRID (rows [i].Col2, CodedIndex.CustomAttributeType); // Type
+ buffer.WriteBlob (rows [i].Col3);
+ }
+ }
+
+ public override int Compare (CustomAttributeRow x, CustomAttributeRow y)
+ {
+ return Compare (x.Col1, y.Col1);
+ }
+ }
+
+ sealed class FieldMarshalTable : SortedTable<FieldMarshalRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteCodedRID (rows [i].Col1, CodedIndex.HasFieldMarshal);
+ buffer.WriteBlob (rows [i].Col2);
+ }
+ }
+
+ public override int Compare (FieldMarshalRow x, FieldMarshalRow y)
+ {
+ return Compare (x.Col1, y.Col1);
+ }
+ }
+
+ sealed class DeclSecurityTable : SortedTable<DeclSecurityRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt16 ((ushort) rows [i].Col1);
+ buffer.WriteCodedRID (rows [i].Col2, CodedIndex.HasDeclSecurity);
+ buffer.WriteBlob (rows [i].Col3);
+ }
+ }
+
+ public override int Compare (DeclSecurityRow x, DeclSecurityRow y)
+ {
+ return Compare (x.Col2, y.Col2);
+ }
+ }
+
+ sealed class ClassLayoutTable : SortedTable<ClassLayoutRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt16 (rows [i].Col1); // PackingSize
+ buffer.WriteUInt32 (rows [i].Col2); // ClassSize
+ buffer.WriteRID (rows [i].Col3, Table.TypeDef); // Parent
+ }
+ }
+
+ public override int Compare (ClassLayoutRow x, ClassLayoutRow y)
+ {
+ return Compare (x.Col3, y.Col3);
+ }
+ }
+
+ sealed class FieldLayoutTable : SortedTable<FieldLayoutRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt32 (rows [i].Col1); // Offset
+ buffer.WriteRID (rows [i].Col2, Table.Field); // Parent
+ }
+ }
+
+ public override int Compare (FieldLayoutRow x, FieldLayoutRow y)
+ {
+ return Compare (x.Col2, y.Col2);
+ }
+ }
+
+ sealed class StandAloneSigTable : MetadataTable<uint> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++)
+ buffer.WriteBlob (rows [i]);
+ }
+ }
+
+ sealed class EventMapTable : MetadataTable<EventMapRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteRID (rows [i].Col1, Table.TypeDef); // Parent
+ buffer.WriteRID (rows [i].Col2, Table.Event); // EventList
+ }
+ }
+ }
+
+ sealed class EventTable : MetadataTable<EventRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt16 ((ushort) rows [i].Col1); // Flags
+ buffer.WriteString (rows [i].Col2); // Name
+ buffer.WriteCodedRID (rows [i].Col3, CodedIndex.TypeDefOrRef); // EventType
+ }
+ }
+ }
+
+ sealed class PropertyMapTable : MetadataTable<PropertyMapRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteRID (rows [i].Col1, Table.TypeDef); // Parent
+ buffer.WriteRID (rows [i].Col2, Table.Property); // PropertyList
+ }
+ }
+ }
+
+ sealed class PropertyTable : MetadataTable<PropertyRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt16 ((ushort) rows [i].Col1); // Flags
+ buffer.WriteString (rows [i].Col2); // Name
+ buffer.WriteBlob (rows [i].Col3); // Type
+ }
+ }
+ }
+
+ sealed class MethodSemanticsTable : SortedTable<MethodSemanticsRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt16 ((ushort) rows [i].Col1); // Flags
+ buffer.WriteRID (rows [i].Col2, Table.Method); // Method
+ buffer.WriteCodedRID (rows [i].Col3, CodedIndex.HasSemantics); // Association
+ }
+ }
+
+ public override int Compare (MethodSemanticsRow x, MethodSemanticsRow y)
+ {
+ return Compare (x.Col3, y.Col3);
+ }
+ }
+
+ sealed class MethodImplTable : MetadataTable<MethodImplRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteRID (rows [i].Col1, Table.TypeDef); // Class
+ buffer.WriteCodedRID (rows [i].Col2, CodedIndex.MethodDefOrRef); // MethodBody
+ buffer.WriteCodedRID (rows [i].Col3, CodedIndex.MethodDefOrRef); // MethodDeclaration
+ }
+ }
+ }
+
+ sealed class ModuleRefTable : MetadataTable<uint> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++)
+ buffer.WriteString (rows [i]); // Name
+ }
+ }
+
+ sealed class TypeSpecTable : MetadataTable<uint> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++)
+ buffer.WriteBlob (rows [i]); // Signature
+ }
+ }
+
+ sealed class ImplMapTable : SortedTable<ImplMapRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt16 ((ushort) rows [i].Col1); // Flags
+ buffer.WriteCodedRID (rows [i].Col2, CodedIndex.MemberForwarded); // MemberForwarded
+ buffer.WriteString (rows [i].Col3); // ImportName
+ buffer.WriteRID (rows [i].Col4, Table.ModuleRef); // ImportScope
+ }
+ }
+
+ public override int Compare (ImplMapRow x, ImplMapRow y)
+ {
+ return Compare (x.Col2, y.Col2);
+ }
+ }
+
+ sealed class FieldRVATable : SortedTable<FieldRVARow> {
+
+ internal int position;
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ position = buffer.position;
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt32 (rows [i].Col1); // RVA
+ buffer.WriteRID (rows [i].Col2, Table.Field); // Field
+ }
+ }
+
+ public override int Compare (FieldRVARow x, FieldRVARow y)
+ {
+ return Compare (x.Col2, y.Col2);
+ }
+ }
+
+ sealed class AssemblyTable : OneRowTable<AssemblyRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ buffer.WriteUInt32 ((uint) row.Col1); // AssemblyHashAlgorithm
+ buffer.WriteUInt16 (row.Col2); // MajorVersion
+ buffer.WriteUInt16 (row.Col3); // MinorVersion
+ buffer.WriteUInt16 (row.Col4); // Build
+ buffer.WriteUInt16 (row.Col5); // Revision
+ buffer.WriteUInt32 ((uint) row.Col6); // Flags
+ buffer.WriteBlob (row.Col7); // PublicKey
+ buffer.WriteString (row.Col8); // Name
+ buffer.WriteString (row.Col9); // Culture
+ }
+ }
+
+ sealed class AssemblyRefTable : MetadataTable<AssemblyRefRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt16 (rows [i].Col1); // MajorVersion
+ buffer.WriteUInt16 (rows [i].Col2); // MinorVersion
+ buffer.WriteUInt16 (rows [i].Col3); // Build
+ buffer.WriteUInt16 (rows [i].Col4); // Revision
+ buffer.WriteUInt32 ((uint) rows [i].Col5); // Flags
+ buffer.WriteBlob (rows [i].Col6); // PublicKeyOrToken
+ buffer.WriteString (rows [i].Col7); // Name
+ buffer.WriteString (rows [i].Col8); // Culture
+ buffer.WriteBlob (rows [i].Col9); // Hash
+ }
+ }
+ }
+
+ sealed class FileTable : MetadataTable<FileRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt32 ((uint) rows [i].Col1);
+ buffer.WriteString (rows [i].Col2);
+ buffer.WriteBlob (rows [i].Col3);
+ }
+ }
+ }
+
+ sealed class ExportedTypeTable : MetadataTable<ExportedTypeRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt32 ((uint) rows [i].Col1);
+ buffer.WriteUInt32 (rows [i].Col2);
+ buffer.WriteString (rows [i].Col3);
+ buffer.WriteString (rows [i].Col4);
+ buffer.WriteCodedRID (rows [i].Col5, CodedIndex.Implementation);
+ }
+ }
+ }
+
+ sealed class ManifestResourceTable : MetadataTable<ManifestResourceRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt32 (rows [i].Col1);
+ buffer.WriteUInt32 ((uint) rows [i].Col2);
+ buffer.WriteString (rows [i].Col3);
+ buffer.WriteCodedRID (rows [i].Col4, CodedIndex.Implementation);
+ }
+ }
+ }
+
+ sealed class NestedClassTable : SortedTable<NestedClassRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteRID (rows [i].Col1, Table.TypeDef); // NestedClass
+ buffer.WriteRID (rows [i].Col2, Table.TypeDef); // EnclosingClass
+ }
+ }
+
+ public override int Compare (NestedClassRow x, NestedClassRow y)
+ {
+ return Compare (x.Col1, y.Col1);
+ }
+ }
+
+ sealed class GenericParamTable : MetadataTable<GenericParamRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteUInt16 (rows [i].Col1); // Number
+ buffer.WriteUInt16 ((ushort) rows [i].Col2); // Flags
+ buffer.WriteCodedRID (rows [i].Col3, CodedIndex.TypeOrMethodDef); // Owner
+ buffer.WriteString (rows [i].Col4); // Name
+ }
+ }
+ }
+
+ sealed class MethodSpecTable : MetadataTable<MethodSpecRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteCodedRID (rows [i].Col1, CodedIndex.MethodDefOrRef); // Method
+ buffer.WriteBlob (rows [i].Col2); // Instantiation
+ }
+ }
+ }
+
+ sealed class GenericParamConstraintTable : MetadataTable<GenericParamConstraintRow> {
+
+ public override void Write (TableHeapBuffer buffer)
+ {
+ for (int i = 0; i < length; i++) {
+ buffer.WriteRID (rows [i].Col1, Table.GenericParam); // Owner
+ buffer.WriteCodedRID (rows [i].Col2, CodedIndex.TypeDefOrRef); // Constraint
+ }
+ }
+ }
+
+ sealed class MetadataBuilder {
+
+ readonly internal ModuleDefinition module;
+ readonly internal ISymbolWriterProvider symbol_writer_provider;
+ readonly internal ISymbolWriter symbol_writer;
+ readonly internal TextMap text_map;
+ readonly internal string fq_name;
+
+ readonly Dictionary<TypeRefRow, MetadataToken> type_ref_map;
+ readonly Dictionary<uint, MetadataToken> type_spec_map;
+ readonly Dictionary<MemberRefRow, MetadataToken> member_ref_map;
+ readonly Dictionary<MethodSpecRow, MetadataToken> method_spec_map;
+ readonly Collection<GenericParameter> generic_parameters;
+ readonly Dictionary<MetadataToken, MetadataToken> method_def_map;
+
+ readonly internal CodeWriter code;
+ readonly internal DataBuffer data;
+ readonly internal ResourceBuffer resources;
+ readonly internal StringHeapBuffer string_heap;
+ readonly internal UserStringHeapBuffer user_string_heap;
+ readonly internal BlobHeapBuffer blob_heap;
+ readonly internal TableHeapBuffer table_heap;
+
+ internal MetadataToken entry_point;
+
+ RID type_rid = 1;
+ RID field_rid = 1;
+ RID method_rid = 1;
+ RID param_rid = 1;
+ RID property_rid = 1;
+ RID event_rid = 1;
+
+ readonly TypeRefTable type_ref_table;
+ readonly TypeDefTable type_def_table;
+ readonly FieldTable field_table;
+ readonly MethodTable method_table;
+ readonly ParamTable param_table;
+ readonly InterfaceImplTable iface_impl_table;
+ readonly MemberRefTable member_ref_table;
+ readonly ConstantTable constant_table;
+ readonly CustomAttributeTable custom_attribute_table;
+ readonly DeclSecurityTable declsec_table;
+ readonly StandAloneSigTable standalone_sig_table;
+ readonly EventMapTable event_map_table;
+ readonly EventTable event_table;
+ readonly PropertyMapTable property_map_table;
+ readonly PropertyTable property_table;
+ readonly TypeSpecTable typespec_table;
+ readonly MethodSpecTable method_spec_table;
+
+ readonly internal bool write_symbols;
+
+ public MetadataBuilder (ModuleDefinition module, string fq_name, ISymbolWriterProvider symbol_writer_provider, ISymbolWriter symbol_writer)
+ {
+ this.module = module;
+ this.text_map = CreateTextMap ();
+ this.fq_name = fq_name;
+ this.symbol_writer_provider = symbol_writer_provider;
+ this.symbol_writer = symbol_writer;
+ this.write_symbols = symbol_writer != null;
+ this.code = new CodeWriter (this);
+ this.data = new DataBuffer ();
+ this.resources = new ResourceBuffer ();
+ this.string_heap = new StringHeapBuffer ();
+ this.user_string_heap = new UserStringHeapBuffer ();
+ this.blob_heap = new BlobHeapBuffer ();
+ this.table_heap = new TableHeapBuffer (module, this);
+
+ this.type_ref_table = GetTable<TypeRefTable> (Table.TypeRef);
+ this.type_def_table = GetTable<TypeDefTable> (Table.TypeDef);
+ this.field_table = GetTable<FieldTable> (Table.Field);
+ this.method_table = GetTable<MethodTable> (Table.Method);
+ this.param_table = GetTable<ParamTable> (Table.Param);
+ this.iface_impl_table = GetTable<InterfaceImplTable> (Table.InterfaceImpl);
+ this.member_ref_table = GetTable<MemberRefTable> (Table.MemberRef);
+ this.constant_table = GetTable<ConstantTable> (Table.Constant);
+ this.custom_attribute_table = GetTable<CustomAttributeTable> (Table.CustomAttribute);
+ this.declsec_table = GetTable<DeclSecurityTable> (Table.DeclSecurity);
+ this.standalone_sig_table = GetTable<StandAloneSigTable> (Table.StandAloneSig);
+ this.event_map_table = GetTable<EventMapTable> (Table.EventMap);
+ this.event_table = GetTable<EventTable> (Table.Event);
+ this.property_map_table = GetTable<PropertyMapTable> (Table.PropertyMap);
+ this.property_table = GetTable<PropertyTable> (Table.Property);
+ this.typespec_table = GetTable<TypeSpecTable> (Table.TypeSpec);
+ this.method_spec_table = GetTable<MethodSpecTable> (Table.MethodSpec);
+
+ var row_equality_comparer = new RowEqualityComparer ();
+ type_ref_map = new Dictionary<TypeRefRow, MetadataToken> (row_equality_comparer);
+ type_spec_map = new Dictionary<uint, MetadataToken> ();
+ member_ref_map = new Dictionary<MemberRefRow, MetadataToken> (row_equality_comparer);
+ method_spec_map = new Dictionary<MethodSpecRow, MetadataToken> (row_equality_comparer);
+ generic_parameters = new Collection<GenericParameter> ();
+ if (write_symbols)
+ method_def_map = new Dictionary<MetadataToken, MetadataToken> ();
+ }
+
+ TextMap CreateTextMap ()
+ {
+ var map = new TextMap ();
+ map.AddMap (TextSegment.ImportAddressTable, module.Architecture == TargetArchitecture.I386 ? 8 : 16);
+ map.AddMap (TextSegment.CLIHeader, 0x48, 8);
+ return map;
+ }
+
+ TTable GetTable<TTable> (Table table) where TTable : MetadataTable, new ()
+ {
+ return table_heap.GetTable<TTable> (table);
+ }
+
+ uint GetStringIndex (string @string)
+ {
+ if (string.IsNullOrEmpty (@string))
+ return 0;
+
+ return string_heap.GetStringIndex (@string);
+ }
+
+ uint GetBlobIndex (ByteBuffer blob)
+ {
+ if (blob.length == 0)
+ return 0;
+
+ return blob_heap.GetBlobIndex (blob);
+ }
+
+ uint GetBlobIndex (byte [] blob)
+ {
+ if (blob.IsNullOrEmpty ())
+ return 0;
+
+ return GetBlobIndex (new ByteBuffer (blob));
+ }
+
+ public void BuildMetadata ()
+ {
+ BuildModule ();
+
+ table_heap.WriteTableHeap ();
+ }
+
+ void BuildModule ()
+ {
+ var table = GetTable<ModuleTable> (Table.Module);
+ table.row = GetStringIndex (module.Name);
+
+ var assembly = module.Assembly;
+
+ if (assembly != null)
+ BuildAssembly ();
+
+ if (module.HasAssemblyReferences)
+ AddAssemblyReferences ();
+
+ if (module.HasModuleReferences)
+ AddModuleReferences ();
+
+ if (module.HasResources)
+ AddResources ();
+
+ if (module.HasExportedTypes)
+ AddExportedTypes ();
+
+ BuildTypes ();
+
+ if (assembly != null) {
+ if (assembly.HasCustomAttributes)
+ AddCustomAttributes (assembly);
+
+ if (assembly.HasSecurityDeclarations)
+ AddSecurityDeclarations (assembly);
+ }
+
+ if (module.HasCustomAttributes)
+ AddCustomAttributes (module);
+
+ if (module.EntryPoint != null)
+ entry_point = LookupToken (module.EntryPoint);
+ }
+
+ void BuildAssembly ()
+ {
+ var assembly = module.Assembly;
+ var name = assembly.Name;
+
+ var table = GetTable<AssemblyTable> (Table.Assembly);
+
+ table.row = new AssemblyRow (
+ name.HashAlgorithm,
+ (ushort) name.Version.Major,
+ (ushort) name.Version.Minor,
+ (ushort) name.Version.Build,
+ (ushort) name.Version.Revision,
+ name.Attributes,
+ GetBlobIndex (name.PublicKey),
+ GetStringIndex (name.Name),
+ GetStringIndex (name.Culture));
+
+ if (assembly.Modules.Count > 1)
+ BuildModules ();
+ }
+
+ void BuildModules ()
+ {
+ var modules = this.module.Assembly.Modules;
+ var table = GetTable<FileTable> (Table.File);
+
+ for (int i = 0; i < modules.Count; i++) {
+ var module = modules [i];
+ if (module.IsMain)
+ continue;
+
+ var parameters = new WriterParameters {
+ SymbolWriterProvider = symbol_writer_provider,
+ };
+
+ var file_name = GetModuleFileName (module.Name);
+ module.Write (file_name, parameters);
+
+ var hash = CryptoService.ComputeHash (file_name);
+
+ table.AddRow (new FileRow (
+ FileAttributes.ContainsMetaData,
+ GetStringIndex (module.Name),
+ GetBlobIndex (hash)));
+ }
+ }
+
+ string GetModuleFileName (string name)
+ {
+ if (string.IsNullOrEmpty (name))
+ throw new NotSupportedException ();
+
+ var path = Path.GetDirectoryName (fq_name);
+ return Path.Combine (path, name);
+ }
+
+ void AddAssemblyReferences ()
+ {
+ var references = module.AssemblyReferences;
+ var table = GetTable<AssemblyRefTable> (Table.AssemblyRef);
+
+ for (int i = 0; i < references.Count; i++) {
+ var reference = references [i];
+
+ var key_or_token = reference.PublicKey.IsNullOrEmpty ()
+ ? reference.PublicKeyToken
+ : reference.PublicKey;
+
+ var rid = table.AddRow (new AssemblyRefRow (
+ (ushort) reference.Version.Major,
+ (ushort) reference.Version.Minor,
+ (ushort) reference.Version.Build,
+ (ushort) reference.Version.Revision,
+ reference.Attributes,
+ GetBlobIndex (key_or_token),
+ GetStringIndex (reference.Name),
+ GetStringIndex (reference.Culture),
+ GetBlobIndex (reference.Hash)));
+
+ reference.token = new MetadataToken (TokenType.AssemblyRef, rid);
+ }
+ }
+
+ void AddModuleReferences ()
+ {
+ var references = module.ModuleReferences;
+ var table = GetTable<ModuleRefTable> (Table.ModuleRef);
+
+ for (int i = 0; i < references.Count; i++) {
+ var reference = references [i];
+
+ reference.token = new MetadataToken (
+ TokenType.ModuleRef,
+ table.AddRow (GetStringIndex (reference.Name)));
+ }
+ }
+
+ void AddResources ()
+ {
+ var resources = module.Resources;
+ var table = GetTable<ManifestResourceTable> (Table.ManifestResource);
+
+ for (int i = 0; i < resources.Count; i++) {
+ var resource = resources [i];
+
+ var row = new ManifestResourceRow (
+ 0,
+ resource.Attributes,
+ GetStringIndex (resource.Name),
+ 0);
+
+ switch (resource.ResourceType) {
+ case ResourceType.Embedded:
+ row.Col1 = AddEmbeddedResource ((EmbeddedResource) resource);
+ break;
+ case ResourceType.Linked:
+ row.Col4 = CodedIndex.Implementation.CompressMetadataToken (
+ new MetadataToken (
+ TokenType.File,
+ AddLinkedResource ((LinkedResource) resource)));
+ break;
+ case ResourceType.AssemblyLinked:
+ row.Col4 = CodedIndex.Implementation.CompressMetadataToken (
+ ((AssemblyLinkedResource) resource).Assembly.MetadataToken);
+ break;
+ default:
+ throw new NotSupportedException ();
+ }
+
+ table.AddRow (row);
+ }
+ }
+
+ uint AddLinkedResource (LinkedResource resource)
+ {
+ var table = GetTable<FileTable> (Table.File);
+
+ var hash = resource.Hash.IsNullOrEmpty ()
+ ? CryptoService.ComputeHash (resource.File)
+ : resource.Hash;
+
+ return (uint) table.AddRow (new FileRow (
+ FileAttributes.ContainsNoMetaData,
+ GetStringIndex (resource.File),
+ GetBlobIndex (hash)));
+ }
+
+ uint AddEmbeddedResource (EmbeddedResource resource)
+ {
+ return resources.AddResource (resource.GetResourceData ());
+ }
+
+ void AddExportedTypes ()
+ {
+ var exported_types = module.ExportedTypes;
+ var table = GetTable<ExportedTypeTable> (Table.ExportedType);
+
+ for (int i = 0; i < exported_types.Count; i++) {
+ var exported_type = exported_types [i];
+
+ var rid = table.AddRow (new ExportedTypeRow (
+ exported_type.Attributes,
+ (uint) exported_type.Identifier,
+ GetStringIndex (exported_type.Name),
+ GetStringIndex (exported_type.Namespace),
+ MakeCodedRID (GetExportedTypeScope (exported_type), CodedIndex.Implementation)));
+
+ exported_type.token = new MetadataToken (TokenType.ExportedType, rid);
+ }
+ }
+
+ MetadataToken GetExportedTypeScope (ExportedType exported_type)
+ {
+ if (exported_type.DeclaringType != null)
+ return exported_type.DeclaringType.MetadataToken;
+
+ var scope = exported_type.Scope;
+ switch (scope.MetadataToken.TokenType) {
+ case TokenType.AssemblyRef:
+ return scope.MetadataToken;
+ case TokenType.ModuleRef:
+ var file_table = GetTable<FileTable> (Table.File);
+ for (int i = 0; i < file_table.length; i++)
+ if (file_table.rows [i].Col2 == GetStringIndex (scope.Name))
+ return new MetadataToken (TokenType.File, i + 1);
+
+ break;
+ }
+
+ throw new NotSupportedException ();
+ }
+
+ void BuildTypes ()
+ {
+ if (!module.HasTypes)
+ return;
+
+ AttachTokens ();
+ AddTypeDefs ();
+ AddGenericParameters ();
+ }
+
+ void AttachTokens ()
+ {
+ var types = module.Types;
+
+ for (int i = 0; i < types.Count; i++)
+ AttachTypeDefToken (types [i]);
+ }
+
+ void AttachTypeDefToken (TypeDefinition type)
+ {
+ type.token = new MetadataToken (TokenType.TypeDef, type_rid++);
+ type.fields_range.Start = field_rid;
+ type.methods_range.Start = method_rid;
+
+ if (type.HasFields)
+ AttachFieldsDefToken (type);
+
+ if (type.HasMethods)
+ AttachMethodsDefToken (type);
+
+ if (type.HasNestedTypes)
+ AttachNestedTypesDefToken (type);
+ }
+
+ void AttachNestedTypesDefToken (TypeDefinition type)
+ {
+ var nested_types = type.NestedTypes;
+ for (int i = 0; i < nested_types.Count; i++)
+ AttachTypeDefToken (nested_types [i]);
+ }
+
+ void AttachFieldsDefToken (TypeDefinition type)
+ {
+ var fields = type.Fields;
+ type.fields_range.Length = (uint) fields.Count;
+ for (int i = 0; i < fields.Count; i++)
+ fields [i].token = new MetadataToken (TokenType.Field, field_rid++);
+ }
+
+ void AttachMethodsDefToken (TypeDefinition type)
+ {
+ var methods = type.Methods;
+ type.methods_range.Length = (uint) methods.Count;
+ for (int i = 0; i < methods.Count; i++) {
+ var method = methods [i];
+ var new_token = new MetadataToken (TokenType.Method, method_rid++);
+
+ if (write_symbols && method.token != MetadataToken.Zero)
+ method_def_map.Add (new_token, method.token);
+
+ method.token = new_token;
+ }
+ }
+
+ public bool TryGetOriginalMethodToken (MetadataToken new_token, out MetadataToken original)
+ {
+ return method_def_map.TryGetValue (new_token, out original);
+ }
+
+ MetadataToken GetTypeToken (TypeReference type)
+ {
+ if (type == null)
+ return MetadataToken.Zero;
+
+ if (type.IsDefinition)
+ return type.token;
+
+ if (type.IsTypeSpecification ())
+ return GetTypeSpecToken (type);
+
+ return GetTypeRefToken (type);
+ }
+
+ MetadataToken GetTypeSpecToken (TypeReference type)
+ {
+ var row = GetBlobIndex (GetTypeSpecSignature (type));
+
+ MetadataToken token;
+ if (type_spec_map.TryGetValue (row, out token))
+ return token;
+
+ return AddTypeSpecification (type, row);
+ }
+
+ MetadataToken AddTypeSpecification (TypeReference type, uint row)
+ {
+ type.token = new MetadataToken (TokenType.TypeSpec, typespec_table.AddRow (row));
+
+ var token = type.token;
+ type_spec_map.Add (row, token);
+ return token;
+ }
+
+ MetadataToken GetTypeRefToken (TypeReference type)
+ {
+ var row = CreateTypeRefRow (type);
+
+ MetadataToken token;
+ if (type_ref_map.TryGetValue (row, out token))
+ return token;
+
+ return AddTypeReference (type, row);
+ }
+
+ TypeRefRow CreateTypeRefRow (TypeReference type)
+ {
+ var scope_token = type.IsNested
+ ? GetTypeRefToken (type.DeclaringType)
+ : type.Scope.MetadataToken;
+
+ return new TypeRefRow (
+ MakeCodedRID (scope_token, CodedIndex.ResolutionScope),
+ GetStringIndex (type.Name),
+ GetStringIndex (type.Namespace));
+ }
+
+ static CodedRID MakeCodedRID (IMetadataTokenProvider provider, CodedIndex index)
+ {
+ return MakeCodedRID (provider.MetadataToken, index);
+ }
+
+ static CodedRID MakeCodedRID (MetadataToken token, CodedIndex index)
+ {
+ return index.CompressMetadataToken (token);
+ }
+
+ MetadataToken AddTypeReference (TypeReference type, TypeRefRow row)
+ {
+ type.token = new MetadataToken (TokenType.TypeRef, type_ref_table.AddRow (row));
+
+ var token = type.token;
+ type_ref_map.Add (row, token);
+ return token;
+ }
+
+ void AddTypeDefs ()
+ {
+ var types = module.Types;
+
+ for (int i = 0; i < types.Count; i++)
+ AddType (types [i]);
+ }
+
+ void AddType (TypeDefinition type)
+ {
+ type_def_table.AddRow (new TypeDefRow (
+ type.Attributes,
+ GetStringIndex (type.Name),
+ GetStringIndex (type.Namespace),
+ MakeCodedRID (GetTypeToken (type.BaseType), CodedIndex.TypeDefOrRef),
+ type.fields_range.Start,
+ type.methods_range.Start));
+
+ if (type.HasGenericParameters)
+ AddGenericParameters (type);
+
+ if (type.HasInterfaces)
+ AddInterfaces (type);
+
+ if (type.HasLayoutInfo)
+ AddLayoutInfo (type);
+
+ if (type.HasFields)
+ AddFields (type);
+
+ if (type.HasMethods)
+ AddMethods (type);
+
+ if (type.HasProperties)
+ AddProperties (type);
+
+ if (type.HasEvents)
+ AddEvents (type);
+
+ if (type.HasCustomAttributes)
+ AddCustomAttributes (type);
+
+ if (type.HasSecurityDeclarations)
+ AddSecurityDeclarations (type);
+
+ if (type.HasNestedTypes)
+ AddNestedTypes (type);
+ }
+
+ void AddGenericParameters (IGenericParameterProvider owner)
+ {
+ var parameters = owner.GenericParameters;
+
+ for (int i = 0; i < parameters.Count; i++)
+ generic_parameters.Add (parameters [i]);
+ }
+
+ sealed class GenericParameterComparer : IComparer<GenericParameter> {
+
+ public int Compare (GenericParameter a, GenericParameter b)
+ {
+ var a_owner = MakeCodedRID (a.Owner, CodedIndex.TypeOrMethodDef);
+ var b_owner = MakeCodedRID (b.Owner, CodedIndex.TypeOrMethodDef);
+ if (a_owner == b_owner) {
+ var a_pos = a.Position;
+ var b_pos = b.Position;
+ return a_pos == b_pos ? 0 : a_pos > b_pos ? 1 : -1;
+ }
+
+ return a_owner > b_owner ? 1 : -1;
+ }
+ }
+
+ void AddGenericParameters ()
+ {
+ var items = this.generic_parameters.items;
+ var size = this.generic_parameters.size;
+ Array.Sort (items, 0, size, new GenericParameterComparer ());
+
+ var generic_param_table = GetTable<GenericParamTable> (Table.GenericParam);
+ var generic_param_constraint_table = GetTable<GenericParamConstraintTable> (Table.GenericParamConstraint);
+
+ for (int i = 0; i < size; i++) {
+ var generic_parameter = items [i];
+
+ var rid = generic_param_table.AddRow (new GenericParamRow (
+ (ushort) generic_parameter.Position,
+ generic_parameter.Attributes,
+ MakeCodedRID (generic_parameter.Owner, CodedIndex.TypeOrMethodDef),
+ GetStringIndex (generic_parameter.Name)));
+
+ generic_parameter.token = new MetadataToken (TokenType.GenericParam, rid);
+
+ if (generic_parameter.HasConstraints)
+ AddConstraints (generic_parameter, generic_param_constraint_table);
+
+ if (generic_parameter.HasCustomAttributes)
+ AddCustomAttributes (generic_parameter);
+ }
+ }
+
+ void AddConstraints (GenericParameter generic_parameter, GenericParamConstraintTable table)
+ {
+ var constraints = generic_parameter.Constraints;
+
+ var rid = generic_parameter.token.RID;
+
+ for (int i = 0; i < constraints.Count; i++)
+ table.AddRow (new GenericParamConstraintRow (
+ rid,
+ MakeCodedRID (GetTypeToken (constraints [i]), CodedIndex.TypeDefOrRef)));
+ }
+
+ void AddInterfaces (TypeDefinition type)
+ {
+ var interfaces = type.Interfaces;
+ var type_rid = type.token.RID;
+
+ for (int i = 0; i < interfaces.Count; i++)
+ iface_impl_table.AddRow (new InterfaceImplRow (
+ type_rid,
+ MakeCodedRID (GetTypeToken (interfaces [i]), CodedIndex.TypeDefOrRef)));
+ }
+
+ void AddLayoutInfo (TypeDefinition type)
+ {
+ var table = GetTable<ClassLayoutTable> (Table.ClassLayout);
+
+ table.AddRow (new ClassLayoutRow (
+ (ushort) type.PackingSize,
+ (uint) type.ClassSize,
+ type.token.RID));
+ }
+
+ void AddNestedTypes (TypeDefinition type)
+ {
+ var nested_types = type.NestedTypes;
+ var nested_table = GetTable<NestedClassTable> (Table.NestedClass);
+
+ for (int i = 0; i < nested_types.Count; i++) {
+ var nested = nested_types [i];
+ AddType (nested);
+ nested_table.AddRow (new NestedClassRow (nested.token.RID, type.token.RID));
+ }
+ }
+
+ void AddFields (TypeDefinition type)
+ {
+ var fields = type.Fields;
+
+ for (int i = 0; i < fields.Count; i++)
+ AddField (fields [i]);
+ }
+
+ void AddField (FieldDefinition field)
+ {
+ field_table.AddRow (new FieldRow (
+ field.Attributes,
+ GetStringIndex (field.Name),
+ GetBlobIndex (GetFieldSignature (field))));
+
+ if (!field.InitialValue.IsNullOrEmpty ())
+ AddFieldRVA (field);
+
+ if (field.HasLayoutInfo)
+ AddFieldLayout (field);
+
+ if (field.HasCustomAttributes)
+ AddCustomAttributes (field);
+
+ if (field.HasConstant)
+ AddConstant (field, field.FieldType);
+
+ if (field.HasMarshalInfo)
+ AddMarshalInfo (field);
+ }
+
+ void AddFieldRVA (FieldDefinition field)
+ {
+ var table = GetTable<FieldRVATable> (Table.FieldRVA);
+ table.AddRow (new FieldRVARow (
+ data.AddData (field.InitialValue),
+ field.token.RID));
+ }
+
+ void AddFieldLayout (FieldDefinition field)
+ {
+ var table = GetTable<FieldLayoutTable> (Table.FieldLayout);
+ table.AddRow (new FieldLayoutRow ((uint) field.Offset, field.token.RID));
+ }
+
+ void AddMethods (TypeDefinition type)
+ {
+ var methods = type.Methods;
+
+ for (int i = 0; i < methods.Count; i++)
+ AddMethod (methods [i]);
+ }
+
+ void AddMethod (MethodDefinition method)
+ {
+ method_table.AddRow (new MethodRow (
+ method.HasBody ? code.WriteMethodBody (method) : 0,
+ method.ImplAttributes,
+ method.Attributes,
+ GetStringIndex (method.Name),
+ GetBlobIndex (GetMethodSignature (method)),
+ param_rid));
+
+ AddParameters (method);
+
+ if (method.HasGenericParameters)
+ AddGenericParameters (method);
+
+ if (method.IsPInvokeImpl)
+ AddPInvokeInfo (method);
+
+ if (method.HasCustomAttributes)
+ AddCustomAttributes (method);
+
+ if (method.HasSecurityDeclarations)
+ AddSecurityDeclarations (method);
+
+ if (method.HasOverrides)
+ AddOverrides (method);
+ }
+
+ void AddParameters (MethodDefinition method)
+ {
+ var return_parameter = method.MethodReturnType.parameter;
+
+ if (return_parameter != null && RequiresParameterRow (return_parameter))
+ AddParameter (0, return_parameter, param_table);
+
+ if (!method.HasParameters)
+ return;
+
+ var parameters = method.Parameters;
+
+ for (int i = 0; i < parameters.Count; i++) {
+ var parameter = parameters [i];
+ if (!RequiresParameterRow (parameter))
+ continue;
+
+ AddParameter ((ushort) (i + 1), parameter, param_table);
+ }
+ }
+
+ void AddPInvokeInfo (MethodDefinition method)
+ {
+ var pinvoke = method.PInvokeInfo;
+ if (pinvoke == null)
+ throw new ArgumentException ();
+
+ var table = GetTable<ImplMapTable> (Table.ImplMap);
+ table.AddRow (new ImplMapRow (
+ pinvoke.Attributes,
+ MakeCodedRID (method, CodedIndex.MemberForwarded),
+ GetStringIndex (pinvoke.EntryPoint),
+ pinvoke.Module.MetadataToken.RID));
+ }
+
+ void AddOverrides (MethodDefinition method)
+ {
+ var overrides = method.Overrides;
+ var table = GetTable<MethodImplTable> (Table.MethodImpl);
+
+ for (int i = 0; i < overrides.Count; i++) {
+ table.AddRow (new MethodImplRow (
+ method.DeclaringType.token.RID,
+ MakeCodedRID (method, CodedIndex.MethodDefOrRef),
+ MakeCodedRID (LookupToken (overrides [i]), CodedIndex.MethodDefOrRef)));
+ }
+ }
+
+ static bool RequiresParameterRow (ParameterDefinition parameter)
+ {
+ return !string.IsNullOrEmpty (parameter.Name)
+ || parameter.Attributes != ParameterAttributes.None
+ || parameter.HasMarshalInfo
+ || parameter.HasConstant
+ || parameter.HasCustomAttributes;
+ }
+
+ void AddParameter (ushort sequence, ParameterDefinition parameter, ParamTable table)
+ {
+ table.AddRow (new ParamRow (
+ parameter.Attributes,
+ sequence,
+ GetStringIndex (parameter.Name)));
+
+ parameter.token = new MetadataToken (TokenType.Param, param_rid++);
+
+ if (parameter.HasCustomAttributes)
+ AddCustomAttributes (parameter);
+
+ if (parameter.HasConstant)
+ AddConstant (parameter, parameter.ParameterType);
+
+ if (parameter.HasMarshalInfo)
+ AddMarshalInfo (parameter);
+ }
+
+ void AddMarshalInfo (IMarshalInfoProvider owner)
+ {
+ var table = GetTable<FieldMarshalTable> (Table.FieldMarshal);
+
+ table.AddRow (new FieldMarshalRow (
+ MakeCodedRID (owner, CodedIndex.HasFieldMarshal),
+ GetBlobIndex (GetMarshalInfoSignature (owner))));
+ }
+
+ void AddProperties (TypeDefinition type)
+ {
+ var properties = type.Properties;
+
+ property_map_table.AddRow (new PropertyMapRow (type.token.RID, property_rid));
+
+ for (int i = 0; i < properties.Count; i++)
+ AddProperty (properties [i]);
+ }
+
+ void AddProperty (PropertyDefinition property)
+ {
+ property_table.AddRow (new PropertyRow (
+ property.Attributes,
+ GetStringIndex (property.Name),
+ GetBlobIndex (GetPropertySignature (property))));
+ property.token = new MetadataToken (TokenType.Property, property_rid++);
+
+ var method = property.GetMethod;
+ if (method != null)
+ AddSemantic (MethodSemanticsAttributes.Getter, property, method);
+
+ method = property.SetMethod;
+ if (method != null)
+ AddSemantic (MethodSemanticsAttributes.Setter, property, method);
+
+ if (property.HasOtherMethods)
+ AddOtherSemantic (property, property.OtherMethods);
+
+ if (property.HasCustomAttributes)
+ AddCustomAttributes (property);
+
+ if (property.HasConstant)
+ AddConstant (property, property.PropertyType);
+ }
+
+ void AddOtherSemantic (IMetadataTokenProvider owner, Collection<MethodDefinition> others)
+ {
+ for (int i = 0; i < others.Count; i++)
+ AddSemantic (MethodSemanticsAttributes.Other, owner, others [i]);
+ }
+
+ void AddEvents (TypeDefinition type)
+ {
+ var events = type.Events;
+
+ event_map_table.AddRow (new EventMapRow (type.token.RID, event_rid));
+
+ for (int i = 0; i < events.Count; i++)
+ AddEvent (events [i]);
+ }
+
+ void AddEvent (EventDefinition @event)
+ {
+ event_table.AddRow (new EventRow (
+ @event.Attributes,
+ GetStringIndex (@event.Name),
+ MakeCodedRID (GetTypeToken (@event.EventType), CodedIndex.TypeDefOrRef)));
+ @event.token = new MetadataToken (TokenType.Event, event_rid++);
+
+ var method = @event.AddMethod;
+ if (method != null)
+ AddSemantic (MethodSemanticsAttributes.AddOn, @event, method);
+
+ method = @event.InvokeMethod;
+ if (method != null)
+ AddSemantic (MethodSemanticsAttributes.Fire, @event, method);
+
+ method = @event.RemoveMethod;
+ if (method != null)
+ AddSemantic (MethodSemanticsAttributes.RemoveOn, @event, method);
+
+ if (@event.HasOtherMethods)
+ AddOtherSemantic (@event, @event.OtherMethods);
+
+ if (@event.HasCustomAttributes)
+ AddCustomAttributes (@event);
+ }
+
+ void AddSemantic (MethodSemanticsAttributes semantics, IMetadataTokenProvider provider, MethodDefinition method)
+ {
+ method.SemanticsAttributes = semantics;
+ var table = GetTable<MethodSemanticsTable> (Table.MethodSemantics);
+
+ table.AddRow (new MethodSemanticsRow (
+ semantics,
+ method.token.RID,
+ MakeCodedRID (provider, CodedIndex.HasSemantics)));
+ }
+
+ void AddConstant (IConstantProvider owner, TypeReference type)
+ {
+ var constant = owner.Constant;
+ var etype = GetConstantType (type, constant);
+
+ constant_table.AddRow (new ConstantRow (
+ etype,
+ MakeCodedRID (owner.MetadataToken, CodedIndex.HasConstant),
+ GetBlobIndex (GetConstantSignature (etype, constant))));
+ }
+
+ static ElementType GetConstantType (TypeReference constant_type, object constant)
+ {
+ if (constant == null)
+ return ElementType.Class;
+
+ var etype = constant_type.etype;
+ switch (etype) {
+ case ElementType.None:
+ var type = constant_type.CheckedResolve ();
+ if (type.IsEnum)
+ return GetConstantType (type.GetEnumUnderlyingType (), constant);
+
+ return ElementType.Class;
+ case ElementType.String:
+ return ElementType.String;
+ case ElementType.Object:
+ return GetConstantType (constant.GetType ());
+ case ElementType.Array:
+ case ElementType.SzArray:
+ case ElementType.MVar:
+ case ElementType.Var:
+ return ElementType.Class;
+ case ElementType.GenericInst:
+ case ElementType.CModOpt:
+ case ElementType.CModReqD:
+ case ElementType.ByRef:
+ case ElementType.Sentinel:
+ return GetConstantType (((TypeSpecification) constant_type).ElementType, constant);
+ case ElementType.Boolean:
+ case ElementType.Char:
+ case ElementType.I:
+ case ElementType.I1:
+ case ElementType.I2:
+ case ElementType.I4:
+ case ElementType.I8:
+ case ElementType.U:
+ case ElementType.U1:
+ case ElementType.U2:
+ case ElementType.U4:
+ case ElementType.U8:
+ case ElementType.R4:
+ case ElementType.R8:
+ return GetConstantType (constant.GetType ());
+ default:
+ return etype;
+ }
+ }
+
+ static ElementType GetConstantType (Type type)
+ {
+ switch (Type.GetTypeCode (type)) {
+ case TypeCode.Boolean:
+ return ElementType.Boolean;
+ case TypeCode.Byte:
+ return ElementType.U1;
+ case TypeCode.SByte:
+ return ElementType.I1;
+ case TypeCode.Char:
+ return ElementType.Char;
+ case TypeCode.Int16:
+ return ElementType.I2;
+ case TypeCode.UInt16:
+ return ElementType.U2;
+ case TypeCode.Int32:
+ return ElementType.I4;
+ case TypeCode.UInt32:
+ return ElementType.U4;
+ case TypeCode.Int64:
+ return ElementType.I8;
+ case TypeCode.UInt64:
+ return ElementType.U8;
+ case TypeCode.Single:
+ return ElementType.R4;
+ case TypeCode.Double:
+ return ElementType.R8;
+ case TypeCode.String:
+ return ElementType.String;
+ default:
+ throw new NotSupportedException (type.FullName);
+ }
+ }
+
+ void AddCustomAttributes (ICustomAttributeProvider owner)
+ {
+ var custom_attributes = owner.CustomAttributes;
+
+ for (int i = 0; i < custom_attributes.Count; i++) {
+ var attribute = custom_attributes [i];
+
+ custom_attribute_table.AddRow (new CustomAttributeRow (
+ MakeCodedRID (owner, CodedIndex.HasCustomAttribute),
+ MakeCodedRID (LookupToken (attribute.Constructor), CodedIndex.CustomAttributeType),
+ GetBlobIndex (GetCustomAttributeSignature (attribute))));
+ }
+ }
+
+ void AddSecurityDeclarations (ISecurityDeclarationProvider owner)
+ {
+ var declarations = owner.SecurityDeclarations;
+
+ for (int i = 0; i < declarations.Count; i++) {
+ var declaration = declarations [i];
+
+ declsec_table.AddRow (new DeclSecurityRow (
+ declaration.Action,
+ MakeCodedRID (owner, CodedIndex.HasDeclSecurity),
+ GetBlobIndex (GetSecurityDeclarationSignature (declaration))));
+ }
+ }
+
+ MetadataToken GetMemberRefToken (MemberReference member)
+ {
+ var row = CreateMemberRefRow (member);
+
+ MetadataToken token;
+ if (member_ref_map.TryGetValue (row, out token))
+ return token;
+
+ AddMemberReference (member, row);
+
+ return member.token;
+ }
+
+ MemberRefRow CreateMemberRefRow (MemberReference member)
+ {
+ return new MemberRefRow (
+ MakeCodedRID (GetTypeToken (member.DeclaringType), CodedIndex.MemberRefParent),
+ GetStringIndex (member.Name),
+ GetBlobIndex (GetMemberRefSignature (member)));
+ }
+
+ void AddMemberReference (MemberReference member, MemberRefRow row)
+ {
+ member.token = new MetadataToken (TokenType.MemberRef, member_ref_table.AddRow (row));
+ member_ref_map.Add (row, member.token);
+ }
+
+ MetadataToken GetMethodSpecToken (MethodSpecification method_spec)
+ {
+ var row = CreateMethodSpecRow (method_spec);
+
+ MetadataToken token;
+ if (method_spec_map.TryGetValue (row, out token))
+ return token;
+
+ AddMethodSpecification (method_spec, row);
+
+ return method_spec.token;
+ }
+
+ void AddMethodSpecification (MethodSpecification method_spec, MethodSpecRow row)
+ {
+ method_spec.token = new MetadataToken (TokenType.MethodSpec, method_spec_table.AddRow (row));
+ method_spec_map.Add (row, method_spec.token);
+ }
+
+ MethodSpecRow CreateMethodSpecRow (MethodSpecification method_spec)
+ {
+ return new MethodSpecRow (
+ MakeCodedRID (LookupToken (method_spec.ElementMethod), CodedIndex.MethodDefOrRef),
+ GetBlobIndex (GetMethodSpecSignature (method_spec)));
+ }
+
+ SignatureWriter CreateSignatureWriter ()
+ {
+ return new SignatureWriter (this);
+ }
+
+ SignatureWriter GetMethodSpecSignature (MethodSpecification method_spec)
+ {
+ if (!method_spec.IsGenericInstance)
+ throw new NotSupportedException ();
+
+ var generic_instance = (GenericInstanceMethod) method_spec;
+
+ var signature = CreateSignatureWriter ();
+ signature.WriteByte (0x0a);
+
+ signature.WriteGenericInstanceSignature (generic_instance);
+
+ return signature;
+ }
+
+ public uint AddStandAloneSignature (uint signature)
+ {
+ return (uint) standalone_sig_table.AddRow (signature);
+ }
+
+ public uint GetLocalVariableBlobIndex (Collection<VariableDefinition> variables)
+ {
+ return GetBlobIndex (GetVariablesSignature (variables));
+ }
+
+ public uint GetCallSiteBlobIndex (CallSite call_site)
+ {
+ return GetBlobIndex (GetMethodSignature (call_site));
+ }
+
+ SignatureWriter GetVariablesSignature (Collection<VariableDefinition> variables)
+ {
+ var signature = CreateSignatureWriter ();
+ signature.WriteByte (0x7);
+ signature.WriteCompressedUInt32 ((uint) variables.Count);
+ for (int i = 0; i < variables.Count; i++)
+ signature.WriteTypeSignature (variables [i].VariableType);
+ return signature;
+ }
+
+ SignatureWriter GetFieldSignature (FieldReference field)
+ {
+ var signature = CreateSignatureWriter ();
+ signature.WriteByte (0x6);
+ signature.WriteTypeSignature (field.FieldType);
+ return signature;
+ }
+
+ SignatureWriter GetMethodSignature (IMethodSignature method)
+ {
+ var signature = CreateSignatureWriter ();
+ signature.WriteMethodSignature (method);
+ return signature;
+ }
+
+ SignatureWriter GetMemberRefSignature (MemberReference member)
+ {
+ var field = member as FieldReference;
+ if (field != null)
+ return GetFieldSignature (field);
+
+ var method = member as MethodReference;
+ if (method != null)
+ return GetMethodSignature (method);
+
+ throw new NotSupportedException ();
+ }
+
+ SignatureWriter GetPropertySignature (PropertyDefinition property)
+ {
+ var signature = CreateSignatureWriter ();
+ byte calling_convention = 0x8;
+ if (property.HasThis)
+ calling_convention |= 0x20;
+
+ uint param_count = 0;
+ Collection<ParameterDefinition> parameters = null;
+
+ if (property.HasParameters) {
+ parameters = property.Parameters;
+ param_count = (uint) parameters.Count;
+ }
+
+ signature.WriteByte (calling_convention);
+ signature.WriteCompressedUInt32 (param_count);
+ signature.WriteTypeSignature (property.PropertyType);
+
+ if (param_count == 0)
+ return signature;
+
+ for (int i = 0; i < param_count; i++)
+ signature.WriteTypeSignature (parameters [i].ParameterType);
+
+ return signature;
+ }
+
+ SignatureWriter GetTypeSpecSignature (TypeReference type)
+ {
+ var signature = CreateSignatureWriter ();
+ signature.WriteTypeSignature (type);
+ return signature;
+ }
+
+ SignatureWriter GetConstantSignature (ElementType type, object value)
+ {
+ var signature = CreateSignatureWriter ();
+
+ switch (type) {
+ case ElementType.Array:
+ case ElementType.SzArray:
+ case ElementType.Class:
+ case ElementType.Object:
+ case ElementType.Var:
+ case ElementType.MVar:
+ signature.WriteInt32 (0);
+ break;
+ case ElementType.String:
+ signature.WriteConstantString ((string) value);
+ break;
+ default:
+ signature.WriteConstantPrimitive (value);
+ break;
+ }
+
+ return signature;
+ }
+
+ SignatureWriter GetCustomAttributeSignature (CustomAttribute attribute)
+ {
+ var signature = CreateSignatureWriter ();
+ if (!attribute.resolved) {
+ signature.WriteBytes (attribute.GetBlob ());
+ return signature;
+ }
+
+ signature.WriteUInt16 (0x0001);
+
+ signature.WriteCustomAttributeConstructorArguments (attribute);
+
+ signature.WriteCustomAttributeNamedArguments (attribute);
+
+ return signature;
+ }
+
+ SignatureWriter GetSecurityDeclarationSignature (SecurityDeclaration declaration)
+ {
+ var signature = CreateSignatureWriter ();
+ if (!declaration.resolved) {
+ signature.WriteBytes (declaration.GetBlob ());
+ return signature;
+ }
+
+ signature.WriteByte ((byte) '.');
+
+ var attributes = declaration.security_attributes;
+ if (attributes == null)
+ throw new NotSupportedException ();
+
+ signature.WriteCompressedUInt32 ((uint) attributes.Count);
+
+ for (int i = 0; i < attributes.Count; i++)
+ signature.WriteSecurityAttribute (attributes [i]);
+
+ return signature;
+ }
+
+ SignatureWriter GetMarshalInfoSignature (IMarshalInfoProvider owner)
+ {
+ var signature = CreateSignatureWriter ();
+
+ signature.WriteMarshalInfo (owner.MarshalInfo);
+
+ return signature;
+ }
+
+ public MetadataToken LookupToken (IMetadataTokenProvider provider)
+ {
+ if (provider == null)
+ throw new ArgumentNullException ();
+
+ var token = provider.MetadataToken;
+
+ switch (token.TokenType) {
+ case TokenType.TypeDef:
+ case TokenType.Method:
+ case TokenType.Field:
+ case TokenType.Event:
+ case TokenType.Property:
+ return token;
+ case TokenType.TypeRef:
+ case TokenType.TypeSpec:
+ case TokenType.GenericParam:
+ return GetTypeToken ((TypeReference) provider);
+ case TokenType.MethodSpec:
+ return GetMethodSpecToken ((MethodSpecification) provider);
+ case TokenType.MemberRef:
+ return GetMemberRefToken ((MemberReference) provider);
+ default:
+ throw new NotSupportedException ();
+ }
+ }
+ }
+
+ sealed class SignatureWriter : ByteBuffer {
+
+ readonly MetadataBuilder metadata;
+
+ public SignatureWriter (MetadataBuilder metadata)
+ : base (6)
+ {
+ this.metadata = metadata;
+ }
+
+ public void WriteElementType (ElementType element_type)
+ {
+ WriteByte ((byte) element_type);
+ }
+
+ public void WriteUTF8String (string @string)
+ {
+ if (@string == null) {
+ WriteByte (0xff);
+ return;
+ }
+
+ var bytes = Encoding.UTF8.GetBytes (@string);
+ WriteCompressedUInt32 ((uint) bytes.Length);
+ WriteBytes (bytes);
+ }
+
+ public void WriteMethodSignature (IMethodSignature method)
+ {
+ byte calling_convention = (byte) method.CallingConvention;
+ if (method.HasThis)
+ calling_convention |= 0x20;
+ if (method.ExplicitThis)
+ calling_convention |= 0x40;
+
+ var generic_provider = method as IGenericParameterProvider;
+ var generic_arity = generic_provider != null && generic_provider.HasGenericParameters
+ ? generic_provider.GenericParameters.Count
+ : 0;
+
+ if (generic_arity > 0)
+ calling_convention |= 0x10;
+
+ var param_count = method.HasParameters ? method.Parameters.Count : 0;
+
+ WriteByte (calling_convention);
+
+ if (generic_arity > 0)
+ WriteCompressedUInt32 ((uint) generic_arity);
+
+ WriteCompressedUInt32 ((uint) param_count);
+ WriteTypeSignature (method.ReturnType);
+
+ if (param_count == 0)
+ return;
+
+ var parameters = method.Parameters;
+
+ for (int i = 0; i < param_count; i++)
+ WriteTypeSignature (parameters [i].ParameterType);
+ }
+
+ uint MakeTypeDefOrRefCodedRID (TypeReference type)
+ {
+ return CodedIndex.TypeDefOrRef.CompressMetadataToken (metadata.LookupToken (type));
+ }
+
+ public void WriteTypeSignature (TypeReference type)
+ {
+ if (type == null)
+ throw new ArgumentNullException ();
+
+ var etype = type.etype;
+
+ switch (etype) {
+ case ElementType.MVar:
+ case ElementType.Var: {
+ var generic_parameter = (GenericParameter) type;
+
+ WriteElementType (etype);
+ var position = generic_parameter.Position;
+ if (position == -1)
+ throw new NotSupportedException ();
+
+ WriteCompressedUInt32 ((uint) position);
+ break;
+ }
+
+ case ElementType.GenericInst: {
+ var generic_instance = (GenericInstanceType) type;
+ WriteElementType (ElementType.GenericInst);
+ WriteElementType (generic_instance.IsValueType ? ElementType.ValueType : ElementType.Class);
+ WriteCompressedUInt32 (MakeTypeDefOrRefCodedRID (generic_instance.ElementType));
+
+ WriteGenericInstanceSignature (generic_instance);
+ break;
+ }
+
+ case ElementType.Ptr:
+ case ElementType.ByRef:
+ case ElementType.Pinned:
+ case ElementType.Sentinel: {
+ var type_spec = (TypeSpecification) type;
+ WriteElementType (etype);
+ WriteTypeSignature (type_spec.ElementType);
+ break;
+ }
+
+ case ElementType.FnPtr: {
+ var fptr = (FunctionPointerType) type;
+ WriteElementType (ElementType.FnPtr);
+ WriteMethodSignature (fptr);
+ break;
+ }
+
+ case ElementType.CModOpt:
+ case ElementType.CModReqD: {
+ var modifier = (IModifierType) type;
+ WriteModifierSignature (etype, modifier);
+ break;
+ }
+
+ case ElementType.Array: {
+ var array = (ArrayType) type;
+ if (!array.IsVector) {
+ WriteArrayTypeSignature (array);
+ break;
+ }
+
+ WriteElementType (ElementType.SzArray);
+ WriteTypeSignature (array.ElementType);
+ break;
+ }
+
+ case ElementType.None: {
+ WriteElementType (type.IsValueType ? ElementType.ValueType : ElementType.Class);
+ WriteCompressedUInt32 (MakeTypeDefOrRefCodedRID (type));
+ break;
+ }
+
+ default:
+ if (!TryWriteElementType (type))
+ throw new NotSupportedException ();
+
+ break;
+
+ }
+ }
+
+ void WriteArrayTypeSignature (ArrayType array)
+ {
+ WriteElementType (ElementType.Array);
+ WriteTypeSignature (array.ElementType);
+
+ var dimensions = array.Dimensions;
+ var rank = dimensions.Count;
+
+ WriteCompressedUInt32 ((uint) rank);
+
+ var sized = 0;
+ var lbounds = 0;
+
+ for (int i = 0; i < rank; i++) {
+ var dimension = dimensions [i];
+
+ if (dimension.UpperBound.HasValue) {
+ sized++;
+ lbounds++;
+ } else if (dimension.LowerBound.HasValue)
+ lbounds++;
+ }
+
+ var sizes = new int [sized];
+ var low_bounds = new int [lbounds];
+
+ for (int i = 0; i < lbounds; i++) {
+ var dimension = dimensions [i];
+ low_bounds [i] = dimension.LowerBound.GetValueOrDefault ();
+ if (dimension.UpperBound.HasValue)
+ sizes [i] = dimension.UpperBound.Value - low_bounds [i] + 1;
+ }
+
+ WriteCompressedUInt32 ((uint) sized);
+ for (int i = 0; i < sized; i++)
+ WriteCompressedUInt32 ((uint) sizes [i]);
+
+ WriteCompressedUInt32 ((uint) lbounds);
+ for (int i = 0; i < lbounds; i++)
+ WriteCompressedInt32 (low_bounds [i]);
+ }
+
+ public void WriteGenericInstanceSignature (IGenericInstance instance)
+ {
+ var generic_arguments = instance.GenericArguments;
+ var arity = generic_arguments.Count;
+
+ WriteCompressedUInt32 ((uint) arity);
+ for (int i = 0; i < arity; i++)
+ WriteTypeSignature (generic_arguments [i]);
+ }
+
+ void WriteModifierSignature (ElementType element_type, IModifierType type)
+ {
+ WriteElementType (element_type);
+ WriteCompressedUInt32 (MakeTypeDefOrRefCodedRID (type.ModifierType));
+ WriteTypeSignature (type.ElementType);
+ }
+
+ bool TryWriteElementType (TypeReference type)
+ {
+ var element = type.etype;
+
+ if (element == ElementType.None)
+ return false;
+
+ WriteElementType (element);
+ return true;
+ }
+
+ public void WriteConstantString (string value)
+ {
+ WriteBytes (Encoding.Unicode.GetBytes (value));
+ }
+
+ public void WriteConstantPrimitive (object value)
+ {
+ WritePrimitiveValue (value);
+ }
+
+ public void WriteCustomAttributeConstructorArguments (CustomAttribute attribute)
+ {
+ if (!attribute.HasConstructorArguments)
+ return;
+
+ var arguments = attribute.ConstructorArguments;
+ var parameters = attribute.Constructor.Parameters;
+
+ if (parameters.Count != arguments.Count)
+ throw new InvalidOperationException ();
+
+ for (int i = 0; i < arguments.Count; i++)
+ WriteCustomAttributeFixedArgument (parameters [i].ParameterType, arguments [i]);
+ }
+
+ void WriteCustomAttributeFixedArgument (TypeReference type, CustomAttributeArgument argument)
+ {
+ if (type.IsArray) {
+ WriteCustomAttributeFixedArrayArgument ((ArrayType) type, argument);
+ return;
+ }
+
+ WriteCustomAttributeElement (type, argument);
+ }
+
+ void WriteCustomAttributeFixedArrayArgument (ArrayType type, CustomAttributeArgument argument)
+ {
+ var values = argument.Value as CustomAttributeArgument [];
+
+ if (values == null) {
+ WriteUInt32 (0xffffffff);
+ return;
+ }
+
+ WriteInt32 (values.Length);
+
+ if (values.Length == 0)
+ return;
+
+ var element_type = type.ElementType;
+
+ for (int i = 0; i < values.Length; i++)
+ WriteCustomAttributeElement (element_type, values [i]);
+ }
+
+ void WriteCustomAttributeElement (TypeReference type, CustomAttributeArgument argument)
+ {
+ if (type.IsArray) {
+ WriteCustomAttributeFixedArrayArgument ((ArrayType) type, argument);
+ return;
+ }
+
+ if (type.etype == ElementType.Object) {
+ WriteCustomAttributeFieldOrPropType (argument.Type);
+ WriteCustomAttributeElement (argument.Type, argument);
+ return;
+ }
+
+ WriteCustomAttributeValue (type, argument.Value);
+ }
+
+ void WriteCustomAttributeValue (TypeReference type, object value)
+ {
+ var etype = type.etype;
+
+ switch (etype) {
+ case ElementType.String:
+ var @string = (string) value;
+ if (@string == null)
+ WriteByte (0xff);
+ else
+ WriteUTF8String (@string);
+ break;
+ case ElementType.None:
+ if (type.IsTypeOf ("System", "Type"))
+ WriteTypeReference ((TypeReference) value);
+ else
+ WriteCustomAttributeEnumValue (type, value);
+ break;
+ default:
+ WritePrimitiveValue (value);
+ break;
+ }
+ }
+
+ void WritePrimitiveValue (object value)
+ {
+ if (value == null)
+ throw new ArgumentNullException ();
+
+ switch (Type.GetTypeCode (value.GetType ())) {
+ case TypeCode.Boolean:
+ WriteByte ((byte) (((bool) value) ? 1 : 0));
+ break;
+ case TypeCode.Byte:
+ WriteByte ((byte) value);
+ break;
+ case TypeCode.SByte:
+ WriteSByte ((sbyte) value);
+ break;
+ case TypeCode.Int16:
+ WriteInt16 ((short) value);
+ break;
+ case TypeCode.UInt16:
+ WriteUInt16 ((ushort) value);
+ break;
+ case TypeCode.Char:
+ WriteInt16 ((short) (char) value);
+ break;
+ case TypeCode.Int32:
+ WriteInt32 ((int) value);
+ break;
+ case TypeCode.UInt32:
+ WriteUInt32 ((uint) value);
+ break;
+ case TypeCode.Single:
+ WriteSingle ((float) value);
+ break;
+ case TypeCode.Int64:
+ WriteInt64 ((long) value);
+ break;
+ case TypeCode.UInt64:
+ WriteUInt64 ((ulong) value);
+ break;
+ case TypeCode.Double:
+ WriteDouble ((double) value);
+ break;
+ default:
+ throw new NotSupportedException (value.GetType ().FullName);
+ }
+ }
+
+ void WriteCustomAttributeEnumValue (TypeReference enum_type, object value)
+ {
+ var type = enum_type.CheckedResolve ();
+ if (!type.IsEnum)
+ throw new ArgumentException ();
+
+ WriteCustomAttributeValue (type.GetEnumUnderlyingType (), value);
+ }
+
+ void WriteCustomAttributeFieldOrPropType (TypeReference type)
+ {
+ if (type.IsArray) {
+ var array = (ArrayType) type;
+ WriteElementType (ElementType.SzArray);
+ WriteCustomAttributeFieldOrPropType (array.ElementType);
+ return;
+ }
+
+ var etype = type.etype;
+
+ switch (etype) {
+ case ElementType.Object:
+ WriteElementType (ElementType.Boxed);
+ return;
+ case ElementType.None:
+ if (type.IsTypeOf ("System", "Type"))
+ WriteElementType (ElementType.Type);
+ else {
+ WriteElementType (ElementType.Enum);
+ WriteTypeReference (type);
+ }
+ return;
+ default:
+ WriteElementType (etype);
+ return;
+ }
+ }
+
+ public void WriteCustomAttributeNamedArguments (CustomAttribute attribute)
+ {
+ var count = GetNamedArgumentCount (attribute);
+
+ WriteUInt16 ((ushort) count);
+
+ if (count == 0)
+ return;
+
+ WriteICustomAttributeNamedArguments (attribute);
+ }
+
+ static int GetNamedArgumentCount (ICustomAttribute attribute)
+ {
+ int count = 0;
+
+ if (attribute.HasFields)
+ count += attribute.Fields.Count;
+
+ if (attribute.HasProperties)
+ count += attribute.Properties.Count;
+
+ return count;
+ }
+
+ void WriteICustomAttributeNamedArguments (ICustomAttribute attribute)
+ {
+ if (attribute.HasFields)
+ WriteCustomAttributeNamedArguments (0x53, attribute.Fields);
+
+ if (attribute.HasProperties)
+ WriteCustomAttributeNamedArguments (0x54, attribute.Properties);
+ }
+
+ void WriteCustomAttributeNamedArguments (byte kind, Collection<CustomAttributeNamedArgument> named_arguments)
+ {
+ for (int i = 0; i < named_arguments.Count; i++)
+ WriteCustomAttributeNamedArgument (kind, named_arguments [i]);
+ }
+
+ void WriteCustomAttributeNamedArgument (byte kind, CustomAttributeNamedArgument named_argument)
+ {
+ var argument = named_argument.Argument;
+
+ WriteByte (kind);
+ WriteCustomAttributeFieldOrPropType (argument.Type);
+ WriteUTF8String (named_argument.Name);
+ WriteCustomAttributeFixedArgument (argument.Type, argument);
+ }
+
+ public void WriteSecurityAttribute (SecurityAttribute attribute)
+ {
+ WriteTypeReference (attribute.AttributeType);
+
+ var count = GetNamedArgumentCount (attribute);
+
+ if (count == 0) {
+ WriteCompressedUInt32 (0); // length
+ WriteCompressedUInt32 (0); // count
+ return;
+ }
+
+ var buffer = new SignatureWriter (metadata);
+ buffer.WriteCompressedUInt32 ((uint) count);
+ buffer.WriteICustomAttributeNamedArguments (attribute);
+
+ WriteCompressedUInt32 ((uint) buffer.length);
+ WriteBytes (buffer);
+ }
+
+ void WriteTypeReference (TypeReference type)
+ {
+ WriteUTF8String (TypeParser.ToParseable (type));
+ }
+
+ public void WriteMarshalInfo (MarshalInfo marshal_info)
+ {
+ WriteNativeType (marshal_info.native);
+
+ switch (marshal_info.native) {
+ case NativeType.Array: {
+ var array = (ArrayMarshalInfo) marshal_info;
+ if (array.element_type != NativeType.None)
+ WriteNativeType (array.element_type);
+ if (array.size_parameter_index > -1)
+ WriteCompressedUInt32 ((uint) array.size_parameter_index);
+ if (array.size > -1)
+ WriteCompressedUInt32 ((uint) array.size);
+ if (array.size_parameter_multiplier > -1)
+ WriteCompressedUInt32 ((uint) array.size_parameter_multiplier);
+ return;
+ }
+ case NativeType.SafeArray: {
+ var array = (SafeArrayMarshalInfo) marshal_info;
+ if (array.element_type != VariantType.None)
+ WriteVariantType (array.element_type);
+ return;
+ }
+ case NativeType.FixedArray: {
+ var array = (FixedArrayMarshalInfo) marshal_info;
+ if (array.size > -1)
+ WriteCompressedUInt32 ((uint) array.size);
+ if (array.element_type != NativeType.None)
+ WriteNativeType (array.element_type);
+ return;
+ }
+ case NativeType.FixedSysString:
+ var sys_string = (FixedSysStringMarshalInfo) marshal_info;
+ if (sys_string.size > -1)
+ WriteCompressedUInt32 ((uint) sys_string.size);
+ return;
+ case NativeType.CustomMarshaler:
+ var marshaler = (CustomMarshalInfo) marshal_info;
+ WriteUTF8String (marshaler.guid != Guid.Empty ? marshaler.guid.ToString () : string.Empty);
+ WriteUTF8String (marshaler.unmanaged_type);
+ WriteTypeReference (marshaler.managed_type);
+ WriteUTF8String (marshaler.cookie);
+ return;
+ }
+ }
+
+ void WriteNativeType (NativeType native)
+ {
+ WriteByte ((byte) native);
+ }
+
+ void WriteVariantType (VariantType variant)
+ {
+ WriteByte ((byte) variant);
+ }
+ }
+
+#endif
+
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/BaseAssemblyResolver.cs b/mcs/class/Mono.Cecil/Mono.Cecil/BaseAssemblyResolver.cs
index 99b518201ea..1b161341057 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/BaseAssemblyResolver.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/BaseAssemblyResolver.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,32 +26,56 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+
+using Mono.Collections.Generic;
+
namespace Mono.Cecil {
- using System;
- using System.Collections;
- using System.IO;
- using SR = System.Reflection;
- using System.Text;
+ public delegate AssemblyDefinition AssemblyResolveEventHandler (object sender, AssemblyNameReference reference);
+
+ public sealed class AssemblyResolveEventArgs : EventArgs {
+
+ readonly AssemblyNameReference reference;
+
+ public AssemblyNameReference AssemblyReference {
+ get { return reference; }
+ }
+
+ public AssemblyResolveEventArgs (AssemblyNameReference reference)
+ {
+ this.reference = reference;
+ }
+ }
public abstract class BaseAssemblyResolver : IAssemblyResolver {
- ArrayList m_directories;
- string[] m_monoGacPaths;
+ static readonly bool on_mono = Type.GetType ("Mono.Runtime") != null;
+
+ readonly Collection<string> directories;
+
+#if !SILVERLIGHT && !CF
+ Collection<string> gac_paths;
+#endif
public void AddSearchDirectory (string directory)
{
- m_directories.Add (directory);
+ directories.Add (directory);
}
public void RemoveSearchDirectory (string directory)
{
- m_directories.Remove (directory);
+ directories.Remove (directory);
}
public string [] GetSearchDirectories ()
{
- return (string []) m_directories.ToArray (typeof (string));
+ var directories = new string [this.directories.size];
+ Array.Copy (this.directories.items, directories, directories.Length);
+ return directories;
}
public virtual AssemblyDefinition Resolve (string fullName)
@@ -59,29 +83,33 @@ namespace Mono.Cecil {
return Resolve (AssemblyNameReference.Parse (fullName));
}
- public BaseAssemblyResolver ()
+ public event AssemblyResolveEventHandler ResolveFailure;
+
+ protected BaseAssemblyResolver ()
{
- m_directories = new ArrayList ();
- m_directories.Add (".");
- m_directories.Add ("bin");
+ directories = new Collection<string> (2) { ".", "bin" };
}
- public virtual AssemblyDefinition Resolve (AssemblyNameReference name)
+ AssemblyDefinition GetAssembly (string file)
{
- AssemblyDefinition assembly;
- string frameworkdir = Path.GetDirectoryName (typeof (object).Module.FullyQualifiedName);
+ return ModuleDefinition.ReadModule (file, new ReaderParameters { AssemblyResolver = this}).Assembly;
+ }
- assembly = SearchDirectory (name, m_directories);
+ public virtual AssemblyDefinition Resolve (AssemblyNameReference name)
+ {
+ var assembly = SearchDirectory (name, directories);
if (assembly != null)
return assembly;
+#if !SILVERLIGHT && !CF
+ var framework_dir = Path.GetDirectoryName (typeof (object).Module.FullyQualifiedName);
+
if (IsZero (name.Version)) {
- assembly = SearchDirectory (name, new string [] {frameworkdir});
+ assembly = SearchDirectory (name, new [] { framework_dir });
if (assembly != null)
return assembly;
}
-#if !CF_1_0 && !CF_2_0 && !NO_SYSTEM_DLL
if (name.Name == "mscorlib") {
assembly = GetCorlib (name);
if (assembly != null)
@@ -91,24 +119,29 @@ namespace Mono.Cecil {
assembly = GetAssemblyInGac (name);
if (assembly != null)
return assembly;
-#endif
- assembly = SearchDirectory (name, new string [] {frameworkdir});
+ assembly = SearchDirectory (name, new [] { framework_dir });
if (assembly != null)
return assembly;
+#endif
+
+ if (ResolveFailure != null) {
+ assembly = ResolveFailure (this, name);
+ if (assembly != null)
+ return assembly;
+ }
throw new FileNotFoundException ("Could not resolve: " + name);
}
- static readonly string [] _extentions = new string [] { ".dll", ".exe" };
-
- static AssemblyDefinition SearchDirectory (AssemblyNameReference name, IEnumerable directories)
+ AssemblyDefinition SearchDirectory (AssemblyNameReference name, IEnumerable<string> directories)
{
- foreach (string dir in directories) {
- foreach (string ext in _extentions) {
- string file = Path.Combine (dir, name.Name + ext);
+ var extensions = new [] { ".exe", ".dll" };
+ foreach (var directory in directories) {
+ foreach (var extension in extensions) {
+ string file = Path.Combine (directory, name.Name + extension);
if (File.Exists (file))
- return AssemblyFactory.GetAssembly (file);
+ return GetAssembly (file);
}
}
@@ -120,88 +153,103 @@ namespace Mono.Cecil {
return version.Major == 0 && version.Minor == 0 && version.Build == 0 && version.Revision == 0;
}
-#if !CF_1_0 && !CF_2_0 && !NO_SYSTEM_DLL
- static AssemblyDefinition GetCorlib (AssemblyNameReference reference)
+#if !SILVERLIGHT && !CF
+ AssemblyDefinition GetCorlib (AssemblyNameReference reference)
{
- SR.AssemblyName corlib = typeof (object).Assembly.GetName ();
- if (corlib.Version == reference.Version || IsZero (reference.Version))
- return AssemblyFactory.GetAssembly (typeof (object).Module.FullyQualifiedName);
+ var version = reference.Version;
+ var corlib = typeof (object).Assembly.GetName ();
+
+ if (corlib.Version == version || IsZero (version))
+ return GetAssembly (typeof (object).Module.FullyQualifiedName);
- string path = Directory.GetParent (
+ var path = Directory.GetParent (
Directory.GetParent (
typeof (object).Module.FullyQualifiedName).FullName
).FullName;
- string runtime_path = null;
- if (OnMono ()) {
- if (reference.Version.Major == 1)
- runtime_path = "1.0";
- else if (reference.Version.Major == 2) {
- if (reference.Version.Minor == 1)
- runtime_path = "2.1";
+ if (on_mono) {
+ if (version.Major == 1)
+ path = Path.Combine (path, "1.0");
+ else if (version.Major == 2) {
+ if (version.MajorRevision == 5)
+ path = Path.Combine (path, "2.1");
else
- runtime_path = "2.0";
- } else if (reference.Version.Major == 4)
- runtime_path = "4.0";
+ path = Path.Combine (path, "2.0");
+ } else if (version.Major == 4)
+ path = Path.Combine (path, "4.0");
+ else
+ throw new NotSupportedException ("Version not supported: " + version);
} else {
- switch (reference.Version.ToString ()) {
- case "1.0.3300.0":
- runtime_path = "v1.0.3705";
- break;
- case "1.0.5000.0":
- runtime_path = "v1.1.4322";
+ switch (version.Major) {
+ case 1:
+ if (version.MajorRevision == 3300)
+ path = Path.Combine (path, "v1.0.3705");
+ else
+ path = Path.Combine (path, "v1.0.5000.0");
break;
- case "2.0.0.0":
- runtime_path = "v2.0.50727";
+ case 2:
+ path = Path.Combine (path, "v2.0.50727");
break;
- case "4.0.0.0":
- runtime_path = "v4.0.30319";
+ case 4:
+ path = Path.Combine (path, "v4.0.30319");
break;
+ default:
+ throw new NotSupportedException ("Version not supported: " + version);
}
}
- if (runtime_path == null)
- throw new NotSupportedException ("Version not supported: " + reference.Version);
-
- path = Path.Combine (path, runtime_path);
-
- if (File.Exists (Path.Combine (path, "mscorlib.dll")))
- return AssemblyFactory.GetAssembly (Path.Combine (path, "mscorlib.dll"));
+ var file = Path.Combine (path, "mscorlib.dll");
+ if (File.Exists (file))
+ return GetAssembly (file);
return null;
}
- public static bool OnMono ()
+ static Collection<string> GetGacPaths ()
{
- return typeof (object).Assembly.GetType ("System.MonoType", false) != null;
+ if (on_mono)
+ return GetDefaultMonoGacPaths ();
+
+ var paths = new Collection<string> (2);
+ var windir = Environment.GetEnvironmentVariable ("WINDIR");
+ if (windir == null)
+ return paths;
+
+ paths.Add (Path.Combine (windir, "assembly"));
+ paths.Add (Path.Combine (windir, Path.Combine ("Microsoft.NET", "assembly")));
+ return paths;
}
- string[] MonoGacPaths {
- get {
- if (m_monoGacPaths == null)
- m_monoGacPaths = GetDefaultMonoGacPaths ();
- return m_monoGacPaths;
+ static Collection<string> GetDefaultMonoGacPaths ()
+ {
+ var paths = new Collection<string> (1);
+ var gac = GetCurrentMonoGac ();
+ if (gac != null)
+ paths.Add (gac);
+
+ var gac_paths_env = Environment.GetEnvironmentVariable ("MONO_GAC_PREFIX");
+ if (string.IsNullOrEmpty (gac_paths_env))
+ return paths;
+
+ var prefixes = gac_paths_env.Split (Path.PathSeparator);
+ foreach (var prefix in prefixes) {
+ if (string.IsNullOrEmpty (prefix))
+ continue;
+
+ var gac_path = Path.Combine (Path.Combine (Path.Combine (prefix, "lib"), "mono"), "gac");
+ if (Directory.Exists (gac_path) && !paths.Contains (gac))
+ paths.Add (gac_path);
}
+
+ return paths;
}
- static string[] GetDefaultMonoGacPaths ()
+ static string GetCurrentMonoGac ()
{
- ArrayList paths = new ArrayList ();
- string s = GetCurrentGacPath ();
- if (s != null)
- paths.Add (s);
- string gacPathsEnv = Environment.GetEnvironmentVariable ("MONO_GAC_PREFIX");
- if (gacPathsEnv != null && gacPathsEnv.Length > 0) {
- string[] gacPrefixes = gacPathsEnv.Split (Path.PathSeparator);
- foreach (string gacPrefix in gacPrefixes) {
- if (gacPrefix != null && gacPrefix.Length > 0) {
- string gac = Path.Combine (Path.Combine (Path.Combine (gacPrefix, "lib"), "mono"), "gac");
- if (Directory.Exists (gac) && !paths.Contains (gac))
- paths.Add (gac);
- }
- }
- }
- return (string[]) paths.ToArray (typeof (String));
+ return Path.Combine (
+ Directory.GetParent (
+ Path.GetDirectoryName (typeof (object).Module.FullyQualifiedName)).FullName,
+ "gac");
}
AssemblyDefinition GetAssemblyInGac (AssemblyNameReference reference)
@@ -209,55 +257,57 @@ namespace Mono.Cecil {
if (reference.PublicKeyToken == null || reference.PublicKeyToken.Length == 0)
return null;
- if (OnMono ()) {
- foreach (string gacpath in MonoGacPaths) {
- string s = GetAssemblyFile (reference, gacpath);
- if (File.Exists (s))
- return AssemblyFactory.GetAssembly (s);
- }
- } else {
- string currentGac = GetCurrentGacPath ();
- if (currentGac == null)
- return null;
-
- string [] gacs = new string [] {"GAC_MSIL", "GAC_32", "GAC"};
- for (int i = 0; i < gacs.Length; i++) {
- string gac = Path.Combine (Directory.GetParent (currentGac).FullName, gacs [i]);
- string asm = GetAssemblyFile (reference, gac);
- if (Directory.Exists (gac) && File.Exists (asm))
- return AssemblyFactory.GetAssembly (asm);
- }
+ if (gac_paths == null)
+ gac_paths = GetGacPaths ();
+
+ if (on_mono)
+ return GetAssemblyInMonoGac (reference);
+
+ return GetAssemblyInNetGac (reference);
+ }
+
+ AssemblyDefinition GetAssemblyInMonoGac (AssemblyNameReference reference)
+ {
+ for (int i = 0; i < gac_paths.Count; i++) {
+ var gac_path = gac_paths [i];
+ var file = GetAssemblyFile (reference, string.Empty, gac_path);
+ if (File.Exists (file))
+ return GetAssembly (file);
}
return null;
}
- static string GetAssemblyFile (AssemblyNameReference reference, string gac)
+ AssemblyDefinition GetAssemblyInNetGac (AssemblyNameReference reference)
{
- StringBuilder sb = new StringBuilder ();
- sb.Append (reference.Version);
- sb.Append ("__");
- for (int i = 0; i < reference.PublicKeyToken.Length; i++)
- sb.Append (reference.PublicKeyToken [i].ToString ("x2"));
+ var gacs = new [] { "GAC_MSIL", "GAC_32", "GAC" };
+ var prefixes = new [] { string.Empty, "v4.0_" };
+
+ for (int i = 0; i < 2; i++) {
+ for (int j = 0; j < gacs.Length; j++) {
+ var gac = Path.Combine (gac_paths [i], gacs [j]);
+ var file = GetAssemblyFile (reference, prefixes [i], gac);
+ if (Directory.Exists (gac) && File.Exists (file))
+ return GetAssembly (file);
+ }
+ }
- return Path.Combine (
- Path.Combine (
- Path.Combine (gac, reference.Name), sb.ToString ()),
- string.Concat (reference.Name, ".dll"));
+ return null;
}
- static string GetCurrentGacPath ()
+ static string GetAssemblyFile (AssemblyNameReference reference, string prefix, string gac)
{
- string file = typeof (Uri).Module.FullyQualifiedName;
- if (!File.Exists (file))
- return null;
+ var gac_folder = new StringBuilder ();
+ gac_folder.Append (prefix);
+ gac_folder.Append (reference.Version);
+ gac_folder.Append ("__");
+ for (int i = 0; i < reference.PublicKeyToken.Length; i++)
+ gac_folder.Append (reference.PublicKeyToken [i].ToString ("x2"));
- return Directory.GetParent (
- Directory.GetParent (
- Path.GetDirectoryName (
- file)
- ).FullName
- ).FullName;
+ return Path.Combine (
+ Path.Combine (
+ Path.Combine (gac, reference.Name), gac_folder.ToString ()),
+ reference.Name + ".dll");
}
#endif
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/BaseReflectionVisitor.cs b/mcs/class/Mono.Cecil/Mono.Cecil/BaseReflectionVisitor.cs
deleted file mode 100644
index 3d3a514d8fc..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/BaseReflectionVisitor.cs
+++ /dev/null
@@ -1,188 +0,0 @@
-//
-// BaseReflectionVisitor.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System.Collections;
-
- public abstract class BaseReflectionVisitor : IReflectionVisitor {
-
- public virtual void VisitModuleDefinition (ModuleDefinition module)
- {
- }
-
- public virtual void VisitTypeDefinitionCollection (TypeDefinitionCollection types)
- {
- }
-
- public virtual void VisitTypeDefinition (TypeDefinition type)
- {
- }
-
- public virtual void VisitTypeReferenceCollection (TypeReferenceCollection refs)
- {
- }
-
- public virtual void VisitTypeReference (TypeReference type)
- {
- }
-
- public virtual void VisitMemberReferenceCollection (MemberReferenceCollection members)
- {
- }
-
- public virtual void VisitMemberReference (MemberReference member)
- {
- }
-
- public virtual void VisitInterfaceCollection (InterfaceCollection interfaces)
- {
- }
-
- public virtual void VisitInterface (TypeReference interf)
- {
- }
-
- public virtual void VisitExternTypeCollection (ExternTypeCollection externs)
- {
- }
-
- public virtual void VisitExternType (TypeReference externType)
- {
- }
-
- public virtual void VisitOverrideCollection (OverrideCollection meth)
- {
- }
-
- public virtual void VisitOverride (MethodReference ov)
- {
- }
-
- public virtual void VisitNestedTypeCollection (NestedTypeCollection nestedTypes)
- {
- }
-
- public virtual void VisitNestedType (TypeDefinition nestedType)
- {
- }
-
- public virtual void VisitParameterDefinitionCollection (ParameterDefinitionCollection parameters)
- {
- }
-
- public virtual void VisitParameterDefinition (ParameterDefinition parameter)
- {
- }
-
- public virtual void VisitMethodDefinitionCollection (MethodDefinitionCollection methods)
- {
- }
-
- public virtual void VisitMethodDefinition (MethodDefinition method)
- {
- }
-
- public virtual void VisitConstructorCollection (ConstructorCollection ctors)
- {
- }
-
- public virtual void VisitConstructor (MethodDefinition ctor)
- {
- }
-
- public virtual void VisitPInvokeInfo (PInvokeInfo pinvk)
- {
- }
-
- public virtual void VisitEventDefinitionCollection (EventDefinitionCollection events)
- {
- }
-
- public virtual void VisitEventDefinition (EventDefinition evt)
- {
- }
-
- public virtual void VisitFieldDefinitionCollection (FieldDefinitionCollection fields)
- {
- }
-
- public virtual void VisitFieldDefinition (FieldDefinition field)
- {
- }
-
- public virtual void VisitPropertyDefinitionCollection (PropertyDefinitionCollection properties)
- {
- }
-
- public virtual void VisitPropertyDefinition (PropertyDefinition property)
- {
- }
-
- public virtual void VisitSecurityDeclarationCollection (SecurityDeclarationCollection secDecls)
- {
- }
-
- public virtual void VisitSecurityDeclaration (SecurityDeclaration secDecl)
- {
- }
-
- public virtual void VisitCustomAttributeCollection (CustomAttributeCollection customAttrs)
- {
- }
-
- public virtual void VisitCustomAttribute (CustomAttribute customAttr)
- {
- }
-
- public virtual void VisitGenericParameterCollection (GenericParameterCollection genparams)
- {
- }
-
- public virtual void VisitGenericParameter (GenericParameter genparam)
- {
- }
-
- public virtual void VisitMarshalSpec (MarshalSpec marshalSpec)
- {
- }
-
- public virtual void TerminateModuleDefinition (ModuleDefinition module)
- {
- }
-
- protected void VisitCollection (ICollection coll)
- {
- if (coll.Count == 0)
- return;
-
- foreach (IReflectionVisitable visitable in coll)
- visitable.Accept (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/BaseStructureVisitor.cs b/mcs/class/Mono.Cecil/Mono.Cecil/BaseStructureVisitor.cs
deleted file mode 100644
index 1acec7d7190..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/BaseStructureVisitor.cs
+++ /dev/null
@@ -1,96 +0,0 @@
-//
-// BaseStructureVisitor.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System.Collections;
-
- public abstract class BaseStructureVisitor : IReflectionStructureVisitor {
-
- public virtual void VisitAssemblyDefinition (AssemblyDefinition asm)
- {
- }
-
- public virtual void VisitAssemblyNameDefinition (AssemblyNameDefinition name)
- {
- }
-
- public virtual void VisitAssemblyNameReferenceCollection (AssemblyNameReferenceCollection names)
- {
- }
-
- public virtual void VisitAssemblyNameReference (AssemblyNameReference name)
- {
- }
-
- public virtual void VisitResourceCollection (ResourceCollection resources)
- {
- }
-
- public virtual void VisitEmbeddedResource (EmbeddedResource res)
- {
- }
-
- public virtual void VisitLinkedResource (LinkedResource res)
- {
- }
-
- public virtual void VisitAssemblyLinkedResource (AssemblyLinkedResource res)
- {
- }
-
- public virtual void VisitModuleDefinition (ModuleDefinition module)
- {
- }
-
- public virtual void VisitModuleDefinitionCollection (ModuleDefinitionCollection modules)
- {
- }
-
- public virtual void VisitModuleReference (ModuleReference module)
- {
- }
-
- public virtual void VisitModuleReferenceCollection (ModuleReferenceCollection modules)
- {
- }
-
- public virtual void TerminateAssemblyDefinition (AssemblyDefinition asm)
- {
- }
-
- protected void VisitCollection (ICollection coll)
- {
- if (coll.Count == 0)
- return;
-
- foreach (IReflectionStructureVisitable visitable in coll)
- visitable.Accept (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/CallSite.cs b/mcs/class/Mono.Cecil/Mono.Cecil/CallSite.cs
index 7849cb8ac22..e4880ec79c8 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/CallSite.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/CallSite.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 - 2007 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,84 +26,20 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
-
- using System.Collections;
- using System.Text;
-
- using Mono.Cecil.Metadata;
-
- public sealed class CallSite : IMethodSignature, IAnnotationProvider, IMetadataTokenProvider {
-
- MethodReference m_function;
-
- public bool HasThis {
- get { return m_function.HasThis; }
- set { m_function.HasThis = value; }
- }
-
- public bool ExplicitThis {
- get { return m_function.ExplicitThis; }
- set { m_function.ExplicitThis = value; }
- }
-
- public MethodCallingConvention CallingConvention {
- get { return m_function.CallingConvention; }
- set { m_function.CallingConvention = value; }
- }
-
- public bool HasParameters {
- get { return m_function.HasParameters; }
- }
+using System;
+using System.Text;
- public ParameterDefinitionCollection Parameters {
- get { return m_function.Parameters; }
- }
-
- public MethodReturnType ReturnType {
- get { return m_function.ReturnType; }
- set { m_function.ReturnType = value; }
- }
-
- public MetadataToken MetadataToken {
- get { return m_function.MetadataToken; }
- set { m_function.MetadataToken = value; }
- }
-
- IDictionary IAnnotationProvider.Annotations {
- get { return ((IAnnotationProvider) m_function).Annotations; }
- }
-
- public CallSite (bool hasThis, bool explicitThis, MethodCallingConvention callConv, MethodReturnType retType)
- {
- m_function = new MethodReference (string.Empty, hasThis, explicitThis, callConv);
- m_function.ReturnType = retType;
- }
-
- public int GetSentinel ()
- {
- return m_function.GetSentinel ();
- }
-
- public override string ToString ()
- {
- int sentinel = GetSentinel ();
- StringBuilder sb = new StringBuilder ();
- sb.Append (m_function.ReturnType.ReturnType.FullName);
- sb.Append ("(");
- if (m_function.HasParameters) {
- for (int i = 0; i < m_function.Parameters.Count; i++) {
- if (i > 0)
- sb.Append (",");
+namespace Mono.Cecil {
- if (i == sentinel)
- sb.Append ("...,");
+ public sealed class CallSite : MethodReference {
- sb.Append (m_function.Parameters [i].ParameterType.FullName);
- }
+ public override string FullName {
+ get {
+ var signature = new StringBuilder ();
+ signature.Append (ReturnType.FullName);
+ this.MethodSignatureFullName (signature);
+ return signature.ToString ();
}
- sb.Append (")");
- return sb.ToString ();
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/CompactFrameworkCompatibility.cs b/mcs/class/Mono.Cecil/Mono.Cecil/CompactFrameworkCompatibility.cs
deleted file mode 100644
index 85fde6ed5a7..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/CompactFrameworkCompatibility.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-//
-// FrameworkCompatibility.cs
-//
-// Author:
-// Rodrigo B. de Oliveira (rodrigobamboo@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-#if CF_1_0
-namespace System {
-
- internal class NotImplementedException : System.Exception {
-
- public NotImplementedException (string message) : base (message)
- {
- }
-
- public NotImplementedException ()
- {
- }
- }
-}
-#endif
-
-#if CF_1_0 || CF_2_0
-namespace System.Security {
-
- public class SecurityElement {
-
- public SecurityElement (string tag)
- {
- }
-
- public string Text
- {
- get { return string.Empty; }
- set {}
- }
-
- public void AddChild (SecurityElement child)
- {
- }
-
- public void AddAttribute (string name, string value)
- {
- }
- }
-}
-#endif
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/Constants.cs b/mcs/class/Mono.Cecil/Mono.Cecil/Constants.cs
deleted file mode 100644
index 32491e6d42d..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/Constants.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-//
-// Constants.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public class Constants {
-
- Constants ()
- {
- }
-
- public const string Corlib = "mscorlib";
-
- public const string ModuleType = "<Module>";
- public const string PrivateImplDetails = "<PrivateImplementationDetails>";
- public const string Deleted = "_Deleted";
-
- public const string Void = "System.Void";
- public const string Object = "System.Object";
- public const string String = "System.String";
- public const string Boolean = "System.Boolean";
- public const string Char = "System.Char";
- public const string Single = "System.Single";
- public const string Double = "System.Double";
- public const string SByte = "System.SByte";
- public const string Byte = "System.Byte";
- public const string Int16 = "System.Int16";
- public const string UInt16 = "System.UInt16";
- public const string Int32 = "System.Int32";
- public const string UInt32 = "System.UInt32";
- public const string Int64 = "System.Int64";
- public const string UInt64 = "System.UInt64";
- public const string IntPtr = "System.IntPtr";
- public const string UIntPtr = "System.UIntPtr";
- public const string TypedReference = "System.TypedReference";
- public const string Type = "System.Type";
- public const string ValueType = "System.ValueType";
- public const string Enum = "System.Enum";
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ConstraintCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ConstraintCollection.cs
deleted file mode 100644
index 0c0f293e06a..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ConstraintCollection.cs
+++ /dev/null
@@ -1,88 +0,0 @@
-//
-// ConstraintCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Wed Sep 27 12:46:54 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class ConstraintCollection : CollectionBase {
-
- GenericParameter m_container;
-
- public TypeReference this [int index] {
- get { return List [index] as TypeReference; }
- set { List [index] = value; }
- }
-
- public GenericParameter Container {
- get { return m_container; }
- }
-
- public ConstraintCollection (GenericParameter container)
- {
- m_container = container;
- }
-
- public void Add (TypeReference value)
- {
- List.Add (value);
- }
-
- public bool Contains (TypeReference value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (TypeReference value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, TypeReference value)
- {
- List.Insert (index, value);
- }
-
- public void Remove (TypeReference value)
- {
- List.Remove (value);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is TypeReference))
- throw new ArgumentException ("Must be of type " + typeof (TypeReference).FullName);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ConstructorCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ConstructorCollection.cs
deleted file mode 100644
index a0ebebc445f..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ConstructorCollection.cs
+++ /dev/null
@@ -1,182 +0,0 @@
-//
-// ConstructorCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Fri Mar 30 18:43:56 +0200 2007
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class ConstructorCollection : CollectionBase, IReflectionVisitable {
-
- TypeDefinition m_container;
-
- public MethodDefinition this [int index] {
- get { return List [index] as MethodDefinition; }
- set { List [index] = value; }
- }
-
- public TypeDefinition Container {
- get { return m_container; }
- }
-
- public ConstructorCollection (TypeDefinition container)
- {
- m_container = container;
- }
-
- public void Add (MethodDefinition value)
- {
- Attach (value);
-
- List.Add (value);
- }
-
-
- public new void Clear ()
- {
- foreach (MethodDefinition item in this)
- Detach (item);
-
- base.Clear ();
- }
-
- public bool Contains (MethodDefinition value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (MethodDefinition value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, MethodDefinition value)
- {
- Attach (value);
-
- List.Insert (index, value);
- }
-
- public void Remove (MethodDefinition value)
- {
- List.Remove (value);
-
- Detach (value);
- }
-
-
- public new void RemoveAt (int index)
- {
- MethodDefinition item = this [index];
- Remove (item);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is MethodDefinition))
- throw new ArgumentException ("Must be of type " + typeof (MethodDefinition).FullName);
- }
-
- internal MethodDefinition GetConstructorInternal (bool isStatic, IList parameters)
- {
- if (parameters == null)
-#if CF_2_0 || CF_1_0
- parameters = new Type[0];
-#else
- parameters = Type.EmptyTypes;
-#endif
-
- foreach (MethodDefinition ctor in this) {
- if (ctor.IsStatic != isStatic || ctor.Parameters.Count != parameters.Count)
- continue;
-
- bool match = true;
- for (int i = 0; i < parameters.Count; i++) {
- string pname;
- object param = parameters [i];
- if (param is Type)
- pname = ReflectionHelper.GetTypeSignature (param as Type);
- else if (param is TypeReference)
- pname = (param as TypeReference).FullName;
- else if (param is ParameterDefinition)
- pname = (param as ParameterDefinition).ParameterType.FullName;
- else
- throw new NotSupportedException ();
-
- if (ctor.Parameters [i].ParameterType.FullName != pname) {
- match = false;
- break;
- }
- }
-
- if (match)
- return ctor;
- }
-
- return null;
- }
-
- public MethodDefinition GetConstructor (bool isStatic, Type [] parameters)
- {
- return GetConstructorInternal (isStatic, parameters);
- }
-
- public MethodDefinition GetConstructor (bool isStatic, TypeReference [] parameters)
- {
- return GetConstructorInternal (isStatic, parameters);
- }
-
- public MethodDefinition GetConstructor (bool isStatic, ParameterDefinitionCollection parameters)
- {
- return GetConstructorInternal (isStatic, parameters);
- }
-
- void Attach (MemberReference member)
- {
- if (member.DeclaringType != null)
- throw new ReflectionException ("Member already attached, clone it instead");
-
- member.DeclaringType = m_container;
- }
-
- void Detach (MemberReference member)
- {
- member.DeclaringType = null;
- }
-
- public void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitConstructorCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/CustomAttribute.cs b/mcs/class/Mono.Cecil/Mono.Cecil/CustomAttribute.cs
index e72957cb724..af47d8b0171 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/CustomAttribute.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/CustomAttribute.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,174 +26,192 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+
+using Mono.Collections.Generic;
+
namespace Mono.Cecil {
- using System.Collections;
+ public struct CustomAttributeArgument {
+
+ readonly TypeReference type;
+ readonly object value;
+
+ public TypeReference Type {
+ get { return type; }
+ }
+
+ public object Value {
+ get { return value; }
+ }
+
+ public CustomAttributeArgument (TypeReference type, object value)
+ {
+ Mixin.CheckType (type);
+ this.type = type;
+ this.value = value;
+ }
+ }
+
+ public struct CustomAttributeNamedArgument {
+
+ readonly string name;
+ readonly CustomAttributeArgument argument;
+
+ public string Name {
+ get { return name; }
+ }
+
+ public CustomAttributeArgument Argument {
+ get { return argument; }
+ }
+
+ public CustomAttributeNamedArgument (string name, CustomAttributeArgument argument)
+ {
+ Mixin.CheckName (name);
+ this.name = name;
+ this.argument = argument;
+ }
+ }
+
+ public interface ICustomAttribute {
+
+ TypeReference AttributeType { get; }
- public sealed class CustomAttribute : IRequireResolving, IAnnotationProvider, IReflectionVisitable {
+ bool HasFields { get; }
+ bool HasProperties { get; }
+ Collection<CustomAttributeNamedArgument> Fields { get; }
+ Collection<CustomAttributeNamedArgument> Properties { get; }
+ }
- MethodReference m_ctor;
- IList m_parameters;
- IDictionary m_fields;
- IDictionary m_properties;
- IDictionary m_fieldTypes;
- IDictionary m_propTypes;
- IDictionary m_annotations;
+ public sealed class CustomAttribute : ICustomAttribute {
- bool m_resolved;
- byte [] m_blob;
+ readonly internal uint signature;
+ internal bool resolved;
+ MethodReference constructor;
+ byte [] blob;
+ internal Collection<CustomAttributeArgument> arguments;
+ internal Collection<CustomAttributeNamedArgument> fields;
+ internal Collection<CustomAttributeNamedArgument> properties;
public MethodReference Constructor {
- get { return m_ctor; }
- set { m_ctor = value; }
+ get { return constructor; }
+ set { constructor = value; }
}
- public IList ConstructorParameters {
- get {
- if (m_parameters == null)
- m_parameters = new ArrayList ();
- return m_parameters;
- }
+ public TypeReference AttributeType {
+ get { return constructor.DeclaringType; }
}
- public IDictionary Fields {
+ public bool HasConstructorArguments {
get {
- if (m_fields == null)
- m_fields = new Hashtable ();
+ Resolve ();
- return m_fields;
+ return !arguments.IsNullOrEmpty ();
}
}
- public IDictionary Properties {
+ public Collection<CustomAttributeArgument> ConstructorArguments {
get {
- if (m_properties == null)
- m_properties = new Hashtable ();
+ Resolve ();
- return m_properties;
+ return arguments ?? (arguments = new Collection<CustomAttributeArgument> ());
}
}
- internal IDictionary FieldTypes {
+ public bool HasFields {
get {
- if (m_fieldTypes == null)
- m_fieldTypes = new Hashtable ();
+ Resolve ();
- return m_fieldTypes;
+ return !fields.IsNullOrEmpty ();
}
}
- internal IDictionary PropertyTypes {
+ public Collection<CustomAttributeNamedArgument> Fields {
get {
- if (m_propTypes == null)
- m_propTypes = new Hashtable ();
+ Resolve ();
- return m_propTypes;
+ return fields ?? (fields = new Collection<CustomAttributeNamedArgument> ());
}
}
- public bool Resolved {
- get { return m_resolved; }
- set { m_resolved = value; }
- }
+ public bool HasProperties {
+ get {
+ Resolve ();
- public byte [] Blob {
- get { return m_blob; }
- set { m_blob = value; }
+ return !properties.IsNullOrEmpty ();
+ }
}
- IDictionary IAnnotationProvider.Annotations {
+ public Collection<CustomAttributeNamedArgument> Properties {
get {
- if (m_annotations == null)
- m_annotations = new Hashtable ();
- return m_annotations;
+ Resolve ();
+
+ return properties ?? (properties = new Collection<CustomAttributeNamedArgument> ());
}
}
- public CustomAttribute (MethodReference ctor)
- {
- m_ctor = ctor;
- m_resolved = true;
+ internal bool HasImage {
+ get { return constructor != null && constructor.HasImage; }
}
- public CustomAttribute (MethodReference ctor, byte [] blob)
- {
- m_ctor = ctor;
- m_blob = blob;
+ internal ModuleDefinition Module {
+ get { return constructor.Module; }
}
- public TypeReference GetFieldType (string fieldName)
+ internal CustomAttribute (uint signature, MethodReference constructor)
{
- return (TypeReference) FieldTypes [fieldName];
+ this.signature = signature;
+ this.constructor = constructor;
+ this.resolved = false;
}
- public TypeReference GetPropertyType (string propertyName)
+ public CustomAttribute (MethodReference constructor)
{
- return (TypeReference) PropertyTypes [propertyName];
+ this.constructor = constructor;
+ this.resolved = true;
}
- public void SetFieldType (string fieldName, TypeReference type)
+ public CustomAttribute (MethodReference constructor, byte [] blob)
{
- FieldTypes [fieldName] = type;
+ this.constructor = constructor;
+ this.resolved = false;
+ this.blob = blob;
}
- public void SetPropertyType (string propertyName, TypeReference type)
+ public byte [] GetBlob ()
{
- PropertyTypes [propertyName] = type;
- }
+ if (blob != null)
+ return blob;
- public CustomAttribute Clone ()
- {
- return Clone (this, new ImportContext (NullReferenceImporter.Instance));
- }
+ if (!HasImage || signature == 0)
+ throw new NotSupportedException ();
- static void Clone (IDictionary original, IDictionary target)
- {
- target.Clear ();
- foreach (DictionaryEntry entry in original)
- target.Add (entry.Key, entry.Value);
- }
-
- internal static CustomAttribute Clone (CustomAttribute custattr, ImportContext context)
- {
- CustomAttribute ca = new CustomAttribute (context.Import (custattr.Constructor));
- custattr.CopyTo (ca);
- return ca;
+ return blob = Module.Read (this, (attribute, reader) => reader.ReadCustomAttributeBlob (attribute.signature));
}
- void CopyTo (CustomAttribute target)
+ void Resolve ()
{
- target.Resolved = Resolved;
- if (!Resolved) {
- target.Blob = Blob;
+ if (resolved || !HasImage)
return;
- }
- foreach (object o in ConstructorParameters)
- target.ConstructorParameters.Add (o);
- Clone (Fields, target.Fields);
- Clone (FieldTypes, target.FieldTypes);
- Clone (Properties, target.Properties);
- Clone (PropertyTypes, target.PropertyTypes);
- }
+ Module.Read (this, (attribute, reader) => {
+ reader.ReadCustomAttributeSignature (attribute);
+ return this;
+ });
- public bool Resolve ()
- {
- if (Resolved)
- return true;
-
- ReflectionReader r = m_ctor.DeclaringType.Module.Controller.Reader;
- CustomAttribute newCa = r.GetCustomAttribute (m_ctor, Blob, true);
- if (!newCa.Resolved)
- return false;
-
- newCa.CopyTo (this);
- return true;
+ resolved = true;
}
+ }
+
+ static partial class Mixin {
- public void Accept (IReflectionVisitor visitor)
+ public static void CheckName (string name)
{
- visitor.VisitCustomAttribute (this);
+ if (name == null)
+ throw new ArgumentNullException ("name");
+ if (name.Length == 0)
+ throw new ArgumentException ("Empty name");
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/CustomAttributeCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/CustomAttributeCollection.cs
deleted file mode 100644
index 023b35aef6a..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/CustomAttributeCollection.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// CustomAttributeCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Wed Sep 27 12:46:53 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class CustomAttributeCollection : CollectionBase, IReflectionVisitable {
-
- ICustomAttributeProvider m_container;
-
- public CustomAttribute this [int index] {
- get { return List [index] as CustomAttribute; }
- set { List [index] = value; }
- }
-
- public ICustomAttributeProvider Container {
- get { return m_container; }
- }
-
- public CustomAttributeCollection (ICustomAttributeProvider container)
- {
- m_container = container;
- }
-
- public void Add (CustomAttribute value)
- {
- List.Add (value);
- }
-
- public bool Contains (CustomAttribute value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (CustomAttribute value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, CustomAttribute value)
- {
- List.Insert (index, value);
- }
-
- public void Remove (CustomAttribute value)
- {
- List.Remove (value);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is CustomAttribute))
- throw new ArgumentException ("Must be of type " + typeof (CustomAttribute).FullName);
- }
-
- public void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitCustomAttributeCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/DefaultAssemblyResolver.cs b/mcs/class/Mono.Cecil/Mono.Cecil/DefaultAssemblyResolver.cs
index 95b878966ca..cac7974f9e7 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/DefaultAssemblyResolver.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/DefaultAssemblyResolver.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,37 +26,50 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+using System.Collections.Generic;
+
namespace Mono.Cecil {
- using System.Collections;
+ public static class GlobalAssemblyResolver {
+
+ public static readonly IAssemblyResolver Instance = new DefaultAssemblyResolver ();
+ }
public class DefaultAssemblyResolver : BaseAssemblyResolver {
- IDictionary m_cache;
+ readonly IDictionary<string, AssemblyDefinition> cache;
public DefaultAssemblyResolver ()
{
- m_cache = new Hashtable ();
+ cache = new Dictionary<string, AssemblyDefinition> ();
}
public override AssemblyDefinition Resolve (AssemblyNameReference name)
{
- AssemblyDefinition asm = (AssemblyDefinition) m_cache [name.FullName];
- if (asm == null) {
- asm = base.Resolve (name);
- m_cache [name.FullName] = asm;
- }
+ if (name == null)
+ throw new ArgumentNullException ("name");
- return asm;
+ AssemblyDefinition assembly;
+ if (cache.TryGetValue (name.FullName, out assembly))
+ return assembly;
+
+ assembly = base.Resolve (name);
+ cache [name.FullName] = assembly;
+
+ return assembly;
}
protected void RegisterAssembly (AssemblyDefinition assembly)
{
- string key = assembly.Name.FullName;
- if (m_cache.Contains (key))
+ if (assembly == null)
+ throw new ArgumentNullException ("assembly");
+
+ var name = assembly.Name.FullName;
+ if (cache.ContainsKey (name))
return;
- m_cache [key] = assembly;
+ cache [name] = assembly;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/DefaultImporter.cs b/mcs/class/Mono.Cecil/Mono.Cecil/DefaultImporter.cs
deleted file mode 100644
index a4c2957f03d..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/DefaultImporter.cs
+++ /dev/null
@@ -1,266 +0,0 @@
-//
-// DefaultReferenceImporter.cs
-//
-// Author:
-// Jb Evain (jbevain@novell.com)
-//
-// (C) 2007 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
-
- public class DefaultImporter : IImporter {
-
- ModuleDefinition m_module;
-
- public ModuleDefinition Module {
- get { return m_module; }
- }
-
- public DefaultImporter (ModuleDefinition module)
- {
- m_module = module;
- }
-
- public AssemblyNameReference ImportAssembly (AssemblyNameReference asm)
- {
- AssemblyNameReference asmRef = GetAssemblyNameReference (asm);
- if (asmRef != null)
- return asmRef;
-
- asmRef = new AssemblyNameReference (
- asm.Name, asm.Culture, asm.Version);
- asmRef.PublicKeyToken = asm.PublicKeyToken;
- asmRef.HashAlgorithm = asm.HashAlgorithm;
- m_module.AssemblyReferences.Add (asmRef);
- return asmRef;
- }
-
- AssemblyNameReference GetAssemblyNameReference (AssemblyNameReference asm)
- {
- foreach (AssemblyNameReference reference in m_module.AssemblyReferences)
- if (reference.FullName == asm.FullName)
- return reference;
-
- return null;
- }
-
- TypeSpecification GetTypeSpec (TypeSpecification original, ImportContext context)
- {
- TypeSpecification typeSpec;
-
- TypeReference elementType = ImportTypeReference (original.ElementType, context);
- if (original is PointerType) {
- typeSpec = new PointerType (elementType);
- } else if (original is ArrayType) { // deal with complex arrays
- typeSpec = new ArrayType (elementType);
- } else if (original is ReferenceType) {
- typeSpec = new ReferenceType (elementType);
- } else if (original is GenericInstanceType) {
- GenericInstanceType git = original as GenericInstanceType;
- GenericInstanceType genElemType = new GenericInstanceType (elementType);
-
- context.GenericContext.CheckProvider (genElemType.GetOriginalType (), git.GenericArguments.Count);
- foreach (TypeReference arg in git.GenericArguments)
- genElemType.GenericArguments.Add (ImportTypeReference (arg, context));
-
- typeSpec = genElemType;
- } else if (original is ModifierOptional) {
- TypeReference mt = (original as ModifierOptional).ModifierType;
- typeSpec = new ModifierOptional (elementType, ImportTypeReference (mt, context));
- } else if (original is ModifierRequired) {
- TypeReference mt = (original as ModifierRequired).ModifierType;
- typeSpec = new ModifierRequired (elementType, ImportTypeReference (mt, context));
- } else if (original is SentinelType) {
- typeSpec = new SentinelType (elementType);
- } else if (original is FunctionPointerType) {
- FunctionPointerType ori = original as FunctionPointerType;
-
- FunctionPointerType fnptr = new FunctionPointerType (
- ori.HasThis,
- ori.ExplicitThis,
- ori.CallingConvention,
- new MethodReturnType (ImportTypeReference (ori.ReturnType.ReturnType, context)));
-
- foreach (ParameterDefinition parameter in ori.Parameters)
- fnptr.Parameters.Add (new ParameterDefinition (ImportTypeReference (parameter.ParameterType, context)));
-
- typeSpec = fnptr;
- } else
- throw new ReflectionException ("Unknown element type: {0}", original.GetType ().Name);
-
- return typeSpec;
- }
-
- static GenericParameter GetGenericParameter (GenericParameter gp, ImportContext context)
- {
- GenericParameter p;
- if (gp.Owner is TypeReference)
- p = context.GenericContext.Type.GenericParameters [gp.Position];
- else if (gp.Owner is MethodReference)
- p = context.GenericContext.Method.GenericParameters [gp.Position];
- else
- throw new NotSupportedException ();
-
- return p;
- }
-
- TypeReference AdjustReference (TypeReference type, TypeReference reference)
- {
- if (type.IsValueType && !reference.IsValueType)
- reference.IsValueType = true;
-
- if (type.HasGenericParameters) {
- for (int i = reference.GenericParameters.Count; i < type.GenericParameters.Count; i++)
- reference.GenericParameters.Add (new GenericParameter (i, reference));
- }
-
- return reference;
- }
-
- public virtual TypeReference ImportTypeReference (TypeReference t, ImportContext context)
- {
- if (t.Module == m_module)
- return t;
-
- if (t is TypeSpecification)
- return GetTypeSpec (t as TypeSpecification, context);
-
- if (t is GenericParameter)
- return GetGenericParameter (t as GenericParameter, context);
-
- TypeReference type = m_module.TypeReferences [t.FullName];
- if (type != null)
- return AdjustReference (t, type);
-
- AssemblyNameReference asm;
- if (t.Scope is AssemblyNameReference)
- asm = ImportAssembly ((AssemblyNameReference) t.Scope);
- else if (t.Scope is ModuleDefinition)
- asm = ImportAssembly (((ModuleDefinition) t.Scope).Assembly.Name);
- else
- throw new NotImplementedException ();
-
- if (t.DeclaringType != null) {
- type = new TypeReference (t.Name, string.Empty, asm, t.IsValueType);
- type.DeclaringType = ImportTypeReference (t.DeclaringType, context);
- } else
- type = new TypeReference (t.Name, t.Namespace, asm, t.IsValueType);
-
- TypeReference contextType = context.GenericContext.Type;
-
- context.GenericContext.Type = type;
-
- GenericParameter.CloneInto (t, type, context);
-
- context.GenericContext.Type = contextType;
-
- m_module.TypeReferences.Add (type);
- return type;
- }
-
- public virtual FieldReference ImportFieldReference (FieldReference fr, ImportContext context)
- {
- if (fr.DeclaringType.Module == m_module)
- return fr;
-
- FieldReference field = (FieldReference) GetMemberReference (fr);
- if (field != null)
- return field;
-
- field = new FieldReference (
- fr.Name,
- ImportTypeReference (fr.DeclaringType, context),
- ImportTypeReference (fr.FieldType, context));
-
- m_module.MemberReferences.Add (field);
- return field;
- }
-
- MethodReference GetMethodSpec (MethodReference meth, ImportContext context)
- {
- if (!(meth is GenericInstanceMethod))
- return null;
-
- GenericInstanceMethod gim = meth as GenericInstanceMethod;
- GenericInstanceMethod ngim = new GenericInstanceMethod (
- ImportMethodReference (gim.ElementMethod, context));
-
- context.GenericContext.CheckProvider (ngim.GetOriginalMethod (), gim.GenericArguments.Count);
- foreach (TypeReference arg in gim.GenericArguments)
- ngim.GenericArguments.Add (ImportTypeReference (arg, context));
-
- return ngim;
- }
-
- public virtual MethodReference ImportMethodReference (MethodReference mr, ImportContext context)
- {
- if (mr.DeclaringType.Module == m_module)
- return mr;
-
- if (mr is MethodSpecification)
- return GetMethodSpec (mr, context);
-
- MethodReference meth = (MethodReference) GetMemberReference (mr);
- if (meth != null)
- return meth;
-
- meth = new MethodReference (
- mr.Name,
- mr.HasThis,
- mr.ExplicitThis,
- mr.CallingConvention);
- meth.DeclaringType = ImportTypeReference (mr.DeclaringType, context);
-
- TypeReference contextType = context.GenericContext.Type;
- MethodReference contextMethod = context.GenericContext.Method;
-
- context.GenericContext.Method = meth;
- context.GenericContext.Type = meth.DeclaringType.GetOriginalType();
-
- GenericParameter.CloneInto (mr, meth, context);
-
- meth.ReturnType.ReturnType = ImportTypeReference (mr.ReturnType.ReturnType, context);
-
- foreach (ParameterDefinition param in mr.Parameters)
- meth.Parameters.Add (new ParameterDefinition (
- ImportTypeReference (param.ParameterType, context)));
-
- context.GenericContext.Type = contextType;
- context.GenericContext.Method = contextMethod;
-
- m_module.MemberReferences.Add (meth);
- return meth;
- }
-
- MemberReference GetMemberReference (MemberReference member)
- {
- foreach (MemberReference reference in m_module.MemberReferences)
- if (reference.ToString () == member.ToString ())
- return reference;
-
- return null;
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/EmbeddedResource.cs b/mcs/class/Mono.Cecil/Mono.Cecil/EmbeddedResource.cs
index 7bd67beb800..bb9f1f95785 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/EmbeddedResource.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/EmbeddedResource.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,31 +26,80 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+using System.IO;
+
namespace Mono.Cecil {
public sealed class EmbeddedResource : Resource {
- byte [] m_data;
+ readonly MetadataReader reader;
+
+ uint? offset;
+ byte [] data;
+ Stream stream;
- public byte [] Data {
- get { return m_data; }
- set { m_data = value; }
+ public override ResourceType ResourceType {
+ get { return ResourceType.Embedded; }
+ }
+
+ public EmbeddedResource (string name, ManifestResourceAttributes attributes, byte [] data) :
+ base (name, attributes)
+ {
+ this.data = data;
}
- public EmbeddedResource (string name, ManifestResourceAttributes flags) :
- base (name, flags)
+ public EmbeddedResource (string name, ManifestResourceAttributes attributes, Stream stream) :
+ base (name, attributes)
{
+ this.stream = stream;
}
- public EmbeddedResource (string name, ManifestResourceAttributes flags, byte [] data) :
- base (name, flags)
+ internal EmbeddedResource (string name, ManifestResourceAttributes attributes, uint offset, MetadataReader reader)
+ : base (name, attributes)
{
- m_data = data;
+ this.offset = offset;
+ this.reader = reader;
}
- public override void Accept (IReflectionStructureVisitor visitor)
+ public Stream GetResourceStream ()
{
- visitor.VisitEmbeddedResource (this);
+ if (stream != null)
+ return stream;
+
+ if (data != null)
+ return new MemoryStream (data);
+
+ if (offset.HasValue)
+ return reader.GetManagedResourceStream (offset.Value);
+
+ throw new InvalidOperationException ();
+ }
+
+ public byte [] GetResourceData ()
+ {
+ if (stream != null)
+ return ReadStream (stream);
+
+ if (data != null)
+ return data;
+
+ if (offset.HasValue)
+ return reader.GetManagedResourceStream (offset.Value).ToArray ();
+
+ throw new InvalidOperationException ();
+ }
+
+ static byte [] ReadStream (Stream stream)
+ {
+ var length = (int) stream.Length;
+ var data = new byte [length];
+ int offset = 0, read;
+
+ while ((read = stream.Read (data, offset, length - offset)) > 0)
+ offset += read;
+
+ return data;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/EventAttributes.cs b/mcs/class/Mono.Cecil/Mono.Cecil/EventAttributes.cs
index 2db3a3cdcbd..b5b097d4f57 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/EventAttributes.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/EventAttributes.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,12 +26,13 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
- using System;
+namespace Mono.Cecil {
[Flags]
public enum EventAttributes : ushort {
+ None = 0x0000,
SpecialName = 0x0200, // Event is special
RTSpecialName = 0x0400 // CLI provides 'special' behavior, depending upon the name of the event
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/EventDefinition.cs b/mcs/class/Mono.Cecil/Mono.Cecil/EventDefinition.cs
index 9e837bd8879..7a80aa06d82 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/EventDefinition.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/EventDefinition.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,148 +26,138 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using Mono.Collections.Generic;
+
namespace Mono.Cecil {
- public sealed class EventDefinition : EventReference, IMemberDefinition, ICustomAttributeProvider {
+ public sealed class EventDefinition : EventReference, IMemberDefinition {
- EventAttributes m_attributes;
+ ushort attributes;
- CustomAttributeCollection m_customAttrs;
+ Collection<CustomAttribute> custom_attributes;
- MethodDefinition m_addMeth;
- MethodDefinition m_invMeth;
- MethodDefinition m_remMeth;
+ internal MethodDefinition add_method;
+ internal MethodDefinition invoke_method;
+ internal MethodDefinition remove_method;
+ internal Collection<MethodDefinition> other_methods;
public EventAttributes Attributes {
- get { return m_attributes; }
- set { m_attributes = value; }
+ get { return (EventAttributes) attributes; }
+ set { attributes = (ushort) value; }
}
public MethodDefinition AddMethod {
- get { return m_addMeth; }
- set { m_addMeth = value; }
+ get {
+ if (add_method != null)
+ return add_method;
+
+ InitializeMethods ();
+ return add_method;
+ }
+ set { add_method = value; }
}
public MethodDefinition InvokeMethod {
- get { return m_invMeth; }
- set { m_invMeth = value; }
+ get {
+ if (invoke_method != null)
+ return invoke_method;
+
+ InitializeMethods ();
+ return invoke_method;
+ }
+ set { invoke_method = value; }
}
public MethodDefinition RemoveMethod {
- get { return m_remMeth; }
- set { m_remMeth = value; }
- }
+ get {
+ if (remove_method != null)
+ return remove_method;
- public bool HasCustomAttributes {
- get { return (m_customAttrs == null) ? false : (m_customAttrs.Count > 0); }
+ InitializeMethods ();
+ return remove_method;
+ }
+ set { remove_method = value; }
}
- public CustomAttributeCollection CustomAttributes {
+ public bool HasOtherMethods {
get {
- if (m_customAttrs == null)
- m_customAttrs = new CustomAttributeCollection (this);
+ if (other_methods != null)
+ return other_methods.Count > 0;
- return m_customAttrs;
+ InitializeMethods ();
+ return !other_methods.IsNullOrEmpty ();
}
}
- #region EventAttributes
+ public Collection<MethodDefinition> OtherMethods {
+ get {
+ if (other_methods != null)
+ return other_methods;
- public bool IsSpecialName {
- get { return (m_attributes & EventAttributes.SpecialName) != 0; }
- set {
- if (value)
- m_attributes |= EventAttributes.SpecialName;
- else
- m_attributes &= ~EventAttributes.SpecialName;
- }
- }
+ InitializeMethods ();
- public bool IsRuntimeSpecialName {
- get { return (m_attributes & EventAttributes.RTSpecialName) != 0; }
- set {
- if (value)
- m_attributes |= EventAttributes.RTSpecialName;
- else
- m_attributes &= ~EventAttributes.RTSpecialName;
+ if (other_methods != null)
+ return other_methods;
+
+ return other_methods = new Collection<MethodDefinition> ();
}
}
- #endregion
+ public bool HasCustomAttributes {
+ get {
+ if (custom_attributes != null)
+ return custom_attributes.Count > 0;
- public new TypeDefinition DeclaringType {
- get { return (TypeDefinition) base.DeclaringType; }
- set { base.DeclaringType = value; }
+ return this.GetHasCustomAttributes (Module);
+ }
}
- public EventDefinition (string name, TypeReference eventType,
- EventAttributes attrs) : base (name, eventType)
- {
- m_attributes = attrs;
+ public Collection<CustomAttribute> CustomAttributes {
+ get { return custom_attributes ?? (custom_attributes = this.GetCustomAttributes (Module)); }
}
- public override EventDefinition Resolve ()
- {
- return this;
- }
+ #region EventAttributes
- public static MethodDefinition CreateAddMethod (EventDefinition evt)
- {
- MethodDefinition add = new MethodDefinition (
- string.Concat ("add_", evt.Name), (MethodAttributes) 0, evt.EventType);
- evt.AddMethod = add;
- return add;
+ public bool IsSpecialName {
+ get { return attributes.GetAttributes ((ushort) EventAttributes.SpecialName); }
+ set { attributes = attributes.SetAttributes ((ushort) EventAttributes.SpecialName, value); }
}
- public static MethodDefinition CreateRemoveMethod (EventDefinition evt)
- {
- MethodDefinition remove = new MethodDefinition (
- string.Concat ("remove_", evt.Name), (MethodAttributes) 0, evt.EventType);
- evt.RemoveMethod = remove;
- return remove;
+ public bool IsRuntimeSpecialName {
+ get { return attributes.GetAttributes ((ushort) FieldAttributes.RTSpecialName); }
+ set { attributes = attributes.SetAttributes ((ushort) FieldAttributes.RTSpecialName, value); }
}
- public static MethodDefinition CreateInvokeMethod (EventDefinition evt)
- {
- MethodDefinition raise = new MethodDefinition (
- string.Concat ("raise_", evt.Name), (MethodAttributes) 0, evt.EventType);
- evt.InvokeMethod = raise;
- return raise;
+ #endregion
+
+ public new TypeDefinition DeclaringType {
+ get { return (TypeDefinition) base.DeclaringType; }
+ set { base.DeclaringType = value; }
}
- public EventDefinition Clone ()
- {
- return Clone (this, new ImportContext (NullReferenceImporter.Instance, this.DeclaringType));
+ public override bool IsDefinition {
+ get { return true; }
}
- internal static EventDefinition Clone (EventDefinition evt, ImportContext context)
+ public EventDefinition (string name, EventAttributes attributes, TypeReference eventType)
+ : base (name, eventType)
{
- EventDefinition ne = new EventDefinition (
- evt.Name,
- context.Import (evt.EventType),
- evt.Attributes);
-
- if (context.GenericContext.Type is TypeDefinition) {
- TypeDefinition type = context.GenericContext.Type as TypeDefinition;
- if (evt.AddMethod != null)
- ne.AddMethod = type.Methods.GetMethod (evt.AddMethod.Name) [0];
- if (evt.InvokeMethod != null)
- ne.InvokeMethod = type.Methods.GetMethod (evt.InvokeMethod.Name) [0];
- if (evt.RemoveMethod != null)
- ne.RemoveMethod = type.Methods.GetMethod (evt.RemoveMethod.Name) [0];
- }
-
- foreach (CustomAttribute ca in evt.CustomAttributes)
- ne.CustomAttributes.Add (CustomAttribute.Clone (ca, context));
-
- return ne;
+ this.attributes = (ushort) attributes;
+ this.token = new MetadataToken (TokenType.Event);
}
- public override void Accept (IReflectionVisitor visitor)
+ void InitializeMethods ()
{
- visitor.VisitEventDefinition (this);
+ if (add_method != null
+ || invoke_method != null
+ || remove_method != null)
+ return;
+
+ var module = this.Module;
+ if (!module.HasImage ())
+ return;
- this.CustomAttributes.Accept (visitor);
+ module.Read (this, (@event, reader) => reader.ReadMethods (@event));
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/EventDefinitionCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/EventDefinitionCollection.cs
deleted file mode 100644
index f646dfb07aa..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/EventDefinitionCollection.cs
+++ /dev/null
@@ -1,137 +0,0 @@
-//
-// EventDefinitionCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Fri Mar 30 18:43:57 +0200 2007
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class EventDefinitionCollection : CollectionBase, IReflectionVisitable {
-
- TypeDefinition m_container;
-
- public EventDefinition this [int index] {
- get { return List [index] as EventDefinition; }
- set { List [index] = value; }
- }
-
- public TypeDefinition Container {
- get { return m_container; }
- }
-
- public EventDefinitionCollection (TypeDefinition container)
- {
- m_container = container;
- }
-
- public void Add (EventDefinition value)
- {
- Attach (value);
-
- List.Add (value);
- }
-
-
- public new void Clear ()
- {
- foreach (EventDefinition item in this)
- Detach (item);
-
- base.Clear ();
- }
-
- public bool Contains (EventDefinition value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (EventDefinition value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, EventDefinition value)
- {
- Attach (value);
-
- List.Insert (index, value);
- }
-
- public void Remove (EventDefinition value)
- {
- List.Remove (value);
-
- Detach (value);
- }
-
-
- public new void RemoveAt (int index)
- {
- EventDefinition item = this [index];
- Remove (item);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is EventDefinition))
- throw new ArgumentException ("Must be of type " + typeof (EventDefinition).FullName);
- }
-
- public EventDefinition GetEvent (string name)
- {
- foreach (EventDefinition evt in this)
- if (evt.Name == name)
- return evt;
-
- return null;
- }
-
- void Attach (MemberReference member)
- {
- if (member.DeclaringType != null)
- throw new ReflectionException ("Member already attached, clone it instead");
-
- member.DeclaringType = m_container;
- }
-
- void Detach (MemberReference member)
- {
- member.DeclaringType = null;
- }
-
- public void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitEventDefinitionCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/EventReference.cs b/mcs/class/Mono.Cecil/Mono.Cecil/EventReference.cs
index 05ee21e932a..e1435dac9cb 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/EventReference.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/EventReference.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,27 +26,30 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+
namespace Mono.Cecil {
public abstract class EventReference : MemberReference {
- TypeReference m_eventType;
+ TypeReference event_type;
public TypeReference EventType {
- get { return m_eventType; }
- set { m_eventType = value; }
+ get { return event_type; }
+ set { event_type = value; }
}
- public EventReference (string name, TypeReference eventType) : base (name)
- {
- m_eventType = eventType;
+ public override string FullName {
+ get { return event_type.FullName + " " + MemberFullName (); }
}
- public abstract EventDefinition Resolve ();
-
- public override string ToString ()
+ protected EventReference (string name, TypeReference eventType)
+ : base (name)
{
- return string.Concat (m_eventType.FullName, " ", base.ToString ());
+ if (eventType == null)
+ throw new ArgumentNullException ("eventType");
+
+ event_type = eventType;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ExportedType.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ExportedType.cs
new file mode 100644
index 00000000000..a1e793a1975
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/ExportedType.cs
@@ -0,0 +1,235 @@
+//
+// ExportedType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace Mono.Cecil {
+
+ public class ExportedType : IMetadataTokenProvider {
+
+ string @namespace;
+ string name;
+ uint attributes;
+ IMetadataScope scope;
+ int identifier;
+ ExportedType declaring_type;
+ internal MetadataToken token;
+
+ public string Namespace {
+ get { return @namespace; }
+ set { @namespace = value; }
+ }
+
+ public string Name {
+ get { return name; }
+ set { name = value; }
+ }
+
+ public TypeAttributes Attributes {
+ get { return (TypeAttributes) attributes; }
+ set { attributes = (uint) value; }
+ }
+
+ public IMetadataScope Scope {
+ get {
+ if (declaring_type != null)
+ return declaring_type.Scope;
+
+ return scope;
+ }
+ }
+
+ public ExportedType DeclaringType {
+ get { return declaring_type; }
+ set { declaring_type = value; }
+ }
+
+ public MetadataToken MetadataToken {
+ get { return token; }
+ set { token = value; }
+ }
+
+ public int Identifier {
+ get { return identifier; }
+ set { identifier = value; }
+ }
+
+ #region TypeAttributes
+
+ public bool IsNotPublic {
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NotPublic); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NotPublic, value); }
+ }
+
+ public bool IsPublic {
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.Public); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.Public, value); }
+ }
+
+ public bool IsNestedPublic {
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedPublic); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedPublic, value); }
+ }
+
+ public bool IsNestedPrivate {
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedPrivate); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedPrivate, value); }
+ }
+
+ public bool IsNestedFamily {
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedFamily); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedFamily, value); }
+ }
+
+ public bool IsNestedAssembly {
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedAssembly); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedAssembly, value); }
+ }
+
+ public bool IsNestedFamilyAndAssembly {
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedFamANDAssem); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedFamANDAssem, value); }
+ }
+
+ public bool IsNestedFamilyOrAssembly {
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedFamORAssem); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedFamORAssem, value); }
+ }
+
+ public bool IsAutoLayout {
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.LayoutMask, (uint) TypeAttributes.AutoLayout); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.LayoutMask, (uint) TypeAttributes.AutoLayout, value); }
+ }
+
+ public bool IsSequentialLayout {
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.LayoutMask, (uint) TypeAttributes.SequentialLayout); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.LayoutMask, (uint) TypeAttributes.SequentialLayout, value); }
+ }
+
+ public bool IsExplicitLayout {
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.LayoutMask, (uint) TypeAttributes.ExplicitLayout); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.LayoutMask, (uint) TypeAttributes.ExplicitLayout, value); }
+ }
+
+ public bool IsClass {
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.ClassSemanticMask, (uint) TypeAttributes.Class); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.ClassSemanticMask, (uint) TypeAttributes.Class, value); }
+ }
+
+ public bool IsInterface {
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.ClassSemanticMask, (uint) TypeAttributes.Interface); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.ClassSemanticMask, (uint) TypeAttributes.Interface, value); }
+ }
+
+ public bool IsAbstract {
+ get { return attributes.GetAttributes ((uint) TypeAttributes.Abstract); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.Abstract, value); }
+ }
+
+ public bool IsSealed {
+ get { return attributes.GetAttributes ((uint) TypeAttributes.Sealed); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.Sealed, value); }
+ }
+
+ public bool IsSpecialName {
+ get { return attributes.GetAttributes ((uint) TypeAttributes.SpecialName); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.SpecialName, value); }
+ }
+
+ public bool IsImport {
+ get { return attributes.GetAttributes ((uint) TypeAttributes.Import); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.Import, value); }
+ }
+
+ public bool IsSerializable {
+ get { return attributes.GetAttributes ((uint) TypeAttributes.Serializable); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.Serializable, value); }
+ }
+
+ public bool IsAnsiClass {
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.StringFormatMask, (uint) TypeAttributes.AnsiClass); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.StringFormatMask, (uint) TypeAttributes.AnsiClass, value); }
+ }
+
+ public bool IsUnicodeClass {
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.StringFormatMask, (uint) TypeAttributes.UnicodeClass); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.StringFormatMask, (uint) TypeAttributes.UnicodeClass, value); }
+ }
+
+ public bool IsAutoClass {
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.StringFormatMask, (uint) TypeAttributes.AutoClass); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.StringFormatMask, (uint) TypeAttributes.AutoClass, value); }
+ }
+
+ public bool IsBeforeFieldInit {
+ get { return attributes.GetAttributes ((uint) TypeAttributes.BeforeFieldInit); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.BeforeFieldInit, value); }
+ }
+
+ public bool IsRuntimeSpecialName {
+ get { return attributes.GetAttributes ((uint) TypeAttributes.RTSpecialName); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.RTSpecialName, value); }
+ }
+
+ public bool HasSecurity {
+ get { return attributes.GetAttributes ((uint) TypeAttributes.HasSecurity); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.HasSecurity, value); }
+ }
+
+ #endregion
+
+ public bool IsForwarder {
+ get { return attributes.GetAttributes ((uint) TypeAttributes.Forwarder); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.Forwarder, value); }
+ }
+
+ public string FullName {
+ get {
+ if (declaring_type != null)
+ return declaring_type.FullName + "/" + name;
+
+ if (string.IsNullOrEmpty (@namespace))
+ return name;
+
+ return @namespace + "." + name;
+ }
+ }
+
+ public ExportedType (string @namespace, string name, IMetadataScope scope)
+ {
+ this.@namespace = @namespace;
+ this.name = name;
+ this.scope = scope;
+ }
+
+ public override string ToString ()
+ {
+ return FullName;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ExternTypeCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ExternTypeCollection.cs
deleted file mode 100644
index dfad54876a8..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ExternTypeCollection.cs
+++ /dev/null
@@ -1,192 +0,0 @@
-//
-// ExternTypeCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Fri Mar 30 18:43:57 +0200 2007
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
- using System.Collections.Specialized;
-
- using Mono.Cecil.Cil;
-
- using Hcp = Mono.Cecil.HashCodeProvider;
- using Cmp = System.Collections.Comparer;
-
- public sealed class ExternTypeCollection : NameObjectCollectionBase, IList, IReflectionVisitable {
-
- ModuleDefinition m_container;
-
- public TypeReference this [int index] {
- get { return this.BaseGet (index) as TypeReference; }
- set { this.BaseSet (index, value); }
- }
-
- public TypeReference this [string fullName] {
- get { return this.BaseGet (fullName) as TypeReference; }
- set { this.BaseSet (fullName, value); }
- }
-
- public ModuleDefinition Container {
- get { return m_container; }
- }
-
- public bool IsSynchronized {
- get { return false; }
- }
-
- public object SyncRoot {
- get { return this; }
- }
-
- bool IList.IsReadOnly {
- get { return false; }
- }
-
- bool IList.IsFixedSize {
- get { return false; }
- }
-
- object IList.this [int index] {
- get { return BaseGet (index); }
- set {
- Check (value);
- BaseSet (index, value);
- }
- }
-
- public ExternTypeCollection (ModuleDefinition container) :
- base (Hcp.Instance, Cmp.Default)
- {
- m_container = container;
- }
-
- public void Add (TypeReference value)
- {
- if (value == null)
- throw new ArgumentNullException ("value");
-
- this.BaseAdd (value.FullName, value);
- }
-
- public void Clear ()
- {
- this.BaseClear ();
- }
-
- public bool Contains (TypeReference value)
- {
- return Contains (value.FullName);
- }
-
- public bool Contains (string fullName)
- {
- return this.BaseGet (fullName) != null;
- }
-
- public int IndexOf (TypeReference value)
- {
- string [] keys = this.BaseGetAllKeys ();
- return Array.IndexOf (keys, value.FullName, 0, keys.Length);
- }
-
- public void Remove (TypeReference value)
- {
- this.BaseRemove (value.FullName);
- }
-
- public void RemoveAt (int index)
- {
- TypeReference item = this [index];
- Remove (item);
- }
-
- public void CopyTo (Array ary, int index)
- {
- this.BaseGetAllValues ().CopyTo (ary, index);
- }
-
- public new IEnumerator GetEnumerator ()
- {
- return this.BaseGetAllValues ().GetEnumerator ();
- }
-
- public void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitExternTypeCollection (this);
- }
-
-#if CF_1_0 || CF_2_0
- internal object [] BaseGetAllValues ()
- {
- object [] values = new object [this.Count];
- for (int i=0; i < values.Length; ++i) {
- values [i] = this.BaseGet (i);
- }
- return values;
- }
-#endif
-
- void Check (object value)
- {
- if (!(value is TypeReference))
- throw new ArgumentException ();
- }
-
- int IList.Add (object value)
- {
- Check (value);
- Add (value as TypeReference);
- return 0;
- }
-
- bool IList.Contains (object value)
- {
- Check (value);
- return Contains (value as TypeReference);
- }
-
- int IList.IndexOf (object value)
- {
- throw new NotSupportedException ();
- }
-
- void IList.Insert (int index, object value)
- {
- throw new NotSupportedException ();
- }
-
- void IList.Remove (object value)
- {
- Check (value);
- Remove (value as TypeReference);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/FieldAttributes.cs b/mcs/class/Mono.Cecil/Mono.Cecil/FieldAttributes.cs
index b7e90f0b545..947a8770af0 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/FieldAttributes.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/FieldAttributes.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,14 +26,14 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
- using System;
+namespace Mono.Cecil {
[Flags]
public enum FieldAttributes : ushort {
FieldAccessMask = 0x0007,
- Compilercontrolled = 0x0000, // Member not referenceable
+ CompilerControlled = 0x0000, // Member not referenceable
Private = 0x0001, // Accessible only by the parent type
FamANDAssem = 0x0002, // Accessible by sub-types only in this assembly
Assembly = 0x0003, // Accessible by anyone in the Assembly
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/FieldDefinition.cs b/mcs/class/Mono.Cecil/Mono.Cecil/FieldDefinition.cs
index d25380ab0d0..c60a940051c 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/FieldDefinition.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/FieldDefinition.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,306 +26,254 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using Mono.Collections.Generic;
+
namespace Mono.Cecil {
- using Mono.Cecil;
- using Mono.Cecil.Binary;
+ public sealed class FieldDefinition : FieldReference, IMemberDefinition, IConstantProvider, IMarshalInfoProvider {
- public sealed class FieldDefinition : FieldReference, IMemberDefinition,
- ICustomAttributeProvider, IHasMarshalSpec, IHasConstant {
+ ushort attributes;
+ Collection<CustomAttribute> custom_attributes;
- FieldAttributes m_attributes;
+ int offset = Mixin.NotResolvedMarker;
- CustomAttributeCollection m_customAttrs;
+ internal int rva = Mixin.NotResolvedMarker;
+ byte [] initial_value;
- bool m_hasInfo;
- uint m_offset;
+ object constant = Mixin.NotResolved;
- RVA m_rva;
- byte [] m_initVal;
+ MarshalInfo marshal_info;
- bool m_hasConstant;
- object m_const;
+ void ResolveLayout ()
+ {
+ if (offset != Mixin.NotResolvedMarker)
+ return;
- MarshalSpec m_marshalDesc;
+ if (!HasImage) {
+ offset = Mixin.NoDataMarker;
+ return;
+ }
+
+ offset = Module.Read (this, (field, reader) => reader.ReadFieldLayout (field));
+ }
public bool HasLayoutInfo {
- get { return m_hasInfo; }
+ get {
+ if (offset >= 0)
+ return true;
+
+ ResolveLayout ();
+
+ return offset >= 0;
+ }
}
- public uint Offset {
- get { return m_offset; }
- set {
- m_hasInfo = true;
- m_offset = value;
+ public int Offset {
+ get {
+ if (offset >= 0)
+ return offset;
+
+ ResolveLayout ();
+
+ return offset >= 0 ? offset : -1;
}
+ set { offset = value; }
}
- public RVA RVA {
- get { return m_rva; }
- set { m_rva = value; }
+ void ResolveRVA ()
+ {
+ if (rva != Mixin.NotResolvedMarker)
+ return;
+
+ if (!HasImage)
+ return;
+
+ rva = Module.Read (this, (field, reader) => reader.ReadFieldRVA (field));
+ }
+
+ public int RVA {
+ get {
+ if (rva > 0)
+ return rva;
+
+ ResolveRVA ();
+
+ return rva > 0 ? rva : 0;
+ }
}
public byte [] InitialValue {
- get { return m_initVal; }
- set { m_initVal = value; }
+ get {
+ if (initial_value != null)
+ return initial_value;
+
+ ResolveRVA ();
+
+ if (initial_value == null)
+ initial_value = Empty<byte>.Array;
+
+ return initial_value;
+ }
+ set { initial_value = value; }
}
public FieldAttributes Attributes {
- get { return m_attributes; }
- set { m_attributes = value; }
+ get { return (FieldAttributes) attributes; }
+ set { attributes = (ushort) value; }
}
public bool HasConstant {
- get { return m_hasConstant; }
+ get {
+ ResolveConstant ();
+
+ return constant != Mixin.NoValue;
+ }
+ set { if (!value) constant = Mixin.NoValue; }
}
public object Constant {
- get { return m_const; }
- set {
- m_hasConstant = true;
- m_const = value;
- }
+ get { return HasConstant ? constant : null; }
+ set { constant = value; }
}
- public bool HasCustomAttributes {
- get { return (m_customAttrs == null) ? false : (m_customAttrs.Count > 0); }
+ void ResolveConstant ()
+ {
+ if (constant != Mixin.NotResolved)
+ return;
+
+ this.ResolveConstant (ref constant, Module);
}
- public CustomAttributeCollection CustomAttributes {
+ public bool HasCustomAttributes {
get {
- if (m_customAttrs == null)
- m_customAttrs = new CustomAttributeCollection (this);
+ if (custom_attributes != null)
+ return custom_attributes.Count > 0;
- return m_customAttrs;
+ return this.GetHasCustomAttributes (Module);
}
}
- public MarshalSpec MarshalSpec {
- get { return m_marshalDesc; }
- set {
- m_marshalDesc = value;
- if (value != null)
- m_attributes |= FieldAttributes.HasFieldMarshal;
- else
- m_attributes &= FieldAttributes.HasFieldMarshal;
+ public Collection<CustomAttribute> CustomAttributes {
+ get { return custom_attributes ?? (custom_attributes = this.GetCustomAttributes (Module)); }
+ }
+
+ public bool HasMarshalInfo {
+ get {
+ if (marshal_info != null)
+ return true;
+
+ return this.GetHasMarshalInfo (Module);
}
}
+ public MarshalInfo MarshalInfo {
+ get { return marshal_info ?? (marshal_info = this.GetMarshalInfo (Module)); }
+ set { marshal_info = value; }
+ }
+
#region FieldAttributes
public bool IsCompilerControlled {
- get { return (m_attributes & FieldAttributes.FieldAccessMask) == FieldAttributes.Compilercontrolled; }
- set {
- if (value) {
- m_attributes &= ~FieldAttributes.FieldAccessMask;
- m_attributes |= FieldAttributes.Compilercontrolled;
- } else
- m_attributes &= ~(FieldAttributes.FieldAccessMask & FieldAttributes.Compilercontrolled);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) FieldAttributes.FieldAccessMask, (ushort) FieldAttributes.CompilerControlled); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) FieldAttributes.FieldAccessMask, (ushort) FieldAttributes.CompilerControlled, value); }
}
public bool IsPrivate {
- get { return (m_attributes & FieldAttributes.FieldAccessMask) == FieldAttributes.Private; }
- set {
- if (value) {
- m_attributes &= ~FieldAttributes.FieldAccessMask;
- m_attributes |= FieldAttributes.Private;
- } else
- m_attributes &= ~(FieldAttributes.FieldAccessMask & FieldAttributes.Private);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) FieldAttributes.FieldAccessMask, (ushort) FieldAttributes.Private); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) FieldAttributes.FieldAccessMask, (ushort) FieldAttributes.Private, value); }
}
public bool IsFamilyAndAssembly {
- get { return (m_attributes & FieldAttributes.FieldAccessMask) == FieldAttributes.FamANDAssem; }
- set {
- if (value) {
- m_attributes &= ~FieldAttributes.FieldAccessMask;
- m_attributes |= FieldAttributes.FamANDAssem;
- } else
- m_attributes &= ~(FieldAttributes.FieldAccessMask & FieldAttributes.FamANDAssem);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) FieldAttributes.FieldAccessMask, (ushort) FieldAttributes.FamANDAssem); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) FieldAttributes.FieldAccessMask, (ushort) FieldAttributes.FamANDAssem, value); }
}
public bool IsAssembly {
- get { return (m_attributes & FieldAttributes.FieldAccessMask) == FieldAttributes.Assembly; }
- set {
- if (value) {
- m_attributes &= ~FieldAttributes.FieldAccessMask;
- m_attributes |= FieldAttributes.Assembly;
- } else
- m_attributes &= ~(FieldAttributes.FieldAccessMask & FieldAttributes.Assembly);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) FieldAttributes.FieldAccessMask, (ushort) FieldAttributes.Assembly); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) FieldAttributes.FieldAccessMask, (ushort) FieldAttributes.Assembly, value); }
}
public bool IsFamily {
- get { return (m_attributes & FieldAttributes.FieldAccessMask) == FieldAttributes.Family; }
- set {
- if (value) {
- m_attributes &= ~FieldAttributes.FieldAccessMask;
- m_attributes |= FieldAttributes.Family;
- } else
- m_attributes &= ~(FieldAttributes.FieldAccessMask & FieldAttributes.Family);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) FieldAttributes.FieldAccessMask, (ushort) FieldAttributes.Family); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) FieldAttributes.FieldAccessMask, (ushort) FieldAttributes.Family, value); }
}
public bool IsFamilyOrAssembly {
- get { return (m_attributes & FieldAttributes.FieldAccessMask) == FieldAttributes.FamORAssem; }
- set {
- if (value) {
- m_attributes &= ~FieldAttributes.FieldAccessMask;
- m_attributes |= FieldAttributes.FamORAssem;
- } else
- m_attributes &= ~(FieldAttributes.FieldAccessMask & FieldAttributes.FamORAssem);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) FieldAttributes.FieldAccessMask, (ushort) FieldAttributes.FamORAssem); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) FieldAttributes.FieldAccessMask, (ushort) FieldAttributes.FamORAssem, value); }
}
public bool IsPublic {
- get { return (m_attributes & FieldAttributes.FieldAccessMask) == FieldAttributes.Public; }
- set {
- if (value) {
- m_attributes &= ~FieldAttributes.FieldAccessMask;
- m_attributes |= FieldAttributes.Public;
- } else
- m_attributes &= ~(FieldAttributes.FieldAccessMask & FieldAttributes.Public);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) FieldAttributes.FieldAccessMask, (ushort) FieldAttributes.Public); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) FieldAttributes.FieldAccessMask, (ushort) FieldAttributes.Public, value); }
}
public bool IsStatic {
- get { return (m_attributes & FieldAttributes.Static) != 0; }
- set {
- if (value)
- m_attributes |= FieldAttributes.Static;
- else
- m_attributes &= ~FieldAttributes.Static;
- }
+ get { return attributes.GetAttributes ((ushort) FieldAttributes.Static); }
+ set { attributes = attributes.SetAttributes ((ushort) FieldAttributes.Static, value); }
}
public bool IsInitOnly {
- get { return (m_attributes & FieldAttributes.InitOnly) != 0; }
- set {
- if (value)
- m_attributes |= FieldAttributes.InitOnly;
- else
- m_attributes &= ~FieldAttributes.InitOnly;
- }
+ get { return attributes.GetAttributes ((ushort) FieldAttributes.InitOnly); }
+ set { attributes = attributes.SetAttributes ((ushort) FieldAttributes.InitOnly, value); }
}
public bool IsLiteral {
- get { return (m_attributes & FieldAttributes.Literal) != 0; }
- set {
- if (value)
- m_attributes |= FieldAttributes.Literal;
- else
- m_attributes &= ~FieldAttributes.Literal;
- }
+ get { return attributes.GetAttributes ((ushort) FieldAttributes.Literal); }
+ set { attributes = attributes.SetAttributes ((ushort) FieldAttributes.Literal, value); }
}
public bool IsNotSerialized {
- get { return (m_attributes & FieldAttributes.NotSerialized) != 0; }
- set {
- if (value)
- m_attributes |= FieldAttributes.NotSerialized;
- else
- m_attributes &= ~FieldAttributes.NotSerialized;
- }
+ get { return attributes.GetAttributes ((ushort) FieldAttributes.NotSerialized); }
+ set { attributes = attributes.SetAttributes ((ushort) FieldAttributes.NotSerialized, value); }
}
public bool IsSpecialName {
- get { return (m_attributes & FieldAttributes.SpecialName) != 0; }
- set {
- if (value)
- m_attributes |= FieldAttributes.SpecialName;
- else
- m_attributes &= ~FieldAttributes.SpecialName;
- }
+ get { return attributes.GetAttributes ((ushort) FieldAttributes.SpecialName); }
+ set { attributes = attributes.SetAttributes ((ushort) FieldAttributes.SpecialName, value); }
}
public bool IsPInvokeImpl {
- get { return (m_attributes & FieldAttributes.PInvokeImpl) != 0; }
- set {
- if (value)
- m_attributes |= FieldAttributes.PInvokeImpl;
- else
- m_attributes &= ~FieldAttributes.PInvokeImpl;
- }
+ get { return attributes.GetAttributes ((ushort) FieldAttributes.PInvokeImpl); }
+ set { attributes = attributes.SetAttributes ((ushort) FieldAttributes.PInvokeImpl, value); }
}
public bool IsRuntimeSpecialName {
- get { return (m_attributes & FieldAttributes.RTSpecialName) != 0; }
- set {
- if (value)
- m_attributes |= FieldAttributes.RTSpecialName;
- else
- m_attributes &= ~FieldAttributes.RTSpecialName;
- }
+ get { return attributes.GetAttributes ((ushort) FieldAttributes.RTSpecialName); }
+ set { attributes = attributes.SetAttributes ((ushort) FieldAttributes.RTSpecialName, value); }
}
public bool HasDefault {
- get { return (m_attributes & FieldAttributes.HasDefault) != 0; }
- set {
- if (value)
- m_attributes |= FieldAttributes.HasDefault;
- else
- m_attributes &= ~FieldAttributes.HasDefault;
- }
+ get { return attributes.GetAttributes ((ushort) FieldAttributes.HasDefault); }
+ set { attributes = attributes.SetAttributes ((ushort) FieldAttributes.HasDefault, value); }
}
#endregion
+ public override bool IsDefinition {
+ get { return true; }
+ }
+
public new TypeDefinition DeclaringType {
get { return (TypeDefinition) base.DeclaringType; }
set { base.DeclaringType = value; }
}
- public FieldDefinition (string name, TypeReference fieldType,
- FieldAttributes attrs) : base (name, fieldType)
+ public FieldDefinition (string name, FieldAttributes attributes, TypeReference fieldType)
+ : base (name, fieldType)
{
- m_attributes = attrs;
+ this.attributes = (ushort) attributes;
}
public override FieldDefinition Resolve ()
{
return this;
}
+ }
- public FieldDefinition Clone ()
- {
- return Clone (this, new ImportContext (NullReferenceImporter.Instance, this.DeclaringType));
- }
-
- internal static FieldDefinition Clone (FieldDefinition field, ImportContext context)
- {
- FieldDefinition nf = new FieldDefinition (
- field.Name,
- context.Import (field.FieldType),
- field.Attributes);
-
- if (field.HasConstant)
- nf.Constant = field.Constant;
- if (field.MarshalSpec != null)
- nf.MarshalSpec = field.MarshalSpec.CloneInto (nf);
- if (field.RVA != RVA.Zero)
- nf.InitialValue = field.InitialValue;
- else
- nf.InitialValue = new byte [0];
- if (field.HasLayoutInfo)
- nf.Offset = field.Offset;
-
- foreach (CustomAttribute ca in field.CustomAttributes)
- nf.CustomAttributes.Add (CustomAttribute.Clone (ca, context));
-
- return nf;
- }
-
- public override void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitFieldDefinition (this);
-
- if (this.MarshalSpec != null)
- this.MarshalSpec.Accept (visitor);
+ static partial class Mixin {
- this.CustomAttributes.Accept (visitor);
- }
+ public const int NotResolvedMarker = -2;
+ public const int NoDataMarker = -1;
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/FieldDefinitionCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/FieldDefinitionCollection.cs
deleted file mode 100644
index 366ec3d6429..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/FieldDefinitionCollection.cs
+++ /dev/null
@@ -1,137 +0,0 @@
-//
-// FieldDefinitionCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Fri Mar 30 18:43:57 +0200 2007
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class FieldDefinitionCollection : CollectionBase, IReflectionVisitable {
-
- TypeDefinition m_container;
-
- public FieldDefinition this [int index] {
- get { return List [index] as FieldDefinition; }
- set { List [index] = value; }
- }
-
- public TypeDefinition Container {
- get { return m_container; }
- }
-
- public FieldDefinitionCollection (TypeDefinition container)
- {
- m_container = container;
- }
-
- public void Add (FieldDefinition value)
- {
- Attach (value);
-
- List.Add (value);
- }
-
-
- public new void Clear ()
- {
- foreach (FieldDefinition item in this)
- Detach (item);
-
- base.Clear ();
- }
-
- public bool Contains (FieldDefinition value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (FieldDefinition value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, FieldDefinition value)
- {
- Attach (value);
-
- List.Insert (index, value);
- }
-
- public void Remove (FieldDefinition value)
- {
- List.Remove (value);
-
- Detach (value);
- }
-
-
- public new void RemoveAt (int index)
- {
- FieldDefinition item = this [index];
- Remove (item);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is FieldDefinition))
- throw new ArgumentException ("Must be of type " + typeof (FieldDefinition).FullName);
- }
-
- public FieldDefinition GetField (string name)
- {
- foreach (FieldDefinition field in this)
- if (field.Name == name)
- return field;
-
- return null;
- }
-
- void Attach (MemberReference member)
- {
- if (member.DeclaringType != null)
- throw new ReflectionException ("Member already attached, clone it instead");
-
- member.DeclaringType = m_container;
- }
-
- void Detach (MemberReference member)
- {
- member.DeclaringType = null;
- }
-
- public void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitFieldDefinitionCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/FieldReference.cs b/mcs/class/Mono.Cecil/Mono.Cecil/FieldReference.cs
index 19133843450..1c812bb90ef 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/FieldReference.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/FieldReference.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,42 +26,58 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
- using Mono.Cecil;
+namespace Mono.Cecil {
public class FieldReference : MemberReference {
- TypeReference m_fieldType;
+ TypeReference field_type;
public TypeReference FieldType {
- get { return m_fieldType; }
- set { m_fieldType = value; }
+ get { return field_type; }
+ set { field_type = value; }
+ }
+
+ public override string FullName {
+ get { return field_type.FullName + " " + MemberFullName (); }
+ }
+
+ internal override bool ContainsGenericParameter {
+ get { return field_type.ContainsGenericParameter || base.ContainsGenericParameter; }
}
- internal FieldReference (string name, TypeReference fieldType) : base (name)
+ internal FieldReference ()
{
- m_fieldType = fieldType;
+ this.token = new MetadataToken (TokenType.MemberRef);
}
- public FieldReference (string name, TypeReference declaringType, TypeReference fieldType) :
- this (name, fieldType)
+ public FieldReference (string name, TypeReference fieldType)
+ : base (name)
{
- this.DeclaringType = declaringType;
+ if (fieldType == null)
+ throw new ArgumentNullException ("fieldType");
+
+ this.field_type = fieldType;
+ this.token = new MetadataToken (TokenType.MemberRef);
}
- public virtual FieldDefinition Resolve ()
+ public FieldReference (string name, TypeReference fieldType, TypeReference declaringType)
+ : this (name, fieldType)
{
- TypeReference declaringType = DeclaringType;
if (declaringType == null)
- return null;
+ throw new ArgumentNullException("declaringType");
- return declaringType.Module.Resolver.Resolve (this);
+ this.DeclaringType = declaringType;
}
- public override string ToString ()
+ public virtual FieldDefinition Resolve ()
{
- return string.Concat (m_fieldType.FullName, " ", base.ToString ());
+ var module = this.Module;
+ if (module == null)
+ throw new NotSupportedException ();
+
+ return module.Resolve (this);
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/FileAttributes.cs b/mcs/class/Mono.Cecil/Mono.Cecil/FileAttributes.cs
index 1379a8696d3..6c2781c6244 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/FileAttributes.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/FileAttributes.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -28,7 +28,7 @@
namespace Mono.Cecil {
- public enum FileAttributes : uint {
+ enum FileAttributes : uint {
ContainsMetaData = 0x0000, // This is not a resource file
ContainsNoMetaData = 0x0001, // This is a resource file or other non-metadata-containing file
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/FunctionPointerType.cs b/mcs/class/Mono.Cecil/Mono.Cecil/FunctionPointerType.cs
index 247f26c9df2..4c1f1baccda 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/FunctionPointerType.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/FunctionPointerType.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 - 2007 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,45 +26,51 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
+using System.Text;
+using Mono.Collections.Generic;
+using MD = Mono.Cecil.Metadata;
- using System;
- using System.Text;
+namespace Mono.Cecil {
public sealed class FunctionPointerType : TypeSpecification, IMethodSignature {
- MethodReference m_function;
+ readonly MethodReference function;
public bool HasThis {
- get { return m_function.HasThis; }
- set { m_function.HasThis = value; }
+ get { return function.HasThis; }
+ set { function.HasThis = value; }
}
public bool ExplicitThis {
- get { return m_function.ExplicitThis; }
- set { m_function.ExplicitThis = value; }
+ get { return function.ExplicitThis; }
+ set { function.ExplicitThis = value; }
}
public MethodCallingConvention CallingConvention {
- get { return m_function.CallingConvention; }
- set { m_function.CallingConvention = value; }
+ get { return function.CallingConvention; }
+ set { function.CallingConvention = value; }
}
public bool HasParameters {
- get { return m_function.HasParameters; }
+ get { return function.HasParameters; }
+ }
+
+ public Collection<ParameterDefinition> Parameters {
+ get { return function.Parameters; }
}
- public ParameterDefinitionCollection Parameters {
- get { return m_function.Parameters; }
+ public TypeReference ReturnType {
+ get { return function.MethodReturnType.ReturnType; }
+ set { function.MethodReturnType.ReturnType = value; }
}
- public MethodReturnType ReturnType {
- get { return m_function.ReturnType; }
- set { m_function.ReturnType = value; }
+ public MethodReturnType MethodReturnType {
+ get { return function.MethodReturnType; }
}
public override string Name {
- get { return m_function.Name; }
+ get { return function.Name; }
set { throw new InvalidOperationException (); }
}
@@ -73,44 +79,40 @@ namespace Mono.Cecil {
set { throw new InvalidOperationException (); }
}
+ public override ModuleDefinition Module {
+ get { return ReturnType.Module; }
+ }
+
public override IMetadataScope Scope {
- get { return m_function.DeclaringType.Scope; }
+ get { return function.ReturnType.Scope; }
+ }
+
+ public override bool IsFunctionPointer {
+ get { return true; }
+ }
+
+ internal override bool ContainsGenericParameter {
+ get { return function.ContainsGenericParameter; }
}
public override string FullName {
get {
- int sentinel = GetSentinel ();
- StringBuilder sb = new StringBuilder ();
- sb.Append (m_function.Name);
- sb.Append (" ");
- sb.Append (m_function.ReturnType.ReturnType.FullName);
- sb.Append (" *(");
- if (m_function.HasParameters) {
- for (int i = 0; i < m_function.Parameters.Count; i++) {
- if (i > 0)
- sb.Append (",");
-
- if (i == sentinel)
- sb.Append ("...,");
-
- sb.Append (m_function.Parameters [i].ParameterType.FullName);
- }
- }
- sb.Append (")");
- return sb.ToString ();
+ var signature = new StringBuilder ();
+ signature.Append (function.Name);
+ signature.Append (" ");
+ signature.Append (function.ReturnType.FullName);
+ signature.Append (" *");
+ this.MethodSignatureFullName (signature);
+ return signature.ToString ();
}
}
- public FunctionPointerType (bool hasThis, bool explicitThis, MethodCallingConvention callConv, MethodReturnType retType) :
- base (retType.ReturnType)
- {
- m_function = new MethodReference ("method", hasThis, explicitThis, callConv);
- m_function.ReturnType = retType;
- }
-
- public int GetSentinel ()
+ public FunctionPointerType ()
+ : base (null)
{
- return m_function.GetSentinel ();
+ this.function = new MethodReference ();
+ this.function.Name = "method";
+ this.etype = MD.ElementType.FnPtr;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/GenericArgumentCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/GenericArgumentCollection.cs
deleted file mode 100644
index cdb82e9abcd..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/GenericArgumentCollection.cs
+++ /dev/null
@@ -1,88 +0,0 @@
-//
-// GenericArgumentCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Wed Sep 27 12:46:54 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class GenericArgumentCollection : CollectionBase {
-
- IGenericInstance m_container;
-
- public TypeReference this [int index] {
- get { return List [index] as TypeReference; }
- set { List [index] = value; }
- }
-
- public IGenericInstance Container {
- get { return m_container; }
- }
-
- public GenericArgumentCollection (IGenericInstance container)
- {
- m_container = container;
- }
-
- public void Add (TypeReference value)
- {
- List.Add (value);
- }
-
- public bool Contains (TypeReference value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (TypeReference value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, TypeReference value)
- {
- List.Insert (index, value);
- }
-
- public void Remove (TypeReference value)
- {
- List.Remove (value);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is TypeReference))
- throw new ArgumentException ("Must be of type " + typeof (TypeReference).FullName);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/GenericContext.cs b/mcs/class/Mono.Cecil/Mono.Cecil/GenericContext.cs
deleted file mode 100644
index b3c198d5ed3..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/GenericContext.cs
+++ /dev/null
@@ -1,92 +0,0 @@
-//
-// GenericContext.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public class GenericContext {
-
- TypeReference m_type;
- MethodReference m_method;
-
- public TypeReference Type {
- get { return m_type; }
- set { m_type = value; }
- }
-
- public MethodReference Method {
- get { return m_method; }
- set { m_method = value; }
- }
-
- public bool AllowCreation {
- get { return m_type != null && m_type.GetType () == typeof (TypeReference); }
- }
-
- public bool Null {
- get { return m_type == null && m_method == null; }
- }
-
- public GenericContext ()
- {
- }
-
- public GenericContext (TypeReference type, MethodReference meth)
- {
- m_type = type;
- m_method = meth;
- }
-
- public GenericContext (IGenericParameterProvider provider)
- {
- if (provider is TypeReference)
- m_type = provider as TypeReference;
- else if (provider is MethodReference) {
- MethodReference meth = provider as MethodReference;
- m_method = meth;
- m_type = meth.DeclaringType;
- }
- }
-
- internal void CheckProvider (IGenericParameterProvider provider, int count)
- {
- if (!AllowCreation)
- return;
-
- for (int i = provider.GenericParameters.Count; i < count; i++)
- provider.GenericParameters.Add (new GenericParameter (i, provider));
- }
-
- public GenericContext Clone ()
- {
- GenericContext ctx = new GenericContext ();
- ctx.Type = m_type;
- ctx.Method = m_method;
- return ctx;
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/GenericInstanceMethod.cs b/mcs/class/Mono.Cecil/Mono.Cecil/GenericInstanceMethod.cs
index b88873e7c01..d4871c34ea4 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/GenericInstanceMethod.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/GenericInstanceMethod.cs
@@ -1,10 +1,10 @@
//
-// IGenericInstanceMethod.cs
+// GenericInstanceMethod.cs
//
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,56 +26,65 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+using System.Text;
+
+using Mono.Collections.Generic;
+
namespace Mono.Cecil {
- using System.Text;
+ public sealed class GenericInstanceMethod : MethodSpecification, IGenericInstance, IGenericContext {
- public sealed class GenericInstanceMethod : MethodSpecification, IGenericInstance {
+ Collection<TypeReference> arguments;
- private GenericArgumentCollection m_genArgs;
+ public bool HasGenericArguments {
+ get { return !arguments.IsNullOrEmpty (); }
+ }
- public GenericArgumentCollection GenericArguments {
+ public Collection<TypeReference> GenericArguments {
get {
- if (m_genArgs == null)
- m_genArgs = new GenericArgumentCollection (this);
- return m_genArgs;
+ if (arguments == null)
+ arguments = new Collection<TypeReference> ();
+
+ return arguments;
}
}
- public bool HasGenericArguments {
- get { return m_genArgs == null ? false : m_genArgs.Count > 0; }
+ public override bool IsGenericInstance {
+ get { return true; }
}
- public GenericInstanceMethod (MethodReference elemMethod) : base (elemMethod)
- {
+ IGenericParameterProvider IGenericContext.Method {
+ get { return ElementMethod; }
}
- public override string ToString ()
- {
- StringBuilder sb = new StringBuilder ();
- MethodReference meth = this.ElementMethod;
- sb.Append (meth.ReturnType.ReturnType.FullName);
- sb.Append (" ");
- sb.Append (meth.DeclaringType.FullName);
- sb.Append ("::");
- sb.Append (meth.Name);
- sb.Append ("<");
- for (int i = 0; i < this.GenericArguments.Count; i++) {
- if (i > 0)
- sb.Append (",");
- sb.Append (this.GenericArguments [i].FullName);
- }
- sb.Append (">");
- sb.Append ("(");
- if (meth.HasParameters) {
- for (int i = 0; i < meth.Parameters.Count; i++) {
- sb.Append (meth.Parameters [i].ParameterType.FullName);
- if (i < meth.Parameters.Count - 1)
- sb.Append (",");
- }
+ IGenericParameterProvider IGenericContext.Type {
+ get { return ElementMethod.DeclaringType; }
+ }
+
+ internal override bool ContainsGenericParameter {
+ get { return this.ContainsGenericParameter () || base.ContainsGenericParameter; }
+ }
+
+ public override string FullName {
+ get {
+ var signature = new StringBuilder ();
+ var method = this.ElementMethod;
+ signature.Append (method.ReturnType.FullName);
+ signature.Append (" ");
+ signature.Append (method.DeclaringType.FullName);
+ signature.Append ("::");
+ signature.Append (method.Name);
+ this.GenericInstanceFullName (signature);
+ this.MethodSignatureFullName (signature);
+ return signature.ToString ();
+
}
- sb.Append (")");
- return sb.ToString ();
+ }
+
+ public GenericInstanceMethod (MethodReference method)
+ : base (method)
+ {
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/GenericInstanceType.cs b/mcs/class/Mono.Cecil/Mono.Cecil/GenericInstanceType.cs
index e20ad67483c..46c048bcd3e 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/GenericInstanceType.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/GenericInstanceType.cs
@@ -2,10 +2,9 @@
// GenericInstanceType.cs
//
// Author:
-// Martin Baulig <martin@ximian.com>
-// Jb Evain <jbevain@gmail.com>
+// Jb Evain (jbevain@gmail.com)
//
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -27,49 +26,63 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+using System.Text;
+
+using Mono.Collections.Generic;
+
+using MD = Mono.Cecil.Metadata;
+
namespace Mono.Cecil {
- using System.Text;
+ public sealed class GenericInstanceType : TypeSpecification, IGenericInstance, IGenericContext {
- public sealed class GenericInstanceType : TypeSpecification, IGenericInstance {
+ Collection<TypeReference> arguments;
- private GenericArgumentCollection m_genArgs;
+ public bool HasGenericArguments {
+ get { return !arguments.IsNullOrEmpty (); }
+ }
- public GenericArgumentCollection GenericArguments {
+ public Collection<TypeReference> GenericArguments {
get {
- if (m_genArgs == null)
- m_genArgs = new GenericArgumentCollection (this);
- return m_genArgs;
- }
- }
+ if (arguments == null)
+ arguments = new Collection<TypeReference> ();
- public bool HasGenericArguments {
- get { return m_genArgs == null ? false : m_genArgs.Count > 0; }
+ return arguments;
+ }
}
- public override bool IsValueType {
- get { return m_isValueType; }
- set { m_isValueType = value; }
+ public override TypeReference DeclaringType {
+ get { return ElementType.DeclaringType; }
+ set { throw new NotSupportedException (); }
}
public override string FullName {
get {
- StringBuilder sb = new StringBuilder ();
- sb.Append (base.FullName);
- sb.Append ("<");
- for (int i = 0; i < this.GenericArguments.Count; i++) {
- if (i > 0)
- sb.Append (",");
- sb.Append (this.GenericArguments [i].FullName);
- }
- sb.Append (">");
- return sb.ToString ();
+ var name = new StringBuilder ();
+ name.Append (base.FullName);
+ this.GenericInstanceFullName (name);
+ return name.ToString ();
}
}
- public GenericInstanceType (TypeReference elementType) : base (elementType)
+ public override bool IsGenericInstance {
+ get { return true; }
+ }
+
+ internal override bool ContainsGenericParameter {
+ get { return this.ContainsGenericParameter () || base.ContainsGenericParameter; }
+ }
+
+ IGenericParameterProvider IGenericContext.Type {
+ get { return ElementType; }
+ }
+
+ public GenericInstanceType (TypeReference type)
+ : base (type)
{
- m_isValueType = elementType.IsValueType;
+ base.IsValueType = type.IsValueType;
+ this.etype = MD.ElementType.GenericInst;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/GenericParameter.cs b/mcs/class/Mono.Cecil/Mono.Cecil/GenericParameter.cs
index 88a58509dee..d9efb5ebca5 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/GenericParameter.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/GenericParameter.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,80 +26,101 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+
+using Mono.Collections.Generic;
+
+using Mono.Cecil.Metadata;
+
namespace Mono.Cecil {
- using System;
+ public sealed class GenericParameter : TypeReference, ICustomAttributeProvider {
- public sealed class GenericParameter : TypeReference {
+ readonly IGenericParameterProvider owner;
- int m_position;
- string m_name;
- GenericParameterAttributes m_attributes;
- IGenericParameterProvider m_owner;
- ConstraintCollection m_constraints;
+ ushort attributes;
+ Collection<TypeReference> constraints;
+ Collection<CustomAttribute> custom_attributes;
- public int Position {
- get { return m_position; }
- set { m_position = value; }
+ public GenericParameterAttributes Attributes {
+ get { return (GenericParameterAttributes) attributes; }
+ set { attributes = (ushort) value; }
}
- public GenericParameterAttributes Attributes {
- get { return m_attributes; }
- set { m_attributes = value; }
+ public int Position {
+ get {
+ if (owner == null)
+ return -1;
+
+ return owner.GenericParameters.IndexOf (this);
+ }
}
public IGenericParameterProvider Owner {
- get { return m_owner; }
+ get { return owner; }
}
public bool HasConstraints {
- get { return (m_constraints == null) ? false : (m_constraints.Count > 0); }
+ get {
+ if (constraints != null)
+ return constraints.Count > 0;
+
+ if (HasImage)
+ return Module.Read (this, (generic_parameter, reader) => reader.HasGenericConstraints (generic_parameter));
+
+ return false;
+ }
}
- public ConstraintCollection Constraints {
+ public Collection<TypeReference> Constraints {
get {
- if (m_constraints == null)
- m_constraints = new ConstraintCollection (this);
+ if (constraints != null)
+ return constraints;
- return m_constraints;
+ if (HasImage)
+ return constraints = Module.Read (this, (generic_parameter, reader) => reader.ReadGenericConstraints (generic_parameter));
+
+ return constraints = new Collection<TypeReference> ();
}
}
- public override IMetadataScope Scope {
+ public bool HasCustomAttributes {
get {
- if (m_owner is TypeReference)
- return ((TypeReference) m_owner).Scope;
- if (m_owner is MethodReference)
- return ((MethodReference) m_owner).DeclaringType.Scope;
+ if (custom_attributes != null)
+ return custom_attributes.Count > 0;
- throw new InvalidOperationException ();
+ return this.GetHasCustomAttributes (Module);
}
}
- public override ModuleDefinition Module {
+ public Collection<CustomAttribute> CustomAttributes {
+ get { return custom_attributes ?? (custom_attributes = this.GetCustomAttributes (Module)); }
+ }
+
+ internal new bool HasImage {
+ get { return Module != null && Module.HasImage; }
+ }
+
+ public override IMetadataScope Scope {
get {
- if (m_owner is TypeReference)
- return ((TypeReference) m_owner).Module;
- if (m_owner is MethodReference)
- return ((MethodReference) m_owner).DeclaringType.Module;
+ if (owner.GenericParameterType == GenericParameterType.Method)
+ return ((MethodReference) owner).DeclaringType.Scope;
- throw new InvalidOperationException ();
+ return ((TypeReference) owner).Scope;
}
}
+ public override ModuleDefinition Module {
+ get { return ((MemberReference) owner).Module; }
+ }
+
public override string Name {
get {
- if (m_name != null)
- return m_name;
-
- if (m_owner is TypeReference)
- return string.Concat ("!", m_position.ToString ());
- else if (m_owner is MethodReference)
- return string.Concat ("!!", m_position.ToString ());
- else
- throw new InvalidOperationException ();
+ if (!string.IsNullOrEmpty (base.Name))
+ return base.Name;
+
+ return base.Name = (owner.GenericParameterType == GenericParameterType.Type ? "!" : "!!") + Position;
}
- set { m_name = value; }
}
public override string Namespace {
@@ -111,128 +132,65 @@ namespace Mono.Cecil {
get { return Name; }
}
+ public override bool IsGenericParameter {
+ get { return true; }
+ }
+
+ internal override bool ContainsGenericParameter {
+ get { return true; }
+ }
+
+ public override MetadataType MetadataType {
+ get { return (MetadataType) etype; }
+ }
+
#region GenericParameterAttributes
public bool IsNonVariant {
- get { return (m_attributes & GenericParameterAttributes.VarianceMask) == GenericParameterAttributes.NonVariant; }
- set {
- if (value) {
- m_attributes &= ~GenericParameterAttributes.VarianceMask;
- m_attributes |= GenericParameterAttributes.NonVariant;
- } else
- m_attributes &= ~(GenericParameterAttributes.VarianceMask & GenericParameterAttributes.NonVariant);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) GenericParameterAttributes.VarianceMask, (ushort) GenericParameterAttributes.NonVariant); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) GenericParameterAttributes.VarianceMask, (ushort) GenericParameterAttributes.NonVariant, value); }
}
public bool IsCovariant {
- get { return (m_attributes & GenericParameterAttributes.VarianceMask) == GenericParameterAttributes.Covariant; }
- set {
- if (value) {
- m_attributes &= ~GenericParameterAttributes.VarianceMask;
- m_attributes |= GenericParameterAttributes.Covariant;
- } else
- m_attributes &= ~(GenericParameterAttributes.VarianceMask & GenericParameterAttributes.Covariant);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) GenericParameterAttributes.VarianceMask, (ushort) GenericParameterAttributes.Covariant); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) GenericParameterAttributes.VarianceMask, (ushort) GenericParameterAttributes.Covariant, value); }
}
public bool IsContravariant {
- get { return (m_attributes & GenericParameterAttributes.VarianceMask) == GenericParameterAttributes.Contravariant; }
- set {
- if (value) {
- m_attributes &= ~GenericParameterAttributes.VarianceMask;
- m_attributes |= GenericParameterAttributes.Contravariant;
- } else
- m_attributes &= ~(GenericParameterAttributes.VarianceMask & GenericParameterAttributes.Contravariant);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) GenericParameterAttributes.VarianceMask, (ushort) GenericParameterAttributes.Contravariant); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) GenericParameterAttributes.VarianceMask, (ushort) GenericParameterAttributes.Contravariant, value); }
}
public bool HasReferenceTypeConstraint {
- get { return (m_attributes & GenericParameterAttributes.ReferenceTypeConstraint) != 0; }
- set {
- if (value) {
- m_attributes |= GenericParameterAttributes.ReferenceTypeConstraint;
- } else
- m_attributes &= ~GenericParameterAttributes.ReferenceTypeConstraint;
- }
+ get { return attributes.GetAttributes ((ushort) GenericParameterAttributes.ReferenceTypeConstraint); }
+ set { attributes = attributes.SetAttributes ((ushort) GenericParameterAttributes.ReferenceTypeConstraint, value); }
}
public bool HasNotNullableValueTypeConstraint {
- get { return (m_attributes & GenericParameterAttributes.NotNullableValueTypeConstraint) != 0; }
- set {
- if (value) {
- m_attributes |= GenericParameterAttributes.NotNullableValueTypeConstraint;
- } else
- m_attributes &= ~GenericParameterAttributes.NotNullableValueTypeConstraint;
- }
+ get { return attributes.GetAttributes ((ushort) GenericParameterAttributes.NotNullableValueTypeConstraint); }
+ set { attributes = attributes.SetAttributes ((ushort) GenericParameterAttributes.NotNullableValueTypeConstraint, value); }
}
public bool HasDefaultConstructorConstraint {
- get { return (m_attributes & GenericParameterAttributes.DefaultConstructorConstraint) != 0; }
- set {
- if (value) {
- m_attributes |= GenericParameterAttributes.DefaultConstructorConstraint;
- } else
- m_attributes &= ~GenericParameterAttributes.DefaultConstructorConstraint;
- }
+ get { return attributes.GetAttributes ((ushort) GenericParameterAttributes.DefaultConstructorConstraint); }
+ set { attributes = attributes.SetAttributes ((ushort) GenericParameterAttributes.DefaultConstructorConstraint, value); }
}
#endregion
- internal GenericParameter (int pos, IGenericParameterProvider owner) :
- base (string.Empty, string.Empty)
- {
- m_position = pos;
- m_owner = owner;
- }
-
- public GenericParameter (string name, IGenericParameterProvider owner) :
- base (string.Empty, string.Empty)
+ public GenericParameter (IGenericParameterProvider owner)
+ : this (string.Empty, owner)
{
- m_name = name;
- m_owner = owner;
}
- public override TypeDefinition Resolve ()
+ public GenericParameter (string name, IGenericParameterProvider owner)
+ : base (string.Empty, name)
{
- return null;
- }
+ if (owner == null)
+ throw new ArgumentNullException ();
- internal static void CloneInto (IGenericParameterProvider old, IGenericParameterProvider np, ImportContext context)
- {
- foreach (GenericParameter gp in old.GenericParameters) {
- GenericParameter ngp = Clone (gp, context);
- np.GenericParameters.Add (ngp);
- CloneConstraints (gp, ngp, context);
- }
- }
-
- internal static GenericParameter Clone (GenericParameter gp, ImportContext context)
- {
- GenericParameter ngp;
- if (gp.Owner is TypeReference)
- ngp = new GenericParameter (gp.m_name, context.GenericContext.Type);
- else if (gp.Owner is MethodReference)
- ngp = new GenericParameter (gp.m_name, context.GenericContext.Method);
- else
- throw new NotSupportedException ();
-
- ngp.Position = gp.Owner.GenericParameters.IndexOf (gp);
- ngp.Attributes = gp.Attributes;
-
- if (gp.HasCustomAttributes) {
- foreach (CustomAttribute ca in gp.CustomAttributes)
- ngp.CustomAttributes.Add (CustomAttribute.Clone (ca, context));
- }
-
- return ngp;
- }
-
- static void CloneConstraints (GenericParameter gp, GenericParameter ngp, ImportContext context)
- {
- if (gp.HasConstraints) {
- foreach (TypeReference constraint in gp.Constraints)
- ngp.Constraints.Add (context.Import (constraint));
- }
+ this.owner = owner;
+ this.etype = owner.GenericParameterType == GenericParameterType.Type ? ElementType.Var : ElementType.MVar;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/GenericParameterAttributes.cs b/mcs/class/Mono.Cecil/Mono.Cecil/GenericParameterAttributes.cs
index d7d65c708df..89996140e72 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/GenericParameterAttributes.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/GenericParameterAttributes.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,9 +26,9 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
- using System;
+namespace Mono.Cecil {
[Flags]
public enum GenericParameterAttributes : ushort {
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/GenericParameterCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/GenericParameterCollection.cs
deleted file mode 100644
index fc00972c2ea..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/GenericParameterCollection.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// GenericParameterCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Wed Sep 27 12:46:53 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class GenericParameterCollection : CollectionBase, IReflectionVisitable {
-
- IGenericParameterProvider m_container;
-
- public GenericParameter this [int index] {
- get { return List [index] as GenericParameter; }
- set { List [index] = value; }
- }
-
- public IGenericParameterProvider Container {
- get { return m_container; }
- }
-
- public GenericParameterCollection (IGenericParameterProvider container)
- {
- m_container = container;
- }
-
- public void Add (GenericParameter value)
- {
- List.Add (value);
- }
-
- public bool Contains (GenericParameter value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (GenericParameter value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, GenericParameter value)
- {
- List.Insert (index, value);
- }
-
- public void Remove (GenericParameter value)
- {
- List.Remove (value);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is GenericParameter))
- throw new ArgumentException ("Must be of type " + typeof (GenericParameter).FullName);
- }
-
- public void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitGenericParameterCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IAnnotationProvider.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IAnnotationProvider.cs
deleted file mode 100644
index bf5e24927d0..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IAnnotationProvider.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// AssemblyDefinition.cs
-//
-// Author:
-// Jb Evain (jbevain@novell.com)
-//
-// (C) 2007 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System.Collections;
-
- public interface IAnnotationProvider {
-
- IDictionary Annotations { get; }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IAssemblyResolver.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IAssemblyResolver.cs
deleted file mode 100644
index 3619d4e76c4..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IAssemblyResolver.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// IAssemblyResolver.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public interface IAssemblyResolver {
-
- AssemblyDefinition Resolve (string fullName);
- AssemblyDefinition Resolve (AssemblyNameReference name);
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IConstantProvider.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IConstantProvider.cs
new file mode 100644
index 00000000000..361fbe4e693
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/IConstantProvider.cs
@@ -0,0 +1,52 @@
+//
+// IConstantProvider.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ public interface IConstantProvider : IMetadataTokenProvider {
+
+ bool HasConstant { get; }
+ object Constant { get; set; }
+ }
+
+ static partial class Mixin {
+
+ internal static object NoValue = new object ();
+ internal static object NotResolved = new object ();
+
+ public static void ResolveConstant (
+ this IConstantProvider self,
+ ref object constant,
+ ModuleDefinition module)
+ {
+ constant = module.HasImage ()
+ ? module.Read (self, (provider, reader) => reader.ReadConstant (provider))
+ : Mixin.NoValue;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ICustomAttributeProvider.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ICustomAttributeProvider.cs
index ae379a4e3bd..08e5f925abb 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ICustomAttributeProvider.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/ICustomAttributeProvider.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,14 +26,37 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
+
+using Mono.Collections.Generic;
- using System.Reflection;
+namespace Mono.Cecil {
- public interface ICustomAttributeProvider {
+ public interface ICustomAttributeProvider : IMetadataTokenProvider {
- CustomAttributeCollection CustomAttributes { get; }
+ Collection<CustomAttribute> CustomAttributes { get; }
bool HasCustomAttributes { get; }
}
+
+ static partial class Mixin {
+
+ public static bool GetHasCustomAttributes (
+ this ICustomAttributeProvider self,
+ ModuleDefinition module)
+ {
+ return module.HasImage ()
+ ? module.Read (self, (provider, reader) => reader.HasCustomAttributes (provider))
+ : false;
+ }
+
+ public static Collection<CustomAttribute> GetCustomAttributes (
+ this ICustomAttributeProvider self,
+ ModuleDefinition module)
+ {
+ return module.HasImage ()
+ ? module.Read (self, (provider, reader) => reader.ReadCustomAttributes (provider))
+ : new Collection<CustomAttribute> ();
+ }
+ }
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IGenericInstance.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IGenericInstance.cs
index d1cd10f24b5..2750ad0a696 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IGenericInstance.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/IGenericInstance.cs
@@ -1,10 +1,10 @@
//
-// IGenericInstanceMethod.cs
+// IGenericInstance.cs
//
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,12 +26,41 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System.Text;
+
+using Mono.Collections.Generic;
+
namespace Mono.Cecil {
public interface IGenericInstance : IMetadataTokenProvider {
- GenericArgumentCollection GenericArguments { get; }
-
bool HasGenericArguments { get; }
+ Collection<TypeReference> GenericArguments { get; }
+ }
+
+ static partial class Mixin {
+
+ public static bool ContainsGenericParameter (this IGenericInstance self)
+ {
+ var arguments = self.GenericArguments;
+
+ for (int i = 0; i < arguments.Count; i++)
+ if (arguments [i].ContainsGenericParameter)
+ return true;
+
+ return false;
+ }
+
+ public static void GenericInstanceFullName (this IGenericInstance self, StringBuilder builder)
+ {
+ builder.Append ("<");
+ var arguments = self.GenericArguments;
+ for (int i = 0; i < arguments.Count; i++) {
+ if (i > 0)
+ builder.Append (",");
+ builder.Append (arguments [i].FullName);
+ }
+ builder.Append (">");
+ }
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IGenericParameterProvider.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IGenericParameterProvider.cs
index b58f6026a71..27d1669fcd8 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IGenericParameterProvider.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/IGenericParameterProvider.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,12 +26,50 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+
+using Mono.Collections.Generic;
+
namespace Mono.Cecil {
public interface IGenericParameterProvider : IMetadataTokenProvider {
- GenericParameterCollection GenericParameters { get; }
-
bool HasGenericParameters { get; }
+ bool IsDefinition { get; }
+ ModuleDefinition Module { get; }
+ Collection<GenericParameter> GenericParameters { get; }
+ GenericParameterType GenericParameterType { get; }
+ }
+
+ public enum GenericParameterType {
+ Type,
+ Method
+ }
+
+ interface IGenericContext {
+
+ bool IsDefinition { get; }
+ IGenericParameterProvider Type { get; }
+ IGenericParameterProvider Method { get; }
+ }
+
+ static partial class Mixin {
+
+ public static bool GetHasGenericParameters (
+ this IGenericParameterProvider self,
+ ModuleDefinition module)
+ {
+ return module.HasImage ()
+ ? module.Read (self, (provider, reader) => reader.HasGenericParameters (provider))
+ : false;
+ }
+
+ public static Collection<GenericParameter> GetGenericParameters (
+ this IGenericParameterProvider self,
+ ModuleDefinition module)
+ {
+ return module.HasImage ()
+ ? module.Read (self, (provider, reader) => reader.ReadGenericParameters (provider))
+ : new Collection<GenericParameter> ();
+ }
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IHasConstant.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IHasConstant.cs
deleted file mode 100644
index e2126b41412..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IHasConstant.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// IHasConstant.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public interface IHasConstant : IMetadataTokenProvider {
-
- bool HasConstant { get; }
- object Constant { get; set; }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IHasMarshalSpec.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IHasMarshalSpec.cs
deleted file mode 100644
index 69f69d60865..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IHasMarshalSpec.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// IHasMarshalSpec.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public interface IHasMarshalSpec : IMetadataTokenProvider {
-
- MarshalSpec MarshalSpec { get; set; }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IHasSecurity.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IHasSecurity.cs
deleted file mode 100644
index 39466c3b7cf..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IHasSecurity.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// IHasSecurity.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public interface IHasSecurity : IMetadataTokenProvider {
-
- SecurityDeclarationCollection SecurityDeclarations { get; }
-
- bool HasSecurityDeclarations { get; }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IImporter.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IImporter.cs
deleted file mode 100644
index b9ee8b03abb..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IImporter.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// IImporter.cs
-//
-// Author:
-// Jb Evain (jbevain@novell.com)
-//
-// (C) 2007 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public interface IImporter {
-
- TypeReference ImportTypeReference (TypeReference type, ImportContext context);
- FieldReference ImportFieldReference (FieldReference field, ImportContext context);
- MethodReference ImportMethodReference (MethodReference method, ImportContext context);
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IMarshalInfoProvider.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IMarshalInfoProvider.cs
new file mode 100644
index 00000000000..a3bba6d0d6a
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/IMarshalInfoProvider.cs
@@ -0,0 +1,57 @@
+//
+// IMarshalInfoProvider.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ public interface IMarshalInfoProvider : IMetadataTokenProvider {
+
+ bool HasMarshalInfo { get; }
+ MarshalInfo MarshalInfo { get; set; }
+ }
+
+ static partial class Mixin {
+
+ public static bool GetHasMarshalInfo (
+ this IMarshalInfoProvider self,
+ ModuleDefinition module)
+ {
+ return module.HasImage ()
+ ? module.Read (self, (provider, reader) => reader.HasMarshalInfo (provider))
+ : false;
+ }
+
+ public static MarshalInfo GetMarshalInfo (
+ this IMarshalInfoProvider self,
+ ModuleDefinition module)
+ {
+ return module.HasImage ()
+ ? module.Read (self, (provider, reader) => reader.ReadMarshalInfo (provider))
+ : null;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IMemberDefinition.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IMemberDefinition.cs
index e0ba5176bcf..09878f78f99 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IMemberDefinition.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/IMemberDefinition.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -28,10 +28,73 @@
namespace Mono.Cecil {
- public interface IMemberDefinition : IMemberReference, ICustomAttributeProvider {
+ public interface IMemberDefinition : ICustomAttributeProvider {
+
+ string Name { get; set; }
+ string FullName { get; }
- new TypeDefinition DeclaringType { get; set; }
bool IsSpecialName { get; set; }
bool IsRuntimeSpecialName { get; set; }
+
+ TypeDefinition DeclaringType { get; set; }
+ }
+
+ static partial class Mixin {
+
+ public static bool GetAttributes (this uint self, uint attributes)
+ {
+ return (self & attributes) != 0;
+ }
+
+ public static uint SetAttributes (this uint self, uint attributes, bool value)
+ {
+ if (value)
+ return self | attributes;
+
+ return self & ~attributes;
+ }
+
+ public static bool GetMaskedAttributes (this uint self, uint mask, uint attributes)
+ {
+ return (self & mask) == attributes;
+ }
+
+ public static uint SetMaskedAttributes (this uint self, uint mask, uint attributes, bool value)
+ {
+ if (value) {
+ self &= ~mask;
+ return self | attributes;
+ }
+
+ return self & ~(mask & attributes);
+ }
+
+ public static bool GetAttributes (this ushort self, ushort attributes)
+ {
+ return (self & attributes) != 0;
+ }
+
+ public static ushort SetAttributes (this ushort self, ushort attributes, bool value)
+ {
+ if (value)
+ return (ushort) (self | attributes);
+
+ return (ushort) (self & ~attributes);
+ }
+
+ public static bool GetMaskedAttributes (this ushort self, ushort mask, uint attributes)
+ {
+ return (self & mask) == attributes;
+ }
+
+ public static ushort SetMaskedAttributes (this ushort self, ushort mask, uint attributes, bool value)
+ {
+ if (value) {
+ self = (ushort) (self & ~mask);
+ return (ushort) (self | attributes);
+ }
+
+ return (ushort) (self & ~(mask & attributes));
+ }
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IMemberReference.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IMemberReference.cs
deleted file mode 100644
index 016565f1481..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IMemberReference.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// IMemberReference.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public interface IMemberReference : IMetadataTokenProvider, IAnnotationProvider, IReflectionVisitable {
-
- string Name { get; set; }
- TypeReference DeclaringType { get; }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IMetadataScope.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IMetadataScope.cs
index d0a0eacc311..f0ab506e547 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IMetadataScope.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/IMetadataScope.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -28,7 +28,14 @@
namespace Mono.Cecil {
+ public enum MetadataScopeType {
+ AssemblyNameReference,
+ ModuleReference,
+ ModuleDefinition,
+ }
+
public interface IMetadataScope : IMetadataTokenProvider {
+ MetadataScopeType MetadataScopeType { get; }
string Name { get; set; }
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IMetadataTokenProvider.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IMetadataTokenProvider.cs
index 332f1af5715..ff777248189 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IMetadataTokenProvider.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/IMetadataTokenProvider.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -28,8 +28,6 @@
namespace Mono.Cecil {
- using Mono.Cecil.Metadata;
-
public interface IMetadataTokenProvider {
MetadataToken MetadataToken { get; set; }
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IMethodSignature.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IMethodSignature.cs
index 4acb7e2a7f4..6bae56adca0 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IMethodSignature.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/IMethodSignature.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 - 2007 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,18 +26,45 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System.Text;
+
+using Mono.Collections.Generic;
+
namespace Mono.Cecil {
- public interface IMethodSignature {
+ public interface IMethodSignature : IMetadataTokenProvider {
- bool HasParameters { get; }
bool HasThis { get; set; }
bool ExplicitThis { get; set; }
MethodCallingConvention CallingConvention { get; set; }
- ParameterDefinitionCollection Parameters { get; }
- MethodReturnType ReturnType { get; }
+ bool HasParameters { get; }
+ Collection<ParameterDefinition> Parameters { get; }
+ TypeReference ReturnType { get; set; }
+ MethodReturnType MethodReturnType { get; }
+ }
+
+ static partial class Mixin {
+
+ public static void MethodSignatureFullName (this IMethodSignature self, StringBuilder builder)
+ {
+ builder.Append ("(");
+
+ if (self.HasParameters) {
+ var parameters = self.Parameters;
+ for (int i = 0; i < parameters.Count; i++) {
+ var parameter = parameters [i];
+ if (i > 0)
+ builder.Append (",");
+
+ if (parameter.ParameterType.IsSentinel)
+ builder.Append ("...,");
+
+ builder.Append (parameter.ParameterType.FullName);
+ }
+ }
- int GetSentinel ();
+ builder.Append (")");
+ }
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IReflectionStructureVisitable.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IReflectionStructureVisitable.cs
deleted file mode 100644
index f522cf124d3..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IReflectionStructureVisitable.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// IReflectionStructureVisitable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public interface IReflectionStructureVisitable {
-
- void Accept (IReflectionStructureVisitor visitor);
- }
-}
-
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IReflectionStructureVisitor.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IReflectionStructureVisitor.cs
deleted file mode 100644
index 81a6e3b03fb..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IReflectionStructureVisitor.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// IReflectionStructureVisitor.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public interface IReflectionStructureVisitor {
-
- void VisitAssemblyDefinition (AssemblyDefinition asm);
- void VisitAssemblyNameDefinition (AssemblyNameDefinition name);
- void VisitAssemblyNameReferenceCollection (AssemblyNameReferenceCollection names);
- void VisitAssemblyNameReference (AssemblyNameReference name);
- void VisitResourceCollection (ResourceCollection resources);
- void VisitEmbeddedResource (EmbeddedResource res);
- void VisitLinkedResource (LinkedResource res);
- void VisitAssemblyLinkedResource (AssemblyLinkedResource res);
- void VisitModuleDefinition (ModuleDefinition module);
- void VisitModuleDefinitionCollection (ModuleDefinitionCollection modules);
- void VisitModuleReference (ModuleReference module);
- void VisitModuleReferenceCollection (ModuleReferenceCollection modules);
-
- void TerminateAssemblyDefinition (AssemblyDefinition asm);
- }
-}
-
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IReflectionVisitable.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IReflectionVisitable.cs
deleted file mode 100644
index ac4f7069d42..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IReflectionVisitable.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// IReflectionVisitable.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public interface IReflectionVisitable {
-
- void Accept (IReflectionVisitor visitor);
- }
-}
-
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IReflectionVisitor.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IReflectionVisitor.cs
deleted file mode 100644
index c85633b5343..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IReflectionVisitor.cs
+++ /dev/null
@@ -1,71 +0,0 @@
-//
-// IReflectionVisitor.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public interface IReflectionVisitor {
-
- void VisitModuleDefinition (ModuleDefinition module);
- void VisitTypeDefinitionCollection (TypeDefinitionCollection types);
- void VisitTypeDefinition (TypeDefinition type);
- void VisitTypeReferenceCollection (TypeReferenceCollection refs);
- void VisitTypeReference (TypeReference type);
- void VisitMemberReferenceCollection (MemberReferenceCollection members);
- void VisitMemberReference (MemberReference member);
- void VisitInterfaceCollection (InterfaceCollection interfaces);
- void VisitInterface (TypeReference interf);
- void VisitExternTypeCollection (ExternTypeCollection externs);
- void VisitExternType (TypeReference externType);
- void VisitOverrideCollection (OverrideCollection meth);
- void VisitOverride (MethodReference ov);
- void VisitNestedTypeCollection (NestedTypeCollection nestedTypes);
- void VisitNestedType (TypeDefinition nestedType);
- void VisitParameterDefinitionCollection (ParameterDefinitionCollection parameters);
- void VisitParameterDefinition (ParameterDefinition parameter);
- void VisitMethodDefinitionCollection (MethodDefinitionCollection methods);
- void VisitMethodDefinition (MethodDefinition method);
- void VisitConstructorCollection (ConstructorCollection ctors);
- void VisitConstructor (MethodDefinition ctor);
- void VisitPInvokeInfo (PInvokeInfo pinvk);
- void VisitEventDefinitionCollection (EventDefinitionCollection events);
- void VisitEventDefinition (EventDefinition evt);
- void VisitFieldDefinitionCollection (FieldDefinitionCollection fields);
- void VisitFieldDefinition (FieldDefinition field);
- void VisitPropertyDefinitionCollection (PropertyDefinitionCollection properties);
- void VisitPropertyDefinition (PropertyDefinition property);
- void VisitSecurityDeclarationCollection (SecurityDeclarationCollection secDecls);
- void VisitSecurityDeclaration (SecurityDeclaration secDecl);
- void VisitCustomAttributeCollection (CustomAttributeCollection customAttrs);
- void VisitCustomAttribute (CustomAttribute customAttr);
- void VisitGenericParameterCollection (GenericParameterCollection genparams);
- void VisitGenericParameter (GenericParameter genparam);
- void VisitMarshalSpec (MarshalSpec marshalSpec);
-
- void TerminateModuleDefinition (ModuleDefinition module);
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IRequireResolving.cs b/mcs/class/Mono.Cecil/Mono.Cecil/IRequireResolving.cs
deleted file mode 100644
index 92eac8346f4..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IRequireResolving.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// IRequireResolving.cs
-//
-// Author:
-// Jb Evain <jbevain@gmail.com>
-//
-// Copyright (C) 2006 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public interface IRequireResolving {
-
- byte [] Blob { get; }
- bool Resolved { get; }
- bool Resolve ();
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/Import.cs b/mcs/class/Mono.Cecil/Mono.Cecil/Import.cs
new file mode 100644
index 00000000000..93e700e8a9e
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/Import.cs
@@ -0,0 +1,566 @@
+//
+// Import.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections.Generic;
+using SR = System.Reflection;
+
+using Mono.Cecil.Metadata;
+
+namespace Mono.Cecil {
+
+ enum ImportGenericKind {
+ Definition,
+ Open,
+ }
+
+ class MetadataImporter {
+
+ readonly ModuleDefinition module;
+
+ public MetadataImporter (ModuleDefinition module)
+ {
+ this.module = module;
+ }
+
+#if !CF
+ static readonly Dictionary<Type, ElementType> type_etype_mapping = new Dictionary<Type, ElementType> (18) {
+ { typeof (void), ElementType.Void },
+ { typeof (bool), ElementType.Boolean },
+ { typeof (char), ElementType.Char },
+ { typeof (sbyte), ElementType.I1 },
+ { typeof (byte), ElementType.U1 },
+ { typeof (short), ElementType.I2 },
+ { typeof (ushort), ElementType.U2 },
+ { typeof (int), ElementType.I4 },
+ { typeof (uint), ElementType.U4 },
+ { typeof (long), ElementType.I8 },
+ { typeof (ulong), ElementType.U8 },
+ { typeof (float), ElementType.R4 },
+ { typeof (double), ElementType.R8 },
+ { typeof (string), ElementType.String },
+ { typeof (TypedReference), ElementType.TypedByRef },
+ { typeof (IntPtr), ElementType.I },
+ { typeof (UIntPtr), ElementType.U },
+ { typeof (object), ElementType.Object },
+ };
+
+ public TypeReference ImportType (Type type, IGenericContext context)
+ {
+ return ImportType (type, context, ImportGenericKind.Open);
+ }
+
+ public TypeReference ImportType (Type type, IGenericContext context, ImportGenericKind import_kind)
+ {
+ if (IsTypeSpecification (type) || ImportOpenGenericType (type, import_kind))
+ return ImportTypeSpecification (type, context);
+
+ var reference = new TypeReference (
+ string.Empty,
+ type.Name,
+ module,
+ ImportScope (type.Assembly),
+ type.IsValueType);
+
+ reference.etype = ImportElementType (type);
+
+ if (IsNestedType (type))
+ reference.DeclaringType = ImportType (type.DeclaringType, context, import_kind);
+ else
+ reference.Namespace = type.Namespace;
+
+ if (type.IsGenericType)
+ ImportGenericParameters (reference, type.GetGenericArguments ());
+
+ return reference;
+ }
+
+ static bool ImportOpenGenericType (Type type, ImportGenericKind import_kind)
+ {
+ return type.IsGenericType && type.IsGenericTypeDefinition && import_kind == ImportGenericKind.Open;
+ }
+
+ static bool ImportOpenGenericMethod (SR.MethodBase method, ImportGenericKind import_kind)
+ {
+ return method.IsGenericMethod && method.IsGenericMethodDefinition && import_kind == ImportGenericKind.Open;
+ }
+
+ static bool IsNestedType (Type type)
+ {
+#if !SILVERLIGHT
+ return type.IsNested;
+#else
+ return type.DeclaringType != null;
+#endif
+ }
+
+ TypeReference ImportTypeSpecification (Type type, IGenericContext context)
+ {
+ if (type.IsByRef)
+ return new ByReferenceType (ImportType (type.GetElementType (), context));
+
+ if (type.IsPointer)
+ return new PointerType (ImportType (type.GetElementType (), context));
+
+ if (type.IsArray)
+ return new ArrayType (ImportType (type.GetElementType (), context), type.GetArrayRank ());
+
+ if (type.IsGenericType)
+ return ImportGenericInstance (type, context);
+
+ if (type.IsGenericParameter)
+ return ImportGenericParameter (type, context);
+
+ throw new NotSupportedException (type.FullName);
+ }
+
+ static TypeReference ImportGenericParameter (Type type, IGenericContext context)
+ {
+ if (context == null)
+ throw new InvalidOperationException ();
+
+ var owner = type.DeclaringMethod != null
+ ? context.Method
+ : context.Type;
+
+ if (owner == null)
+ throw new InvalidOperationException ();
+
+ return owner.GenericParameters [type.GenericParameterPosition];
+ }
+
+ TypeReference ImportGenericInstance (Type type, IGenericContext context)
+ {
+ var element_type = ImportType (type.GetGenericTypeDefinition (), context, ImportGenericKind.Definition);
+ var instance = new GenericInstanceType (element_type);
+ var arguments = type.GetGenericArguments ();
+ var instance_arguments = instance.GenericArguments;
+
+ for (int i = 0; i < arguments.Length; i++)
+ instance_arguments.Add (ImportType (arguments [i], context ?? element_type));
+
+ return instance;
+ }
+
+ static bool IsTypeSpecification (Type type)
+ {
+ return type.HasElementType
+ || IsGenericInstance (type)
+ || type.IsGenericParameter;
+ }
+
+ static bool IsGenericInstance (Type type)
+ {
+ return type.IsGenericType && !type.IsGenericTypeDefinition;
+ }
+
+ static ElementType ImportElementType (Type type)
+ {
+ ElementType etype;
+ if (!type_etype_mapping.TryGetValue (type, out etype))
+ return ElementType.None;
+
+ return etype;
+ }
+
+ AssemblyNameReference ImportScope (SR.Assembly assembly)
+ {
+ AssemblyNameReference scope;
+#if !SILVERLIGHT
+ var name = assembly.GetName ();
+
+ if (TryGetAssemblyNameReference (name, out scope))
+ return scope;
+
+ scope = new AssemblyNameReference (name.Name, name.Version) {
+ Culture = name.CultureInfo.Name,
+ PublicKeyToken = name.GetPublicKeyToken (),
+ HashAlgorithm = (AssemblyHashAlgorithm) name.HashAlgorithm,
+ };
+
+ module.AssemblyReferences.Add (scope);
+
+ return scope;
+#else
+ var name = AssemblyNameReference.Parse (assembly.FullName);
+
+ if (TryGetAssemblyNameReference (name, out scope))
+ return scope;
+
+ module.AssemblyReferences.Add (name);
+
+ return name;
+#endif
+ }
+
+#if !SILVERLIGHT
+ bool TryGetAssemblyNameReference (SR.AssemblyName name, out AssemblyNameReference assembly_reference)
+ {
+ var references = module.AssemblyReferences;
+
+ for (int i = 0; i < references.Count; i++) {
+ var reference = references [i];
+ if (name.FullName != reference.FullName) // TODO compare field by field
+ continue;
+
+ assembly_reference = reference;
+ return true;
+ }
+
+ assembly_reference = null;
+ return false;
+ }
+#endif
+
+ public FieldReference ImportField (SR.FieldInfo field, IGenericContext context)
+ {
+ var declaring_type = ImportType (field.DeclaringType, context);
+
+ if (IsGenericInstance (field.DeclaringType))
+ field = ResolveFieldDefinition (field);
+
+ return new FieldReference {
+ Name = field.Name,
+ DeclaringType = declaring_type,
+ FieldType = ImportType (field.FieldType, context ?? declaring_type),
+ };
+ }
+
+ static SR.FieldInfo ResolveFieldDefinition (SR.FieldInfo field)
+ {
+#if !SILVERLIGHT
+ return field.Module.ResolveField (field.MetadataToken);
+#else
+ return field.DeclaringType.GetGenericTypeDefinition ().GetField (field.Name,
+ SR.BindingFlags.Public
+ | SR.BindingFlags.NonPublic
+ | (field.IsStatic ? SR.BindingFlags.Static : SR.BindingFlags.Instance));
+#endif
+ }
+
+ public MethodReference ImportMethod (SR.MethodBase method, IGenericContext context, ImportGenericKind import_kind)
+ {
+ if (IsMethodSpecification (method) || ImportOpenGenericMethod (method, import_kind))
+ return ImportMethodSpecification (method, context);
+
+ var declaring_type = ImportType (method.DeclaringType, context);
+
+ if (IsGenericInstance (method.DeclaringType))
+ method = method.Module.ResolveMethod (method.MetadataToken);
+
+ var reference = new MethodReference {
+ Name = method.Name,
+ HasThis = HasCallingConvention (method, SR.CallingConventions.HasThis),
+ ExplicitThis = HasCallingConvention (method, SR.CallingConventions.ExplicitThis),
+ DeclaringType = ImportType (method.DeclaringType, context, ImportGenericKind.Definition),
+ };
+
+ if (HasCallingConvention (method, SR.CallingConventions.VarArgs))
+ reference.CallingConvention &= MethodCallingConvention.VarArg;
+
+ if (method.IsGenericMethod)
+ ImportGenericParameters (reference, method.GetGenericArguments ());
+
+ var method_info = method as SR.MethodInfo;
+ reference.ReturnType = method_info != null
+ ? ImportType (method_info.ReturnType, context ?? reference)
+ : ImportType (typeof (void), null);
+
+ var parameters = method.GetParameters ();
+ var reference_parameters = reference.Parameters;
+
+ for (int i = 0; i < parameters.Length; i++)
+ reference_parameters.Add (
+ new ParameterDefinition (ImportType (parameters [i].ParameterType, context ?? reference)));
+
+ reference.DeclaringType = declaring_type;
+
+ return reference;
+ }
+
+ static void ImportGenericParameters (IGenericParameterProvider provider, Type [] arguments)
+ {
+ var provider_parameters = provider.GenericParameters;
+
+ for (int i = 0; i < arguments.Length; i++)
+ provider_parameters.Add (new GenericParameter (arguments [i].Name, provider));
+ }
+
+ static bool IsMethodSpecification (SR.MethodBase method)
+ {
+ return method.IsGenericMethod && !method.IsGenericMethodDefinition;
+ }
+
+ MethodReference ImportMethodSpecification (SR.MethodBase method, IGenericContext context)
+ {
+ var method_info = method as SR.MethodInfo;
+ if (method_info == null)
+ throw new InvalidOperationException ();
+
+ var element_method = ImportMethod (method_info.GetGenericMethodDefinition (), context, ImportGenericKind.Definition);
+ var instance = new GenericInstanceMethod (element_method);
+ var arguments = method.GetGenericArguments ();
+ var instance_arguments = instance.GenericArguments;
+
+ for (int i = 0; i < arguments.Length; i++)
+ instance_arguments.Add (ImportType (arguments [i], context ?? element_method));
+
+ return instance;
+ }
+
+ static bool HasCallingConvention (SR.MethodBase method, SR.CallingConventions conventions)
+ {
+ return (method.CallingConvention & conventions) != 0;
+ }
+#endif
+
+ public TypeReference ImportType (TypeReference type, IGenericContext context)
+ {
+ if (type.IsTypeSpecification ())
+ return ImportTypeSpecification (type, context);
+
+ var reference = new TypeReference (
+ type.Namespace,
+ type.Name,
+ module,
+ ImportScope (type.Scope),
+ type.IsValueType);
+
+ MetadataSystem.TryProcessPrimitiveType (reference);
+
+ if (type.IsNested)
+ reference.DeclaringType = ImportType (type.DeclaringType, context);
+
+ if (type.HasGenericParameters)
+ ImportGenericParameters (reference, type);
+
+ return reference;
+ }
+
+ IMetadataScope ImportScope (IMetadataScope scope)
+ {
+ switch (scope.MetadataScopeType) {
+ case MetadataScopeType.AssemblyNameReference:
+ return ImportAssemblyName ((AssemblyNameReference) scope);
+ case MetadataScopeType.ModuleDefinition:
+ return ImportAssemblyName (((ModuleDefinition) scope).Assembly.Name);
+ case MetadataScopeType.ModuleReference:
+ throw new NotImplementedException ();
+ }
+
+ throw new NotSupportedException ();
+ }
+
+ AssemblyNameReference ImportAssemblyName (AssemblyNameReference name)
+ {
+ AssemblyNameReference reference;
+ if (TryGetAssemblyNameReference (name, out reference))
+ return reference;
+
+ reference = new AssemblyNameReference (name.Name, name.Version) {
+ Culture = name.Culture,
+ HashAlgorithm = name.HashAlgorithm,
+ };
+
+ var pk_token = !name.PublicKeyToken.IsNullOrEmpty ()
+ ? new byte [name.PublicKeyToken.Length]
+ : Empty<byte>.Array;
+
+ if (pk_token.Length > 0)
+ Buffer.BlockCopy (name.PublicKeyToken, 0, pk_token, 0, pk_token.Length);
+
+ reference.PublicKeyToken = pk_token;
+
+ module.AssemblyReferences.Add (reference);
+
+ return reference;
+ }
+
+ bool TryGetAssemblyNameReference (AssemblyNameReference name_reference, out AssemblyNameReference assembly_reference)
+ {
+ var references = module.AssemblyReferences;
+
+ for (int i = 0; i < references.Count; i++) {
+ var reference = references [i];
+ if (name_reference.FullName != reference.FullName) // TODO compare field by field
+ continue;
+
+ assembly_reference = reference;
+ return true;
+ }
+
+ assembly_reference = null;
+ return false;
+ }
+
+ static void ImportGenericParameters (IGenericParameterProvider imported, IGenericParameterProvider original)
+ {
+ var parameters = original.GenericParameters;
+ var imported_parameters = imported.GenericParameters;
+
+ for (int i = 0; i < parameters.Count; i++)
+ imported_parameters.Add (new GenericParameter (parameters [i].Name, imported));
+ }
+
+ TypeReference ImportTypeSpecification (TypeReference type, IGenericContext context)
+ {
+ switch (type.etype) {
+ case ElementType.SzArray:
+ var vector = (ArrayType) type;
+ return new ArrayType (ImportType (vector.ElementType, context));
+ case ElementType.Ptr:
+ var pointer = (PointerType) type;
+ return new PointerType (ImportType (pointer.ElementType, context));
+ case ElementType.ByRef:
+ var byref = (ByReferenceType) type;
+ return new ByReferenceType (ImportType (byref.ElementType, context));
+ case ElementType.Pinned:
+ var pinned = (PinnedType) type;
+ return new PinnedType (ImportType (pinned.ElementType, context));
+ case ElementType.Sentinel:
+ var sentinel = (SentinelType) type;
+ return new SentinelType (ImportType (sentinel.ElementType, context));
+ case ElementType.CModOpt:
+ var modopt = (OptionalModifierType) type;
+ return new OptionalModifierType (
+ ImportType (modopt.ModifierType, context),
+ ImportType (modopt.ElementType, context));
+ case ElementType.CModReqD:
+ var modreq = (RequiredModifierType) type;
+ return new RequiredModifierType (
+ ImportType (modreq.ModifierType, context),
+ ImportType (modreq.ElementType, context));
+ case ElementType.Array:
+ var array = (ArrayType) type;
+ var imported_array = new ArrayType (ImportType (array.ElementType, context));
+ if (array.IsVector)
+ return imported_array;
+
+ var dimensions = array.Dimensions;
+ var imported_dimensions = imported_array.Dimensions;
+
+ imported_dimensions.Clear ();
+
+ for (int i = 0; i < dimensions.Count; i++) {
+ var dimension = dimensions [i];
+
+ imported_dimensions.Add (new ArrayDimension (dimension.LowerBound, dimension.UpperBound));
+ }
+
+ return imported_array;
+ case ElementType.GenericInst:
+ var instance = (GenericInstanceType) type;
+ var element_type = ImportType (instance.ElementType, context);
+ var imported_instance = new GenericInstanceType (element_type);
+
+ var arguments = instance.GenericArguments;
+ var imported_arguments = imported_instance.GenericArguments;
+
+ for (int i = 0; i < arguments.Count; i++)
+ imported_arguments.Add (ImportType (arguments [i], context));
+
+ return imported_instance;
+ case ElementType.Var:
+ if (context == null || context.Type == null)
+ throw new InvalidOperationException ();
+
+ return ((TypeReference) context.Type).GetElementType ().GenericParameters [((GenericParameter) type).Position];
+ case ElementType.MVar:
+ if (context == null || context.Method == null)
+ throw new InvalidOperationException ();
+
+ return context.Method.GenericParameters [((GenericParameter) type).Position];
+ }
+
+ throw new NotSupportedException (type.etype.ToString ());
+ }
+
+ public FieldReference ImportField (FieldReference field, IGenericContext context)
+ {
+ var declaring_type = ImportType (field.DeclaringType, context);
+
+ return new FieldReference {
+ Name = field.Name,
+ DeclaringType = declaring_type,
+ FieldType = ImportType (field.FieldType, context ?? declaring_type),
+ };
+ }
+
+ public MethodReference ImportMethod (MethodReference method, IGenericContext context)
+ {
+ if (method.IsGenericInstance)
+ return ImportMethodSpecification (method, context);
+
+ var declaring_type = ImportType (method.DeclaringType, context);
+
+ var reference = new MethodReference {
+ Name = method.Name,
+ HasThis = method.HasThis,
+ ExplicitThis = method.ExplicitThis,
+ DeclaringType = declaring_type,
+ };
+
+ reference.CallingConvention = method.CallingConvention;
+
+ if (method.HasGenericParameters)
+ ImportGenericParameters (reference, method);
+
+ reference.ReturnType = ImportType (method.ReturnType, context ?? reference);
+
+ if (!method.HasParameters)
+ return reference;
+
+ var reference_parameters = reference.Parameters;
+
+ var parameters = method.Parameters;
+ for (int i = 0; i < parameters.Count; i++)
+ reference_parameters.Add (
+ new ParameterDefinition (ImportType (parameters [i].ParameterType, context ?? reference)));
+
+ return reference;
+ }
+
+ MethodSpecification ImportMethodSpecification (MethodReference method, IGenericContext context)
+ {
+ if (!method.IsGenericInstance)
+ throw new NotSupportedException ();
+
+ var instance = (GenericInstanceMethod) method;
+ var element_method = ImportMethod (instance.ElementMethod, context);
+ var imported_instance = new GenericInstanceMethod (element_method);
+
+ var arguments = instance.GenericArguments;
+ var imported_arguments = imported_instance.GenericArguments;
+
+ for (int i = 0; i < arguments.Count; i++)
+ imported_arguments.Add (ImportType (arguments [i], context));
+
+ return imported_instance;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ImportContext.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ImportContext.cs
deleted file mode 100644
index 1bec14dc9b0..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ImportContext.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-//
-// ImportContext.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2006 Evaluant RC S.A.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public class ImportContext {
-
- GenericContext m_genContext;
- IImporter m_importer;
-
- public GenericContext GenericContext {
- get { return m_genContext; }
- set { m_genContext = value; }
- }
-
- public ImportContext (IImporter importer)
- {
- m_genContext = new GenericContext ();
- m_importer = importer;
- }
-
- public ImportContext (IImporter importer, IGenericParameterProvider provider)
- {
- m_importer = importer;
- m_genContext = new GenericContext (provider);
- }
-
- public TypeReference Import (TypeReference type)
- {
- return m_importer.ImportTypeReference (type, this);
- }
-
- public MethodReference Import (MethodReference meth)
- {
- return m_importer.ImportMethodReference (meth, this);
- }
-
- public FieldReference Import (FieldReference field)
- {
- return m_importer.ImportFieldReference (field, this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/InterfaceCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/InterfaceCollection.cs
deleted file mode 100644
index 99996801a35..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/InterfaceCollection.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// InterfaceCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Wed Sep 27 12:46:52 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class InterfaceCollection : CollectionBase, IReflectionVisitable {
-
- TypeDefinition m_container;
-
- public TypeReference this [int index] {
- get { return List [index] as TypeReference; }
- set { List [index] = value; }
- }
-
- public TypeDefinition Container {
- get { return m_container; }
- }
-
- public InterfaceCollection (TypeDefinition container)
- {
- m_container = container;
- }
-
- public void Add (TypeReference value)
- {
- List.Add (value);
- }
-
- public bool Contains (TypeReference value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (TypeReference value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, TypeReference value)
- {
- List.Insert (index, value);
- }
-
- public void Remove (TypeReference value)
- {
- List.Remove (value);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is TypeReference))
- throw new ArgumentException ("Must be of type " + typeof (TypeReference).FullName);
- }
-
- public void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitInterfaceCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/LinkedResource.cs b/mcs/class/Mono.Cecil/Mono.Cecil/LinkedResource.cs
index 09d45880fa1..a5530fc13c8 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/LinkedResource.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/LinkedResource.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 - 2007 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -30,28 +30,31 @@ namespace Mono.Cecil {
public sealed class LinkedResource : Resource {
- byte [] m_hash;
- string m_file;
+ internal byte [] hash;
+ string file;
public byte [] Hash {
- get { return m_hash; }
- set { m_hash = value; }
+ get { return hash; }
}
public string File {
- get { return m_file; }
- set { m_file = value; }
+ get { return file; }
+ set { file = value; }
}
- public LinkedResource (string name, ManifestResourceAttributes flags, string file) :
- base (name, flags)
+ public override ResourceType ResourceType {
+ get { return ResourceType.Linked; }
+ }
+
+ public LinkedResource (string name, ManifestResourceAttributes flags)
+ : base (name, flags)
{
- m_file = file;
}
- public override void Accept (IReflectionStructureVisitor visitor)
+ public LinkedResource (string name, ManifestResourceAttributes flags, string file)
+ : base (name, flags)
{
- visitor.VisitLinkedResource (this);
+ this.file = file;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ManifestResourceAttributes.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ManifestResourceAttributes.cs
index 1d77f9f10c8..d72d1d0c741 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ManifestResourceAttributes.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/ManifestResourceAttributes.cs
@@ -1,10 +1,10 @@
//
-// ManigestResourceAttributes.cs
+// ManifestResourceAttributes.cs
//
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,12 +26,12 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
- using System;
+namespace Mono.Cecil {
[Flags]
- public enum ManifestResourceAttributes {
+ public enum ManifestResourceAttributes : uint {
VisibilityMask = 0x0007,
Public = 0x0001, // The resource is exported from the Assembly
Private = 0x0002 // The resource is private to the Assembly
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/MarshalInfo.cs b/mcs/class/Mono.Cecil/Mono.Cecil/MarshalInfo.cs
new file mode 100644
index 00000000000..1fce23a8d78
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/MarshalInfo.cs
@@ -0,0 +1,171 @@
+//
+// MarshalInfo.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace Mono.Cecil {
+
+ public class MarshalInfo {
+
+ internal NativeType native;
+
+ public NativeType NativeType {
+ get { return native; }
+ set { native = value; }
+ }
+
+ public MarshalInfo (NativeType native)
+ {
+ this.native = native;
+ }
+ }
+
+ public sealed class ArrayMarshalInfo : MarshalInfo {
+
+ internal NativeType element_type;
+ internal int size_parameter_index;
+ internal int size;
+ internal int size_parameter_multiplier;
+
+ public NativeType ElementType {
+ get { return element_type; }
+ set { element_type = value; }
+ }
+
+ public int SizeParameterIndex {
+ get { return size_parameter_index; }
+ set { size_parameter_index = value; }
+ }
+
+ public int Size {
+ get { return size; }
+ set { size = value; }
+ }
+
+ public int SizeParameterMultiplier {
+ get { return size_parameter_multiplier; }
+ set { size_parameter_multiplier = value; }
+ }
+
+ public ArrayMarshalInfo ()
+ : base (NativeType.Array)
+ {
+ element_type = NativeType.None;
+ size_parameter_index = -1;
+ size = -1;
+ size_parameter_multiplier = -1;
+ }
+ }
+
+ public sealed class CustomMarshalInfo : MarshalInfo {
+
+ internal Guid guid;
+ internal string unmanaged_type;
+ internal TypeReference managed_type;
+ internal string cookie;
+
+ public Guid Guid {
+ get { return guid; }
+ set { guid = value; }
+ }
+
+ public string UnmanagedType {
+ get { return unmanaged_type; }
+ set { unmanaged_type = value; }
+ }
+
+ public TypeReference ManagedType {
+ get { return managed_type; }
+ set { managed_type = value; }
+ }
+
+ public string Cookie {
+ get { return cookie; }
+ set { cookie = value; }
+ }
+
+ public CustomMarshalInfo ()
+ : base (NativeType.CustomMarshaler)
+ {
+ }
+ }
+
+ public sealed class SafeArrayMarshalInfo : MarshalInfo {
+
+ internal VariantType element_type;
+
+ public VariantType ElementType {
+ get { return element_type; }
+ set { element_type = value; }
+ }
+
+ public SafeArrayMarshalInfo ()
+ : base (NativeType.SafeArray)
+ {
+ element_type = VariantType.None;
+ }
+ }
+
+ public sealed class FixedArrayMarshalInfo : MarshalInfo {
+
+ internal NativeType element_type;
+ internal int size;
+
+ public NativeType ElementType {
+ get { return element_type; }
+ set { element_type = value; }
+ }
+
+ public int Size {
+ get { return size; }
+ set { size = value; }
+ }
+
+ public FixedArrayMarshalInfo ()
+ : base (NativeType.FixedArray)
+ {
+ element_type = NativeType.None;
+ }
+ }
+
+ public sealed class FixedSysStringMarshalInfo : MarshalInfo {
+
+ internal int size;
+
+ public int Size {
+ get { return size; }
+ set { size = value; }
+ }
+
+ public FixedSysStringMarshalInfo ()
+ : base (NativeType.FixedSysString)
+ {
+ size = -1;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/MarshalSpec.cs b/mcs/class/Mono.Cecil/Mono.Cecil/MarshalSpec.cs
deleted file mode 100644
index 092944606aa..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/MarshalSpec.cs
+++ /dev/null
@@ -1,218 +0,0 @@
-//
-// MarshalDesc.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
-
- public class MarshalSpec {
-
- NativeType m_natIntr;
- IHasMarshalSpec m_container;
-
- public NativeType NativeIntrinsic {
- get { return m_natIntr; }
- set { m_natIntr = value; }
- }
-
- public IHasMarshalSpec Container {
- get { return m_container; }
- set { m_container = value; }
- }
-
- public MarshalSpec (NativeType natIntr, IHasMarshalSpec container)
- {
- m_natIntr = natIntr;
- m_container = container;
- }
-
- public virtual void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitMarshalSpec (this);
- }
-
- public virtual MarshalSpec CloneInto (IHasMarshalSpec container)
- {
- return new MarshalSpec (m_natIntr, container);
- }
- }
-
- public sealed class ArrayMarshalSpec : MarshalSpec {
-
- NativeType m_elemType;
- int m_paramNum;
- int m_elemMult;
- int m_numElem;
-
- public NativeType ElemType {
- get { return m_elemType; }
- set { m_elemType = value; }
- }
-
- public int ParamNum {
- get { return m_paramNum; }
- set { m_paramNum = value; }
- }
-
- public int ElemMult {
- get { return m_elemMult; }
- set { m_elemMult = value; }
- }
-
- public int NumElem {
- get { return m_numElem; }
- set { m_numElem = value; }
- }
-
- public ArrayMarshalSpec (IHasMarshalSpec container) : base (NativeType.ARRAY, container)
- {
- }
-
- public override MarshalSpec CloneInto (IHasMarshalSpec container)
- {
- ArrayMarshalSpec spec = new ArrayMarshalSpec (container);
- spec.m_elemType = m_elemType;
- spec.m_paramNum = m_paramNum;
- spec.m_elemMult = m_elemMult;
- spec.m_numElem = m_numElem;
- return spec;
- }
- }
-
- public sealed class CustomMarshalerSpec : MarshalSpec {
-
- Guid m_guid;
- string m_unmanagedType;
- string m_managedType;
- string m_cookie;
-
- public Guid Guid {
- get { return m_guid; }
- set { m_guid = value; }
- }
-
- public String UnmanagedType {
- get { return m_unmanagedType; }
- set { m_unmanagedType = value; }
- }
-
- public string ManagedType {
- get { return m_managedType; }
- set { m_managedType = value; }
- }
-
- public string Cookie {
- get { return m_cookie; }
- set { m_cookie = value; }
- }
-
- public CustomMarshalerSpec (IHasMarshalSpec container) : base (NativeType.CUSTOMMARSHALER, container)
- {
- }
-
- public override MarshalSpec CloneInto (IHasMarshalSpec container)
- {
- CustomMarshalerSpec spec = new CustomMarshalerSpec (container);
- spec.m_guid = m_guid;
- spec.m_unmanagedType = m_unmanagedType;
- spec.m_managedType = m_managedType;
- spec.m_cookie = m_cookie;
- return spec;
- }
- }
-
- public sealed class SafeArraySpec : MarshalSpec {
-
- private VariantType m_elemType;
-
- public VariantType ElemType {
- get { return m_elemType; }
- set { m_elemType = value; }
- }
-
- public SafeArraySpec (IHasMarshalSpec container) : base (NativeType.SAFEARRAY, container)
- {
- }
-
- public override MarshalSpec CloneInto(IHasMarshalSpec container)
- {
- SafeArraySpec spec = new SafeArraySpec (container);
- spec.m_elemType = m_elemType;
- return spec;
- }
- }
-
- public sealed class FixedArraySpec : MarshalSpec {
-
- private int m_numElem;
- private NativeType m_elemType;
-
- public int NumElem {
- get { return m_numElem; }
- set { m_numElem = value; }
- }
-
- public NativeType ElemType {
- get { return m_elemType; }
- set { m_elemType = value; }
- }
-
- public FixedArraySpec (IHasMarshalSpec container) : base (NativeType.FIXEDARRAY, container)
- {
- }
-
- public override MarshalSpec CloneInto (IHasMarshalSpec container)
- {
- FixedArraySpec spec = new FixedArraySpec (container);
- spec.m_numElem = m_numElem;
- spec.m_elemType = m_elemType;
- return spec;
- }
- }
-
- public sealed class FixedSysStringSpec : MarshalSpec {
-
- private int m_size;
-
- public int Size {
- get { return m_size; }
- set { m_size = value; }
- }
-
- public FixedSysStringSpec (IHasMarshalSpec container) : base (NativeType.FIXEDSYSSTRING, container)
- {
- }
-
- public override MarshalSpec CloneInto (IHasMarshalSpec container)
- {
- FixedSysStringSpec spec = new FixedSysStringSpec (container);
- spec.m_size = m_size;
- return spec;
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/MemberDefinitionCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/MemberDefinitionCollection.cs
new file mode 100644
index 00000000000..1e703026e69
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/MemberDefinitionCollection.cs
@@ -0,0 +1,92 @@
+//
+// MemberDefinitionCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+using Mono.Collections.Generic;
+
+namespace Mono.Cecil {
+
+ class MemberDefinitionCollection<T> : Collection<T> where T : IMemberDefinition {
+
+ TypeDefinition container;
+
+ internal MemberDefinitionCollection (TypeDefinition container)
+ {
+ this.container = container;
+ }
+
+ internal MemberDefinitionCollection (TypeDefinition container, int capacity)
+ : base (capacity)
+ {
+ this.container = container;
+ }
+
+ protected override void OnAdd (T item, int index)
+ {
+ Attach (item);
+ }
+
+ protected sealed override void OnSet (T item, int index)
+ {
+ Attach (item);
+ }
+
+ protected sealed override void OnInsert (T item, int index)
+ {
+ Attach (item);
+ }
+
+ protected sealed override void OnRemove (T item, int index)
+ {
+ Detach (item);
+ }
+
+ protected sealed override void OnClear ()
+ {
+ foreach (var definition in this)
+ Detach (definition);
+ }
+
+ void Attach (T element)
+ {
+ if (element.DeclaringType == container)
+ return;
+
+ if (element.DeclaringType != null)
+ throw new ArgumentException ("Member already attached");
+
+ element.DeclaringType = this.container;
+ }
+
+ static void Detach (T element)
+ {
+ element.DeclaringType = null;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/MemberReference.cs b/mcs/class/Mono.Cecil/Mono.Cecil/MemberReference.cs
index 95fcb697726..b3edf39972c 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/MemberReference.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/MemberReference.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -28,55 +28,74 @@
namespace Mono.Cecil {
- using System.Collections;
+ public abstract class MemberReference : IMetadataTokenProvider {
- using Mono.Cecil.Metadata;
+ string name;
+ TypeReference declaring_type;
- public abstract class MemberReference : IMemberReference {
-
- string m_name;
- TypeReference m_decType;
- MetadataToken m_token;
- IDictionary m_annotations;
+ internal MetadataToken token;
public virtual string Name {
- get { return m_name; }
- set { m_name = value; }
+ get { return name; }
+ set { name = value; }
+ }
+
+ public abstract string FullName {
+ get;
}
public virtual TypeReference DeclaringType {
- get { return m_decType; }
- set { m_decType = value; }
+ get { return declaring_type; }
+ set { declaring_type = value; }
}
public MetadataToken MetadataToken {
- get { return m_token; }
- set { m_token = value; }
+ get { return token; }
+ set { token = value; }
}
- IDictionary IAnnotationProvider.Annotations {
+ internal bool HasImage {
get {
- if (m_annotations == null)
- m_annotations = new Hashtable ();
- return m_annotations;
+ var module = Module;
+ if (module == null)
+ return false;
+
+ return module.HasImage;
}
}
- public MemberReference (string name)
+ public virtual ModuleDefinition Module {
+ get { return declaring_type != null ? declaring_type.Module : null; }
+ }
+
+ public virtual bool IsDefinition {
+ get { return false; }
+ }
+
+ internal virtual bool ContainsGenericParameter {
+ get { return declaring_type != null && declaring_type.ContainsGenericParameter; }
+ }
+
+ internal MemberReference ()
{
- m_name = name;
}
- public override string ToString ()
+ internal MemberReference (string name)
{
- if (m_decType == null)
- return m_name;
+ this.name = name ?? string.Empty;
+ }
- return string.Concat (m_decType.FullName, "::", m_name);
+ internal string MemberFullName ()
+ {
+ if (declaring_type == null)
+ return name;
+
+ return declaring_type.FullName + "::" + name;
}
- public virtual void Accept (IReflectionVisitor visitor)
+ public override string ToString ()
{
+ return FullName;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/MemberReferenceCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/MemberReferenceCollection.cs
deleted file mode 100644
index fd69d6c01e4..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/MemberReferenceCollection.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// MemberReferenceCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Wed Sep 27 12:46:53 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class MemberReferenceCollection : CollectionBase, IReflectionVisitable {
-
- ModuleDefinition m_container;
-
- public MemberReference this [int index] {
- get { return List [index] as MemberReference; }
- set { List [index] = value; }
- }
-
- public ModuleDefinition Container {
- get { return m_container; }
- }
-
- public MemberReferenceCollection (ModuleDefinition container)
- {
- m_container = container;
- }
-
- public void Add (MemberReference value)
- {
- List.Add (value);
- }
-
- public bool Contains (MemberReference value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (MemberReference value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, MemberReference value)
- {
- List.Insert (index, value);
- }
-
- public void Remove (MemberReference value)
- {
- List.Remove (value);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is MemberReference))
- throw new ArgumentException ("Must be of type " + typeof (MemberReference).FullName);
- }
-
- public void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitMemberReferenceCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/MetadataResolver.cs b/mcs/class/Mono.Cecil/Mono.Cecil/MetadataResolver.cs
index af014bc6083..1cfddb98952 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/MetadataResolver.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/MetadataResolver.cs
@@ -1,11 +1,10 @@
-//
+//
// MetadataResolver.cs
//
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2008 Jb Evain (http://evain.net)
-// (C) 2008 Novell, Inc. (http://www.novell.com)
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -28,65 +27,92 @@
//
using System;
-using System.Collections;
-
-namespace Mono.Cecil {
+using System.Collections.Generic;
- class MetadataResolver {
+using Mono.Collections.Generic;
- AssemblyDefinition assembly;
+namespace Mono.Cecil {
- public IAssemblyResolver AssemblyResolver {
- get { return assembly.Resolver; }
- }
+ public interface IAssemblyResolver {
+ AssemblyDefinition Resolve (AssemblyNameReference name);
+ AssemblyDefinition Resolve (string fullName);
+ }
- public MetadataResolver (AssemblyDefinition assembly)
- {
- this.assembly = assembly;
- }
+ static class MetadataResolver {
- public TypeDefinition Resolve (TypeReference type)
+ public static TypeDefinition Resolve (IAssemblyResolver resolver, TypeReference type)
{
- type = type.GetOriginalType ();
-
- if (type is TypeDefinition)
- return (TypeDefinition) type;
+ type = type.GetElementType ();
- AssemblyNameReference reference = type.Scope as AssemblyNameReference;
- if (reference != null) {
- AssemblyDefinition assembly = AssemblyResolver.Resolve (reference);
+ var scope = type.Scope;
+ switch (scope.MetadataScopeType) {
+ case MetadataScopeType.AssemblyNameReference:
+ var assembly = resolver.Resolve ((AssemblyNameReference) scope);
if (assembly == null)
return null;
- return assembly.MainModule.Types [type.FullName];
+ return GetType (assembly.MainModule, type);
+ case MetadataScopeType.ModuleDefinition:
+ return GetType ((ModuleDefinition) scope, type);
+ case MetadataScopeType.ModuleReference:
+ var modules = type.Module.Assembly.Modules;
+ var module_ref = (ModuleReference) scope;
+ for (int i = 0; i < modules.Count; i++) {
+ var netmodule = modules [i];
+ if (netmodule.Name == module_ref.Name)
+ return GetType (netmodule, type);
+ }
+ break;
}
- ModuleDefinition module = type.Scope as ModuleDefinition;
- if (module != null)
- return module.Types [type.FullName];
+ throw new NotSupportedException ();
+ }
- ModuleReference mod_reference = type.Scope as ModuleReference;
- if (mod_reference != null) {
- foreach (ModuleDefinition netmodule in type.Module.Assembly.Modules)
- if (netmodule.Name == mod_reference.Name)
- return netmodule.Types [type.FullName];
- }
+ static TypeDefinition GetType (ModuleDefinition module, TypeReference type)
+ {
+ if (!type.IsNested)
+ return module.GetType (type.Namespace, type.Name);
+
+ var declaring_type = type.DeclaringType.Resolve ();
+ if (declaring_type == null)
+ return null;
- throw new NotImplementedException ();
+ return declaring_type.GetNestedType (type.Name);
}
- public FieldDefinition Resolve (FieldReference field)
+ public static FieldDefinition Resolve (IAssemblyResolver resolver, FieldReference field)
{
- TypeDefinition type = Resolve (field.DeclaringType);
+ var type = Resolve (resolver, field.DeclaringType);
if (type == null)
return null;
- return type.HasFields ? GetField (type.Fields, field) : null;
+ if (!type.HasFields)
+ return null;
+
+ return GetField (resolver, type, field);
}
- static FieldDefinition GetField (ICollection collection, FieldReference reference)
+ static FieldDefinition GetField (IAssemblyResolver resolver, TypeDefinition type, FieldReference reference)
{
- foreach (FieldDefinition field in collection) {
+ while (type != null) {
+ var field = GetField (type.Fields, reference);
+ if (field != null)
+ return field;
+
+ if (type.BaseType == null)
+ return null;
+
+ type = Resolve (resolver, type.BaseType);
+ }
+
+ return null;
+ }
+
+ static FieldDefinition GetField (IList<FieldDefinition> fields, FieldReference reference)
+ {
+ for (int i = 0; i < fields.Count; i++) {
+ var field = fields [i];
+
if (field.Name != reference.Name)
continue;
@@ -99,104 +125,122 @@ namespace Mono.Cecil {
return null;
}
- public MethodDefinition Resolve (MethodReference method)
+ public static MethodDefinition Resolve (IAssemblyResolver resolver, MethodReference method)
{
- TypeDefinition type = Resolve (method.DeclaringType);
+ var type = Resolve (resolver, method.DeclaringType);
if (type == null)
return null;
- method = method.GetOriginalMethod ();
- if (method.Name == MethodDefinition.Cctor || method.Name == MethodDefinition.Ctor)
- return type.HasConstructors ? GetMethod (type.Constructors, method) : null;
- else
- return type.HasMethods ? GetMethod (type, method) : null;
+ method = method.GetElementMethod ();
+
+ if (!type.HasMethods)
+ return null;
+
+ return GetMethod (resolver, type, method);
}
- MethodDefinition GetMethod (TypeDefinition type, MethodReference reference)
+ static MethodDefinition GetMethod (IAssemblyResolver resolver, TypeDefinition type, MethodReference reference)
{
while (type != null) {
- MethodDefinition method = GetMethod (type.Methods, reference);
- if (method == null) {
- if (type.BaseType == null)
- return null;
-
- type = Resolve (type.BaseType);
- } else
+ var method = GetMethod (type.Methods, reference);
+ if (method != null)
return method;
+
+ if (type.BaseType == null)
+ return null;
+
+ type = Resolve (resolver, type.BaseType);
}
return null;
}
- static MethodDefinition GetMethod (ICollection collection, MethodReference reference)
+ public static MethodDefinition GetMethod (IList<MethodDefinition> methods, MethodReference reference)
{
- foreach (MethodDefinition meth in collection) {
- if (meth.Name != reference.Name)
+ for (int i = 0; i < methods.Count; i++) {
+ var method = methods [i];
+
+ if (method.Name != reference.Name)
continue;
- if (!AreSame (meth.ReturnType.ReturnType, reference.ReturnType.ReturnType))
+ if (!AreSame (method.ReturnType, reference.ReturnType))
continue;
- if (meth.HasParameters != reference.HasParameters)
+ if (method.HasParameters != reference.HasParameters)
continue;
- if (!meth.HasParameters && !reference.HasParameters)
- return meth; //both have no parameters hence meth is the good one
+ if (!method.HasParameters && !reference.HasParameters)
+ return method;
- if (!AreSame (meth.Parameters, reference.Parameters))
+ if (!AreSame (method.Parameters, reference.Parameters))
continue;
- return meth;
+ return method;
}
return null;
}
- static bool AreSame (ParameterDefinitionCollection a, ParameterDefinitionCollection b)
+ static bool AreSame (Collection<ParameterDefinition> a, Collection<ParameterDefinition> b)
{
- if (a.Count != b.Count)
+ var count = a.Count;
+
+ if (count != b.Count)
return false;
- if (a.Count == 0)
+ if (count == 0)
return true;
- for (int i = 0; i < a.Count; i++)
+ for (int i = 0; i < count; i++)
if (!AreSame (a [i].ParameterType, b [i].ParameterType))
return false;
return true;
}
- static bool AreSame (ModType a, ModType b)
+ static bool AreSame (TypeSpecification a, TypeSpecification b)
{
- if (!AreSame (a.ModifierType, b.ModifierType))
+ if (!AreSame (a.ElementType, b.ElementType))
return false;
- return AreSame (a.ElementType, b.ElementType);
+ if (a.IsGenericInstance)
+ return AreSame ((GenericInstanceType) a, (GenericInstanceType) b);
+
+ if (a.IsRequiredModifier || a.IsOptionalModifier)
+ return AreSame ((IModifierType) a, (IModifierType) b);
+
+ if (a.IsArray)
+ return AreSame ((ArrayType) a, (ArrayType) b);
+
+ return true;
}
- static bool AreSame (TypeSpecification a, TypeSpecification b)
+ static bool AreSame (ArrayType a, ArrayType b)
{
- if (a is GenericInstanceType)
- return AreSame ((GenericInstanceType) a, (GenericInstanceType) b);
+ if (a.Rank != b.Rank)
+ return false;
- if (a is ModType)
- return AreSame ((ModType) a, (ModType) b);
+ // TODO: dimensions
+
+ return true;
+ }
- return AreSame (a.ElementType, b.ElementType);
+ static bool AreSame (IModifierType a, IModifierType b)
+ {
+ return AreSame (a.ModifierType, b.ModifierType);
}
static bool AreSame (GenericInstanceType a, GenericInstanceType b)
{
- if (!AreSame (a.ElementType, b.ElementType))
+ if (!a.HasGenericArguments)
+ return !b.HasGenericArguments;
+
+ if (!b.HasGenericArguments)
return false;
if (a.GenericArguments.Count != b.GenericArguments.Count)
return false;
- if (a.GenericArguments.Count == 0)
- return true;
-
for (int i = 0; i < a.GenericArguments.Count; i++)
if (!AreSame (a.GenericArguments [i], b.GenericArguments [i]))
return false;
@@ -211,19 +255,14 @@ namespace Mono.Cecil {
static bool AreSame (TypeReference a, TypeReference b)
{
- if (a is TypeSpecification || b is TypeSpecification) {
- if (a.GetType () != b.GetType ())
- return false;
-
- return AreSame ((TypeSpecification) a, (TypeSpecification) b);
- }
-
- if (a is GenericParameter || b is GenericParameter) {
- if (a.GetType () != b.GetType ())
- return false;
+ if (a.etype != b.etype)
+ return false;
+ if (a.IsGenericParameter)
return AreSame ((GenericParameter) a, (GenericParameter) b);
- }
+
+ if (a.IsTypeSpecification ())
+ return AreSame ((TypeSpecification) a, (TypeSpecification) b);
return a.FullName == b.FullName;
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/MetadataSystem.cs b/mcs/class/Mono.Cecil/Mono.Cecil/MetadataSystem.cs
new file mode 100644
index 00000000000..a114707d253
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/MetadataSystem.cs
@@ -0,0 +1,374 @@
+//
+// MetadataSystem.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections.Generic;
+
+using Mono.Cecil.Metadata;
+
+namespace Mono.Cecil {
+
+ struct Range {
+ public uint Start;
+ public uint Length;
+
+ public Range (uint index, uint length)
+ {
+ this.Start = index;
+ this.Length = length;
+ }
+ }
+
+ sealed class MetadataSystem {
+
+ internal TypeDefinition [] Types;
+ internal TypeReference [] TypeReferences;
+
+ internal FieldDefinition [] Fields;
+ internal MethodDefinition [] Methods;
+ internal MemberReference [] MemberReferences;
+
+ internal Dictionary<uint, uint []> NestedTypes;
+ internal Dictionary<uint, uint> ReverseNestedTypes;
+ internal Dictionary<uint, MetadataToken []> Interfaces;
+ internal Dictionary<uint, Row<ushort, uint>> ClassLayouts;
+ internal Dictionary<uint, uint> FieldLayouts;
+ internal Dictionary<uint, uint> FieldRVAs;
+ internal Dictionary<MetadataToken, uint> FieldMarshals;
+ internal Dictionary<MetadataToken, Row<ElementType, uint>> Constants;
+ internal Dictionary<uint, MetadataToken []> Overrides;
+ internal Dictionary<MetadataToken, Range> CustomAttributes;
+ internal Dictionary<MetadataToken, Range> SecurityDeclarations;
+ internal Dictionary<uint, Range> Events;
+ internal Dictionary<uint, Range> Properties;
+ internal Dictionary<uint, Row<MethodSemanticsAttributes, MetadataToken>> Semantics;
+ internal Dictionary<uint, Row<PInvokeAttributes, uint, uint>> PInvokes;
+ internal Dictionary<MetadataToken, Range> GenericParameters;
+ internal Dictionary<uint, MetadataToken []> GenericConstraints;
+
+ static Dictionary<string, Row<ElementType, bool>> primitive_value_types;
+
+ static void InitializePrimitives ()
+ {
+ primitive_value_types = new Dictionary<string, Row<ElementType, bool>> (18) {
+ { "Void", new Row<ElementType, bool> (ElementType.Void, false) },
+ { "Boolean", new Row<ElementType, bool> (ElementType.Boolean, true) },
+ { "Char", new Row<ElementType, bool> (ElementType.Char, true) },
+ { "SByte", new Row<ElementType, bool> (ElementType.I1, true) },
+ { "Byte", new Row<ElementType, bool> (ElementType.U1, true) },
+ { "Int16", new Row<ElementType, bool> (ElementType.I2, true) },
+ { "UInt16", new Row<ElementType, bool> (ElementType.U2, true) },
+ { "Int32", new Row<ElementType, bool> (ElementType.I4, true) },
+ { "UInt32", new Row<ElementType, bool> (ElementType.U4, true) },
+ { "Int64", new Row<ElementType, bool> (ElementType.I8, true) },
+ { "UInt64", new Row<ElementType, bool> (ElementType.U8, true) },
+ { "Single", new Row<ElementType, bool> (ElementType.R4, true) },
+ { "Double", new Row<ElementType, bool> (ElementType.R8, true) },
+ { "String", new Row<ElementType, bool> (ElementType.String, false) },
+ { "TypedReference", new Row<ElementType, bool> (ElementType.TypedByRef, false) },
+ { "IntPtr", new Row<ElementType, bool> (ElementType.I, true) },
+ { "UIntPtr", new Row<ElementType, bool> (ElementType.U, true) },
+ { "Object", new Row<ElementType, bool> (ElementType.Object, false) },
+ };
+ }
+
+ public static void TryProcessPrimitiveType (TypeReference type)
+ {
+ var scope = type.scope;
+ if (scope.MetadataScopeType != MetadataScopeType.AssemblyNameReference)
+ return;
+
+ if (scope.Name != "mscorlib")
+ return;
+
+ if (type.Namespace != "System")
+ return;
+
+ if (primitive_value_types == null)
+ InitializePrimitives ();
+
+ Row<ElementType, bool> primitive_data;
+ if (!primitive_value_types.TryGetValue (type.Name, out primitive_data))
+ return;
+
+ type.etype = primitive_data.Col1;
+ type.IsValueType = primitive_data.Col2;
+ }
+
+ public void Clear ()
+ {
+ if (NestedTypes != null) NestedTypes.Clear ();
+ if (ReverseNestedTypes != null) ReverseNestedTypes.Clear ();
+ if (Interfaces != null) Interfaces.Clear ();
+ if (ClassLayouts != null) ClassLayouts.Clear ();
+ if (FieldLayouts != null) FieldLayouts.Clear ();
+ if (FieldRVAs != null) FieldRVAs.Clear ();
+ if (FieldMarshals != null) FieldMarshals.Clear ();
+ if (Constants != null) Constants.Clear ();
+ if (Overrides != null) Overrides.Clear ();
+ if (CustomAttributes != null) CustomAttributes.Clear ();
+ if (SecurityDeclarations != null) SecurityDeclarations.Clear ();
+ if (Events != null) Events.Clear ();
+ if (Properties != null) Properties.Clear ();
+ if (Semantics != null) Semantics.Clear ();
+ if (PInvokes != null) PInvokes.Clear ();
+ if (GenericParameters != null) GenericParameters.Clear ();
+ if (GenericConstraints != null) GenericConstraints.Clear ();
+ }
+
+ public TypeDefinition GetTypeDefinition (uint rid)
+ {
+ if (rid < 1 || rid > Types.Length)
+ return null;
+
+ return Types [rid - 1];
+ }
+
+ public void AddTypeDefinition (TypeDefinition type)
+ {
+ Types [type.token.RID - 1] = type;
+ }
+
+ public TypeReference GetTypeReference (uint rid)
+ {
+ if (rid < 1 || rid > TypeReferences.Length)
+ return null;
+
+ return TypeReferences [rid - 1];
+ }
+
+ public void AddTypeReference (TypeReference type)
+ {
+ TypeReferences [type.token.RID - 1] = type;
+ }
+
+ public FieldDefinition GetFieldDefinition (uint rid)
+ {
+ if (rid < 1 || rid > Fields.Length)
+ return null;
+
+ return Fields [rid - 1];
+ }
+
+ public void AddFieldDefinition (FieldDefinition field)
+ {
+ Fields [field.token.RID - 1] = field;
+ }
+
+ public MethodDefinition GetMethodDefinition (uint rid)
+ {
+ if (rid < 1 || rid > Methods.Length)
+ return null;
+
+ return Methods [rid - 1];
+ }
+
+ public void AddMethodDefinition (MethodDefinition method)
+ {
+ Methods [method.token.RID - 1] = method;
+ }
+
+ public MemberReference GetMemberReference (uint rid)
+ {
+ if (rid < 1 || rid > MemberReferences.Length)
+ return null;
+
+ return MemberReferences [rid - 1];
+ }
+
+ public void AddMemberReference (MemberReference member)
+ {
+ MemberReferences [member.token.RID - 1] = member;
+ }
+
+ public bool TryGetNestedTypeMapping (TypeDefinition type, out uint [] mapping)
+ {
+ return NestedTypes.TryGetValue (type.token.RID, out mapping);
+ }
+
+ public void SetNestedTypeMapping (uint type_rid, uint [] mapping)
+ {
+ NestedTypes [type_rid] = mapping;
+ }
+
+ public void RemoveNestedTypeMapping (TypeDefinition type)
+ {
+ NestedTypes.Remove (type.token.RID);
+ }
+
+ public bool TryGetReverseNestedTypeMapping (TypeDefinition type, out uint declaring)
+ {
+ return ReverseNestedTypes.TryGetValue (type.token.RID, out declaring);
+ }
+
+ public void SetReverseNestedTypeMapping (uint nested, uint declaring)
+ {
+ ReverseNestedTypes.Add (nested, declaring);
+ }
+
+ public void RemoveReverseNestedTypeMapping (TypeDefinition type)
+ {
+ ReverseNestedTypes.Remove (type.token.RID);
+ }
+
+ public bool TryGetInterfaceMapping (TypeDefinition type, out MetadataToken [] mapping)
+ {
+ return Interfaces.TryGetValue (type.token.RID, out mapping);
+ }
+
+ public void SetInterfaceMapping (uint type_rid, MetadataToken [] mapping)
+ {
+ Interfaces [type_rid] = mapping;
+ }
+
+ public void RemoveInterfaceMapping (TypeDefinition type)
+ {
+ Interfaces.Remove (type.token.RID);
+ }
+
+ public void AddPropertiesRange (uint type_rid, Range range)
+ {
+ Properties.Add (type_rid, range);
+ }
+
+ public bool TryGetPropertiesRange (TypeDefinition type, out Range range)
+ {
+ return Properties.TryGetValue (type.token.RID, out range);
+ }
+
+ public void RemovePropertiesRange (TypeDefinition type)
+ {
+ Properties.Remove (type.token.RID);
+ }
+
+ public void AddEventsRange (uint type_rid, Range range)
+ {
+ Events.Add (type_rid, range);
+ }
+
+ public bool TryGetEventsRange (TypeDefinition type, out Range range)
+ {
+ return Events.TryGetValue (type.token.RID, out range);
+ }
+
+ public void RemoveEventsRange (TypeDefinition type)
+ {
+ Events.Remove (type.token.RID);
+ }
+
+ public bool TryGetGenericParameterRange (IGenericParameterProvider owner, out Range range)
+ {
+ return GenericParameters.TryGetValue (owner.MetadataToken, out range);
+ }
+
+ public void RemoveGenericParameterRange (IGenericParameterProvider owner)
+ {
+ GenericParameters.Remove (owner.MetadataToken);
+ }
+
+ public bool TryGetCustomAttributeRange (ICustomAttributeProvider owner, out Range range)
+ {
+ return CustomAttributes.TryGetValue (owner.MetadataToken, out range);
+ }
+
+ public void RemoveCustomAttributeRange (ICustomAttributeProvider owner)
+ {
+ CustomAttributes.Remove (owner.MetadataToken);
+ }
+
+ public bool TryGetSecurityDeclarationRange (ISecurityDeclarationProvider owner, out Range range)
+ {
+ return SecurityDeclarations.TryGetValue (owner.MetadataToken, out range);
+ }
+
+ public void RemoveSecurityDeclarationRange (ISecurityDeclarationProvider owner)
+ {
+ SecurityDeclarations.Remove (owner.MetadataToken);
+ }
+
+ public bool TryGetGenericConstraintMapping (GenericParameter generic_parameter, out MetadataToken [] mapping)
+ {
+ return GenericConstraints.TryGetValue (generic_parameter.token.RID, out mapping);
+ }
+
+ public void SetGenericConstraintMapping (uint gp_rid, MetadataToken [] mapping)
+ {
+ GenericConstraints [gp_rid] = mapping;
+ }
+
+ public void RemoveGenericConstraintMapping (GenericParameter generic_parameter)
+ {
+ GenericConstraints.Remove (generic_parameter.token.RID);
+ }
+
+ public bool TryGetOverrideMapping (MethodDefinition method, out MetadataToken [] mapping)
+ {
+ return Overrides.TryGetValue (method.token.RID, out mapping);
+ }
+
+ public void SetOverrideMapping (uint rid, MetadataToken [] mapping)
+ {
+ Overrides [rid] = mapping;
+ }
+
+ public void RemoveOverrideMapping (MethodDefinition method)
+ {
+ Overrides.Remove (method.token.RID);
+ }
+
+ public TypeDefinition GetFieldDeclaringType (uint field_rid)
+ {
+ return BinaryRangeSearch (Types, field_rid, true);
+ }
+
+ public TypeDefinition GetMethodDeclaringType (uint method_rid)
+ {
+ return BinaryRangeSearch (Types, method_rid, false);
+ }
+
+ static TypeDefinition BinaryRangeSearch (TypeDefinition [] types, uint rid, bool field)
+ {
+ int min = 0;
+ int max = types.Length - 1;
+ while (min <= max) {
+ int mid = min + ((max - min) / 2);
+ var type = types [mid];
+ var range = field ? type.fields_range : type.methods_range;
+
+ if (rid < range.Start)
+ max = mid - 1;
+ else if (rid >= range.Start + range.Length)
+ min = mid + 1;
+ else
+ return type;
+ }
+
+ throw new ArgumentException ();
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/MethodAttributes.cs b/mcs/class/Mono.Cecil/Mono.Cecil/MethodAttributes.cs
index b04cbda86d8..3446702b5a4 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/MethodAttributes.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/MethodAttributes.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,17 +26,17 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
- using System;
+namespace Mono.Cecil {
[Flags]
public enum MethodAttributes : ushort {
MemberAccessMask = 0x0007,
- Compilercontrolled = 0x0000, // Member not referenceable
+ CompilerControlled = 0x0000, // Member not referenceable
Private = 0x0001, // Accessible only by the parent type
FamANDAssem = 0x0002, // Accessible by sub-types only in this Assembly
- Assem = 0x0003, // Accessibly by anyone in the Assembly
+ Assembly = 0x0003, // Accessibly by anyone in the Assembly
Family = 0x0004, // Accessible only by type and sub-types
FamORAssem = 0x0005, // Accessibly by sub-types anywhere, plus anyone in assembly
Public = 0x0006, // Accessibly by anyone who has visibility to this scope
@@ -50,7 +50,7 @@ namespace Mono.Cecil {
ReuseSlot = 0x0000, // Method reuses existing slot in vtable
NewSlot = 0x0100, // Method always gets a new slot in the vtable
- Strict = 0x0200, // Method can only be overriden if also accessible
+ CheckAccessOnOverride = 0x0200, // Method can only be overriden if also accessible
Abstract = 0x0400, // Method does not provide an implementation
SpecialName = 0x0800, // Method is special
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/MethodCallingConvention.cs b/mcs/class/Mono.Cecil/Mono.Cecil/MethodCallingConvention.cs
index 0eb60887b82..c96dc1cf25f 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/MethodCallingConvention.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/MethodCallingConvention.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -35,6 +35,6 @@ namespace Mono.Cecil {
ThisCall = 0x3,
FastCall = 0x4,
VarArg = 0x5,
- Generic = 0x10
+ Generic = 0x10,
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/MethodDefinition.cs b/mcs/class/Mono.Cecil/Mono.Cecil/MethodDefinition.cs
index 9b0f152c965..fff1fb9665f 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/MethodDefinition.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/MethodDefinition.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,314 +26,291 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using Mono.Cecil.Cil;
+using Mono.Collections.Generic;
+
+using RVA = System.UInt32;
- using Mono.Cecil.Binary;
- using Mono.Cecil.Cil;
+namespace Mono.Cecil {
- public sealed class MethodDefinition : MethodReference, IMemberDefinition,
- IHasSecurity, ICustomAttributeProvider {
+ public sealed class MethodDefinition : MethodReference, IMemberDefinition, ISecurityDeclarationProvider {
- public const string Cctor = ".cctor";
- public const string Ctor = ".ctor";
+ ushort attributes;
+ ushort impl_attributes;
+ MethodSemanticsAttributes? sem_attrs;
+ Collection<CustomAttribute> custom_attributes;
+ Collection<SecurityDeclaration> security_declarations;
- MethodAttributes m_attributes;
- MethodImplAttributes m_implAttrs;
- MethodSemanticsAttributes m_semAttrs;
- SecurityDeclarationCollection m_secDecls;
- CustomAttributeCollection m_customAttrs;
+ internal RVA rva;
+ internal PInvokeInfo pinvoke;
+ Collection<MethodReference> overrides;
- MethodBody m_body;
- RVA m_rva;
- OverrideCollection m_overrides;
- PInvokeInfo m_pinvoke;
- readonly ParameterDefinition m_this;
+ internal MethodBody body;
public MethodAttributes Attributes {
- get { return m_attributes; }
- set { m_attributes = value; }
+ get { return (MethodAttributes) attributes; }
+ set { attributes = (ushort) value; }
}
public MethodImplAttributes ImplAttributes {
- get { return m_implAttrs; }
- set { m_implAttrs = value; }
+ get { return (MethodImplAttributes) impl_attributes; }
+ set { impl_attributes = (ushort) value; }
}
public MethodSemanticsAttributes SemanticsAttributes {
- get { return m_semAttrs; }
- set { m_semAttrs = value; }
+ get {
+ if (sem_attrs.HasValue)
+ return sem_attrs.Value;
+
+ if (HasImage) {
+ ReadSemantics ();
+ return sem_attrs.Value;
+ }
+
+ sem_attrs = MethodSemanticsAttributes.None;
+ return sem_attrs.Value;
+ }
+ set { sem_attrs = value; }
}
- public bool HasSecurityDeclarations {
- get { return (m_secDecls == null) ? false : (m_secDecls.Count > 0); }
+ internal void ReadSemantics ()
+ {
+ if (sem_attrs.HasValue)
+ return;
+
+ var type = DeclaringType;
+ if (type == null)
+ return;
+
+ var module = type.Module;
+ if (module == null)
+ return;
+
+ if (!module.HasImage)
+ return;
+
+ sem_attrs = module.Read (this, (method, reader) => reader.ReadMethodSemantics (method));
}
- public SecurityDeclarationCollection SecurityDeclarations {
+ public bool HasSecurityDeclarations {
get {
- if (m_secDecls == null)
- m_secDecls = new SecurityDeclarationCollection (this);
+ if (security_declarations != null)
+ return security_declarations.Count > 0;
- return m_secDecls;
+ return this.GetHasSecurityDeclarations (Module);
}
}
- public bool HasCustomAttributes {
- get { return (m_customAttrs == null) ? false : (m_customAttrs.Count > 0); }
+ public Collection<SecurityDeclaration> SecurityDeclarations {
+ get { return security_declarations ?? (security_declarations = this.GetSecurityDeclarations (Module)); }
}
- public CustomAttributeCollection CustomAttributes {
+ public bool HasCustomAttributes {
get {
- if (m_customAttrs == null)
- m_customAttrs = new CustomAttributeCollection (this);
+ if (custom_attributes != null)
+ return custom_attributes.Count > 0;
- return m_customAttrs;
+ return this.GetHasCustomAttributes (Module);
}
}
- public RVA RVA {
- get { return m_rva; }
- set { m_rva = value; }
+ public Collection<CustomAttribute> CustomAttributes {
+ get { return custom_attributes ?? (custom_attributes = this.GetCustomAttributes (Module)); }
+ }
+
+ public int RVA {
+ get { return (int) rva; }
+ }
+
+ public bool HasBody {
+ get {
+ return (attributes & (ushort) MethodAttributes.Abstract) == 0 &&
+ (attributes & (ushort) MethodAttributes.PInvokeImpl) == 0 &&
+ (impl_attributes & (ushort) MethodImplAttributes.InternalCall) == 0 &&
+ (impl_attributes & (ushort) MethodImplAttributes.Native) == 0 &&
+ (impl_attributes & (ushort) MethodImplAttributes.Unmanaged) == 0 &&
+ (impl_attributes & (ushort) MethodImplAttributes.Runtime) == 0;
+ }
}
public MethodBody Body {
get {
- LoadBody ();
- return m_body;
+ if (body != null)
+ return body;
+
+ if (!HasBody)
+ return null;
+
+ if (HasImage && rva != 0)
+ return body = Module.Read (this, (method, reader) => reader.ReadMethodBody (method));
+
+ return body = new MethodBody (this);
+ }
+ set { body = value; }
+ }
+
+ public bool HasPInvokeInfo {
+ get {
+ if (pinvoke != null)
+ return true;
+
+ return IsPInvokeImpl;
}
- set { m_body = value; }
}
public PInvokeInfo PInvokeInfo {
- get { return m_pinvoke; }
- set { m_pinvoke = value; }
+ get {
+ if (pinvoke != null)
+ return pinvoke;
+
+ if (HasImage && IsPInvokeImpl)
+ return pinvoke = Module.Read (this, (method, reader) => reader.ReadPInvokeInfo (method));
+
+ return null;
+ }
+ set {
+ IsPInvokeImpl = true;
+ pinvoke = value;
+ }
}
public bool HasOverrides {
- get { return (m_overrides == null) ? false : (m_overrides.Count > 0); }
+ get {
+ if (overrides != null)
+ return overrides.Count > 0;
+
+ if (HasImage)
+ return Module.Read (this, (method, reader) => reader.HasOverrides (method));
+
+ return false;
+ }
}
- public OverrideCollection Overrides {
+ public Collection<MethodReference> Overrides {
get {
- if (m_overrides == null)
- m_overrides = new OverrideCollection (this);
+ if (overrides != null)
+ return overrides;
- return m_overrides;
+ if (HasImage)
+ return overrides = Module.Read (this, (method, reader) => reader.ReadOverrides (method));
+
+ return overrides = new Collection<MethodReference> ();
+ }
+ }
+
+ public override bool HasGenericParameters {
+ get {
+ if (generic_parameters != null)
+ return generic_parameters.Count > 0;
+
+ return this.GetHasGenericParameters (Module);
}
}
- public ParameterDefinition This {
- get { return m_this; }
+ public override Collection<GenericParameter> GenericParameters {
+ get { return generic_parameters ?? (generic_parameters = this.GetGenericParameters (Module)); }
}
#region MethodAttributes
public bool IsCompilerControlled {
- get { return (m_attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Compilercontrolled; }
- set {
- if (value) {
- m_attributes &= ~MethodAttributes.MemberAccessMask;
- m_attributes |= MethodAttributes.Compilercontrolled;
- } else
- m_attributes &= ~(MethodAttributes.MemberAccessMask & MethodAttributes.Compilercontrolled);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) MethodAttributes.MemberAccessMask, (ushort) MethodAttributes.CompilerControlled); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) MethodAttributes.MemberAccessMask, (ushort) MethodAttributes.CompilerControlled, value); }
}
public bool IsPrivate {
- get { return (m_attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Private; }
- set {
- if (value) {
- m_attributes &= ~MethodAttributes.MemberAccessMask;
- m_attributes |= MethodAttributes.Private;
- } else
- m_attributes &= ~(MethodAttributes.MemberAccessMask & MethodAttributes.Private);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) MethodAttributes.MemberAccessMask, (ushort) MethodAttributes.Private); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) MethodAttributes.MemberAccessMask, (ushort) MethodAttributes.Private, value); }
}
public bool IsFamilyAndAssembly {
- get { return (m_attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.FamANDAssem; }
- set {
- if (value) {
- m_attributes &= ~MethodAttributes.MemberAccessMask;
- m_attributes |= MethodAttributes.FamANDAssem;
- } else
- m_attributes &= ~(MethodAttributes.MemberAccessMask & MethodAttributes.FamANDAssem);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) MethodAttributes.MemberAccessMask, (ushort) MethodAttributes.FamANDAssem); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) MethodAttributes.MemberAccessMask, (ushort) MethodAttributes.FamANDAssem, value); }
}
public bool IsAssembly {
- get { return (m_attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Assem; }
- set {
- if (value) {
- m_attributes &= ~MethodAttributes.MemberAccessMask;
- m_attributes |= MethodAttributes.Assem;
- } else
- m_attributes &= ~(MethodAttributes.MemberAccessMask & MethodAttributes.Assem);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) MethodAttributes.MemberAccessMask, (ushort) MethodAttributes.Assembly); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) MethodAttributes.MemberAccessMask, (ushort) MethodAttributes.Assembly, value); }
}
public bool IsFamily {
- get { return (m_attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Family; }
- set {
- if (value) {
- m_attributes &= ~MethodAttributes.MemberAccessMask;
- m_attributes |= MethodAttributes.Family;
- } else
- m_attributes &= ~(MethodAttributes.MemberAccessMask & MethodAttributes.Family);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) MethodAttributes.MemberAccessMask, (ushort) MethodAttributes.Family); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) MethodAttributes.MemberAccessMask, (ushort) MethodAttributes.Family, value); }
}
public bool IsFamilyOrAssembly {
- get { return (m_attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.FamORAssem; }
- set {
- if (value) {
- m_attributes &= ~MethodAttributes.MemberAccessMask;
- m_attributes |= MethodAttributes.FamORAssem;
- } else
- m_attributes &= ~(MethodAttributes.MemberAccessMask & MethodAttributes.FamORAssem);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) MethodAttributes.MemberAccessMask, (ushort) MethodAttributes.FamORAssem); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) MethodAttributes.MemberAccessMask, (ushort) MethodAttributes.FamORAssem, value); }
}
public bool IsPublic {
- get { return (m_attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Public; }
- set {
- if (value) {
- m_attributes &= ~MethodAttributes.MemberAccessMask;
- m_attributes |= MethodAttributes.Public;
- } else
- m_attributes &= ~(MethodAttributes.MemberAccessMask & MethodAttributes.Public);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) MethodAttributes.MemberAccessMask, (ushort) MethodAttributes.Public); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) MethodAttributes.MemberAccessMask, (ushort) MethodAttributes.Public, value); }
}
public bool IsStatic {
- get { return (m_attributes & MethodAttributes.Static) != 0; }
- set {
- if (value)
- m_attributes |= MethodAttributes.Static;
- else
- m_attributes &= ~MethodAttributes.Static;
- }
+ get { return attributes.GetAttributes ((ushort) MethodAttributes.Static); }
+ set { attributes = attributes.SetAttributes ((ushort) MethodAttributes.Static, value); }
}
public bool IsFinal {
- get { return (m_attributes & MethodAttributes.Final) != 0; }
- set {
- if (value)
- m_attributes |= MethodAttributes.Final;
- else
- m_attributes &= ~MethodAttributes.Final;
- }
+ get { return attributes.GetAttributes ((ushort) MethodAttributes.Final); }
+ set { attributes = attributes.SetAttributes ((ushort) MethodAttributes.Final, value); }
}
public bool IsVirtual {
- get { return (m_attributes & MethodAttributes.Virtual) != 0; }
- set {
- if (value)
- m_attributes |= MethodAttributes.Virtual;
- else
- m_attributes &= ~MethodAttributes.Virtual;
- }
+ get { return attributes.GetAttributes ((ushort) MethodAttributes.Virtual); }
+ set { attributes = attributes.SetAttributes ((ushort) MethodAttributes.Virtual, value); }
}
public bool IsHideBySig {
- get { return (m_attributes & MethodAttributes.HideBySig) != 0; }
- set {
- if (value)
- m_attributes |= MethodAttributes.HideBySig;
- else
- m_attributes &= ~MethodAttributes.HideBySig;
- }
+ get { return attributes.GetAttributes ((ushort) MethodAttributes.HideBySig); }
+ set { attributes = attributes.SetAttributes ((ushort) MethodAttributes.HideBySig, value); }
}
public bool IsReuseSlot {
- get { return (m_attributes & MethodAttributes.VtableLayoutMask) == MethodAttributes.ReuseSlot; }
- set {
- if (value) {
- m_attributes &= ~MethodAttributes.VtableLayoutMask;
- m_attributes |= MethodAttributes.ReuseSlot;
- } else
- m_attributes &= ~(MethodAttributes.VtableLayoutMask & MethodAttributes.ReuseSlot);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) MethodAttributes.VtableLayoutMask, (ushort) MethodAttributes.ReuseSlot); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) MethodAttributes.VtableLayoutMask, (ushort) MethodAttributes.ReuseSlot, value); }
}
public bool IsNewSlot {
- get { return (m_attributes & MethodAttributes.VtableLayoutMask) == MethodAttributes.NewSlot; }
- set {
- if (value) {
- m_attributes &= ~MethodAttributes.VtableLayoutMask;
- m_attributes |= MethodAttributes.NewSlot;
- } else
- m_attributes &= ~(MethodAttributes.VtableLayoutMask & MethodAttributes.NewSlot);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) MethodAttributes.VtableLayoutMask, (ushort) MethodAttributes.NewSlot); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) MethodAttributes.VtableLayoutMask, (ushort) MethodAttributes.NewSlot, value); }
}
- public bool IsStrict {
- get { return (m_attributes & MethodAttributes.Strict) != 0; }
- set {
- if (value)
- m_attributes |= MethodAttributes.Strict;
- else
- m_attributes &= ~MethodAttributes.Strict;
- }
+ public bool IsCheckAccessOnOverride {
+ get { return attributes.GetAttributes ((ushort) MethodAttributes.CheckAccessOnOverride); }
+ set { attributes = attributes.SetAttributes ((ushort) MethodAttributes.CheckAccessOnOverride, value); }
}
public bool IsAbstract {
- get { return (m_attributes & MethodAttributes.Abstract) != 0; }
- set {
- if (value)
- m_attributes |= MethodAttributes.Abstract;
- else
- m_attributes &= ~MethodAttributes.Abstract;
- }
+ get { return attributes.GetAttributes ((ushort) MethodAttributes.Abstract); }
+ set { attributes = attributes.SetAttributes ((ushort) MethodAttributes.Abstract, value); }
}
public bool IsSpecialName {
- get { return (m_attributes & MethodAttributes.SpecialName) != 0; }
- set {
- if (value)
- m_attributes |= MethodAttributes.SpecialName;
- else
- m_attributes &= ~MethodAttributes.SpecialName;
- }
+ get { return attributes.GetAttributes ((ushort) MethodAttributes.SpecialName); }
+ set { attributes = attributes.SetAttributes ((ushort) MethodAttributes.SpecialName, value); }
}
public bool IsPInvokeImpl {
- get { return (m_attributes & MethodAttributes.PInvokeImpl) != 0; }
- set {
- if (value)
- m_attributes |= MethodAttributes.PInvokeImpl;
- else
- m_attributes &= ~MethodAttributes.PInvokeImpl;
- }
+ get { return attributes.GetAttributes ((ushort) MethodAttributes.PInvokeImpl); }
+ set { attributes = attributes.SetAttributes ((ushort) MethodAttributes.PInvokeImpl, value); }
}
public bool IsUnmanagedExport {
- get { return (m_attributes & MethodAttributes.UnmanagedExport) != 0; }
- set {
- if (value)
- m_attributes |= MethodAttributes.UnmanagedExport;
- else
- m_attributes &= ~MethodAttributes.UnmanagedExport;
- }
+ get { return attributes.GetAttributes ((ushort) MethodAttributes.UnmanagedExport); }
+ set { attributes = attributes.SetAttributes ((ushort) MethodAttributes.UnmanagedExport, value); }
}
public bool IsRuntimeSpecialName {
- get { return (m_attributes & MethodAttributes.RTSpecialName) != 0; }
- set {
- if (value)
- m_attributes |= MethodAttributes.RTSpecialName;
- else
- m_attributes &= ~MethodAttributes.RTSpecialName;
- }
+ get { return attributes.GetAttributes ((ushort) MethodAttributes.RTSpecialName); }
+ set { attributes = attributes.SetAttributes ((ushort) MethodAttributes.RTSpecialName, value); }
}
public bool HasSecurity {
- get { return (m_attributes & MethodAttributes.HasSecurity) != 0; }
- set {
- if (value)
- m_attributes |= MethodAttributes.HasSecurity;
- else
- m_attributes &= ~MethodAttributes.HasSecurity;
- }
+ get { return attributes.GetAttributes ((ushort) MethodAttributes.HasSecurity); }
+ set { attributes = attributes.SetAttributes ((ushort) MethodAttributes.HasSecurity, value); }
}
#endregion
@@ -341,313 +318,159 @@ namespace Mono.Cecil {
#region MethodImplAttributes
public bool IsIL {
- get { return (m_implAttrs & MethodImplAttributes.CodeTypeMask) == MethodImplAttributes.IL; }
- set {
- if (value) {
- m_implAttrs &= ~MethodImplAttributes.CodeTypeMask;
- m_implAttrs |= MethodImplAttributes.IL;
- } else
- m_implAttrs &= ~(MethodImplAttributes.CodeTypeMask & MethodImplAttributes.IL);
- }
+ get { return impl_attributes.GetMaskedAttributes ((ushort) MethodImplAttributes.CodeTypeMask, (ushort) MethodImplAttributes.IL); }
+ set { impl_attributes = impl_attributes.SetMaskedAttributes ((ushort) MethodImplAttributes.CodeTypeMask, (ushort) MethodImplAttributes.IL, value); }
}
public bool IsNative {
- get { return (m_implAttrs & MethodImplAttributes.CodeTypeMask) == MethodImplAttributes.Native; }
- set {
- if (value) {
- m_implAttrs &= ~MethodImplAttributes.CodeTypeMask;
- m_implAttrs |= MethodImplAttributes.Native;
- } else
- m_implAttrs &= ~(MethodImplAttributes.CodeTypeMask & MethodImplAttributes.Native);
- }
+ get { return impl_attributes.GetMaskedAttributes ((ushort) MethodImplAttributes.CodeTypeMask, (ushort) MethodImplAttributes.Native); }
+ set { impl_attributes = impl_attributes.SetMaskedAttributes ((ushort) MethodImplAttributes.CodeTypeMask, (ushort) MethodImplAttributes.Native, value); }
}
public bool IsRuntime {
- get { return (m_implAttrs & MethodImplAttributes.CodeTypeMask) == MethodImplAttributes.Runtime; }
- set {
- if (value) {
- m_implAttrs &= ~MethodImplAttributes.CodeTypeMask;
- m_implAttrs |= MethodImplAttributes.Runtime;
- } else
- m_implAttrs &= ~(MethodImplAttributes.CodeTypeMask & MethodImplAttributes.Runtime);
- }
+ get { return impl_attributes.GetMaskedAttributes ((ushort) MethodImplAttributes.CodeTypeMask, (ushort) MethodImplAttributes.Runtime); }
+ set { impl_attributes = impl_attributes.SetMaskedAttributes ((ushort) MethodImplAttributes.CodeTypeMask, (ushort) MethodImplAttributes.Runtime, value); }
}
public bool IsUnmanaged {
- get { return (m_implAttrs & MethodImplAttributes.ManagedMask) == MethodImplAttributes.Unmanaged; }
- set {
- if (value) {
- m_implAttrs &= ~MethodImplAttributes.ManagedMask;
- m_implAttrs |= MethodImplAttributes.Unmanaged;
- } else
- m_implAttrs &= ~(MethodImplAttributes.ManagedMask & MethodImplAttributes.Unmanaged);
- }
+ get { return impl_attributes.GetMaskedAttributes ((ushort) MethodImplAttributes.ManagedMask, (ushort) MethodImplAttributes.Unmanaged); }
+ set { impl_attributes = impl_attributes.SetMaskedAttributes ((ushort) MethodImplAttributes.ManagedMask, (ushort) MethodImplAttributes.Unmanaged, value); }
}
public bool IsManaged {
- get { return (m_implAttrs & MethodImplAttributes.ManagedMask) == MethodImplAttributes.Managed; }
- set {
- if (value) {
- m_implAttrs &= ~MethodImplAttributes.ManagedMask;
- m_implAttrs |= MethodImplAttributes.Managed;
- } else
- m_implAttrs &= ~(MethodImplAttributes.ManagedMask & MethodImplAttributes.Managed);
- }
+ get { return impl_attributes.GetMaskedAttributes ((ushort) MethodImplAttributes.ManagedMask, (ushort) MethodImplAttributes.Managed); }
+ set { impl_attributes = impl_attributes.SetMaskedAttributes ((ushort) MethodImplAttributes.ManagedMask, (ushort) MethodImplAttributes.Managed, value); }
}
public bool IsForwardRef {
- get { return (m_implAttrs & MethodImplAttributes.ForwardRef) != 0; }
- set {
- if (value)
- m_implAttrs |= MethodImplAttributes.ForwardRef;
- else
- m_implAttrs &= ~MethodImplAttributes.ForwardRef;
- }
+ get { return impl_attributes.GetAttributes ((ushort) MethodImplAttributes.ForwardRef); }
+ set { impl_attributes = impl_attributes.SetAttributes ((ushort) MethodImplAttributes.ForwardRef, value); }
}
public bool IsPreserveSig {
- get { return (m_implAttrs & MethodImplAttributes.PreserveSig) != 0; }
- set {
- if (value)
- m_implAttrs |= MethodImplAttributes.PreserveSig;
- else
- m_implAttrs &= ~MethodImplAttributes.PreserveSig;
- }
+ get { return impl_attributes.GetAttributes ((ushort) MethodImplAttributes.PreserveSig); }
+ set { impl_attributes = impl_attributes.SetAttributes ((ushort) MethodImplAttributes.PreserveSig, value); }
}
public bool IsInternalCall {
- get { return (m_implAttrs & MethodImplAttributes.InternalCall) != 0; }
- set {
- if (value)
- m_implAttrs |= MethodImplAttributes.InternalCall;
- else
- m_implAttrs &= ~MethodImplAttributes.InternalCall;
- }
+ get { return impl_attributes.GetAttributes ((ushort) MethodImplAttributes.InternalCall); }
+ set { impl_attributes = impl_attributes.SetAttributes ((ushort) MethodImplAttributes.InternalCall, value); }
}
public bool IsSynchronized {
- get { return (m_implAttrs & MethodImplAttributes.Synchronized) != 0; }
- set {
- if (value)
- m_implAttrs |= MethodImplAttributes.Synchronized;
- else
- m_implAttrs &= ~MethodImplAttributes.Synchronized;
- }
+ get { return impl_attributes.GetAttributes ((ushort) MethodImplAttributes.Synchronized); }
+ set { impl_attributes = impl_attributes.SetAttributes ((ushort) MethodImplAttributes.Synchronized, value); }
}
public bool NoInlining {
- get { return (m_implAttrs & MethodImplAttributes.NoInlining) != 0; }
- set {
- if (value)
- m_implAttrs |= MethodImplAttributes.NoInlining;
- else
- m_implAttrs &= ~MethodImplAttributes.NoInlining;
- }
+ get { return impl_attributes.GetAttributes ((ushort) MethodImplAttributes.NoInlining); }
+ set { impl_attributes = impl_attributes.SetAttributes ((ushort) MethodImplAttributes.NoInlining, value); }
+ }
+
+ public bool NoOptimization {
+ get { return impl_attributes.GetAttributes ((ushort) MethodImplAttributes.NoOptimization); }
+ set { impl_attributes = impl_attributes.SetAttributes ((ushort) MethodImplAttributes.NoOptimization, value); }
}
#endregion
#region MethodSemanticsAttributes
+
public bool IsSetter {
- get { return (m_semAttrs & MethodSemanticsAttributes.Setter) != 0; }
- set {
- if (value)
- m_semAttrs |= MethodSemanticsAttributes.Setter;
- else
- m_semAttrs &= ~MethodSemanticsAttributes.Setter;
- }
+ get { return this.GetSemantics (MethodSemanticsAttributes.Setter); }
+ set { this.SetSemantics (MethodSemanticsAttributes.Setter, value); }
}
public bool IsGetter {
- get { return (m_semAttrs & MethodSemanticsAttributes.Getter) != 0; }
- set {
- if (value)
- m_semAttrs |= MethodSemanticsAttributes.Getter;
- else
- m_semAttrs &= ~MethodSemanticsAttributes.Getter;
- }
+ get { return this.GetSemantics (MethodSemanticsAttributes.Getter); }
+ set { this.SetSemantics (MethodSemanticsAttributes.Getter, value); }
}
public bool IsOther {
- get { return (m_semAttrs & MethodSemanticsAttributes.Other) != 0; }
- set {
- if (value)
- m_semAttrs |= MethodSemanticsAttributes.Other;
- else
- m_semAttrs &= ~MethodSemanticsAttributes.Other;
- }
+ get { return this.GetSemantics (MethodSemanticsAttributes.Other); }
+ set { this.SetSemantics (MethodSemanticsAttributes.Other, value); }
}
public bool IsAddOn {
- get { return (m_semAttrs & MethodSemanticsAttributes.AddOn) != 0; }
- set {
- if (value)
- m_semAttrs |= MethodSemanticsAttributes.AddOn;
- else
- m_semAttrs &= ~MethodSemanticsAttributes.AddOn;
- }
+ get { return this.GetSemantics (MethodSemanticsAttributes.AddOn); }
+ set { this.SetSemantics (MethodSemanticsAttributes.AddOn, value); }
}
public bool IsRemoveOn {
- get { return (m_semAttrs & MethodSemanticsAttributes.RemoveOn) != 0; }
- set {
- if (value)
- m_semAttrs |= MethodSemanticsAttributes.RemoveOn;
- else
- m_semAttrs &= ~MethodSemanticsAttributes.RemoveOn;
- }
+ get { return this.GetSemantics (MethodSemanticsAttributes.RemoveOn); }
+ set { this.SetSemantics (MethodSemanticsAttributes.RemoveOn, value); }
}
public bool IsFire {
- get { return (m_semAttrs & MethodSemanticsAttributes.Fire) != 0; }
- set {
- if (value)
- m_semAttrs |= MethodSemanticsAttributes.Fire;
- else
- m_semAttrs &= ~MethodSemanticsAttributes.Fire;
- }
+ get { return this.GetSemantics (MethodSemanticsAttributes.Fire); }
+ set { this.SetSemantics (MethodSemanticsAttributes.Fire, value); }
}
#endregion
- public bool IsConstructor {
- get {
- return this.IsRuntimeSpecialName && this.IsSpecialName &&
- (this.Name == Cctor || this.Name == Ctor);
- }
- }
-
- public bool HasBody {
- get {
- return (m_attributes & MethodAttributes.Abstract) == 0 &&
- (m_attributes & MethodAttributes.PInvokeImpl) == 0 &&
- (m_implAttrs & MethodImplAttributes.InternalCall) == 0 &&
- (m_implAttrs & MethodImplAttributes.Native) == 0 &&
- (m_implAttrs & MethodImplAttributes.Unmanaged) == 0 &&
- (m_implAttrs & MethodImplAttributes.Runtime) == 0;
- }
- }
-
public new TypeDefinition DeclaringType {
get { return (TypeDefinition) base.DeclaringType; }
set { base.DeclaringType = value; }
}
- public MethodDefinition (string name, RVA rva,
- MethodAttributes attrs, MethodImplAttributes implAttrs,
- bool hasThis, bool explicitThis, MethodCallingConvention callConv) :
- base (name, hasThis, explicitThis, callConv)
- {
- m_rva = rva;
- m_attributes = attrs;
- m_implAttrs = implAttrs;
-
- if (!IsStatic)
- m_this = new ParameterDefinition ("this", 0, (ParameterAttributes) 0, null);
+ public bool IsConstructor {
+ get {
+ return this.IsRuntimeSpecialName
+ && this.IsSpecialName
+ && (this.Name == ".cctor" || this.Name == ".ctor");
+ }
}
- internal MethodDefinition (string name, MethodAttributes attrs) : base (name)
- {
- m_attributes = attrs;
-
- this.HasThis = !this.IsStatic;
- if (!IsStatic)
- m_this = new ParameterDefinition ("this", 0, (ParameterAttributes) 0, null);
+ public override bool IsDefinition {
+ get { return true; }
}
- public MethodDefinition (string name, MethodAttributes attrs, TypeReference returnType) :
- this (name, attrs)
+ internal MethodDefinition ()
{
- this.ReturnType.ReturnType = returnType;
+ this.token = new MetadataToken (TokenType.Method);
}
- internal void LoadBody ()
+ public MethodDefinition (string name, MethodAttributes attributes, TypeReference returnType)
+ : base (name, returnType)
{
- if (m_body == null && this.HasBody) {
- m_body = new MethodBody (this);
-
- ModuleDefinition module = DeclaringType != null ? DeclaringType.Module : null;
-
- if (module != null && m_rva != RVA.Zero)
- module.Controller.Reader.Code.VisitMethodBody (m_body);
- }
+ this.attributes = (ushort) attributes;
+ this.HasThis = !this.IsStatic;
+ this.token = new MetadataToken (TokenType.Method);
}
public override MethodDefinition Resolve ()
{
return this;
}
+ }
- public MethodDefinition Clone ()
- {
- return Clone (this, new ImportContext (NullReferenceImporter.Instance, this));
- }
+ static partial class Mixin {
- internal static MethodDefinition Clone (MethodDefinition meth, ImportContext context)
+ public static ParameterDefinition GetParameter (this MethodBody self, int index)
{
- MethodDefinition nm = new MethodDefinition (
- meth.Name,
- RVA.Zero,
- meth.Attributes,
- meth.ImplAttributes,
- meth.HasThis,
- meth.ExplicitThis,
- meth.CallingConvention);
-
- MethodReference contextMethod = context.GenericContext.Method;
-
- context.GenericContext.Method = nm;
-
- GenericParameter.CloneInto (meth, nm, context);
-
- nm.ReturnType.ReturnType = context.Import (meth.ReturnType.ReturnType);
-
- if (meth.ReturnType.Parameter != null) {
- nm.ReturnType.Parameter = ParameterDefinition.Clone (meth.ReturnType.Parameter, context);
- nm.ReturnType.Parameter.Method = nm;
- }
+ var method = self.method;
- if (meth.PInvokeInfo != null)
- nm.PInvokeInfo = meth.PInvokeInfo; // TODO: import module ?
+ if (method.HasThis) {
+ if (index == 0)
+ return self.ThisParameter;
- if (meth.HasParameters) {
- foreach (ParameterDefinition param in meth.Parameters)
- nm.Parameters.Add (ParameterDefinition.Clone (param, context));
- }
- if (meth.HasOverrides) {
- foreach (MethodReference ov in meth.Overrides)
- nm.Overrides.Add (context.Import (ov));
- }
- if (meth.HasCustomAttributes) {
- foreach (CustomAttribute ca in meth.CustomAttributes)
- nm.CustomAttributes.Add (CustomAttribute.Clone (ca, context));
+ index--;
}
- if (meth.HasSecurityDeclarations) {
- foreach (SecurityDeclaration sec in meth.SecurityDeclarations)
- nm.SecurityDeclarations.Add (SecurityDeclaration.Clone (sec));
- }
-
- if (meth.Body != null)
- nm.Body = MethodBody.Clone (meth.Body, nm, context);
- context.GenericContext.Method = contextMethod;
-
- return nm;
+ return method.Parameters [index];
}
- public override void Accept (IReflectionVisitor visitor)
+ public static bool GetSemantics (this MethodDefinition self, MethodSemanticsAttributes semantics)
{
- visitor.VisitMethodDefinition (this);
-
- this.GenericParameters.Accept (visitor);
- this.Parameters.Accept (visitor);
-
- if (this.PInvokeInfo != null)
- this.PInvokeInfo.Accept (visitor);
+ return (self.SemanticsAttributes & semantics) != 0;
+ }
- this.SecurityDeclarations.Accept (visitor);
- this.Overrides.Accept (visitor);
- this.CustomAttributes.Accept (visitor);
+ public static void SetSemantics (this MethodDefinition self, MethodSemanticsAttributes semantics, bool value)
+ {
+ if (value)
+ self.SemanticsAttributes |= semantics;
+ else
+ self.SemanticsAttributes &= ~semantics;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/MethodDefinitionCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/MethodDefinitionCollection.cs
deleted file mode 100644
index ec0b1dee948..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/MethodDefinitionCollection.cs
+++ /dev/null
@@ -1,185 +0,0 @@
-//
-// MethodDefinitionCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Fri Mar 30 18:43:56 +0200 2007
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class MethodDefinitionCollection : CollectionBase, IReflectionVisitable {
-
- TypeDefinition m_container;
-
- public MethodDefinition this [int index] {
- get { return List [index] as MethodDefinition; }
- set { List [index] = value; }
- }
-
- public TypeDefinition Container {
- get { return m_container; }
- }
-
- public MethodDefinitionCollection (TypeDefinition container)
- {
- m_container = container;
- }
-
- public void Add (MethodDefinition value)
- {
- Attach (value);
-
- List.Add (value);
- }
-
-
- public new void Clear ()
- {
- foreach (MethodDefinition item in this)
- Detach (item);
-
- base.Clear ();
- }
-
- public bool Contains (MethodDefinition value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (MethodDefinition value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, MethodDefinition value)
- {
- Attach (value);
-
- List.Insert (index, value);
- }
-
- public void Remove (MethodDefinition value)
- {
- List.Remove (value);
-
- Detach (value);
- }
-
-
- public new void RemoveAt (int index)
- {
- MethodDefinition item = this [index];
- Remove (item);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is MethodDefinition))
- throw new ArgumentException ("Must be of type " + typeof (MethodDefinition).FullName);
- }
-
- public MethodDefinition [] GetMethod (string name)
- {
- ArrayList ret = new ArrayList ();
- foreach (MethodDefinition meth in this)
- if (meth.Name == name)
- ret.Add (meth);
-
- return ret.ToArray (typeof (MethodDefinition)) as MethodDefinition [];
- }
-
- internal MethodDefinition GetMethodInternal (string name, IList parameters)
- {
- foreach (MethodDefinition meth in this) {
- if (meth.Name != name || meth.Parameters.Count != parameters.Count)
- continue;
-
- bool match = true;
- for (int i = 0; i < parameters.Count; i++) {
- string pname;
- object param = parameters [i];
- if (param is Type)
- pname = ReflectionHelper.GetTypeSignature (param as Type);
- else if (param is TypeReference)
- pname = (param as TypeReference).FullName;
- else if (param is ParameterDefinition)
- pname = (param as ParameterDefinition).ParameterType.FullName;
- else
- throw new NotSupportedException ();
-
- if (meth.Parameters [i].ParameterType.FullName != pname) {
- match = false;
- break;
- }
- }
-
- if (match)
- return meth;
- }
-
- return null;
- }
-
- public MethodDefinition GetMethod (string name, Type [] parameters)
- {
- return GetMethodInternal (name, parameters);
- }
-
- public MethodDefinition GetMethod (string name, TypeReference [] parameters)
- {
- return GetMethodInternal (name, parameters);
- }
-
- public MethodDefinition GetMethod (string name, ParameterDefinitionCollection parameters)
- {
- return GetMethodInternal (name, parameters);
- }
-
- void Attach (MemberReference member)
- {
- if (member.DeclaringType != null)
- throw new ReflectionException ("Member already attached, clone it instead");
-
- member.DeclaringType = m_container;
- }
-
- void Detach (MemberReference member)
- {
- member.DeclaringType = null;
- }
-
- public void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitMethodDefinitionCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/MethodImplAttributes.cs b/mcs/class/Mono.Cecil/Mono.Cecil/MethodImplAttributes.cs
index ed701186bd7..8a2b422cc7b 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/MethodImplAttributes.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/MethodImplAttributes.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,9 +26,9 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
- using System;
+namespace Mono.Cecil {
[Flags]
public enum MethodImplAttributes : ushort {
@@ -47,6 +47,7 @@ namespace Mono.Cecil {
PreserveSig = 0x0080, // Reserved: conforming implementations may ignore
InternalCall = 0x1000, // Reserved: shall be zero in conforming implementations
Synchronized = 0x0020, // Method is single threaded through the body
+ NoOptimization = 0x0040, // Method is not optimized by the JIT.
NoInlining = 0x0008, // Method may not be inlined
MaxMethodImplVal = 0xffff // Range check value
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/MethodReference.cs b/mcs/class/Mono.Cecil/Mono.Cecil/MethodReference.cs
index 1e713bc631b..1ea47a09074 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/MethodReference.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/MethodReference.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 - 2007 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,133 +26,189 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
+using System.Text;
+
+using Mono.Collections.Generic;
- using System.Text;
+namespace Mono.Cecil {
- public class MethodReference : MemberReference, IMethodSignature, IGenericParameterProvider {
+ public class MethodReference : MemberReference, IMethodSignature, IGenericParameterProvider, IGenericContext {
- ParameterDefinitionCollection m_parameters;
- MethodReturnType m_returnType;
+ internal ParameterDefinitionCollection parameters;
+ MethodReturnType return_type;
- bool m_hasThis;
- bool m_explicitThis;
- MethodCallingConvention m_callConv;
- GenericParameterCollection m_genparams;
+ bool has_this;
+ bool explicit_this;
+ MethodCallingConvention calling_convention;
+ internal Collection<GenericParameter> generic_parameters;
public virtual bool HasThis {
- get { return m_hasThis; }
- set { m_hasThis = value; }
+ get { return has_this; }
+ set { has_this = value; }
}
public virtual bool ExplicitThis {
- get { return m_explicitThis; }
- set { m_explicitThis = value; }
+ get { return explicit_this; }
+ set { explicit_this = value; }
}
public virtual MethodCallingConvention CallingConvention {
- get { return m_callConv; }
- set { m_callConv = value; }
+ get { return calling_convention; }
+ set { calling_convention = value; }
}
public virtual bool HasParameters {
- get { return (m_parameters == null) ? false : (m_parameters.Count > 0); }
+ get { return !parameters.IsNullOrEmpty (); }
+ }
+
+ public virtual Collection<ParameterDefinition> Parameters {
+ get {
+ if (parameters == null)
+ parameters = new ParameterDefinitionCollection (this);
+
+ return parameters;
+ }
}
- public virtual ParameterDefinitionCollection Parameters {
+ IGenericParameterProvider IGenericContext.Type {
get {
- if (m_parameters == null)
- m_parameters = new ParameterDefinitionCollection (this);
- return m_parameters;
+ var declaring_type = this.DeclaringType;
+ var instance = declaring_type as GenericInstanceType;
+ if (instance != null)
+ return instance.ElementType;
+
+ return declaring_type;
}
}
- public bool HasGenericParameters {
- get { return (m_genparams == null) ? false : (m_genparams.Count > 0); }
+ IGenericParameterProvider IGenericContext.Method {
+ get { return this; }
+ }
+
+ GenericParameterType IGenericParameterProvider.GenericParameterType {
+ get { return GenericParameterType.Method; }
+ }
+
+ public virtual bool HasGenericParameters {
+ get { return !generic_parameters.IsNullOrEmpty (); }
}
- public GenericParameterCollection GenericParameters {
+ public virtual Collection<GenericParameter> GenericParameters {
get {
- if (m_genparams == null)
- m_genparams = new GenericParameterCollection (this);
- return m_genparams;
+ if (generic_parameters != null)
+ return generic_parameters;
+
+ return generic_parameters = new Collection<GenericParameter> ();
}
}
- public virtual MethodReturnType ReturnType {
- get { return m_returnType;}
- set { m_returnType = value; }
+ public TypeReference ReturnType {
+ get {
+ var return_type = MethodReturnType;
+ return return_type != null ? return_type.ReturnType : null;
+ }
+ set {
+ var return_type = MethodReturnType;
+ if (return_type != null)
+ return_type.ReturnType = value;
+ }
}
- internal MethodReference (string name, bool hasThis,
- bool explicitThis, MethodCallingConvention callConv) : this (name)
- {
- m_parameters = new ParameterDefinitionCollection (this);
- m_hasThis = hasThis;
- m_explicitThis = explicitThis;
- m_callConv = callConv;
+ public virtual MethodReturnType MethodReturnType {
+ get { return return_type; }
+ set { return_type = value; }
+ }
+
+ public override string FullName {
+ get {
+ var builder = new StringBuilder ();
+ builder.Append (ReturnType.FullName);
+ builder.Append (" ");
+ builder.Append (MemberFullName ());
+ this.MethodSignatureFullName (builder);
+ return builder.ToString ();
+ }
+ }
+
+ public virtual bool IsGenericInstance {
+ get { return false; }
}
- internal MethodReference (string name) : base (name)
+ internal override bool ContainsGenericParameter {
+ get {
+ if (this.ReturnType.ContainsGenericParameter || base.ContainsGenericParameter)
+ return true;
+
+ var parameters = this.Parameters;
+
+ for (int i = 0; i < parameters.Count; i++)
+ if (parameters [i].ParameterType.ContainsGenericParameter)
+ return true;
+
+ return false;
+ }
+ }
+
+ internal MethodReference ()
{
- m_returnType = new MethodReturnType (null);
+ this.return_type = new MethodReturnType (this);
+ this.token = new MetadataToken (TokenType.MemberRef);
}
- public MethodReference (string name,
- TypeReference declaringType, TypeReference returnType,
- bool hasThis, bool explicitThis, MethodCallingConvention callConv) :
- this (name, hasThis, explicitThis, callConv)
+ public MethodReference (string name, TypeReference returnType)
+ : base (name)
{
- this.DeclaringType = declaringType;
- this.ReturnType.ReturnType = returnType;
+ if (returnType == null)
+ throw new ArgumentNullException ("returnType");
+
+ this.return_type = new MethodReturnType (this);
+ this.return_type.ReturnType = returnType;
+ this.token = new MetadataToken (TokenType.MemberRef);
}
- public virtual MethodDefinition Resolve ()
+ public MethodReference (string name, TypeReference returnType, TypeReference declaringType)
+ : this (name, returnType)
{
- TypeReference declaringType = DeclaringType;
if (declaringType == null)
- return null;
+ throw new ArgumentNullException ("declaringType");
- return declaringType.Module.Resolver.Resolve (this);
+ this.DeclaringType = declaringType;
}
- public virtual MethodReference GetOriginalMethod ()
+ public virtual MethodReference GetElementMethod ()
{
return this;
}
- public int GetSentinel ()
+ public virtual MethodDefinition Resolve ()
+ {
+ var module = this.Module;
+ if (module == null)
+ throw new NotSupportedException ();
+
+ return module.Resolve (this);
+ }
+ }
+
+ static partial class Mixin {
+
+ public static bool IsVarArg (this IMethodSignature self)
{
- if (HasParameters) {
- for (int i = 0; i < Parameters.Count; i++)
- if (Parameters [i].ParameterType is SentinelType)
- return i;
- }
- return -1;
+ return (self.CallingConvention & MethodCallingConvention.VarArg) != 0;
}
- public override string ToString ()
+ public static int GetSentinelPosition (this IMethodSignature self)
{
- int sentinel = GetSentinel ();
-
- StringBuilder sb = new StringBuilder ();
- sb.Append (m_returnType.ReturnType.FullName);
- sb.Append (" ");
- sb.Append (base.ToString ());
- sb.Append ("(");
- if (this.HasParameters) {
- for (int i = 0; i < this.Parameters.Count; i++) {
- if (i > 0)
- sb.Append (",");
-
- if (i == sentinel)
- sb.Append ("...,");
-
- sb.Append (this.Parameters [i].ParameterType.FullName);
- }
- }
- sb.Append (")");
- return sb.ToString ();
+ if (!self.HasParameters)
+ return -1;
+
+ var parameters = self.Parameters;
+ for (int i = 0; i < parameters.Count; i++)
+ if (parameters [i].ParameterType.IsSentinel)
+ return i;
+
+ return -1;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/MethodReturnType.cs b/mcs/class/Mono.Cecil/Mono.Cecil/MethodReturnType.cs
index b63ebbcc16d..4b571f3ff15 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/MethodReturnType.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/MethodReturnType.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,39 +26,28 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-using System;
-
-using Mono.Cecil.Metadata;
+using Mono.Collections.Generic;
namespace Mono.Cecil {
- public sealed class MethodReturnType : ICustomAttributeProvider, IHasMarshalSpec, IHasConstant {
-
- MethodReference m_method;
- ParameterDefinition m_param;
+ public sealed class MethodReturnType : IConstantProvider, ICustomAttributeProvider, IMarshalInfoProvider {
- TypeReference m_returnType;
+ internal IMethodSignature method;
+ internal ParameterDefinition parameter;
+ TypeReference return_type;
- public MethodReference Method {
- get { return m_method; }
- set { m_method = value; }
+ public IMethodSignature Method {
+ get { return method; }
}
public TypeReference ReturnType {
- get { return m_returnType; }
- set { m_returnType = value; }
+ get { return return_type; }
+ set { return_type = value; }
}
internal ParameterDefinition Parameter {
- get {
- if (m_param == null) {
- m_param = new ParameterDefinition (m_returnType);
- m_param.Method = m_method;
- }
-
- return m_param;
- }
- set { m_param = value; }
+ get { return parameter ?? (parameter = new ParameterDefinition (return_type)); }
+ set { parameter = value; }
}
public MetadataToken MetadataToken {
@@ -67,15 +56,20 @@ namespace Mono.Cecil {
}
public bool HasCustomAttributes {
- get { return m_param != null && m_param.HasCustomAttributes; }
+ get { return parameter != null && parameter.HasCustomAttributes; }
}
- public CustomAttributeCollection CustomAttributes {
+ public Collection<CustomAttribute> CustomAttributes {
get { return Parameter.CustomAttributes; }
}
+ public bool HasDefault {
+ get { return parameter != null && parameter.HasDefault; }
+ set { Parameter.HasDefault = value; }
+ }
+
public bool HasConstant {
- get { return m_param != null && m_param.HasConstant; }
+ get { return parameter != null && parameter.HasConstant; }
}
public object Constant {
@@ -83,19 +77,23 @@ namespace Mono.Cecil {
set { Parameter.Constant = value; }
}
- public MarshalSpec MarshalSpec {
- get { return Parameter.MarshalSpec; }
- set { Parameter.MarshalSpec = value; }
+ public bool HasFieldMarshal {
+ get { return parameter != null && parameter.HasFieldMarshal; }
+ set { Parameter.HasFieldMarshal = value; }
}
- public MethodReturnType (TypeReference retType)
- {
- m_returnType = retType;
+ public bool HasMarshalInfo {
+ get { return parameter != null && parameter.HasMarshalInfo; }
+ }
+
+ public MarshalInfo MarshalInfo {
+ get { return Parameter.MarshalInfo; }
+ set { Parameter.MarshalInfo = value; }
}
- public override string ToString ()
+ public MethodReturnType (IMethodSignature method)
{
- return String.Format ("[return: {0}]", m_returnType);
+ this.method = method;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/MethodSemanticsAttributes.cs b/mcs/class/Mono.Cecil/Mono.Cecil/MethodSemanticsAttributes.cs
index 6db44b5c8cb..f44a3fa8126 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/MethodSemanticsAttributes.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/MethodSemanticsAttributes.cs
@@ -1,10 +1,10 @@
//
-// MethodSemanticsAttributes.cs
+// MethodSemanticsattributes.cs
//
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,12 +26,13 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
- using System;
+namespace Mono.Cecil {
[Flags]
public enum MethodSemanticsAttributes : ushort {
+ None = 0x0000,
Setter = 0x0001, // Setter for property
Getter = 0x0002, // Getter for property
Other = 0x0004, // Other method for property or event
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/MethodSpecification.cs b/mcs/class/Mono.Cecil/Mono.Cecil/MethodSpecification.cs
index 31b45bb1208..e907d6cc005 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/MethodSpecification.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/MethodSpecification.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,65 +26,78 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
+
+using Mono.Collections.Generic;
- using System;
+namespace Mono.Cecil {
public abstract class MethodSpecification : MethodReference {
- MethodReference m_elementMethod;
+ readonly MethodReference method;
public MethodReference ElementMethod {
- get { return m_elementMethod; }
- set { m_elementMethod = value; }
+ get { return method; }
}
public override string Name {
- get { return m_elementMethod.Name; }
+ get { return method.Name; }
set { throw new InvalidOperationException (); }
}
public override MethodCallingConvention CallingConvention {
- get { return m_elementMethod.CallingConvention; }
+ get { return method.CallingConvention; }
set { throw new InvalidOperationException (); }
}
public override bool HasThis {
- get { return m_elementMethod.HasThis; }
+ get { return method.HasThis; }
set { throw new InvalidOperationException (); }
}
public override bool ExplicitThis {
- get { return m_elementMethod.ExplicitThis; }
+ get { return method.ExplicitThis; }
set { throw new InvalidOperationException (); }
}
- public override MethodReturnType ReturnType {
- get { return m_elementMethod.ReturnType; }
+ public override MethodReturnType MethodReturnType {
+ get { return method.MethodReturnType; }
set { throw new InvalidOperationException (); }
}
public override TypeReference DeclaringType {
- get { return m_elementMethod.DeclaringType; }
+ get { return method.DeclaringType; }
set { throw new InvalidOperationException (); }
}
+ public override ModuleDefinition Module {
+ get { return method.Module; }
+ }
+
public override bool HasParameters {
- get { return m_elementMethod.HasParameters; }
+ get { return method.HasParameters; }
+ }
+
+ public override Collection<ParameterDefinition> Parameters {
+ get { return method.Parameters; }
}
- public override ParameterDefinitionCollection Parameters {
- get { return m_elementMethod.Parameters; }
+ internal override bool ContainsGenericParameter {
+ get { return method.ContainsGenericParameter; }
}
- internal MethodSpecification (MethodReference elemMethod) : base (string.Empty)
+ internal MethodSpecification (MethodReference method)
{
- m_elementMethod = elemMethod;
+ if (method == null)
+ throw new ArgumentNullException ("method");
+
+ this.method = method;
+ this.token = new MetadataToken (TokenType.MethodSpec);
}
- public override MethodReference GetOriginalMethod()
+ public sealed override MethodReference GetElementMethod ()
{
- return m_elementMethod.GetOriginalMethod ();
+ return method.GetElementMethod ();
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/Modifiers.cs b/mcs/class/Mono.Cecil/Mono.Cecil/Modifiers.cs
index 70076365ee9..f7ff611acbb 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/Modifiers.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/Modifiers.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,62 +26,112 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+
+using MD = Mono.Cecil.Metadata;
+
namespace Mono.Cecil {
- public abstract class ModType : TypeSpecification {
+ public interface IModifierType {
+ TypeReference ModifierType { get; }
+ TypeReference ElementType { get; }
+ }
+
+ public sealed class OptionalModifierType : TypeSpecification, IModifierType {
- TypeReference m_modifierType;
+ TypeReference modifier_type;
public TypeReference ModifierType {
- get { return m_modifierType; }
- set { m_modifierType = value; }
+ get { return modifier_type; }
+ set { modifier_type = value; }
}
- public override string Name
- {
- get { return string.Concat (base.Name, Suffix ()); }
+ public override string Name {
+ get { return base.Name + Suffix; }
}
- public override string FullName
- {
- get { return string.Concat (base.FullName, Suffix ()); }
+ public override string FullName {
+ get { return base.FullName + Suffix; }
}
- string Suffix ()
- {
- return string.Concat (" ", ModifierName, "(", this.ModifierType.FullName, ")");
+ string Suffix {
+ get { return " modopt(" + modifier_type + ")"; }
}
- protected abstract string ModifierName {
- get;
+ public override bool IsValueType {
+ get { return false; }
+ set { throw new InvalidOperationException (); }
}
- public ModType (TypeReference elemType, TypeReference modType) : base (elemType)
+ public override bool IsOptionalModifier {
+ get { return true; }
+ }
+
+ internal override bool ContainsGenericParameter {
+ get { return modifier_type.ContainsGenericParameter || base.ContainsGenericParameter; }
+ }
+
+ public OptionalModifierType (TypeReference modifierType, TypeReference type)
+ : base (type)
{
- m_modifierType = modType;
+ Mixin.CheckModifier (modifierType, type);
+ this.modifier_type = modifierType;
+ this.etype = MD.ElementType.CModOpt;
}
}
- public sealed class ModifierOptional : ModType {
+ public sealed class RequiredModifierType : TypeSpecification, IModifierType {
- protected override string ModifierName {
- get { return "modopt"; }
+ TypeReference modifier_type;
+
+ public TypeReference ModifierType {
+ get { return modifier_type; }
+ set { modifier_type = value; }
}
- public ModifierOptional (TypeReference elemType, TypeReference modType) : base (elemType, modType)
- {
+ public override string Name {
+ get { return base.Name + Suffix; }
}
- }
+ public override string FullName {
+ get { return base.FullName + Suffix; }
+ }
+
+ string Suffix {
+ get { return " modreq(" + modifier_type + ")"; }
+ }
- public sealed class ModifierRequired : ModType {
+ public override bool IsValueType {
+ get { return false; }
+ set { throw new InvalidOperationException (); }
+ }
+
+ public override bool IsRequiredModifier {
+ get { return true; }
+ }
- protected override string ModifierName {
- get { return "modreq"; }
+ internal override bool ContainsGenericParameter {
+ get { return modifier_type.ContainsGenericParameter || base.ContainsGenericParameter; }
}
- public ModifierRequired (TypeReference elemType, TypeReference modType) : base (elemType, modType)
+ public RequiredModifierType (TypeReference modifierType, TypeReference type)
+ : base (type)
+ {
+ Mixin.CheckModifier (modifierType, type);
+ this.modifier_type = modifierType;
+ this.etype = MD.ElementType.CModReqD;
+ }
+
+ }
+
+ static partial class Mixin {
+
+ public static void CheckModifier (TypeReference modifierType, TypeReference type)
{
+ if (modifierType == null)
+ throw new ArgumentNullException ("modifierType");
+ if (type == null)
+ throw new ArgumentNullException ("type");
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ModuleDefinition.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ModuleDefinition.cs
index d4f7d0b2074..7c793f5a250 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ModuleDefinition.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/ModuleDefinition.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,576 +26,940 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+using System.Collections.Generic;
+using System.IO;
+using SR = System.Reflection;
+
+using Mono.Cecil.Cil;
+using Mono.Cecil.Metadata;
+using Mono.Cecil.PE;
+using Mono.Collections.Generic;
+
namespace Mono.Cecil {
- using System;
- using SR = System.Reflection;
- using SS = System.Security;
- using SSP = System.Security.Permissions;
- using System.Text;
+ public enum ReadingMode {
+ Immediate = 1,
+ Deferred = 2,
+ }
+
+ public sealed class ReaderParameters {
+
+ ReadingMode reading_mode;
+ IAssemblyResolver assembly_resolver;
+ Stream symbol_stream;
+ ISymbolReaderProvider symbol_reader_provider;
+ bool read_symbols;
+
+ public ReadingMode ReadingMode {
+ get { return reading_mode; }
+ set { reading_mode = value; }
+ }
+
+ public IAssemblyResolver AssemblyResolver {
+ get { return assembly_resolver; }
+ set { assembly_resolver = value; }
+ }
+
+ public Stream SymbolStream {
+ get { return symbol_stream; }
+ set { symbol_stream = value; }
+ }
+
+ public ISymbolReaderProvider SymbolReaderProvider {
+ get { return symbol_reader_provider; }
+ set { symbol_reader_provider = value; }
+ }
+
+ public bool ReadSymbols {
+ get { return read_symbols; }
+ set { read_symbols = value; }
+ }
+
+ public ReaderParameters ()
+ : this (ReadingMode.Deferred)
+ {
+ }
+
+ public ReaderParameters (ReadingMode readingMode)
+ {
+ this.reading_mode = readingMode;
+ }
+ }
+
+#if !READ_ONLY
+
+ public sealed class ModuleParameters {
+
+ ModuleKind kind;
+ TargetRuntime runtime;
+ TargetArchitecture architecture;
+ IAssemblyResolver assembly_resolver;
+
+ public ModuleKind Kind {
+ get { return kind; }
+ set { kind = value; }
+ }
+
+ public TargetRuntime Runtime {
+ get { return runtime; }
+ set { runtime = value; }
+ }
+
+ public TargetArchitecture Architecture {
+ get { return architecture; }
+ set { architecture = value; }
+ }
+
+ public IAssemblyResolver AssemblyResolver {
+ get { return assembly_resolver; }
+ set { assembly_resolver = value; }
+ }
+
+ public ModuleParameters ()
+ {
+ this.kind = ModuleKind.Dll;
+ this.runtime = GetCurrentRuntime ();
+ this.architecture = TargetArchitecture.I386;
+ }
+
+ static TargetRuntime GetCurrentRuntime ()
+ {
+#if !CF
+ return typeof (object).Assembly.ImageRuntimeVersion.ParseRuntime ();
+#else
+ var corlib_version = typeof (object).Assembly.GetName ().Version;
+ switch (corlib_version.Major) {
+ case 1:
+ return corlib_version.Minor == 0
+ ? TargetRuntime.Net_1_0
+ : TargetRuntime.Net_1_1;
+ case 2:
+ return TargetRuntime.Net_2_0;
+ case 4:
+ return TargetRuntime.Net_4_0;
+ default:
+ throw new NotSupportedException ();
+ }
+#endif
+ }
+ }
+
+ public sealed class WriterParameters {
+
+ Stream symbol_stream;
+ ISymbolWriterProvider symbol_writer_provider;
+ bool write_symbols;
+#if !SILVERLIGHT && !CF
+ SR.StrongNameKeyPair key_pair;
+#endif
+ public Stream SymbolStream {
+ get { return symbol_stream; }
+ set { symbol_stream = value; }
+ }
+
+ public ISymbolWriterProvider SymbolWriterProvider {
+ get { return symbol_writer_provider; }
+ set { symbol_writer_provider = value; }
+ }
+
+ public bool WriteSymbols {
+ get { return write_symbols; }
+ set { write_symbols = value; }
+ }
+#if !SILVERLIGHT && !CF
+ public SR.StrongNameKeyPair StrongNameKeyPair {
+ get { return key_pair; }
+ set { key_pair = value; }
+ }
+#endif
+ }
+
+#endif
+
+ public sealed class ModuleDefinition : ModuleReference, ICustomAttributeProvider {
+
+ internal Image Image;
+ internal MetadataSystem MetadataSystem;
+ internal ReadingMode ReadingMode;
+ internal ISymbolReaderProvider SymbolReaderProvider;
+ internal ISymbolReader SymbolReader;
+
+ internal IAssemblyResolver assembly_resolver;
+ internal TypeSystem type_system;
+
+ readonly MetadataReader reader;
+ readonly string fq_name;
+
+ internal ModuleKind kind;
+ TargetRuntime runtime;
+ TargetArchitecture architecture;
+ ModuleAttributes attributes;
+ Guid mvid;
- using Mono.Cecil.Cil;
- using Mono.Cecil.Binary;
- using Mono.Cecil.Metadata;
+ internal AssemblyDefinition assembly;
+ MethodDefinition entry_point;
- public sealed class ModuleDefinition : ModuleReference, ICustomAttributeProvider, IMetadataScope,
- IReflectionStructureVisitable, IReflectionVisitable {
+#if !READ_ONLY
+ MetadataImporter importer;
+#endif
+ Collection<CustomAttribute> custom_attributes;
+ Collection<AssemblyNameReference> references;
+ Collection<ModuleReference> modules;
+ Collection<Resource> resources;
+ Collection<ExportedType> exported_types;
+ TypeDefinitionCollection types;
+
+ public bool IsMain {
+ get { return kind != ModuleKind.NetModule; }
+ }
- Guid m_mvid;
- bool m_main;
- bool m_manifestOnly;
+ public ModuleKind Kind {
+ get { return kind; }
+ set { kind = value; }
+ }
- AssemblyNameReferenceCollection m_asmRefs;
- ModuleReferenceCollection m_modRefs;
- ResourceCollection m_res;
- TypeDefinitionCollection m_types;
- TypeReferenceCollection m_refs;
- ExternTypeCollection m_externs;
- MemberReferenceCollection m_members;
- CustomAttributeCollection m_customAttrs;
+ public TargetRuntime Runtime {
+ get { return runtime; }
+ set { runtime = value; }
+ }
- AssemblyDefinition m_asm;
- Image m_image;
+ public TargetArchitecture Architecture {
+ get { return architecture; }
+ set { architecture = value; }
+ }
- ImageReader m_imgReader;
- ReflectionController m_controller;
- MetadataResolver m_resolver;
- SecurityDeclarationReader m_secReader;
+ public ModuleAttributes Attributes {
+ get { return attributes; }
+ set { attributes = value; }
+ }
+
+ public string FullyQualifiedName {
+ get { return fq_name; }
+ }
public Guid Mvid {
- get { return m_mvid; }
- set { m_mvid = value; }
+ get { return mvid; }
+ set { mvid = value; }
}
- public bool Main {
- get { return m_main; }
- set { m_main = value; }
+ internal bool HasImage {
+ get { return Image != null; }
}
- public AssemblyNameReferenceCollection AssemblyReferences {
- get { return m_asmRefs; }
+ public bool HasSymbols {
+ get { return SymbolReader != null; }
}
- public ModuleReferenceCollection ModuleReferences {
- get { return m_modRefs; }
+ public override MetadataScopeType MetadataScopeType {
+ get { return MetadataScopeType.ModuleDefinition; }
}
- public ResourceCollection Resources {
- get { return m_res; }
+ public AssemblyDefinition Assembly {
+ get { return assembly; }
}
- public TypeDefinitionCollection Types {
- get { return m_types; }
+#if !READ_ONLY
+ internal MetadataImporter MetadataImporter {
+ get { return importer ?? (importer = new MetadataImporter (this)); }
}
+#endif
- public TypeReferenceCollection TypeReferences {
- get { return m_refs; }
+ public IAssemblyResolver AssemblyResolver {
+ get { return assembly_resolver; }
}
- public MemberReferenceCollection MemberReferences {
- get { return m_members; }
+ public TypeSystem TypeSystem {
+ get { return type_system ?? (type_system = TypeSystem.CreateTypeSystem (this)); }
}
- public ExternTypeCollection ExternTypes {
+ public bool HasAssemblyReferences {
get {
- if (m_externs == null)
- m_externs = new ExternTypeCollection (this);
+ if (references != null)
+ return references.Count > 0;
- return m_externs;
+ return HasImage && Image.HasTable (Table.AssemblyRef);
}
}
- public bool HasCustomAttributes {
- get { return (m_customAttrs == null) ? false : (m_customAttrs.Count > 0); }
+ public Collection<AssemblyNameReference> AssemblyReferences {
+ get {
+ if (references != null)
+ return references;
+
+ if (HasImage)
+ return references = Read (this, (_, reader) => reader.ReadAssemblyReferences ());
+
+ return references = new Collection<AssemblyNameReference> ();
+ }
}
- public CustomAttributeCollection CustomAttributes {
+ public bool HasModuleReferences {
get {
- if (m_customAttrs == null)
- m_customAttrs = new CustomAttributeCollection (this);
+ if (modules != null)
+ return modules.Count > 0;
- return m_customAttrs;
+ return HasImage && Image.HasTable (Table.ModuleRef);
}
}
- public AssemblyDefinition Assembly {
- get { return m_asm; }
- }
+ public Collection<ModuleReference> ModuleReferences {
+ get {
+ if (modules != null)
+ return modules;
- internal ReflectionController Controller {
- get { return m_controller; }
+ if (HasImage)
+ return modules = Read (this, (_, reader) => reader.ReadModuleReferences ());
+
+ return modules = new Collection<ModuleReference> ();
+ }
}
- internal MetadataResolver Resolver {
- get { return m_resolver; }
+ public bool HasResources {
+ get {
+ if (resources != null)
+ return resources.Count > 0;
+
+ if (HasImage)
+ return Image.HasTable (Table.ManifestResource) || Read (this, (_, reader) => reader.HasFileResource ());
+
+ return false;
+ }
}
- internal ImageReader ImageReader {
- get { return m_imgReader; }
+ public Collection<Resource> Resources {
+ get {
+ if (resources != null)
+ return resources;
+
+ if (HasImage)
+ return resources = Read (this, (_, reader) => reader.ReadResources ());
+
+ return resources = new Collection<Resource> ();
+ }
}
- public Image Image {
- get { return m_image; }
- set {
- m_image = value;
- m_secReader = null;
+ public bool HasCustomAttributes {
+ get {
+ if (custom_attributes != null)
+ return custom_attributes.Count > 0;
+
+ return this.GetHasCustomAttributes (this);
}
}
- public ModuleDefinition (string name, AssemblyDefinition asm) :
- this (name, asm, null, false)
- {
+ public Collection<CustomAttribute> CustomAttributes {
+ get { return custom_attributes ?? (custom_attributes = this.GetCustomAttributes (this)); }
}
- public ModuleDefinition (string name, AssemblyDefinition asm, bool main) :
- this (name, asm, null, main)
- {
+ public bool HasTypes {
+ get {
+ if (types != null)
+ return types.Count > 0;
+
+ return HasImage && Image.HasTable (Table.TypeDef);
+ }
}
- internal ModuleDefinition (string name, AssemblyDefinition asm, StructureReader reader, bool main) : base (name)
- {
- if (asm == null)
- throw new ArgumentNullException ("asm");
- if (name == null || name.Length == 0)
- throw new ArgumentNullException ("name");
+ public Collection<TypeDefinition> Types {
+ get {
+ if (types != null)
+ return types;
- m_asm = asm;
- m_main = main;
-#if !CF_1_0
- m_mvid = Guid.NewGuid ();
-#endif
- if (reader != null) {
- m_image = reader.Image;
- m_imgReader = reader.ImageReader;
- m_manifestOnly = reader.ManifestOnly;
- } else
- m_image = Image.CreateImage ();
+ if (HasImage)
+ return types = Read (this, (_, reader) => reader.ReadTypes ());
+
+ return types = new TypeDefinitionCollection (this);
+ }
+ }
+
+ public bool HasExportedTypes {
+ get {
+ if (exported_types != null)
+ return exported_types.Count > 0;
- m_modRefs = new ModuleReferenceCollection (this);
- m_asmRefs = new AssemblyNameReferenceCollection (this);
- m_res = new ResourceCollection (this);
- m_types = new TypeDefinitionCollection (this);
- m_refs = new TypeReferenceCollection (this);
- m_members = new MemberReferenceCollection (this);
+ return HasImage && Image.HasTable (Table.ExportedType);
+ }
+ }
+
+ public Collection<ExportedType> ExportedTypes {
+ get {
+ if (exported_types != null)
+ return exported_types;
- m_controller = new ReflectionController (this);
- m_resolver = new MetadataResolver (asm);
+ if (HasImage)
+ return exported_types = Read (this, (_, reader) => reader.ReadExportedTypes ());
+
+ return exported_types = new Collection<ExportedType> ();
+ }
}
- public IMetadataTokenProvider LookupByToken (MetadataToken token)
- {
- return m_controller.Reader.LookupByToken (token);
+ public MethodDefinition EntryPoint {
+ get {
+ if (entry_point != null)
+ return entry_point;
+
+ if (HasImage)
+ return entry_point = Read (this, (_, reader) => reader.ReadEntryPoint ());
+
+ return entry_point = null;
+ }
+ set { entry_point = value; }
}
- public IMetadataTokenProvider LookupByToken (TokenType table, int rid)
+ internal ModuleDefinition ()
{
- return LookupByToken (new MetadataToken (table, (uint) rid));
+ this.MetadataSystem = new MetadataSystem ();
+ this.token = new MetadataToken (TokenType.Module, 1);
+ this.assembly_resolver = GlobalAssemblyResolver.Instance;
}
- void CheckContext (TypeDefinition context)
+ internal ModuleDefinition (Image image)
+ : this ()
{
- if (context.Module != this)
- throw new ArgumentException ("The context parameter does not belongs to this module");
+ this.Image = image;
+ this.kind = image.Kind;
+ this.runtime = image.Runtime;
+ this.architecture = image.Architecture;
+ this.attributes = image.Attributes;
+ this.fq_name = image.FileName;
- CheckGenericParameterProvider (context);
+ this.reader = new MetadataReader (this);
}
- void CheckContext (MethodDefinition context)
+ public bool HasTypeReference (string fullName)
{
- CheckGenericParameterProvider (context);
+ return HasTypeReference (string.Empty, fullName);
}
- static void CheckGenericParameterProvider (IGenericParameterProvider context)
+ public bool HasTypeReference (string scope, string fullName)
{
- if (context == null)
- throw new ArgumentNullException ("context");
- if (context.GenericParameters.Count == 0)
- throw new ArgumentException ("The context parameter is not a generic type");
+ CheckFullName (fullName);
+
+ if (!HasImage)
+ return false;
+
+ return Read (this, (_, reader) => reader.GetTypeReference (scope, fullName) != null);
}
- ImportContext GetContext ()
+ public bool TryGetTypeReference (string fullName, out TypeReference type)
{
- return new ImportContext (m_controller.Importer);
+ return TryGetTypeReference (string.Empty, fullName, out type);
}
- static ImportContext GetContext (IImporter importer)
+ public bool TryGetTypeReference (string scope, string fullName, out TypeReference type)
{
- return new ImportContext (importer);
+ CheckFullName (fullName);
+
+ if (!HasImage) {
+ type = null;
+ return false;
+ }
+
+ return (type = Read (this, (_, reader) => reader.GetTypeReference (scope, fullName))) != null;
}
- ImportContext GetContext (TypeDefinition context)
+ public IEnumerable<TypeReference> GetTypeReferences ()
{
- return new ImportContext (m_controller.Importer, context);
+ if (!HasImage)
+ return Empty<TypeReference>.Array;
+
+ return Read (this, (_, reader) => reader.GetTypeReferences ());
}
- ImportContext GetContext (MethodDefinition context)
+ public IEnumerable<MemberReference> GetMemberReferences ()
{
- return new ImportContext (m_controller.Importer, context);
+ if (!HasImage)
+ return Empty<MemberReference>.Array;
+
+ return Read (this, (_, reader) => reader.GetMemberReferences ());
}
- static ImportContext GetContext (IImporter importer, TypeDefinition context)
+ public TypeDefinition GetType (string fullName)
{
- return new ImportContext (importer, context);
+ CheckFullName (fullName);
+
+ var position = fullName.IndexOf ('/');
+ if (position > 0)
+ return GetNestedType (fullName);
+
+ return ((TypeDefinitionCollection) this.Types).GetType (fullName);
}
- public TypeReference Import (Type type)
+ public TypeDefinition GetType (string @namespace, string name)
{
- if (type == null)
- throw new ArgumentNullException ("type");
+ Mixin.CheckName (name);
- return m_controller.Helper.ImportSystemType (type, GetContext ());
+ return ((TypeDefinitionCollection) this.Types).GetType (@namespace ?? string.Empty, name);
}
- public TypeReference Import (Type type, TypeDefinition context)
+ static void CheckFullName (string fullName)
{
- if (type == null)
- throw new ArgumentNullException ("type");
- CheckContext (context);
-
- return m_controller.Helper.ImportSystemType (type, GetContext (context));
+ if (fullName == null)
+ throw new ArgumentNullException ("fullName");
+ if (fullName.Length == 0)
+ throw new ArgumentException ();
}
- public TypeReference Import (Type type, MethodDefinition context)
+ TypeDefinition GetNestedType (string fullname)
{
+ var names = fullname.Split ('/');
+ var type = GetType (names [0]);
+
if (type == null)
- throw new ArgumentNullException ("type");
- CheckContext (context);
+ return null;
+
+ for (int i = 1; i < names.Length; i++) {
+ var nested_type = type.GetNestedType (names [i]);
+ if (nested_type == null)
+ return null;
- return m_controller.Helper.ImportSystemType (type, GetContext (context));
+ type = nested_type;
+ }
+
+ return type;
}
- public MethodReference Import (SR.MethodBase meth)
+ internal FieldDefinition Resolve (FieldReference field)
{
- if (meth == null)
- throw new ArgumentNullException ("meth");
+ return MetadataResolver.Resolve (AssemblyResolver, field);
+ }
- if (meth is SR.ConstructorInfo)
- return m_controller.Helper.ImportConstructorInfo (
- meth as SR.ConstructorInfo, GetContext ());
- else
- return m_controller.Helper.ImportMethodInfo (
- meth as SR.MethodInfo, GetContext ());
+ internal MethodDefinition Resolve (MethodReference method)
+ {
+ return MetadataResolver.Resolve (AssemblyResolver, method);
}
- public MethodReference Import (SR.MethodBase meth, TypeDefinition context)
+ internal TypeDefinition Resolve (TypeReference type)
{
- if (meth == null)
- throw new ArgumentNullException ("meth");
- CheckContext (context);
+ return MetadataResolver.Resolve (AssemblyResolver, type);
+ }
- ImportContext import_context = GetContext (context);
+#if !READ_ONLY
- if (meth is SR.ConstructorInfo)
- return m_controller.Helper.ImportConstructorInfo (
- meth as SR.ConstructorInfo, import_context);
- else
- return m_controller.Helper.ImportMethodInfo (
- meth as SR.MethodInfo, import_context);
+ static void CheckType (object type)
+ {
+ if (type == null)
+ throw new ArgumentNullException ("type");
}
- public FieldReference Import (SR.FieldInfo field)
+ static void CheckField (object field)
{
if (field == null)
throw new ArgumentNullException ("field");
+ }
- return m_controller.Helper.ImportFieldInfo (field, GetContext ());
+ static void CheckMethod (object method)
+ {
+ if (method == null)
+ throw new ArgumentNullException ("method");
}
- public FieldReference Import (SR.FieldInfo field, TypeDefinition context)
+ static void CheckContext (IGenericParameterProvider context, ModuleDefinition module)
{
- if (field == null)
- throw new ArgumentNullException ("field");
- CheckContext (context);
+ if (context == null)
+ return;
- return m_controller.Helper.ImportFieldInfo (field, GetContext (context));
+ if (context.Module != module)
+ throw new ArgumentException ();
}
- public FieldReference Import (SR.FieldInfo field, MethodDefinition context)
+#if !CF
+ public TypeReference Import (Type type)
{
- if (field == null)
- throw new ArgumentNullException ("field");
- CheckContext (context);
+ CheckType (type);
- return m_controller.Helper.ImportFieldInfo (field, GetContext (context));
+ return MetadataImporter.ImportType (type, null, ImportGenericKind.Definition);
}
- public TypeReference Import (TypeReference type)
+ public TypeReference Import (Type type, TypeReference context)
{
- if (type == null)
- throw new ArgumentNullException ("type");
+ return Import (type, (IGenericParameterProvider) context);
+ }
- return m_controller.Importer.ImportTypeReference (type, GetContext ());
+ public TypeReference Import (Type type, MethodReference context)
+ {
+ return Import (type, (IGenericParameterProvider) context);
}
- public TypeReference Import (TypeReference type, TypeDefinition context)
+ TypeReference Import (Type type, IGenericParameterProvider context)
{
- if (type == null)
- throw new ArgumentNullException ("type");
- CheckContext (context);
+ CheckType (type);
+ CheckContext (context, this);
- return m_controller.Importer.ImportTypeReference (type, GetContext (context));
+ return MetadataImporter.ImportType (
+ type,
+ (IGenericContext) context,
+ context != null
+ ? ImportGenericKind.Open
+ : ImportGenericKind.Definition);
}
- public TypeReference Import (TypeReference type, MethodDefinition context)
+ public FieldReference Import (SR.FieldInfo field)
{
- if (type == null)
- throw new ArgumentNullException ("type");
- CheckContext (context);
+ CheckField (field);
- return m_controller.Importer.ImportTypeReference (type, GetContext (context));
+ return MetadataImporter.ImportField (field, null);
}
- public MethodReference Import (MethodReference meth)
+ public FieldReference Import (SR.FieldInfo field, TypeReference context)
{
- if (meth == null)
- throw new ArgumentNullException ("meth");
+ return Import (field, (IGenericParameterProvider) context);
+ }
- return m_controller.Importer.ImportMethodReference (meth, GetContext ());
+ public FieldReference Import (SR.FieldInfo field, MethodReference context)
+ {
+ return Import (field, (IGenericParameterProvider) context);
}
- public MethodReference Import (MethodReference meth, TypeDefinition context)
+ FieldReference Import (SR.FieldInfo field, IGenericParameterProvider context)
{
- if (meth == null)
- throw new ArgumentNullException ("meth");
- CheckContext (context);
+ CheckField (field);
+ CheckContext (context, this);
- return m_controller.Importer.ImportMethodReference (meth, GetContext (context));
+ return MetadataImporter.ImportField (field, (IGenericContext) context);
}
- public MethodReference Import (MethodReference meth, MethodDefinition context)
+ public MethodReference Import (SR.MethodBase method)
{
- if (meth == null)
- throw new ArgumentNullException ("meth");
- CheckContext (context);
+ CheckMethod (method);
- return m_controller.Importer.ImportMethodReference (meth, GetContext (context));
+ return MetadataImporter.ImportMethod (method, null, ImportGenericKind.Definition);
}
- public FieldReference Import (FieldReference field)
+ public MethodReference Import (SR.MethodBase method, TypeReference context)
{
- if (field == null)
- throw new ArgumentNullException ("field");
+ return Import (method, (IGenericParameterProvider) context);
+ }
- return m_controller.Importer.ImportFieldReference (field, GetContext ());
+ public MethodReference Import (SR.MethodBase method, MethodReference context)
+ {
+ return Import (method, (IGenericParameterProvider) context);
}
- public FieldReference Import (FieldReference field, TypeDefinition context)
+ MethodReference Import (SR.MethodBase method, IGenericParameterProvider context)
{
- if (field == null)
- throw new ArgumentNullException ("field");
- CheckContext (context);
+ CheckMethod (method);
+ CheckContext (context, this);
- return m_controller.Importer.ImportFieldReference (field, GetContext (context));
+ return MetadataImporter.ImportMethod (method,
+ (IGenericContext) context,
+ context != null
+ ? ImportGenericKind.Open
+ : ImportGenericKind.Definition);
}
+#endif
- public FieldReference Import (FieldReference field, MethodDefinition context)
+ public TypeReference Import (TypeReference type)
{
- if (field == null)
- throw new ArgumentNullException ("field");
- CheckContext (context);
+ CheckType (type);
+
+ if (type.Module == this)
+ return type;
- return m_controller.Importer.ImportFieldReference (field, GetContext (context));
+ return MetadataImporter.ImportType (type, null);
}
- static FieldDefinition ImportFieldDefinition (FieldDefinition field, ImportContext context)
+ public TypeReference Import (TypeReference type, TypeReference context)
{
- return FieldDefinition.Clone (field, context);
+ return Import (type, (IGenericParameterProvider) context);
}
- static MethodDefinition ImportMethodDefinition (MethodDefinition meth, ImportContext context)
+ public TypeReference Import (TypeReference type, MethodReference context)
{
- return MethodDefinition.Clone (meth, context);
+ return Import (type, (IGenericParameterProvider) context);
}
- static TypeDefinition ImportTypeDefinition (TypeDefinition type, ImportContext context)
+ TypeReference Import (TypeReference type, IGenericParameterProvider context)
{
- return TypeDefinition.Clone (type, context);
+ CheckType (type);
+
+ if (type.Module == this)
+ return type;
+
+ CheckContext (context, this);
+
+ return MetadataImporter.ImportType (type, (IGenericContext) context);
}
- public TypeDefinition Inject (TypeDefinition type)
+ public FieldReference Import (FieldReference field)
{
- return Inject (type, m_controller.Importer);
+ CheckField (field);
+
+ if (field.Module == this)
+ return field;
+
+ return MetadataImporter.ImportField (field, null);
}
- public TypeDefinition Inject (TypeDefinition type, IImporter importer)
+ public FieldReference Import (FieldReference field, TypeReference context)
{
- if (type == null)
- throw new ArgumentNullException ("type");
- if (importer == null)
- throw new ArgumentNullException ("importer");
+ return Import (field, (IGenericParameterProvider) context);
+ }
- TypeDefinition definition = ImportTypeDefinition (type, GetContext (importer));
- this.Types.Add (definition);
- return definition;
+ public FieldReference Import (FieldReference field, MethodReference context)
+ {
+ return Import (field, (IGenericParameterProvider) context);
}
- public TypeDefinition Inject (TypeDefinition type, TypeDefinition context)
+ FieldReference Import (FieldReference field, IGenericParameterProvider context)
{
- return Inject (type, context, m_controller.Importer);
+ CheckField (field);
+
+ if (field.Module == this)
+ return field;
+
+ CheckContext (context, this);
+
+ return MetadataImporter.ImportField (field, (IGenericContext) context);
}
- public TypeDefinition Inject (TypeDefinition type, TypeDefinition context, IImporter importer)
+ public MethodReference Import (MethodReference method)
{
- Check (type, context, importer);
+ CheckMethod (method);
- TypeDefinition definition = ImportTypeDefinition (type, GetContext (importer, context));
- context.NestedTypes.Add (definition);
- return definition;
+ if (method.Module == this)
+ return method;
+
+ return MetadataImporter.ImportMethod (method, null);
}
- public MethodDefinition Inject (MethodDefinition meth, TypeDefinition context)
+ public MethodReference Import (MethodReference method, TypeReference context)
{
- return Inject (meth, context, m_controller.Importer);
+ return Import (method, (IGenericParameterProvider) context);
}
- void Check (IMemberDefinition definition, TypeDefinition context, IImporter importer)
+ public MethodReference Import (MethodReference method, MethodReference context)
{
- if (definition == null)
- throw new ArgumentNullException ("definition");
- if (context == null)
- throw new ArgumentNullException ("context");
- if (importer == null)
- throw new ArgumentNullException ("importer");
- if (context.Module != this)
- throw new ArgumentException ("The context parameter does not belongs to this module");
+ return Import (method, (IGenericParameterProvider) context);
+ }
+
+ MethodReference Import (MethodReference method, IGenericParameterProvider context)
+ {
+ CheckMethod (method);
+
+ if (method.Module == this)
+ return method;
+
+ CheckContext (context, this);
+
+ return MetadataImporter.ImportMethod (method, (IGenericContext) context);
}
- public MethodDefinition Inject (MethodDefinition meth, TypeDefinition context, IImporter importer)
+#endif
+
+ public IMetadataTokenProvider LookupToken (int token)
{
- Check (meth, context, importer);
+ return LookupToken (new MetadataToken ((uint) token));
+ }
- MethodDefinition definition = ImportMethodDefinition (meth, GetContext (importer, context));
- context.Methods.Add (definition);
- return definition;
+ public IMetadataTokenProvider LookupToken (MetadataToken token)
+ {
+ return Read (this, (_, reader) => reader.LookupToken (token));
}
- public FieldDefinition Inject (FieldDefinition field, TypeDefinition context)
+ internal TRet Read<TItem, TRet> (TItem item, Func<TItem, MetadataReader, TRet> read)
{
- return Inject (field, context, m_controller.Importer);
+ var position = reader.position;
+ var context = reader.context;
+
+ var ret = read (item, reader);
+
+ reader.position = position;
+ reader.context = context;
+
+ return ret;
}
- public FieldDefinition Inject (FieldDefinition field, TypeDefinition context, IImporter importer)
+ void ProcessDebugHeader ()
{
- Check (field, context, importer);
+ if (Image == null || Image.Debug.IsZero)
+ return;
+
+ byte [] header;
+ var directory = Image.GetDebugHeader (out header);
+
+ if (!SymbolReader.ProcessDebugHeader (directory, header))
+ throw new InvalidOperationException ();
+ }
+
+#if !READ_ONLY
- FieldDefinition definition = ImportFieldDefinition (field, GetContext (importer, context));
- context.Fields.Add (definition);
- return definition;
+ public static ModuleDefinition CreateModule (string name, ModuleKind kind)
+ {
+ return CreateModule (name, new ModuleParameters { Kind = kind });
}
- public void FullLoad ()
+ public static ModuleDefinition CreateModule (string name, ModuleParameters parameters)
{
- if (m_manifestOnly)
- m_controller.Reader.VisitModuleDefinition (this);
+ Mixin.CheckName (name);
+ Mixin.CheckParameters (parameters);
+
+ var module = new ModuleDefinition {
+ Name = name,
+ kind = parameters.Kind,
+ runtime = parameters.Runtime,
+ architecture = parameters.Architecture,
+ mvid = Guid.NewGuid (),
+ Attributes = ModuleAttributes.ILOnly,
+ };
- foreach (TypeDefinition type in this.Types) {
- foreach (MethodDefinition meth in type.Methods)
- meth.LoadBody ();
- foreach (MethodDefinition ctor in type.Constructors)
- ctor.LoadBody ();
+ if (parameters.AssemblyResolver != null)
+ module.assembly_resolver = parameters.AssemblyResolver;
+
+ if (parameters.Kind != ModuleKind.NetModule) {
+ var assembly = new AssemblyDefinition ();
+ module.assembly = assembly;
+ module.assembly.Name = new AssemblyNameDefinition (name, new Version (0, 0));
+ assembly.main_module = module;
}
- if (m_controller.Reader.SymbolReader == null)
- return;
+ module.Types.Add (new TypeDefinition (string.Empty, "<Module>", TypeAttributes.NotPublic));
- m_controller.Reader.SymbolReader.Dispose ();
- m_controller.Reader.SymbolReader = null;
+ return module;
}
- public void LoadSymbols ()
+#endif
+
+ public void ReadSymbols ()
{
- m_controller.Reader.SymbolReader = SymbolStoreHelper.GetReader (this);
+ if (string.IsNullOrEmpty (fq_name))
+ throw new InvalidOperationException ();
+
+ var provider = SymbolProvider.GetPlatformReaderProvider ();
+
+ SymbolReader = provider.GetSymbolReader (this, fq_name);
+
+ ProcessDebugHeader ();
}
- public void LoadSymbols (ISymbolReader reader)
+ public void ReadSymbols (ISymbolReader reader)
{
- m_controller.Reader.SymbolReader = reader;
+ if (reader == null)
+ throw new ArgumentNullException ("reader");
+
+ SymbolReader = reader;
+
+ ProcessDebugHeader ();
}
- public void SaveSymbols ()
+ public static ModuleDefinition ReadModule (string fileName)
{
- m_controller.Writer.SaveSymbols = true;
+ return ReadModule (fileName, new ReaderParameters (ReadingMode.Deferred));
}
- public void SaveSymbols (ISymbolWriter writer)
+ public static ModuleDefinition ReadModule (Stream stream)
{
- SaveSymbols ();
- m_controller.Writer.SymbolWriter = writer;
+ return ReadModule (stream, new ReaderParameters (ReadingMode.Deferred));
}
- public void SaveSymbols (string outputDirectory)
+ public static ModuleDefinition ReadModule (string fileName, ReaderParameters parameters)
{
- SaveSymbols ();
- m_controller.Writer.OutputFile = outputDirectory;
+ using (var stream = GetFileStream (fileName, FileMode.Open, FileAccess.Read, FileShare.Read)) {
+ return ReadModule (stream, parameters);
+ }
}
- public void SaveSymbols (string outputDirectory, ISymbolWriter writer)
+ static void CheckStream (object stream)
{
- SaveSymbols (outputDirectory);
- m_controller.Writer.SymbolWriter = writer;
+ if (stream == null)
+ throw new ArgumentNullException ("stream");
}
- public byte [] GetAsByteArray (CustomAttribute ca)
+ public static ModuleDefinition ReadModule (Stream stream, ReaderParameters parameters)
{
- CustomAttribute customAttr = ca;
- if (!ca.Resolved)
- if (customAttr.Blob != null)
- return customAttr.Blob;
- else
- return new byte [0];
+ CheckStream (stream);
+ if (!stream.CanRead || !stream.CanSeek)
+ throw new ArgumentException ();
+ Mixin.CheckParameters (parameters);
- return m_controller.Writer.SignatureWriter.CompressCustomAttribute (
- ReflectionWriter.GetCustomAttributeSig (ca), ca.Constructor);
+ return ModuleReader.CreateModuleFrom (
+ ImageReader.ReadImageFrom (stream),
+ parameters);
}
- public byte [] GetAsByteArray (SecurityDeclaration dec)
+ static Stream GetFileStream (string fileName, FileMode mode, FileAccess access, FileShare share)
{
- // TODO - add support for 2.0 format
- // note: the 1.x format is still supported in 2.0 so this isn't an immediate problem
- if (!dec.Resolved)
- return dec.Blob;
+ if (fileName == null)
+ throw new ArgumentNullException ("fileName");
+ if (fileName.Length == 0)
+ throw new ArgumentException ();
-#if !CF_1_0 && !CF_2_0
- if (dec.PermissionSet != null)
- return Encoding.Unicode.GetBytes (dec.PermissionSet.ToXml ().ToString ());
-#endif
+ return new FileStream (fileName, mode, access, share);
+ }
+
+#if !READ_ONLY
- return new byte [0];
+ public void Write (string fileName)
+ {
+ Write (fileName, new WriterParameters ());
}
- public CustomAttribute FromByteArray (MethodReference ctor, byte [] data)
+ public void Write (Stream stream)
{
- return m_controller.Reader.GetCustomAttribute (ctor, data);
+ Write (stream, new WriterParameters ());
}
- public SecurityDeclaration FromByteArray (SecurityAction action, byte [] declaration)
+ public void Write (string fileName, WriterParameters parameters)
{
- if (m_secReader == null)
- m_secReader = new SecurityDeclarationReader (Image.MetadataRoot, m_controller.Reader);
- return m_secReader.FromByteArray (action, declaration);
+ using (var stream = GetFileStream (fileName, FileMode.Create, FileAccess.ReadWrite, FileShare.None)) {
+ Write (stream, parameters);
+ }
}
- public override void Accept (IReflectionStructureVisitor visitor)
+ public void Write (Stream stream, WriterParameters parameters)
{
- visitor.VisitModuleDefinition (this);
+ CheckStream (stream);
+ if (!stream.CanWrite || !stream.CanSeek)
+ throw new ArgumentException ();
+ Mixin.CheckParameters (parameters);
- this.AssemblyReferences.Accept (visitor);
- this.ModuleReferences.Accept (visitor);
- this.Resources.Accept (visitor);
+ ModuleWriter.WriteModuleTo (this, stream, parameters);
}
- public void Accept (IReflectionVisitor visitor)
+#endif
+
+ }
+
+ static partial class Mixin {
+
+ public static void CheckParameters (object parameters)
{
- visitor.VisitModuleDefinition (this);
+ if (parameters == null)
+ throw new ArgumentNullException ("parameters");
+ }
- this.Types.Accept (visitor);
- this.TypeReferences.Accept (visitor);
+ public static bool HasImage (this ModuleDefinition self)
+ {
+ return self != null && self.HasImage;
}
- public override string ToString ()
+ public static string GetFullyQualifiedName (this Stream self)
{
- string s = (m_main ? "(main), Mvid=" : "Mvid=");
- return s + m_mvid;
+#if !SILVERLIGHT
+ var file_stream = self as FileStream;
+ if (file_stream == null)
+ return string.Empty;
+
+ return Path.GetFullPath (file_stream.Name);
+#else
+ return string.Empty;
+#endif
+ }
+
+ public static TargetRuntime ParseRuntime (this string self)
+ {
+ switch (self [1]) {
+ case '1':
+ return self [3] == '0'
+ ? TargetRuntime.Net_1_0
+ : TargetRuntime.Net_1_1;
+ case '2':
+ return TargetRuntime.Net_2_0;
+ case '4':
+ default:
+ return TargetRuntime.Net_4_0;
+ }
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ModuleDefinitionCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ModuleDefinitionCollection.cs
deleted file mode 100644
index 71d161986a4..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ModuleDefinitionCollection.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// ModuleDefinitionCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Wed Sep 27 12:46:54 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class ModuleDefinitionCollection : CollectionBase, IReflectionStructureVisitable {
-
- AssemblyDefinition m_container;
-
- public ModuleDefinition this [int index] {
- get { return List [index] as ModuleDefinition; }
- set { List [index] = value; }
- }
-
- public AssemblyDefinition Container {
- get { return m_container; }
- }
-
- public ModuleDefinitionCollection (AssemblyDefinition container)
- {
- m_container = container;
- }
-
- public void Add (ModuleDefinition value)
- {
- List.Add (value);
- }
-
- public bool Contains (ModuleDefinition value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (ModuleDefinition value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, ModuleDefinition value)
- {
- List.Insert (index, value);
- }
-
- public void Remove (ModuleDefinition value)
- {
- List.Remove (value);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is ModuleDefinition))
- throw new ArgumentException ("Must be of type " + typeof (ModuleDefinition).FullName);
- }
-
- public void Accept (IReflectionStructureVisitor visitor)
- {
- visitor.VisitModuleDefinitionCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ModuleKind.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ModuleKind.cs
new file mode 100644
index 00000000000..eb57890a9b7
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/ModuleKind.cs
@@ -0,0 +1,52 @@
+//
+// ModuleKind.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace Mono.Cecil {
+
+ public enum ModuleKind {
+ Dll,
+ Console,
+ Windows,
+ NetModule,
+ }
+
+ public enum TargetArchitecture {
+ I386,
+ AMD64,
+ IA64,
+ }
+
+ [Flags]
+ public enum ModuleAttributes {
+ ILOnly = 1,
+ Required32Bit = 2,
+ StrongNameSigned = 8,
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ModuleReference.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ModuleReference.cs
index 713b96a1fb1..11d98b74c7b 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ModuleReference.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/ModuleReference.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -28,44 +28,41 @@
namespace Mono.Cecil {
- using System.Collections;
+ public class ModuleReference : IMetadataScope {
- using Mono.Cecil;
- using Mono.Cecil.Metadata;
+ string name;
- public class ModuleReference : IMetadataScope, IAnnotationProvider, IReflectionStructureVisitable {
-
- string m_name;
- MetadataToken m_token;
- IDictionary m_annotations;
+ internal MetadataToken token;
public string Name {
- get { return m_name; }
- set { m_name = value; }
+ get { return name; }
+ set { name = value; }
+ }
+
+ public virtual MetadataScopeType MetadataScopeType {
+ get { return MetadataScopeType.ModuleReference; }
}
public MetadataToken MetadataToken {
- get { return m_token; }
- set { m_token = value; }
+ get { return token; }
+ set { token = value; }
}
- IDictionary IAnnotationProvider.Annotations {
- get {
- if (m_annotations == null)
- m_annotations = new Hashtable ();
- return m_annotations;
- }
+ internal ModuleReference ()
+ {
+ this.token = new MetadataToken (TokenType.ModuleRef);
}
public ModuleReference (string name)
+ : this ()
{
- m_name = name;
+ Mixin.CheckName (name);
+ this.name = name;
}
- public virtual void Accept (IReflectionStructureVisitor visitor)
+ public override string ToString ()
{
- visitor.VisitModuleReference (this);
+ return name;
}
}
}
-
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ModuleReferenceCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ModuleReferenceCollection.cs
deleted file mode 100644
index 03057b37022..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ModuleReferenceCollection.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// ModuleReferenceCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Wed Sep 27 12:46:53 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class ModuleReferenceCollection : CollectionBase, IReflectionStructureVisitable {
-
- ModuleDefinition m_container;
-
- public ModuleReference this [int index] {
- get { return List [index] as ModuleReference; }
- set { List [index] = value; }
- }
-
- public ModuleDefinition Container {
- get { return m_container; }
- }
-
- public ModuleReferenceCollection (ModuleDefinition container)
- {
- m_container = container;
- }
-
- public void Add (ModuleReference value)
- {
- List.Add (value);
- }
-
- public bool Contains (ModuleReference value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (ModuleReference value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, ModuleReference value)
- {
- List.Insert (index, value);
- }
-
- public void Remove (ModuleReference value)
- {
- List.Remove (value);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is ModuleReference))
- throw new ArgumentException ("Must be of type " + typeof (ModuleReference).FullName);
- }
-
- public void Accept (IReflectionStructureVisitor visitor)
- {
- visitor.VisitModuleReferenceCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/NameObjectCollectionBase.cs b/mcs/class/Mono.Cecil/Mono.Cecil/NameObjectCollectionBase.cs
deleted file mode 100644
index 80b0c11d519..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/NameObjectCollectionBase.cs
+++ /dev/null
@@ -1,650 +0,0 @@
-using System;
-using System.Collections;
-using System.Runtime.Serialization;
-
-#if NO_SYSTEM_DLL
-namespace System.Collections.Specialized
-{
- [Serializable]
- public abstract class NameObjectCollectionBase : ICollection, IEnumerable, ISerializable, IDeserializationCallback
- {
- private Hashtable m_ItemsContainer;
- /// <summary>
- /// Extends Hashtable based Items container to support storing null-key pairs
- /// </summary>
- private _Item m_NullKeyItem;
- private ArrayList m_ItemsArray;
- private IHashCodeProvider m_hashprovider;
- private IComparer m_comparer;
- private int m_defCapacity;
- private bool m_readonly;
- SerializationInfo infoCopy;
- private KeysCollection keyscoll;
-#if NET_2_0
- private IEqualityComparer equality_comparer;
-
- internal IEqualityComparer EqualityComparer {
- get { return equality_comparer; }
- }
-#endif
- internal IComparer Comparer
- {
- get { return m_comparer; }
- }
-
- internal IHashCodeProvider HashCodeProvider
- {
- get { return m_hashprovider; }
- }
-
- internal class _Item
- {
- public string key;
- public object value;
- public _Item(string key, object value)
- {
- this.key = key;
- this.value = value;
- }
- }
- /// <summary>
- /// Implements IEnumerable interface for KeysCollection
- /// </summary>
- [Serializable]
- internal class _KeysEnumerator : IEnumerator
- {
- private NameObjectCollectionBase m_collection;
- private int m_position;
-
- internal _KeysEnumerator(NameObjectCollectionBase collection)
- {
- m_collection = collection;
- Reset();
- }
- public object Current
- {
-
- get
- {
- if ((m_position < m_collection.Count) || (m_position < 0))
- return m_collection.BaseGetKey(m_position);
- else
- throw new InvalidOperationException();
- }
-
- }
- public bool MoveNext()
- {
- return ((++m_position) < m_collection.Count);
- }
- public void Reset()
- {
- m_position = -1;
- }
- }
-
- /// <summary>
- /// SDK: Represents a collection of the String keys of a collection.
- /// </summary>
- [Serializable]
- public class KeysCollection : ICollection, IEnumerable
- {
- private NameObjectCollectionBase m_collection;
-
- internal KeysCollection(NameObjectCollectionBase collection)
- {
- this.m_collection = collection;
- }
-
- public virtual string Get(int index)
- {
- return m_collection.BaseGetKey(index);
- }
-
- // ICollection methods -----------------------------------
- void ICollection.CopyTo(Array array, int arrayIndex)
- {
- ArrayList items = m_collection.m_ItemsArray;
-#if NET_2_0
- if (null == array)
- throw new ArgumentNullException ("array");
-
- if (arrayIndex < 0)
- throw new ArgumentOutOfRangeException ("arrayIndex");
-
- if ((array.Length > 0) && (arrayIndex >= array.Length))
- throw new ArgumentException ("arrayIndex is equal to or greater than array.Length");
-
- if (arrayIndex + items.Count > array.Length)
- throw new ArgumentException ("Not enough room from arrayIndex to end of array for this KeysCollection");
-#endif
-
- if (array != null && array.Rank > 1)
- throw new ArgumentException("array is multidimensional");
-
- object[] objArray = (object[])array;
- for (int i = 0; i < items.Count; i++, arrayIndex++)
- objArray[arrayIndex] = ((_Item)items[i]).key;
- }
-
- bool ICollection.IsSynchronized
- {
- get
- {
- return false;
- }
- }
- object ICollection.SyncRoot
- {
- get
- {
- return m_collection;
- }
- }
- /// <summary>
- /// Gets the number of keys in the NameObjectCollectionBase.KeysCollection
- /// </summary>
- public int Count
- {
- get
- {
- return m_collection.Count;
- }
- }
-
- public string this[int index]
- {
- get { return Get(index); }
- }
-
- // IEnumerable methods --------------------------------
- /// <summary>
- /// SDK: Returns an enumerator that can iterate through the NameObjectCollectionBase.KeysCollection.
- /// </summary>
- /// <returns></returns>
- public IEnumerator GetEnumerator()
- {
- return new _KeysEnumerator(m_collection);
- }
- }
-
- //--------------- Protected Instance Constructors --------------
-
- /// <summary>
- /// SDK: Initializes a new instance of the NameObjectCollectionBase class that is empty.
- /// </summary>
- protected NameObjectCollectionBase()
- {
- m_readonly = false;
-#if NET_1_0
- m_hashprovider = CaseInsensitiveHashCodeProvider.Default;
- m_comparer = CaseInsensitiveComparer.Default;
-#else
- m_hashprovider = CaseInsensitiveHashCodeProvider.DefaultInvariant;
- m_comparer = CaseInsensitiveComparer.DefaultInvariant;
-#endif
- m_defCapacity = 0;
- Init();
- }
-
- protected NameObjectCollectionBase(int capacity)
- {
- m_readonly = false;
-#if NET_1_0
- m_hashprovider = CaseInsensitiveHashCodeProvider.Default;
- m_comparer = CaseInsensitiveComparer.Default;
-#else
- m_hashprovider = CaseInsensitiveHashCodeProvider.DefaultInvariant;
- m_comparer = CaseInsensitiveComparer.DefaultInvariant;
-#endif
- m_defCapacity = capacity;
- Init();
- }
-
-#if NET_2_0
-
- internal NameObjectCollectionBase (IEqualityComparer equalityComparer, IComparer comparer, IHashCodeProvider hcp)
- {
- equality_comparer = equalityComparer;
- m_comparer = comparer;
- m_hashprovider = hcp;
- m_readonly = false;
- m_defCapacity = 0;
- Init ();
- }
-
- protected NameObjectCollectionBase (IEqualityComparer equalityComparer) : this( (equalityComparer == null ? StringComparer.InvariantCultureIgnoreCase : equalityComparer), null, null)
- {
- }
-
- [Obsolete ("Use NameObjectCollectionBase(IEqualityComparer)")]
-#endif
- protected NameObjectCollectionBase(IHashCodeProvider hashProvider, IComparer comparer)
- {
- m_comparer = comparer;
- m_hashprovider = hashProvider;
- m_readonly = false;
- m_defCapacity = 0;
- Init();
- }
-
- protected NameObjectCollectionBase(SerializationInfo info, StreamingContext context)
- {
- infoCopy = info;
- }
-
-#if NET_2_0
- protected NameObjectCollectionBase (int capacity, IEqualityComparer equalityComparer)
- {
- m_readonly = false;
- equality_comparer = (equalityComparer == null ? StringComparer.InvariantCultureIgnoreCase : equalityComparer);
- m_defCapacity = capacity;
- Init();
- }
-
- [Obsolete ("Use NameObjectCollectionBase(int,IEqualityComparer)")]
-#endif
- protected NameObjectCollectionBase(int capacity, IHashCodeProvider hashProvider, IComparer comparer)
- {
- m_readonly = false;
-
- m_hashprovider = hashProvider;
- m_comparer = comparer;
- m_defCapacity = capacity;
- Init();
- }
-
- private void Init()
- {
-#if NET_2_0
- if (equality_comparer != null)
- m_ItemsContainer = new Hashtable (m_defCapacity, equality_comparer);
- else
- m_ItemsContainer = new Hashtable (m_defCapacity, m_hashprovider, m_comparer);
-#else
- m_ItemsContainer = new Hashtable(m_defCapacity, m_hashprovider, m_comparer);
-#endif
- m_ItemsArray = new ArrayList();
- m_NullKeyItem = null;
- }
-
- //--------------- Public Instance Properties -------------------
-
- public virtual NameObjectCollectionBase.KeysCollection Keys
- {
- get
- {
- if (keyscoll == null)
- keyscoll = new KeysCollection(this);
- return keyscoll;
- }
- }
-
- //--------------- Public Instance Methods ----------------------
- //
- /// <summary>
- /// SDK: Returns an enumerator that can iterate through the NameObjectCollectionBase.
- ///
- /// <remark>This enumerator returns the keys of the collection as strings.</remark>
- /// </summary>
- /// <returns></returns>
- public
-#if NET_2_0
- virtual
-#endif
- IEnumerator GetEnumerator()
- {
- return new _KeysEnumerator(this);
- }
-
- // ISerializable
- public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
- {
- if (info == null)
- throw new ArgumentNullException("info");
-
- int count = Count;
- string[] keys = new string[count];
- object[] values = new object[count];
- int i = 0;
- foreach (_Item item in m_ItemsArray)
- {
- keys[i] = item.key;
- values[i] = item.value;
- i++;
- }
-
-#if NET_2_0
- if (equality_comparer != null) {
- info.AddValue ("KeyComparer", equality_comparer, typeof (IEqualityComparer));
- info.AddValue ("Version", 4, typeof (int));
- } else {
- info.AddValue ("HashProvider", m_hashprovider, typeof (IHashCodeProvider));
- info.AddValue ("Comparer", m_comparer, typeof (IComparer));
- info.AddValue ("Version", 2, typeof (int));
- }
-#else
- info.AddValue("HashProvider", m_hashprovider, typeof(IHashCodeProvider));
- info.AddValue("Comparer", m_comparer, typeof(IComparer));
-#endif
- info.AddValue("ReadOnly", m_readonly);
- info.AddValue("Count", count);
- info.AddValue("Keys", keys, typeof(string[]));
- info.AddValue("Values", values, typeof(object[]));
- }
-
- // ICollection
- public virtual int Count
- {
- get
- {
- return m_ItemsArray.Count;
- }
- }
-
- bool ICollection.IsSynchronized
- {
- get { return false; }
- }
-
- object ICollection.SyncRoot
- {
- get { return this; }
- }
-
- void ICollection.CopyTo(Array array, int index)
- {
- ((ICollection)Keys).CopyTo(array, index);
- }
-
- // IDeserializationCallback
- public virtual void OnDeserialization(object sender)
- {
- SerializationInfo info = infoCopy;
-
- // If a subclass overrides the serialization constructor
- // and inplements its own serialization process, infoCopy will
- // be null and we can ignore this callback.
- if (info == null)
- return;
-
- infoCopy = null;
- m_hashprovider = (IHashCodeProvider)info.GetValue("HashProvider",
- typeof(IHashCodeProvider));
-#if NET_2_0
- if (m_hashprovider == null) {
- equality_comparer = (IEqualityComparer) info.GetValue ("KeyComparer", typeof (IEqualityComparer));
- } else {
- m_comparer = (IComparer) info.GetValue ("Comparer", typeof (IComparer));
- if (m_comparer == null)
- throw new SerializationException ("The comparer is null");
- }
-#else
- if (m_hashprovider == null)
- throw new SerializationException("The hash provider is null");
-
- m_comparer = (IComparer)info.GetValue("Comparer", typeof(IComparer));
- if (m_comparer == null)
- throw new SerializationException("The comparer is null");
-#endif
- m_readonly = info.GetBoolean("ReadOnly");
- string[] keys = (string[])info.GetValue("Keys", typeof(string[]));
- if (keys == null)
- throw new SerializationException("keys is null");
-
- object[] values = (object[])info.GetValue("Values", typeof(object[]));
- if (values == null)
- throw new SerializationException("values is null");
-
- Init();
- int count = keys.Length;
- for (int i = 0; i < count; i++)
- BaseAdd(keys[i], values[i]);
- }
-
- //--------------- Protected Instance Properties ----------------
- /// <summary>
- /// SDK: Gets or sets a value indicating whether the NameObjectCollectionBase instance is read-only.
- /// </summary>
- protected bool IsReadOnly
- {
- get
- {
- return m_readonly;
- }
- set
- {
- m_readonly = value;
- }
- }
-
- //--------------- Protected Instance Methods -------------------
- /// <summary>
- /// Adds an Item with the specified key and value into the <see cref="NameObjectCollectionBase"/>NameObjectCollectionBase instance.
- /// </summary>
- /// <param name="name"></param>
- /// <param name="value"></param>
- protected void BaseAdd(string name, object value)
- {
- if (this.IsReadOnly)
- throw new NotSupportedException("Collection is read-only");
-
- _Item newitem = new _Item(name, value);
-
- if (name == null)
- {
- //todo: consider nullkey entry
- if (m_NullKeyItem == null)
- m_NullKeyItem = newitem;
- }
- else
- if (m_ItemsContainer[name] == null)
- {
- m_ItemsContainer.Add(name, newitem);
- }
- m_ItemsArray.Add(newitem);
- }
-
- protected void BaseClear()
- {
- if (this.IsReadOnly)
- throw new NotSupportedException("Collection is read-only");
- Init();
- }
-
- /// <summary>
- /// SDK: Gets the value of the entry at the specified index of the NameObjectCollectionBase instance.
- /// </summary>
- /// <param name="index"></param>
- /// <returns></returns>
- protected object BaseGet(int index)
- {
- return ((_Item)m_ItemsArray[index]).value;
- }
-
- /// <summary>
- /// SDK: Gets the value of the first entry with the specified key from the NameObjectCollectionBase instance.
- /// </summary>
- /// <remark>CAUTION: The BaseGet method does not distinguish between a null reference which is returned because the specified key is not found and a null reference which is returned because the value associated with the key is a null reference.</remark>
- /// <param name="name"></param>
- /// <returns></returns>
- protected object BaseGet(string name)
- {
- _Item item = FindFirstMatchedItem(name);
- /// CAUTION: The BaseGet method does not distinguish between a null reference which is returned because the specified key is not found and a null reference which is returned because the value associated with the key is a null reference.
- if (item == null)
- return null;
- else
- return item.value;
- }
-
- /// <summary>
- /// SDK:Returns a String array that contains all the keys in the NameObjectCollectionBase instance.
- /// </summary>
- /// <returns>A String array that contains all the keys in the NameObjectCollectionBase instance.</returns>
- protected string[] BaseGetAllKeys()
- {
- int cnt = m_ItemsArray.Count;
- string[] allKeys = new string[cnt];
- for (int i = 0; i < cnt; i++)
- allKeys[i] = BaseGetKey(i);//((_Item)m_ItemsArray[i]).key;
-
- return allKeys;
- }
-
- /// <summary>
- /// SDK: Returns an Object array that contains all the values in the NameObjectCollectionBase instance.
- /// </summary>
- /// <returns>An Object array that contains all the values in the NameObjectCollectionBase instance.</returns>
- protected object[] BaseGetAllValues()
- {
- int cnt = m_ItemsArray.Count;
- object[] allValues = new object[cnt];
- for (int i = 0; i < cnt; i++)
- allValues[i] = BaseGet(i);
-
- return allValues;
- }
-
- protected object[] BaseGetAllValues(Type type)
- {
- if (type == null)
- throw new ArgumentNullException("'type' argument can't be null");
- int cnt = m_ItemsArray.Count;
- object[] allValues = (object[])Array.CreateInstance(type, cnt);
- for (int i = 0; i < cnt; i++)
- allValues[i] = BaseGet(i);
-
- return allValues;
- }
-
- protected string BaseGetKey(int index)
- {
- return ((_Item)m_ItemsArray[index]).key;
- }
-
- /// <summary>
- /// Gets a value indicating whether the NameObjectCollectionBase instance contains entries whose keys are not a null reference
- /// </summary>
- /// <returns>true if the NameObjectCollectionBase instance contains entries whose keys are not a null reference otherwise, false.</returns>
- protected bool BaseHasKeys()
- {
- return (m_ItemsContainer.Count > 0);
- }
-
- protected void BaseRemove(string name)
- {
- int cnt = 0;
- String key;
- if (this.IsReadOnly)
- throw new NotSupportedException("Collection is read-only");
- if (name != null)
- {
- m_ItemsContainer.Remove(name);
- }
- else
- {
- m_NullKeyItem = null;
- }
-
- cnt = m_ItemsArray.Count;
- for (int i = 0; i < cnt; )
- {
- key = BaseGetKey(i);
- if (Equals(key, name))
- {
- m_ItemsArray.RemoveAt(i);
- cnt--;
- }
- else
- i++;
- }
- }
-
- /// <summary>
- ///
- /// </summary>
- /// <param name="index"></param>
- /// <LAME>This function implemented the way Microsoft implemented it -
- /// item is removed from hashtable and array without considering the case when there are two items with the same key but different values in array.
- /// E.g. if
- /// hashtable is [("Key1","value1")] and array contains [("Key1","value1")("Key1","value2")] then
- /// after RemoveAt(1) the collection will be in following state:
- /// hashtable:[]
- /// array: [("Key1","value1")]
- /// It's ok only then the key is uniquely assosiated with the value
- /// To fix it a comparsion of objects stored under the same key in the hashtable and in the arraylist should be added
- /// </LAME>>
- protected void BaseRemoveAt(int index)
- {
- if (this.IsReadOnly)
- throw new NotSupportedException("Collection is read-only");
- string key = BaseGetKey(index);
- if (key != null)
- {
- // TODO: see LAME description above
- m_ItemsContainer.Remove(key);
- }
- else
- m_NullKeyItem = null;
- m_ItemsArray.RemoveAt(index);
- }
-
- /// <summary>
- /// SDK: Sets the value of the entry at the specified index of the NameObjectCollectionBase instance.
- /// </summary>
- /// <param name="index"></param>
- /// <param name="value"></param>
- protected void BaseSet(int index, object value)
- {
-#if NET_2_0
- if (this.IsReadOnly)
- throw new NotSupportedException("Collection is read-only");
-#endif
- _Item item = (_Item)m_ItemsArray[index];
- item.value = value;
- }
-
- /// <summary>
- /// Sets the value of the first entry with the specified key in the NameObjectCollectionBase instance, if found; otherwise, adds an entry with the specified key and value into the NameObjectCollectionBase instance.
- /// </summary>
- /// <param name="name">The String key of the entry to set. The key can be a null reference </param>
- /// <param name="value">The Object that represents the new value of the entry to set. The value can be a null reference</param>
- protected void BaseSet(string name, object value)
- {
-#if NET_2_0
- if (this.IsReadOnly)
- throw new NotSupportedException("Collection is read-only");
-#endif
- _Item item = FindFirstMatchedItem(name);
- if (item != null)
- item.value = value;
- else
- BaseAdd(name, value);
- }
-
- private _Item FindFirstMatchedItem(string name)
- {
- if (name != null)
- return (_Item)m_ItemsContainer[name];
- else
- {
- //TODO: consider null key case
- return m_NullKeyItem;
- }
- }
-
- internal bool Equals(string s1, string s2)
- {
-#if NET_2_0
- if (m_comparer != null)
- return (m_comparer.Compare (s1, s2) == 0);
- else
- return equality_comparer.Equals (s1, s2);
-#else
- return (m_comparer.Compare(s1, s2) == 0);
-#endif
- }
- }
-}
-#endif
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/NativeType.cs b/mcs/class/Mono.Cecil/Mono.Cecil/NativeType.cs
index c0df049d94d..afa107f0764 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/NativeType.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/NativeType.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -29,9 +29,9 @@
namespace Mono.Cecil {
public enum NativeType {
- NONE = 0x66,
+ None = 0x66,
- BOOLEAN = 0x02,
+ Boolean = 0x02,
I1 = 0x03,
U1 = 0x04,
I2 = 0x05,
@@ -42,32 +42,32 @@ namespace Mono.Cecil {
U8 = 0x0a,
R4 = 0x0b,
R8 = 0x0c,
- LPSTR = 0x14,
- INT = 0x1f,
- UINT = 0x20,
- FUNC = 0x26,
- ARRAY = 0x2a,
+ LPStr = 0x14,
+ Int = 0x1f,
+ UInt = 0x20,
+ Func = 0x26,
+ Array = 0x2a,
// Msft specific
- CURRENCY = 0x0f,
- BSTR = 0x13,
- LPWSTR = 0x15,
- LPTSTR = 0x16,
- FIXEDSYSSTRING = 0x17,
- IUNKNOWN = 0x19,
- IDISPATCH = 0x1a,
- STRUCT = 0x1b,
- INTF = 0x1c,
- SAFEARRAY = 0x1d,
- FIXEDARRAY = 0x1e,
- BYVALSTR = 0x22,
- ANSIBSTR = 0x23,
- TBSTR = 0x24,
- VARIANTBOOL = 0x25,
- ASANY = 0x28,
- LPSTRUCT = 0x2b,
- CUSTOMMARSHALER = 0x2c,
- ERROR = 0x2d,
- MAX = 0x50
+ Currency = 0x0f,
+ BStr = 0x13,
+ LPWStr = 0x15,
+ LPTStr = 0x16,
+ FixedSysString = 0x17,
+ IUnknown = 0x19,
+ IDispatch = 0x1a,
+ Struct = 0x1b,
+ IntF = 0x1c,
+ SafeArray = 0x1d,
+ FixedArray = 0x1e,
+ ByValStr = 0x22,
+ ANSIBStr = 0x23,
+ TBStr = 0x24,
+ VariantBool = 0x25,
+ ASAny = 0x28,
+ LPStruct = 0x2b,
+ CustomMarshaler = 0x2c,
+ Error = 0x2d,
+ Max = 0x50
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/NestedTypeCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/NestedTypeCollection.cs
deleted file mode 100644
index 9e0ee29caf5..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/NestedTypeCollection.cs
+++ /dev/null
@@ -1,128 +0,0 @@
-//
-// NestedTypeCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Fri Mar 30 18:43:57 +0200 2007
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class NestedTypeCollection : CollectionBase, IReflectionVisitable {
-
- TypeDefinition m_container;
-
- public TypeDefinition this [int index] {
- get { return List [index] as TypeDefinition; }
- set { List [index] = value; }
- }
-
- public TypeDefinition Container {
- get { return m_container; }
- }
-
- public NestedTypeCollection (TypeDefinition container)
- {
- m_container = container;
- }
-
- public void Add (TypeDefinition value)
- {
- Attach (value);
-
- List.Add (value);
- }
-
-
- public new void Clear ()
- {
- foreach (TypeDefinition item in this)
- Detach (item);
-
- base.Clear ();
- }
-
- public bool Contains (TypeDefinition value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (TypeDefinition value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, TypeDefinition value)
- {
- Attach (value);
-
- List.Insert (index, value);
- }
-
- public void Remove (TypeDefinition value)
- {
- List.Remove (value);
-
- Detach (value);
- }
-
-
- public new void RemoveAt (int index)
- {
- TypeDefinition item = this [index];
- Remove (item);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is TypeDefinition))
- throw new ArgumentException ("Must be of type " + typeof (TypeDefinition).FullName);
- }
-
- void Attach (MemberReference member)
- {
- if (member.DeclaringType != null)
- throw new ReflectionException ("Member already attached, clone it instead");
-
- member.DeclaringType = m_container;
- }
-
- void Detach (MemberReference member)
- {
- member.DeclaringType = null;
- }
-
- public void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitNestedTypeCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/OverrideCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/OverrideCollection.cs
deleted file mode 100644
index 77341affff9..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/OverrideCollection.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// OverrideCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Wed Sep 27 12:46:53 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class OverrideCollection : CollectionBase, IReflectionVisitable {
-
- MethodDefinition m_container;
-
- public MethodReference this [int index] {
- get { return List [index] as MethodReference; }
- set { List [index] = value; }
- }
-
- public MethodDefinition Container {
- get { return m_container; }
- }
-
- public OverrideCollection (MethodDefinition container)
- {
- m_container = container;
- }
-
- public void Add (MethodReference value)
- {
- List.Add (value);
- }
-
- public bool Contains (MethodReference value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (MethodReference value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, MethodReference value)
- {
- List.Insert (index, value);
- }
-
- public void Remove (MethodReference value)
- {
- List.Remove (value);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is MethodReference))
- throw new ArgumentException ("Must be of type " + typeof (MethodReference).FullName);
- }
-
- public void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitOverrideCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/PInvokeAttributes.cs b/mcs/class/Mono.Cecil/Mono.Cecil/PInvokeAttributes.cs
index 30d39350022..fc94692537f 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/PInvokeAttributes.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/PInvokeAttributes.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,9 +26,9 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
- using System;
+namespace Mono.Cecil {
[Flags]
public enum PInvokeAttributes : ushort {
@@ -40,6 +40,7 @@ namespace Mono.Cecil {
CharSetAnsi = 0x0002,
CharSetUnicode = 0x0004,
CharSetAuto = 0x0006,
+
SupportsLastError = 0x0040, // Information about target function. Not relevant for fields
// Calling convetion
@@ -48,6 +49,14 @@ namespace Mono.Cecil {
CallConvCdecl = 0x0200,
CallConvStdCall = 0x0300,
CallConvThiscall = 0x0400,
- CallConvFastcall = 0x0500
+ CallConvFastcall = 0x0500,
+
+ BestFitMask = 0x0030,
+ BestFitEnabled = 0x0010,
+ BestFidDisabled = 0x0020,
+
+ ThrowOnUnmappableCharMask = 0x3000,
+ ThrowOnUnmappableCharEnabled = 0x1000,
+ ThrowOnUnmappableCharDisabled = 0x2000,
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/PInvokeInfo.cs b/mcs/class/Mono.Cecil/Mono.Cecil/PInvokeInfo.cs
index 40c15511032..53aae2c38de 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/PInvokeInfo.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/PInvokeInfo.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -28,173 +28,111 @@
namespace Mono.Cecil {
- public sealed class PInvokeInfo : IReflectionVisitable {
+ public sealed class PInvokeInfo {
- MethodDefinition m_meth;
-
- PInvokeAttributes m_attributes;
- string m_entryPoint;
- ModuleReference m_module;
-
- public MethodDefinition Method {
- get { return m_meth; }
- }
+ ushort attributes;
+ string entry_point;
+ ModuleReference module;
public PInvokeAttributes Attributes {
- get { return m_attributes; }
- set { m_attributes = value; }
+ get { return (PInvokeAttributes) attributes; }
+ set { attributes = (ushort) value; }
}
public string EntryPoint {
- get { return m_entryPoint; }
- set { m_entryPoint = value; }
+ get { return entry_point; }
+ set { entry_point = value; }
}
public ModuleReference Module {
- get { return m_module; }
- set { m_module = value; }
+ get { return module; }
+ set { module = value; }
}
#region PInvokeAttributes
public bool IsNoMangle {
- get { return (m_attributes & PInvokeAttributes.NoMangle) != 0; }
- set {
- if (value)
- m_attributes |= PInvokeAttributes.NoMangle;
- else
- m_attributes &= ~PInvokeAttributes.NoMangle;
- }
+ get { return attributes.GetAttributes ((ushort) PInvokeAttributes.NoMangle); }
+ set { attributes = attributes.SetAttributes ((ushort) PInvokeAttributes.NoMangle, value); }
}
public bool IsCharSetNotSpec {
- get { return (m_attributes & PInvokeAttributes.CharSetMask) == PInvokeAttributes.CharSetNotSpec; }
- set {
- if (value) {
- m_attributes &= ~PInvokeAttributes.CharSetMask;
- m_attributes |= PInvokeAttributes.CharSetNotSpec;
- } else
- m_attributes &= ~(PInvokeAttributes.CharSetMask & PInvokeAttributes.CharSetNotSpec);
- }
+ get { return attributes.GetMaskedAttributes((ushort) PInvokeAttributes.CharSetMask, (ushort) PInvokeAttributes.CharSetNotSpec); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) PInvokeAttributes.CharSetMask, (ushort) PInvokeAttributes.CharSetNotSpec, value); }
}
public bool IsCharSetAnsi {
- get { return (m_attributes & PInvokeAttributes.CharSetMask) == PInvokeAttributes.CharSetAnsi; }
- set {
- if (value) {
- m_attributes &= ~PInvokeAttributes.CharSetMask;
- m_attributes |= PInvokeAttributes.CharSetAnsi;
- } else
- m_attributes &= ~(PInvokeAttributes.CharSetMask & PInvokeAttributes.CharSetAnsi);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) PInvokeAttributes.CharSetMask, (ushort) PInvokeAttributes.CharSetAnsi); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) PInvokeAttributes.CharSetMask, (ushort) PInvokeAttributes.CharSetAnsi, value); }
}
public bool IsCharSetUnicode {
- get { return (m_attributes & PInvokeAttributes.CharSetMask) == PInvokeAttributes.CharSetUnicode; }
- set {
- if (value) {
- m_attributes &= ~PInvokeAttributes.CharSetMask;
- m_attributes |= PInvokeAttributes.CharSetUnicode;
- } else
- m_attributes &= ~(PInvokeAttributes.CharSetMask & PInvokeAttributes.CharSetUnicode);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) PInvokeAttributes.CharSetMask, (ushort) PInvokeAttributes.CharSetUnicode); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) PInvokeAttributes.CharSetMask, (ushort) PInvokeAttributes.CharSetUnicode, value); }
}
public bool IsCharSetAuto {
- get { return (m_attributes & PInvokeAttributes.CharSetMask) == PInvokeAttributes.CharSetAuto; }
- set {
- if (value) {
- m_attributes &= ~PInvokeAttributes.CharSetMask;
- m_attributes |= PInvokeAttributes.CharSetAuto;
- } else
- m_attributes &= ~(PInvokeAttributes.CharSetMask & PInvokeAttributes.CharSetAuto);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) PInvokeAttributes.CharSetMask, (ushort) PInvokeAttributes.CharSetAuto); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) PInvokeAttributes.CharSetMask, (ushort) PInvokeAttributes.CharSetAuto, value); }
}
public bool SupportsLastError {
- get { return (m_attributes & PInvokeAttributes.CharSetMask) == PInvokeAttributes.SupportsLastError; }
- set {
- if (value) {
- m_attributes &= ~PInvokeAttributes.CharSetMask;
- m_attributes |= PInvokeAttributes.SupportsLastError;
- } else
- m_attributes &= ~(PInvokeAttributes.CharSetMask & PInvokeAttributes.SupportsLastError);
- }
+ get { return attributes.GetAttributes ((ushort) PInvokeAttributes.SupportsLastError); }
+ set { attributes = attributes.SetAttributes ((ushort) PInvokeAttributes.SupportsLastError, value); }
}
public bool IsCallConvWinapi {
- get { return (m_attributes & PInvokeAttributes.CallConvMask) == PInvokeAttributes.CallConvWinapi; }
- set {
- if (value) {
- m_attributes &= ~PInvokeAttributes.CallConvMask;
- m_attributes |= PInvokeAttributes.CallConvWinapi;
- } else
- m_attributes &= ~(PInvokeAttributes.CallConvMask & PInvokeAttributes.CallConvWinapi);
- }
+ get { return attributes.GetMaskedAttributes((ushort) PInvokeAttributes.CallConvMask, (ushort) PInvokeAttributes.CallConvWinapi); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) PInvokeAttributes.CallConvMask, (ushort) PInvokeAttributes.CallConvWinapi, value); }
}
public bool IsCallConvCdecl {
- get { return (m_attributes & PInvokeAttributes.CallConvMask) == PInvokeAttributes.CallConvCdecl; }
- set {
- if (value) {
- m_attributes &= ~PInvokeAttributes.CallConvMask;
- m_attributes |= PInvokeAttributes.CallConvCdecl;
- } else
- m_attributes &= ~(PInvokeAttributes.CallConvMask & PInvokeAttributes.CallConvCdecl);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) PInvokeAttributes.CallConvMask, (ushort) PInvokeAttributes.CallConvCdecl); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) PInvokeAttributes.CallConvMask, (ushort) PInvokeAttributes.CallConvCdecl, value); }
}
public bool IsCallConvStdCall {
- get { return (m_attributes & PInvokeAttributes.CallConvMask) == PInvokeAttributes.CallConvStdCall; }
- set {
- if (value) {
- m_attributes &= ~PInvokeAttributes.CallConvMask;
- m_attributes |= PInvokeAttributes.CallConvStdCall;
- } else
- m_attributes &= ~(PInvokeAttributes.CallConvMask & PInvokeAttributes.CallConvStdCall);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) PInvokeAttributes.CallConvMask, (ushort) PInvokeAttributes.CallConvStdCall); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) PInvokeAttributes.CallConvMask, (ushort) PInvokeAttributes.CallConvStdCall, value); }
}
public bool IsCallConvThiscall {
- get { return (m_attributes & PInvokeAttributes.CallConvMask) == PInvokeAttributes.CallConvThiscall; }
- set {
- if (value) {
- m_attributes &= ~PInvokeAttributes.CallConvMask;
- m_attributes |= PInvokeAttributes.CallConvThiscall;
- } else
- m_attributes &= ~(PInvokeAttributes.CallConvMask & PInvokeAttributes.CallConvThiscall);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) PInvokeAttributes.CallConvMask, (ushort) PInvokeAttributes.CallConvThiscall); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) PInvokeAttributes.CallConvMask, (ushort) PInvokeAttributes.CallConvThiscall, value); }
}
public bool IsCallConvFastcall {
- get { return (m_attributes & PInvokeAttributes.CallConvMask) == PInvokeAttributes.CallConvFastcall; }
- set {
- if (value) {
- m_attributes &= ~PInvokeAttributes.CallConvMask;
- m_attributes |= PInvokeAttributes.CallConvFastcall;
- } else
- m_attributes &= ~(PInvokeAttributes.CallConvMask & PInvokeAttributes.CallConvFastcall);
- }
+ get { return attributes.GetMaskedAttributes ((ushort) PInvokeAttributes.CallConvMask, (ushort) PInvokeAttributes.CallConvFastcall); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) PInvokeAttributes.CallConvMask, (ushort) PInvokeAttributes.CallConvFastcall, value); }
}
- #endregion
+ public bool IsBestFistEnabled {
+ get { return attributes.GetMaskedAttributes ((ushort) PInvokeAttributes.BestFitMask, (ushort) PInvokeAttributes.BestFitEnabled); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) PInvokeAttributes.BestFitMask, (ushort) PInvokeAttributes.BestFitEnabled, value); }
+ }
- public PInvokeInfo (MethodDefinition meth)
- {
- m_meth = meth;
+ public bool IsBestFistDisabled {
+ get { return attributes.GetMaskedAttributes ((ushort) PInvokeAttributes.BestFitMask, (ushort) PInvokeAttributes.BestFidDisabled); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) PInvokeAttributes.BestFitMask, (ushort) PInvokeAttributes.BestFidDisabled, value); }
}
- public PInvokeInfo (MethodDefinition meth, PInvokeAttributes attrs,
- string entryPoint, ModuleReference mod) : this (meth)
- {
- m_attributes = attrs;
- m_entryPoint = entryPoint;
- m_module = mod;
+ public bool IsThrowOnUnmappableCharEnabled {
+ get { return attributes.GetMaskedAttributes ((ushort) PInvokeAttributes.ThrowOnUnmappableCharMask, (ushort) PInvokeAttributes.ThrowOnUnmappableCharEnabled); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) PInvokeAttributes.ThrowOnUnmappableCharMask, (ushort) PInvokeAttributes.ThrowOnUnmappableCharEnabled, value); }
+ }
+
+ public bool IsThrowOnUnmappableCharDisabled {
+ get { return attributes.GetMaskedAttributes ((ushort) PInvokeAttributes.ThrowOnUnmappableCharMask, (ushort) PInvokeAttributes.ThrowOnUnmappableCharDisabled); }
+ set { attributes = attributes.SetMaskedAttributes ((ushort) PInvokeAttributes.ThrowOnUnmappableCharMask, (ushort) PInvokeAttributes.ThrowOnUnmappableCharDisabled, value); }
}
- public void Accept (IReflectionVisitor visitor)
+ #endregion
+
+ public PInvokeInfo (PInvokeAttributes attributes, string entryPoint, ModuleReference module)
{
- visitor.VisitPInvokeInfo (this);
+ this.attributes = (ushort) attributes;
+ this.entry_point = entryPoint;
+ this.module = module;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ParameterAttributes.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ParameterAttributes.cs
index c6097f84e38..8c12b548173 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ParameterAttributes.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/ParameterAttributes.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,9 +26,9 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
- using System;
+namespace Mono.Cecil {
[Flags]
public enum ParameterAttributes : ushort {
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ParameterDefinition.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ParameterDefinition.cs
index 8d31f42032d..059f257fc3b 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ParameterDefinition.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/ParameterDefinition.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 - 2007 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,179 +26,132 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using Mono.Collections.Generic;
- public sealed class ParameterDefinition : ParameterReference, IHasMarshalSpec,
- IMetadataTokenProvider, ICustomAttributeProvider, IHasConstant {
+namespace Mono.Cecil {
- ParameterAttributes m_attributes;
+ public sealed class ParameterDefinition : ParameterReference, ICustomAttributeProvider, IConstantProvider, IMarshalInfoProvider {
- bool m_hasConstant;
- object m_const;
+ ushort attributes;
- MethodReference m_method;
- CustomAttributeCollection m_customAttrs;
+ internal IMethodSignature method;
- MarshalSpec m_marshalDesc;
+ object constant = Mixin.NotResolved;
+ Collection<CustomAttribute> custom_attributes;
+ MarshalInfo marshal_info;
public ParameterAttributes Attributes {
- get { return m_attributes; }
- set { m_attributes = value; }
+ get { return (ParameterAttributes) attributes; }
+ set { attributes = (ushort) value; }
+ }
+
+ public IMethodSignature Method {
+ get { return method; }
}
public bool HasConstant {
- get { return m_hasConstant; }
+ get {
+ ResolveConstant ();
+
+ return constant != Mixin.NoValue;
+ }
+ set { if (!value) constant = Mixin.NoValue; }
}
public object Constant {
- get { return m_const; }
- set {
- m_hasConstant = true;
- m_const = value;
- }
+ get { return HasConstant ? constant : null; }
+ set { constant = value; }
}
- public MethodReference Method {
- get { return m_method; }
- set { m_method = value; }
+ void ResolveConstant ()
+ {
+ if (constant != Mixin.NotResolved)
+ return;
+
+ this.ResolveConstant (ref constant, parameter_type.Module);
}
public bool HasCustomAttributes {
- get { return (m_customAttrs == null) ? false : (m_customAttrs.Count > 0); }
+ get {
+ if (custom_attributes != null)
+ return custom_attributes.Count > 0;
+
+ return this.GetHasCustomAttributes (parameter_type.Module);
+ }
+ }
+
+ public Collection<CustomAttribute> CustomAttributes {
+ get { return custom_attributes ?? (custom_attributes = this.GetCustomAttributes (parameter_type.Module)); }
}
- public CustomAttributeCollection CustomAttributes {
+ public bool HasMarshalInfo {
get {
- if (m_customAttrs == null)
- m_customAttrs = new CustomAttributeCollection (this);
+ if (marshal_info != null)
+ return true;
- return m_customAttrs;
+ return this.GetHasMarshalInfo (parameter_type.Module);
}
}
- public MarshalSpec MarshalSpec {
- get { return m_marshalDesc; }
- set {
- m_marshalDesc = value;
- if (value != null)
- m_attributes |= ParameterAttributes.HasFieldMarshal;
- else
- m_attributes &= ~ParameterAttributes.HasFieldMarshal;
- }
+ public MarshalInfo MarshalInfo {
+ get { return marshal_info ?? (marshal_info = this.GetMarshalInfo (parameter_type.Module)); }
+ set { marshal_info = value; }
}
#region ParameterAttributes
public bool IsIn {
- get { return (m_attributes & ParameterAttributes.In) != 0; }
- set {
- if (value)
- m_attributes |= ParameterAttributes.In;
- else
- m_attributes &= ~ParameterAttributes.In;
- }
+ get { return attributes.GetAttributes ((ushort) ParameterAttributes.In); }
+ set { attributes = attributes.SetAttributes ((ushort) ParameterAttributes.In, value); }
}
public bool IsOut {
- get { return (m_attributes & ParameterAttributes.Out) != 0; }
- set {
- if (value)
- m_attributes |= ParameterAttributes.Out;
- else
- m_attributes &= ~ParameterAttributes.Out;
- }
+ get { return attributes.GetAttributes ((ushort) ParameterAttributes.Out); }
+ set { attributes = attributes.SetAttributes ((ushort) ParameterAttributes.Out, value); }
}
- public bool IsRetval {
- get { return (m_attributes & ParameterAttributes.Retval) != 0; }
- set {
- if (value)
- m_attributes |= ParameterAttributes.Retval;
- else
- m_attributes &= ~ParameterAttributes.Retval;
- }
+ public bool IsLcid {
+ get { return attributes.GetAttributes ((ushort) ParameterAttributes.Lcid); }
+ set { attributes = attributes.SetAttributes ((ushort) ParameterAttributes.Lcid, value); }
}
- public bool IsLcid {
- get { return (m_attributes & ParameterAttributes.Lcid) != 0; }
- set {
- if (value)
- m_attributes |= ParameterAttributes.Lcid;
- else
- m_attributes &= ~ParameterAttributes.Lcid;
- }
+ public bool IsReturnValue {
+ get { return attributes.GetAttributes ((ushort) ParameterAttributes.Retval); }
+ set { attributes = attributes.SetAttributes ((ushort) ParameterAttributes.Retval, value); }
}
public bool IsOptional {
- get { return (m_attributes & ParameterAttributes.Optional) != 0; }
- set {
- if (value)
- m_attributes |= ParameterAttributes.Optional;
- else
- m_attributes &= ~ParameterAttributes.Optional;
- }
+ get { return attributes.GetAttributes ((ushort) ParameterAttributes.Optional); }
+ set { attributes = attributes.SetAttributes ((ushort) ParameterAttributes.Optional, value); }
}
public bool HasDefault {
- get { return (m_attributes & ParameterAttributes.HasDefault) != 0; }
- set {
- if (value)
- m_attributes |= ParameterAttributes.HasDefault;
- else
- m_attributes &= ~ParameterAttributes.HasDefault;
- }
+ get { return attributes.GetAttributes ((ushort) ParameterAttributes.HasDefault); }
+ set { attributes = attributes.SetAttributes ((ushort) ParameterAttributes.HasDefault, value); }
}
- #endregion
-
- public ParameterDefinition (TypeReference paramType) :
- this (string.Empty, -1, (ParameterAttributes) 0, paramType)
- {
+ public bool HasFieldMarshal {
+ get { return attributes.GetAttributes ((ushort) ParameterAttributes.HasFieldMarshal); }
+ set { attributes = attributes.SetAttributes ((ushort) ParameterAttributes.HasFieldMarshal, value); }
}
- public override ParameterDefinition Resolve ()
- {
- return this;
- }
-
- public ParameterDefinition (string name, int seq, ParameterAttributes attrs, TypeReference paramType) : base (name, seq, paramType)
- {
- m_attributes = attrs;
- }
+ #endregion
- public ParameterDefinition Clone ()
+ public ParameterDefinition (TypeReference parameterType)
+ : this (string.Empty, ParameterAttributes.None, parameterType)
{
- return Clone (this, new ImportContext (NullReferenceImporter.Instance, m_method));
}
- internal static ParameterDefinition Clone (ParameterDefinition param, ImportContext context)
+ public ParameterDefinition (string name, ParameterAttributes attributes, TypeReference parameterType)
+ : base (name, parameterType)
{
- ParameterDefinition np = new ParameterDefinition (
- param.Name,
- param.Sequence,
- param.Attributes,
- context.Import (param.ParameterType));
-
- if (param.HasConstant)
- np.Constant = param.Constant;
-
- if (param.MarshalSpec != null)
- np.MarshalSpec = param.MarshalSpec.CloneInto (np);
-
- foreach (CustomAttribute ca in param.CustomAttributes)
- np.CustomAttributes.Add (CustomAttribute.Clone (ca, context));
-
- return np;
+ this.attributes = (ushort) attributes;
+ this.token = new MetadataToken (TokenType.Param);
}
- public override void Accept (IReflectionVisitor visitor)
+ public override ParameterDefinition Resolve ()
{
- visitor.VisitParameterDefinition (this);
-
- if (this.MarshalSpec != null)
- this.MarshalSpec.Accept (visitor);
-
- this.CustomAttributes.Accept (visitor);
+ return this;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ParameterDefinitionCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ParameterDefinitionCollection.cs
index 5fa22297414..86538bb9abf 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ParameterDefinitionCollection.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/ParameterDefinitionCollection.cs
@@ -4,10 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Wed Sep 27 12:46:52 CEST 2006
-//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -29,65 +26,55 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
+using System;
- using Mono.Cecil.Cil;
+using Mono.Collections.Generic;
- public sealed class ParameterDefinitionCollection : CollectionBase, IReflectionVisitable {
+namespace Mono.Cecil {
- IMemberReference m_container;
+ sealed class ParameterDefinitionCollection : Collection<ParameterDefinition> {
- public ParameterDefinition this [int index] {
- get { return List [index] as ParameterDefinition; }
- set { List [index] = value; }
- }
+ readonly IMethodSignature method;
- public IMemberReference Container {
- get { return m_container; }
- }
-
- public ParameterDefinitionCollection (IMemberReference container)
+ internal ParameterDefinitionCollection (IMethodSignature method)
{
- m_container = container;
+ this.method = method;
}
- public void Add (ParameterDefinition value)
+ internal ParameterDefinitionCollection (IMethodSignature method, int capacity)
+ : base (capacity)
{
- List.Add (value);
+ this.method = method;
}
- public bool Contains (ParameterDefinition value)
+ protected override void OnAdd (ParameterDefinition item, int index)
{
- return List.Contains (value);
+ item.method = method;
+ item.index = index;
}
- public int IndexOf (ParameterDefinition value)
+ protected override void OnInsert (ParameterDefinition item, int index)
{
- return List.IndexOf (value);
- }
+ item.method = method;
+ item.index = index;
- public void Insert (int index, ParameterDefinition value)
- {
- List.Insert (index, value);
+ for (int i = index; i < size; i++)
+ items [i].index = i + 1;
}
- public void Remove (ParameterDefinition value)
+ protected override void OnSet (ParameterDefinition item, int index)
{
- List.Remove (value);
+ item.method = method;
+ item.index = index;
}
- protected override void OnValidate (object o)
+ protected override void OnRemove (ParameterDefinition item, int index)
{
- if (! (o is ParameterDefinition))
- throw new ArgumentException ("Must be of type " + typeof (ParameterDefinition).FullName);
- }
+ item.method = null;
+ item.index = -1;
- public void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitParameterDefinitionCollection (this);
+ for (int i = index + 1; i < size; i++)
+ items [i].index = i - 1;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ParameterReference.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ParameterReference.cs
index 8626fde7445..cfe648f2e05 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ParameterReference.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/ParameterReference.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,65 +26,50 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
-
- using System.Collections;
+using System;
- using Mono.Cecil.Metadata;
+namespace Mono.Cecil {
- public abstract class ParameterReference : IMetadataTokenProvider, IAnnotationProvider, IReflectionVisitable {
+ public abstract class ParameterReference : IMetadataTokenProvider {
- string m_name;
- int m_sequence;
- TypeReference m_paramType;
- MetadataToken m_token;
- IDictionary m_annotations;
+ string name;
+ internal int index = -1;
+ protected TypeReference parameter_type;
+ internal MetadataToken token;
public string Name {
- get { return m_name; }
- set { m_name = value; }
+ get { return name; }
+ set { name = value; }
}
- public int Sequence {
- get { return m_sequence; }
- set { m_sequence = value; }
+ public int Index {
+ get { return index; }
}
public TypeReference ParameterType {
- get { return m_paramType; }
- set { m_paramType = value; }
+ get { return parameter_type; }
+ set { parameter_type = value; }
}
public MetadataToken MetadataToken {
- get { return m_token; }
- set { m_token = value; }
- }
-
- IDictionary IAnnotationProvider.Annotations {
- get {
- if (m_annotations == null)
- m_annotations = new Hashtable ();
- return m_annotations;
- }
+ get { return token; }
+ set { token = value; }
}
- public ParameterReference (string name, int sequence, TypeReference parameterType)
+ internal ParameterReference (string name, TypeReference parameterType)
{
- m_name = name;
- m_sequence = sequence;
- m_paramType = parameterType;
- }
+ if (parameterType == null)
+ throw new ArgumentNullException ("parameterType");
- public abstract ParameterDefinition Resolve ();
+ this.name = name ?? string.Empty;
+ this.parameter_type = parameterType;
+ }
public override string ToString ()
{
- if (m_name != null && m_name.Length > 0)
- return m_name;
-
- return string.Concat ("A_", m_sequence);
+ return name;
}
- public abstract void Accept (IReflectionVisitor visitor);
+ public abstract ParameterDefinition Resolve ();
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/PinnedType.cs b/mcs/class/Mono.Cecil/Mono.Cecil/PinnedType.cs
index f62a6bda782..d5e7a80c09a 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/PinnedType.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/PinnedType.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,12 +26,28 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+
+using MD = Mono.Cecil.Metadata;
+
namespace Mono.Cecil {
public sealed class PinnedType : TypeSpecification {
- public PinnedType (TypeReference pType) : base (pType)
+ public override bool IsValueType {
+ get { return false; }
+ set { throw new InvalidOperationException (); }
+ }
+
+ public override bool IsPinned {
+ get { return true; }
+ }
+
+ public PinnedType (TypeReference type)
+ : base (type)
{
+ Mixin.CheckType (type);
+ this.etype = MD.ElementType.Pinned;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/PointerType.cs b/mcs/class/Mono.Cecil/Mono.Cecil/PointerType.cs
index 12287332552..54ab77519a8 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/PointerType.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/PointerType.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,20 +26,36 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+
+using MD = Mono.Cecil.Metadata;
+
namespace Mono.Cecil {
public sealed class PointerType : TypeSpecification {
public override string Name {
- get { return string.Concat (base.Name, "*"); }
+ get { return base.Name + "*"; }
}
public override string FullName {
- get { return string.Concat (base.FullName, "*"); }
+ get { return base.FullName + "*"; }
+ }
+
+ public override bool IsValueType {
+ get { return false; }
+ set { throw new InvalidOperationException (); }
+ }
+
+ public override bool IsPointer {
+ get { return true; }
}
- public PointerType (TypeReference pType) : base (pType)
+ public PointerType (TypeReference type)
+ : base (type)
{
+ Mixin.CheckType (type);
+ this.etype = MD.ElementType.Ptr;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/PropertyAttributes.cs b/mcs/class/Mono.Cecil/Mono.Cecil/PropertyAttributes.cs
index f11468f2767..ad6fd9e8f04 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/PropertyAttributes.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/PropertyAttributes.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,12 +26,13 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
- using System;
+namespace Mono.Cecil {
[Flags]
public enum PropertyAttributes : ushort {
+ None = 0x0000,
SpecialName = 0x0200, // Property is special
RTSpecialName = 0x0400, // Runtime(metadata internal APIs) should check name encoding
HasDefault = 0x1000, // Property has default
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/PropertyDefinition.cs b/mcs/class/Mono.Cecil/Mono.Cecil/PropertyDefinition.cs
index e4d0f74364c..835a929a761 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/PropertyDefinition.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/PropertyDefinition.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,135 +26,183 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System.Text;
+
+using Mono.Collections.Generic;
- using System;
- using System.Text;
+namespace Mono.Cecil {
- public sealed class PropertyDefinition : PropertyReference,
- IMemberDefinition, ICustomAttributeProvider, IHasConstant {
+ public sealed class PropertyDefinition : PropertyReference, IMemberDefinition, IConstantProvider {
- PropertyAttributes m_attributes;
+ bool? has_this;
+ ushort attributes;
- CustomAttributeCollection m_customAttrs;
+ Collection<CustomAttribute> custom_attributes;
- MethodDefinition m_getMeth;
- MethodDefinition m_setMeth;
+ internal MethodDefinition get_method;
+ internal MethodDefinition set_method;
+ internal Collection<MethodDefinition> other_methods;
- bool m_hasConstant;
- object m_const;
+ object constant = Mixin.NotResolved;
public PropertyAttributes Attributes {
- get { return m_attributes; }
- set { m_attributes = value; }
+ get { return (PropertyAttributes) attributes; }
+ set { attributes = (ushort) value; }
+ }
+
+ public bool HasThis {
+ get {
+ if (has_this.HasValue)
+ return has_this.Value;
+
+ if (GetMethod != null)
+ return get_method.HasThis;
+
+ if (SetMethod != null)
+ return set_method.HasThis;
+
+ return false;
+ }
+ set { has_this = value; }
}
public bool HasCustomAttributes {
- get { return (m_customAttrs == null) ? false : (m_customAttrs.Count > 0); }
+ get {
+ if (custom_attributes != null)
+ return custom_attributes.Count > 0;
+
+ return this.GetHasCustomAttributes (Module);
+ }
+ }
+
+ public Collection<CustomAttribute> CustomAttributes {
+ get { return custom_attributes ?? (custom_attributes = this.GetCustomAttributes (Module)); }
}
- public CustomAttributeCollection CustomAttributes {
+ public MethodDefinition GetMethod {
get {
- if (m_customAttrs == null)
- m_customAttrs = new CustomAttributeCollection (this);
+ if (get_method != null)
+ return get_method;
- return m_customAttrs;
+ InitializeMethods ();
+ return get_method;
}
+ set { get_method = value; }
}
- public override bool HasParameters {
+ public MethodDefinition SetMethod {
get {
- if (m_getMeth != null)
- return m_getMeth.HasParameters;
- else if (m_setMeth != null)
- return m_setMeth.HasParameters;
- else if (m_parameters == null)
- return false;
- else
- return m_parameters.Count > 0;
+ if (set_method != null)
+ return set_method;
+
+ InitializeMethods ();
+ return set_method;
}
+ set { set_method = value; }
}
- public override ParameterDefinitionCollection Parameters {
+ public bool HasOtherMethods {
get {
- if (this.GetMethod != null)
- return CloneParameterCollection (this.GetMethod.Parameters);
- else if (this.SetMethod != null) {
- ParameterDefinitionCollection parameters =
- CloneParameterCollection (this.SetMethod.Parameters);
- if (parameters.Count > 0)
- parameters.RemoveAt (parameters.Count - 1);
- return parameters;
- }
+ if (other_methods != null)
+ return other_methods.Count > 0;
- if (m_parameters == null)
- m_parameters = new ParameterDefinitionCollection (this);
+ InitializeMethods ();
+ return !other_methods.IsNullOrEmpty ();
+ }
+ }
+
+ public Collection<MethodDefinition> OtherMethods {
+ get {
+ if (other_methods != null)
+ return other_methods;
+
+ InitializeMethods ();
- return m_parameters;
+ if (other_methods != null)
+ return other_methods;
+
+ return other_methods = new Collection<MethodDefinition> ();
}
}
- public MethodDefinition GetMethod {
- get { return m_getMeth; }
- set { m_getMeth = value; }
+ public bool HasParameters {
+ get {
+ if (get_method != null)
+ return get_method.HasParameters;
+
+ if (set_method != null)
+ return set_method.HasParameters && set_method.Parameters.Count > 1;
+
+ return false;
+ }
}
- public MethodDefinition SetMethod {
- get { return m_setMeth; }
- set { m_setMeth = value; }
+ public override Collection<ParameterDefinition> Parameters {
+ get {
+ InitializeMethods ();
+
+ if (get_method != null)
+ return MirrorParameters (get_method, 0);
+
+ if (set_method != null)
+ return MirrorParameters (set_method, 1);
+
+ return new Collection<ParameterDefinition> ();
+ }
}
- ParameterDefinitionCollection CloneParameterCollection (ParameterDefinitionCollection original)
+ static Collection<ParameterDefinition> MirrorParameters (MethodDefinition method, int bound)
{
- ParameterDefinitionCollection clone = new ParameterDefinitionCollection (
- original.Container);
- foreach (ParameterDefinition param in original)
- clone.Add (param);
- return clone;
+ var parameters = new Collection<ParameterDefinition> ();
+ if (!method.HasParameters)
+ return parameters;
+
+ var original_parameters = method.Parameters;
+ var end = original_parameters.Count - bound;
+
+ for (int i = 0; i < end; i++)
+ parameters.Add (original_parameters [i]);
+
+ return parameters;
}
public bool HasConstant {
- get { return m_hasConstant; }
+ get {
+ ResolveConstant ();
+
+ return constant != Mixin.NoValue;
+ }
+ set { if (!value) constant = Mixin.NoValue; }
}
public object Constant {
- get { return m_const; }
- set {
- m_hasConstant = true;
- m_const = value;
- }
+ get { return HasConstant ? constant : null; }
+ set { constant = value; }
+ }
+
+ void ResolveConstant ()
+ {
+ if (constant != Mixin.NotResolved)
+ return;
+
+ this.ResolveConstant (ref constant, Module);
}
#region PropertyAttributes
public bool IsSpecialName {
- get { return (m_attributes & PropertyAttributes.SpecialName) != 0; }
- set {
- if (value)
- m_attributes |= PropertyAttributes.SpecialName;
- else
- m_attributes &= ~PropertyAttributes.SpecialName;
- }
+ get { return attributes.GetAttributes ((ushort) PropertyAttributes.SpecialName); }
+ set { attributes = attributes.SetAttributes ((ushort) PropertyAttributes.SpecialName, value); }
}
public bool IsRuntimeSpecialName {
- get { return (m_attributes & PropertyAttributes.RTSpecialName) != 0; }
- set {
- if (value)
- m_attributes |= PropertyAttributes.RTSpecialName;
- else
- m_attributes &= ~PropertyAttributes.RTSpecialName;
- }
+ get { return attributes.GetAttributes ((ushort) PropertyAttributes.RTSpecialName); }
+ set { attributes = attributes.SetAttributes ((ushort) PropertyAttributes.RTSpecialName, value); }
}
public bool HasDefault {
- get { return (m_attributes & PropertyAttributes.HasDefault) != 0; }
- set {
- if (value)
- m_attributes |= PropertyAttributes.HasDefault;
- else
- m_attributes &= ~PropertyAttributes.HasDefault;
- }
+ get { return attributes.GetAttributes ((ushort) PropertyAttributes.HasDefault); }
+ set { attributes = attributes.SetAttributes ((ushort) PropertyAttributes.HasDefault, value); }
}
#endregion
@@ -164,89 +212,47 @@ namespace Mono.Cecil {
set { base.DeclaringType = value; }
}
- public PropertyDefinition (string name, TypeReference propertyType, PropertyAttributes attrs) : base (name, propertyType)
- {
- m_attributes = attrs;
- }
-
- public override PropertyDefinition Resolve ()
- {
- return this;
- }
-
- public static MethodDefinition CreateGetMethod (PropertyDefinition prop)
- {
- MethodDefinition get = new MethodDefinition (
- string.Concat ("get_", prop.Name), (MethodAttributes) 0, prop.PropertyType);
- prop.GetMethod = get;
- return get;
- }
-
- public static MethodDefinition CreateSetMethod (PropertyDefinition prop)
- {
- MethodDefinition set = new MethodDefinition (
- string.Concat ("set_", prop.Name), (MethodAttributes) 0, prop.PropertyType);
- prop.SetMethod = set;
- return set;
+ public override bool IsDefinition {
+ get { return true; }
}
- public PropertyDefinition Clone ()
- {
- return Clone (this, new ImportContext (NullReferenceImporter.Instance, this.DeclaringType));
- }
-
- internal static PropertyDefinition Clone (PropertyDefinition prop, ImportContext context)
- {
- PropertyDefinition np = new PropertyDefinition (
- prop.Name,
- context.Import (prop.PropertyType),
- prop.Attributes);
-
- if (prop.HasConstant)
- np.Constant = prop.Constant;
-
- if (context.GenericContext.Type is TypeDefinition) {
- TypeDefinition type = context.GenericContext.Type as TypeDefinition;
- if (prop.SetMethod != null)
- np.SetMethod = type.Methods.GetMethod (prop.SetMethod.Name, prop.SetMethod.Parameters);
- if (prop.GetMethod != null)
- np.GetMethod = type.Methods.GetMethod (prop.GetMethod.Name, prop.GetMethod.Parameters);
+ public override string FullName {
+ get {
+ var builder = new StringBuilder ();
+ builder.Append (PropertyType.ToString ());
+ builder.Append (' ');
+ builder.Append (MemberFullName ());
+ builder.Append ('(');
+ if (HasParameters) {
+ var parameters = Parameters;
+ for (int i = 0; i < parameters.Count; i++) {
+ if (i > 0)
+ builder.Append (',');
+ builder.Append (parameters [i].ParameterType.FullName);
+ }
+ }
+ builder.Append (')');
+ return builder.ToString ();
}
-
- foreach (CustomAttribute ca in prop.CustomAttributes)
- np.CustomAttributes.Add (CustomAttribute.Clone (ca, context));
-
- return np;
}
- public override string ToString ()
+ public PropertyDefinition (string name, PropertyAttributes attributes, TypeReference propertyType)
+ : base (name, propertyType)
{
- StringBuilder sb = new StringBuilder ();
- sb.Append (PropertyType.ToString ());
- sb.Append (' ');
-
- if (this.DeclaringType != null) {
- sb.Append (this.DeclaringType.ToString ());
- sb.Append ("::");
- }
-
- sb.Append (this.Name);
- sb.Append ('(');
- ParameterDefinitionCollection parameters = this.Parameters;
- for (int i = 0; i < parameters.Count; i++) {
- if (i > 0)
- sb.Append (',');
- sb.Append (parameters [i].ParameterType.ToString ());
- }
- sb.Append (')');
- return sb.ToString ();
+ this.attributes = (ushort) attributes;
+ this.token = new MetadataToken (TokenType.Property);
}
- public override void Accept (IReflectionVisitor visitor)
+ void InitializeMethods ()
{
- visitor.VisitPropertyDefinition (this);
+ if (get_method != null || set_method != null)
+ return;
+
+ var module = this.Module;
+ if (!module.HasImage ())
+ return;
- this.CustomAttributes.Accept (visitor);
+ module.Read (this, (property, reader) => reader.ReadMethods (property));
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/PropertyDefinitionCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/PropertyDefinitionCollection.cs
deleted file mode 100644
index 7860b6ca369..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/PropertyDefinitionCollection.cs
+++ /dev/null
@@ -1,138 +0,0 @@
-//
-// PropertyDefinitionCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Fri Mar 30 18:43:57 +0200 2007
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class PropertyDefinitionCollection : CollectionBase, IReflectionVisitable {
-
- TypeDefinition m_container;
-
- public PropertyDefinition this [int index] {
- get { return List [index] as PropertyDefinition; }
- set { List [index] = value; }
- }
-
- public TypeDefinition Container {
- get { return m_container; }
- }
-
- public PropertyDefinitionCollection (TypeDefinition container)
- {
- m_container = container;
- }
-
- public void Add (PropertyDefinition value)
- {
- Attach (value);
-
- List.Add (value);
- }
-
-
- public new void Clear ()
- {
- foreach (PropertyDefinition item in this)
- Detach (item);
-
- base.Clear ();
- }
-
- public bool Contains (PropertyDefinition value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (PropertyDefinition value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, PropertyDefinition value)
- {
- Attach (value);
-
- List.Insert (index, value);
- }
-
- public void Remove (PropertyDefinition value)
- {
- List.Remove (value);
-
- Detach (value);
- }
-
-
- public new void RemoveAt (int index)
- {
- PropertyDefinition item = this [index];
- Remove (item);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is PropertyDefinition))
- throw new ArgumentException ("Must be of type " + typeof (PropertyDefinition).FullName);
- }
-
- public PropertyDefinition [] GetProperties (string name)
- {
- ArrayList ret = new ArrayList ();
- foreach (PropertyDefinition prop in this)
- if (prop.Name == name)
- ret.Add (prop);
-
- return ret.ToArray (typeof (PropertyDefinition)) as PropertyDefinition [];
- }
-
- void Attach (MemberReference member)
- {
- if (member.DeclaringType != null)
- throw new ReflectionException ("Member already attached, clone it instead");
-
- member.DeclaringType = m_container;
- }
-
- void Detach (MemberReference member)
- {
- member.DeclaringType = null;
- }
-
- public void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitPropertyDefinitionCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/PropertyReference.cs b/mcs/class/Mono.Cecil/Mono.Cecil/PropertyReference.cs
index 5dfd9268c07..5022cd326c9 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/PropertyReference.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/PropertyReference.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,31 +26,32 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+
+using Mono.Collections.Generic;
+
namespace Mono.Cecil {
public abstract class PropertyReference : MemberReference {
- TypeReference m_propertyType;
- protected ParameterDefinitionCollection m_parameters;
+ TypeReference property_type;
public TypeReference PropertyType {
- get { return m_propertyType; }
- set { m_propertyType = value; }
+ get { return property_type; }
+ set { property_type = value; }
}
- public abstract bool HasParameters {
+ public abstract Collection<ParameterDefinition> Parameters {
get;
}
- public abstract ParameterDefinitionCollection Parameters {
- get;
- }
-
- public PropertyReference (string name, TypeReference propertyType) : base (name)
+ internal PropertyReference (string name, TypeReference propertyType)
+ : base (name)
{
- m_propertyType = propertyType;
- }
+ if (propertyType == null)
+ throw new ArgumentNullException ("propertyType");
- public abstract PropertyDefinition Resolve ();
+ property_type = propertyType;
+ }
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ReferenceType.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ReferenceType.cs
index 6d1e0e80a77..3a6b326d49c 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ReferenceType.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/ReferenceType.cs
@@ -1,10 +1,10 @@
//
-// ReferenceType.cs
+// ByReferenceType.cs
//
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,20 +26,36 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+
+using MD = Mono.Cecil.Metadata;
+
namespace Mono.Cecil {
- public sealed class ReferenceType : TypeSpecification {
+ public sealed class ByReferenceType : TypeSpecification {
public override string Name {
- get { return string.Concat (base.Name, "&"); }
+ get { return base.Name + "&"; }
}
public override string FullName {
- get { return string.Concat (base.FullName, "&"); }
+ get { return base.FullName + "&"; }
+ }
+
+ public override bool IsValueType {
+ get { return false; }
+ set { throw new InvalidOperationException (); }
+ }
+
+ public override bool IsByReference {
+ get { return true; }
}
- public ReferenceType (TypeReference type) : base (type)
+ public ByReferenceType (TypeReference type)
+ : base (type)
{
+ Mixin.CheckType (type);
+ this.etype = MD.ElementType.ByRef;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ReflectionException.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ReflectionException.cs
deleted file mode 100644
index 40273134cf8..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ReflectionException.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// ReflectionException.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
-
- using Mono.Cecil.Metadata;
-
- public sealed class ReflectionException : MetadataFormatException {
-
- internal ReflectionException () : base ()
- {
- }
-
- internal ReflectionException (string message) : base (message)
- {
- }
-
- internal ReflectionException (string message, params string [] parameters) :
- base (string.Format (message, parameters))
- {
- }
-
- internal ReflectionException (string message, Exception inner) :
- base (message, inner)
- {
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/Resource.cs b/mcs/class/Mono.Cecil/Mono.Cecil/Resource.cs
index 9790803e300..0432ae78986 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/Resource.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/Resource.cs
@@ -1,10 +1,10 @@
//
-// Resource.cs
+// ResourceType.cs
//
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -28,64 +28,49 @@
namespace Mono.Cecil {
- using System.Collections;
+ public enum ResourceType {
+ Linked,
+ Embedded,
+ AssemblyLinked,
+ }
- public abstract class Resource : IAnnotationProvider, IReflectionStructureVisitable {
+ public abstract class Resource {
- string m_name;
- ManifestResourceAttributes m_attributes;
- IDictionary m_annotations;
+ string name;
+ uint attributes;
public string Name {
- get { return m_name; }
- set { m_name = value; }
+ get { return name; }
+ set { name = value; }
}
- public ManifestResourceAttributes Flags {
- get { return m_attributes; }
- set { m_attributes = value; }
+ public ManifestResourceAttributes Attributes {
+ get { return (ManifestResourceAttributes) attributes; }
+ set { attributes = (uint) value; }
}
- IDictionary IAnnotationProvider.Annotations {
- get {
- if (m_annotations == null)
- m_annotations = new Hashtable ();
- return m_annotations;
- }
+ public abstract ResourceType ResourceType {
+ get;
}
#region ManifestResourceAttributes
public bool IsPublic {
- get { return (m_attributes & ManifestResourceAttributes.VisibilityMask) == ManifestResourceAttributes.Public; }
- set {
- if (value) {
- m_attributes &= ~ManifestResourceAttributes.VisibilityMask;
- m_attributes |= ManifestResourceAttributes.Public;
- } else
- m_attributes &= ~(ManifestResourceAttributes.VisibilityMask & ManifestResourceAttributes.Public);
- }
+ get { return attributes.GetMaskedAttributes ((uint) ManifestResourceAttributes.VisibilityMask, (uint) ManifestResourceAttributes.Public); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) ManifestResourceAttributes.VisibilityMask, (uint) ManifestResourceAttributes.Public, value); }
}
public bool IsPrivate {
- get { return (m_attributes & ManifestResourceAttributes.VisibilityMask) == ManifestResourceAttributes.Private; }
- set {
- if (value) {
- m_attributes &= ~ManifestResourceAttributes.VisibilityMask;
- m_attributes |= ManifestResourceAttributes.Private;
- } else
- m_attributes &= ~(ManifestResourceAttributes.VisibilityMask & ManifestResourceAttributes.Private);
- }
+ get { return attributes.GetMaskedAttributes ((uint) ManifestResourceAttributes.VisibilityMask, (uint) ManifestResourceAttributes.Private); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) ManifestResourceAttributes.VisibilityMask, (uint) ManifestResourceAttributes.Private, value); }
}
#endregion
internal Resource (string name, ManifestResourceAttributes attributes)
{
- m_name = name;
- m_attributes = attributes;
+ this.name = name;
+ this.attributes = (uint) attributes;
}
-
- public abstract void Accept (IReflectionStructureVisitor visitor);
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ResourceCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/ResourceCollection.cs
deleted file mode 100644
index 5a9696a449d..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ResourceCollection.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// ResourceCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Wed Sep 27 12:46:54 CEST 2006
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Cil;
-
- public sealed class ResourceCollection : CollectionBase, IReflectionStructureVisitable {
-
- ModuleDefinition m_container;
-
- public Resource this [int index] {
- get { return List [index] as Resource; }
- set { List [index] = value; }
- }
-
- public ModuleDefinition Container {
- get { return m_container; }
- }
-
- public ResourceCollection (ModuleDefinition container)
- {
- m_container = container;
- }
-
- public void Add (Resource value)
- {
- List.Add (value);
- }
-
- public bool Contains (Resource value)
- {
- return List.Contains (value);
- }
-
- public int IndexOf (Resource value)
- {
- return List.IndexOf (value);
- }
-
- public void Insert (int index, Resource value)
- {
- List.Insert (index, value);
- }
-
- public void Remove (Resource value)
- {
- List.Remove (value);
- }
-
- protected override void OnValidate (object o)
- {
- if (! (o is Resource))
- throw new ArgumentException ("Must be of type " + typeof (Resource).FullName);
- }
-
- public void Accept (IReflectionStructureVisitor visitor)
- {
- visitor.VisitResourceCollection (this);
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/SecurityAction.cs b/mcs/class/Mono.Cecil/Mono.Cecil/SecurityAction.cs
deleted file mode 100644
index b1ac33063a0..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/SecurityAction.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// SecurityAction.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- public enum SecurityAction : short {
- Request = 1,
- Demand = 2,
- Assert = 3,
- Deny = 4,
- PermitOnly = 5,
- LinkDemand = 6,
- InheritDemand = 7,
- RequestMinimum = 8,
- RequestOptional = 9,
- RequestRefuse = 10,
- PreJitGrant = 11,
- PreJitDeny = 12,
- NonCasDemand = 13,
- NonCasLinkDemand = 14,
- NonCasInheritance = 15
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/SecurityDeclaration.cs b/mcs/class/Mono.Cecil/Mono.Cecil/SecurityDeclaration.cs
index aa7b93cf836..4e57adae3e1 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/SecurityDeclaration.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/SecurityDeclaration.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,111 +26,157 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+
+using Mono.Collections.Generic;
+
namespace Mono.Cecil {
- using System;
- using System.Collections;
- using System.Security;
+ public enum SecurityAction : ushort {
+ Request = 1,
+ Demand = 2,
+ Assert = 3,
+ Deny = 4,
+ PermitOnly = 5,
+ LinkDemand = 6,
+ InheritDemand = 7,
+ RequestMinimum = 8,
+ RequestOptional = 9,
+ RequestRefuse = 10,
+ PreJitGrant = 11,
+ PreJitDeny = 12,
+ NonCasDemand = 13,
+ NonCasLinkDemand = 14,
+ NonCasInheritance = 15
+ }
+
+ public interface ISecurityDeclarationProvider : IMetadataTokenProvider {
- public sealed class SecurityDeclaration : IRequireResolving, IAnnotationProvider, IReflectionVisitable {
+ bool HasSecurityDeclarations { get; }
+ Collection<SecurityDeclaration> SecurityDeclarations { get; }
+ }
- SecurityAction m_action;
- SecurityDeclarationReader m_reader;
- IDictionary m_annotations;
+ public sealed class SecurityAttribute : ICustomAttribute {
-#if !CF_1_0 && !CF_2_0
- PermissionSet m_permSet;
-#endif
+ TypeReference attribute_type;
- bool m_resolved;
- byte [] m_blob;
+ internal Collection<CustomAttributeNamedArgument> fields;
+ internal Collection<CustomAttributeNamedArgument> properties;
- public SecurityAction Action {
- get { return m_action; }
- set { m_action = value; }
+ public TypeReference AttributeType {
+ get { return attribute_type; }
+ set { attribute_type = value; }
+ }
+
+ public bool HasFields {
+ get { return !fields.IsNullOrEmpty (); }
}
-#if !CF_1_0 && !CF_2_0
- public PermissionSet PermissionSet {
- get { return m_permSet; }
- set { m_permSet = value; }
+ public Collection<CustomAttributeNamedArgument> Fields {
+ get { return fields ?? (fields = new Collection<CustomAttributeNamedArgument> ()); }
}
-#endif
- public bool Resolved {
- get { return m_resolved; }
- set { m_resolved = value; }
+ public bool HasProperties {
+ get { return !properties.IsNullOrEmpty (); }
+ }
+
+ public Collection<CustomAttributeNamedArgument> Properties {
+ get { return properties ?? (properties = new Collection<CustomAttributeNamedArgument> ()); }
+ }
+
+ public SecurityAttribute (TypeReference attributeType)
+ {
+ this.attribute_type = attributeType;
+ }
+ }
+
+ public sealed class SecurityDeclaration {
+
+ readonly internal uint signature;
+ readonly ModuleDefinition module;
+
+ internal bool resolved;
+ SecurityAction action;
+ internal Collection<SecurityAttribute> security_attributes;
+
+ public SecurityAction Action {
+ get { return action; }
+ set { action = value; }
}
- public byte [] Blob {
- get { return m_blob; }
- set { m_blob = value; }
+ public bool HasSecurityAttributes {
+ get {
+ Resolve ();
+
+ return !security_attributes.IsNullOrEmpty ();
+ }
}
- IDictionary IAnnotationProvider.Annotations {
+ public Collection<SecurityAttribute> SecurityAttributes {
get {
- if (m_annotations == null)
- m_annotations = new Hashtable ();
- return m_annotations;
+ Resolve ();
+
+ return security_attributes ?? (security_attributes = new Collection<SecurityAttribute> ());
}
}
- public SecurityDeclaration (SecurityAction action)
- {
- m_action = action;
+ internal bool HasImage {
+ get { return module != null && module.HasImage; }
}
- internal SecurityDeclaration (SecurityAction action, SecurityDeclarationReader reader)
+ internal SecurityDeclaration (SecurityAction action, uint signature, ModuleDefinition module)
{
- m_action = action;
- m_reader = reader;
+ this.action = action;
+ this.signature = signature;
+ this.module = module;
}
- public SecurityDeclaration Clone ()
+ public SecurityDeclaration (SecurityAction action)
{
- return Clone (this);
+ this.action = action;
+ this.resolved = true;
}
- internal static SecurityDeclaration Clone (SecurityDeclaration sec)
+ public byte [] GetBlob ()
{
- SecurityDeclaration sd = new SecurityDeclaration (sec.Action);
- if (!sec.Resolved) {
- sd.Resolved = false;
- sd.Blob = sec.Blob;
- return sd;
- }
+ if (!HasImage || signature == 0)
+ throw new NotSupportedException ();
-#if !CF_1_0 && !CF_2_0
- sd.PermissionSet = sec.PermissionSet.Copy ();
-#endif
- return sd;
+ return module.Read (this, (declaration, reader) => reader.ReadSecurityDeclarationBlob (declaration.signature)); ;
}
- public bool Resolve ()
+ void Resolve ()
{
- if (m_resolved)
- return true;
+ if (resolved || !HasImage)
+ return;
- if (m_reader == null)
- return false;
+ module.Read (this, (declaration, reader) => {
+ reader.ReadSecurityDeclarationSignature (declaration);
+ return this;
+ });
- SecurityDeclaration clone = m_reader.FromByteArray (m_action, m_blob, true);
- if (!clone.Resolved)
- return false;
+ resolved = true;
+ }
+ }
- m_action = clone.Action;
-#if !CF_1_0 && !CF_2_0
- m_permSet = clone.PermissionSet.Copy ();
-#endif
- m_resolved = true;
+ static partial class Mixin {
- return true;
+ public static bool GetHasSecurityDeclarations (
+ this ISecurityDeclarationProvider self,
+ ModuleDefinition module)
+ {
+ return module.HasImage ()
+ ? module.Read (self, (provider, reader) => reader.HasSecurityDeclarations (provider))
+ : false;
}
- public void Accept (IReflectionVisitor visitor)
+ public static Collection<SecurityDeclaration> GetSecurityDeclarations (
+ this ISecurityDeclarationProvider self,
+ ModuleDefinition module)
{
- visitor.VisitSecurityDeclaration (this);
+ return module.HasImage ()
+ ? module.Read (self, (provider, reader) => reader.ReadSecurityDeclarations (provider))
+ : new Collection<SecurityDeclaration> ();
}
}
}
-
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/SecurityDeclarationCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/SecurityDeclarationCollection.cs
deleted file mode 100644
index a5fa166a0a9..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/SecurityDeclarationCollection.cs
+++ /dev/null
@@ -1,157 +0,0 @@
-//
-// SecurityDeclarationCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- public sealed class SecurityDeclarationCollection : IReflectionVisitable, IEnumerable {
-
- IDictionary m_items;
- IHasSecurity m_container;
-
- public SecurityDeclaration this [int index] {
- get { return m_items [index] as SecurityDeclaration; }
- set { m_items [index] = value; }
- }
-
- public SecurityDeclaration this [SecurityAction action] {
- get { return m_items [action] as SecurityDeclaration; }
- set { m_items [action] = value; }
- }
-
- public IHasSecurity Container {
- get { return m_container; }
- }
-
- public int Count {
- get { return m_items.Count; }
- }
-
- public bool IsSynchronized {
- get { return false; }
- }
-
- public object SyncRoot {
- get { return this; }
- }
-
- public SecurityDeclarationCollection (IHasSecurity container)
- {
- m_container = container;
- m_items = new Hashtable ();
- }
-
- public void Add (SecurityDeclaration value)
- {
- if (value == null)
- throw new ArgumentNullException ("value");
-
- // Each action can only be added once so...
- SecurityDeclaration current = (SecurityDeclaration) m_items[value.Action];
- if (current != null) {
- // ... further additions are transformed into unions
-#if !CF_1_0 && !CF_2_0
- current.PermissionSet = current.PermissionSet.Union (value.PermissionSet);
-#endif
- } else {
- m_items.Add (value.Action, value);
- SetHasSecurity (true);
- }
- }
-
- public void Clear ()
- {
- m_items.Clear ();
- SetHasSecurity (false);
- }
-
- public bool Contains (SecurityAction action)
- {
- return (m_items [action] != null);
- }
-
- public bool Contains (SecurityDeclaration value)
- {
- if (value == null)
- return (m_items.Count == 0);
-
- SecurityDeclaration item = (SecurityDeclaration) m_items[value.Action];
- if (item == null)
- return false;
-
-#if !CF_1_0 && !CF_2_0
- return value.PermissionSet.IsSubsetOf (item.PermissionSet);
-#else
- // XXX For CF, this concept does not exist--so always be true
- return true;
-#endif
- }
-
- public void Remove (SecurityAction action)
- {
- m_items.Remove (action);
- SetHasSecurity (this.Count > 0);
- }
-
- public void CopyTo (Array ary, int index)
- {
- m_items.Values.CopyTo (ary, index);
- }
-
- public IEnumerator GetEnumerator ()
- {
- return m_items.Values.GetEnumerator ();
- }
-
- public void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitSecurityDeclarationCollection (this);
- }
-
- private void SetHasSecurity (bool value)
- {
- TypeDefinition td = (m_container as TypeDefinition);
- if (td != null) {
- if (value)
- td.Attributes |= TypeAttributes.HasSecurity;
- else
- td.Attributes &= ~TypeAttributes.HasSecurity;
- return;
- }
- MethodDefinition md = (m_container as MethodDefinition);
- if (md != null) {
- if (value)
- md.Attributes |= MethodAttributes.HasSecurity;
- else
- md.Attributes &= ~MethodAttributes.HasSecurity;
- }
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/SentinelType.cs b/mcs/class/Mono.Cecil/Mono.Cecil/SentinelType.cs
index 1aed1609a33..d0d5a1d1ea8 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/SentinelType.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/SentinelType.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2007 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,12 +26,28 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+
+using MD = Mono.Cecil.Metadata;
+
namespace Mono.Cecil {
public sealed class SentinelType : TypeSpecification {
- public SentinelType (TypeReference elementType) : base (elementType)
+ public override bool IsValueType {
+ get { return false; }
+ set { throw new InvalidOperationException (); }
+ }
+
+ public override bool IsSentinel {
+ get { return true; }
+ }
+
+ public SentinelType (TypeReference type)
+ : base (type)
{
+ Mixin.CheckType (type);
+ this.etype = MD.ElementType.Sentinel;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/TableComparers.cs b/mcs/class/Mono.Cecil/Mono.Cecil/TableComparers.cs
deleted file mode 100644
index 81bbffcce41..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/TableComparers.cs
+++ /dev/null
@@ -1,276 +0,0 @@
-//
-// TableComparers.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
-
- using Mono.Cecil.Metadata;
-
- sealed class TableComparers {
-
- public sealed class TypeDef : IComparer {
-
- public static readonly TypeDef Instance = new TypeDef ();
-
- public int Compare (object x, object y)
- {
- TypeDefinition a = x as TypeDefinition;
- TypeDefinition b = y as TypeDefinition;
-
- if (a == null || b == null)
- throw new ReflectionException ("TypeDefComparer can only compare TypeDefinition");
-
- if (a.Name == Constants.ModuleType && b.Name == Constants.ModuleType)
- return 0;
- else if (a.Name == Constants.ModuleType)
- return -1;
- else if (b.Name == Constants.ModuleType)
- return 1;
-
- return Comparer.Default.Compare (a.FullName, b.FullName);
- }
- }
-
- public sealed class TypeRef : IComparer {
-
- public static readonly TypeRef Instance = new TypeRef ();
-
- public int Compare (object x, object y)
- {
- TypeReference a = x as TypeReference;
- TypeReference b = y as TypeReference;
-
- if (a == null || b == null)
- throw new ReflectionException ("TypeRefComparer can only compare TypeReference");
-
- if (b.DeclaringType == a)
- return -1;
- else if (a.DeclaringType == b)
- return 1;
-
- return Comparer.Default.Compare (a.FullName, b.FullName);
- }
- }
-
- public sealed class NestedClass : IComparer {
-
- public static readonly NestedClass Instance = new NestedClass ();
-
- public int Compare (object x, object y)
- {
- NestedClassRow a = x as NestedClassRow;
- NestedClassRow b = y as NestedClassRow;
-
- return Comparer.Default.Compare (a.NestedClass, b.NestedClass);
- }
- }
-
- public sealed class Constant : IComparer {
-
- public static readonly Constant Instance = new Constant ();
-
- public int Compare (object x, object y)
- {
- ConstantRow a = x as ConstantRow;
- ConstantRow b = y as ConstantRow;
-
- return Comparer.Default.Compare (
- Utilities.CompressMetadataToken (CodedIndex.HasConstant, a.Parent),
- Utilities.CompressMetadataToken (CodedIndex.HasConstant, b.Parent));
- }
-
- }
-
- public sealed class InterfaceImpl : IComparer {
-
- public static readonly InterfaceImpl Instance = new InterfaceImpl ();
-
- public int Compare (object x, object y)
- {
- InterfaceImplRow a = x as InterfaceImplRow;
- InterfaceImplRow b = y as InterfaceImplRow;
-
- int klass = Comparer.Default.Compare (a.Class, b.Class);
-
- if (klass == 0)
- return Comparer.Default.Compare (
- Utilities.CompressMetadataToken (CodedIndex.TypeDefOrRef, a.Interface),
- Utilities.CompressMetadataToken (CodedIndex.TypeDefOrRef, b.Interface));
-
- return klass;
- }
- }
-
- public sealed class MethodSem : IComparer {
-
- public static readonly MethodSem Instance = new MethodSem ();
-
- public int Compare (object x, object y)
- {
- MethodSemanticsRow a = x as MethodSemanticsRow;
- MethodSemanticsRow b = y as MethodSemanticsRow;
-
- return Comparer.Default.Compare (
- Utilities.CompressMetadataToken (CodedIndex.HasSemantics, a.Association),
- Utilities.CompressMetadataToken (CodedIndex.HasSemantics, b.Association));
- }
- }
-
- public sealed class CustomAttribute : IComparer {
-
- public static readonly CustomAttribute Instance = new CustomAttribute ();
-
- public int Compare (object x, object y)
- {
- CustomAttributeRow a = x as CustomAttributeRow;
- CustomAttributeRow b = y as CustomAttributeRow;
-
- return Comparer.Default.Compare (
- Utilities.CompressMetadataToken (CodedIndex.HasCustomAttribute, a.Parent),
- Utilities.CompressMetadataToken (CodedIndex.HasCustomAttribute, b.Parent));
- }
- }
-
- public sealed class SecurityDeclaration : IComparer {
-
- public static readonly SecurityDeclaration Instance = new SecurityDeclaration ();
-
- public int Compare (object x, object y)
- {
- DeclSecurityRow a = x as DeclSecurityRow;
- DeclSecurityRow b = y as DeclSecurityRow;
-
- return Comparer.Default.Compare (
- Utilities.CompressMetadataToken (CodedIndex.HasDeclSecurity, a.Parent),
- Utilities.CompressMetadataToken (CodedIndex.HasDeclSecurity, b.Parent));
- }
- }
-
- public sealed class Override : IComparer {
-
- public static readonly Override Instance = new Override ();
-
- public int Compare (object x, object y)
- {
- MethodImplRow a = x as MethodImplRow;
- MethodImplRow b = y as MethodImplRow;
-
- return Comparer.Default.Compare (a.Class, b.Class);
- }
- }
-
- public sealed class PInvoke : IComparer {
-
- public static readonly PInvoke Instance = new PInvoke ();
-
- public int Compare (object x, object y)
- {
- ImplMapRow a = x as ImplMapRow;
- ImplMapRow b = y as ImplMapRow;
-
- return Comparer.Default.Compare (a.MemberForwarded.RID, b.MemberForwarded.RID);
- }
- }
-
- public sealed class FieldRVA : IComparer {
-
- public static readonly FieldRVA Instance = new FieldRVA ();
-
- public int Compare (object x, object y)
- {
- FieldRVARow a = x as FieldRVARow;
- FieldRVARow b = y as FieldRVARow;
-
- return Comparer.Default.Compare (a.Field, b.Field);
- }
- }
-
- public sealed class FieldLayout : IComparer {
-
- public static readonly FieldLayout Instance = new FieldLayout ();
-
- public int Compare (object x, object y)
- {
- FieldLayoutRow a = x as FieldLayoutRow;
- FieldLayoutRow b = y as FieldLayoutRow;
-
- return Comparer.Default.Compare (a.Field, b.Field);
- }
- }
-
- public sealed class FieldMarshal : IComparer {
-
- public static readonly FieldMarshal Instance = new FieldMarshal ();
-
- public int Compare (object x, object y)
- {
- FieldMarshalRow a = x as FieldMarshalRow;
- FieldMarshalRow b = y as FieldMarshalRow;
-
- return Comparer.Default.Compare (
- Utilities.CompressMetadataToken (CodedIndex.HasFieldMarshal, a.Parent),
- Utilities.CompressMetadataToken (CodedIndex.HasFieldMarshal, b.Parent));
- }
- }
-
- public sealed class TypeLayout : IComparer {
-
- public static readonly TypeLayout Instance = new TypeLayout ();
-
- public int Compare (object x, object y)
- {
- ClassLayoutRow a = x as ClassLayoutRow;
- ClassLayoutRow b = y as ClassLayoutRow;
-
- return Comparer.Default.Compare (a.Parent, b.Parent);
- }
- }
-
- public sealed class GenericParam : IComparer {
-
- public static readonly GenericParam Instance = new GenericParam ();
-
- public int Compare (object x, object y)
- {
- GenericParameter a = x as GenericParameter;
- GenericParameter b = y as GenericParameter;
-
- int token = Comparer.Default.Compare (
- Utilities.CompressMetadataToken (CodedIndex.TypeOrMethodDef, a.Owner.MetadataToken),
- Utilities.CompressMetadataToken (CodedIndex.TypeOrMethodDef, b.Owner.MetadataToken));
-
- if (token == 0)
- return Comparer.Default.Compare (a.Position, b.Position);
-
- return token;
- }
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/TargetRuntime.cs b/mcs/class/Mono.Cecil/Mono.Cecil/TargetRuntime.cs
index d7856f5b2f2..9931fc6113d 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/TargetRuntime.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/TargetRuntime.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -29,9 +29,9 @@
namespace Mono.Cecil {
public enum TargetRuntime {
- NET_1_0,
- NET_1_1,
- NET_2_0,
- NET_4_0,
+ Net_1_0,
+ Net_1_1,
+ Net_2_0,
+ Net_4_0,
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/TypeAttributes.cs b/mcs/class/Mono.Cecil/Mono.Cecil/TypeAttributes.cs
index 2e1ef50b2f4..6e263e8e64c 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/TypeAttributes.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/TypeAttributes.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,9 +26,9 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
- using System;
+namespace Mono.Cecil {
[Flags]
public enum TypeAttributes : uint {
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/TypeDefinition.cs b/mcs/class/Mono.Cecil/Mono.Cecil/TypeDefinition.cs
index 36943062968..c83531a0567 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/TypeDefinition.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/TypeDefinition.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,446 +26,435 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+
+using Mono.Collections.Generic;
+
namespace Mono.Cecil {
- public sealed class TypeDefinition : TypeReference, IMemberDefinition, IHasSecurity {
+ public sealed class TypeDefinition : TypeReference, IMemberDefinition, ISecurityDeclarationProvider {
- TypeAttributes m_attributes;
- TypeReference m_baseType;
+ uint attributes;
+ TypeReference base_type;
+ internal Range fields_range;
+ internal Range methods_range;
- bool m_hasInfo;
- ushort m_packingSize;
- uint m_classSize;
+ short packing_size = Mixin.NotResolvedMarker;
+ int class_size = Mixin.NotResolvedMarker;
- InterfaceCollection m_interfaces;
- NestedTypeCollection m_nestedTypes;
- MethodDefinitionCollection m_methods;
- ConstructorCollection m_ctors;
- FieldDefinitionCollection m_fields;
- EventDefinitionCollection m_events;
- PropertyDefinitionCollection m_properties;
- SecurityDeclarationCollection m_secDecls;
+ Collection<TypeReference> interfaces;
+ Collection<TypeDefinition> nested_types;
+ Collection<MethodDefinition> methods;
+ Collection<FieldDefinition> fields;
+ Collection<EventDefinition> events;
+ Collection<PropertyDefinition> properties;
+ Collection<CustomAttribute> custom_attributes;
+ Collection<SecurityDeclaration> security_declarations;
public TypeAttributes Attributes {
- get { return m_attributes; }
- set { m_attributes = value; }
+ get { return (TypeAttributes) attributes; }
+ set { attributes = (uint) value; }
}
public TypeReference BaseType {
- get { return m_baseType; }
- set { m_baseType = value; }
+ get { return base_type; }
+ set { base_type = value; }
+ }
+
+ void ResolveLayout ()
+ {
+ if (packing_size != Mixin.NotResolvedMarker || class_size != Mixin.NotResolvedMarker)
+ return;
+
+ if (!HasImage) {
+ packing_size = Mixin.NoDataMarker;
+ class_size = Mixin.NoDataMarker;
+ return;
+ }
+
+ var row = Module.Read (this, (type, reader) => reader.ReadTypeLayout (type));
+
+ packing_size = row.Col1;
+ class_size = row.Col2;
}
public bool HasLayoutInfo {
- get { return m_hasInfo; }
+ get {
+ if (packing_size >= 0 || class_size >= 0)
+ return true;
+
+ ResolveLayout ();
+
+ return packing_size >= 0 || class_size >= 0;
+ }
}
- public ushort PackingSize {
- get { return m_packingSize; }
- set {
- m_hasInfo = true;
- m_packingSize = value;
+ public short PackingSize {
+ get {
+ if (packing_size >= 0)
+ return packing_size;
+
+ ResolveLayout ();
+
+ return packing_size >= 0 ? packing_size : (short) -1;
}
+ set { packing_size = value; }
}
- public uint ClassSize {
- get { return m_classSize; }
- set {
- m_hasInfo = true;
- m_classSize = value;
+ public int ClassSize {
+ get {
+ if (class_size >= 0)
+ return class_size;
+
+ ResolveLayout ();
+
+ return class_size >= 0 ? class_size : -1;
}
+ set { class_size = value; }
}
public bool HasInterfaces {
- get { return (m_interfaces == null) ? false : (m_interfaces.Count > 0); }
+ get {
+ if (interfaces != null)
+ return interfaces.Count > 0;
+
+ if (HasImage)
+ return Module.Read (this, (type, reader) => reader.HasInterfaces (type));
+
+ return false;
+ }
}
- public InterfaceCollection Interfaces {
+ public Collection<TypeReference> Interfaces {
get {
- if (m_interfaces == null)
- m_interfaces = new InterfaceCollection (this);
+ if (interfaces != null)
+ return interfaces;
- return m_interfaces;
+ if (HasImage)
+ return interfaces = Module.Read (this, (type, reader) => reader.ReadInterfaces (type));
+
+ return interfaces = new Collection<TypeReference> ();
}
}
public bool HasNestedTypes {
- get { return (m_nestedTypes == null) ? false : (m_nestedTypes.Count > 0); }
+ get {
+ if (nested_types != null)
+ return nested_types.Count > 0;
+
+ if (HasImage)
+ return Module.Read (this, (type, reader) => reader.HasNestedTypes (type));
+
+ return false;
+ }
}
- public NestedTypeCollection NestedTypes {
+ public Collection<TypeDefinition> NestedTypes {
get {
- if (m_nestedTypes == null)
- m_nestedTypes = new NestedTypeCollection (this);
+ if (nested_types != null)
+ return nested_types;
- return m_nestedTypes;
+ if (HasImage)
+ return nested_types = Module.Read (this, (type, reader) => reader.ReadNestedTypes (type));
+
+ return nested_types = new MemberDefinitionCollection<TypeDefinition> (this);
}
}
- public bool HasMethods {
- get { return (m_methods == null) ? false : (m_methods.Count > 0); }
+ internal new bool HasImage {
+ get { return Module != null && Module.HasImage; }
}
- public MethodDefinitionCollection Methods {
+ public bool HasMethods {
get {
- if (m_methods == null)
- m_methods = new MethodDefinitionCollection (this);
+ if (methods != null)
+ return methods.Count > 0;
- return m_methods;
- }
- }
+ if (HasImage)
+ return methods_range.Length > 0;
- public bool HasConstructors {
- get { return (m_ctors == null) ? false : (m_ctors.Count > 0); }
+ return false;
+ }
}
- public ConstructorCollection Constructors {
+ public Collection<MethodDefinition> Methods {
get {
- if (m_ctors == null)
- m_ctors = new ConstructorCollection (this);
+ if (methods != null)
+ return methods;
+
+ if (HasImage)
+ return methods = Module.Read (this, (type, reader) => reader.ReadMethods (type));
- return m_ctors;
+ return methods = new MemberDefinitionCollection<MethodDefinition> (this);
}
}
public bool HasFields {
- get { return (m_fields == null) ? false : (m_fields.Count > 0); }
+ get {
+ if (fields != null)
+ return fields.Count > 0;
+
+ if (HasImage)
+ return fields_range.Length > 0;
+
+ return false;
+ }
}
- public FieldDefinitionCollection Fields {
+ public Collection<FieldDefinition> Fields {
get {
- if (m_fields == null)
- m_fields = new FieldDefinitionCollection (this);
+ if (fields != null)
+ return fields;
- return m_fields;
+ if (HasImage)
+ return fields = Module.Read (this, (type, reader) => reader.ReadFields (type));
+
+ return fields = new MemberDefinitionCollection<FieldDefinition> (this);
}
}
public bool HasEvents {
- get { return (m_events == null) ? false : (m_events.Count > 0); }
+ get {
+ if (events != null)
+ return events.Count > 0;
+
+ if (HasImage)
+ return Module.Read (this, (type, reader) => reader.HasEvents (type));
+
+ return false;
+ }
}
- public EventDefinitionCollection Events {
+ public Collection<EventDefinition> Events {
get {
- if (m_events == null)
- m_events = new EventDefinitionCollection (this);
+ if (events != null)
+ return events;
- return m_events;
+ if (HasImage)
+ return events = Module.Read (this, (type, reader) => reader.ReadEvents (type));
+
+ return events = new MemberDefinitionCollection<EventDefinition> (this);
}
}
public bool HasProperties {
- get { return (m_properties == null) ? false : (m_properties.Count > 0); }
+ get {
+ if (properties != null)
+ return properties.Count > 0;
+
+ if (HasImage)
+ return Module.Read (this, (type, reader) => reader.HasProperties (type));
+
+ return false;
+ }
}
- public PropertyDefinitionCollection Properties {
+ public Collection<PropertyDefinition> Properties {
get {
- if (m_properties == null)
- m_properties = new PropertyDefinitionCollection (this);
+ if (properties != null)
+ return properties;
- return m_properties;
+ if (HasImage)
+ return properties = Module.Read (this, (type, reader) => reader.ReadProperties (type));
+
+ return properties = new MemberDefinitionCollection<PropertyDefinition> (this);
}
}
public bool HasSecurityDeclarations {
- get { return (m_secDecls == null) ? false : (m_secDecls.Count > 0); }
+ get {
+ if (security_declarations != null)
+ return security_declarations.Count > 0;
+
+ return this.GetHasSecurityDeclarations (Module);
+ }
}
- public SecurityDeclarationCollection SecurityDeclarations {
+ public Collection<SecurityDeclaration> SecurityDeclarations {
+ get { return security_declarations ?? (security_declarations = this.GetSecurityDeclarations (Module)); }
+ }
+
+ public bool HasCustomAttributes {
get {
- if (m_secDecls == null)
- m_secDecls = new SecurityDeclarationCollection (this);
+ if (custom_attributes != null)
+ return custom_attributes.Count > 0;
- return m_secDecls;
+ return this.GetHasCustomAttributes (Module);
}
}
+ public Collection<CustomAttribute> CustomAttributes {
+ get { return custom_attributes ?? (custom_attributes = this.GetCustomAttributes (Module)); }
+ }
+
+ public override bool HasGenericParameters {
+ get {
+ if (generic_parameters != null)
+ return generic_parameters.Count > 0;
+
+ return this.GetHasGenericParameters (Module);
+ }
+ }
+
+ public override Collection<GenericParameter> GenericParameters {
+ get { return generic_parameters ?? (generic_parameters = this.GetGenericParameters (Module)); }
+ }
+
#region TypeAttributes
public bool IsNotPublic {
- get { return (m_attributes & TypeAttributes.VisibilityMask) == TypeAttributes.NotPublic; }
- set {
- if (value) {
- m_attributes &= ~TypeAttributes.VisibilityMask;
- m_attributes |= TypeAttributes.NotPublic;
- } else
- m_attributes &= ~(TypeAttributes.VisibilityMask & TypeAttributes.NotPublic);
- }
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NotPublic); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NotPublic, value); }
}
public bool IsPublic {
- get { return (m_attributes & TypeAttributes.VisibilityMask) == TypeAttributes.Public; }
- set {
- if (value) {
- m_attributes &= ~TypeAttributes.VisibilityMask;
- m_attributes |= TypeAttributes.Public;
- } else
- m_attributes &= ~(TypeAttributes.VisibilityMask & TypeAttributes.Public);
- }
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.Public); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.Public, value); }
}
public bool IsNestedPublic {
- get { return (m_attributes & TypeAttributes.VisibilityMask) == TypeAttributes.NestedPublic; }
- set {
- if (value) {
- m_attributes &= ~TypeAttributes.VisibilityMask;
- m_attributes |= TypeAttributes.NestedPublic;
- } else
- m_attributes &= ~(TypeAttributes.VisibilityMask & TypeAttributes.NestedPublic);
- }
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedPublic); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedPublic, value); }
}
public bool IsNestedPrivate {
- get { return (m_attributes & TypeAttributes.VisibilityMask) == TypeAttributes.NestedPrivate; }
- set {
- if (value) {
- m_attributes &= ~TypeAttributes.VisibilityMask;
- m_attributes |= TypeAttributes.NestedPrivate;
- } else
- m_attributes &= ~(TypeAttributes.VisibilityMask & TypeAttributes.NestedPrivate);
- }
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedPrivate); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedPrivate, value); }
}
public bool IsNestedFamily {
- get { return (m_attributes & TypeAttributes.VisibilityMask) == TypeAttributes.NestedFamily; }
- set {
- if (value) {
- m_attributes &= ~TypeAttributes.VisibilityMask;
- m_attributes |= TypeAttributes.NestedFamily;
- } else
- m_attributes &= ~(TypeAttributes.VisibilityMask & TypeAttributes.NestedFamily);
- }
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedFamily); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedFamily, value); }
}
public bool IsNestedAssembly {
- get { return (m_attributes & TypeAttributes.VisibilityMask) == TypeAttributes.NestedAssembly; }
- set {
- if (value) {
- m_attributes &= ~TypeAttributes.VisibilityMask;
- m_attributes |= TypeAttributes.NestedAssembly;
- } else
- m_attributes &= ~(TypeAttributes.VisibilityMask & TypeAttributes.NestedAssembly);
- }
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedAssembly); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedAssembly, value); }
}
public bool IsNestedFamilyAndAssembly {
- get { return (m_attributes & TypeAttributes.VisibilityMask) == TypeAttributes.NestedFamANDAssem; }
- set {
- if (value) {
- m_attributes &= ~TypeAttributes.VisibilityMask;
- m_attributes |= TypeAttributes.NestedFamANDAssem;
- } else
- m_attributes &= ~(TypeAttributes.VisibilityMask & TypeAttributes.NestedFamANDAssem);
- }
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedFamANDAssem); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedFamANDAssem, value); }
}
public bool IsNestedFamilyOrAssembly {
- get { return (m_attributes & TypeAttributes.VisibilityMask) == TypeAttributes.NestedFamORAssem; }
- set {
- if (value) {
- m_attributes &= ~TypeAttributes.VisibilityMask;
- m_attributes |= TypeAttributes.NestedFamORAssem;
- } else
- m_attributes &= ~(TypeAttributes.VisibilityMask & TypeAttributes.NestedFamORAssem);
- }
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedFamORAssem); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.VisibilityMask, (uint) TypeAttributes.NestedFamORAssem, value); }
}
public bool IsAutoLayout {
- get { return (m_attributes & TypeAttributes.LayoutMask) == TypeAttributes.AutoLayout; }
- set {
- if (value) {
- m_attributes &= ~TypeAttributes.LayoutMask;
- m_attributes |= TypeAttributes.AutoLayout;
- } else
- m_attributes &= ~(TypeAttributes.LayoutMask & TypeAttributes.AutoLayout);
- }
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.LayoutMask, (uint) TypeAttributes.AutoLayout); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.LayoutMask, (uint) TypeAttributes.AutoLayout, value); }
}
public bool IsSequentialLayout {
- get { return (m_attributes & TypeAttributes.LayoutMask) == TypeAttributes.SequentialLayout; }
- set {
- if (value) {
- m_attributes &= ~TypeAttributes.LayoutMask;
- m_attributes |= TypeAttributes.SequentialLayout;
- } else
- m_attributes &= ~(TypeAttributes.LayoutMask & TypeAttributes.SequentialLayout);
- }
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.LayoutMask, (uint) TypeAttributes.SequentialLayout); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.LayoutMask, (uint) TypeAttributes.SequentialLayout, value); }
}
public bool IsExplicitLayout {
- get { return (m_attributes & TypeAttributes.LayoutMask) == TypeAttributes.ExplicitLayout; }
- set {
- if (value) {
- m_attributes &= ~TypeAttributes.LayoutMask;
- m_attributes |= TypeAttributes.ExplicitLayout;
- } else
- m_attributes &= ~(TypeAttributes.LayoutMask & TypeAttributes.ExplicitLayout);
- }
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.LayoutMask, (uint) TypeAttributes.ExplicitLayout); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.LayoutMask, (uint) TypeAttributes.ExplicitLayout, value); }
}
public bool IsClass {
- get { return (m_attributes & TypeAttributes.ClassSemanticMask) == TypeAttributes.Class; }
- set {
- if (value) {
- m_attributes &= ~TypeAttributes.ClassSemanticMask;
- m_attributes |= TypeAttributes.Class;
- } else
- m_attributes &= ~(TypeAttributes.ClassSemanticMask & TypeAttributes.Class);
- }
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.ClassSemanticMask, (uint) TypeAttributes.Class); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.ClassSemanticMask, (uint) TypeAttributes.Class, value); }
}
public bool IsInterface {
- get { return (m_attributes & TypeAttributes.ClassSemanticMask) == TypeAttributes.Interface; }
- set {
- if (value) {
- m_attributes &= ~TypeAttributes.ClassSemanticMask;
- m_attributes |= TypeAttributes.Interface;
- } else
- m_attributes &= ~(TypeAttributes.ClassSemanticMask & TypeAttributes.Interface);
- }
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.ClassSemanticMask, (uint) TypeAttributes.Interface); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.ClassSemanticMask, (uint) TypeAttributes.Interface, value); }
}
public bool IsAbstract {
- get { return (m_attributes & TypeAttributes.Abstract) != 0; }
- set {
- if (value)
- m_attributes |= TypeAttributes.Abstract;
- else
- m_attributes &= ~TypeAttributes.Abstract;
- }
+ get { return attributes.GetAttributes ((uint) TypeAttributes.Abstract); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.Abstract, value); }
}
public bool IsSealed {
- get { return (m_attributes & TypeAttributes.Sealed) != 0; }
- set {
- if (value)
- m_attributes |= TypeAttributes.Sealed;
- else
- m_attributes &= ~TypeAttributes.Sealed;
- }
+ get { return attributes.GetAttributes ((uint) TypeAttributes.Sealed); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.Sealed, value); }
}
public bool IsSpecialName {
- get { return (m_attributes & TypeAttributes.SpecialName) != 0; }
- set {
- if (value)
- m_attributes |= TypeAttributes.SpecialName;
- else
- m_attributes &= ~TypeAttributes.SpecialName;
- }
+ get { return attributes.GetAttributes ((uint) TypeAttributes.SpecialName); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.SpecialName, value); }
}
public bool IsImport {
- get { return (m_attributes & TypeAttributes.Import) != 0; }
- set {
- if (value)
- m_attributes |= TypeAttributes.Import;
- else
- m_attributes &= ~TypeAttributes.Import;
- }
+ get { return attributes.GetAttributes ((uint) TypeAttributes.Import); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.Import, value); }
}
public bool IsSerializable {
- get { return (m_attributes & TypeAttributes.Serializable) != 0; }
- set {
- if (value)
- m_attributes |= TypeAttributes.Serializable;
- else
- m_attributes &= ~TypeAttributes.Serializable;
- }
+ get { return attributes.GetAttributes ((uint) TypeAttributes.Serializable); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.Serializable, value); }
}
public bool IsAnsiClass {
- get { return (m_attributes & TypeAttributes.StringFormatMask) == TypeAttributes.AnsiClass; }
- set {
- if (value) {
- m_attributes &= ~TypeAttributes.StringFormatMask;
- m_attributes |= TypeAttributes.AnsiClass;
- } else
- m_attributes &= ~(TypeAttributes.StringFormatMask & TypeAttributes.AnsiClass);
- }
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.StringFormatMask, (uint) TypeAttributes.AnsiClass); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.StringFormatMask, (uint) TypeAttributes.AnsiClass, value); }
}
public bool IsUnicodeClass {
- get { return (m_attributes & TypeAttributes.StringFormatMask) == TypeAttributes.UnicodeClass; }
- set {
- if (value) {
- m_attributes &= ~TypeAttributes.StringFormatMask;
- m_attributes |= TypeAttributes.UnicodeClass;
- } else
- m_attributes &= ~(TypeAttributes.StringFormatMask & TypeAttributes.UnicodeClass);
- }
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.StringFormatMask, (uint) TypeAttributes.UnicodeClass); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.StringFormatMask, (uint) TypeAttributes.UnicodeClass, value); }
}
public bool IsAutoClass {
- get { return (m_attributes & TypeAttributes.StringFormatMask) == TypeAttributes.AutoClass; }
- set {
- if (value) {
- m_attributes &= ~TypeAttributes.StringFormatMask;
- m_attributes |= TypeAttributes.AutoClass;
- } else
- m_attributes &= ~(TypeAttributes.StringFormatMask & TypeAttributes.AutoClass);
- }
+ get { return attributes.GetMaskedAttributes ((uint) TypeAttributes.StringFormatMask, (uint) TypeAttributes.AutoClass); }
+ set { attributes = attributes.SetMaskedAttributes ((uint) TypeAttributes.StringFormatMask, (uint) TypeAttributes.AutoClass, value); }
}
public bool IsBeforeFieldInit {
- get { return (m_attributes & TypeAttributes.BeforeFieldInit) != 0; }
- set {
- if (value)
- m_attributes |= TypeAttributes.BeforeFieldInit;
- else
- m_attributes &= ~TypeAttributes.BeforeFieldInit;
- }
+ get { return attributes.GetAttributes ((uint) TypeAttributes.BeforeFieldInit); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.BeforeFieldInit, value); }
}
public bool IsRuntimeSpecialName {
- get { return (m_attributes & TypeAttributes.RTSpecialName) != 0; }
- set {
- if (value)
- m_attributes |= TypeAttributes.RTSpecialName;
- else
- m_attributes &= ~TypeAttributes.RTSpecialName;
- }
+ get { return attributes.GetAttributes ((uint) TypeAttributes.RTSpecialName); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.RTSpecialName, value); }
}
public bool HasSecurity {
- get { return (m_attributes & TypeAttributes.HasSecurity) != 0; }
- set {
- if (value)
- m_attributes |= TypeAttributes.HasSecurity;
- else
- m_attributes &= ~TypeAttributes.HasSecurity;
- }
+ get { return attributes.GetAttributes ((uint) TypeAttributes.HasSecurity); }
+ set { attributes = attributes.SetAttributes ((uint) TypeAttributes.HasSecurity, value); }
}
#endregion
public bool IsEnum {
- get { return m_baseType != null && m_baseType.FullName == Constants.Enum; }
+ get { return base_type != null && base_type.IsTypeOf ("System", "Enum"); }
}
public override bool IsValueType {
get {
- return m_baseType != null && ((m_baseType.FullName == Constants.Enum) ||
- (m_baseType.FullName == Constants.ValueType && this.FullName != Constants.Enum));
+ if (base_type == null)
+ return false;
+
+ return base_type.IsTypeOf ("System", "Enum") || (base_type.IsTypeOf ("System", "ValueType") && !this.IsTypeOf ("System", "Enum"));
}
}
+ public override bool IsDefinition {
+ get { return true; }
+ }
+
public new TypeDefinition DeclaringType {
get { return (TypeDefinition) base.DeclaringType; }
set { base.DeclaringType = value; }
}
- internal TypeDefinition (string name, string ns, TypeAttributes attrs) :
- base (name, ns)
+ public TypeDefinition (string @namespace, string name, TypeAttributes attributes)
+ : base (@namespace, name)
{
- m_hasInfo = false;
- m_attributes = attrs;
+ this.attributes = (uint) attributes;
+ this.token = new MetadataToken (TokenType.TypeDef);
}
- public TypeDefinition (string name, string ns,
- TypeAttributes attributes, TypeReference baseType) :
- this (name, ns, attributes)
+ public TypeDefinition (string @namespace, string name, TypeAttributes attributes, TypeReference baseType) :
+ this (@namespace, name, attributes)
{
this.BaseType = baseType;
}
@@ -474,89 +463,37 @@ namespace Mono.Cecil {
{
return this;
}
+ }
- public TypeDefinition Clone ()
- {
- return Clone (this, new ImportContext (NullReferenceImporter.Instance, this));
- }
+ static partial class Mixin {
- internal static TypeDefinition Clone (TypeDefinition type, ImportContext context)
+ public static TypeReference GetEnumUnderlyingType (this TypeDefinition self)
{
- TypeDefinition nt = new TypeDefinition (
- type.Name,
- type.Namespace,
- type.Attributes);
+ var fields = self.Fields;
- TypeReference contextType = context.GenericContext.Type;
+ for (int i = 0; i < fields.Count; i++) {
+ var field = fields [i];
+ if (!field.IsStatic)
+ return field.FieldType;
+ }
- context.GenericContext.Type = nt;
+ throw new ArgumentException ();
+ }
- GenericParameter.CloneInto (type, nt, context);
+ public static TypeDefinition GetNestedType (this TypeDefinition self, string name)
+ {
+ if (!self.HasNestedTypes)
+ return null;
- if (type.BaseType != null)
- nt.BaseType = context.Import (type.BaseType);
+ var nested_types = self.NestedTypes;
- if (type.HasLayoutInfo) {
- nt.ClassSize = type.ClassSize;
- nt.PackingSize = type.PackingSize;
+ for (int i = 0; i < nested_types.Count; i++) {
+ var nested_type = nested_types [i];
+ if (nested_type.Name == name)
+ return nested_type;
}
- if (type.HasFields) {
- foreach (FieldDefinition field in type.Fields)
- nt.Fields.Add (FieldDefinition.Clone (field, context));
- }
- if (type.HasConstructors) {
- foreach (MethodDefinition ctor in type.Constructors)
- nt.Constructors.Add (MethodDefinition.Clone (ctor, context));
- }
- if (type.HasMethods) {
- foreach (MethodDefinition meth in type.Methods)
- nt.Methods.Add (MethodDefinition.Clone (meth, context));
- }
- if (type.HasEvents) {
- foreach (EventDefinition evt in type.Events)
- nt.Events.Add (EventDefinition.Clone (evt, context));
- }
- if (type.HasProperties) {
- foreach (PropertyDefinition prop in type.Properties)
- nt.Properties.Add (PropertyDefinition.Clone (prop, context));
- }
- if (type.HasInterfaces) {
- foreach (TypeReference intf in type.Interfaces)
- nt.Interfaces.Add (context.Import (intf));
- }
- if (type.HasNestedTypes) {
- foreach (TypeDefinition nested in type.NestedTypes)
- nt.NestedTypes.Add (Clone (nested, context));
- }
- if (type.HasCustomAttributes) {
- foreach (CustomAttribute ca in type.CustomAttributes)
- nt.CustomAttributes.Add (CustomAttribute.Clone (ca, context));
- }
- if (type.HasSecurityDeclarations) {
- foreach (SecurityDeclaration dec in type.SecurityDeclarations)
- nt.SecurityDeclarations.Add (SecurityDeclaration.Clone (dec));
- }
-
- context.GenericContext.Type = contextType;
-
- return nt;
- }
-
- public override void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitTypeDefinition (this);
-
- this.GenericParameters.Accept (visitor);
- this.Interfaces.Accept (visitor);
- this.Constructors.Accept (visitor);
- this.Methods.Accept (visitor);
- this.Fields.Accept (visitor);
- this.Properties.Accept (visitor);
- this.Events.Accept (visitor);
- this.NestedTypes.Accept (visitor);
- this.CustomAttributes.Accept (visitor);
- this.SecurityDeclarations.Accept (visitor);
+ return null;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/TypeDefinitionCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/TypeDefinitionCollection.cs
index 6bd233b511a..702fe271e6a 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/TypeDefinitionCollection.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/TypeDefinitionCollection.cs
@@ -4,10 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Fri Mar 30 18:43:56 +0200 2007
-//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -29,188 +26,93 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
- using System.Collections.Specialized;
-
- using Mono.Cecil.Cil;
+using System;
+using System.Collections.Generic;
- using Hcp = Mono.Cecil.HashCodeProvider;
- using Cmp = System.Collections.Comparer;
+using Mono.Cecil.Metadata;
- public sealed class TypeDefinitionCollection : NameObjectCollectionBase, IList, IReflectionVisitable {
-
- ModuleDefinition m_container;
-
- public TypeDefinition this [int index] {
- get { return this.BaseGet (index) as TypeDefinition; }
- set { this.BaseSet (index, value); }
- }
-
- public TypeDefinition this [string fullName] {
- get { return this.BaseGet (fullName) as TypeDefinition; }
- set { this.BaseSet (fullName, value); }
- }
-
- public ModuleDefinition Container {
- get { return m_container; }
- }
-
- public bool IsSynchronized {
- get { return false; }
- }
+using Mono.Collections.Generic;
- public object SyncRoot {
- get { return this; }
- }
-
- bool IList.IsReadOnly {
- get { return false; }
- }
+namespace Mono.Cecil {
- bool IList.IsFixedSize {
- get { return false; }
- }
+ using Slot = Row<string, string>;
- object IList.this [int index] {
- get { return BaseGet (index); }
- set {
- Check (value);
- BaseSet (index, value);
- }
- }
+ sealed class TypeDefinitionCollection : Collection<TypeDefinition> {
- public TypeDefinitionCollection (ModuleDefinition container) :
- base (Hcp.Instance, Cmp.Default)
- {
- m_container = container;
- }
+ readonly ModuleDefinition container;
+ readonly Dictionary<Slot, TypeDefinition> name_cache;
- public void Add (TypeDefinition value)
+ internal TypeDefinitionCollection (ModuleDefinition container)
{
- if (value == null)
- throw new ArgumentNullException ("value");
-
- Attach (value);
-
- this.BaseAdd (value.FullName, value);
+ this.container = container;
+ this.name_cache = new Dictionary<Slot, TypeDefinition> (new RowEqualityComparer ());
}
- public void Clear ()
+ internal TypeDefinitionCollection (ModuleDefinition container, int capacity)
+ : base (capacity)
{
- foreach (TypeDefinition item in this)
- Detach (item);
-
- this.BaseClear ();
+ this.container = container;
+ this.name_cache = new Dictionary<Slot, TypeDefinition> (capacity, new RowEqualityComparer ());
}
- public bool Contains (TypeDefinition value)
+ protected override void OnAdd (TypeDefinition item, int index)
{
- return Contains (value.FullName);
+ Attach (item);
}
- public bool Contains (string fullName)
+ protected override void OnSet (TypeDefinition item, int index)
{
- return this.BaseGet (fullName) != null;
+ Attach (item);
}
- public int IndexOf (TypeDefinition value)
+ protected override void OnInsert (TypeDefinition item, int index)
{
- string [] keys = this.BaseGetAllKeys ();
- return Array.IndexOf (keys, value.FullName, 0, keys.Length);
+ Attach (item);
}
- public void Remove (TypeDefinition value)
+ protected override void OnRemove (TypeDefinition item, int index)
{
- this.BaseRemove (value.FullName);
-
- Detach (value);
- }
-
- public void RemoveAt (int index)
- {
- TypeDefinition item = this [index];
- Remove (item);
-
Detach (item);
}
- public void CopyTo (Array ary, int index)
- {
- this.BaseGetAllValues ().CopyTo (ary, index);
- }
-
- public new IEnumerator GetEnumerator ()
- {
- return this.BaseGetAllValues ().GetEnumerator ();
- }
-
- public void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitTypeDefinitionCollection (this);
- }
-
-#if CF_1_0 || CF_2_0
- internal object [] BaseGetAllValues ()
- {
- object [] values = new object [this.Count];
- for (int i=0; i < values.Length; ++i) {
- values [i] = this.BaseGet (i);
- }
- return values;
- }
-#endif
-
- void Check (object value)
- {
- if (!(value is TypeDefinition))
- throw new ArgumentException ();
- }
-
- int IList.Add (object value)
+ protected override void OnClear ()
{
- Check (value);
- Add (value as TypeDefinition);
- return 0;
+ foreach (var type in this)
+ Detach (type);
}
- bool IList.Contains (object value)
+ void Attach (TypeDefinition type)
{
- Check (value);
- return Contains (value as TypeDefinition);
- }
+ if (type.Module != null && type.Module != container)
+ throw new ArgumentException ("Type already attached");
- int IList.IndexOf (object value)
- {
- throw new NotSupportedException ();
+ type.module = container;
+ type.scope = container;
+ name_cache [new Slot (type.Namespace, type.Name)] = type;
}
- void IList.Insert (int index, object value)
+ void Detach (TypeDefinition type)
{
- throw new NotSupportedException ();
+ type.module = null;
+ type.scope = null;
+ name_cache.Remove (new Slot (type.Namespace, type.Name));
}
- void IList.Remove (object value)
+ public TypeDefinition GetType (string fullname)
{
- Check (value);
- Remove (value as TypeDefinition);
- }
+ string @namespace, name;
+ TypeParser.SplitFullName (fullname, out @namespace, out name);
- void Detach (TypeReference type)
- {
- type.Module = null;
+ return GetType (@namespace, name);
}
- void Attach (TypeReference type)
+ public TypeDefinition GetType (string @namespace, string name)
{
- if (type.Module != null)
- throw new ReflectionException ("Type is already attached, clone it instead");
-
- type.Module = m_container;
- type.AttachToScope (m_container);
+ TypeDefinition type;
+ if (name_cache.TryGetValue (new Slot (@namespace, name), out type))
+ return type;
+ return null;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/TypeParser.cs b/mcs/class/Mono.Cecil/Mono.Cecil/TypeParser.cs
new file mode 100644
index 00000000000..df6acf3e8df
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/TypeParser.cs
@@ -0,0 +1,554 @@
+//
+// TypeParser.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Text;
+
+using Mono.Cecil.Metadata;
+
+namespace Mono.Cecil {
+
+ class TypeParser {
+
+ class Type {
+ public const int Ptr = -1;
+ public const int ByRef = -2;
+ public const int SzArray = -3;
+
+ public string type_fullname;
+ public string [] nested_names;
+ public int arity;
+ public int [] specs;
+ public Type [] generic_arguments;
+ public string assembly;
+ }
+
+ readonly string fullname;
+ readonly int length;
+
+ int position;
+
+ TypeParser (string fullname)
+ {
+ this.fullname = fullname;
+ this.length = fullname.Length;
+ }
+
+ Type ParseType (bool fq_name)
+ {
+ var type = new Type ();
+ type.type_fullname = ParsePart ();
+
+ type.nested_names = ParseNestedNames ();
+
+ if (TryGetArity (type))
+ type.generic_arguments = ParseGenericArguments (type.arity);
+
+ type.specs = ParseSpecs ();
+
+ if (fq_name)
+ type.assembly = ParseAssemblyName ();
+
+ return type;
+ }
+
+ static bool TryGetArity (Type type)
+ {
+ int arity = 0;
+
+ TryAddArity (type.type_fullname, ref arity);
+
+ var nested_names = type.nested_names;
+ if (!nested_names.IsNullOrEmpty ()) {
+ for (int i = 0; i < nested_names.Length; i++)
+ TryAddArity (nested_names [i], ref arity);
+ }
+
+ type.arity = arity;
+ return arity > 0;
+ }
+
+ static bool TryGetArity (string name, out int arity)
+ {
+ arity = 0;
+ var index = name.LastIndexOf ('`');
+ if (index == -1)
+ return false;
+
+ return ParseInt32 (name.Substring (index + 1), out arity);
+ }
+
+ static bool ParseInt32 (string value, out int result)
+ {
+#if CF
+ try {
+ result = int.Parse (value);
+ return true;
+ } catch {
+ result = 0;
+ return false;
+ }
+#else
+ return int.TryParse (value, out result);
+#endif
+ }
+
+ static void TryAddArity (string name, ref int arity)
+ {
+ int type_arity;
+ if (!TryGetArity (name, out type_arity))
+ return;
+
+ arity += type_arity;
+ }
+
+ string ParsePart ()
+ {
+ int start = position;
+ while (position < length && !IsDelimiter (fullname [position]))
+ position++;
+
+ return fullname.Substring (start, position - start);
+ }
+
+ static bool IsDelimiter (char chr)
+ {
+ return "+,[]*&".IndexOf (chr) != -1;
+ }
+
+ void TryParseWhiteSpace ()
+ {
+ while (position < length && Char.IsWhiteSpace (fullname [position]))
+ position++;
+ }
+
+ string [] ParseNestedNames ()
+ {
+ string [] nested_names = null;
+ while (TryParse ('+'))
+ Add (ref nested_names, ParsePart ());
+
+ return nested_names;
+ }
+
+ bool TryParse (char chr)
+ {
+ if (position < length && fullname [position] == chr) {
+ position++;
+ return true;
+ }
+
+ return false;
+ }
+
+ static void Add<T> (ref T [] array, T item)
+ {
+ if (array == null) {
+ array = new [] { item };
+ return;
+ }
+
+#if !CF
+ Array.Resize (ref array, array.Length + 1);
+#else
+ var copy = new T [array.Length + 1];
+ Array.Copy (array, copy, array.Length);
+ array = copy;
+#endif
+ array [array.Length - 1] = item;
+ }
+
+ int [] ParseSpecs ()
+ {
+ int [] specs = null;
+
+ while (position < length) {
+ switch (fullname [position]) {
+ case '*':
+ position++;
+ Add (ref specs, Type.Ptr);
+ break;
+ case '&':
+ position++;
+ Add (ref specs, Type.ByRef);
+ break;
+ case '[':
+ position++;
+ switch (fullname [position]) {
+ case ']':
+ position++;
+ Add (ref specs, Type.SzArray);
+ break;
+ case '*':
+ position++;
+ Add (ref specs, 1);
+ break;
+ default:
+ var rank = 1;
+ while (TryParse (','))
+ rank++;
+
+ Add (ref specs, rank);
+
+ TryParse (']');
+ break;
+ }
+ break;
+ default:
+ return specs;
+ }
+ }
+
+ return specs;
+ }
+
+ Type [] ParseGenericArguments (int arity)
+ {
+ Type [] generic_arguments = null;
+
+ if (position == length || fullname [position] != '[')
+ return generic_arguments;
+
+ TryParse ('[');
+
+ for (int i = 0; i < arity; i++) {
+ var fq_argument = TryParse ('[');
+ Add (ref generic_arguments, ParseType (fq_argument));
+ if (fq_argument)
+ TryParse (']');
+
+ TryParse (',');
+ TryParseWhiteSpace ();
+ }
+
+ TryParse (']');
+
+ return generic_arguments;
+ }
+
+ string ParseAssemblyName ()
+ {
+ if (!TryParse (','))
+ return string.Empty;
+
+ TryParseWhiteSpace ();
+
+ var start = position;
+ while (position < length) {
+ var chr = fullname [position];
+ if (chr == '[' || chr == ']')
+ break;
+
+ position++;
+ }
+
+ return fullname.Substring (start, position - start);
+ }
+
+ public static TypeReference ParseType (ModuleDefinition module, string fullname)
+ {
+ if (fullname == null)
+ return null;
+
+ var parser = new TypeParser (fullname);
+ return GetTypeReference (module, parser.ParseType (true));
+ }
+
+ static TypeReference GetTypeReference (ModuleDefinition module, Type type_info)
+ {
+ TypeReference type;
+ if (!TryGetDefinition (module, type_info, out type))
+ type = CreateReference (type_info, module, GetMetadataScope (module, type_info));
+
+ return CreateSpecs (type, type_info);
+ }
+
+ static TypeReference CreateSpecs (TypeReference type, Type type_info)
+ {
+ type = TryCreateGenericInstanceType (type, type_info);
+
+ var specs = type_info.specs;
+ if (specs.IsNullOrEmpty ())
+ return type;
+
+ for (int i = 0; i < specs.Length; i++) {
+ switch (specs [i]) {
+ case Type.Ptr:
+ type = new PointerType (type);
+ break;
+ case Type.ByRef:
+ type = new ByReferenceType (type);
+ break;
+ case Type.SzArray:
+ type = new ArrayType (type);
+ break;
+ default:
+ var array = new ArrayType (type);
+ array.Dimensions.Clear ();
+
+ for (int j = 0; j < specs [i]; j++)
+ array.Dimensions.Add (new ArrayDimension ());
+
+ type = array;
+ break;
+ }
+ }
+
+ return type;
+ }
+
+ static TypeReference TryCreateGenericInstanceType (TypeReference type, Type type_info)
+ {
+ var generic_arguments = type_info.generic_arguments;
+ if (generic_arguments.IsNullOrEmpty ())
+ return type;
+
+ var instance = new GenericInstanceType (type);
+ var instance_arguments = instance.GenericArguments;
+
+ for (int i = 0; i < generic_arguments.Length; i++)
+ instance_arguments.Add (GetTypeReference (type.Module, generic_arguments [i]));
+
+ return instance;
+ }
+
+ public static void SplitFullName (string fullname, out string @namespace, out string name)
+ {
+ var last_dot = fullname.LastIndexOf ('.');
+
+ if (last_dot == -1) {
+ @namespace = string.Empty;
+ name = fullname;
+ } else {
+ @namespace = fullname.Substring (0, last_dot);
+ name = fullname.Substring (last_dot + 1);
+ }
+ }
+
+ static TypeReference CreateReference (Type type_info, ModuleDefinition module, IMetadataScope scope)
+ {
+ string @namespace, name;
+ SplitFullName (type_info.type_fullname, out @namespace, out name);
+
+ var type = new TypeReference (@namespace, name, module, scope);
+
+ AdjustGenericParameters (type);
+
+ var nested_names = type_info.nested_names;
+ if (nested_names.IsNullOrEmpty ())
+ return type;
+
+ for (int i = 0; i < nested_names.Length; i++) {
+ type = new TypeReference (string.Empty, nested_names [i], module, null) {
+ DeclaringType = type,
+ };
+
+ AdjustGenericParameters (type);
+ }
+
+ return type;
+ }
+
+ static void AdjustGenericParameters (TypeReference type)
+ {
+ int arity;
+ if (!TryGetArity (type.Name, out arity))
+ return;
+
+ for (int i = 0; i < arity; i++)
+ type.GenericParameters.Add (new GenericParameter (type));
+ }
+
+ static IMetadataScope GetMetadataScope (ModuleDefinition module, Type type_info)
+ {
+ if (string.IsNullOrEmpty (type_info.assembly))
+ return module.TypeSystem.Corlib;
+
+ return MatchReference (module, AssemblyNameReference.Parse (type_info.assembly));
+ }
+
+ static AssemblyNameReference MatchReference (ModuleDefinition module, AssemblyNameReference pattern)
+ {
+ var references = module.AssemblyReferences;
+
+ for (int i = 0; i < references.Count; i++) {
+ var reference = references [i];
+ if (reference.FullName == pattern.FullName)
+ return reference;
+ }
+
+ return pattern;
+ }
+
+ static bool TryGetDefinition (ModuleDefinition module, Type type_info, out TypeReference type)
+ {
+ type = null;
+ if (!TryCurrentModule (module, type_info))
+ return false;
+
+ var typedef = module.GetType (type_info.type_fullname);
+ if (typedef == null)
+ return false;
+
+ var nested_names = type_info.nested_names;
+ if (!nested_names.IsNullOrEmpty ()) {
+ for (int i = 0; i < nested_names.Length; i++)
+ typedef = typedef.GetNestedType (nested_names [i]);
+ }
+
+ type = typedef;
+ return true;
+ }
+
+ static bool TryCurrentModule (ModuleDefinition module, Type type_info)
+ {
+ if (string.IsNullOrEmpty (type_info.assembly))
+ return true;
+
+ if (module.assembly != null && module.assembly.Name.FullName == type_info.assembly)
+ return true;
+
+ return false;
+ }
+
+ public static string ToParseable (TypeReference type)
+ {
+ if (type == null)
+ return null;
+
+ var name = new StringBuilder ();
+ AppendType (type, name, true, true);
+ return name.ToString ();
+ }
+
+ static void AppendType (TypeReference type, StringBuilder name, bool fq_name, bool top_level)
+ {
+ var declaring_type = type.DeclaringType;
+ if (declaring_type != null) {
+ AppendType (declaring_type, name, false, top_level);
+ name.Append ('+');
+ }
+
+ var @namespace = type.Namespace;
+ if (!string.IsNullOrEmpty (@namespace)) {
+ name.Append (@namespace);
+ name.Append ('.');
+ }
+
+ name.Append (type.GetElementType ().Name);
+
+ if (!fq_name)
+ return;
+
+ if (type.IsTypeSpecification ())
+ AppendTypeSpecification ((TypeSpecification) type, name);
+
+ if (RequiresFullyQualifiedName (type, top_level)) {
+ name.Append (", ");
+ name.Append (GetScopeFullName (type));
+ }
+ }
+
+ static string GetScopeFullName (TypeReference type)
+ {
+ var scope = type.Scope;
+ switch (scope.MetadataScopeType) {
+ case MetadataScopeType.AssemblyNameReference:
+ return ((AssemblyNameReference) scope).FullName;
+ case MetadataScopeType.ModuleDefinition:
+ return ((ModuleDefinition) scope).Assembly.Name.FullName;
+ }
+
+ throw new ArgumentException ();
+ }
+
+ static void AppendTypeSpecification (TypeSpecification type, StringBuilder name)
+ {
+ if (type.ElementType.IsTypeSpecification ())
+ AppendTypeSpecification ((TypeSpecification) type.ElementType, name);
+
+ switch (type.etype) {
+ case ElementType.Ptr:
+ name.Append ('*');
+ break;
+ case ElementType.ByRef:
+ name.Append ('&');
+ break;
+ case ElementType.SzArray:
+ case ElementType.Array:
+ var array = (ArrayType) type;
+ if (array.IsVector) {
+ name.Append ("[]");
+ } else {
+ name.Append ('[');
+ for (int i = 1; i < array.Rank; i++)
+ name.Append (',');
+ name.Append (']');
+ }
+ break;
+ case ElementType.GenericInst:
+ var instance = (GenericInstanceType) type;
+ var arguments = instance.GenericArguments;
+
+ name.Append ('[');
+
+ for (int i = 0; i < arguments.Count; i++) {
+ if (i > 0)
+ name.Append (',');
+
+ var argument = arguments [i];
+ var requires_fqname = argument.Scope != argument.Module;
+
+ if (requires_fqname)
+ name.Append ('[');
+
+ AppendType (argument, name, true, false);
+
+ if (requires_fqname)
+ name.Append (']');
+ }
+
+ name.Append (']');
+ break;
+ default:
+ return;
+ }
+ }
+
+ static bool RequiresFullyQualifiedName (TypeReference type, bool top_level)
+ {
+ if (type.Scope == type.Module)
+ return false;
+
+ if (type.Scope.Name == "mscorlib" && top_level)
+ return false;
+
+ return true;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/TypeReference.cs b/mcs/class/Mono.Cecil/Mono.Cecil/TypeReference.cs
index ae863f7180f..e45d82303b9 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/TypeReference.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/TypeReference.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,77 +26,126 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
+
+using Mono.Cecil.Metadata;
+using Mono.Collections.Generic;
+
namespace Mono.Cecil {
- public class TypeReference : MemberReference, IGenericParameterProvider, ICustomAttributeProvider {
+ public enum MetadataType : byte {
+ Void = ElementType.Void,
+ Boolean = ElementType.Boolean,
+ Char = ElementType.Char,
+ SByte = ElementType.I1,
+ Byte = ElementType.U1,
+ Int16 = ElementType.I2,
+ UInt16 = ElementType.U2,
+ Int32 = ElementType.I4,
+ UInt32 = ElementType.U4,
+ Int64 = ElementType.I8,
+ UInt64 = ElementType.U8,
+ Single = ElementType.R4,
+ Double = ElementType.R8,
+ String = ElementType.String,
+ Pointer = ElementType.Ptr,
+ ByReference = ElementType.ByRef,
+ ValueType = ElementType.ValueType,
+ Class = ElementType.Class,
+ Var = ElementType.Var,
+ Array = ElementType.Array,
+ GenericInstance = ElementType.GenericInst,
+ TypedByReference = ElementType.TypedByRef,
+ IntPtr = ElementType.I,
+ UIntPtr = ElementType.U,
+ FunctionPointer = ElementType.FnPtr,
+ Object = ElementType.Object,
+ MVar = ElementType.MVar,
+ RequiredModifier = ElementType.CModReqD,
+ OptionalModifier = ElementType.CModOpt,
+ Sentinel = ElementType.Sentinel,
+ Pinned = ElementType.Pinned,
+ }
+
+ public class TypeReference : MemberReference, IGenericParameterProvider, IGenericContext {
- string m_namespace;
- bool m_fullNameDiscarded;
- string m_fullName;
- protected bool m_isValueType;
- IMetadataScope m_scope;
- ModuleDefinition m_module;
+ string @namespace;
+ bool value_type;
+ internal IMetadataScope scope;
+ internal ModuleDefinition module;
- CustomAttributeCollection m_customAttrs;
- GenericParameterCollection m_genparams;
+ internal ElementType etype = ElementType.None;
+
+ string fullname;
+
+ protected Collection<GenericParameter> generic_parameters;
public override string Name {
get { return base.Name; }
set {
base.Name = value;
- m_fullNameDiscarded = true;
+ fullname = null;
}
}
public virtual string Namespace {
- get { return m_namespace; }
+ get { return @namespace; }
set {
- m_namespace = value;
- m_fullNameDiscarded = true;
+ @namespace = value;
+ fullname = null;
}
}
public virtual bool IsValueType {
- get { return m_isValueType; }
- set { m_isValueType = value; }
+ get { return value_type; }
+ set { value_type = value; }
}
- public virtual ModuleDefinition Module {
- get { return m_module; }
- set { m_module = value; }
+ public override ModuleDefinition Module {
+ get {
+ if (module != null)
+ return module;
+
+ var declaring_type = this.DeclaringType;
+ if (declaring_type != null)
+ return declaring_type.Module;
+
+ return null;
+ }
}
- public bool HasCustomAttributes {
- get { return (m_customAttrs == null) ? false : (m_customAttrs.Count > 0); }
+ IGenericParameterProvider IGenericContext.Type {
+ get { return this; }
}
- public CustomAttributeCollection CustomAttributes {
- get {
- if (m_customAttrs == null)
- m_customAttrs = new CustomAttributeCollection (this);
+ IGenericParameterProvider IGenericContext.Method {
+ get { return null; }
+ }
- return m_customAttrs;
- }
+ GenericParameterType IGenericParameterProvider.GenericParameterType {
+ get { return GenericParameterType.Type; }
}
- public bool HasGenericParameters {
- get { return (m_genparams == null) ? false : (m_genparams.Count > 0); }
+ public virtual bool HasGenericParameters {
+ get { return !generic_parameters.IsNullOrEmpty (); }
}
- public GenericParameterCollection GenericParameters {
+ public virtual Collection<GenericParameter> GenericParameters {
get {
- if (m_genparams == null)
- m_genparams = new GenericParameterCollection (this);
- return m_genparams;
+ if (generic_parameters != null)
+ return generic_parameters;
+
+ return generic_parameters = new Collection<GenericParameter> ();
}
}
public virtual IMetadataScope Scope {
get {
- if (this.DeclaringType != null)
- return this.DeclaringType.Scope;
+ var declaring_type = this.DeclaringType;
+ if (declaring_type != null)
+ return declaring_type.Scope;
- return m_scope;
+ return scope;
}
}
@@ -104,67 +153,175 @@ namespace Mono.Cecil {
get { return this.DeclaringType != null; }
}
- public virtual string FullName {
+ public override TypeReference DeclaringType {
+ get { return base.DeclaringType; }
+ set {
+ base.DeclaringType = value;
+ fullname = null;
+ }
+ }
+
+ public override string FullName {
get {
- if (m_fullName != null && !m_fullNameDiscarded)
- return m_fullName;
+ if (fullname != null)
+ return fullname;
- if (this.IsNested)
- return string.Concat (this.DeclaringType.FullName, "/", this.Name);
+ if (IsNested)
+ return fullname = DeclaringType.FullName + "/" + Name;
- if (m_namespace == null || m_namespace.Length == 0)
- return this.Name;
+ if (string.IsNullOrEmpty (@namespace))
+ return fullname = Name;
- m_fullName = string.Concat (m_namespace, ".", this.Name);
- m_fullNameDiscarded = false;
- return m_fullName;
+ return fullname = @namespace + "." + Name;
}
}
- protected TypeReference (string name, string ns) : base (name)
+ public virtual bool IsByReference {
+ get { return false; }
+ }
+
+ public virtual bool IsPointer {
+ get { return false; }
+ }
+
+ public virtual bool IsSentinel {
+ get { return false; }
+ }
+
+ public virtual bool IsArray {
+ get { return false; }
+ }
+
+ public virtual bool IsGenericParameter {
+ get { return false; }
+ }
+
+ public virtual bool IsGenericInstance {
+ get { return false; }
+ }
+
+ public virtual bool IsRequiredModifier {
+ get { return false; }
+ }
+
+ public virtual bool IsOptionalModifier {
+ get { return false; }
+ }
+
+ public virtual bool IsPinned {
+ get { return false; }
+ }
+
+ public virtual bool IsFunctionPointer {
+ get { return false; }
+ }
+
+ public bool IsPrimitive {
+ get {
+ switch (etype) {
+ case ElementType.Boolean:
+ case ElementType.Char:
+ case ElementType.I:
+ case ElementType.U:
+ case ElementType.I1:
+ case ElementType.U1:
+ case ElementType.I2:
+ case ElementType.U2:
+ case ElementType.I4:
+ case ElementType.U4:
+ case ElementType.I8:
+ case ElementType.U8:
+ case ElementType.R4:
+ case ElementType.R8:
+ return true;
+ default:
+ return false;
+ }
+ }
+ }
+
+ public virtual MetadataType MetadataType {
+ get {
+ switch (etype) {
+ case ElementType.None:
+ return IsValueType ? MetadataType.ValueType : MetadataType.Class;
+ default:
+ return (MetadataType) etype;
+ }
+ }
+ }
+
+ protected TypeReference (string @namespace, string name)
+ : base (name)
{
- m_namespace = ns;
- m_fullNameDiscarded = false;
+ this.@namespace = @namespace ?? string.Empty;
+ this.token = new MetadataToken (TokenType.TypeRef, 0);
}
- internal TypeReference (string name, string ns, IMetadataScope scope) : this (name, ns)
+ public TypeReference (string @namespace, string name, ModuleDefinition module, IMetadataScope scope)
+ : this (@namespace, name)
{
- m_scope = scope;
+ this.module = module;
+ this.scope = scope;
}
- public TypeReference (string name, string ns, IMetadataScope scope, bool valueType) :
- this (name, ns, scope)
+ public TypeReference (string @namespace, string name, ModuleDefinition module, IMetadataScope scope, bool valueType) :
+ this (@namespace, name, module, scope)
{
- m_isValueType = valueType;
+ value_type = valueType;
+ }
+
+ public virtual TypeReference GetElementType ()
+ {
+ return this;
}
public virtual TypeDefinition Resolve ()
{
- ModuleDefinition module = Module;
+ var module = this.Module;
if (module == null)
- return null;
+ throw new NotSupportedException ();
- return module.Resolver.Resolve (this);
+ return module.Resolve (this);
}
+ }
- public virtual TypeReference GetOriginalType ()
- {
- return this;
- }
+ static partial class Mixin {
- internal void AttachToScope (IMetadataScope scope)
+ public static bool IsTypeOf (this TypeReference self, string @namespace, string name)
{
- m_scope = scope;
+ return self.Name == name
+ && self.Namespace == @namespace;
}
- public override void Accept (IReflectionVisitor visitor)
+ public static bool IsTypeSpecification (this TypeReference type)
{
- visitor.VisitTypeReference (this);
+ switch (type.etype) {
+ case ElementType.Array:
+ case ElementType.ByRef:
+ case ElementType.CModOpt:
+ case ElementType.CModReqD:
+ case ElementType.FnPtr:
+ case ElementType.GenericInst:
+ case ElementType.MVar:
+ case ElementType.Pinned:
+ case ElementType.Ptr:
+ case ElementType.SzArray:
+ case ElementType.Sentinel:
+ case ElementType.Var:
+ return true;
+ }
+
+ return false;
}
- public override string ToString ()
+ public static TypeDefinition CheckedResolve (this TypeReference self)
{
- return this.FullName;
+ var type = self.Resolve ();
+ if (type == null)
+ throw new InvalidOperationException (string.Format ("Failed to resolve type: {0}", self.FullName));
+
+ return type;
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/TypeReferenceCollection.cs b/mcs/class/Mono.Cecil/Mono.Cecil/TypeReferenceCollection.cs
deleted file mode 100644
index 2482e3841ea..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Cecil/TypeReferenceCollection.cs
+++ /dev/null
@@ -1,214 +0,0 @@
-//
-// TypeReferenceCollection.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Generated by /CodeGen/cecil-gen.rb do not edit
-// Fri Mar 30 18:43:56 +0200 2007
-//
-// (C) 2005 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace Mono.Cecil {
-
- using System;
- using System.Collections;
- using System.Collections.Specialized;
-
- using Mono.Cecil.Cil;
-
- using Hcp = Mono.Cecil.HashCodeProvider;
- using Cmp = System.Collections.Comparer;
-
- public sealed class TypeReferenceCollection : NameObjectCollectionBase, IList, IReflectionVisitable {
-
- ModuleDefinition m_container;
-
- public TypeReference this [int index] {
- get { return this.BaseGet (index) as TypeReference; }
- set { this.BaseSet (index, value); }
- }
-
- public TypeReference this [string fullName] {
- get { return this.BaseGet (fullName) as TypeReference; }
- set { this.BaseSet (fullName, value); }
- }
-
- public ModuleDefinition Container {
- get { return m_container; }
- }
-
- public bool IsSynchronized {
- get { return false; }
- }
-
- public object SyncRoot {
- get { return this; }
- }
-
- bool IList.IsReadOnly {
- get { return false; }
- }
-
- bool IList.IsFixedSize {
- get { return false; }
- }
-
- object IList.this [int index] {
- get { return BaseGet (index); }
- set {
- Check (value);
- BaseSet (index, value);
- }
- }
-
- public TypeReferenceCollection (ModuleDefinition container) :
- base (Hcp.Instance, Cmp.Default)
- {
- m_container = container;
- }
-
- public void Add (TypeReference value)
- {
- if (value == null)
- throw new ArgumentNullException ("value");
-
- Attach (value);
-
- this.BaseAdd (value.FullName, value);
- }
-
- public void Clear ()
- {
- foreach (TypeReference item in this)
- Detach (item);
-
- this.BaseClear ();
- }
-
- public bool Contains (TypeReference value)
- {
- return Contains (value.FullName);
- }
-
- public bool Contains (string fullName)
- {
- return this.BaseGet (fullName) != null;
- }
-
- public int IndexOf (TypeReference value)
- {
- string [] keys = this.BaseGetAllKeys ();
- return Array.IndexOf (keys, value.FullName, 0, keys.Length);
- }
-
- public void Remove (TypeReference value)
- {
- this.BaseRemove (value.FullName);
-
- Detach (value);
- }
-
- public void RemoveAt (int index)
- {
- TypeReference item = this [index];
- Remove (item);
-
- Detach (item);
- }
-
- public void CopyTo (Array ary, int index)
- {
- this.BaseGetAllValues ().CopyTo (ary, index);
- }
-
- public new IEnumerator GetEnumerator ()
- {
- return this.BaseGetAllValues ().GetEnumerator ();
- }
-
- public void Accept (IReflectionVisitor visitor)
- {
- visitor.VisitTypeReferenceCollection (this);
- }
-
-#if CF_1_0 || CF_2_0
- internal object [] BaseGetAllValues ()
- {
- object [] values = new object [this.Count];
- for (int i=0; i < values.Length; ++i) {
- values [i] = this.BaseGet (i);
- }
- return values;
- }
-#endif
-
- void Check (object value)
- {
- if (!(value is TypeReference))
- throw new ArgumentException ();
- }
-
- int IList.Add (object value)
- {
- Check (value);
- Add (value as TypeReference);
- return 0;
- }
-
- bool IList.Contains (object value)
- {
- Check (value);
- return Contains (value as TypeReference);
- }
-
- int IList.IndexOf (object value)
- {
- throw new NotSupportedException ();
- }
-
- void IList.Insert (int index, object value)
- {
- throw new NotSupportedException ();
- }
-
- void IList.Remove (object value)
- {
- Check (value);
- Remove (value as TypeReference);
- }
-
- void Detach (TypeReference type)
- {
- type.Module = null;
- }
-
- void Attach (TypeReference type)
- {
- if (type.Module != null)
- throw new ReflectionException ("Type is already attached, clone it instead");
-
- type.Module = m_container;
- }
- }
-}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/TypeSpecification.cs b/mcs/class/Mono.Cecil/Mono.Cecil/TypeSpecification.cs
index 9648a4b173e..d484eff0a1a 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/TypeSpecification.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/TypeSpecification.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,55 +26,69 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace Mono.Cecil {
+using System;
+
+using Mono.Cecil.Metadata;
- using System;
+namespace Mono.Cecil {
public abstract class TypeSpecification : TypeReference {
- private TypeReference m_elementType;
+ readonly TypeReference element_type;
+
+ public TypeReference ElementType {
+ get { return element_type; }
+ }
public override string Name {
- get { return m_elementType.Name; }
+ get { return element_type.Name; }
set { throw new NotSupportedException (); }
}
public override string Namespace {
- get { return m_elementType.Namespace; }
+ get { return element_type.Namespace; }
set { throw new NotSupportedException (); }
}
- public override bool IsValueType {
- get { return m_elementType.IsValueType; }
- set { throw new InvalidOperationException (); }
- }
-
public override IMetadataScope Scope {
- get { return m_elementType.Scope; }
+ get { return element_type.Scope; }
}
public override ModuleDefinition Module {
- get { return m_elementType.Module; }
- set { throw new InvalidOperationException (); }
+ get { return element_type.Module; }
}
- public TypeReference ElementType {
- get { return m_elementType; }
- set { m_elementType = value; }
+ public override string FullName {
+ get { return element_type.FullName; }
}
- public override string FullName {
- get { return m_elementType.FullName; }
+ internal override bool ContainsGenericParameter {
+ get { return element_type.ContainsGenericParameter; }
}
- internal TypeSpecification (TypeReference elementType) : base (string.Empty, string.Empty)
+ public override MetadataType MetadataType {
+ get { return (MetadataType) etype; }
+ }
+
+ internal TypeSpecification (TypeReference type)
+ : base (null, null)
{
- m_elementType = elementType;
+ this.element_type = type;
+ this.token = new MetadataToken (TokenType.TypeSpec);
}
- public override TypeReference GetOriginalType ()
+ public sealed override TypeReference GetElementType ()
+ {
+ return element_type.GetElementType ();
+ }
+ }
+
+ static partial class Mixin {
+
+ public static void CheckType (TypeReference type)
{
- return m_elementType.GetOriginalType ();
+ if (type == null)
+ throw new ArgumentNullException ("type");
}
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/TypeSystem.cs b/mcs/class/Mono.Cecil/Mono.Cecil/TypeSystem.cs
new file mode 100644
index 00000000000..d818d57d0b8
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/TypeSystem.cs
@@ -0,0 +1,270 @@
+//
+// TypeSystem.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+using Mono.Cecil.Metadata;
+
+namespace Mono.Cecil {
+
+ public abstract class TypeSystem {
+
+ sealed class CorlibTypeSystem : TypeSystem {
+
+ public CorlibTypeSystem (ModuleDefinition module)
+ : base (module)
+ {
+ }
+
+ internal override TypeReference LookupType (string @namespace, string name)
+ {
+ var metadata = module.MetadataSystem;
+ if (metadata.Types == null)
+ Initialize (module.Types);
+
+ var types = metadata.Types;
+
+ for (int i = 0; i < types.Length; i++) {
+ var type = types [i];
+ if (type == null)
+ continue;
+
+ if (type.Name == name && type.Namespace == @namespace)
+ return type;
+ }
+
+ return null;
+ }
+
+ static void Initialize (object obj)
+ {
+ }
+ }
+
+ sealed class CommonTypeSystem : TypeSystem {
+
+ AssemblyNameReference corlib;
+
+ public CommonTypeSystem (ModuleDefinition module)
+ : base (module)
+ {
+ }
+
+ internal override TypeReference LookupType (string @namespace, string name)
+ {
+ return CreateTypeReference (@namespace, name);
+ }
+
+ public AssemblyNameReference GetCorlibReference ()
+ {
+ if (corlib != null)
+ return corlib;
+
+ const string mscorlib = "mscorlib";
+
+ var references = module.AssemblyReferences;
+
+ for (int i = 0; i < references.Count; i++) {
+ var reference = references [i];
+ if (reference.Name == mscorlib)
+ return corlib = reference;
+ }
+
+ corlib = new AssemblyNameReference {
+ Name = mscorlib,
+ Version = GetCorlibVersion (),
+ PublicKeyToken = new byte [] { 0xb7, 0x7a, 0x5c, 0x56, 0x19, 0x34, 0xe0, 0x89 },
+ };
+
+ references.Add (corlib);
+
+ return corlib;
+ }
+
+ Version GetCorlibVersion ()
+ {
+ switch (module.Runtime) {
+ case TargetRuntime.Net_1_0:
+ case TargetRuntime.Net_1_1:
+ return new Version (1, 0, 0, 0);
+ case TargetRuntime.Net_2_0:
+ return new Version (2, 0, 0, 0);
+ case TargetRuntime.Net_4_0:
+ return new Version (4, 0, 0, 0);
+ default:
+ throw new NotSupportedException ();
+ }
+ }
+
+ TypeReference CreateTypeReference (string @namespace, string name)
+ {
+ return new TypeReference (@namespace, name, module, GetCorlibReference ());
+ }
+ }
+
+ readonly ModuleDefinition module;
+
+ TypeReference type_object;
+ TypeReference type_void;
+ TypeReference type_bool;
+ TypeReference type_char;
+ TypeReference type_sbyte;
+ TypeReference type_byte;
+ TypeReference type_int16;
+ TypeReference type_uint16;
+ TypeReference type_int32;
+ TypeReference type_uint32;
+ TypeReference type_int64;
+ TypeReference type_uint64;
+ TypeReference type_single;
+ TypeReference type_double;
+ TypeReference type_intptr;
+ TypeReference type_uintptr;
+ TypeReference type_string;
+ TypeReference type_typedref;
+
+ TypeSystem (ModuleDefinition module)
+ {
+ this.module = module;
+ }
+
+ internal static TypeSystem CreateTypeSystem (ModuleDefinition module)
+ {
+ if (IsCorlib (module))
+ return new CorlibTypeSystem (module);
+
+ return new CommonTypeSystem (module);
+ }
+
+ static bool IsCorlib (ModuleDefinition module)
+ {
+ if (module.Assembly == null)
+ return false;
+
+ return module.Assembly.Name.Name == "mscorlib";
+ }
+
+ internal abstract TypeReference LookupType (string @namespace, string name);
+
+ TypeReference LookupSystemType (string name, ElementType element_type)
+ {
+ var type = LookupType ("System", name);
+ type.etype = element_type;
+ return type;
+ }
+
+ TypeReference LookupSystemValueType (string name, ElementType element_type)
+ {
+ var type = LookupSystemType (name, element_type);
+ type.IsValueType = true;
+ return type;
+ }
+
+ public IMetadataScope Corlib {
+ get {
+ var common = this as CommonTypeSystem;
+ if (common == null)
+ return module;
+
+ return common.GetCorlibReference ();
+ }
+ }
+
+ public TypeReference Object {
+ get { return type_object ?? (type_object = LookupSystemType ("Object", ElementType.Object)); }
+ }
+
+ public TypeReference Void {
+ get { return type_void ?? (type_void = LookupSystemType ("Void", ElementType.Void)); }
+ }
+
+ public TypeReference Boolean {
+ get { return type_bool ?? (type_bool = LookupSystemValueType ("Boolean", ElementType.Boolean)); }
+ }
+
+ public TypeReference Char {
+ get { return type_char ?? (type_char = LookupSystemValueType ("Char", ElementType.Char)); }
+ }
+
+ public TypeReference SByte {
+ get { return type_sbyte ?? (type_sbyte = LookupSystemValueType ("SByte", ElementType.I1)); }
+ }
+
+ public TypeReference Byte {
+ get { return type_byte ?? (type_byte = LookupSystemValueType ("Byte", ElementType.U1)); }
+ }
+
+ public TypeReference Int16 {
+ get { return type_int16 ?? (type_int16 = LookupSystemValueType ("Int16", ElementType.I2)); }
+ }
+
+ public TypeReference UInt16 {
+ get { return type_uint16 ?? (type_uint16 = LookupSystemValueType ("UInt16", ElementType.U2)); }
+ }
+
+ public TypeReference Int32 {
+ get { return type_int32 ?? (type_int32 = LookupSystemValueType ("Int32", ElementType.I4)); }
+ }
+
+ public TypeReference UInt32 {
+ get { return type_uint32 ?? (type_uint32 = LookupSystemValueType ("UInt32", ElementType.U4)); }
+ }
+
+ public TypeReference Int64 {
+ get { return type_int64 ?? (type_int64 = LookupSystemValueType ("Int64", ElementType.I8)); }
+ }
+
+ public TypeReference UInt64 {
+ get { return type_uint64 ?? (type_uint64 = LookupSystemValueType ("UInt64", ElementType.U8)); }
+ }
+
+ public TypeReference Single {
+ get { return type_single ?? (type_single = LookupSystemValueType ("Single", ElementType.R4)); }
+ }
+
+ public TypeReference Double {
+ get { return type_double ?? (type_double = LookupSystemValueType ("Double", ElementType.R8)); }
+ }
+
+ public TypeReference IntPtr {
+ get { return type_intptr ?? (type_intptr = LookupSystemValueType ("IntPtr", ElementType.I)); }
+ }
+
+ public TypeReference UIntPtr {
+ get { return type_uintptr ?? (type_uintptr = LookupSystemValueType ("UIntPtr", ElementType.U)); }
+ }
+
+ public TypeReference String {
+ get { return type_string ?? (type_string = LookupSystemType ("String", ElementType.String)); }
+ }
+
+ public TypeReference TypedReference {
+ get { return type_typedref ?? (type_typedref = LookupSystemValueType ("TypedReference", ElementType.TypedByRef)); }
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/VariantType.cs b/mcs/class/Mono.Cecil/Mono.Cecil/VariantType.cs
index eeeff2a002d..86d6daaa6a6 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/VariantType.cs
+++ b/mcs/class/Mono.Cecil/Mono.Cecil/VariantType.cs
@@ -4,7 +4,7 @@
// Author:
// Jb Evain (jbevain@gmail.com)
//
-// (C) 2005 Jb Evain
+// Copyright (c) 2008 - 2010 Jb Evain
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -29,24 +29,25 @@
namespace Mono.Cecil {
public enum VariantType {
+ None = 0,
I2 = 2,
I4 = 3,
R4 = 4,
R8 = 5,
CY = 6,
- DATE = 7,
- BSTR = 8,
- DISPATCH = 9,
- ERROR = 10,
- BOOL = 11,
- VARIANT = 12,
- UNKNOWN = 13,
- DECIMAL = 14,
+ Date = 7,
+ BStr = 8,
+ Dispatch = 9,
+ Error = 10,
+ Bool = 11,
+ Variant = 12,
+ Unknown = 13,
+ Decimal = 14,
I1 = 16,
UI1 = 17,
UI2 = 18,
UI4 = 19,
- INT = 22,
- UINT = 23
+ Int = 22,
+ UInt = 23
}
}
diff --git a/mcs/class/Mono.Cecil/Mono.Collections.Generic/Collection.cs b/mcs/class/Mono.Cecil/Mono.Collections.Generic/Collection.cs
new file mode 100644
index 00000000000..1137978aa36
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Collections.Generic/Collection.cs
@@ -0,0 +1,417 @@
+//
+// Collection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+namespace Mono.Collections.Generic {
+
+ public class Collection<T> : IList<T>, IList {
+
+ internal T [] items;
+ internal int size;
+ int version;
+
+ public int Count {
+ get { return size; }
+ }
+
+ public T this [int index] {
+ get {
+ if (index >= size)
+ throw new ArgumentOutOfRangeException ();
+
+ return items [index];
+ }
+ set {
+ CheckIndex (index);
+ if (index == size)
+ throw new ArgumentOutOfRangeException ();
+
+ OnSet (value, index);
+
+ items [index] = value;
+ }
+ }
+
+ bool ICollection<T>.IsReadOnly {
+ get { return false; }
+ }
+
+ bool IList.IsFixedSize {
+ get { return false; }
+ }
+
+ bool IList.IsReadOnly {
+ get { return false; }
+ }
+
+ object IList.this [int index] {
+ get { return this [index]; }
+ set {
+ CheckIndex (index);
+
+ try {
+ this [index] = (T) value;
+ return;
+ } catch (InvalidCastException) {
+ } catch (NullReferenceException) {
+ }
+
+ throw new ArgumentException ();
+ }
+ }
+
+ int ICollection.Count {
+ get { return Count; }
+ }
+
+ bool ICollection.IsSynchronized {
+ get { return false; }
+ }
+
+ object ICollection.SyncRoot {
+ get { return this; }
+ }
+
+ public Collection ()
+ {
+ items = Empty<T>.Array;
+ }
+
+ public Collection (int capacity)
+ {
+ if (capacity < 0)
+ throw new ArgumentOutOfRangeException ();
+
+ items = new T [capacity];
+ }
+
+ public Collection (ICollection<T> items)
+ {
+ this.items = new T [items.Count];
+ items.CopyTo (this.items, 0);
+ this.size = this.items.Length;
+ }
+
+ public void Add (T item)
+ {
+ if (size == items.Length)
+ Grow (1);
+
+ OnAdd (item, size);
+
+ items [size++] = item;
+ version++;
+ }
+
+ public bool Contains (T item)
+ {
+ return IndexOf (item) != -1;
+ }
+
+ public int IndexOf (T item)
+ {
+ return Array.IndexOf (items, item, 0, size);
+ }
+
+ public void Insert (int index, T item)
+ {
+ CheckIndex (index);
+ if (size == items.Length)
+ Grow (1);
+
+ OnInsert (item, index);
+
+ Shift (index, 1);
+ items [index] = item;
+ version++;
+ }
+
+ public void RemoveAt (int index)
+ {
+ if (index < 0 || index >= size)
+ throw new ArgumentOutOfRangeException ();
+
+ var item = items [index];
+
+ OnRemove (item, index);
+
+ Shift (index, -1);
+ Array.Clear (items, size, 1);
+ version++;
+ }
+
+ public bool Remove (T item)
+ {
+ var index = IndexOf (item);
+ if (index == -1)
+ return false;
+
+ OnRemove (item, index);
+
+ Shift (index, -1);
+ Array.Clear (items, size, 1);
+ version++;
+
+ return true;
+ }
+
+ public void Clear ()
+ {
+ OnClear ();
+
+ Array.Clear (items, 0, size);
+ size = 0;
+ version++;
+ }
+
+ public void CopyTo (T [] array, int arrayIndex)
+ {
+ Array.Copy (items, 0, array, arrayIndex, size);
+ }
+
+ public T [] ToArray ()
+ {
+ var array = new T [size];
+ Array.Copy (items, 0, array, 0, size);
+ return array;
+ }
+
+ void CheckIndex (int index)
+ {
+ if (index < 0 || index > size)
+ throw new ArgumentOutOfRangeException ();
+ }
+
+ void Shift (int start, int delta)
+ {
+ if (delta < 0)
+ start -= delta;
+
+ if (start < size)
+ Array.Copy (items, start, items, start + delta, size - start);
+
+ size += delta;
+
+ if (delta < 0)
+ Array.Clear (items, size, -delta);
+ }
+
+ protected virtual void OnAdd (T item, int index)
+ {
+ }
+
+ protected virtual void OnInsert (T item, int index)
+ {
+ }
+
+ protected virtual void OnSet (T item, int index)
+ {
+ }
+
+ protected virtual void OnRemove (T item, int index)
+ {
+ }
+
+ protected virtual void OnClear ()
+ {
+ }
+
+ internal virtual void Grow (int desired)
+ {
+ int new_size = size + desired;
+ if (new_size <= items.Length)
+ return;
+
+ const int default_capacity = 4;
+
+ new_size = System.Math.Max (
+ System.Math.Max (items.Length * 2, default_capacity),
+ new_size);
+
+#if !CF
+ Array.Resize (ref items, new_size);
+#else
+ var array = new T [new_size];
+ Array.Copy (items, array, size);
+ items = array;
+#endif
+ }
+
+ int IList.Add (object value)
+ {
+ try {
+ Add ((T) value);
+ return size - 1;
+ } catch (InvalidCastException) {
+ } catch (NullReferenceException) {
+ }
+
+ throw new ArgumentException ();
+ }
+
+ void IList.Clear ()
+ {
+ Clear ();
+ }
+
+ bool IList.Contains (object value)
+ {
+ return ((IList) this).IndexOf (value) > -1;
+ }
+
+ int IList.IndexOf (object value)
+ {
+ try {
+ return IndexOf ((T) value);
+ } catch (InvalidCastException) {
+ } catch (NullReferenceException) {
+ }
+
+ return -1;
+ }
+
+ void IList.Insert (int index, object value)
+ {
+ CheckIndex (index);
+
+ try {
+ Insert (index, (T) value);
+ return;
+ } catch (InvalidCastException) {
+ } catch (NullReferenceException) {
+ }
+
+ throw new ArgumentException ();
+ }
+
+ void IList.Remove (object value)
+ {
+ try {
+ Remove ((T) value);
+ } catch (InvalidCastException) {
+ } catch (NullReferenceException) {
+ }
+ }
+
+ void IList.RemoveAt (int index)
+ {
+ RemoveAt (index);
+ }
+
+ void ICollection.CopyTo (Array array, int index)
+ {
+ Array.Copy (items, 0, array, index, size);
+ }
+
+ public Enumerator GetEnumerator ()
+ {
+ return new Enumerator (this);
+ }
+
+ IEnumerator IEnumerable.GetEnumerator ()
+ {
+ return new Enumerator (this);
+ }
+
+ IEnumerator<T> IEnumerable<T>.GetEnumerator ()
+ {
+ return new Enumerator (this);
+ }
+
+ public struct Enumerator : IEnumerator<T>, IDisposable {
+
+ Collection<T> collection;
+ T current;
+
+ int next;
+ readonly int version;
+
+ public T Current {
+ get { return current; }
+ }
+
+ object IEnumerator.Current {
+ get {
+ CheckState ();
+
+ if (next <= 0)
+ throw new InvalidOperationException ();
+
+ return current;
+ }
+ }
+
+ internal Enumerator (Collection<T> collection)
+ : this ()
+ {
+ this.collection = collection;
+ this.version = collection.version;
+ }
+
+ public bool MoveNext ()
+ {
+ CheckState ();
+
+ if (next < 0)
+ return false;
+
+ if (next < collection.size) {
+ current = collection.items [next++];
+ return true;
+ }
+
+ next = -1;
+ return false;
+ }
+
+ public void Reset ()
+ {
+ CheckState ();
+
+ next = 0;
+ }
+
+ void CheckState ()
+ {
+ if (collection == null)
+ throw new ObjectDisposedException (GetType ().FullName);
+
+ if (version != collection.version)
+ throw new InvalidOperationException ();
+ }
+
+ public void Dispose ()
+ {
+ collection = null;
+ }
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Collections.Generic/ReadOnlyCollection.cs b/mcs/class/Mono.Cecil/Mono.Collections.Generic/ReadOnlyCollection.cs
new file mode 100644
index 00000000000..35c9cd8dde8
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Collections.Generic/ReadOnlyCollection.cs
@@ -0,0 +1,98 @@
+//
+// ReadOnlyCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections;
+
+namespace Mono.Collections.Generic {
+
+ public sealed class ReadOnlyCollection<T> : Collection<T>, IList {
+
+ static ReadOnlyCollection<T> empty;
+
+ public static ReadOnlyCollection<T> Empty {
+ get { return empty ?? (empty = new ReadOnlyCollection<T> ()); }
+ }
+
+ bool IList.IsReadOnly {
+ get { return true; }
+ }
+
+ private ReadOnlyCollection ()
+ {
+ }
+
+ public ReadOnlyCollection (T [] array)
+ {
+ if (array == null)
+ throw new ArgumentNullException ();
+
+ this.items = array;
+ this.size = array.Length;
+ }
+
+ public ReadOnlyCollection (Collection<T> collection)
+ {
+ if (collection == null)
+ throw new ArgumentNullException ();
+
+ this.items = collection.items;
+ this.size = collection.size;
+ }
+
+ internal override void Grow (int desired)
+ {
+ throw new InvalidOperationException ();
+ }
+
+ protected override void OnAdd (T item, int index)
+ {
+ throw new InvalidOperationException ();
+ }
+
+ protected override void OnClear ()
+ {
+ throw new InvalidOperationException ();
+ }
+
+ protected override void OnInsert (T item, int index)
+ {
+ throw new InvalidOperationException ();
+ }
+
+ protected override void OnRemove (T item, int index)
+ {
+ throw new InvalidOperationException ();
+ }
+
+ protected override void OnSet (T item, int index)
+ {
+ throw new InvalidOperationException ();
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Security.Cryptography/CryptoConvert.cs b/mcs/class/Mono.Cecil/Mono.Security.Cryptography/CryptoConvert.cs
new file mode 100644
index 00000000000..26a4ba25b66
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Security.Cryptography/CryptoConvert.cs
@@ -0,0 +1,243 @@
+//
+// CryptoConvert.cs - Crypto Convertion Routines
+//
+// Author:
+// Sebastien Pouliot <sebastien@ximian.com>
+//
+// (C) 2003 Motus Technologies Inc. (http://www.motus.com)
+// Copyright (C) 2004-2006 Novell Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Security.Cryptography;
+
+#if !(SILVERLIGHT || READ_ONLY)
+
+namespace Mono.Security.Cryptography {
+
+ static class CryptoConvert {
+
+ static private int ToInt32LE (byte [] bytes, int offset)
+ {
+ return (bytes [offset+3] << 24) | (bytes [offset+2] << 16) | (bytes [offset+1] << 8) | bytes [offset];
+ }
+
+ static private uint ToUInt32LE (byte [] bytes, int offset)
+ {
+ return (uint)((bytes [offset+3] << 24) | (bytes [offset+2] << 16) | (bytes [offset+1] << 8) | bytes [offset]);
+ }
+
+ static private byte[] Trim (byte[] array)
+ {
+ for (int i=0; i < array.Length; i++) {
+ if (array [i] != 0x00) {
+ byte[] result = new byte [array.Length - i];
+ Buffer.BlockCopy (array, i, result, 0, result.Length);
+ return result;
+ }
+ }
+ return null;
+ }
+
+ static RSA FromCapiPrivateKeyBlob (byte[] blob, int offset)
+ {
+ RSAParameters rsap = new RSAParameters ();
+ try {
+ if ((blob [offset] != 0x07) || // PRIVATEKEYBLOB (0x07)
+ (blob [offset+1] != 0x02) || // Version (0x02)
+ (blob [offset+2] != 0x00) || // Reserved (word)
+ (blob [offset+3] != 0x00) ||
+ (ToUInt32LE (blob, offset+8) != 0x32415352)) // DWORD magic = RSA2
+ throw new CryptographicException ("Invalid blob header");
+
+ // ALGID (CALG_RSA_SIGN, CALG_RSA_KEYX, ...)
+ // int algId = ToInt32LE (blob, offset+4);
+
+ // DWORD bitlen
+ int bitLen = ToInt32LE (blob, offset+12);
+
+ // DWORD public exponent
+ byte[] exp = new byte [4];
+ Buffer.BlockCopy (blob, offset+16, exp, 0, 4);
+ Array.Reverse (exp);
+ rsap.Exponent = Trim (exp);
+
+ int pos = offset+20;
+ // BYTE modulus[rsapubkey.bitlen/8];
+ int byteLen = (bitLen >> 3);
+ rsap.Modulus = new byte [byteLen];
+ Buffer.BlockCopy (blob, pos, rsap.Modulus, 0, byteLen);
+ Array.Reverse (rsap.Modulus);
+ pos += byteLen;
+
+ // BYTE prime1[rsapubkey.bitlen/16];
+ int byteHalfLen = (byteLen >> 1);
+ rsap.P = new byte [byteHalfLen];
+ Buffer.BlockCopy (blob, pos, rsap.P, 0, byteHalfLen);
+ Array.Reverse (rsap.P);
+ pos += byteHalfLen;
+
+ // BYTE prime2[rsapubkey.bitlen/16];
+ rsap.Q = new byte [byteHalfLen];
+ Buffer.BlockCopy (blob, pos, rsap.Q, 0, byteHalfLen);
+ Array.Reverse (rsap.Q);
+ pos += byteHalfLen;
+
+ // BYTE exponent1[rsapubkey.bitlen/16];
+ rsap.DP = new byte [byteHalfLen];
+ Buffer.BlockCopy (blob, pos, rsap.DP, 0, byteHalfLen);
+ Array.Reverse (rsap.DP);
+ pos += byteHalfLen;
+
+ // BYTE exponent2[rsapubkey.bitlen/16];
+ rsap.DQ = new byte [byteHalfLen];
+ Buffer.BlockCopy (blob, pos, rsap.DQ, 0, byteHalfLen);
+ Array.Reverse (rsap.DQ);
+ pos += byteHalfLen;
+
+ // BYTE coefficient[rsapubkey.bitlen/16];
+ rsap.InverseQ = new byte [byteHalfLen];
+ Buffer.BlockCopy (blob, pos, rsap.InverseQ, 0, byteHalfLen);
+ Array.Reverse (rsap.InverseQ);
+ pos += byteHalfLen;
+
+ // ok, this is hackish but CryptoAPI support it so...
+ // note: only works because CRT is used by default
+ // http://bugzilla.ximian.com/show_bug.cgi?id=57941
+ rsap.D = new byte [byteLen]; // must be allocated
+ if (pos + byteLen + offset <= blob.Length) {
+ // BYTE privateExponent[rsapubkey.bitlen/8];
+ Buffer.BlockCopy (blob, pos, rsap.D, 0, byteLen);
+ Array.Reverse (rsap.D);
+ }
+ }
+ catch (Exception e) {
+ throw new CryptographicException ("Invalid blob.", e);
+ }
+
+ RSA rsa = null;
+ try {
+ rsa = RSA.Create ();
+ rsa.ImportParameters (rsap);
+ }
+ catch (CryptographicException ce) {
+ // this may cause problem when this code is run under
+ // the SYSTEM identity on Windows (e.g. ASP.NET). See
+ // http://bugzilla.ximian.com/show_bug.cgi?id=77559
+ try {
+ CspParameters csp = new CspParameters ();
+ csp.Flags = CspProviderFlags.UseMachineKeyStore;
+ rsa = new RSACryptoServiceProvider (csp);
+ rsa.ImportParameters (rsap);
+ }
+ catch {
+ // rethrow original, not the later, exception if this fails
+ throw ce;
+ }
+ }
+ return rsa;
+ }
+
+ static RSA FromCapiPublicKeyBlob (byte[] blob, int offset)
+ {
+ try {
+ if ((blob [offset] != 0x06) || // PUBLICKEYBLOB (0x06)
+ (blob [offset+1] != 0x02) || // Version (0x02)
+ (blob [offset+2] != 0x00) || // Reserved (word)
+ (blob [offset+3] != 0x00) ||
+ (ToUInt32LE (blob, offset+8) != 0x31415352)) // DWORD magic = RSA1
+ throw new CryptographicException ("Invalid blob header");
+
+ // ALGID (CALG_RSA_SIGN, CALG_RSA_KEYX, ...)
+ // int algId = ToInt32LE (blob, offset+4);
+
+ // DWORD bitlen
+ int bitLen = ToInt32LE (blob, offset+12);
+
+ // DWORD public exponent
+ RSAParameters rsap = new RSAParameters ();
+ rsap.Exponent = new byte [3];
+ rsap.Exponent [0] = blob [offset+18];
+ rsap.Exponent [1] = blob [offset+17];
+ rsap.Exponent [2] = blob [offset+16];
+
+ int pos = offset+20;
+ // BYTE modulus[rsapubkey.bitlen/8];
+ int byteLen = (bitLen >> 3);
+ rsap.Modulus = new byte [byteLen];
+ Buffer.BlockCopy (blob, pos, rsap.Modulus, 0, byteLen);
+ Array.Reverse (rsap.Modulus);
+
+ RSA rsa = null;
+ try {
+ rsa = RSA.Create ();
+ rsa.ImportParameters (rsap);
+ }
+ catch (CryptographicException) {
+ // this may cause problem when this code is run under
+ // the SYSTEM identity on Windows (e.g. ASP.NET). See
+ // http://bugzilla.ximian.com/show_bug.cgi?id=77559
+ CspParameters csp = new CspParameters ();
+ csp.Flags = CspProviderFlags.UseMachineKeyStore;
+ rsa = new RSACryptoServiceProvider (csp);
+ rsa.ImportParameters (rsap);
+ }
+ return rsa;
+ }
+ catch (Exception e) {
+ throw new CryptographicException ("Invalid blob.", e);
+ }
+ }
+
+ // PRIVATEKEYBLOB
+ // PUBLICKEYBLOB
+ static public RSA FromCapiKeyBlob (byte[] blob)
+ {
+ return FromCapiKeyBlob (blob, 0);
+ }
+
+ static public RSA FromCapiKeyBlob (byte[] blob, int offset)
+ {
+ if (blob == null)
+ throw new ArgumentNullException ("blob");
+ if (offset >= blob.Length)
+ throw new ArgumentException ("blob is too small.");
+
+ switch (blob [offset]) {
+ case 0x00:
+ // this could be a public key inside an header
+ // like "sn -e" would produce
+ if (blob [offset + 12] == 0x06) {
+ return FromCapiPublicKeyBlob (blob, offset + 12);
+ }
+ break;
+ case 0x06:
+ return FromCapiPublicKeyBlob (blob, offset);
+ case 0x07:
+ return FromCapiPrivateKeyBlob (blob, offset);
+ }
+ throw new CryptographicException ("Unknown blob format.");
+ }
+ }
+}
+
+#endif
diff --git a/mcs/class/Mono.Cecil/Mono.Security.Cryptography/CryptoService.cs b/mcs/class/Mono.Cecil/Mono.Security.Cryptography/CryptoService.cs
new file mode 100644
index 00000000000..f504f5eb62d
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono.Security.Cryptography/CryptoService.cs
@@ -0,0 +1,177 @@
+//
+// CryptoService.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.IO;
+using System.Reflection;
+using System.Security.Cryptography;
+
+#if !READ_ONLY
+
+#if !SILVERLIGHT && !CF
+using System.Runtime.Serialization;
+using Mono.Security.Cryptography;
+#endif
+
+using Mono.Cecil.PE;
+
+namespace Mono.Cecil {
+
+ // Most of this code has been adapted
+ // from Jeroen Frijters' fantastic work
+ // in IKVM.Reflection.Emit. Thanks!
+
+ static class CryptoService {
+
+#if !SILVERLIGHT && !CF
+ public static void StrongName (Stream stream, ImageWriter writer, StrongNameKeyPair key_pair)
+ {
+ int strong_name_pointer;
+
+ var strong_name = CreateStrongName (key_pair, HashStream (stream, writer, out strong_name_pointer));
+ PatchStrongName (stream, strong_name_pointer, strong_name);
+ }
+
+ static void PatchStrongName (Stream stream, int strong_name_pointer, byte [] strong_name)
+ {
+ stream.Seek (strong_name_pointer, SeekOrigin.Begin);
+ stream.Write (strong_name, 0, strong_name.Length);
+ }
+
+ static byte [] CreateStrongName (StrongNameKeyPair key_pair, byte [] hash)
+ {
+ const string hash_algo = "SHA1";
+
+ using (var rsa = key_pair.CreateRSA ()) {
+ var formatter = new RSAPKCS1SignatureFormatter (rsa);
+ formatter.SetHashAlgorithm (hash_algo);
+
+ byte [] signature = formatter.CreateSignature (hash);
+ Array.Reverse (signature);
+
+ return signature;
+ }
+ }
+
+ static byte [] HashStream (Stream stream, ImageWriter writer, out int strong_name_pointer)
+ {
+ const int buffer_size = 8192;
+
+ var text = writer.text;
+ var header_size = (int) writer.GetHeaderSize ();
+ var text_section_pointer = (int) text.PointerToRawData;
+ var strong_name_directory = writer.GetStrongNameSignatureDirectory ();
+
+ if (strong_name_directory.Size == 0)
+ throw new InvalidOperationException ();
+
+ strong_name_pointer = (int) (text_section_pointer
+ + (strong_name_directory.VirtualAddress - text.VirtualAddress));
+ var strong_name_length = (int) strong_name_directory.Size;
+
+ var sha1 = new SHA1Managed ();
+ var buffer = new byte [buffer_size];
+ using (var crypto_stream = new CryptoStream (Stream.Null, sha1, CryptoStreamMode.Write)) {
+
+ stream.Seek (0, SeekOrigin.Begin);
+ CopyStreamChunk (stream, crypto_stream, buffer, header_size);
+
+ stream.Seek (text_section_pointer, SeekOrigin.Begin);
+ CopyStreamChunk (stream, crypto_stream, buffer, (int) strong_name_pointer - text_section_pointer);
+
+ stream.Seek (strong_name_length, SeekOrigin.Current);
+ CopyStreamChunk (stream, crypto_stream, buffer, (int) (stream.Length - (strong_name_pointer + strong_name_length)));
+ }
+
+ return sha1.Hash;
+ }
+#endif
+ static void CopyStreamChunk (Stream stream, Stream dest_stream, byte [] buffer, int length)
+ {
+ while (length > 0) {
+ int read = stream.Read (buffer, 0, System.Math.Min (buffer.Length, length));
+ dest_stream.Write (buffer, 0, read);
+ length -= read;
+ }
+ }
+
+ public static byte [] ComputeHash (string file)
+ {
+ if (!File.Exists (file))
+ return Empty<byte>.Array;
+
+ const int buffer_size = 8192;
+
+ var sha1 = new SHA1Managed ();
+
+ using (var stream = new FileStream (file, FileMode.Open, FileAccess.Read, FileShare.Read)) {
+
+ var buffer = new byte [buffer_size];
+
+ using (var crypto_stream = new CryptoStream (Stream.Null, sha1, CryptoStreamMode.Write))
+ CopyStreamChunk (stream, crypto_stream, buffer, (int) stream.Length);
+ }
+
+ return sha1.Hash;
+ }
+ }
+
+#if !SILVERLIGHT && !CF
+ static partial class Mixin {
+
+ public static RSA CreateRSA (this StrongNameKeyPair key_pair)
+ {
+ byte [] key;
+ string key_container;
+
+ if (!TryGetKeyContainer (key_pair, out key, out key_container))
+ return CryptoConvert.FromCapiKeyBlob (key);
+
+ var parameters = new CspParameters {
+ Flags = CspProviderFlags.UseMachineKeyStore,
+ KeyContainerName = key_container,
+ KeyNumber = 2,
+ };
+
+ return new RSACryptoServiceProvider (parameters);
+ }
+
+ static bool TryGetKeyContainer (ISerializable key_pair, out byte [] key, out string key_container)
+ {
+ var info = new SerializationInfo (typeof (StrongNameKeyPair), new FormatterConverter ());
+ key_pair.GetObjectData (info, new StreamingContext ());
+
+ key = (byte []) info.GetValue ("_keyPairArray", typeof (byte []));
+ key_container = info.GetString ("_keyPairContainer");
+ return key_container != null;
+ }
+ }
+#endif
+}
+
+#endif
diff --git a/mcs/class/Mono.Cecil/Mono.Xml/SmallXmlParser.cs b/mcs/class/Mono.Cecil/Mono.Xml/SmallXmlParser.cs
deleted file mode 100644
index 176670884b7..00000000000
--- a/mcs/class/Mono.Cecil/Mono.Xml/SmallXmlParser.cs
+++ /dev/null
@@ -1,637 +0,0 @@
-//
-// SmallXmlParser.cs
-//
-// Author:
-// Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-//
-// small xml parser that is mostly compatible with
-//
-
-using System;
-using System.Collections;
-using System.Globalization;
-using System.IO;
-using System.Text;
-
-namespace Mono.Xml
-{
- internal sealed class DefaultHandler : SmallXmlParser.IContentHandler
- {
- public void OnStartParsing (SmallXmlParser parser)
- {
- }
-
- public void OnEndParsing (SmallXmlParser parser)
- {
- }
-
- public void OnStartElement (string name, SmallXmlParser.IAttrList attrs)
- {
- }
-
- public void OnEndElement (string name)
- {
- }
-
- public void OnChars (string s)
- {
- }
-
- public void OnIgnorableWhitespace (string s)
- {
- }
-
- public void OnProcessingInstruction (string name, string text)
- {
- }
- }
-
- internal class SmallXmlParser
- {
- public interface IContentHandler
- {
- void OnStartParsing (SmallXmlParser parser);
- void OnEndParsing (SmallXmlParser parser);
- void OnStartElement (string name, IAttrList attrs);
- void OnEndElement (string name);
- void OnProcessingInstruction (string name, string text);
- void OnChars (string text);
- void OnIgnorableWhitespace (string text);
- }
-
- public interface IAttrList
- {
- int Length { get; }
- bool IsEmpty { get; }
- string GetName (int i);
- string GetValue (int i);
- string GetValue (string name);
- string [] Names { get; }
- string [] Values { get; }
- }
-
- sealed class AttrListImpl : IAttrList
- {
- public int Length {
- get { return attrNames.Count; }
- }
- public bool IsEmpty {
- get { return attrNames.Count == 0; }
- }
- public string GetName (int i)
- {
- return (string) attrNames [i];
- }
- public string GetValue (int i)
- {
- return (string) attrValues [i];
- }
- public string GetValue (string name)
- {
- for (int i = 0; i < attrNames.Count; i++)
- if ((string) attrNames [i] == name)
- return (string) attrValues [i];
- return null;
- }
- public string [] Names {
- get { return (string []) attrNames.ToArray (typeof (string)); }
- }
- public string [] Values {
- get { return (string []) attrValues.ToArray (typeof (string)); }
- }
-
- ArrayList attrNames = new ArrayList ();
- ArrayList attrValues = new ArrayList ();
-
- internal void Clear ()
- {
- attrNames.Clear ();
- attrValues.Clear ();
- }
-
- internal void Add (string name, string value)
- {
- attrNames.Add (name);
- attrValues.Add (value);
- }
- }
-
- IContentHandler handler;
- TextReader reader;
- Stack elementNames = new Stack ();
- Stack xmlSpaces = new Stack ();
- string xmlSpace;
- StringBuilder buffer = new StringBuilder (200);
- char [] nameBuffer = new char [30];
- bool isWhitespace;
-
- AttrListImpl attributes = new AttrListImpl ();
- int line = 1, column;
- bool resetColumn;
-
- public SmallXmlParser ()
- {
- }
-
- private Exception Error (string msg)
- {
- return new SmallXmlParserException (msg, line, column);
- }
-
- private Exception UnexpectedEndError ()
- {
- string [] arr = new string [elementNames.Count];
- // COMPACT FRAMEWORK NOTE: CopyTo is not visible through the Stack class
- (elementNames as ICollection).CopyTo (arr, 0);
- return Error (String.Format (
- "Unexpected end of stream. Element stack content is {0}", String.Join (",", arr)));
- }
-
-
- private bool IsNameChar (char c, bool start)
- {
- switch (c) {
- case ':':
- case '_':
- return true;
- case '-':
- case '.':
- return !start;
- }
- if (c > 0x100) { // optional condition for optimization
- switch (c) {
- case '\u0559':
- case '\u06E5':
- case '\u06E6':
- return true;
- }
- if ('\u02BB' <= c && c <= '\u02C1')
- return true;
- }
- switch (Char.GetUnicodeCategory (c)) {
- case UnicodeCategory.LowercaseLetter:
- case UnicodeCategory.UppercaseLetter:
- case UnicodeCategory.OtherLetter:
- case UnicodeCategory.TitlecaseLetter:
- case UnicodeCategory.LetterNumber:
- return true;
- case UnicodeCategory.SpacingCombiningMark:
- case UnicodeCategory.EnclosingMark:
- case UnicodeCategory.NonSpacingMark:
- case UnicodeCategory.ModifierLetter:
- case UnicodeCategory.DecimalDigitNumber:
- return !start;
- default:
- return false;
- }
- }
-
- private bool IsWhitespace (int c)
- {
- switch (c) {
- case ' ':
- case '\r':
- case '\t':
- case '\n':
- return true;
- default:
- return false;
- }
- }
-
-
- public void SkipWhitespaces ()
- {
- SkipWhitespaces (false);
- }
-
- private void HandleWhitespaces ()
- {
- while (IsWhitespace (Peek ()))
- buffer.Append ((char) Read ());
- if (Peek () != '<' && Peek () >= 0)
- isWhitespace = false;
- }
-
- public void SkipWhitespaces (bool expected)
- {
- while (true) {
- switch (Peek ()) {
- case ' ':
- case '\r':
- case '\t':
- case '\n':
- Read ();
- if (expected)
- expected = false;
- continue;
- }
- if (expected)
- throw Error ("Whitespace is expected.");
- return;
- }
- }
-
-
- private int Peek ()
- {
- return reader.Peek ();
- }
-
- private int Read ()
- {
- int i = reader.Read ();
- if (i == '\n')
- resetColumn = true;
- if (resetColumn) {
- line++;
- resetColumn = false;
- column = 1;
- }
- else
- column++;
- return i;
- }
-
- public void Expect (int c)
- {
- int p = Read ();
- if (p < 0)
- throw UnexpectedEndError ();
- else if (p != c)
- throw Error (String.Format ("Expected '{0}' but got {1}", (char) c, (char) p));
- }
-
- private string ReadUntil (char until, bool handleReferences)
- {
- while (true) {
- if (Peek () < 0)
- throw UnexpectedEndError ();
- char c = (char) Read ();
- if (c == until)
- break;
- else if (handleReferences && c == '&')
- ReadReference ();
- else
- buffer.Append (c);
- }
- string ret = buffer.ToString ();
- buffer.Length = 0;
- return ret;
- }
-
- public string ReadName ()
- {
- int idx = 0;
- if (Peek () < 0 || !IsNameChar ((char) Peek (), true))
- throw Error ("XML name start character is expected.");
- for (int i = Peek (); i >= 0; i = Peek ()) {
- char c = (char) i;
- if (!IsNameChar (c, false))
- break;
- if (idx == nameBuffer.Length) {
- char [] tmp = new char [idx * 2];
- // COMPACT FRAMEWORK NOTE: Array.Copy(sourceArray, destinationArray, count) is not available.
- Array.Copy (nameBuffer, 0, tmp, 0, idx);
- nameBuffer = tmp;
- }
- nameBuffer [idx++] = c;
- Read ();
- }
- if (idx == 0)
- throw Error ("Valid XML name is expected.");
- return new string (nameBuffer, 0, idx);
- }
-
-
- public void Parse (TextReader input, IContentHandler handler)
- {
- this.reader = input;
- this.handler = handler;
-
- handler.OnStartParsing (this);
-
- while (Peek () >= 0)
- ReadContent ();
- HandleBufferedContent ();
- if (elementNames.Count > 0)
- throw Error (String.Format ("Insufficient close tag: {0}", elementNames.Peek ()));
-
- handler.OnEndParsing (this);
-
- Cleanup ();
- }
-
- private void Cleanup ()
- {
- line = 1;
- column = 0;
- handler = null;
- reader = null;
-#if CF_1_0
- elementNames = new Stack ();
- xmlSpaces = new Stack ();
-#else
- elementNames.Clear ();
- xmlSpaces.Clear ();
-#endif
- attributes.Clear ();
- buffer.Length = 0;
- xmlSpace = null;
- isWhitespace = false;
- }
-
- public void ReadContent ()
- {
- string name;
- if (IsWhitespace (Peek ())) {
- if (buffer.Length == 0)
- isWhitespace = true;
- HandleWhitespaces ();
- }
- if (Peek () == '<') {
- Read ();
- switch (Peek ()) {
- case '!': // declarations
- Read ();
- if (Peek () == '[') {
- Read ();
- if (ReadName () != "CDATA")
- throw Error ("Invalid declaration markup");
- Expect ('[');
- ReadCDATASection ();
- return;
- }
- else if (Peek () == '-') {
- ReadComment ();
- return;
- }
- else if (ReadName () != "DOCTYPE")
- throw Error ("Invalid declaration markup.");
- else
- throw Error ("This parser does not support document type.");
- case '?': // PIs
- HandleBufferedContent ();
- Read ();
- name = ReadName ();
- SkipWhitespaces ();
- string text = String.Empty;
- if (Peek () != '?') {
- while (true) {
- text += ReadUntil ('?', false);
- if (Peek () == '>')
- break;
- text += "?";
- }
- }
- handler.OnProcessingInstruction (
- name, text);
- Expect ('>');
- return;
- case '/': // end tags
- HandleBufferedContent ();
- if (elementNames.Count == 0)
- throw UnexpectedEndError ();
- Read ();
- name = ReadName ();
- SkipWhitespaces ();
- string expected = (string) elementNames.Pop ();
- xmlSpaces.Pop ();
- if (xmlSpaces.Count > 0)
- xmlSpace = (string) xmlSpaces.Peek ();
- else
- xmlSpace = null;
- if (name != expected)
- throw Error (String.Format ("End tag mismatch: expected {0} but found {1}", expected, name));
- handler.OnEndElement (name);
- Expect ('>');
- return;
- default: // start tags (including empty tags)
- HandleBufferedContent ();
- name = ReadName ();
- while (Peek () != '>' && Peek () != '/')
- ReadAttribute (attributes);
- handler.OnStartElement (name, attributes);
- attributes.Clear ();
- SkipWhitespaces ();
- if (Peek () == '/') {
- Read ();
- handler.OnEndElement (name);
- }
- else {
- elementNames.Push (name);
- xmlSpaces.Push (xmlSpace);
- }
- Expect ('>');
- return;
- }
- }
- else
- ReadCharacters ();
- }
-
- private void HandleBufferedContent ()
- {
- if (buffer.Length == 0)
- return;
- if (isWhitespace)
- handler.OnIgnorableWhitespace (buffer.ToString ());
- else
- handler.OnChars (buffer.ToString ());
- buffer.Length = 0;
- isWhitespace = false;
- }
-
- private void ReadCharacters ()
- {
- isWhitespace = false;
- while (true) {
- int i = Peek ();
- switch (i) {
- case -1:
- return;
- case '<':
- return;
- case '&':
- Read ();
- ReadReference ();
- continue;
- default:
- buffer.Append ((char) Read ());
- continue;
- }
- }
- }
-
- private void ReadReference ()
- {
- if (Peek () == '#') {
- // character reference
- Read ();
- ReadCharacterReference ();
- } else {
- string name = ReadName ();
- Expect (';');
- switch (name) {
- case "amp":
- buffer.Append ('&');
- break;
- case "quot":
- buffer.Append ('"');
- break;
- case "apos":
- buffer.Append ('\'');
- break;
- case "lt":
- buffer.Append ('<');
- break;
- case "gt":
- buffer.Append ('>');
- break;
- default:
- throw Error ("General non-predefined entity reference is not supported in this parser.");
- }
- }
- }
-
- private int ReadCharacterReference ()
- {
- int n = 0;
- if (Peek () == 'x') { // hex
- Read ();
- for (int i = Peek (); i >= 0; i = Peek ()) {
- if ('0' <= i && i <= '9')
- n = n << 4 + i - '0';
- else if ('A' <= i && i <='F')
- n = n << 4 + i - 'A' + 10;
- else if ('a' <= i && i <='f')
- n = n << 4 + i - 'a' + 10;
- else
- break;
- Read ();
- }
- } else {
- for (int i = Peek (); i >= 0; i = Peek ()) {
- if ('0' <= i && i <= '9')
- n = n << 4 + i - '0';
- else
- break;
- Read ();
- }
- }
- return n;
- }
-
- private void ReadAttribute (AttrListImpl a)
- {
- SkipWhitespaces (true);
- if (Peek () == '/' || Peek () == '>')
- // came here just to spend trailing whitespaces
- return;
-
- string name = ReadName ();
- string value;
- SkipWhitespaces ();
- Expect ('=');
- SkipWhitespaces ();
- switch (Read ()) {
- case '\'':
- value = ReadUntil ('\'', true);
- break;
- case '"':
- value = ReadUntil ('"', true);
- break;
- default:
- throw Error ("Invalid attribute value markup.");
- }
- if (name == "xml:space")
- xmlSpace = value;
- a.Add (name, value);
- }
-
- private void ReadCDATASection ()
- {
- int nBracket = 0;
- while (true) {
- if (Peek () < 0)
- throw UnexpectedEndError ();
- char c = (char) Read ();
- if (c == ']')
- nBracket++;
- else if (c == '>' && nBracket > 1) {
- for (int i = nBracket; i > 2; i--)
- buffer.Append (']');
- break;
- }
- else {
- for (int i = 0; i < nBracket; i++)
- buffer.Append (']');
- nBracket = 0;
- buffer.Append (c);
- }
- }
- }
-
- private void ReadComment ()
- {
- Expect ('-');
- Expect ('-');
- while (true) {
- if (Read () != '-')
- continue;
- if (Read () != '-')
- continue;
- if (Read () != '>')
- throw Error ("'--' is not allowed inside comment markup.");
- break;
- }
- }
- }
-
- internal sealed class SmallXmlParserException : SystemException
- {
- int line;
- int column;
-
- public SmallXmlParserException (string msg, int line, int column)
- : base (String.Format ("{0}. At ({1},{2})", msg, line, column))
- {
- this.line = line;
- this.column = column;
- }
-
- public int Line {
- get { return line; }
- }
-
- public int Column {
- get { return column; }
- }
- }
-}
-
-
-
diff --git a/mcs/class/Mono.Cecil/Mono/Actions.cs b/mcs/class/Mono.Cecil/Mono/Actions.cs
new file mode 100644
index 00000000000..071b149885a
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono/Actions.cs
@@ -0,0 +1,38 @@
+//
+// Actions.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if !NET_3_5 && !NET_4_0
+
+namespace Mono {
+ //delegate void Action ();
+ //delegate void Action<T1, T2> (T1 arg1, T2 arg2);
+ //delegate void Action<T1, T2, T3> (T1 arg1, T2 arg2, T3 arg3);
+ //delegate void Action<T1, T2, T3, T4> (T1 arg1, T2 arg2, T3 arg3, T4 arg4);
+}
+
+#endif
diff --git a/mcs/class/Mono.Cecil/Mono/Empty.cs b/mcs/class/Mono.Cecil/Mono/Empty.cs
new file mode 100644
index 00000000000..70739af582c
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono/Empty.cs
@@ -0,0 +1,55 @@
+//
+// Empty.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+namespace Mono {
+
+ static class Empty<T> {
+
+ public static readonly T [] Array = new T [0];
+ }
+}
+
+namespace Mono.Cecil {
+
+ static partial class Mixin {
+
+ public static bool IsNullOrEmpty<T> (this T [] self)
+ {
+ return self == null || self.Length == 0;
+ }
+
+ public static bool IsNullOrEmpty<T> (this ICollection<T> self)
+ {
+ return self == null || self.Count == 0;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono/Funcs.cs b/mcs/class/Mono.Cecil/Mono/Funcs.cs
new file mode 100644
index 00000000000..40f22259562
--- /dev/null
+++ b/mcs/class/Mono.Cecil/Mono/Funcs.cs
@@ -0,0 +1,39 @@
+//
+// Funcs.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if !NET_3_5 && !NET_4_0
+
+namespace Mono {
+ delegate TResult Func<TResult> ();
+ delegate TResult Func<T, TResult> (T arg1);
+ delegate TResult Func<T1, T2, TResult> (T1 arg1, T2 arg2);
+ //delegate TResult Func<T1, T2, T3, TResult> (T1 arg1, T2 arg2, T3 arg3);
+ //delegate TResult Func<T1, T2, T3, T4, TResult> (T1 arg1, T2 arg2, T3 arg3, T4 arg4);
+}
+
+#endif
diff --git a/mcs/class/Mono.Cecil/NEWS b/mcs/class/Mono.Cecil/NEWS
deleted file mode 100644
index a8518da8810..00000000000
--- a/mcs/class/Mono.Cecil/NEWS
+++ /dev/null
@@ -1,3 +0,0 @@
-2005-10-31 Jb Evain <jbevain@gmail.com>
-
- * Release of Mono.Cecil 0.1 "Trick or Treat"
diff --git a/mcs/class/Mono.Cecil/NOTES.txt b/mcs/class/Mono.Cecil/NOTES.txt
new file mode 100644
index 00000000000..6f3618bccf0
--- /dev/null
+++ b/mcs/class/Mono.Cecil/NOTES.txt
@@ -0,0 +1,189 @@
+namespaces:
+
+ Mono.Cecil.Binary: deleted,
+ Mono.Cecil.Metadata: metadata table/rows: deleted.
+
+collections:
+
+ * Cecil now only exposes Collection of T as a public collection API.
+
+types:
+
+Mono.Cecil
+
+ - AssemblyFactory:
+ Use static Read methods on ModuleDefinition and AssemblyDefinition
+ to get them.
+
+ + ReadingMode:
+ specifies if the assembly is either loaded in a deffered
+ or immediate fashion.
+
+ + ReaderParameters
+ + ReadingMode
+ + ISymbolReaderProvider
+
+ + WriterParameters
+ + ISymbolWriterProvider
+
+ * AssemblyDefinition:
+
+ * Runtime, Kind: moved to ModuleDefiniton
+
+ * ModuleDefinition:
+
+ properties:
+
+ - Image
+ - MemberReferences
+ - TypeReferences
+ - ExternTypes
+
+ * Main -> IsMain. (set removed) : bool
+ + FullyQualifiedName : string
+ + Kind : ModuleKind
+ + Runtime : TargetRuntime
+ + Architecture : TargetArchitecture
+ + Attributes : ModuleAttributes
+ + HasSymbols : bool
+ + HasExportedTypes : bool
+ + ExportedTypes : ExportedTypeCollection
+
+ * Types: doesn't contain NestedTypes anymore.
+
+ - AssemblyKind:
+ renamed to ModuleKind.
+
+ + ModuleKind:
+ + NetModule
+
+ + TargetArchitecture:
+ + I386
+ + AMD64
+ + IA64
+
+ + ModuleAttributes:
+ + ILOnly
+ + Required32Bit
+ + StrongNameSigned
+
+ * FieldDefinition:
+
+ * RVA : int
+
+ * IMethodSignature:
+ * ReturnType : TypeReference
+ + MethodReturnType : MethodReturnType
+
+ * TypeDefinition:
+ - HasConstructors
+ - Constructors
+ * ctor: swapped namespace and name parameter.
+
+ * ParameterDefinition:
+ * Method : IMethodSignature
+ * Sequence -> Index : int (0 based instead of 1)
+
+ * ArrayType:
+ * IsSizedArray -> IsVector : bool
+
+ * IHasConstant -> IConstantProvider
+ * IHasSecurity -> ISecurityDeclarationProvider
+ * IHasMarshal -> IMarshalInfoProvider
+
+ * MemberReference
+ + Module : ModuleDefinition
+
+ * MethodDefinition:
+ - This: moved to MethodBody
+ + HasPInvokeInfo : bool
+
+ * PInvokeInfo:
+ - Method
+
+ * MarshalSpec -> MarshalInfo
+
+ - ModType
+
+ * ModifierRequiredType -> RequiredModifierType
+ * ModifierOptionalType -> OptionalModifierType
+ * ReferenceType -> ByReferenceType
+
+ * TypeReference
+ + IsArray : bool
+ + IsPointer : bool
+ + IsByReference : bool
+ + IsRequiredModifier : bool
+ + IsOptionalModifier : bool
+ + IsSentinel : bool
+ + IsGenericInstance : bool
+ + IsGenericParameter : bool
+ + IsPinned : bool
+ + IsFunctionPointer : bool
+ + IsDefinition : bool
+
+ * GetOriginalType -> GetElementType
+ * ctor: swapped namespace and name parameter.
+
+ * MethodReference
+ + IsGenericInstance : bool
+ + IsDefinition : bool
+
+ * GetOriginalMethod -> GetElementMethod
+
+ * FieldReference
+ + IsDefinition : bool
+
+ + CustomAttributeArgument
+ + Type : TypeReference
+ + Value : object
+
+ * CustomAttribute
+ * ConstructorParameters -> ConstructorArguments : CustomAttributeArgumentCollection
+ * Properties : CustomAttributeNamedArgumentCollection
+ * Fields : CustomAttributeNamedArgumentCollection
+
+ * SecurityDeclaration
+ - PermissionSet
+ + SecurityAttributes : SecurityAttributeCollection
+
+ + SecurityAttribute
+ + AttributeType : TypeReference
+ + Fields : CustomAttributeNamedArgumentCollection
+ + Properties : CustomAttributeNamedArgumentCollection
+
+ * IMetadataScope
+ + MetadataScopeType
+
+ + MetadataScopeType
+ + AssemblyNameReference
+ + ModuleDefinition
+ + ModuleReference
+
+Mono.Cecil.Cil:
+
+ * ExceptionHandler
+ * Type -> HandlerType : TypeReference
+
+ * VariableDefinition
+ - Method
+
+ * Document* : from Guid to enums, the reader/writers are responsible for assigning them.
+
+ * MethodBody
+ * LocalVarToken : MetadataToken
+ * MaxStack -> MaxStackSize : int
+ + ThisParameter: from MethodDefinition
+
+ * OperandType
+ * ShortInlineParam : ShortInlineArg
+ * InlineParam : InlineArg
+
+ * CilWorker -> ILProcessor
+
+TODO:
+
+ * Mono.Cecil.Rocks
+ * ILGenerator
+
+ * HOWTOs
diff --git a/mcs/class/Mono.Cecil/README b/mcs/class/Mono.Cecil/README
deleted file mode 100644
index b95c65ed9e6..00000000000
--- a/mcs/class/Mono.Cecil/README
+++ /dev/null
@@ -1,78 +0,0 @@
-Cecil is a library to generate and inspect programs and libraries in the ECMA CIL format.
-
-* Building
-
- The standard Makefile works inside /mcs (SVN or tarball). If you want to build
- Cecil as a standalone library (e.g. in /cecil SVN) you'll need to:
-
- ./configure --prefix=/your/prefix
- make -f standalone.make
- make -f standalone.make install
-
-* Bugs
-
- Please report bugs at:
- http://bugzilla.novell.com,
- Product: Mono: Class Library
- Component: Cecil
-
-* Layout
-
- CodeGen/
- Here is a ruby code generation script. Do not modify generated files.
- Please modify template then run:
-
- ./cecil-gen.rb
-
- in this folder. If you add or remove files, please run:
-
- ./cecil-gen-sources.rb
-
- to update the file Mono.Cecil.dll.sources
-
- Mono.Cecil/
- General implementation of Cecil.
-
- Mono.Cecil.Binary/
- Here are files dealing with PE format.
-
- Mono.Cecil.Metadata/
- Here lies files dealing with the format of metadata.
-
- Mono.Cecil.Cil/
- Files dealing with CIL intermediate code.
-
- Mono.Cecil.Signatures/
- Here are files dealing with signatures in blobs.
-
-* Acknowledgements
-
- Thanks to:
- - Sébastien Pouliot,
- - Todd Berman,
- - Martin Baulig,
- - Sébastien Ros,
- - Thomas Gil
-
-* License
-
- Copyright (C) 2005 Jb Evain
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/mcs/class/Mono.Cecil/System.Runtime.CompilerServices/ExtensionAttribute.cs b/mcs/class/Mono.Cecil/System.Runtime.CompilerServices/ExtensionAttribute.cs
new file mode 100644
index 00000000000..ae79cda721b
--- /dev/null
+++ b/mcs/class/Mono.Cecil/System.Runtime.CompilerServices/ExtensionAttribute.cs
@@ -0,0 +1,40 @@
+//
+// ExtensionAttribute.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Copyright (c) 2008 - 2010 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+#if !NET_3_5 && !NET_4_0
+
+namespace System.Runtime.CompilerServices {
+
+ [AttributeUsage (AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Assembly)]
+ sealed class ExtensionAttribute : Attribute {
+ }
+}
+
+#endif
diff --git a/mcs/class/Mono.Cecil/TODO b/mcs/class/Mono.Cecil/TODO
deleted file mode 100644
index d373d8edae9..00000000000
--- a/mcs/class/Mono.Cecil/TODO
+++ /dev/null
@@ -1,19 +0,0 @@
-Cecil TODO
-
-* debugs infos
-
- Cecil should be able to emit debug infos along with assemblies.
-
-* strong name
-
- For the moment, Cecil only create space for strong name signatures.
- Can we do better ?
-
-* win32 resource
-
- Cecil does not suppport win32 resources and globaly the .rsrc section
- into PE files.
-
-* verify
-
- Cecil does absolutely no verification on what it emits.
diff --git a/mcs/class/Mono.Cecil/configure b/mcs/class/Mono.Cecil/configure
deleted file mode 100755
index 28f12e10701..00000000000
--- a/mcs/class/Mono.Cecil/configure
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-
-help()
-{
- echo ""
- echo "Usage is: configure [--prefix=PREFIX]"
- echo ""
-}
-
-prefix=/usr/local
-profile=default
-
-while [ $# -ne 0 ]; do
- case $1 in
- --help)
- help
- exit 0
- ;;
- --prefix=*)
- prefix=`echo $1 | sed 's/--prefix=//'`;
- shift
- ;;
- --prefix)
- shift
- prefix="$1"
- shift
- ;;
- *)
- echo Unknown option: $1
- help
- shift
- esac
-done
-
-echo "prefix=$prefix" > config.make
-
-echo ""
-echo "Mono.Cecil module configured"
-echo ""
-echo " Prefix: $prefix"
-echo ""
-
-exit 0;
diff --git a/mcs/class/Mono.Cecil/default.build b/mcs/class/Mono.Cecil/default.build
deleted file mode 100644
index 73f7d845362..00000000000
--- a/mcs/class/Mono.Cecil/default.build
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0"?>
-<project name="Cecil" default="cecil" basedir=".">
-
- <property name="debug" value="false" />
- <property name="optimize" value="true" />
- <property name="build.dir" value="${path::get-full-path('bin')}" />
- <property name="keyfile" value="../mono.snk" />
- <property name="csc.defines" value="NO_DEFINE" />
-
- <!-- allow properties to be customized in external file" -->
- <include buildfile="build.properties" if="${file::exists('build.properties')}" />
-
- <fileset id="all-files">
- <include name="./**/*.cs" />
- <exclude name="CodeGen/**/*.*" />
- </fileset>
-
- <target name="clean">
- <delete failonerror="false">
- <fileset>
- <include name="**/bin/**" />
- <include name="**/obj/**" />
- <include name="${build.dir}/**" />
- </fileset>
- </delete>
- </target>
-
- <target name="init">
- <mkdir dir="${build.dir}" />
- </target>
-
- <target name="cecil" depends="init">
- <csc output="${build.dir}/Mono.Cecil.dll"
- target="library" debug="${debug}"
- unsafe="false" optimize="${optimize}"
- keyfile="${keyfile}"
- define="${csc.defines}">
- <sources refid="all-files"/>
- </csc>
- </target>
-
- <target name="compactframework" depends="init" description="compiles cecil to run on the CompactFramework 1.0">
- <property name="compactframework.defines" value="CF_1_0;${csc.defines}" />
- <property name="compactframework.dir" value="${compactframework.v1.dir}" />
- <call target="compactframework-compilation" />
- </target>
-
- <target name="compactframework2" depends="init" description="compiles cecil to run on the CompactFramework 2.0">
- <property name="compactframework.defines" value="CF_2_0;${csc.defines}" />
- <property name="compactframework.dir" value="${compactframework.v2.dir}" />
- <call target="compactframework-compilation" />
- </target>
-
- <target name="compactframework-compilation">
- <property name="temp.dir" value="${path::combine(path::get-temp-path(), 'cecil')}" />
- <delete dir="${temp.dir}" if="${directory::exists(temp.dir)}" />
- <mkdir dir="${temp.dir}" />
-
- <property name="framework.dir" value="${framework::get-framework-directory(framework::get-target-framework())}" />
- <property name="csc.exe" value="${path::combine(framework.dir, 'csc.exe')}" />
-
- <copy todir="${temp.dir}">
- <fileset refid="all-files" />
- </copy>
-
- <exec program="${csc.exe}" workingdir="${temp.dir}" failonerror="true">
- <arg value="/optimize" />
- <arg value="/debug-" />
- <arg value="/define:${compactframework.defines}" />
- <arg value="/out:${build.dir}/Mono.Cecil.dll" />
- <arg value="/target:library" />
- <arg value="/warn:0" />
- <arg value="/noconfig" />
- <arg value="/nostdlib+" />
- <arg value="/reference:${compactframework.dir}/mscorlib.dll" />
- <arg value="/reference:${compactframework.dir}/System.dll" />
- <arg value="/recurse:*.cs" />
- </exec>
- </target>
-
- <target name="codegen">
- <exec program="ruby" commandline="cecil-gen.rb" workingdir="CodeGen" />
- </target>
-</project>
diff --git a/mcs/class/Mono.Cecil/mono-cecil.pc.in b/mcs/class/Mono.Cecil/mono-cecil.pc.in
deleted file mode 100644
index c2829d9b3f4..00000000000
--- a/mcs/class/Mono.Cecil/mono-cecil.pc.in
+++ /dev/null
@@ -1,8 +0,0 @@
-prefix=@prefix@
-assemblies_dir=${prefix}/lib/Mono.Cecil
-Libraries=${assemblies_dir}/Mono.Cecil.dll
-
-Name: Mono.Cecil
-Description: Mono.Cecil Library
-Version: 0.6
-Libs: -r:${Libraries}
diff --git a/mcs/class/Mono.Cecil/mono.snk b/mcs/class/Mono.Cecil/mono.snk
new file mode 100644
index 00000000000..380116c18fc
--- /dev/null
+++ b/mcs/class/Mono.Cecil/mono.snk
Binary files differ
diff --git a/mcs/class/Mono.Cecil/standalone.make b/mcs/class/Mono.Cecil/standalone.make
deleted file mode 100644
index 075be2935e4..00000000000
--- a/mcs/class/Mono.Cecil/standalone.make
+++ /dev/null
@@ -1,23 +0,0 @@
-include config.make
-
-MCS = mcs
-KEY_FILE = ../../mcs/class/mono.snk
-MCS_FLAGS = -keyfile:$(KEY_FILE)
-
-all: Mono.Cecil.dll mono-cecil.pc
-
-Mono.Cecil.dll: Mono.Cecil.dll.sources */*.cs
- $(MCS) $(MCS_FLAGS) @Mono.Cecil.dll.sources /target:library /out:Mono.Cecil.dll
-
-clean:
- rm -f Mono.Cecil.dll
- rm -f mono-cecil.pc
-
-mono-cecil.pc: mono-cecil.pc.in
- sed -e 's,@prefix@,$(prefix),g' mono-cecil.pc.in > $@.tmp
- mv $@.tmp $@
-
-install: all mono-cecil.pc
- mkdir -p $(prefix)/lib/Mono.Cecil
- cp Mono.Cecil.dll $(prefix)/lib/Mono.Cecil
- cp mono-cecil.pc $(prefix)/lib/pkgconfig/mono-cecil.pc
diff --git a/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite.Ast/ExprCall.cs b/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite.Ast/ExprCall.cs
index d36a8782399..0b97d877f3f 100644
--- a/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite.Ast/ExprCall.cs
+++ b/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite.Ast/ExprCall.cs
@@ -50,7 +50,7 @@ namespace Mono.CodeContracts.Rewrite.Ast {
}
public override TypeReference ReturnType {
- get { return this.Method.ReturnType.ReturnType; }
+ get { return this.Method.ReturnType; }
}
}
diff --git a/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite.AstVisitors/CompileVisitor.cs b/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite.AstVisitors/CompileVisitor.cs
index 130cfefd53f..6533555d5f7 100644
--- a/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite.AstVisitors/CompileVisitor.cs
+++ b/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite.AstVisitors/CompileVisitor.cs
@@ -36,19 +36,19 @@ using Mono.CodeContracts.Rewrite.Ast;
namespace Mono.CodeContracts.Rewrite.AstVisitors {
class CompileVisitor : ExprVisitor {
- public CompileVisitor (CilWorker il, Dictionary<Expr, Instruction> instructionLookup)
+ public CompileVisitor (ILProcessor il, Dictionary<Expr, Instruction> instructionLookup)
: this (il, instructionLookup, il.Append)
{
}
- public CompileVisitor (CilWorker il, Dictionary<Expr, Instruction> instructionLookup, Action<Instruction> fnEmit)
+ public CompileVisitor (ILProcessor il, Dictionary<Expr, Instruction> instructionLookup, Action<Instruction> fnEmit)
{
this.il = il;
this.instructionLookup = instructionLookup;
this.fnEmit = fnEmit;
}
- private CilWorker il;
+ private ILProcessor il;
private Dictionary<Expr, Instruction> instructionLookup;
private Action<Instruction> fnEmit;
diff --git a/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/ContractsRuntime.cs b/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/ContractsRuntime.cs
index 984e8bfa457..914f7048541 100644
--- a/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/ContractsRuntime.cs
+++ b/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/ContractsRuntime.cs
@@ -106,13 +106,13 @@ namespace Mono.CodeContracts.Rewrite {
this.module.Types.Add(type);
// Create constructor
MethodDefinition cons = new MethodDefinition (".ctor",
- MethodAttributes.Assem | MethodAttributes.SpecialName | MethodAttributes.RTSpecialName, typeVoid);
- cons.Parameters.Add (new ParameterDefinition ("kind", 1, ParameterAttributes.None, typeContractFailureKind));
- cons.Parameters.Add (new ParameterDefinition ("failure", 2, ParameterAttributes.None, typeString));
- cons.Parameters.Add (new ParameterDefinition ("usermsg", 3, ParameterAttributes.None, typeString));
- cons.Parameters.Add (new ParameterDefinition ("condition", 4, ParameterAttributes.None, typeString));
- cons.Parameters.Add (new ParameterDefinition ("inner", 5, ParameterAttributes.None, typeException));
- var il = cons.Body.CilWorker;
+ MethodAttributes.Assembly | MethodAttributes.SpecialName | MethodAttributes.RTSpecialName, typeVoid);
+ cons.Parameters.Add (new ParameterDefinition ("kind", ParameterAttributes.None, typeContractFailureKind));
+ cons.Parameters.Add (new ParameterDefinition ("failure", ParameterAttributes.None, typeString));
+ cons.Parameters.Add (new ParameterDefinition ("usermsg", ParameterAttributes.None, typeString));
+ cons.Parameters.Add (new ParameterDefinition ("condition", ParameterAttributes.None, typeString));
+ cons.Parameters.Add (new ParameterDefinition ("inner", ParameterAttributes.None, typeException));
+ var il = cons.Body.GetILProcessor ();
il.Emit (OpCodes.Ldarg_0);
il.Emit (OpCodes.Ldarg_2);
il.Emit (OpCodes.Ldarg_S, cons.Parameters [4]);
@@ -152,13 +152,13 @@ namespace Mono.CodeContracts.Rewrite {
TypeReference typeException = this.module.Import (typeof (Exception));
// Create method
MethodDefinition method = new MethodDefinition ("TriggerFailure",
- MethodAttributes.Assem | MethodAttributes.Static, typeVoid);
- method.Parameters.Add (new ParameterDefinition ("kind", 1, ParameterAttributes.None, typeContractFailureKind));
- method.Parameters.Add (new ParameterDefinition ("message", 2, ParameterAttributes.None, typeString));
- method.Parameters.Add (new ParameterDefinition ("userMessage", 3, ParameterAttributes.None, typeString));
- method.Parameters.Add (new ParameterDefinition ("conditionText", 4, ParameterAttributes.None, typeString));
- method.Parameters.Add (new ParameterDefinition ("inner", 5, ParameterAttributes.None, typeException));
- var il = method.Body.CilWorker;
+ MethodAttributes.Assembly | MethodAttributes.Static, typeVoid);
+ method.Parameters.Add (new ParameterDefinition ("kind", ParameterAttributes.None, typeContractFailureKind));
+ method.Parameters.Add (new ParameterDefinition ("message", ParameterAttributes.None, typeString));
+ method.Parameters.Add (new ParameterDefinition ("userMessage", ParameterAttributes.None, typeString));
+ method.Parameters.Add (new ParameterDefinition ("conditionText", ParameterAttributes.None, typeString));
+ method.Parameters.Add (new ParameterDefinition ("inner", ParameterAttributes.None, typeException));
+ var il = method.Body.GetILProcessor ();
if (this.options.ThrowOnFailure) {
il.Emit (OpCodes.Ldarg_0);
il.Emit (OpCodes.Ldarg_1);
@@ -199,15 +199,15 @@ namespace Mono.CodeContracts.Rewrite {
MethodReference mRaiseContractFailedEvent = this.module.Import (typeof (ContractHelper).GetMethod ("RaiseContractFailedEvent"));
// Create method
MethodDefinition method = new MethodDefinition ("ReportFailure",
- MethodAttributes.Assem | MethodAttributes.Static, typeVoid);
- method.Parameters.Add (new ParameterDefinition ("kind", 1, ParameterAttributes.None, typeContractFailureKind));
- method.Parameters.Add (new ParameterDefinition ("message", 2, ParameterAttributes.None, typeString));
- method.Parameters.Add (new ParameterDefinition ("conditionText", 3, ParameterAttributes.None, typeString));
- method.Parameters.Add (new ParameterDefinition ("inner", 4, ParameterAttributes.None, typeException));
- VariableDefinition vMsg = new VariableDefinition ("sMsg", 0, method, typeString);
+ MethodAttributes.Assembly | MethodAttributes.Static, typeVoid);
+ method.Parameters.Add (new ParameterDefinition ("kind", ParameterAttributes.None, typeContractFailureKind));
+ method.Parameters.Add (new ParameterDefinition ("message", ParameterAttributes.None, typeString));
+ method.Parameters.Add (new ParameterDefinition ("conditionText", ParameterAttributes.None, typeString));
+ method.Parameters.Add (new ParameterDefinition ("inner", ParameterAttributes.None, typeException));
+ VariableDefinition vMsg = new VariableDefinition ("sMsg", typeString);
method.Body.Variables.Add (vMsg);
method.Body.InitLocals = true;
- var il = method.Body.CilWorker;
+ var il = method.Body.GetILProcessor ();
il.Emit (OpCodes.Ldarg_0);
il.Emit (OpCodes.Ldarg_1);
il.Emit (OpCodes.Ldarg_2);
@@ -256,11 +256,11 @@ namespace Mono.CodeContracts.Rewrite {
TypeReference typeString = this.module.Import (typeof (string));
// Create method
MethodDefinition method = new MethodDefinition ("Requires",
- MethodAttributes.Assem | MethodAttributes.Static, typeVoid);
- method.Parameters.Add (new ParameterDefinition ("condition", 1, ParameterAttributes.None, typeBoolean));
- method.Parameters.Add (new ParameterDefinition ("message", 2, ParameterAttributes.None, typeString));
- method.Parameters.Add (new ParameterDefinition ("conditionText", 3, ParameterAttributes.None, typeString));
- var il = method.Body.CilWorker;
+ MethodAttributes.Assembly | MethodAttributes.Static, typeVoid);
+ method.Parameters.Add (new ParameterDefinition ("condition", ParameterAttributes.None, typeBoolean));
+ method.Parameters.Add (new ParameterDefinition ("message", ParameterAttributes.None, typeString));
+ method.Parameters.Add (new ParameterDefinition ("conditionText", ParameterAttributes.None, typeString));
+ var il = method.Body.GetILProcessor ();
il.Emit (OpCodes.Ldarg_0);
var instRet = il.Create(OpCodes.Ret);
il.Emit (OpCodes.Brtrue_S, instRet);
diff --git a/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/ExprGen.cs b/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/ExprGen.cs
index e4399d695f7..5fba3c0e950 100644
--- a/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/ExprGen.cs
+++ b/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/ExprGen.cs
@@ -70,7 +70,7 @@ namespace Mono.CodeContracts.Rewrite {
public ExprLoadArg LoadArg (ParameterDefinition parameterDefinition)
{
- return this.LoadArg (parameterDefinition.Sequence);
+ return this.LoadArg (parameterDefinition.Index + 1);
}
public ExprLoadConstant LoadConstant (object value)
diff --git a/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/PerformRewrite.cs b/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/PerformRewrite.cs
index dcba33265de..f739db43554 100644
--- a/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/PerformRewrite.cs
+++ b/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/PerformRewrite.cs
@@ -38,13 +38,11 @@ using Mono.CodeContracts.Rewrite.AstVisitors;
namespace Mono.CodeContracts.Rewrite {
class PerformRewrite {
- public PerformRewrite (ISymbolWriter sym, RewriterOptions options)
+ public PerformRewrite (RewriterOptions options)
{
- this.sym = sym;
this.options = options;
}
- private ISymbolWriter sym;
private RewriterOptions options;
private Dictionary<MethodDefinition, TransformContractsVisitor> rewrittenMethods = new Dictionary<MethodDefinition, TransformContractsVisitor> ();
@@ -54,8 +52,8 @@ namespace Mono.CodeContracts.Rewrite {
ContractsRuntime contractsRuntime = new ContractsRuntime(module, this.options);
var allMethods =
- from type in module.Types.Cast<TypeDefinition> ()
- from method in type.Methods.Cast<MethodDefinition> ()
+ from type in module.Types
+ from method in type.Methods
select method;
foreach (MethodDefinition method in allMethods.ToArray ()) {
@@ -93,9 +91,6 @@ namespace Mono.CodeContracts.Rewrite {
TransformContractsVisitor vTransform = null;
if (method.HasBody) {
vTransform = this.TransformContracts (module, method, contractsRuntime);
- if (this.sym != null) {
- this.sym.Write (method.Body);
- }
if (vTransform.ContractRequiresInfo.Any ()) {
anyRewrites = true;
}
@@ -127,7 +122,7 @@ namespace Mono.CodeContracts.Rewrite {
private void RewriteIL (MethodBody body, Dictionary<Expr,Instruction> instructionLookup, Expr remove, Expr insert)
{
- var il = body.CilWorker;
+ var il = body.GetILProcessor ();
Instruction instInsertBefore;
if (remove != null) {
var vInstExtent = new InstructionExtentVisitor (instructionLookup);
@@ -154,7 +149,7 @@ namespace Mono.CodeContracts.Rewrite {
if (baseType == null) {
return null;
}
- var overridden = baseType.Resolve ().Methods.Cast<MethodDefinition> ().FirstOrDefault (x => x.Name == method.Name);
+ var overridden = baseType.Resolve ().Methods.FirstOrDefault (x => x.Name == method.Name);
return overridden;
}
diff --git a/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/Rewriter.cs b/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/Rewriter.cs
index c2bd64cfc7a..15a353c19da 100644
--- a/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/Rewriter.cs
+++ b/mcs/class/Mono.CodeContracts/Mono.CodeContracts.Rewrite/Rewriter.cs
@@ -54,43 +54,6 @@ namespace Mono.CodeContracts.Rewrite {
private List<string> errors = new List<string> ();
private bool usingMdb = false;
private bool usingPdb = false;
-
- private void LoadSymbolReader (AssemblyDefinition assembly) {
- if (this.options.Assembly.IsStream && this.options.Assembly.Streams.Symbols == null) {
- this.warnings.Add ("-debug specified, but no symbol stream provided.");
- } else {
- try {
- foreach (ModuleDefinition module in assembly.Modules) {
- module.LoadSymbols ();
- }
- this.usingMdb = true;
- } catch {
- }
- if (!this.usingMdb && !this.usingPdb) {
- this.warnings.Add ("-debug specified, but no MDB or PDB symbol file found.");
- }
- }
- }
-
- private ISymbolWriter LoadSymbolWriter(AssemblyDefinition assembly, AssemblyRef output)
- {
- // TODO: Get symbol writing to work.
-// ISymbolWriterProvider symProv = null;
-// if (this.usingMdb) {
-// symProv = new Mono.Cecil.Mdb.MdbWriterProvider ();
-// } else if (this.usingPdb) {
-// symProv = new Mono.Cecil.Pdb.PdbWriterProvider ();
-// } else {
-// this.warnings.Add ("-writePDBFile specified, but no symbol file found, cannot write symbols.");
-// }
-// if (symProv != null) {
-// return output.IsFilename ?
-// symProv.GetSymbolWriter (assembly.MainModule, output.Filename) :
-// symProv.GetSymbolWriter (assembly.MainModule, output.Streams.Symbols);
-// }
- return null;
- }
-
private RewriterResults RewriteImpl ()
{
@@ -101,9 +64,15 @@ namespace Mono.CodeContracts.Rewrite {
if (!this.options.Assembly.IsSet) {
return RewriterResults.Error ("No assembly given to rewrite");
}
- AssemblyDefinition assembly = this.options.Assembly.IsFilename ?
- AssemblyFactory.GetAssembly (this.options.Assembly.Filename) :
- AssemblyFactory.GetAssembly (this.options.Assembly.Streams.Assembly);
+
+ var readerParameters = new ReaderParameters ();
+
+ if (options.Debug)
+ readerParameters.ReadSymbols = true;
+
+ var assembly = this.options.Assembly.IsFilename ?
+ AssemblyDefinition.ReadAssembly (options.Assembly.Filename, readerParameters) :
+ AssemblyDefinition.ReadAssembly (options.Assembly.Streams.Assembly, readerParameters);
if (this.options.ForceAssemblyRename != null) {
assembly.Name.Name = this.options.ForceAssemblyRename;
@@ -111,37 +80,25 @@ namespace Mono.CodeContracts.Rewrite {
assembly.Name.Name = Path.GetFileNameWithoutExtension(this.options.OutputFile.Filename);
}
- if (options.Debug) {
- this.LoadSymbolReader (assembly);
- }
-
var output = this.options.OutputFile.IsSet ? this.options.OutputFile : this.options.Assembly;
- ISymbolWriter symWriter = null;
+ var writerParameters = new WriterParameters ();
if (options.WritePdbFile) {
if (!options.Debug) {
return RewriterResults.Error ("Must specify -debug if using -writePDBFile.");
}
- if (output.IsStream && output.Streams.Symbols==null){
- return RewriterResults.Error ("-writePDFFile specified, but no output symbol stream provided.");
- }
- symWriter = this.LoadSymbolWriter (assembly, output);
+
+ writerParameters.WriteSymbols = true;
}
- try {
- PerformRewrite rewriter = new PerformRewrite (symWriter, this.options);
- rewriter.Rewrite (assembly);
+ PerformRewrite rewriter = new PerformRewrite (this.options);
+ rewriter.Rewrite (assembly);
- if (output.IsFilename) {
- AssemblyFactory.SaveAssembly(assembly, output.Filename);
- } else {
- AssemblyFactory.SaveAssembly(assembly, output.Streams.Assembly);
- }
- } finally {
- if (symWriter != null) {
- symWriter.Dispose ();
- }
+ if (output.IsFilename) {
+ assembly.Write (output.Filename, writerParameters);
+ } else {
+ assembly.Write (output.Streams.Assembly, writerParameters);
}
-
+
return new RewriterResults (warnings, errors);
}
diff --git a/mcs/class/Mono.CompilerServices.SymbolWriter/MonoSymbolFile.cs b/mcs/class/Mono.CompilerServices.SymbolWriter/MonoSymbolFile.cs
index 8c2ee40d926..ea51d82c984 100644
--- a/mcs/class/Mono.CompilerServices.SymbolWriter/MonoSymbolFile.cs
+++ b/mcs/class/Mono.CompilerServices.SymbolWriter/MonoSymbolFile.cs
@@ -443,18 +443,22 @@ namespace Mono.CompilerServices.SymbolWriter
}
#if CECIL
- protected MonoSymbolFile (string filename, Mono.Cecil.AssemblyDefinition assembly) : this (filename)
+ protected MonoSymbolFile (string filename, Mono.Cecil.ModuleDefinition module)
+ : this (filename)
{
- Guid mvid = assembly.MainModule.Mvid;
+ CheckGuidMatch (module.Mvid, filename, module.FullyQualifiedName);
+ }
- CheckGuidMatch (mvid, filename, assembly.MainModule.Image.FileInformation.FullName);
+ public static MonoSymbolFile ReadSymbolFile (Mono.Cecil.ModuleDefinition module)
+ {
+ return ReadSymbolFile (module, module.FullyQualifiedName);
}
- public static MonoSymbolFile ReadSymbolFile (Mono.Cecil.AssemblyDefinition assembly, string filename)
+ public static MonoSymbolFile ReadSymbolFile (Mono.Cecil.ModuleDefinition module, string filename)
{
string name = filename + ".mdb";
- return new MonoSymbolFile (name, assembly);
+ return new MonoSymbolFile (name, module);
}
#else
protected MonoSymbolFile (string filename, Assembly assembly) : this (filename)
diff --git a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs
index 0a1999af92c..74f8c9f1581 100644
--- a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs
+++ b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs
@@ -103,6 +103,48 @@ namespace Mono.Debugger.Soft
SINGLE_THREADED = 0x2
}
+ enum ElementType {
+ End = 0x00,
+ Void = 0x01,
+ Boolean = 0x02,
+ Char = 0x03,
+ I1 = 0x04,
+ U1 = 0x05,
+ I2 = 0x06,
+ U2 = 0x07,
+ I4 = 0x08,
+ U4 = 0x09,
+ I8 = 0x0a,
+ U8 = 0x0b,
+ R4 = 0x0c,
+ R8 = 0x0d,
+ String = 0x0e,
+ Ptr = 0x0f,
+ ByRef = 0x10,
+ ValueType = 0x11,
+ Class = 0x12,
+ Var = 0x13,
+ Array = 0x14,
+ GenericInst = 0x15,
+ TypedByRef = 0x16,
+ I = 0x18,
+ U = 0x19,
+ FnPtr = 0x1b,
+ Object = 0x1c,
+ SzArray = 0x1d,
+ MVar = 0x1e,
+ CModReqD = 0x1f,
+ CModOpt = 0x20,
+ Internal = 0x21,
+ Modifier = 0x40,
+ Sentinel = 0x41,
+ Pinned = 0x45,
+
+ Type = 0x50,
+ Boxed = 0x51,
+ Enum = 0x55
+ }
+
class ValueImpl {
public ElementType Type; /* or one of the VALUE_TYPE_ID constants */
public long Objid;
diff --git a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/MethodBodyMirror.cs b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/MethodBodyMirror.cs
index 77cd5d51ec9..20ec9aadc8d 100644
--- a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/MethodBodyMirror.cs
+++ b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/MethodBodyMirror.cs
@@ -108,7 +108,7 @@ namespace Mono.Debugger.Soft
br.ReadByte ();
//instr.Operand = GetVariable (body, br.ReadByte ());
break;
- case OperandType.ShortInlineParam :
+ case OperandType.ShortInlineArg :
br.ReadByte ();
//instr.Operand = GetParameter (body, br.ReadByte ());
break;
@@ -124,7 +124,7 @@ namespace Mono.Debugger.Soft
br.ReadInt16 ();
//instr.Operand = GetVariable (body, br.ReadInt16 ());
break;
- case OperandType.InlineParam :
+ case OperandType.InlineArg :
br.ReadInt16 ();
//instr.Operand = GetParameter (body, br.ReadInt16 ());
break;
diff --git a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/MethodMirror.cs b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/MethodMirror.cs
index 71d3ba3365a..5a0385b77da 100644
--- a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/MethodMirror.cs
+++ b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/MethodMirror.cs
@@ -282,7 +282,7 @@ namespace Mono.Debugger.Soft
public C.MethodDefinition Metadata {
get {
if (meta == null)
- meta = (C.MethodDefinition)DeclaringType.Assembly.Metadata.MainModule.LookupByToken (new MetadataToken (MetadataToken));
+ meta = (C.MethodDefinition)DeclaringType.Assembly.Metadata.MainModule.LookupToken (MetadataToken);
return meta;
}
}
diff --git a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/TypeMirror.cs b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/TypeMirror.cs
index 1b9de5368c7..51ec6eb1c92 100644
--- a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/TypeMirror.cs
+++ b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/TypeMirror.cs
@@ -520,7 +520,7 @@ namespace Mono.Debugger.Soft
if (meta == null) {
if (Assembly.Metadata == null || MetadataToken == 0)
return null;
- meta = (C.TypeDefinition)Assembly.Metadata.MainModule.LookupByToken (new MetadataToken (MetadataToken));
+ meta = (C.TypeDefinition)Assembly.Metadata.MainModule.LookupToken (MetadataToken);
}
return meta;
}
diff --git a/mcs/tools/cil-strip/AssemblyStripper.cs b/mcs/tools/cil-strip/AssemblyStripper.cs
new file mode 100644
index 00000000000..3e5b0b92541
--- /dev/null
+++ b/mcs/tools/cil-strip/AssemblyStripper.cs
@@ -0,0 +1,221 @@
+//
+// AssemblyStripper.cs
+//
+// Author:
+// Jb Evain (jbevain@novell.com)
+//
+// (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Collections;
+using System.IO;
+
+using Mono.Cecil;
+using Mono.Cecil.Binary;
+using Mono.Cecil.Cil;
+using Mono.Cecil.Metadata;
+
+namespace Mono.CilStripper {
+
+ class AssemblyStripper {
+
+ AssemblyDefinition assembly;
+ BinaryWriter writer;
+
+ Image original;
+ Image stripped;
+
+ ReflectionWriter reflection_writer;
+ MetadataWriter metadata_writer;
+
+ TablesHeap original_tables;
+ TablesHeap stripped_tables;
+
+ AssemblyStripper (AssemblyDefinition assembly, BinaryWriter writer)
+ {
+ this.assembly = assembly;
+ this.writer = writer;
+ }
+
+ void Strip ()
+ {
+ FullLoad ();
+ ClearMethodBodies ();
+ CopyOriginalImage ();
+ PatchMethods ();
+ PatchFields ();
+ PatchResources ();
+ Write ();
+ }
+
+ void FullLoad ()
+ {
+ assembly.MainModule.FullLoad ();
+ }
+
+ void ClearMethodBodies ()
+ {
+ foreach (TypeDefinition type in assembly.MainModule.Types) {
+ ClearMethodBodies (type.Constructors);
+ ClearMethodBodies (type.Methods);
+ }
+ }
+
+ static void ClearMethodBodies (ICollection methods)
+ {
+ foreach (MethodDefinition method in methods) {
+ if (!method.HasBody)
+ continue;
+
+ MethodBody body = new MethodBody (method);
+ body.CilWorker.Emit (OpCodes.Ret);
+
+ method.Body = body;
+ }
+ }
+
+ void CopyOriginalImage ()
+ {
+ original = assembly.MainModule.Image;
+ stripped = Image.CreateImage();
+
+ stripped.Accept (new CopyImageVisitor (original));
+
+ assembly.MainModule.Image = stripped;
+
+ original_tables = original.MetadataRoot.Streams.TablesHeap;
+ stripped_tables = stripped.MetadataRoot.Streams.TablesHeap;
+
+ TableCollection tables = original_tables.Tables;
+ foreach (IMetadataTable table in tables)
+ stripped_tables.Tables.Add(table);
+
+ stripped_tables.Valid = original_tables.Valid;
+ stripped_tables.Sorted = original_tables.Sorted;
+
+ reflection_writer = new ReflectionWriter (assembly.MainModule);
+ reflection_writer.StructureWriter = new StructureWriter (assembly, writer);
+ reflection_writer.CodeWriter.Stripped = true;
+
+ metadata_writer = reflection_writer.MetadataWriter;
+
+ PatchHeap (metadata_writer.StringWriter, original.MetadataRoot.Streams.StringsHeap);
+ PatchHeap (metadata_writer.GuidWriter, original.MetadataRoot.Streams.GuidHeap);
+ PatchHeap (metadata_writer.UserStringWriter, original.MetadataRoot.Streams.UserStringsHeap);
+ PatchHeap (metadata_writer.BlobWriter, original.MetadataRoot.Streams.BlobHeap);
+
+ if (assembly.EntryPoint != null)
+ metadata_writer.EntryPointToken = assembly.EntryPoint.MetadataToken.ToUInt ();
+ }
+
+ static void PatchHeap (MemoryBinaryWriter heap_writer, MetadataHeap heap)
+ {
+ if (heap == null)
+ return;
+
+ heap_writer.BaseStream.Position = 0;
+ heap_writer.Write (heap.Data);
+ }
+
+ void PatchMethods ()
+ {
+ MethodTable methodTable = (MethodTable) stripped_tables [MethodTable.RId];
+ if (methodTable == null)
+ return;
+
+ RVA method_rva = RVA.Zero;
+
+ for (int i = 0; i < methodTable.Rows.Count; i++) {
+ MethodRow methodRow = methodTable[i];
+
+ MetadataToken methodToken = MetadataToken.FromMetadataRow (TokenType.Method, i);
+
+ MethodDefinition method = (MethodDefinition) assembly.MainModule.LookupByToken (methodToken);
+
+ if (method.HasBody) {
+ method_rva = method_rva != RVA.Zero
+ ? method_rva
+ : reflection_writer.CodeWriter.WriteMethodBody (method);
+
+ methodRow.RVA = method_rva;
+ } else
+ methodRow.RVA = RVA.Zero;
+ }
+ }
+
+ void PatchFields ()
+ {
+ FieldRVATable fieldRvaTable = (FieldRVATable) stripped_tables [FieldRVATable.RId];
+ if (fieldRvaTable == null)
+ return;
+
+ for (int i = 0; i < fieldRvaTable.Rows.Count; i++) {
+ FieldRVARow fieldRvaRow = fieldRvaTable [i];
+
+ MetadataToken fieldToken = new MetadataToken (TokenType.Field, fieldRvaRow.Field);
+
+ FieldDefinition field = (FieldDefinition) assembly.MainModule.LookupByToken (fieldToken);
+
+ fieldRvaRow.RVA = metadata_writer.GetDataCursor ();
+ metadata_writer.AddData (field.InitialValue.Length + 3 & (~3));
+ metadata_writer.AddFieldInitData (field.InitialValue);
+ }
+ }
+
+ void PatchResources ()
+ {
+ ManifestResourceTable resourceTable = (ManifestResourceTable) stripped_tables [ManifestResourceTable.RId];
+ if (resourceTable == null)
+ return;
+
+ for (int i = 0; i < resourceTable.Rows.Count; i++) {
+ ManifestResourceRow resourceRow = resourceTable [i];
+
+ if (resourceRow.Implementation.RID != 0)
+ continue;
+
+ foreach (Resource resource in assembly.MainModule.Resources) {
+ EmbeddedResource er = resource as EmbeddedResource;
+ if (er == null)
+ continue;
+
+ if (resource.Name != original.MetadataRoot.Streams.StringsHeap [resourceRow.Name])
+ continue;
+
+ resourceRow.Offset = metadata_writer.AddResource (er.Data);
+ }
+ }
+ }
+
+ void Write ()
+ {
+ stripped.MetadataRoot.Accept (metadata_writer);
+ }
+
+ public static void StripAssembly (AssemblyDefinition assembly, string file)
+ {
+ using (FileStream fs = new FileStream (file, FileMode.Create, FileAccess.Write, FileShare.None)) {
+ new AssemblyStripper (assembly, new BinaryWriter (fs)).Strip ();
+ }
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Makefile b/mcs/tools/cil-strip/Makefile
index de7c67c7902..31407e83607 100644
--- a/mcs/tools/cil-strip/Makefile
+++ b/mcs/tools/cil-strip/Makefile
@@ -4,6 +4,4 @@ include ../../build/rules.make
PROGRAM = mono-cil-strip.exe
-LOCAL_MCS_FLAGS = /r:Mono.Cecil.dll
-
include ../../build/executable.make
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/BaseImageVisitor.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/BaseImageVisitor.cs
new file mode 100644
index 00000000000..4c6876be46d
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/BaseImageVisitor.cs
@@ -0,0 +1,101 @@
+//
+// BaseImageVisitor.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 - 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal abstract class BaseImageVisitor : IBinaryVisitor {
+
+ public virtual void VisitImage (Image img)
+ {
+ }
+
+ public virtual void VisitDOSHeader (DOSHeader header)
+ {
+ }
+
+ public virtual void VisitPEFileHeader (PEFileHeader header)
+ {
+ }
+
+ public virtual void VisitPEOptionalHeader (PEOptionalHeader header)
+ {
+ }
+
+ public virtual void VisitStandardFieldsHeader (PEOptionalHeader.StandardFieldsHeader header)
+ {
+ }
+
+ public virtual void VisitNTSpecificFieldsHeader (PEOptionalHeader.NTSpecificFieldsHeader header)
+ {
+ }
+
+ public virtual void VisitDataDirectoriesHeader (PEOptionalHeader.DataDirectoriesHeader header)
+ {
+ }
+
+ public virtual void VisitSectionCollection (SectionCollection coll)
+ {
+ }
+
+ public virtual void VisitSection (Section section)
+ {
+ }
+
+ public virtual void VisitImportAddressTable (ImportAddressTable iat)
+ {
+ }
+
+ public virtual void VisitDebugHeader (DebugHeader dh)
+ {
+ }
+
+ public virtual void VisitCLIHeader (CLIHeader header)
+ {
+ }
+
+ public virtual void VisitImportTable (ImportTable it)
+ {
+ }
+
+ public virtual void VisitImportLookupTable (ImportLookupTable ilt)
+ {
+ }
+
+ public virtual void VisitHintNameTable (HintNameTable hnt)
+ {
+ }
+
+ public virtual void VisitExportTable (ExportTable et)
+ {
+ }
+
+ public virtual void TerminateImage (Image img)
+ {
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/CLIHeader.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/CLIHeader.cs
new file mode 100644
index 00000000000..036d1c021b4
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/CLIHeader.cs
@@ -0,0 +1,66 @@
+//
+// CLIHeader.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal sealed class CLIHeader : IHeader, IBinaryVisitable {
+
+ public uint Cb;
+ public ushort MajorRuntimeVersion;
+ public ushort MinorRuntimeVersion;
+ public DataDirectory Metadata;
+ public RuntimeImage Flags;
+ public uint EntryPointToken;
+ public DataDirectory Resources;
+ public DataDirectory StrongNameSignature;
+ public DataDirectory CodeManagerTable;
+ public DataDirectory VTableFixups;
+ public DataDirectory ExportAddressTableJumps;
+ public DataDirectory ManagedNativeHeader;
+
+ public byte [] ImageHash;
+
+ internal CLIHeader ()
+ {
+ }
+
+ public void SetDefaultValues ()
+ {
+ Cb = 0x48;
+ Flags = RuntimeImage.ILOnly;
+ CodeManagerTable = DataDirectory.Zero;
+ ExportAddressTableJumps = DataDirectory.Zero;
+ ManagedNativeHeader = DataDirectory.Zero;
+ }
+
+ public void Accept (IBinaryVisitor visitor)
+ {
+ visitor.VisitCLIHeader (this);
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/CopyImageVisitor.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/CopyImageVisitor.cs
index 8a1dec205c8..8a1dec205c8 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/CopyImageVisitor.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/CopyImageVisitor.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/DOSHeader.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/DOSHeader.cs
new file mode 100644
index 00000000000..3716b027b7a
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/DOSHeader.cs
@@ -0,0 +1,75 @@
+//
+// DOSHeader.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal sealed class DOSHeader : IHeader, IBinaryVisitable {
+
+ public byte [] Start;
+ public byte [] End;
+
+ public uint Lfanew;
+
+ internal DOSHeader ()
+ {
+ }
+
+ public void SetDefaultValues ()
+ {
+ Start = new byte [60] {
+ 0x4d, 0x5a, 0x90, 0x00, 0x03, 0x00, 0x00,
+ 0x00, 0x04, 0x00, 0x00, 0x00, 0xff, 0xff,
+ 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00
+ };
+ Lfanew = 128;
+ End = new byte [64] {
+ 0x0e, 0x1f, 0xba, 0x0e, 0x00, 0xb4, 0x09,
+ 0xcd, 0x21, 0xb8, 0x01, 0x4c, 0xcd, 0x21,
+ 0x54, 0x68, 0x69, 0x73, 0x20, 0x70, 0x72,
+ 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x20, 0x63,
+ 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x62,
+ 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69,
+ 0x6e, 0x20, 0x44, 0x4f, 0x53, 0x20, 0x6d,
+ 0x6f, 0x64, 0x65, 0x2e, 0x0d, 0x0d, 0x0a,
+ 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00
+ };
+ }
+
+ public void Accept (IBinaryVisitor visitor)
+ {
+ visitor.VisitDOSHeader (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/DataDirectory.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/DataDirectory.cs
new file mode 100644
index 00000000000..7945e80603a
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/DataDirectory.cs
@@ -0,0 +1,84 @@
+//
+// DataDirectory.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal struct DataDirectory {
+
+ public static readonly DataDirectory Zero = new DataDirectory (RVA.Zero, 0);
+
+ RVA m_virtualAddress;
+ uint m_size;
+
+ public RVA VirtualAddress {
+ get { return m_virtualAddress; }
+ set { m_virtualAddress = value; }
+ }
+
+ public uint Size {
+ get { return m_size; }
+ set { m_size = value; }
+ }
+
+ public DataDirectory (RVA virtualAddress, uint size)
+ {
+ m_virtualAddress = virtualAddress;
+ m_size = size;
+ }
+
+ public override int GetHashCode ()
+ {
+ return (m_virtualAddress.GetHashCode () ^ (int) m_size << 1);
+ }
+
+ public override bool Equals (object other)
+ {
+ if (other is DataDirectory) {
+ DataDirectory odd = (DataDirectory) other;
+ return this.m_virtualAddress == odd.m_virtualAddress && this.m_size == odd.m_size;
+ }
+
+ return false;
+ }
+
+ public override string ToString ()
+ {
+ return string.Format ("{0} [{1}]", m_virtualAddress, m_size.ToString ("X"));
+ }
+
+ public static bool operator == (DataDirectory one, DataDirectory other)
+ {
+ return one.m_virtualAddress == other.m_virtualAddress && one.m_size == other.m_size;
+ }
+
+ public static bool operator != (DataDirectory one, DataDirectory other)
+ {
+ return one.m_virtualAddress != other.m_virtualAddress || one.m_size != other.m_size;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/DebugHeader.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/DebugHeader.cs
new file mode 100644
index 00000000000..0a560849f14
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/DebugHeader.cs
@@ -0,0 +1,73 @@
+//
+// DebugHeader.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ using System;
+
+ internal sealed class DebugHeader : IHeader, IBinaryVisitable {
+
+ public uint Characteristics;
+ public uint TimeDateStamp;
+ public ushort MajorVersion;
+ public ushort MinorVersion;
+ public DebugStoreType Type;
+ public uint SizeOfData;
+ public RVA AddressOfRawData;
+ public uint PointerToRawData;
+
+ public uint Magic;
+ public Guid Signature;
+ public uint Age;
+ public string FileName;
+
+ internal DebugHeader ()
+ {
+ }
+
+ public void SetDefaultValues ()
+ {
+ Characteristics = 0;
+
+ this.Magic = 0x53445352;
+ this.Age = 0;
+ this.Type = DebugStoreType.CodeView;
+ this.FileName = string.Empty;
+ }
+
+ public uint GetSize ()
+ {
+ return 0x34 + (uint) FileName.Length + 1;
+ }
+
+ public void Accept (IBinaryVisitor visitor)
+ {
+ visitor.VisitDebugHeader (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/DebugStoreType.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/DebugStoreType.cs
new file mode 100644
index 00000000000..576acd06efa
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/DebugStoreType.cs
@@ -0,0 +1,45 @@
+//
+// DebugStoreType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal enum DebugStoreType : uint {
+ Unknown = 0x00000000,
+ COFF = 0x00000001,
+ CodeView = 0x00000002,
+ FPO = 0x00000003,
+ Misc = 0x00000004,
+ Exception = 0x00000005,
+ Fixup = 0x00000006,
+ OMAPToSrc = 0x00000007,
+ OMAPFromSrc = 0x00000008,
+ Borland = 0x00000009,
+ Reserved10 = 0x0000000a,
+ CLSID = 0x0000000b
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/ExportTable.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/ExportTable.cs
new file mode 100644
index 00000000000..39afa56dd6a
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/ExportTable.cs
@@ -0,0 +1,59 @@
+//
+// ExportTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal sealed class ExportTable : IBinaryVisitable {
+
+ public uint Characteristics;
+ public uint TimeDateStamp;
+ public ushort MajorVersion;
+ public ushort MinorVersion;
+ public string Name;
+ public uint Base;
+ public uint NumberOfFunctions;
+ public uint NumberOfNames;
+ public RVA AddressOfFunctions;
+ public RVA AddressOfNames;
+ public RVA AddressOfNameOrdinals;
+
+ public RVA [] AddressesOfFunctions;
+ public RVA [] AddressesOfNames;
+ public ushort [] NameOrdinals;
+ public string [] Names;
+
+ internal ExportTable ()
+ {
+ }
+
+ public void Accept (IBinaryVisitor visitor)
+ {
+ visitor.VisitExportTable (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/IBinaryVisitable.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/IBinaryVisitable.cs
new file mode 100644
index 00000000000..9b4b5433833
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/IBinaryVisitable.cs
@@ -0,0 +1,35 @@
+//
+// IBinaryVisitable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal interface IBinaryVisitable {
+ void Accept (IBinaryVisitor visitor);
+ }
+}
+
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/IBinaryVisitor.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/IBinaryVisitor.cs
new file mode 100644
index 00000000000..fd2b2b15c1d
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/IBinaryVisitor.cs
@@ -0,0 +1,51 @@
+//
+// IBinaryVisitor.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 - 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal interface IBinaryVisitor {
+ void VisitImage (Image img);
+ void VisitDOSHeader (DOSHeader header);
+ void VisitPEFileHeader (PEFileHeader header);
+ void VisitPEOptionalHeader (PEOptionalHeader header);
+ void VisitStandardFieldsHeader (PEOptionalHeader.StandardFieldsHeader header);
+ void VisitNTSpecificFieldsHeader (PEOptionalHeader.NTSpecificFieldsHeader header);
+ void VisitDataDirectoriesHeader (PEOptionalHeader.DataDirectoriesHeader header);
+ void VisitSectionCollection (SectionCollection coll);
+ void VisitSection (Section section);
+ void VisitImportAddressTable (ImportAddressTable iat);
+ void VisitDebugHeader (DebugHeader dh);
+ void VisitCLIHeader (CLIHeader header);
+ void VisitImportTable (ImportTable it);
+ void VisitImportLookupTable (ImportLookupTable ilt);
+ void VisitHintNameTable (HintNameTable hnt);
+ void VisitExportTable (ExportTable et);
+
+ void TerminateImage (Image img);
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/IHeader.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/IHeader.cs
index 54f157d9fe8..54f157d9fe8 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/IHeader.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/IHeader.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/Image.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/Image.cs
new file mode 100644
index 00000000000..507dd5e0e8c
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/Image.cs
@@ -0,0 +1,243 @@
+//
+// Image.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 - 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ using System;
+ using System.IO;
+
+ using Mono.Cecil.Metadata;
+
+ internal sealed class Image : IBinaryVisitable {
+
+ DOSHeader m_dosHeader;
+ PEFileHeader m_peFileHeader;
+ PEOptionalHeader m_peOptionalHeader;
+
+ SectionCollection m_sections;
+ Section m_textSection;
+
+ ImportAddressTable m_importAddressTable;
+ CLIHeader m_cliHeader;
+ ImportTable m_importTable;
+ ImportLookupTable m_importLookupTable;
+ HintNameTable m_hintNameTable;
+ ExportTable m_exportTable;
+
+ DebugHeader m_debugHeader;
+ MetadataRoot m_mdRoot;
+
+ ResourceDirectoryTable m_rsrcRoot;
+
+ FileInfo m_img;
+
+ public DOSHeader DOSHeader {
+ get { return m_dosHeader; }
+ }
+
+ public PEFileHeader PEFileHeader {
+ get { return m_peFileHeader; }
+ }
+
+ public PEOptionalHeader PEOptionalHeader {
+ get { return m_peOptionalHeader; }
+ }
+
+ public SectionCollection Sections {
+ get { return m_sections; }
+ }
+
+ public Section TextSection {
+ get { return m_textSection; }
+ set { m_textSection = value; }
+ }
+
+ public ImportAddressTable ImportAddressTable {
+ get { return m_importAddressTable; }
+ }
+
+ public CLIHeader CLIHeader {
+ get { return m_cliHeader; }
+ set { m_cliHeader = value; }
+ }
+
+ public DebugHeader DebugHeader {
+ get { return m_debugHeader; }
+ set { m_debugHeader = value; }
+ }
+
+ public MetadataRoot MetadataRoot {
+ get { return m_mdRoot; }
+ }
+
+ public ImportTable ImportTable {
+ get { return m_importTable; }
+ }
+
+ public ImportLookupTable ImportLookupTable {
+ get { return m_importLookupTable; }
+ }
+
+ public HintNameTable HintNameTable {
+ get { return m_hintNameTable; }
+ }
+
+ public ExportTable ExportTable {
+ get { return m_exportTable; }
+ set { m_exportTable = value; }
+ }
+
+ internal ResourceDirectoryTable ResourceDirectoryRoot {
+ get { return m_rsrcRoot; }
+ set { m_rsrcRoot = value; }
+ }
+
+ public FileInfo FileInformation {
+ get { return m_img; }
+ }
+
+ internal Image ()
+ {
+ m_dosHeader = new DOSHeader ();
+ m_peFileHeader = new PEFileHeader ();
+ m_peOptionalHeader = new PEOptionalHeader ();
+ m_sections = new SectionCollection ();
+ m_importAddressTable = new ImportAddressTable ();
+ m_importTable = new ImportTable ();
+ m_importLookupTable = new ImportLookupTable ();
+ m_hintNameTable = new HintNameTable ();
+ m_mdRoot = new MetadataRoot (this);
+ }
+
+ internal Image (FileInfo img) : this ()
+ {
+ m_img = img;
+ }
+
+ public long ResolveVirtualAddress (RVA rva)
+ {
+ foreach (Section sect in this.Sections) {
+ if (rva >= sect.VirtualAddress &&
+ rva < sect.VirtualAddress + sect.SizeOfRawData)
+
+ return rva + sect.PointerToRawData - sect.VirtualAddress;
+ }
+
+ throw new ArgumentOutOfRangeException ("Cannot map the rva to any section");
+ }
+
+ internal Section GetSectionAtVirtualAddress (RVA rva)
+ {
+ foreach (Section sect in this.Sections) {
+ if (rva >= sect.VirtualAddress &&
+ rva < sect.VirtualAddress + sect.SizeOfRawData) {
+ return sect;
+ }
+ }
+ return null;
+ }
+
+ public BinaryReader GetReaderAtVirtualAddress (RVA rva)
+ {
+ Section sect = GetSectionAtVirtualAddress (rva);
+ if (sect == null)
+ return null;
+
+ BinaryReader br = new BinaryReader (new MemoryStream (sect.Data));
+ br.BaseStream.Position = rva - sect.VirtualAddress;
+ return br;
+ }
+
+ public void AddDebugHeader ()
+ {
+ m_debugHeader = new DebugHeader ();
+ m_debugHeader.SetDefaultValues ();
+ }
+
+ internal void SetFileInfo (FileInfo file)
+ {
+ m_img = file;
+ }
+
+ public void Accept (IBinaryVisitor visitor)
+ {
+ visitor.VisitImage (this);
+
+ m_dosHeader.Accept (visitor);
+ m_peFileHeader.Accept (visitor);
+ m_peOptionalHeader.Accept (visitor);
+
+ m_sections.Accept (visitor);
+
+ m_importAddressTable.Accept (visitor);
+
+ AcceptIfNotNull (m_cliHeader, visitor);
+ AcceptIfNotNull (m_debugHeader, visitor);
+
+ m_importTable.Accept (visitor);
+ m_importLookupTable.Accept (visitor);
+ m_hintNameTable.Accept (visitor);
+ AcceptIfNotNull (m_exportTable, visitor);
+
+ visitor.TerminateImage (this);
+ }
+
+ static void AcceptIfNotNull (IBinaryVisitable visitable, IBinaryVisitor visitor)
+ {
+ if (visitable == null)
+ return;
+
+ visitable.Accept (visitor);
+ }
+
+ public static Image CreateImage ()
+ {
+ Image img = new Image ();
+
+ ImageInitializer init = new ImageInitializer (img);
+ img.Accept (init);
+
+ return img;
+ }
+
+ public static Image GetImage (string file)
+ {
+ return ImageReader.Read (file).Image;
+ }
+
+ public static Image GetImage (byte [] image)
+ {
+ return ImageReader.Read (image).Image;
+ }
+
+ public static Image GetImage (Stream stream)
+ {
+ return ImageReader.Read (stream).Image;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/ImageCharacteristics.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/ImageCharacteristics.cs
new file mode 100644
index 00000000000..c2dc74dbd46
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/ImageCharacteristics.cs
@@ -0,0 +1,57 @@
+//
+// ImageCharacteristics.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ using System;
+
+ [Flags]
+ internal enum ImageCharacteristics : ushort {
+ RelocsStripped = 0x0001,
+ ExecutableImage = 0x0002,
+ LineNumsStripped = 0x0004,
+ LocalSymsStripped = 0x0008,
+ AggressiveWSTrim = 0x0010,
+ LargeAddressAware = 0x0020,
+ ReservedForFutureUse = 0x0040,
+ BytesReversedLo = 0x0080,
+ _32BitsMachine = 0x0100,
+ DebugStripped = 0x0200,
+ RemovableRunFromSwap = 0x0400,
+ NetRunFromSwap = 0x0800,
+ System = 0x1000,
+ Dll = 0x2000,
+ UPSystemOnly = 0x4000,
+ BytesReversedHI = 0x8000,
+
+ __flags = 0x0002 | 0x0004 | 0x0008 | 0x0100,
+
+ CILOnlyDll = 0x2000 | (ushort) __flags,
+ CILOnlyExe = __flags
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/ImageFormatException.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/ImageFormatException.cs
new file mode 100644
index 00000000000..1b70548dd8d
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/ImageFormatException.cs
@@ -0,0 +1,53 @@
+//
+// ImageFormatException.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ using System;
+
+ internal class ImageFormatException : Exception {
+
+ internal ImageFormatException () : base()
+ {
+ }
+
+ internal ImageFormatException (string message) : base(message)
+ {
+ }
+
+ internal ImageFormatException (string message, params string[] parameters) :
+ base(string.Format(message, parameters))
+ {
+ }
+
+ internal ImageFormatException (string message, Exception inner) :
+ base(message, inner)
+ {
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageInitializer.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/ImageInitializer.cs
index 407c9dca828..407c9dca828 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageInitializer.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/ImageInitializer.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageReader.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/ImageReader.cs
index e1b2bf1c506..e1b2bf1c506 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageReader.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/ImageReader.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageWriter.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/ImageWriter.cs
index e88465d6a89..e88465d6a89 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ImageWriter.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/ImageWriter.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/Imports.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/Imports.cs
new file mode 100644
index 00000000000..c4255549f88
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/Imports.cs
@@ -0,0 +1,98 @@
+//
+// Imports.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal sealed class ImportAddressTable : IBinaryVisitable {
+
+ public RVA HintNameTableRVA;
+
+ internal ImportAddressTable ()
+ {
+ }
+
+ public void Accept (IBinaryVisitor visitor)
+ {
+ visitor.VisitImportAddressTable (this);
+ }
+ }
+
+ internal sealed class ImportTable : IBinaryVisitable {
+
+ public RVA ImportLookupTable;
+ public uint DateTimeStamp;
+ public uint ForwardChain;
+ public RVA Name;
+ public RVA ImportAddressTable;
+
+ internal ImportTable ()
+ {
+ }
+
+ public void Accept (IBinaryVisitor visitor)
+ {
+ visitor.VisitImportTable (this);
+ }
+ }
+
+ internal sealed class ImportLookupTable : IBinaryVisitable {
+
+ public RVA HintNameRVA;
+
+ internal ImportLookupTable ()
+ {
+ }
+
+ public void Accept (IBinaryVisitor visitor)
+ {
+ visitor.VisitImportLookupTable (this);
+ }
+ }
+
+ internal sealed class HintNameTable : IBinaryVisitable {
+
+ public const string RuntimeMainExe = "_CorExeMain";
+ public const string RuntimeMainDll = "_CorDllMain";
+ public const string RuntimeCorEE = "mscoree.dll";
+
+ public ushort Hint;
+ public string RuntimeMain;
+ public string RuntimeLibrary;
+ public ushort EntryPoint;
+ public RVA RVA;
+
+ internal HintNameTable ()
+ {
+ }
+
+ public void Accept (IBinaryVisitor visitor)
+ {
+ visitor.VisitHintNameTable (this);
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/MemoryBinaryWriter.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/MemoryBinaryWriter.cs
index 7d8f5902ddf..7d8f5902ddf 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/MemoryBinaryWriter.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/MemoryBinaryWriter.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/PEFileHeader.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/PEFileHeader.cs
new file mode 100644
index 00000000000..c541fefdfb2
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/PEFileHeader.cs
@@ -0,0 +1,58 @@
+//
+// PEFileHeader.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal sealed class PEFileHeader : IHeader, IBinaryVisitable {
+
+ public ushort Machine;
+ public ushort NumberOfSections;
+ public uint TimeDateStamp;
+ public uint PointerToSymbolTable;
+ public uint NumberOfSymbols;
+ public ushort OptionalHeaderSize;
+ public ImageCharacteristics Characteristics;
+
+ internal PEFileHeader ()
+ {
+ }
+
+ public void SetDefaultValues ()
+ {
+ Machine = 0x14c;
+ PointerToSymbolTable = 0;
+ NumberOfSymbols = 0;
+ OptionalHeaderSize = 0xe0;
+ }
+
+ public void Accept (IBinaryVisitor visitor)
+ {
+ visitor.VisitPEFileHeader (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/PEOptionalHeader.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/PEOptionalHeader.cs
new file mode 100644
index 00000000000..2dea24d28e3
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/PEOptionalHeader.cs
@@ -0,0 +1,200 @@
+//
+// PEOptionalHeader.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal sealed class PEOptionalHeader : IHeader, IBinaryVisitable {
+
+ public StandardFieldsHeader StandardFields;
+ public NTSpecificFieldsHeader NTSpecificFields;
+ public DataDirectoriesHeader DataDirectories;
+
+ internal PEOptionalHeader ()
+ {
+ StandardFields = new StandardFieldsHeader ();
+ NTSpecificFields = new NTSpecificFieldsHeader ();
+ DataDirectories = new DataDirectoriesHeader ();
+ }
+
+ public void SetDefaultValues ()
+ {
+ }
+
+ public void Accept (IBinaryVisitor visitor)
+ {
+ visitor.VisitPEOptionalHeader (this);
+
+ StandardFields.Accept (visitor);
+ NTSpecificFields.Accept (visitor);
+ DataDirectories.Accept (visitor);
+ }
+
+ internal sealed class StandardFieldsHeader : IHeader, IBinaryVisitable {
+
+ public ushort Magic;
+ public byte LMajor;
+ public byte LMinor;
+ public uint CodeSize;
+ public uint InitializedDataSize;
+ public uint UninitializedDataSize;
+ public RVA EntryPointRVA;
+ public RVA BaseOfCode;
+ public RVA BaseOfData;
+
+ public bool IsPE64 {
+ get { return Magic == 0x20b; }
+ set {
+ if (value)
+ Magic = 0x20b;
+ else
+ Magic = 0x10b;
+ }
+ }
+
+ internal StandardFieldsHeader ()
+ {
+ }
+
+ public void SetDefaultValues ()
+ {
+ Magic = 0x10b;
+ LMajor = 6;
+ LMinor = 0;
+ }
+
+ public void Accept (IBinaryVisitor visitor)
+ {
+ visitor.VisitStandardFieldsHeader (this);
+ }
+ }
+
+ internal sealed class NTSpecificFieldsHeader : IHeader, IBinaryVisitable {
+
+ public ulong ImageBase;
+ public uint SectionAlignment;
+ public uint FileAlignment;
+ public ushort OSMajor;
+ public ushort OSMinor;
+ public ushort UserMajor;
+ public ushort UserMinor;
+ public ushort SubSysMajor;
+ public ushort SubSysMinor;
+ public uint Reserved;
+ public uint ImageSize;
+ public uint HeaderSize;
+ public uint FileChecksum;
+ public SubSystem SubSystem;
+ public ushort DLLFlags;
+ public ulong StackReserveSize;
+ public ulong StackCommitSize;
+ public ulong HeapReserveSize;
+ public ulong HeapCommitSize;
+ public uint LoaderFlags;
+ public uint NumberOfDataDir;
+
+ internal NTSpecificFieldsHeader ()
+ {
+ }
+
+ public void SetDefaultValues ()
+ {
+ ImageBase = 0x400000;
+ SectionAlignment = 0x2000;
+ FileAlignment = 0x200;
+ OSMajor = 4;
+ OSMinor = 0;
+ UserMajor = 0;
+ UserMinor = 0;
+ SubSysMajor = 4;
+ SubSysMinor = 0;
+ Reserved = 0;
+ HeaderSize = 0x200;
+ FileChecksum = 0;
+ DLLFlags = 0;
+ StackReserveSize = 0x100000;
+ StackCommitSize = 0x1000;
+ HeapReserveSize = 0x100000;
+ HeapCommitSize = 0x1000;
+ LoaderFlags = 0;
+ NumberOfDataDir = 0x10;
+ }
+
+ public void Accept (IBinaryVisitor visitor)
+ {
+ visitor.VisitNTSpecificFieldsHeader (this);
+ }
+ }
+
+ internal sealed class DataDirectoriesHeader : IHeader, IBinaryVisitable {
+
+ public DataDirectory ExportTable;
+ public DataDirectory ImportTable;
+ public DataDirectory ResourceTable;
+ public DataDirectory ExceptionTable;
+ public DataDirectory CertificateTable;
+ public DataDirectory BaseRelocationTable;
+ public DataDirectory Debug;
+ public DataDirectory Copyright;
+ public DataDirectory GlobalPtr;
+ public DataDirectory TLSTable;
+ public DataDirectory LoadConfigTable;
+ public DataDirectory BoundImport;
+ public DataDirectory IAT;
+ public DataDirectory DelayImportDescriptor;
+ public DataDirectory CLIHeader;
+ public DataDirectory Reserved;
+
+ internal DataDirectoriesHeader ()
+ {
+ }
+
+ public void SetDefaultValues ()
+ {
+ ExportTable = DataDirectory.Zero;
+ ResourceTable = DataDirectory.Zero;
+ ExceptionTable = DataDirectory.Zero;
+ CertificateTable = DataDirectory.Zero;
+ Debug = DataDirectory.Zero;
+ Copyright = DataDirectory.Zero;
+ GlobalPtr = DataDirectory.Zero;
+ TLSTable = DataDirectory.Zero;
+ LoadConfigTable = DataDirectory.Zero;
+ BoundImport = DataDirectory.Zero;
+ IAT = new DataDirectory (new RVA (0x2000), 8);
+ DelayImportDescriptor = DataDirectory.Zero;
+ CLIHeader = new DataDirectory (new RVA (0x2008), 0x48);
+ Reserved = DataDirectory.Zero;
+ }
+
+ public void Accept (IBinaryVisitor visitor)
+ {
+ visitor.VisitDataDirectoriesHeader (this);
+ }
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/RVA.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/RVA.cs
new file mode 100644
index 00000000000..c8b32bd90f1
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/RVA.cs
@@ -0,0 +1,115 @@
+//
+// RVA.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal struct RVA {
+
+ public static readonly RVA Zero = new RVA (0);
+
+ uint m_rva;
+
+ public uint Value {
+ get { return m_rva; }
+ set { m_rva = value; }
+ }
+
+ public RVA (uint rva)
+ {
+ m_rva = rva;
+ }
+
+ public override int GetHashCode ()
+ {
+ return (int) m_rva;
+ }
+
+ public override bool Equals (object other)
+ {
+ if (other is RVA)
+ return this.m_rva == ((RVA) other).m_rva;
+
+ return false;
+ }
+
+ public override string ToString ()
+ {
+ return string.Format ("0x{0}", m_rva.ToString ("X"));
+ }
+
+ public static bool operator == (RVA one, RVA other)
+ {
+ return one.m_rva == other.m_rva;
+ }
+
+ public static bool operator != (RVA one, RVA other)
+ {
+ return one.m_rva != other.m_rva;
+ }
+
+ public static bool operator < (RVA one, RVA other)
+ {
+ return one.m_rva < other.m_rva;
+ }
+
+ public static bool operator > (RVA one, RVA other)
+ {
+ return one.m_rva > other.m_rva;
+ }
+
+ public static bool operator <= (RVA one, RVA other)
+ {
+ return one.m_rva <= other.m_rva;
+ }
+
+ public static bool operator >= (RVA one, RVA other)
+ {
+ return one.m_rva >= other.m_rva;
+ }
+
+ public static RVA operator + (RVA rva, uint x)
+ {
+ return new RVA (rva.m_rva + x);
+ }
+
+ public static RVA operator - (RVA rva, uint x)
+ {
+ return new RVA (rva.m_rva - x);
+ }
+
+ public static implicit operator RVA (uint val)
+ {
+ return val == 0 ? Zero : new RVA (val);
+ }
+
+ public static implicit operator uint (RVA rva)
+ {
+ return rva.m_rva;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceDataEntry.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceDataEntry.cs
new file mode 100644
index 00000000000..14a76dcd586
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceDataEntry.cs
@@ -0,0 +1,48 @@
+//
+// ResourceDataEntry.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal class ResourceDataEntry : ResourceNode {
+
+ public RVA Data;
+ public uint Size;
+ public uint Codepage;
+ public uint Reserved = 0;
+
+ public byte [] ResourceData;
+
+ public ResourceDataEntry (int offset) : base (offset)
+ {
+ }
+
+ public ResourceDataEntry ()
+ {
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceDirectoryEntry.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceDirectoryEntry.cs
new file mode 100644
index 00000000000..8ddd2939fc6
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceDirectoryEntry.cs
@@ -0,0 +1,66 @@
+//
+// ResourceDirectoryEntry.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal class ResourceDirectoryEntry : ResourceNode {
+
+ private bool m_idByName;
+
+ public int ID;
+ public ResourceDirectoryString Name;
+
+ public bool IdentifiedByName {
+ get { return m_idByName; }
+ }
+
+ public ResourceNode Child;
+
+ public ResourceDirectoryEntry (ResourceDirectoryString name)
+ {
+ this.Name = name;
+ m_idByName = true;
+ }
+
+ public ResourceDirectoryEntry (ResourceDirectoryString name, int offset) : base (offset)
+ {
+ this.Name = name;
+ m_idByName = true;
+ }
+
+ public ResourceDirectoryEntry (int id)
+ {
+ this.ID = id;
+ }
+
+ public ResourceDirectoryEntry (int id, int offset) : base (offset)
+ {
+ this.ID = id;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceDirectoryString.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceDirectoryString.cs
new file mode 100644
index 00000000000..f0250c1715c
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceDirectoryString.cs
@@ -0,0 +1,45 @@
+//
+// ResourceDirectoryString.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal class ResourceDirectoryString : ResourceNode {
+
+ public string String;
+
+ public ResourceDirectoryString (string str)
+ {
+ this.String = str;
+ }
+
+ public ResourceDirectoryString (string str, int offset) : base (offset)
+ {
+ this.String = str;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceDirectoryTable.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceDirectoryTable.cs
new file mode 100644
index 00000000000..2970a7040a5
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceDirectoryTable.cs
@@ -0,0 +1,56 @@
+//
+// ResourceDirectoryTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ using System.Collections;
+
+ internal class ResourceDirectoryTable : ResourceNode {
+
+ private ArrayList m_entries;
+
+ public uint Characteristics;
+ public uint TimeDateStamp;
+ public ushort MajorVersion;
+ public ushort MinorVersion;
+
+ public IList Entries {
+ get { return m_entries; }
+ }
+
+ public ResourceDirectoryTable (int offset) : base (offset)
+ {
+ m_entries = new ArrayList ();
+ }
+
+ public ResourceDirectoryTable ()
+ {
+ m_entries = new ArrayList ();
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceNode.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceNode.cs
new file mode 100644
index 00000000000..8b7757526d4
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceNode.cs
@@ -0,0 +1,44 @@
+//
+// ResourceNode.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal abstract class ResourceNode {
+
+ public int Offset;
+
+ internal ResourceNode (int offset)
+ {
+ this.Offset = offset;
+ }
+
+ internal ResourceNode ()
+ {
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceReader.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceReader.cs
index 694ecea0ca5..694ecea0ca5 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceReader.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceReader.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceWriter.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceWriter.cs
index 5f6de0d532a..5f6de0d532a 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Binary/ResourceWriter.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/ResourceWriter.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/RuntimeImage.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/RuntimeImage.cs
new file mode 100644
index 00000000000..9ae5a64c2cc
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/RuntimeImage.cs
@@ -0,0 +1,40 @@
+//
+// RuntimeImage.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace Mono.Cecil.Binary {
+
+ [Flags]
+ internal enum RuntimeImage : uint {
+ ILOnly = 0x0000001,
+ F32BitsRequired = 0x0000002,
+ StrongNameSigned = 0x0000008,
+ TrackDebugData = 0x00010000
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/Section.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/Section.cs
new file mode 100644
index 00000000000..2dae1a05365
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/Section.cs
@@ -0,0 +1,66 @@
+//
+// Section.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal sealed class Section : IHeader, IBinaryVisitable {
+
+ public const string Text = ".text";
+ public const string Resources = ".rsrc";
+ public const string Relocs = ".reloc";
+ public const string SData = ".sdata";
+
+ public uint VirtualSize;
+ public RVA VirtualAddress;
+ public uint SizeOfRawData;
+ public RVA PointerToRawData;
+ public RVA PointerToRelocations;
+ public RVA PointerToLineNumbers;
+ public ushort NumberOfRelocations;
+ public ushort NumberOfLineNumbers;
+ public SectionCharacteristics Characteristics;
+
+ public string Name;
+ public byte [] Data;
+
+ internal Section ()
+ {
+ }
+
+ public void SetDefaultValues ()
+ {
+ PointerToLineNumbers = RVA.Zero;
+ NumberOfLineNumbers = 0;
+ }
+
+ public void Accept (IBinaryVisitor visitor)
+ {
+ visitor.VisitSection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/SectionCharacteristics.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/SectionCharacteristics.cs
new file mode 100644
index 00000000000..7741fb36f0c
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/SectionCharacteristics.cs
@@ -0,0 +1,70 @@
+//
+// SectionCharacteristics.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ using System;
+
+ [Flags]
+ internal enum SectionCharacteristics : uint {
+ TypeNoPad = 0x0000008,
+ ContainsCode = 0x00000020,
+ ContainsInitializedData = 0x00000040,
+ ContainsUninitializedData = 0x00000080,
+ LnkOther = 0x0000100,
+ LnkInfo = 0x000200,
+ LnkRemove = 0x0000800,
+ LnkCOMDAT = 0x00001000,
+ GPRel = 0x00008000,
+ MemPurgeable = 0x00020000,
+ MemLocked = 0x00040000,
+ MemPreload = 0x00080000,
+ Align1Bytes = 0x00100000,
+ Align2Bytes = 0x00200000,
+ Align4Bytes = 0x00300000,
+ Align8Bytes = 0x00400000,
+ Align16Bytes = 0x00500000,
+ Align32Bytes = 0x00600000,
+ Align64Bytes = 0x00700000,
+ Align128Bytes = 0x00800000,
+ Align256Bytes = 0x00900000,
+ Align512Bytes = 0x00a00000,
+ Align1024Bytes = 0x00b00000,
+ Align2048Bytes = 0x00c00000,
+ Align4096Bytes = 0x00d00000,
+ Align8192Bytes = 0x00e00000,
+ LnkNRelocOvfl = 0x01000000,
+ MemDiscardable = 0x02000000,
+ MemNotCached = 0x04000000,
+ MemNotPaged = 0x08000000,
+ MemShared = 0x10000000,
+ MemExecute = 0x20000000,
+ MemoryRead = 0x40000000,
+ MemoryWrite = 0x80000000
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/SectionCollection.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/SectionCollection.cs
new file mode 100644
index 00000000000..503988da663
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/SectionCollection.cs
@@ -0,0 +1,114 @@
+//
+// SectionCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ using System;
+ using System.Collections;
+
+ internal sealed class SectionCollection : ICollection, IBinaryVisitable {
+
+ IList m_items;
+
+ public Section this [int index]
+ {
+ get { return m_items [index] as Section; }
+ set { m_items [index] = value; }
+ }
+
+ public int Count {
+ get { return m_items.Count; }
+ }
+
+ public bool IsSynchronized {
+ get { return false; }
+ }
+
+ public object SyncRoot {
+ get { return this; }
+ }
+
+ internal SectionCollection ()
+ {
+ m_items = new ArrayList (4);
+ }
+
+ internal void Add (Section value)
+ {
+ m_items.Add (value);
+ }
+
+ internal void Clear ()
+ {
+ m_items.Clear ();
+ }
+
+ public bool Contains (Section value)
+ {
+ return m_items.Contains (value);
+ }
+
+ public int IndexOf (Section value)
+ {
+ return m_items.IndexOf (value);
+ }
+
+ internal void Insert (int index, Section value)
+ {
+ m_items.Insert (index, value);
+ }
+
+ internal void Remove (Section value)
+ {
+ m_items.Remove (value);
+ }
+
+ internal void RemoveAt (int index)
+ {
+ m_items.Remove (index);
+ }
+
+ public void CopyTo (Array ary, int index)
+ {
+ m_items.CopyTo (ary, index);
+ }
+
+ public IEnumerator GetEnumerator ()
+ {
+ return m_items.GetEnumerator ();
+ }
+
+ public void Accept (IBinaryVisitor visitor)
+ {
+ visitor.VisitSectionCollection (this);
+
+ for (int i = 0; i < m_items.Count; i++)
+ this [i].Accept (visitor);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Binary/SubSystem.cs b/mcs/tools/cil-strip/Mono.Cecil.Binary/SubSystem.cs
new file mode 100644
index 00000000000..4306ff9854e
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Binary/SubSystem.cs
@@ -0,0 +1,45 @@
+//
+// SubSystem.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Binary {
+
+ internal enum SubSystem : ushort {
+ Unknown = 0x0,
+ Native = 0x1,
+ WindowsGui = 0x2,
+ WindowsCui = 0x3,
+ PosixCui = 0x7,
+ WindowsCeGui = 0x9,
+ EfiApplication = 0x10,
+ EfiBootServiceDriver = 0x11,
+ EfiRuntimeDriver = 0x12,
+ EfiRom = 0x13,
+ Xbox = 0x14,
+ NexusAgent = 0x15
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/BaseCodeVisitor.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/BaseCodeVisitor.cs
new file mode 100644
index 00000000000..3cc839a6960
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/BaseCodeVisitor.cs
@@ -0,0 +1,73 @@
+//
+// BaseCodeVisitor.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal abstract class BaseCodeVisitor : ICodeVisitor {
+
+ public virtual void VisitMethodBody (MethodBody body)
+ {
+ }
+
+ public virtual void VisitInstructionCollection (InstructionCollection instructions)
+ {
+ }
+
+ public virtual void VisitInstruction (Instruction instr)
+ {
+ }
+
+ public virtual void VisitExceptionHandlerCollection (ExceptionHandlerCollection seh)
+ {
+ }
+
+ public virtual void VisitExceptionHandler (ExceptionHandler eh)
+ {
+ }
+
+ public virtual void VisitVariableDefinitionCollection (VariableDefinitionCollection variables)
+ {
+ }
+
+ public virtual void VisitVariableDefinition (VariableDefinition var)
+ {
+ }
+
+ public virtual void VisitScopeCollection (ScopeCollection scopes)
+ {
+ }
+
+ public virtual void VisitScope (Scope s)
+ {
+ }
+
+ public virtual void TerminateMethodBody (MethodBody body)
+ {
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/CilWorker.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/CilWorker.cs
new file mode 100644
index 00000000000..c92de40b50f
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/CilWorker.cs
@@ -0,0 +1,402 @@
+//
+// CilWorker.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ using System;
+ using SR = System.Reflection;
+
+ internal sealed class CilWorker {
+
+ MethodBody m_mbody;
+ InstructionCollection m_instrs;
+
+ internal CilWorker (MethodBody body)
+ {
+ m_mbody = body;
+ m_instrs = m_mbody.Instructions;
+ }
+
+ public MethodBody GetBody ()
+ {
+ return m_mbody;
+ }
+
+ public Instruction Create (OpCode opcode)
+ {
+ if (opcode.OperandType != OperandType.InlineNone)
+ throw new ArgumentException ("opcode");
+
+ return FinalCreate (opcode);
+ }
+
+ public Instruction Create (OpCode opcode, TypeReference type)
+ {
+ if (type == null)
+ throw new ArgumentNullException ("type");
+ if (opcode.OperandType != OperandType.InlineType &&
+ opcode.OperandType != OperandType.InlineTok)
+ throw new ArgumentException ("opcode");
+
+ return FinalCreate (opcode, type);
+ }
+
+ public Instruction Create (OpCode opcode, CallSite site)
+ {
+ if (site == null)
+ throw new ArgumentNullException ("site");
+ if (opcode.Code != Code.Calli)
+ throw new ArgumentException ("code");
+
+ return FinalCreate (opcode, site);
+ }
+
+ public Instruction Create (OpCode opcode, MethodReference method)
+ {
+ if (method == null)
+ throw new ArgumentNullException ("method");
+ if (opcode.OperandType != OperandType.InlineMethod &&
+ opcode.OperandType != OperandType.InlineTok)
+ throw new ArgumentException ("opcode");
+
+ return FinalCreate (opcode, method);
+ }
+
+ public Instruction Create (OpCode opcode, FieldReference field)
+ {
+ if (field == null)
+ throw new ArgumentNullException ("field");
+ if (opcode.OperandType != OperandType.InlineField &&
+ opcode.OperandType != OperandType.InlineTok)
+ throw new ArgumentException ("opcode");
+
+ return FinalCreate (opcode, field);
+ }
+
+ public Instruction Create (OpCode opcode, string str)
+ {
+ if (str == null)
+ throw new ArgumentNullException ("str");
+ if (opcode.OperandType != OperandType.InlineString)
+ throw new ArgumentException ("opcode");
+
+ return FinalCreate (opcode, str);
+ }
+
+ public Instruction Create (OpCode opcode, sbyte b)
+ {
+ if (opcode.OperandType != OperandType.ShortInlineI &&
+ opcode != OpCodes.Ldc_I4_S)
+ throw new ArgumentException ("opcode");
+
+ return FinalCreate (opcode, b);
+ }
+
+ public Instruction Create (OpCode opcode, byte b)
+ {
+ if (opcode.OperandType == OperandType.ShortInlineVar)
+ return Create (opcode, m_mbody.Variables [b]);
+
+ if (opcode.OperandType == OperandType.ShortInlineParam)
+ return Create (opcode, CodeReader.GetParameter (m_mbody, b));
+
+ if (opcode.OperandType != OperandType.ShortInlineI ||
+ opcode == OpCodes.Ldc_I4_S)
+ throw new ArgumentException ("opcode");
+
+ return FinalCreate (opcode, b);
+ }
+
+ public Instruction Create (OpCode opcode, int i)
+ {
+ if (opcode.OperandType == OperandType.InlineVar)
+ return Create (opcode, m_mbody.Variables [i]);
+
+ if (opcode.OperandType == OperandType.InlineParam)
+ return Create (opcode, CodeReader.GetParameter (m_mbody, i));
+
+ if (opcode.OperandType != OperandType.InlineI)
+ throw new ArgumentException ("opcode");
+
+ return FinalCreate (opcode, i);
+ }
+
+ public Instruction Create (OpCode opcode, long l)
+ {
+ if (opcode.OperandType != OperandType.InlineI8)
+ throw new ArgumentException ("opcode");
+
+ return FinalCreate (opcode, l);
+ }
+
+ public Instruction Create (OpCode opcode, float f)
+ {
+ if (opcode.OperandType != OperandType.ShortInlineR)
+ throw new ArgumentException ("opcode");
+
+ return FinalCreate (opcode, f);
+ }
+
+ public Instruction Create (OpCode opcode, double d)
+ {
+ if (opcode.OperandType != OperandType.InlineR)
+ throw new ArgumentException ("opcode");
+
+ return FinalCreate (opcode, d);
+ }
+
+ public Instruction Create (OpCode opcode, Instruction label)
+ {
+ if (label == null)
+ throw new ArgumentNullException ("label");
+ if (opcode.OperandType != OperandType.InlineBrTarget &&
+ opcode.OperandType != OperandType.ShortInlineBrTarget)
+ throw new ArgumentException ("opcode");
+
+ return FinalCreate (opcode, label);
+ }
+
+ public Instruction Create (OpCode opcode, Instruction [] labels)
+ {
+ if (labels == null)
+ throw new ArgumentNullException ("labels");
+ if (opcode.OperandType != OperandType.InlineSwitch)
+ throw new ArgumentException ("opcode");
+
+ return FinalCreate (opcode, labels);
+ }
+
+ public Instruction Create (OpCode opcode, VariableDefinition var)
+ {
+ if (var == null)
+ throw new ArgumentNullException ("var");
+ if (opcode.OperandType != OperandType.ShortInlineVar &&
+ opcode.OperandType != OperandType.InlineVar)
+ throw new ArgumentException ("opcode");
+
+ return FinalCreate (opcode, var);
+ }
+
+ public Instruction Create (OpCode opcode, ParameterDefinition param)
+ {
+ if (param == null)
+ throw new ArgumentNullException ("param");
+ if (opcode.OperandType != OperandType.ShortInlineParam &&
+ opcode.OperandType != OperandType.InlineParam)
+ throw new ArgumentException ("opcode");
+
+ return FinalCreate (opcode, param);
+ }
+
+ static Instruction FinalCreate (OpCode opcode)
+ {
+ return FinalCreate (opcode, null);
+ }
+
+ static Instruction FinalCreate (OpCode opcode, object operand)
+ {
+ return new Instruction (opcode, operand);
+ }
+
+ public Instruction Emit (OpCode opcode)
+ {
+ Instruction instr = Create (opcode);
+ Append (instr);
+ return instr;
+ }
+
+ public Instruction Emit (OpCode opcode, TypeReference type)
+ {
+ Instruction instr = Create (opcode, type);
+ Append (instr);
+ return instr;
+ }
+
+ public Instruction Emit (OpCode opcode, MethodReference meth)
+ {
+ Instruction instr = Create (opcode, meth);
+ Append (instr);
+ return instr;
+ }
+
+ public Instruction Emit (OpCode opcode, CallSite site)
+ {
+ Instruction instr = Create (opcode, site);
+ Append (instr);
+ return instr;
+ }
+
+ public Instruction Emit (OpCode opcode, FieldReference field)
+ {
+ Instruction instr = Create (opcode, field);
+ Append (instr);
+ return instr;
+ }
+
+ public Instruction Emit (OpCode opcode, string str)
+ {
+ Instruction instr = Create (opcode, str);
+ Append (instr);
+ return instr;
+ }
+
+ public Instruction Emit (OpCode opcode, byte b)
+ {
+ Instruction instr = Create (opcode, b);
+ Append (instr);
+ return instr;
+ }
+
+ public Instruction Emit (OpCode opcode, sbyte b)
+ {
+ Instruction instr = Create (opcode, b);
+ Append (instr);
+ return instr;
+ }
+
+ public Instruction Emit (OpCode opcode, int i)
+ {
+ Instruction instr = Create (opcode, i);
+ Append (instr);
+ return instr;
+ }
+
+ public Instruction Emit (OpCode opcode, long l)
+ {
+ Instruction instr = Create (opcode, l);
+ Append (instr);
+ return instr;
+ }
+
+ public Instruction Emit (OpCode opcode, float f)
+ {
+ Instruction instr = Create (opcode, f);
+ Append (instr);
+ return instr;
+ }
+
+ public Instruction Emit (OpCode opcode, double d)
+ {
+ Instruction instr = Create (opcode, d);
+ Append (instr);
+ return instr;
+ }
+
+ public Instruction Emit (OpCode opcode, Instruction target)
+ {
+ Instruction instr = Create (opcode, target);
+ Append (instr);
+ return instr;
+ }
+
+ public Instruction Emit (OpCode opcode, Instruction [] targets)
+ {
+ Instruction instr = Create (opcode, targets);
+ Append (instr);
+ return instr;
+ }
+
+ public Instruction Emit (OpCode opcode, VariableDefinition var)
+ {
+ Instruction instr = Create (opcode, var);
+ Append (instr);
+ return instr;
+ }
+
+ public Instruction Emit (OpCode opcode, ParameterDefinition param)
+ {
+ Instruction instr = Create (opcode, param);
+ Append (instr);
+ return instr;
+ }
+
+ public void InsertBefore (Instruction target, Instruction instr)
+ {
+ int index = m_instrs.IndexOf (target);
+ if (index == -1)
+ throw new ArgumentOutOfRangeException ("Target instruction not in method body");
+
+ m_instrs.Insert (index, instr);
+ instr.Previous = target.Previous;
+ if (target.Previous != null)
+ target.Previous.Next = instr;
+ target.Previous = instr;
+ instr.Next = target;
+ }
+
+ public void InsertAfter (Instruction target, Instruction instr)
+ {
+ int index = m_instrs.IndexOf (target);
+ if (index == -1)
+ throw new ArgumentOutOfRangeException ("Target instruction not in method body");
+
+ m_instrs.Insert (index + 1, instr);
+ instr.Next = target.Next;
+ if (target.Next != null)
+ target.Next.Previous = instr;
+ target.Next = instr;
+ instr.Previous = target;
+ }
+
+ public void Append (Instruction instr)
+ {
+ Instruction last = null, current = instr;
+ if (m_instrs.Count > 0)
+ last = m_instrs [m_instrs.Count - 1];
+
+ if (last != null) {
+ last.Next = instr;
+ current.Previous = last;
+ }
+
+ m_instrs.Add (current);
+ }
+
+ public void Replace (Instruction old, Instruction instr)
+ {
+ int index = m_instrs.IndexOf (old);
+ if (index == -1)
+ throw new ArgumentOutOfRangeException ("Target instruction not in method body");
+
+ InsertAfter (old, instr);
+ Remove (old);
+ }
+
+ public void Remove (Instruction instr)
+ {
+ if (!m_instrs.Contains (instr))
+ throw new ArgumentException ("Instruction not in method body");
+
+ if (instr.Previous != null)
+ instr.Previous.Next = instr.Next;
+ if (instr.Next != null)
+ instr.Next.Previous = instr.Previous;
+ m_instrs.Remove (instr);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/Code.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/Code.cs
new file mode 100644
index 00000000000..9ea0b9fee25
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/Code.cs
@@ -0,0 +1,255 @@
+//
+// Code.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Fri Mar 16 15:37:23 +0100 2007
+//
+// (C) 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal enum Code {
+ Nop,
+ Break,
+ Ldarg_0,
+ Ldarg_1,
+ Ldarg_2,
+ Ldarg_3,
+ Ldloc_0,
+ Ldloc_1,
+ Ldloc_2,
+ Ldloc_3,
+ Stloc_0,
+ Stloc_1,
+ Stloc_2,
+ Stloc_3,
+ Ldarg_S,
+ Ldarga_S,
+ Starg_S,
+ Ldloc_S,
+ Ldloca_S,
+ Stloc_S,
+ Ldnull,
+ Ldc_I4_M1,
+ Ldc_I4_0,
+ Ldc_I4_1,
+ Ldc_I4_2,
+ Ldc_I4_3,
+ Ldc_I4_4,
+ Ldc_I4_5,
+ Ldc_I4_6,
+ Ldc_I4_7,
+ Ldc_I4_8,
+ Ldc_I4_S,
+ Ldc_I4,
+ Ldc_I8,
+ Ldc_R4,
+ Ldc_R8,
+ Dup,
+ Pop,
+ Jmp,
+ Call,
+ Calli,
+ Ret,
+ Br_S,
+ Brfalse_S,
+ Brtrue_S,
+ Beq_S,
+ Bge_S,
+ Bgt_S,
+ Ble_S,
+ Blt_S,
+ Bne_Un_S,
+ Bge_Un_S,
+ Bgt_Un_S,
+ Ble_Un_S,
+ Blt_Un_S,
+ Br,
+ Brfalse,
+ Brtrue,
+ Beq,
+ Bge,
+ Bgt,
+ Ble,
+ Blt,
+ Bne_Un,
+ Bge_Un,
+ Bgt_Un,
+ Ble_Un,
+ Blt_Un,
+ Switch,
+ Ldind_I1,
+ Ldind_U1,
+ Ldind_I2,
+ Ldind_U2,
+ Ldind_I4,
+ Ldind_U4,
+ Ldind_I8,
+ Ldind_I,
+ Ldind_R4,
+ Ldind_R8,
+ Ldind_Ref,
+ Stind_Ref,
+ Stind_I1,
+ Stind_I2,
+ Stind_I4,
+ Stind_I8,
+ Stind_R4,
+ Stind_R8,
+ Add,
+ Sub,
+ Mul,
+ Div,
+ Div_Un,
+ Rem,
+ Rem_Un,
+ And,
+ Or,
+ Xor,
+ Shl,
+ Shr,
+ Shr_Un,
+ Neg,
+ Not,
+ Conv_I1,
+ Conv_I2,
+ Conv_I4,
+ Conv_I8,
+ Conv_R4,
+ Conv_R8,
+ Conv_U4,
+ Conv_U8,
+ Callvirt,
+ Cpobj,
+ Ldobj,
+ Ldstr,
+ Newobj,
+ Castclass,
+ Isinst,
+ Conv_R_Un,
+ Unbox,
+ Throw,
+ Ldfld,
+ Ldflda,
+ Stfld,
+ Ldsfld,
+ Ldsflda,
+ Stsfld,
+ Stobj,
+ Conv_Ovf_I1_Un,
+ Conv_Ovf_I2_Un,
+ Conv_Ovf_I4_Un,
+ Conv_Ovf_I8_Un,
+ Conv_Ovf_U1_Un,
+ Conv_Ovf_U2_Un,
+ Conv_Ovf_U4_Un,
+ Conv_Ovf_U8_Un,
+ Conv_Ovf_I_Un,
+ Conv_Ovf_U_Un,
+ Box,
+ Newarr,
+ Ldlen,
+ Ldelema,
+ Ldelem_I1,
+ Ldelem_U1,
+ Ldelem_I2,
+ Ldelem_U2,
+ Ldelem_I4,
+ Ldelem_U4,
+ Ldelem_I8,
+ Ldelem_I,
+ Ldelem_R4,
+ Ldelem_R8,
+ Ldelem_Ref,
+ Stelem_I,
+ Stelem_I1,
+ Stelem_I2,
+ Stelem_I4,
+ Stelem_I8,
+ Stelem_R4,
+ Stelem_R8,
+ Stelem_Ref,
+ Ldelem_Any,
+ Stelem_Any,
+ Unbox_Any,
+ Conv_Ovf_I1,
+ Conv_Ovf_U1,
+ Conv_Ovf_I2,
+ Conv_Ovf_U2,
+ Conv_Ovf_I4,
+ Conv_Ovf_U4,
+ Conv_Ovf_I8,
+ Conv_Ovf_U8,
+ Refanyval,
+ Ckfinite,
+ Mkrefany,
+ Ldtoken,
+ Conv_U2,
+ Conv_U1,
+ Conv_I,
+ Conv_Ovf_I,
+ Conv_Ovf_U,
+ Add_Ovf,
+ Add_Ovf_Un,
+ Mul_Ovf,
+ Mul_Ovf_Un,
+ Sub_Ovf,
+ Sub_Ovf_Un,
+ Endfinally,
+ Leave,
+ Leave_S,
+ Stind_I,
+ Conv_U,
+ Arglist,
+ Ceq,
+ Cgt,
+ Cgt_Un,
+ Clt,
+ Clt_Un,
+ Ldftn,
+ Ldvirtftn,
+ Ldarg,
+ Ldarga,
+ Starg,
+ Ldloc,
+ Ldloca,
+ Stloc,
+ Localloc,
+ Endfilter,
+ Unaligned,
+ Volatile,
+ Tail,
+ Initobj,
+ Constrained,
+ Cpblk,
+ Initblk,
+ No,
+ Rethrow,
+ Sizeof,
+ Refanytype,
+ Readonly,
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/CodeReader.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/CodeReader.cs
new file mode 100644
index 00000000000..9fe965f5569
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/CodeReader.cs
@@ -0,0 +1,357 @@
+//
+// CodeReader.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 - 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ using System;
+ using System.Collections;
+ using System.IO;
+
+ using Mono.Cecil;
+ using Mono.Cecil.Metadata;
+ using Mono.Cecil.Signatures;
+
+ sealed class CodeReader : BaseCodeVisitor {
+
+ ReflectionReader m_reflectReader;
+ MetadataRoot m_root;
+ IDictionary m_instructions;
+
+ public CodeReader (ReflectionReader reflectReader)
+ {
+ m_reflectReader = reflectReader;
+ m_root = m_reflectReader.MetadataRoot;
+ m_instructions = new Hashtable ();
+ }
+
+ public override void VisitMethodBody (MethodBody body)
+ {
+ MethodDefinition meth = body.Method;
+ MethodBody methBody = body;
+ BinaryReader br = m_reflectReader.Module.ImageReader.MetadataReader.GetDataReader (meth.RVA);
+
+ // lets read the method
+ int flags = br.ReadByte ();
+ switch (flags & 0x3) {
+ case (int) MethodHeader.TinyFormat :
+ methBody.CodeSize = flags >> 2;
+ methBody.MaxStack = 8;
+ ReadCilBody (methBody, br);
+ break;
+ case (int) MethodHeader.FatFormat :
+ br.BaseStream.Position--;
+ int fatflags = br.ReadUInt16 ();
+ //int headersize = (fatflags >> 12) & 0xf;
+ methBody.MaxStack = br.ReadUInt16 ();
+ methBody.CodeSize = br.ReadInt32 ();
+ methBody.LocalVarToken = br.ReadInt32 ();
+ body.InitLocals = (fatflags & (int) MethodHeader.InitLocals) != 0;
+ if (methBody.LocalVarToken != 0)
+ VisitVariableDefinitionCollection (methBody.Variables);
+ ReadCilBody (methBody, br);
+ if ((fatflags & (int) MethodHeader.MoreSects) != 0)
+ ReadSection (methBody, br);
+ break;
+ }
+ }
+
+ public static uint GetRid (int token)
+ {
+ return (uint) token & 0x00ffffff;
+ }
+
+ public static ParameterDefinition GetParameter (MethodBody body, int index)
+ {
+ if (body.Method.HasThis) {
+ if (index == 0)
+ return body.Method.This;
+ index--;
+ }
+
+ return body.Method.Parameters [index];
+ }
+
+ public static VariableDefinition GetVariable (MethodBody body, int index)
+ {
+ return body.Variables [index];
+ }
+
+ void ReadCilBody (MethodBody body, BinaryReader br)
+ {
+ long start = br.BaseStream.Position;
+ Instruction last = null;
+ m_instructions.Clear();
+ InstructionCollection code = body.Instructions;
+ GenericContext context = new GenericContext (body.Method);
+
+ while (br.BaseStream.Position < start + body.CodeSize) {
+ OpCode op;
+ long offset = br.BaseStream.Position - start;
+ int cursor = br.ReadByte ();
+ if (cursor == 0xfe)
+ op = OpCodes.TwoBytesOpCode [br.ReadByte ()];
+ else
+ op = OpCodes.OneByteOpCode [cursor];
+
+ Instruction instr = new Instruction ((int) offset, op);
+ switch (op.OperandType) {
+ case OperandType.InlineNone :
+ break;
+ case OperandType.InlineSwitch :
+ uint length = br.ReadUInt32 ();
+ int [] branches = new int [length];
+ int [] buf = new int [length];
+ for (int i = 0; i < length; i++)
+ buf [i] = br.ReadInt32 ();
+ for (int i = 0; i < length; i++)
+ branches [i] = Convert.ToInt32 (br.BaseStream.Position - start + buf [i]);
+ instr.Operand = branches;
+ break;
+ case OperandType.ShortInlineBrTarget :
+ sbyte sbrtgt = br.ReadSByte ();
+ instr.Operand = Convert.ToInt32 (br.BaseStream.Position - start + sbrtgt);
+ break;
+ case OperandType.InlineBrTarget :
+ int brtgt = br.ReadInt32 ();
+ instr.Operand = Convert.ToInt32 (br.BaseStream.Position - start + brtgt);
+ break;
+ case OperandType.ShortInlineI :
+ if (op == OpCodes.Ldc_I4_S)
+ instr.Operand = br.ReadSByte ();
+ else
+ instr.Operand = br.ReadByte ();
+ break;
+ case OperandType.ShortInlineVar :
+ instr.Operand = GetVariable (body, br.ReadByte ());
+ break;
+ case OperandType.ShortInlineParam :
+ instr.Operand = GetParameter (body, br.ReadByte ());
+ break;
+ case OperandType.InlineSig :
+ instr.Operand = GetCallSiteAt (br.ReadInt32 (), context);
+ break;
+ case OperandType.InlineI :
+ instr.Operand = br.ReadInt32 ();
+ break;
+ case OperandType.InlineVar :
+ instr.Operand = GetVariable (body, br.ReadInt16 ());
+ break;
+ case OperandType.InlineParam :
+ instr.Operand = GetParameter (body, br.ReadInt16 ());
+ break;
+ case OperandType.InlineI8 :
+ instr.Operand = br.ReadInt64 ();
+ break;
+ case OperandType.ShortInlineR :
+ instr.Operand = br.ReadSingle ();
+ break;
+ case OperandType.InlineR :
+ instr.Operand = br.ReadDouble ();
+ break;
+ case OperandType.InlineString :
+ instr.Operand = m_root.Streams.UserStringsHeap [GetRid (br.ReadInt32 ())];
+ break;
+ case OperandType.InlineField :
+ case OperandType.InlineMethod :
+ case OperandType.InlineType :
+ case OperandType.InlineTok :
+ MetadataToken token = new MetadataToken (br.ReadInt32 ());
+ switch (token.TokenType) {
+ case TokenType.TypeDef:
+ instr.Operand = m_reflectReader.GetTypeDefAt (token.RID);
+ break;
+ case TokenType.TypeRef:
+ instr.Operand = m_reflectReader.GetTypeRefAt (token.RID);
+ break;
+ case TokenType.TypeSpec:
+ instr.Operand = m_reflectReader.GetTypeSpecAt (token.RID, context);
+ break;
+ case TokenType.Field:
+ instr.Operand = m_reflectReader.GetFieldDefAt (token.RID);
+ break;
+ case TokenType.Method:
+ instr.Operand = m_reflectReader.GetMethodDefAt (token.RID);
+ break;
+ case TokenType.MethodSpec:
+ instr.Operand = m_reflectReader.GetMethodSpecAt (token.RID, context);
+ break;
+ case TokenType.MemberRef:
+ instr.Operand = m_reflectReader.GetMemberRefAt (token.RID, context);
+ break;
+ default:
+ throw new ReflectionException ("Wrong token: " + token);
+ }
+ break;
+ }
+
+ m_instructions.Add (instr.Offset, instr);
+
+ if (last != null) {
+ last.Next = instr;
+ instr.Previous = last;
+ }
+
+ last = instr;
+
+ code.Add (instr);
+ }
+
+ // resolve branches
+ foreach (Instruction i in code) {
+ switch (i.OpCode.OperandType) {
+ case OperandType.ShortInlineBrTarget:
+ case OperandType.InlineBrTarget:
+ i.Operand = GetInstruction (body, (int) i.Operand);
+ break;
+ case OperandType.InlineSwitch:
+ int [] lbls = (int []) i.Operand;
+ Instruction [] instrs = new Instruction [lbls.Length];
+ for (int j = 0; j < lbls.Length; j++)
+ instrs [j] = GetInstruction (body, lbls [j]);
+ i.Operand = instrs;
+ break;
+ }
+ }
+
+ if (m_reflectReader.SymbolReader != null)
+ m_reflectReader.SymbolReader.Read (body, m_instructions);
+ }
+
+ Instruction GetInstruction (MethodBody body, int offset)
+ {
+ Instruction instruction = m_instructions [offset] as Instruction;
+ if (instruction != null)
+ return instruction;
+
+ return body.Instructions.Outside;
+ }
+
+ void ReadSection (MethodBody body, BinaryReader br)
+ {
+ br.BaseStream.Position += 3;
+ br.BaseStream.Position &= ~3;
+
+ byte flags = br.ReadByte ();
+ if ((flags & (byte) MethodDataSection.FatFormat) == 0) {
+ int length = br.ReadByte () / 12;
+ br.ReadBytes (2);
+
+ for (int i = 0; i < length; i++) {
+ ExceptionHandler eh = new ExceptionHandler (
+ (ExceptionHandlerType) (br.ReadInt16 () & 0x7));
+ eh.TryStart = GetInstruction (body, Convert.ToInt32 (br.ReadInt16 ()));
+ eh.TryEnd = GetInstruction (body, eh.TryStart.Offset + Convert.ToInt32 (br.ReadByte ()));
+ eh.HandlerStart = GetInstruction (body, Convert.ToInt32 (br.ReadInt16 ()));
+ eh.HandlerEnd = GetInstruction (body, eh.HandlerStart.Offset + Convert.ToInt32 (br.ReadByte ()));
+ ReadExceptionHandlerEnd (eh, br, body);
+ body.ExceptionHandlers.Add (eh);
+ }
+ } else {
+ br.BaseStream.Position--;
+ int length = (br.ReadInt32 () >> 8) / 24;
+ if ((flags & (int) MethodDataSection.EHTable) == 0)
+ br.ReadBytes (length * 24);
+ for (int i = 0; i < length; i++) {
+ ExceptionHandler eh = new ExceptionHandler (
+ (ExceptionHandlerType) (br.ReadInt32 () & 0x7));
+ eh.TryStart = GetInstruction (body, br.ReadInt32 ());
+ eh.TryEnd = GetInstruction (body, eh.TryStart.Offset + br.ReadInt32 ());
+ eh.HandlerStart = GetInstruction (body, br.ReadInt32 ());
+ eh.HandlerEnd = GetInstruction (body, eh.HandlerStart.Offset + br.ReadInt32 ());
+ ReadExceptionHandlerEnd (eh, br, body);
+ body.ExceptionHandlers.Add (eh);
+ }
+ }
+
+ if ((flags & (byte) MethodDataSection.MoreSects) != 0)
+ ReadSection (body, br);
+ }
+
+ void ReadExceptionHandlerEnd (ExceptionHandler eh, BinaryReader br, MethodBody body)
+ {
+ switch (eh.Type) {
+ case ExceptionHandlerType.Catch :
+ MetadataToken token = new MetadataToken (br.ReadInt32 ());
+ eh.CatchType = m_reflectReader.GetTypeDefOrRef (token, new GenericContext (body.Method));
+ break;
+ case ExceptionHandlerType.Filter :
+ eh.FilterStart = GetInstruction (body, br.ReadInt32 ());
+ eh.FilterEnd = GetInstruction (body, eh.HandlerStart.Previous.Offset);
+ break;
+ default :
+ br.ReadInt32 ();
+ break;
+ }
+ }
+
+ CallSite GetCallSiteAt (int token, GenericContext context)
+ {
+ StandAloneSigTable sasTable = m_reflectReader.TableReader.GetStandAloneSigTable ();
+ MethodSig ms = m_reflectReader.SigReader.GetStandAloneMethodSig (
+ sasTable [(int) GetRid (token) - 1].Signature);
+ CallSite cs = new CallSite (ms.HasThis, ms.ExplicitThis,
+ ms.MethCallConv, m_reflectReader.GetMethodReturnType (ms, context));
+ cs.MetadataToken = new MetadataToken (token);
+
+ for (int i = 0; i < ms.ParamCount; i++) {
+ Param p = ms.Parameters [i];
+ cs.Parameters.Add (m_reflectReader.BuildParameterDefinition (i, p, context));
+ }
+
+ ReflectionReader.CreateSentinelIfNeeded (cs, ms);
+
+ return cs;
+ }
+
+ public override void VisitVariableDefinitionCollection (VariableDefinitionCollection variables)
+ {
+ MethodBody body = variables.Container as MethodBody;
+ if (body == null || body.LocalVarToken == 0)
+ return;
+
+ StandAloneSigTable sasTable = m_reflectReader.TableReader.GetStandAloneSigTable ();
+ StandAloneSigRow sasRow = sasTable [(int) GetRid (body.LocalVarToken) - 1];
+ LocalVarSig sig = m_reflectReader.SigReader.GetLocalVarSig (sasRow.Signature);
+ for (int i = 0; i < sig.Count; i++) {
+ LocalVarSig.LocalVariable lv = sig.LocalVariables [i];
+ TypeReference varType = m_reflectReader.GetTypeRefFromSig (
+ lv.Type, new GenericContext (body.Method));
+
+ if (lv.ByRef)
+ varType = new ReferenceType (varType);
+ if ((lv.Constraint & Constraint.Pinned) != 0)
+ varType = new PinnedType (varType);
+
+ varType = m_reflectReader.GetModifierType (lv.CustomMods, varType);
+
+ body.Variables.Add (new VariableDefinition (
+ string.Concat ("V_", i), i, body.Method, varType));
+ }
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/CodeWriter.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/CodeWriter.cs
new file mode 100644
index 00000000000..f6abc5029fc
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/CodeWriter.cs
@@ -0,0 +1,577 @@
+//
+// CodeWriter.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 - 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil;
+ using Mono.Cecil.Binary;
+ using Mono.Cecil.Metadata;
+ using Mono.Cecil.Signatures;
+
+ sealed class CodeWriter : BaseCodeVisitor {
+
+ ReflectionWriter m_reflectWriter;
+ MemoryBinaryWriter m_binaryWriter;
+ MemoryBinaryWriter m_codeWriter;
+
+ IDictionary m_localSigCache;
+ IDictionary m_standaloneSigCache;
+
+ IDictionary m_stackSizes;
+
+ bool stripped;
+
+ public bool Stripped {
+ get { return stripped; }
+ set { stripped = value; }
+ }
+
+ public CodeWriter (ReflectionWriter reflectWriter, MemoryBinaryWriter writer)
+ {
+ m_reflectWriter = reflectWriter;
+ m_binaryWriter = writer;
+ m_codeWriter = new MemoryBinaryWriter ();
+
+ m_localSigCache = new Hashtable ();
+ m_standaloneSigCache = new Hashtable ();
+
+ m_stackSizes = new Hashtable ();
+ }
+
+ public RVA WriteMethodBody (MethodDefinition meth)
+ {
+ if (meth.Body == null)
+ return RVA.Zero;
+
+ RVA ret = m_reflectWriter.MetadataWriter.GetDataCursor ();
+ meth.Body.Accept (this);
+ return ret;
+ }
+
+ public override void VisitMethodBody (MethodBody body)
+ {
+ m_codeWriter.Empty ();
+ }
+
+ void WriteToken (MetadataToken token)
+ {
+ if (token.RID == 0)
+ m_codeWriter.Write (0);
+ else
+ m_codeWriter.Write (token.ToUInt ());
+ }
+
+ static int GetParameterIndex (MethodBody body, ParameterDefinition p)
+ {
+ int idx = body.Method.Parameters.IndexOf (p);
+ if (idx == -1 && p == body.Method.This)
+ return 0;
+ if (body.Method.HasThis)
+ idx++;
+
+ return idx;
+ }
+
+ public override void VisitInstructionCollection (InstructionCollection instructions)
+ {
+ MethodBody body = instructions.Container;
+ long start = m_codeWriter.BaseStream.Position;
+
+ ComputeMaxStack (instructions);
+
+ foreach (Instruction instr in instructions) {
+
+ instr.Offset = (int) (m_codeWriter.BaseStream.Position - start);
+
+ if (instr.OpCode.Size == 1)
+ m_codeWriter.Write (instr.OpCode.Op2);
+ else {
+ m_codeWriter.Write (instr.OpCode.Op1);
+ m_codeWriter.Write (instr.OpCode.Op2);
+ }
+
+ if (instr.OpCode.OperandType != OperandType.InlineNone &&
+ instr.Operand == null)
+ throw new ReflectionException ("OpCode {0} have null operand", instr.OpCode.Name);
+
+ switch (instr.OpCode.OperandType) {
+ case OperandType.InlineNone :
+ break;
+ case OperandType.InlineSwitch :
+ Instruction [] targets = (Instruction []) instr.Operand;
+ for (int i = 0; i < targets.Length + 1; i++)
+ m_codeWriter.Write ((uint) 0);
+ break;
+ case OperandType.ShortInlineBrTarget :
+ m_codeWriter.Write ((byte) 0);
+ break;
+ case OperandType.InlineBrTarget :
+ m_codeWriter.Write (0);
+ break;
+ case OperandType.ShortInlineI :
+ if (instr.OpCode == OpCodes.Ldc_I4_S)
+ m_codeWriter.Write ((sbyte) instr.Operand);
+ else
+ m_codeWriter.Write ((byte) instr.Operand);
+ break;
+ case OperandType.ShortInlineVar :
+ m_codeWriter.Write ((byte) body.Variables.IndexOf (
+ (VariableDefinition) instr.Operand));
+ break;
+ case OperandType.ShortInlineParam :
+ m_codeWriter.Write ((byte) GetParameterIndex (body, (ParameterDefinition) instr.Operand));
+ break;
+ case OperandType.InlineSig :
+ WriteToken (GetCallSiteToken ((CallSite) instr.Operand));
+ break;
+ case OperandType.InlineI :
+ m_codeWriter.Write ((int) instr.Operand);
+ break;
+ case OperandType.InlineVar :
+ m_codeWriter.Write ((short) body.Variables.IndexOf (
+ (VariableDefinition) instr.Operand));
+ break;
+ case OperandType.InlineParam :
+ m_codeWriter.Write ((short) GetParameterIndex (
+ body, (ParameterDefinition) instr.Operand));
+ break;
+ case OperandType.InlineI8 :
+ m_codeWriter.Write ((long) instr.Operand);
+ break;
+ case OperandType.ShortInlineR :
+ m_codeWriter.Write ((float) instr.Operand);
+ break;
+ case OperandType.InlineR :
+ m_codeWriter.Write ((double) instr.Operand);
+ break;
+ case OperandType.InlineString :
+ WriteToken (new MetadataToken (TokenType.String,
+ m_reflectWriter.MetadataWriter.AddUserString (instr.Operand as string)));
+ break;
+ case OperandType.InlineField :
+ case OperandType.InlineMethod :
+ case OperandType.InlineType :
+ case OperandType.InlineTok :
+ if (instr.Operand is TypeReference)
+ WriteToken (GetTypeToken ((TypeReference) instr.Operand));
+ else if (instr.Operand is GenericInstanceMethod)
+ WriteToken (m_reflectWriter.GetMethodSpecToken (instr.Operand as GenericInstanceMethod));
+ else if (instr.Operand is MemberReference)
+ WriteToken (m_reflectWriter.GetMemberRefToken ((MemberReference) instr.Operand));
+ else if (instr.Operand is IMetadataTokenProvider)
+ WriteToken (((IMetadataTokenProvider) instr.Operand).MetadataToken);
+ else
+ throw new ReflectionException (
+ string.Format ("Wrong operand for {0} OpCode: {1}",
+ instr.OpCode.OperandType,
+ instr.Operand.GetType ().FullName));
+ break;
+ }
+ }
+
+ // patch branches
+ long pos = m_codeWriter.BaseStream.Position;
+
+ foreach (Instruction instr in instructions) {
+ switch (instr.OpCode.OperandType) {
+ case OperandType.InlineSwitch :
+ m_codeWriter.BaseStream.Position = instr.Offset + instr.OpCode.Size;
+ Instruction [] targets = (Instruction []) instr.Operand;
+ m_codeWriter.Write ((uint) targets.Length);
+ foreach (Instruction tgt in targets)
+ m_codeWriter.Write ((tgt.Offset - (instr.Offset +
+ instr.OpCode.Size + (4 * (targets.Length + 1)))));
+ break;
+ case OperandType.ShortInlineBrTarget :
+ m_codeWriter.BaseStream.Position = instr.Offset + instr.OpCode.Size;
+ m_codeWriter.Write ((byte) (((Instruction) instr.Operand).Offset -
+ (instr.Offset + instr.OpCode.Size + 1)));
+ break;
+ case OperandType.InlineBrTarget :
+ m_codeWriter.BaseStream.Position = instr.Offset + instr.OpCode.Size;
+ m_codeWriter.Write(((Instruction) instr.Operand).Offset -
+ (instr.Offset + instr.OpCode.Size + 4));
+ break;
+ }
+ }
+
+ m_codeWriter.BaseStream.Position = pos;
+ }
+
+ MetadataToken GetTypeToken (TypeReference type)
+ {
+ return m_reflectWriter.GetTypeDefOrRefToken (type);
+ }
+
+ MetadataToken GetCallSiteToken (CallSite cs)
+ {
+ uint sig;
+ int sentinel = cs.GetSentinel ();
+ if (sentinel > 0)
+ sig = m_reflectWriter.SignatureWriter.AddMethodDefSig (
+ m_reflectWriter.GetMethodDefSig (cs));
+ else
+ sig = m_reflectWriter.SignatureWriter.AddMethodRefSig (
+ m_reflectWriter.GetMethodRefSig (cs));
+
+ if (m_standaloneSigCache.Contains (sig))
+ return (MetadataToken) m_standaloneSigCache [sig];
+
+ StandAloneSigTable sasTable = m_reflectWriter.MetadataTableWriter.GetStandAloneSigTable ();
+ StandAloneSigRow sasRow = m_reflectWriter.MetadataRowWriter.CreateStandAloneSigRow (sig);
+
+ sasTable.Rows.Add(sasRow);
+
+ MetadataToken token = new MetadataToken (TokenType.Signature, (uint) sasTable.Rows.Count);
+ m_standaloneSigCache [sig] = token;
+ return token;
+ }
+
+ static int GetLength (Instruction start, Instruction end, InstructionCollection instructions)
+ {
+ Instruction last = instructions [instructions.Count - 1];
+ return (end == instructions.Outside ? last.Offset + last.GetSize () : end.Offset) - start.Offset;
+ }
+
+ static bool IsRangeFat (Instruction start, Instruction end, InstructionCollection instructions)
+ {
+ return GetLength (start, end, instructions) >= 256 ||
+ start.Offset >= 65536;
+ }
+
+ static bool IsFat (ExceptionHandlerCollection seh)
+ {
+ for (int i = 0; i < seh.Count; i++) {
+ ExceptionHandler eh = seh [i];
+ if (IsRangeFat (eh.TryStart, eh.TryEnd, seh.Container.Instructions))
+ return true;
+
+ if (IsRangeFat (eh.HandlerStart, eh.HandlerEnd, seh.Container.Instructions))
+ return true;
+
+ switch (eh.Type) {
+ case ExceptionHandlerType.Filter :
+ if (IsRangeFat (eh.FilterStart, eh.FilterEnd, seh.Container.Instructions))
+ return true;
+ break;
+ }
+ }
+
+ return false;
+ }
+
+ void WriteExceptionHandlerCollection (ExceptionHandlerCollection seh)
+ {
+ m_codeWriter.QuadAlign ();
+
+ if (seh.Count < 0x15 && !IsFat (seh)) {
+ m_codeWriter.Write ((byte) MethodDataSection.EHTable);
+ m_codeWriter.Write ((byte) (seh.Count * 12 + 4));
+ m_codeWriter.Write (new byte [2]);
+ foreach (ExceptionHandler eh in seh) {
+ m_codeWriter.Write ((ushort) eh.Type);
+ m_codeWriter.Write ((ushort) eh.TryStart.Offset);
+ m_codeWriter.Write ((byte) (eh.TryEnd.Offset - eh.TryStart.Offset));
+ m_codeWriter.Write ((ushort) eh.HandlerStart.Offset);
+ m_codeWriter.Write ((byte) GetLength (eh.HandlerStart, eh.HandlerEnd, seh.Container.Instructions));
+ WriteHandlerSpecific (eh);
+ }
+ } else {
+ m_codeWriter.Write ((byte) (MethodDataSection.FatFormat | MethodDataSection.EHTable));
+ WriteFatBlockSize (seh);
+ foreach (ExceptionHandler eh in seh) {
+ m_codeWriter.Write ((uint) eh.Type);
+ m_codeWriter.Write ((uint) eh.TryStart.Offset);
+ m_codeWriter.Write ((uint) (eh.TryEnd.Offset - eh.TryStart.Offset));
+ m_codeWriter.Write ((uint) eh.HandlerStart.Offset);
+ m_codeWriter.Write ((uint) GetLength (eh.HandlerStart, eh.HandlerEnd, seh.Container.Instructions));
+ WriteHandlerSpecific (eh);
+ }
+ }
+ }
+
+ void WriteFatBlockSize (ExceptionHandlerCollection seh)
+ {
+ int size = seh.Count * 24 + 4;
+ m_codeWriter.Write ((byte) (size & 0xff));
+ m_codeWriter.Write ((byte) ((size >> 8) & 0xff));
+ m_codeWriter.Write ((byte) ((size >> 16) & 0xff));
+ }
+
+ void WriteHandlerSpecific (ExceptionHandler eh)
+ {
+ switch (eh.Type) {
+ case ExceptionHandlerType.Catch :
+ WriteToken (GetTypeToken (eh.CatchType));
+ break;
+ case ExceptionHandlerType.Filter :
+ m_codeWriter.Write ((uint) eh.FilterStart.Offset);
+ break;
+ default :
+ m_codeWriter.Write (0);
+ break;
+ }
+ }
+
+ public override void VisitVariableDefinitionCollection (VariableDefinitionCollection variables)
+ {
+ MethodBody body = variables.Container as MethodBody;
+ if (body == null || stripped)
+ return;
+
+ uint sig = m_reflectWriter.SignatureWriter.AddLocalVarSig (
+ GetLocalVarSig (variables));
+
+ if (m_localSigCache.Contains (sig)) {
+ body.LocalVarToken = (int) m_localSigCache [sig];
+ return;
+ }
+
+ StandAloneSigTable sasTable = m_reflectWriter.MetadataTableWriter.GetStandAloneSigTable ();
+ StandAloneSigRow sasRow = m_reflectWriter.MetadataRowWriter.CreateStandAloneSigRow (
+ sig);
+
+ sasTable.Rows.Add (sasRow);
+ body.LocalVarToken = sasTable.Rows.Count;
+ m_localSigCache [sig] = body.LocalVarToken;
+ }
+
+ public override void TerminateMethodBody (MethodBody body)
+ {
+ long pos = m_binaryWriter.BaseStream.Position;
+
+ if (body.HasVariables || body.HasExceptionHandlers
+ || m_codeWriter.BaseStream.Length >= 64 || body.MaxStack > 8) {
+
+ MethodHeader header = MethodHeader.FatFormat;
+ if (body.InitLocals)
+ header |= MethodHeader.InitLocals;
+ if (body.HasExceptionHandlers)
+ header |= MethodHeader.MoreSects;
+
+ m_binaryWriter.Write ((byte) header);
+ m_binaryWriter.Write ((byte) 0x30); // (header size / 4) << 4
+ m_binaryWriter.Write ((short) body.MaxStack);
+ m_binaryWriter.Write ((int) m_codeWriter.BaseStream.Length);
+ // the token should be zero if there are no variables
+ int token = body.HasVariables ? ((int) TokenType.Signature | body.LocalVarToken) : 0;
+ m_binaryWriter.Write (token);
+
+ if (body.HasExceptionHandlers)
+ WriteExceptionHandlerCollection (body.ExceptionHandlers);
+ } else
+ m_binaryWriter.Write ((byte) ((byte) MethodHeader.TinyFormat |
+ m_codeWriter.BaseStream.Length << 2));
+
+ m_binaryWriter.Write (m_codeWriter);
+ m_binaryWriter.QuadAlign ();
+
+ m_reflectWriter.MetadataWriter.AddData (
+ (int) (m_binaryWriter.BaseStream.Position - pos));
+ }
+
+ public LocalVarSig.LocalVariable GetLocalVariableSig (VariableDefinition var)
+ {
+ LocalVarSig.LocalVariable lv = new LocalVarSig.LocalVariable ();
+ TypeReference type = var.VariableType;
+
+ lv.CustomMods = m_reflectWriter.GetCustomMods (type);
+
+ if (type is PinnedType) {
+ lv.Constraint |= Constraint.Pinned;
+ type = (type as PinnedType).ElementType;
+ }
+
+ if (type is ReferenceType) {
+ lv.ByRef = true;
+ type = (type as ReferenceType).ElementType;
+ }
+
+ lv.Type = m_reflectWriter.GetSigType (type);
+
+ return lv;
+ }
+
+ public LocalVarSig GetLocalVarSig (VariableDefinitionCollection vars)
+ {
+ LocalVarSig lvs = new LocalVarSig ();
+ lvs.CallingConvention |= 0x7;
+ lvs.Count = vars.Count;
+ lvs.LocalVariables = new LocalVarSig.LocalVariable [lvs.Count];
+ for (int i = 0; i < lvs.Count; i++) {
+ lvs.LocalVariables [i] = GetLocalVariableSig (vars [i]);
+ }
+
+ return lvs;
+ }
+
+ void ComputeMaxStack (InstructionCollection instructions)
+ {
+ int current = 0;
+ int max = 0;
+ m_stackSizes.Clear ();
+
+ foreach (ExceptionHandler eh in instructions.Container.ExceptionHandlers) {
+ switch (eh.Type) {
+ case ExceptionHandlerType.Catch :
+ case ExceptionHandlerType.Filter :
+ m_stackSizes [eh.HandlerStart] = 1;
+ max = 1;
+ break;
+ }
+ }
+
+ foreach (Instruction instr in instructions) {
+
+ object savedSize = m_stackSizes [instr];
+ if (savedSize != null)
+ current = (int) savedSize;
+
+ current -= GetPopDelta (instructions.Container.Method, instr, current);
+
+ if (current < 0)
+ current = 0;
+
+ current += GetPushDelta (instr);
+
+ if (current > max)
+ max = current;
+
+ // for forward branches, copy the stack size for the instruction that is being branched to
+ switch (instr.OpCode.OperandType) {
+ case OperandType.InlineBrTarget:
+ case OperandType.ShortInlineBrTarget:
+ m_stackSizes [instr.Operand] = current;
+ break;
+ case OperandType.InlineSwitch:
+ foreach (Instruction target in (Instruction []) instr.Operand)
+ m_stackSizes [target] = current;
+ break;
+ }
+
+ switch (instr.OpCode.FlowControl) {
+ case FlowControl.Branch:
+ case FlowControl.Throw:
+ case FlowControl.Return:
+ // next statement is not reachable from this statement, so reset the stack depth to 0
+ current = 0;
+ break;
+ }
+ }
+
+ instructions.Container.MaxStack = max + 1; // you never know
+ }
+
+ static int GetPushDelta (Instruction instruction)
+ {
+ OpCode code = instruction.OpCode;
+ switch (code.StackBehaviourPush) {
+ case StackBehaviour.Push0:
+ return 0;
+
+ case StackBehaviour.Push1:
+ case StackBehaviour.Pushi:
+ case StackBehaviour.Pushi8:
+ case StackBehaviour.Pushr4:
+ case StackBehaviour.Pushr8:
+ case StackBehaviour.Pushref:
+ return 1;
+
+ case StackBehaviour.Push1_push1:
+ return 2;
+
+ case StackBehaviour.Varpush:
+ if (code.FlowControl != FlowControl.Call)
+ break;
+
+ IMethodSignature method = (IMethodSignature) instruction.Operand;
+ return IsVoid (method.ReturnType.ReturnType) ? 0 : 1;
+ }
+
+ throw new NotSupportedException ();
+ }
+
+ static int GetPopDelta (MethodDefinition current, Instruction instruction, int height)
+ {
+ OpCode code = instruction.OpCode;
+ switch (code.StackBehaviourPop) {
+ case StackBehaviour.Pop0:
+ return 0;
+ case StackBehaviour.Popi:
+ case StackBehaviour.Popref:
+ case StackBehaviour.Pop1:
+ return 1;
+
+ case StackBehaviour.Pop1_pop1:
+ case StackBehaviour.Popi_pop1:
+ case StackBehaviour.Popi_popi:
+ case StackBehaviour.Popi_popi8:
+ case StackBehaviour.Popi_popr4:
+ case StackBehaviour.Popi_popr8:
+ case StackBehaviour.Popref_pop1:
+ case StackBehaviour.Popref_popi:
+ return 2;
+
+ case StackBehaviour.Popi_popi_popi:
+ case StackBehaviour.Popref_popi_popi:
+ case StackBehaviour.Popref_popi_popi8:
+ case StackBehaviour.Popref_popi_popr4:
+ case StackBehaviour.Popref_popi_popr8:
+ case StackBehaviour.Popref_popi_popref:
+ return 3;
+
+ case StackBehaviour.PopAll:
+ return height;
+
+ case StackBehaviour.Varpop:
+ if (code == OpCodes.Ret)
+ return IsVoid (current.ReturnType.ReturnType) ? 0 : 1;
+
+ if (code.FlowControl != FlowControl.Call)
+ break;
+
+ IMethodSignature method = (IMethodSignature) instruction.Operand;
+ int count = method.HasParameters ? method.Parameters.Count : 0;
+ if (method.HasThis && code != OpCodes.Newobj)
+ ++count;
+
+ return count;
+ }
+
+ throw new NotSupportedException ();
+ }
+
+ static bool IsVoid (TypeReference type)
+ {
+ return type.FullName == Constants.Void;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/Document.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/Document.cs
new file mode 100644
index 00000000000..bdb107c78bc
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/Document.cs
@@ -0,0 +1,80 @@
+//
+// Document.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ using System;
+
+ internal class Document {
+
+ string m_url;
+
+ Guid m_type;
+ DocumentHashAlgorithm m_hashAlgorithm;
+ Guid m_language;
+ Guid m_languageVendor;
+
+ byte [] m_hash;
+
+ public string Url {
+ get { return m_url; }
+ set { m_url = value; }
+ }
+
+ public Guid Type {
+ get { return m_type; }
+ set { m_type = value; }
+ }
+
+ public DocumentHashAlgorithm HashAlgorithm {
+ get { return m_hashAlgorithm; }
+ set { m_hashAlgorithm = value; }
+ }
+
+ public Guid Language {
+ get { return m_language; }
+ set { m_language = value; }
+ }
+
+ public Guid LanguageVendor {
+ get { return m_languageVendor; }
+ set { m_languageVendor = value; }
+ }
+
+ public byte [] Hash {
+ get { return m_hash; }
+ set { m_hash = value; }
+ }
+
+ public Document (string url)
+ {
+ m_url = url;
+ m_hash = new byte [0];
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/DocumentHashAlgorithm.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/DocumentHashAlgorithm.cs
new file mode 100644
index 00000000000..be6548ad93f
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/DocumentHashAlgorithm.cs
@@ -0,0 +1,36 @@
+//
+// DocumentHashAlgorithm.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal enum DocumentHashAlgorithm {
+ [Guid (0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)] None,
+ [Guid (0x406ea660, 0x64cf, 0x4c82, 0xb6, 0xf0, 0x42, 0xd4, 0x81, 0x72, 0xa7, 0x99)] MD5,
+ [Guid (0xff1816ec, 0xaa5e, 0x4d10, 0x87, 0xf7, 0x6f, 0x49, 0x63, 0x83, 0x34, 0x60)] SHA1
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/DocumentLanguage.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/DocumentLanguage.cs
new file mode 100644
index 00000000000..37b6eceb59a
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/DocumentLanguage.cs
@@ -0,0 +1,62 @@
+//
+// DocumentLanguage.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ using System;
+
+ internal abstract class DocumentLanguage {
+#if CF_2_0
+ public static readonly Guid None = new Guid ("00000000-0000-0000-0000-000000000000");
+ public static readonly Guid C = new Guid ("63a08714-fc37-11d2-904c-00c04fa302a1");
+ public static readonly Guid Cpp = new Guid ("3a12d0b7-c26c-11d0-b442-00a0244a1dd2");
+ public static readonly Guid CSharp = new Guid ("3f5162f8-07c6-11d3-9053-00c04fa302a1");
+ public static readonly Guid Basic = new Guid ("3a12d0b8-c26c-11d0-b442-00a0244a1dd2");
+ public static readonly Guid Java = new Guid ("3a12d0b4-c26c-11d0-b442-00a0244a1dd2");
+ public static readonly Guid Cobol = new Guid ("af046cd1-d0e1-11d2-977c-00a0c9b4d50c");
+ public static readonly Guid Pascal = new Guid ("af046cd2-d0e1-11d2-977c-00a0c9b4d50c");
+ public static readonly Guid CIL = new Guid ("af046cd3-d0e1-11d2-977c-00a0c9b4d50c");
+ public static readonly Guid JScript = new Guid ("3a12d0b6-c26c-11d0-b442-00a0244a1dd2");
+ public static readonly Guid SMC = new Guid ("0d9b9f7b-6611-11d3-bd2a-0000f80849bd");
+ public static readonly Guid MCpp = new Guid ("4b35fde8-07c6-11d3-9053-00c04fa302a1");
+#else
+ public static readonly Guid None = new Guid (0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x0, 0x00, 0x00, 0x00, 0x00, 0x00);
+ public static readonly Guid C = new Guid (0x63a08714, 0xfc37, 0x11d2, 0x90, 0x4c, 0x0, 0xc0, 0x4f, 0xa3, 0x02, 0xa1);
+ public static readonly Guid Cpp = new Guid (0x3a12d0b7, 0xc26c, 0x11d0, 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2);
+ public static readonly Guid CSharp = new Guid (0x3f5162f8, 0x07c6, 0x11d3, 0x90, 0x53, 0x0, 0xc0, 0x4f, 0xa3, 0x02, 0xa1);
+ public static readonly Guid Basic = new Guid (0x3a12d0b8, 0xc26c, 0x11d0, 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2);
+ public static readonly Guid Java = new Guid (0x3a12d0b4, 0xc26c, 0x11d0, 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2);
+ public static readonly Guid Cobol = new Guid (0xaf046cd1, 0xd0e1, 0x11d2, 0x97, 0x7c, 0x0, 0xa0, 0xc9, 0xb4, 0xd5, 0xc);
+ public static readonly Guid Pascal = new Guid (0xaf046cd2, 0xd0e1, 0x11d2, 0x97, 0x7c, 0x0, 0xa0, 0xc9, 0xb4, 0xd5, 0xc);
+ public static readonly Guid CIL = new Guid (0xaf046cd3, 0xd0e1, 0x11d2, 0x97, 0x7c, 0x0, 0xa0, 0xc9, 0xb4, 0xd5, 0xc);
+ public static readonly Guid JScript = new Guid (0x3a12d0b6, 0xc26c, 0x11d0, 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2);
+ public static readonly Guid SMC = new Guid (0xd9b9f7b, 0x6611, 0x11d3, 0xbd, 0x2a, 0x0, 0x0, 0xf8, 0x8, 0x49, 0xbd);
+ public static readonly Guid MCpp = new Guid (0x4b35fde8, 0x07c6, 0x11d3, 0x90, 0x53, 0x0, 0xc0, 0x4f, 0xa3, 0x02, 0xa1);
+#endif
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/DocumentLanguageVendor.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/DocumentLanguageVendor.cs
new file mode 100644
index 00000000000..e4bb6d09fa3
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/DocumentLanguageVendor.cs
@@ -0,0 +1,42 @@
+//
+// DocumentLanguageVendor.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ using System;
+
+ internal abstract class DocumentLanguageVendor {
+#if CF_2_0
+ public static readonly Guid Other = new Guid ("00000000-0000-0000-0000-000000000000");
+ public static readonly Guid Microsoft = new Guid ("994b45c4-e6e9-11d2-903f-00c04fa302a1");
+#else
+ public static readonly Guid Other = new Guid (0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
+ public static readonly Guid Microsoft = new Guid (0x994b45c4, 0xe6e9, 0x11d2, 0x90, 0x3f, 0x00, 0xc0, 0x4f, 0xa3, 0x02, 0xa1);
+#endif
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/DocumentType.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/DocumentType.cs
new file mode 100644
index 00000000000..b66605ed654
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/DocumentType.cs
@@ -0,0 +1,38 @@
+//
+// DocumentType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ using System;
+
+ internal abstract class DocumentType {
+
+ public static readonly Guid Other = new Guid (0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
+ public static readonly Guid Text = new Guid (0x5a869d0b, 0x6611, 0x11d3, 0xbd, 0x2a, 0x00, 0x00, 0xf8, 0x08, 0x49, 0xbd);
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/ExceptionHandler.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/ExceptionHandler.cs
new file mode 100644
index 00000000000..8a861201d38
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/ExceptionHandler.cs
@@ -0,0 +1,95 @@
+//
+// ExceptionHandler.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ using Mono.Cecil;
+
+ internal sealed class ExceptionHandler : ICodeVisitable {
+
+ Instruction m_tryStart;
+ Instruction m_tryEnd;
+ Instruction m_filterStart;
+ Instruction m_filterEnd;
+ Instruction m_handlerStart;
+ Instruction m_handlerEnd;
+
+ TypeReference m_catchType;
+ ExceptionHandlerType m_type;
+
+ public Instruction TryStart {
+ get { return m_tryStart; }
+ set { m_tryStart = value; }
+ }
+
+ public Instruction TryEnd {
+ get { return m_tryEnd; }
+ set { m_tryEnd = value; }
+ }
+
+ public Instruction FilterStart {
+ get { return m_filterStart; }
+ set { m_filterStart = value; }
+ }
+
+ public Instruction FilterEnd {
+ get { return m_filterEnd; }
+ set { m_filterEnd = value; }
+ }
+
+ public Instruction HandlerStart {
+ get { return m_handlerStart; }
+ set { m_handlerStart = value; }
+ }
+
+ public Instruction HandlerEnd {
+ get { return m_handlerEnd; }
+ set { m_handlerEnd = value; }
+ }
+
+ public TypeReference CatchType {
+ get { return m_catchType; }
+ set { m_catchType = value; }
+ }
+
+ public ExceptionHandlerType Type {
+ get { return m_type; }
+ set { m_type = value; }
+ }
+
+ public ExceptionHandler (ExceptionHandlerType type)
+ {
+ m_type = type;
+ }
+
+ public void Accept (ICodeVisitor visitor)
+ {
+ visitor.VisitExceptionHandler (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/ExceptionHandlerCollection.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/ExceptionHandlerCollection.cs
new file mode 100644
index 00000000000..8897cbd1a84
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/ExceptionHandlerCollection.cs
@@ -0,0 +1,93 @@
+//
+// ExceptionHandlerCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Wed Sep 27 12:46:53 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class ExceptionHandlerCollection : CollectionBase, ICodeVisitable {
+
+ MethodBody m_container;
+
+ public ExceptionHandler this [int index] {
+ get { return List [index] as ExceptionHandler; }
+ set { List [index] = value; }
+ }
+
+ public MethodBody Container {
+ get { return m_container; }
+ }
+
+ public ExceptionHandlerCollection (MethodBody container)
+ {
+ m_container = container;
+ }
+
+ public void Add (ExceptionHandler value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (ExceptionHandler value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (ExceptionHandler value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, ExceptionHandler value)
+ {
+ List.Insert (index, value);
+ }
+
+ public void Remove (ExceptionHandler value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is ExceptionHandler))
+ throw new ArgumentException ("Must be of type " + typeof (ExceptionHandler).FullName);
+ }
+
+ public void Accept (ICodeVisitor visitor)
+ {
+ visitor.VisitExceptionHandlerCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/ExceptionHandlerType.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/ExceptionHandlerType.cs
new file mode 100644
index 00000000000..a2008ebe547
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/ExceptionHandlerType.cs
@@ -0,0 +1,37 @@
+//
+// ExceptionHandlerType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal enum ExceptionHandlerType {
+ Catch = 0x0000,
+ Filter = 0x0001,
+ Finally = 0x0002,
+ Fault = 0x0004
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/FlowControl.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/FlowControl.cs
new file mode 100644
index 00000000000..71789bccee3
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/FlowControl.cs
@@ -0,0 +1,42 @@
+//
+// FlowControl.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal enum FlowControl {
+ Branch,
+ Break,
+ Call,
+ Cond_Branch,
+ Meta,
+ Next,
+ Phi,
+ Return,
+ Throw
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/GuidAttribute.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/GuidAttribute.cs
new file mode 100644
index 00000000000..fc6a8ef1ba0
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/GuidAttribute.cs
@@ -0,0 +1,91 @@
+//
+// GuidAttribute.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ using System;
+ using System.Reflection;
+
+ [AttributeUsage (AttributeTargets.Field)]
+ internal sealed class GuidAttribute : Attribute {
+
+ private Guid m_guid;
+
+ public Guid Guid {
+ get { return m_guid; }
+ }
+
+ GuidAttribute ()
+ {
+ m_guid = new Guid ();
+ }
+
+ public GuidAttribute (
+ uint a,
+ ushort b,
+ ushort c,
+ byte d,
+ byte e,
+ byte f,
+ byte g,
+ byte h,
+ byte i,
+ byte j,
+ byte k)
+ {
+ m_guid = new Guid ((int) a, (short) b, (short) c, d, e, f, g, h, i, j, k);
+ }
+
+ public static int GetValueFromGuid (Guid id, Type enumeration)
+ {
+ foreach (FieldInfo fi in enumeration.GetFields (BindingFlags.Static | BindingFlags.Public))
+ if (id == GetGuidAttribute (fi).Guid)
+ return (int) fi.GetValue (null);
+
+ return -1;
+ }
+
+ public static Guid GetGuidFromValue (int value, Type enumeration)
+ {
+ foreach (FieldInfo fi in enumeration.GetFields (BindingFlags.Static | BindingFlags.Public))
+ if (value == (int) fi.GetValue (null))
+ return GetGuidAttribute (fi).Guid;
+
+ return new Guid ();
+ }
+
+ static GuidAttribute GetGuidAttribute (FieldInfo fi)
+ {
+ GuidAttribute [] attributes = fi.GetCustomAttributes (typeof (GuidAttribute), false) as GuidAttribute [];
+ if (attributes == null || attributes.Length != 1)
+ return new GuidAttribute ();
+
+ return attributes [0];
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/ICodeVisitable.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/ICodeVisitable.cs
new file mode 100644
index 00000000000..964bb42a34b
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/ICodeVisitable.cs
@@ -0,0 +1,34 @@
+//
+// ICodeVisitable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal interface ICodeVisitable {
+ void Accept (ICodeVisitor visitor);
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/ICodeVisitor.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/ICodeVisitor.cs
new file mode 100644
index 00000000000..1ce20a49f36
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/ICodeVisitor.cs
@@ -0,0 +1,45 @@
+//
+// ICodeVisitor.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal interface ICodeVisitor {
+
+ void VisitMethodBody (MethodBody body);
+ void VisitInstructionCollection (InstructionCollection instructions);
+ void VisitInstruction (Instruction instr);
+ void VisitExceptionHandlerCollection (ExceptionHandlerCollection seh);
+ void VisitExceptionHandler (ExceptionHandler eh);
+ void VisitVariableDefinitionCollection (VariableDefinitionCollection variables);
+ void VisitVariableDefinition (VariableDefinition var);
+ void VisitScopeCollection (ScopeCollection scopes);
+ void VisitScope (Scope scope);
+
+ void TerminateMethodBody (MethodBody body);
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/IScopeProvider.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/IScopeProvider.cs
new file mode 100644
index 00000000000..e246f84df16
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/IScopeProvider.cs
@@ -0,0 +1,35 @@
+//
+// Document.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal interface IScopeProvider {
+
+ ScopeCollection Scopes { get; }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/ISymbolReader.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/ISymbolReader.cs
new file mode 100644
index 00000000000..2050a3c3742
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/ISymbolReader.cs
@@ -0,0 +1,38 @@
+//
+// ISymbolReader.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections;
+
+namespace Mono.Cecil.Cil {
+
+ internal interface ISymbolReader : IDisposable {
+
+ void Read (MethodBody body, IDictionary instructions);
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/ISymbolStoreFactory.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/ISymbolStoreFactory.cs
new file mode 100644
index 00000000000..5d64c1622b8
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/ISymbolStoreFactory.cs
@@ -0,0 +1,36 @@
+//
+// ISymbolStoreFactory.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal interface ISymbolStoreFactory {
+
+ ISymbolReader CreateReader (ModuleDefinition module, string assemblyFileName);
+ ISymbolWriter CreateWriter (ModuleDefinition module, string assemblyFileName);
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/ISymbolWriter.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/ISymbolWriter.cs
new file mode 100644
index 00000000000..615c54ae1d9
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/ISymbolWriter.cs
@@ -0,0 +1,37 @@
+//
+// ISymbolWriter.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 - 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ using System;
+
+ internal interface ISymbolWriter : IDisposable {
+
+ void Write (MethodBody body);
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/IVariableDefinitionProvider.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/IVariableDefinitionProvider.cs
new file mode 100644
index 00000000000..147c099a7e0
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/IVariableDefinitionProvider.cs
@@ -0,0 +1,35 @@
+//
+// IVariableDefinitionProvider.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal interface IVariableDefinitionProvider {
+
+ VariableDefinitionCollection Variables { get; }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/Instruction.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/Instruction.cs
new file mode 100644
index 00000000000..f4f92ea17b5
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/Instruction.cs
@@ -0,0 +1,133 @@
+//
+// Instruction.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal sealed class Instruction : ICodeVisitable {
+
+ int m_offset;
+ OpCode m_opCode;
+ object m_operand;
+
+ Instruction m_previous;
+ Instruction m_next;
+
+ SequencePoint m_sequencePoint;
+
+ public int Offset {
+ get { return m_offset; }
+ set { m_offset = value; }
+ }
+
+ public OpCode OpCode {
+ get { return m_opCode; }
+ set { m_opCode = value; }
+ }
+
+ public object Operand {
+ get { return m_operand; }
+ set { m_operand = value; }
+ }
+
+ public Instruction Previous {
+ get { return m_previous; }
+ set { m_previous = value; }
+ }
+
+ public Instruction Next {
+ get { return m_next; }
+ set { m_next = value; }
+ }
+
+ public SequencePoint SequencePoint {
+ get { return m_sequencePoint; }
+ set { m_sequencePoint = value; }
+ }
+
+ internal Instruction (int offset, OpCode opCode, object operand) : this (offset, opCode)
+ {
+ m_operand = operand;
+ }
+
+ internal Instruction (int offset, OpCode opCode)
+ {
+ m_offset = offset;
+ m_opCode = opCode;
+ }
+
+ internal Instruction (OpCode opCode, object operand) : this (0, opCode, operand)
+ {
+ }
+
+ internal Instruction (OpCode opCode) : this (0, opCode)
+ {
+ }
+
+ public int GetSize ()
+ {
+ int size = m_opCode.Size;
+
+ switch (m_opCode.OperandType) {
+ case OperandType.InlineSwitch:
+ size += (1 + ((Instruction []) m_operand).Length) * 4;
+ break;
+ case OperandType.InlineI8:
+ case OperandType.InlineR:
+ size += 8;
+ break;
+ case OperandType.InlineBrTarget:
+ case OperandType.InlineField:
+ case OperandType.InlineI:
+ case OperandType.InlineMethod:
+ case OperandType.InlineString:
+ case OperandType.InlineTok:
+ case OperandType.InlineType:
+ case OperandType.ShortInlineR:
+ size += 4;
+ break;
+ case OperandType.InlineParam:
+ case OperandType.InlineVar:
+ size += 2;
+ break;
+ case OperandType.ShortInlineBrTarget:
+ case OperandType.ShortInlineI:
+ case OperandType.ShortInlineParam:
+ case OperandType.ShortInlineVar:
+ size += 1;
+ break;
+ }
+
+ return size;
+ }
+
+ public void Accept (ICodeVisitor visitor)
+ {
+ visitor.VisitInstruction (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/InstructionCollection.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/InstructionCollection.cs
new file mode 100644
index 00000000000..1c6e60f220d
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/InstructionCollection.cs
@@ -0,0 +1,94 @@
+//
+// InstructionCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Thu Sep 28 17:54:43 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class InstructionCollection : CollectionBase, ICodeVisitable {
+
+ MethodBody m_container;
+ public readonly Instruction Outside = new Instruction (int.MaxValue, OpCodes.Nop);
+
+ public Instruction this [int index] {
+ get { return List [index] as Instruction; }
+ set { List [index] = value; }
+ }
+
+ public MethodBody Container {
+ get { return m_container; }
+ }
+
+ public InstructionCollection (MethodBody container)
+ {
+ m_container = container;
+ }
+
+ internal void Add (Instruction value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (Instruction value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (Instruction value)
+ {
+ return List.IndexOf (value);
+ }
+
+ internal void Insert (int index, Instruction value)
+ {
+ List.Insert (index, value);
+ }
+
+ internal void Remove (Instruction value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is Instruction))
+ throw new ArgumentException ("Must be of type " + typeof (Instruction).FullName);
+ }
+
+ public void Accept (ICodeVisitor visitor)
+ {
+ visitor.VisitInstructionCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/MethodBody.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/MethodBody.cs
new file mode 100644
index 00000000000..56e08b371aa
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/MethodBody.cs
@@ -0,0 +1,623 @@
+//
+// MethodBody.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ using Mono.Cecil;
+
+ internal sealed class MethodBody : IVariableDefinitionProvider, IScopeProvider, ICodeVisitable {
+
+ MethodDefinition m_method;
+ int m_maxStack;
+ int m_codeSize;
+ bool m_initLocals;
+ int m_localVarToken;
+
+ InstructionCollection m_instructions;
+ ExceptionHandlerCollection m_exceptions;
+ VariableDefinitionCollection m_variables;
+ ScopeCollection m_scopes;
+
+ private CilWorker m_cilWorker;
+
+ public MethodDefinition Method {
+ get { return m_method; }
+ }
+
+ public int MaxStack {
+ get { return m_maxStack; }
+ set { m_maxStack = value; }
+ }
+
+ public int CodeSize {
+ get { return m_codeSize; }
+ set { m_codeSize = value; }
+ }
+
+ public bool InitLocals {
+ get { return m_initLocals; }
+ set { m_initLocals = value; }
+ }
+
+ public int LocalVarToken {
+ get { return m_localVarToken; }
+ set { m_localVarToken = value; }
+ }
+
+ public CilWorker CilWorker {
+ get {
+ if (m_cilWorker == null)
+ m_cilWorker = new CilWorker (this);
+ return m_cilWorker;
+ }
+ set { m_cilWorker = value; }
+ }
+
+ public InstructionCollection Instructions {
+ get { return m_instructions; }
+ }
+
+ public bool HasExceptionHandlers {
+ get { return m_exceptions != null && m_exceptions.Count > 0; }
+ }
+
+ public ExceptionHandlerCollection ExceptionHandlers {
+ get {
+ if (m_exceptions == null)
+ m_exceptions = new ExceptionHandlerCollection (this);
+ return m_exceptions;
+ }
+ }
+
+ public bool HasVariables {
+ get { return m_variables != null && m_variables.Count > 0; }
+ }
+
+ public VariableDefinitionCollection Variables {
+ get {
+ if (m_variables == null)
+ m_variables = new VariableDefinitionCollection (this);
+ return m_variables;
+ }
+ }
+
+ public bool HasScopes {
+ get { return m_scopes != null && m_scopes.Count > 0; }
+ }
+
+ public ScopeCollection Scopes {
+ get {
+ if (m_scopes == null)
+ m_scopes = new ScopeCollection (this);
+ return m_scopes;
+ }
+ }
+
+ public MethodBody (MethodDefinition meth)
+ {
+ m_method = meth;
+ // there is always a RET instruction (if a body is present)
+ m_instructions = new InstructionCollection (this);
+ }
+
+ internal static Instruction GetInstruction (MethodBody oldBody, MethodBody newBody, Instruction i)
+ {
+ int pos = oldBody.Instructions.IndexOf (i);
+ if (pos > -1 && pos < newBody.Instructions.Count)
+ return newBody.Instructions [pos];
+
+ return newBody.Instructions.Outside;
+ }
+
+ internal static MethodBody Clone (MethodBody body, MethodDefinition parent, ImportContext context)
+ {
+ MethodBody nb = new MethodBody (parent);
+ nb.MaxStack = body.MaxStack;
+ nb.InitLocals = body.InitLocals;
+ nb.CodeSize = body.CodeSize;
+
+ CilWorker worker = nb.CilWorker;
+
+ if (body.HasVariables) {
+ foreach (VariableDefinition var in body.Variables)
+ nb.Variables.Add (new VariableDefinition (
+ var.Name, var.Index, parent,
+ context.Import (var.VariableType)));
+ }
+
+ foreach (Instruction instr in body.Instructions) {
+ Instruction ni = new Instruction (instr.OpCode);
+
+ switch (instr.OpCode.OperandType) {
+ case OperandType.InlineParam :
+ case OperandType.ShortInlineParam :
+ if (instr.Operand == body.Method.This)
+ ni.Operand = nb.Method.This;
+ else {
+ int param = body.Method.Parameters.IndexOf ((ParameterDefinition) instr.Operand);
+ ni.Operand = parent.Parameters [param];
+ }
+ break;
+ case OperandType.InlineVar :
+ case OperandType.ShortInlineVar :
+ int var = body.Variables.IndexOf ((VariableDefinition) instr.Operand);
+ ni.Operand = nb.Variables [var];
+ break;
+ case OperandType.InlineField :
+ ni.Operand = context.Import ((FieldReference) instr.Operand);
+ break;
+ case OperandType.InlineMethod :
+ ni.Operand = context.Import ((MethodReference) instr.Operand);
+ break;
+ case OperandType.InlineType :
+ ni.Operand = context.Import ((TypeReference) instr.Operand);
+ break;
+ case OperandType.InlineTok :
+ if (instr.Operand is TypeReference)
+ ni.Operand = context.Import ((TypeReference) instr.Operand);
+ else if (instr.Operand is FieldReference)
+ ni.Operand = context.Import ((FieldReference) instr.Operand);
+ else if (instr.Operand is MethodReference)
+ ni.Operand = context.Import ((MethodReference) instr.Operand);
+ break;
+ case OperandType.ShortInlineBrTarget :
+ case OperandType.InlineBrTarget :
+ case OperandType.InlineSwitch :
+ break;
+ default :
+ ni.Operand = instr.Operand;
+ break;
+ }
+
+ worker.Append (ni);
+ }
+
+ for (int i = 0; i < body.Instructions.Count; i++) {
+ Instruction instr = nb.Instructions [i];
+ Instruction oldi = body.Instructions [i];
+
+ if (instr.OpCode.OperandType == OperandType.InlineSwitch) {
+ Instruction [] olds = (Instruction []) oldi.Operand;
+ Instruction [] targets = new Instruction [olds.Length];
+
+ for (int j = 0; j < targets.Length; j++)
+ targets [j] = GetInstruction (body, nb, olds [j]);
+
+ instr.Operand = targets;
+ } else if (instr.OpCode.OperandType == OperandType.ShortInlineBrTarget || instr.OpCode.OperandType == OperandType.InlineBrTarget)
+ instr.Operand = GetInstruction (body, nb, (Instruction) oldi.Operand);
+ }
+
+ if (!body.HasExceptionHandlers)
+ return nb;
+
+ foreach (ExceptionHandler eh in body.ExceptionHandlers) {
+ ExceptionHandler neh = new ExceptionHandler (eh.Type);
+ neh.TryStart = GetInstruction (body, nb, eh.TryStart);
+ neh.TryEnd = GetInstruction (body, nb, eh.TryEnd);
+ neh.HandlerStart = GetInstruction (body, nb, eh.HandlerStart);
+ neh.HandlerEnd = GetInstruction (body, nb, eh.HandlerEnd);
+
+ switch (eh.Type) {
+ case ExceptionHandlerType.Catch :
+ neh.CatchType = context.Import (eh.CatchType);
+ break;
+ case ExceptionHandlerType.Filter :
+ neh.FilterStart = GetInstruction (body, nb, eh.FilterStart);
+ neh.FilterEnd = GetInstruction (body, nb, eh.FilterEnd);
+ break;
+ }
+
+ nb.ExceptionHandlers.Add (neh);
+ }
+
+ return nb;
+ }
+
+ public void Simplify ()
+ {
+ foreach (Instruction i in this.Instructions) {
+ if (i.OpCode.OpCodeType != OpCodeType.Macro)
+ continue;
+
+ switch (i.OpCode.Code) {
+ case Code.Ldarg_0 :
+ Modify (i, OpCodes.Ldarg,
+ CodeReader.GetParameter (this, 0));
+ break;
+ case Code.Ldarg_1 :
+ Modify (i, OpCodes.Ldarg,
+ CodeReader.GetParameter (this, 1));
+ break;
+ case Code.Ldarg_2 :
+ Modify (i, OpCodes.Ldarg,
+ CodeReader.GetParameter (this, 2));
+ break;
+ case Code.Ldarg_3 :
+ Modify (i, OpCodes.Ldarg,
+ CodeReader.GetParameter (this, 3));
+ break;
+ case Code.Ldloc_0 :
+ Modify (i, OpCodes.Ldloc,
+ CodeReader.GetVariable (this, 0));
+ break;
+ case Code.Ldloc_1 :
+ Modify (i, OpCodes.Ldloc,
+ CodeReader.GetVariable (this, 1));
+ break;
+ case Code.Ldloc_2 :
+ Modify (i, OpCodes.Ldloc,
+ CodeReader.GetVariable (this, 2));
+ break;
+ case Code.Ldloc_3 :
+ Modify (i, OpCodes.Ldloc,
+ CodeReader.GetVariable (this, 3));
+ break;
+ case Code.Stloc_0 :
+ Modify (i, OpCodes.Stloc,
+ CodeReader.GetVariable (this, 0));
+ break;
+ case Code.Stloc_1 :
+ Modify (i, OpCodes.Stloc,
+ CodeReader.GetVariable (this, 1));
+ break;
+ case Code.Stloc_2 :
+ Modify (i, OpCodes.Stloc,
+ CodeReader.GetVariable (this, 2));
+ break;
+ case Code.Stloc_3 :
+ Modify (i, OpCodes.Stloc,
+ CodeReader.GetVariable (this, 3));
+ break;
+ case Code.Ldarg_S :
+ i.OpCode = OpCodes.Ldarg;
+ break;
+ case Code.Ldarga_S :
+ i.OpCode = OpCodes.Ldarga;
+ break;
+ case Code.Starg_S :
+ i.OpCode = OpCodes.Starg;
+ break;
+ case Code.Ldloc_S :
+ i.OpCode = OpCodes.Ldloc;
+ break;
+ case Code.Ldloca_S :
+ i.OpCode = OpCodes.Ldloca;
+ break;
+ case Code.Stloc_S :
+ i.OpCode = OpCodes.Stloc;
+ break;
+ case Code.Ldc_I4_M1 :
+ Modify (i, OpCodes.Ldc_I4, -1);
+ break;
+ case Code.Ldc_I4_0 :
+ Modify (i, OpCodes.Ldc_I4, 0);
+ break;
+ case Code.Ldc_I4_1 :
+ Modify (i, OpCodes.Ldc_I4, 1);
+ break;
+ case Code.Ldc_I4_2 :
+ Modify (i, OpCodes.Ldc_I4, 2);
+ break;
+ case Code.Ldc_I4_3 :
+ Modify (i, OpCodes.Ldc_I4, 3);
+ break;
+ case Code.Ldc_I4_4 :
+ Modify (i, OpCodes.Ldc_I4, 4);
+ break;
+ case Code.Ldc_I4_5 :
+ Modify (i, OpCodes.Ldc_I4, 5);
+ break;
+ case Code.Ldc_I4_6 :
+ Modify (i, OpCodes.Ldc_I4, 6);
+ break;
+ case Code.Ldc_I4_7 :
+ Modify (i, OpCodes.Ldc_I4, 7);
+ break;
+ case Code.Ldc_I4_8 :
+ Modify (i, OpCodes.Ldc_I4, 8);
+ break;
+ case Code.Ldc_I4_S :
+ i.OpCode = OpCodes.Ldc_I4;
+ i.Operand = (int) (sbyte) i.Operand;
+ break;
+ case Code.Br_S :
+ i.OpCode = OpCodes.Br;
+ break;
+ case Code.Brfalse_S :
+ i.OpCode = OpCodes.Brfalse;
+ break;
+ case Code.Brtrue_S :
+ i.OpCode = OpCodes.Brtrue;
+ break;
+ case Code.Beq_S :
+ i.OpCode = OpCodes.Beq;
+ break;
+ case Code.Bge_S :
+ i.OpCode = OpCodes.Bge;
+ break;
+ case Code.Bgt_S :
+ i.OpCode = OpCodes.Bgt;
+ break;
+ case Code.Ble_S :
+ i.OpCode = OpCodes.Ble;
+ break;
+ case Code.Blt_S :
+ i.OpCode = OpCodes.Blt;
+ break;
+ case Code.Bne_Un_S :
+ i.OpCode = OpCodes.Bne_Un;
+ break;
+ case Code.Bge_Un_S :
+ i.OpCode = OpCodes.Bge_Un;
+ break;
+ case Code.Bgt_Un_S :
+ i.OpCode = OpCodes.Bgt_Un;
+ break;
+ case Code.Ble_Un_S :
+ i.OpCode = OpCodes.Ble_Un;
+ break;
+ case Code.Blt_Un_S :
+ i.OpCode = OpCodes.Blt_Un;
+ break;
+ case Code.Leave_S :
+ i.OpCode = OpCodes.Leave;
+ break;
+ }
+ }
+ }
+
+ public void Optimize ()
+ {
+ foreach (Instruction instr in m_instructions) {
+ int index;
+ switch (instr.OpCode.Code) {
+ case Code.Ldarg:
+ index = m_method.Parameters.IndexOf ((ParameterDefinition) instr.Operand);
+ if (index == -1 && instr.Operand == m_method.This)
+ index = 0;
+ else if (m_method.HasThis)
+ index++;
+
+ switch (index) {
+ case 0:
+ Modify (instr, OpCodes.Ldarg_0, null);
+ break;
+ case 1:
+ Modify (instr, OpCodes.Ldarg_1, null);
+ break;
+ case 2:
+ Modify (instr, OpCodes.Ldarg_2, null);
+ break;
+ case 3:
+ Modify (instr, OpCodes.Ldarg_3, null);
+ break;
+ default:
+ if (index < 256)
+ Modify (instr, OpCodes.Ldarg_S, instr.Operand);
+ break;
+ }
+ break;
+ case Code.Ldloc:
+ index = m_variables.IndexOf ((VariableDefinition) instr.Operand);
+ switch (index) {
+ case 0:
+ Modify (instr, OpCodes.Ldloc_0, null);
+ break;
+ case 1:
+ Modify (instr, OpCodes.Ldloc_1, null);
+ break;
+ case 2:
+ Modify (instr, OpCodes.Ldloc_2, null);
+ break;
+ case 3:
+ Modify (instr, OpCodes.Ldloc_3, null);
+ break;
+ default:
+ if (index < 256)
+ Modify (instr, OpCodes.Ldloc_S, instr.Operand);
+ break;
+ }
+ break;
+ case Code.Stloc:
+ index = m_variables.IndexOf ((VariableDefinition) instr.Operand);
+ switch (index) {
+ case 0:
+ Modify (instr, OpCodes.Stloc_0, null);
+ break;
+ case 1:
+ Modify (instr, OpCodes.Stloc_1, null);
+ break;
+ case 2:
+ Modify (instr, OpCodes.Stloc_2, null);
+ break;
+ case 3:
+ Modify (instr, OpCodes.Stloc_3, null);
+ break;
+ default:
+ if (index < 256)
+ Modify (instr, OpCodes.Stloc_S, instr.Operand);
+ break;
+ }
+ break;
+ case Code.Ldarga:
+ index = m_method.Parameters.IndexOf ((ParameterDefinition) instr.Operand);
+ if (index == -1 && instr.Operand == m_method.This)
+ index = 0;
+ else if (m_method.HasThis)
+ index++;
+ if (index < 256)
+ Modify (instr, OpCodes.Ldarga_S, instr.Operand);
+ break;
+ case Code.Ldloca:
+ if (m_variables.IndexOf ((VariableDefinition) instr.Operand) < 256)
+ Modify (instr, OpCodes.Ldloca_S, instr.Operand);
+ break;
+ case Code.Ldc_I4:
+ int i = (int) instr.Operand;
+ switch (i) {
+ case -1:
+ Modify (instr, OpCodes.Ldc_I4_M1, null);
+ break;
+ case 0:
+ Modify (instr, OpCodes.Ldc_I4_0, null);
+ break;
+ case 1:
+ Modify (instr, OpCodes.Ldc_I4_1, null);
+ break;
+ case 2:
+ Modify (instr, OpCodes.Ldc_I4_2, null);
+ break;
+ case 3:
+ Modify (instr, OpCodes.Ldc_I4_3, null);
+ break;
+ case 4:
+ Modify (instr, OpCodes.Ldc_I4_4, null);
+ break;
+ case 5:
+ Modify (instr, OpCodes.Ldc_I4_5, null);
+ break;
+ case 6:
+ Modify (instr, OpCodes.Ldc_I4_6, null);
+ break;
+ case 7:
+ Modify (instr, OpCodes.Ldc_I4_7, null);
+ break;
+ case 8:
+ Modify (instr, OpCodes.Ldc_I4_8, null);
+ break;
+ default:
+ if (i >= -128 && i < 128)
+ Modify (instr, OpCodes.Ldc_I4_S, (sbyte) i);
+ break;
+ }
+ break;
+ }
+ }
+
+ OptimizeBranches ();
+ }
+
+ void OptimizeBranches ()
+ {
+ ComputeOffsets ();
+
+ foreach (Instruction instr in m_instructions) {
+ if (instr.OpCode.OperandType != OperandType.InlineBrTarget)
+ continue;
+
+ if (OptimizeBranch (instr))
+ ComputeOffsets ();
+ }
+ }
+
+ static bool OptimizeBranch (Instruction instr)
+ {
+ int offset = ((Instruction) instr.Operand).Offset - (instr.Offset + instr.OpCode.Size + 4);
+ if (! (offset >= -128 && offset <= 127))
+ return false;
+
+ switch (instr.OpCode.Code) {
+ case Code.Br:
+ instr.OpCode = OpCodes.Br_S;
+ break;
+ case Code.Brfalse:
+ instr.OpCode = OpCodes.Brfalse_S;
+ break;
+ case Code.Brtrue:
+ instr.OpCode = OpCodes.Brtrue_S;
+ break;
+ case Code.Beq:
+ instr.OpCode = OpCodes.Beq_S;
+ break;
+ case Code.Bge:
+ instr.OpCode = OpCodes.Bge_S;
+ break;
+ case Code.Bgt:
+ instr.OpCode = OpCodes.Bgt_S;
+ break;
+ case Code.Ble:
+ instr.OpCode = OpCodes.Ble_S;
+ break;
+ case Code.Blt:
+ instr.OpCode = OpCodes.Blt_S;
+ break;
+ case Code.Bne_Un:
+ instr.OpCode = OpCodes.Bne_Un_S;
+ break;
+ case Code.Bge_Un:
+ instr.OpCode = OpCodes.Bge_Un_S;
+ break;
+ case Code.Bgt_Un:
+ instr.OpCode = OpCodes.Bgt_Un_S;
+ break;
+ case Code.Ble_Un:
+ instr.OpCode = OpCodes.Ble_Un_S;
+ break;
+ case Code.Blt_Un:
+ instr.OpCode = OpCodes.Blt_Un_S;
+ break;
+ case Code.Leave:
+ instr.OpCode = OpCodes.Leave_S;
+ break;
+ }
+
+ return true;
+ }
+
+ void ComputeOffsets ()
+ {
+ int offset = 0;
+
+ foreach (Instruction instr in m_instructions) {
+ instr.Offset = offset;
+ offset += instr.GetSize ();
+ }
+ }
+
+ static void Modify (Instruction i, OpCode op, object operand)
+ {
+ i.OpCode = op;
+ i.Operand = operand;
+ }
+
+ public void Accept (ICodeVisitor visitor)
+ {
+ visitor.VisitMethodBody (this);
+ if (HasVariables)
+ m_variables.Accept (visitor);
+ m_instructions.Accept (visitor);
+ if (HasExceptionHandlers)
+ m_exceptions.Accept (visitor);
+ if (HasScopes)
+ m_scopes.Accept (visitor);
+
+ visitor.TerminateMethodBody (this);
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/MethodDataSection.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/MethodDataSection.cs
index 295ccdb13e0..295ccdb13e0 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/MethodDataSection.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/MethodDataSection.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/MethodHeader.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/MethodHeader.cs
index c90ce2f6aee..c90ce2f6aee 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/MethodHeader.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/MethodHeader.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/OpCode.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/OpCode.cs
new file mode 100644
index 00000000000..2406ec177c7
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/OpCode.cs
@@ -0,0 +1,139 @@
+//
+// OpCode.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal struct OpCode {
+ short m_value;
+ byte m_code;
+ byte m_flowControl;
+ byte m_opCodeType;
+ byte m_operandType;
+ byte m_stackBehaviourPop;
+ byte m_stackBehaviourPush;
+
+ public string Name {
+ get {
+ int index = (Size == 1) ? Op2 : (Op2 + 256);
+ return OpCodeNames.names [index];
+ }
+ }
+
+ public int Size {
+ get { return ((m_value & 0xff00) == 0xff00) ? 1 : 2; }
+ }
+
+ public byte Op1 {
+ get { return (byte) (m_value >> 8); }
+ }
+
+ public byte Op2 {
+ get { return (byte) m_value; }
+ }
+
+ public short Value {
+ get { return (Size == 1) ? Op2 : m_value; }
+ }
+
+ public Code Code {
+ get { return (Code) m_code; }
+ }
+
+ public FlowControl FlowControl {
+ get { return (FlowControl) m_flowControl; }
+ }
+
+ public OpCodeType OpCodeType {
+ get { return (OpCodeType) m_opCodeType; }
+ }
+
+ public OperandType OperandType {
+ get { return (OperandType) m_operandType; }
+ }
+
+ public StackBehaviour StackBehaviourPop {
+ get { return (StackBehaviour) m_stackBehaviourPop; }
+ }
+
+ public StackBehaviour StackBehaviourPush {
+ get { return (StackBehaviour) m_stackBehaviourPush; }
+ }
+
+ internal OpCode (byte op1, byte op2,
+ Code code, FlowControl flowControl,
+ OpCodeType opCodeType, OperandType operandType,
+ StackBehaviour pop, StackBehaviour push)
+ {
+ m_value = (short) ((op1 << 8) | op2);
+ m_code = (byte) code;
+ m_flowControl = (byte) flowControl;
+ m_opCodeType = (byte) opCodeType;
+ m_operandType = (byte) operandType;
+ m_stackBehaviourPop = (byte) pop;
+ m_stackBehaviourPush = (byte) push;
+
+ if (op1 == 0xff)
+ OpCodes.OneByteOpCode [op2] = this;
+ else
+ OpCodes.TwoBytesOpCode [op2] = this;
+ }
+
+ public override int GetHashCode ()
+ {
+ return m_value;
+ }
+
+ public override bool Equals (object obj)
+ {
+ if (!(obj is OpCode))
+ return false;
+ OpCode v = (OpCode) obj;
+ return v.m_value == m_value;
+ }
+
+ public bool Equals (OpCode opcode)
+ {
+ return (m_value == opcode.m_value);
+ }
+
+ public static bool operator == (OpCode one, OpCode other)
+ {
+ return (one.m_value == other.m_value);
+ }
+
+ public static bool operator != (OpCode one, OpCode other)
+ {
+ return (one.m_value != other.m_value);
+ }
+
+ public override string ToString ()
+ {
+ return Name;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCodeNames.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/OpCodeNames.cs
index 4d7f0cc1cd7..4d7f0cc1cd7 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/OpCodeNames.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/OpCodeNames.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/OpCodeType.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/OpCodeType.cs
new file mode 100644
index 00000000000..ef85f52cebf
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/OpCodeType.cs
@@ -0,0 +1,39 @@
+//
+// OpCodeType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal enum OpCodeType {
+ Annotation,
+ Macro,
+ Nternal,
+ Objmodel,
+ Prefix,
+ Primitive
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/OpCodes.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/OpCodes.cs
new file mode 100644
index 00000000000..a54e3265bb2
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/OpCodes.cs
@@ -0,0 +1,1583 @@
+//
+// OpCodes.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Fri Jun 06 13:04:02 +0200 2008
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal sealed class OpCodes {
+
+ internal static readonly OpCode [] OneByteOpCode = new OpCode [0xe0 + 1];
+ internal static readonly OpCode [] TwoBytesOpCode = new OpCode [0x1e + 1];
+
+ public static readonly OpCode Nop = new OpCode (
+ 0xff, 0x00,
+ Code.Nop, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Push0);
+
+ public static readonly OpCode Break = new OpCode (
+ 0xff, 0x01,
+ Code.Break, FlowControl.Break,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Push0);
+
+ public static readonly OpCode Ldarg_0 = new OpCode (
+ 0xff, 0x02,
+ Code.Ldarg_0, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Push1);
+
+ public static readonly OpCode Ldarg_1 = new OpCode (
+ 0xff, 0x03,
+ Code.Ldarg_1, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Push1);
+
+ public static readonly OpCode Ldarg_2 = new OpCode (
+ 0xff, 0x04,
+ Code.Ldarg_2, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Push1);
+
+ public static readonly OpCode Ldarg_3 = new OpCode (
+ 0xff, 0x05,
+ Code.Ldarg_3, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Push1);
+
+ public static readonly OpCode Ldloc_0 = new OpCode (
+ 0xff, 0x06,
+ Code.Ldloc_0, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Push1);
+
+ public static readonly OpCode Ldloc_1 = new OpCode (
+ 0xff, 0x07,
+ Code.Ldloc_1, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Push1);
+
+ public static readonly OpCode Ldloc_2 = new OpCode (
+ 0xff, 0x08,
+ Code.Ldloc_2, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Push1);
+
+ public static readonly OpCode Ldloc_3 = new OpCode (
+ 0xff, 0x09,
+ Code.Ldloc_3, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Push1);
+
+ public static readonly OpCode Stloc_0 = new OpCode (
+ 0xff, 0x0a,
+ Code.Stloc_0, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Stloc_1 = new OpCode (
+ 0xff, 0x0b,
+ Code.Stloc_1, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Stloc_2 = new OpCode (
+ 0xff, 0x0c,
+ Code.Stloc_2, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Stloc_3 = new OpCode (
+ 0xff, 0x0d,
+ Code.Stloc_3, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Ldarg_S = new OpCode (
+ 0xff, 0x0e,
+ Code.Ldarg_S, FlowControl.Next,
+ OpCodeType.Macro, OperandType.ShortInlineParam,
+ StackBehaviour.Pop0, StackBehaviour.Push1);
+
+ public static readonly OpCode Ldarga_S = new OpCode (
+ 0xff, 0x0f,
+ Code.Ldarga_S, FlowControl.Next,
+ OpCodeType.Macro, OperandType.ShortInlineParam,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Starg_S = new OpCode (
+ 0xff, 0x10,
+ Code.Starg_S, FlowControl.Next,
+ OpCodeType.Macro, OperandType.ShortInlineParam,
+ StackBehaviour.Pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Ldloc_S = new OpCode (
+ 0xff, 0x11,
+ Code.Ldloc_S, FlowControl.Next,
+ OpCodeType.Macro, OperandType.ShortInlineVar,
+ StackBehaviour.Pop0, StackBehaviour.Push1);
+
+ public static readonly OpCode Ldloca_S = new OpCode (
+ 0xff, 0x12,
+ Code.Ldloca_S, FlowControl.Next,
+ OpCodeType.Macro, OperandType.ShortInlineVar,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Stloc_S = new OpCode (
+ 0xff, 0x13,
+ Code.Stloc_S, FlowControl.Next,
+ OpCodeType.Macro, OperandType.ShortInlineVar,
+ StackBehaviour.Pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Ldnull = new OpCode (
+ 0xff, 0x14,
+ Code.Ldnull, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Pushref);
+
+ public static readonly OpCode Ldc_I4_M1 = new OpCode (
+ 0xff, 0x15,
+ Code.Ldc_I4_M1, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldc_I4_0 = new OpCode (
+ 0xff, 0x16,
+ Code.Ldc_I4_0, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldc_I4_1 = new OpCode (
+ 0xff, 0x17,
+ Code.Ldc_I4_1, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldc_I4_2 = new OpCode (
+ 0xff, 0x18,
+ Code.Ldc_I4_2, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldc_I4_3 = new OpCode (
+ 0xff, 0x19,
+ Code.Ldc_I4_3, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldc_I4_4 = new OpCode (
+ 0xff, 0x1a,
+ Code.Ldc_I4_4, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldc_I4_5 = new OpCode (
+ 0xff, 0x1b,
+ Code.Ldc_I4_5, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldc_I4_6 = new OpCode (
+ 0xff, 0x1c,
+ Code.Ldc_I4_6, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldc_I4_7 = new OpCode (
+ 0xff, 0x1d,
+ Code.Ldc_I4_7, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldc_I4_8 = new OpCode (
+ 0xff, 0x1e,
+ Code.Ldc_I4_8, FlowControl.Next,
+ OpCodeType.Macro, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldc_I4_S = new OpCode (
+ 0xff, 0x1f,
+ Code.Ldc_I4_S, FlowControl.Next,
+ OpCodeType.Macro, OperandType.ShortInlineI,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldc_I4 = new OpCode (
+ 0xff, 0x20,
+ Code.Ldc_I4, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineI,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldc_I8 = new OpCode (
+ 0xff, 0x21,
+ Code.Ldc_I8, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineI8,
+ StackBehaviour.Pop0, StackBehaviour.Pushi8);
+
+ public static readonly OpCode Ldc_R4 = new OpCode (
+ 0xff, 0x22,
+ Code.Ldc_R4, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.ShortInlineR,
+ StackBehaviour.Pop0, StackBehaviour.Pushr4);
+
+ public static readonly OpCode Ldc_R8 = new OpCode (
+ 0xff, 0x23,
+ Code.Ldc_R8, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineR,
+ StackBehaviour.Pop0, StackBehaviour.Pushr8);
+
+ public static readonly OpCode Dup = new OpCode (
+ 0xff, 0x25,
+ Code.Dup, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Push1_push1);
+
+ public static readonly OpCode Pop = new OpCode (
+ 0xff, 0x26,
+ Code.Pop, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Jmp = new OpCode (
+ 0xff, 0x27,
+ Code.Jmp, FlowControl.Call,
+ OpCodeType.Primitive, OperandType.InlineMethod,
+ StackBehaviour.Pop0, StackBehaviour.Push0);
+
+ public static readonly OpCode Call = new OpCode (
+ 0xff, 0x28,
+ Code.Call, FlowControl.Call,
+ OpCodeType.Primitive, OperandType.InlineMethod,
+ StackBehaviour.Varpop, StackBehaviour.Varpush);
+
+ public static readonly OpCode Calli = new OpCode (
+ 0xff, 0x29,
+ Code.Calli, FlowControl.Call,
+ OpCodeType.Primitive, OperandType.InlineSig,
+ StackBehaviour.Varpop, StackBehaviour.Varpush);
+
+ public static readonly OpCode Ret = new OpCode (
+ 0xff, 0x2a,
+ Code.Ret, FlowControl.Return,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Varpop, StackBehaviour.Push0);
+
+ public static readonly OpCode Br_S = new OpCode (
+ 0xff, 0x2b,
+ Code.Br_S, FlowControl.Branch,
+ OpCodeType.Macro, OperandType.ShortInlineBrTarget,
+ StackBehaviour.Pop0, StackBehaviour.Push0);
+
+ public static readonly OpCode Brfalse_S = new OpCode (
+ 0xff, 0x2c,
+ Code.Brfalse_S, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.ShortInlineBrTarget,
+ StackBehaviour.Popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Brtrue_S = new OpCode (
+ 0xff, 0x2d,
+ Code.Brtrue_S, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.ShortInlineBrTarget,
+ StackBehaviour.Popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Beq_S = new OpCode (
+ 0xff, 0x2e,
+ Code.Beq_S, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.ShortInlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Bge_S = new OpCode (
+ 0xff, 0x2f,
+ Code.Bge_S, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.ShortInlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Bgt_S = new OpCode (
+ 0xff, 0x30,
+ Code.Bgt_S, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.ShortInlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Ble_S = new OpCode (
+ 0xff, 0x31,
+ Code.Ble_S, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.ShortInlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Blt_S = new OpCode (
+ 0xff, 0x32,
+ Code.Blt_S, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.ShortInlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Bne_Un_S = new OpCode (
+ 0xff, 0x33,
+ Code.Bne_Un_S, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.ShortInlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Bge_Un_S = new OpCode (
+ 0xff, 0x34,
+ Code.Bge_Un_S, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.ShortInlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Bgt_Un_S = new OpCode (
+ 0xff, 0x35,
+ Code.Bgt_Un_S, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.ShortInlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Ble_Un_S = new OpCode (
+ 0xff, 0x36,
+ Code.Ble_Un_S, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.ShortInlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Blt_Un_S = new OpCode (
+ 0xff, 0x37,
+ Code.Blt_Un_S, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.ShortInlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Br = new OpCode (
+ 0xff, 0x38,
+ Code.Br, FlowControl.Branch,
+ OpCodeType.Primitive, OperandType.InlineBrTarget,
+ StackBehaviour.Pop0, StackBehaviour.Push0);
+
+ public static readonly OpCode Brfalse = new OpCode (
+ 0xff, 0x39,
+ Code.Brfalse, FlowControl.Cond_Branch,
+ OpCodeType.Primitive, OperandType.InlineBrTarget,
+ StackBehaviour.Popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Brtrue = new OpCode (
+ 0xff, 0x3a,
+ Code.Brtrue, FlowControl.Cond_Branch,
+ OpCodeType.Primitive, OperandType.InlineBrTarget,
+ StackBehaviour.Popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Beq = new OpCode (
+ 0xff, 0x3b,
+ Code.Beq, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.InlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Bge = new OpCode (
+ 0xff, 0x3c,
+ Code.Bge, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.InlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Bgt = new OpCode (
+ 0xff, 0x3d,
+ Code.Bgt, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.InlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Ble = new OpCode (
+ 0xff, 0x3e,
+ Code.Ble, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.InlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Blt = new OpCode (
+ 0xff, 0x3f,
+ Code.Blt, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.InlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Bne_Un = new OpCode (
+ 0xff, 0x40,
+ Code.Bne_Un, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.InlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Bge_Un = new OpCode (
+ 0xff, 0x41,
+ Code.Bge_Un, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.InlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Bgt_Un = new OpCode (
+ 0xff, 0x42,
+ Code.Bgt_Un, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.InlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Ble_Un = new OpCode (
+ 0xff, 0x43,
+ Code.Ble_Un, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.InlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Blt_Un = new OpCode (
+ 0xff, 0x44,
+ Code.Blt_Un, FlowControl.Cond_Branch,
+ OpCodeType.Macro, OperandType.InlineBrTarget,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Switch = new OpCode (
+ 0xff, 0x45,
+ Code.Switch, FlowControl.Cond_Branch,
+ OpCodeType.Primitive, OperandType.InlineSwitch,
+ StackBehaviour.Popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Ldind_I1 = new OpCode (
+ 0xff, 0x46,
+ Code.Ldind_I1, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldind_U1 = new OpCode (
+ 0xff, 0x47,
+ Code.Ldind_U1, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldind_I2 = new OpCode (
+ 0xff, 0x48,
+ Code.Ldind_I2, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldind_U2 = new OpCode (
+ 0xff, 0x49,
+ Code.Ldind_U2, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldind_I4 = new OpCode (
+ 0xff, 0x4a,
+ Code.Ldind_I4, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldind_U4 = new OpCode (
+ 0xff, 0x4b,
+ Code.Ldind_U4, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldind_I8 = new OpCode (
+ 0xff, 0x4c,
+ Code.Ldind_I8, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi, StackBehaviour.Pushi8);
+
+ public static readonly OpCode Ldind_I = new OpCode (
+ 0xff, 0x4d,
+ Code.Ldind_I, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldind_R4 = new OpCode (
+ 0xff, 0x4e,
+ Code.Ldind_R4, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi, StackBehaviour.Pushr4);
+
+ public static readonly OpCode Ldind_R8 = new OpCode (
+ 0xff, 0x4f,
+ Code.Ldind_R8, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi, StackBehaviour.Pushr8);
+
+ public static readonly OpCode Ldind_Ref = new OpCode (
+ 0xff, 0x50,
+ Code.Ldind_Ref, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi, StackBehaviour.Pushref);
+
+ public static readonly OpCode Stind_Ref = new OpCode (
+ 0xff, 0x51,
+ Code.Stind_Ref, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi_popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Stind_I1 = new OpCode (
+ 0xff, 0x52,
+ Code.Stind_I1, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi_popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Stind_I2 = new OpCode (
+ 0xff, 0x53,
+ Code.Stind_I2, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi_popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Stind_I4 = new OpCode (
+ 0xff, 0x54,
+ Code.Stind_I4, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi_popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Stind_I8 = new OpCode (
+ 0xff, 0x55,
+ Code.Stind_I8, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi_popi8, StackBehaviour.Push0);
+
+ public static readonly OpCode Stind_R4 = new OpCode (
+ 0xff, 0x56,
+ Code.Stind_R4, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi_popr4, StackBehaviour.Push0);
+
+ public static readonly OpCode Stind_R8 = new OpCode (
+ 0xff, 0x57,
+ Code.Stind_R8, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi_popr8, StackBehaviour.Push0);
+
+ public static readonly OpCode Add = new OpCode (
+ 0xff, 0x58,
+ Code.Add, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Sub = new OpCode (
+ 0xff, 0x59,
+ Code.Sub, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Mul = new OpCode (
+ 0xff, 0x5a,
+ Code.Mul, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Div = new OpCode (
+ 0xff, 0x5b,
+ Code.Div, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Div_Un = new OpCode (
+ 0xff, 0x5c,
+ Code.Div_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Rem = new OpCode (
+ 0xff, 0x5d,
+ Code.Rem, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Rem_Un = new OpCode (
+ 0xff, 0x5e,
+ Code.Rem_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode And = new OpCode (
+ 0xff, 0x5f,
+ Code.And, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Or = new OpCode (
+ 0xff, 0x60,
+ Code.Or, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Xor = new OpCode (
+ 0xff, 0x61,
+ Code.Xor, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Shl = new OpCode (
+ 0xff, 0x62,
+ Code.Shl, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Shr = new OpCode (
+ 0xff, 0x63,
+ Code.Shr, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Shr_Un = new OpCode (
+ 0xff, 0x64,
+ Code.Shr_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Neg = new OpCode (
+ 0xff, 0x65,
+ Code.Neg, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Not = new OpCode (
+ 0xff, 0x66,
+ Code.Not, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Conv_I1 = new OpCode (
+ 0xff, 0x67,
+ Code.Conv_I1, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_I2 = new OpCode (
+ 0xff, 0x68,
+ Code.Conv_I2, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_I4 = new OpCode (
+ 0xff, 0x69,
+ Code.Conv_I4, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_I8 = new OpCode (
+ 0xff, 0x6a,
+ Code.Conv_I8, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi8);
+
+ public static readonly OpCode Conv_R4 = new OpCode (
+ 0xff, 0x6b,
+ Code.Conv_R4, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushr4);
+
+ public static readonly OpCode Conv_R8 = new OpCode (
+ 0xff, 0x6c,
+ Code.Conv_R8, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushr8);
+
+ public static readonly OpCode Conv_U4 = new OpCode (
+ 0xff, 0x6d,
+ Code.Conv_U4, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_U8 = new OpCode (
+ 0xff, 0x6e,
+ Code.Conv_U8, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi8);
+
+ public static readonly OpCode Callvirt = new OpCode (
+ 0xff, 0x6f,
+ Code.Callvirt, FlowControl.Call,
+ OpCodeType.Objmodel, OperandType.InlineMethod,
+ StackBehaviour.Varpop, StackBehaviour.Varpush);
+
+ public static readonly OpCode Cpobj = new OpCode (
+ 0xff, 0x70,
+ Code.Cpobj, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineType,
+ StackBehaviour.Popi_popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Ldobj = new OpCode (
+ 0xff, 0x71,
+ Code.Ldobj, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineType,
+ StackBehaviour.Popi, StackBehaviour.Push1);
+
+ public static readonly OpCode Ldstr = new OpCode (
+ 0xff, 0x72,
+ Code.Ldstr, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineString,
+ StackBehaviour.Pop0, StackBehaviour.Pushref);
+
+ public static readonly OpCode Newobj = new OpCode (
+ 0xff, 0x73,
+ Code.Newobj, FlowControl.Call,
+ OpCodeType.Objmodel, OperandType.InlineMethod,
+ StackBehaviour.Varpop, StackBehaviour.Pushref);
+
+ public static readonly OpCode Castclass = new OpCode (
+ 0xff, 0x74,
+ Code.Castclass, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineType,
+ StackBehaviour.Popref, StackBehaviour.Pushref);
+
+ public static readonly OpCode Isinst = new OpCode (
+ 0xff, 0x75,
+ Code.Isinst, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineType,
+ StackBehaviour.Popref, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_R_Un = new OpCode (
+ 0xff, 0x76,
+ Code.Conv_R_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushr8);
+
+ public static readonly OpCode Unbox = new OpCode (
+ 0xff, 0x79,
+ Code.Unbox, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineType,
+ StackBehaviour.Popref, StackBehaviour.Pushi);
+
+ public static readonly OpCode Throw = new OpCode (
+ 0xff, 0x7a,
+ Code.Throw, FlowControl.Throw,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref, StackBehaviour.Push0);
+
+ public static readonly OpCode Ldfld = new OpCode (
+ 0xff, 0x7b,
+ Code.Ldfld, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineField,
+ StackBehaviour.Popref, StackBehaviour.Push1);
+
+ public static readonly OpCode Ldflda = new OpCode (
+ 0xff, 0x7c,
+ Code.Ldflda, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineField,
+ StackBehaviour.Popref, StackBehaviour.Pushi);
+
+ public static readonly OpCode Stfld = new OpCode (
+ 0xff, 0x7d,
+ Code.Stfld, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineField,
+ StackBehaviour.Popref_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Ldsfld = new OpCode (
+ 0xff, 0x7e,
+ Code.Ldsfld, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineField,
+ StackBehaviour.Pop0, StackBehaviour.Push1);
+
+ public static readonly OpCode Ldsflda = new OpCode (
+ 0xff, 0x7f,
+ Code.Ldsflda, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineField,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Stsfld = new OpCode (
+ 0xff, 0x80,
+ Code.Stsfld, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineField,
+ StackBehaviour.Pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Stobj = new OpCode (
+ 0xff, 0x81,
+ Code.Stobj, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineType,
+ StackBehaviour.Popi_pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Conv_Ovf_I1_Un = new OpCode (
+ 0xff, 0x82,
+ Code.Conv_Ovf_I1_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_Ovf_I2_Un = new OpCode (
+ 0xff, 0x83,
+ Code.Conv_Ovf_I2_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_Ovf_I4_Un = new OpCode (
+ 0xff, 0x84,
+ Code.Conv_Ovf_I4_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_Ovf_I8_Un = new OpCode (
+ 0xff, 0x85,
+ Code.Conv_Ovf_I8_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi8);
+
+ public static readonly OpCode Conv_Ovf_U1_Un = new OpCode (
+ 0xff, 0x86,
+ Code.Conv_Ovf_U1_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_Ovf_U2_Un = new OpCode (
+ 0xff, 0x87,
+ Code.Conv_Ovf_U2_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_Ovf_U4_Un = new OpCode (
+ 0xff, 0x88,
+ Code.Conv_Ovf_U4_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_Ovf_U8_Un = new OpCode (
+ 0xff, 0x89,
+ Code.Conv_Ovf_U8_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi8);
+
+ public static readonly OpCode Conv_Ovf_I_Un = new OpCode (
+ 0xff, 0x8a,
+ Code.Conv_Ovf_I_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_Ovf_U_Un = new OpCode (
+ 0xff, 0x8b,
+ Code.Conv_Ovf_U_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Box = new OpCode (
+ 0xff, 0x8c,
+ Code.Box, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineType,
+ StackBehaviour.Pop1, StackBehaviour.Pushref);
+
+ public static readonly OpCode Newarr = new OpCode (
+ 0xff, 0x8d,
+ Code.Newarr, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineType,
+ StackBehaviour.Popi, StackBehaviour.Pushref);
+
+ public static readonly OpCode Ldlen = new OpCode (
+ 0xff, 0x8e,
+ Code.Ldlen, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldelema = new OpCode (
+ 0xff, 0x8f,
+ Code.Ldelema, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineType,
+ StackBehaviour.Popref_popi, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldelem_I1 = new OpCode (
+ 0xff, 0x90,
+ Code.Ldelem_I1, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldelem_U1 = new OpCode (
+ 0xff, 0x91,
+ Code.Ldelem_U1, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldelem_I2 = new OpCode (
+ 0xff, 0x92,
+ Code.Ldelem_I2, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldelem_U2 = new OpCode (
+ 0xff, 0x93,
+ Code.Ldelem_U2, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldelem_I4 = new OpCode (
+ 0xff, 0x94,
+ Code.Ldelem_I4, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldelem_U4 = new OpCode (
+ 0xff, 0x95,
+ Code.Ldelem_U4, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldelem_I8 = new OpCode (
+ 0xff, 0x96,
+ Code.Ldelem_I8, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi, StackBehaviour.Pushi8);
+
+ public static readonly OpCode Ldelem_I = new OpCode (
+ 0xff, 0x97,
+ Code.Ldelem_I, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldelem_R4 = new OpCode (
+ 0xff, 0x98,
+ Code.Ldelem_R4, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi, StackBehaviour.Pushr4);
+
+ public static readonly OpCode Ldelem_R8 = new OpCode (
+ 0xff, 0x99,
+ Code.Ldelem_R8, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi, StackBehaviour.Pushr8);
+
+ public static readonly OpCode Ldelem_Ref = new OpCode (
+ 0xff, 0x9a,
+ Code.Ldelem_Ref, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi, StackBehaviour.Pushref);
+
+ public static readonly OpCode Stelem_I = new OpCode (
+ 0xff, 0x9b,
+ Code.Stelem_I, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi_popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Stelem_I1 = new OpCode (
+ 0xff, 0x9c,
+ Code.Stelem_I1, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi_popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Stelem_I2 = new OpCode (
+ 0xff, 0x9d,
+ Code.Stelem_I2, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi_popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Stelem_I4 = new OpCode (
+ 0xff, 0x9e,
+ Code.Stelem_I4, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi_popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Stelem_I8 = new OpCode (
+ 0xff, 0x9f,
+ Code.Stelem_I8, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi_popi8, StackBehaviour.Push0);
+
+ public static readonly OpCode Stelem_R4 = new OpCode (
+ 0xff, 0xa0,
+ Code.Stelem_R4, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi_popr4, StackBehaviour.Push0);
+
+ public static readonly OpCode Stelem_R8 = new OpCode (
+ 0xff, 0xa1,
+ Code.Stelem_R8, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi_popr8, StackBehaviour.Push0);
+
+ public static readonly OpCode Stelem_Ref = new OpCode (
+ 0xff, 0xa2,
+ Code.Stelem_Ref, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Popref_popi_popref, StackBehaviour.Push0);
+
+ public static readonly OpCode Ldelem_Any = new OpCode (
+ 0xff, 0xa3,
+ Code.Ldelem_Any, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineType,
+ StackBehaviour.Popref_popi, StackBehaviour.Push1);
+
+ public static readonly OpCode Stelem_Any = new OpCode (
+ 0xff, 0xa4,
+ Code.Stelem_Any, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineType,
+ StackBehaviour.Popref_popi_popref, StackBehaviour.Push0);
+
+ public static readonly OpCode Unbox_Any = new OpCode (
+ 0xff, 0xa5,
+ Code.Unbox_Any, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineType,
+ StackBehaviour.Popref, StackBehaviour.Push1);
+
+ public static readonly OpCode Conv_Ovf_I1 = new OpCode (
+ 0xff, 0xb3,
+ Code.Conv_Ovf_I1, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_Ovf_U1 = new OpCode (
+ 0xff, 0xb4,
+ Code.Conv_Ovf_U1, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_Ovf_I2 = new OpCode (
+ 0xff, 0xb5,
+ Code.Conv_Ovf_I2, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_Ovf_U2 = new OpCode (
+ 0xff, 0xb6,
+ Code.Conv_Ovf_U2, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_Ovf_I4 = new OpCode (
+ 0xff, 0xb7,
+ Code.Conv_Ovf_I4, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_Ovf_U4 = new OpCode (
+ 0xff, 0xb8,
+ Code.Conv_Ovf_U4, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_Ovf_I8 = new OpCode (
+ 0xff, 0xb9,
+ Code.Conv_Ovf_I8, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi8);
+
+ public static readonly OpCode Conv_Ovf_U8 = new OpCode (
+ 0xff, 0xba,
+ Code.Conv_Ovf_U8, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi8);
+
+ public static readonly OpCode Refanyval = new OpCode (
+ 0xff, 0xc2,
+ Code.Refanyval, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineType,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ckfinite = new OpCode (
+ 0xff, 0xc3,
+ Code.Ckfinite, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushr8);
+
+ public static readonly OpCode Mkrefany = new OpCode (
+ 0xff, 0xc6,
+ Code.Mkrefany, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineType,
+ StackBehaviour.Popi, StackBehaviour.Push1);
+
+ public static readonly OpCode Ldtoken = new OpCode (
+ 0xff, 0xd0,
+ Code.Ldtoken, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineTok,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_U2 = new OpCode (
+ 0xff, 0xd1,
+ Code.Conv_U2, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_U1 = new OpCode (
+ 0xff, 0xd2,
+ Code.Conv_U1, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_I = new OpCode (
+ 0xff, 0xd3,
+ Code.Conv_I, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_Ovf_I = new OpCode (
+ 0xff, 0xd4,
+ Code.Conv_Ovf_I, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Conv_Ovf_U = new OpCode (
+ 0xff, 0xd5,
+ Code.Conv_Ovf_U, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Add_Ovf = new OpCode (
+ 0xff, 0xd6,
+ Code.Add_Ovf, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Add_Ovf_Un = new OpCode (
+ 0xff, 0xd7,
+ Code.Add_Ovf_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Mul_Ovf = new OpCode (
+ 0xff, 0xd8,
+ Code.Mul_Ovf, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Mul_Ovf_Un = new OpCode (
+ 0xff, 0xd9,
+ Code.Mul_Ovf_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Sub_Ovf = new OpCode (
+ 0xff, 0xda,
+ Code.Sub_Ovf, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Sub_Ovf_Un = new OpCode (
+ 0xff, 0xdb,
+ Code.Sub_Ovf_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Push1);
+
+ public static readonly OpCode Endfinally = new OpCode (
+ 0xff, 0xdc,
+ Code.Endfinally, FlowControl.Return,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Push0);
+
+ public static readonly OpCode Leave = new OpCode (
+ 0xff, 0xdd,
+ Code.Leave, FlowControl.Branch,
+ OpCodeType.Primitive, OperandType.InlineBrTarget,
+ StackBehaviour.PopAll, StackBehaviour.Push0);
+
+ public static readonly OpCode Leave_S = new OpCode (
+ 0xff, 0xde,
+ Code.Leave_S, FlowControl.Branch,
+ OpCodeType.Macro, OperandType.ShortInlineBrTarget,
+ StackBehaviour.PopAll, StackBehaviour.Push0);
+
+ public static readonly OpCode Stind_I = new OpCode (
+ 0xff, 0xdf,
+ Code.Stind_I, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi_popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Conv_U = new OpCode (
+ 0xff, 0xe0,
+ Code.Conv_U, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Arglist = new OpCode (
+ 0xfe, 0x00,
+ Code.Arglist, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ceq = new OpCode (
+ 0xfe, 0x01,
+ Code.Ceq, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Cgt = new OpCode (
+ 0xfe, 0x02,
+ Code.Cgt, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Cgt_Un = new OpCode (
+ 0xfe, 0x03,
+ Code.Cgt_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Clt = new OpCode (
+ 0xfe, 0x04,
+ Code.Clt, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Clt_Un = new OpCode (
+ 0xfe, 0x05,
+ Code.Clt_Un, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1_pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldftn = new OpCode (
+ 0xfe, 0x06,
+ Code.Ldftn, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineMethod,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldvirtftn = new OpCode (
+ 0xfe, 0x07,
+ Code.Ldvirtftn, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineMethod,
+ StackBehaviour.Popref, StackBehaviour.Pushi);
+
+ public static readonly OpCode Ldarg = new OpCode (
+ 0xfe, 0x09,
+ Code.Ldarg, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineParam,
+ StackBehaviour.Pop0, StackBehaviour.Push1);
+
+ public static readonly OpCode Ldarga = new OpCode (
+ 0xfe, 0x0a,
+ Code.Ldarga, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineParam,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Starg = new OpCode (
+ 0xfe, 0x0b,
+ Code.Starg, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineParam,
+ StackBehaviour.Pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Ldloc = new OpCode (
+ 0xfe, 0x0c,
+ Code.Ldloc, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineVar,
+ StackBehaviour.Pop0, StackBehaviour.Push1);
+
+ public static readonly OpCode Ldloca = new OpCode (
+ 0xfe, 0x0d,
+ Code.Ldloca, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineVar,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Stloc = new OpCode (
+ 0xfe, 0x0e,
+ Code.Stloc, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineVar,
+ StackBehaviour.Pop1, StackBehaviour.Push0);
+
+ public static readonly OpCode Localloc = new OpCode (
+ 0xfe, 0x0f,
+ Code.Localloc, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi, StackBehaviour.Pushi);
+
+ public static readonly OpCode Endfilter = new OpCode (
+ 0xfe, 0x11,
+ Code.Endfilter, FlowControl.Return,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Unaligned = new OpCode (
+ 0xfe, 0x12,
+ Code.Unaligned, FlowControl.Meta,
+ OpCodeType.Prefix, OperandType.ShortInlineI,
+ StackBehaviour.Pop0, StackBehaviour.Push0);
+
+ public static readonly OpCode Volatile = new OpCode (
+ 0xfe, 0x13,
+ Code.Volatile, FlowControl.Meta,
+ OpCodeType.Prefix, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Push0);
+
+ public static readonly OpCode Tail = new OpCode (
+ 0xfe, 0x14,
+ Code.Tail, FlowControl.Meta,
+ OpCodeType.Prefix, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Push0);
+
+ public static readonly OpCode Initobj = new OpCode (
+ 0xfe, 0x15,
+ Code.Initobj, FlowControl.Next,
+ OpCodeType.Objmodel, OperandType.InlineType,
+ StackBehaviour.Popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Constrained = new OpCode (
+ 0xfe, 0x16,
+ Code.Constrained, FlowControl.Next,
+ OpCodeType.Prefix, OperandType.InlineType,
+ StackBehaviour.Pop0, StackBehaviour.Push0);
+
+ public static readonly OpCode Cpblk = new OpCode (
+ 0xfe, 0x17,
+ Code.Cpblk, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi_popi_popi, StackBehaviour.Push0);
+
+ public static readonly OpCode Initblk = new OpCode (
+ 0xfe, 0x18,
+ Code.Initblk, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Popi_popi_popi, StackBehaviour.Push0);
+
+ public static readonly OpCode No = new OpCode (
+ 0xfe, 0x19,
+ Code.No, FlowControl.Next,
+ OpCodeType.Prefix, OperandType.ShortInlineI,
+ StackBehaviour.Pop0, StackBehaviour.Push0);
+
+ public static readonly OpCode Rethrow = new OpCode (
+ 0xfe, 0x1a,
+ Code.Rethrow, FlowControl.Throw,
+ OpCodeType.Objmodel, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Push0);
+
+ public static readonly OpCode Sizeof = new OpCode (
+ 0xfe, 0x1c,
+ Code.Sizeof, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineType,
+ StackBehaviour.Pop0, StackBehaviour.Pushi);
+
+ public static readonly OpCode Refanytype = new OpCode (
+ 0xfe, 0x1d,
+ Code.Refanytype, FlowControl.Next,
+ OpCodeType.Primitive, OperandType.InlineNone,
+ StackBehaviour.Pop1, StackBehaviour.Pushi);
+
+ public static readonly OpCode Readonly = new OpCode (
+ 0xfe, 0x1e,
+ Code.Readonly, FlowControl.Next,
+ OpCodeType.Prefix, OperandType.InlineNone,
+ StackBehaviour.Pop0, StackBehaviour.Push0);
+
+ OpCodes ()
+ {
+ }
+
+ public static OpCode GetOpCode (Code code)
+ {
+ switch (code) {
+ case Code.Nop : return OpCodes.Nop;
+ case Code.Break : return OpCodes.Break;
+ case Code.Ldarg_0 : return OpCodes.Ldarg_0;
+ case Code.Ldarg_1 : return OpCodes.Ldarg_1;
+ case Code.Ldarg_2 : return OpCodes.Ldarg_2;
+ case Code.Ldarg_3 : return OpCodes.Ldarg_3;
+ case Code.Ldloc_0 : return OpCodes.Ldloc_0;
+ case Code.Ldloc_1 : return OpCodes.Ldloc_1;
+ case Code.Ldloc_2 : return OpCodes.Ldloc_2;
+ case Code.Ldloc_3 : return OpCodes.Ldloc_3;
+ case Code.Stloc_0 : return OpCodes.Stloc_0;
+ case Code.Stloc_1 : return OpCodes.Stloc_1;
+ case Code.Stloc_2 : return OpCodes.Stloc_2;
+ case Code.Stloc_3 : return OpCodes.Stloc_3;
+ case Code.Ldarg_S : return OpCodes.Ldarg_S;
+ case Code.Ldarga_S : return OpCodes.Ldarga_S;
+ case Code.Starg_S : return OpCodes.Starg_S;
+ case Code.Ldloc_S : return OpCodes.Ldloc_S;
+ case Code.Ldloca_S : return OpCodes.Ldloca_S;
+ case Code.Stloc_S : return OpCodes.Stloc_S;
+ case Code.Ldnull : return OpCodes.Ldnull;
+ case Code.Ldc_I4_M1 : return OpCodes.Ldc_I4_M1;
+ case Code.Ldc_I4_0 : return OpCodes.Ldc_I4_0;
+ case Code.Ldc_I4_1 : return OpCodes.Ldc_I4_1;
+ case Code.Ldc_I4_2 : return OpCodes.Ldc_I4_2;
+ case Code.Ldc_I4_3 : return OpCodes.Ldc_I4_3;
+ case Code.Ldc_I4_4 : return OpCodes.Ldc_I4_4;
+ case Code.Ldc_I4_5 : return OpCodes.Ldc_I4_5;
+ case Code.Ldc_I4_6 : return OpCodes.Ldc_I4_6;
+ case Code.Ldc_I4_7 : return OpCodes.Ldc_I4_7;
+ case Code.Ldc_I4_8 : return OpCodes.Ldc_I4_8;
+ case Code.Ldc_I4_S : return OpCodes.Ldc_I4_S;
+ case Code.Ldc_I4 : return OpCodes.Ldc_I4;
+ case Code.Ldc_I8 : return OpCodes.Ldc_I8;
+ case Code.Ldc_R4 : return OpCodes.Ldc_R4;
+ case Code.Ldc_R8 : return OpCodes.Ldc_R8;
+ case Code.Dup : return OpCodes.Dup;
+ case Code.Pop : return OpCodes.Pop;
+ case Code.Jmp : return OpCodes.Jmp;
+ case Code.Call : return OpCodes.Call;
+ case Code.Calli : return OpCodes.Calli;
+ case Code.Ret : return OpCodes.Ret;
+ case Code.Br_S : return OpCodes.Br_S;
+ case Code.Brfalse_S : return OpCodes.Brfalse_S;
+ case Code.Brtrue_S : return OpCodes.Brtrue_S;
+ case Code.Beq_S : return OpCodes.Beq_S;
+ case Code.Bge_S : return OpCodes.Bge_S;
+ case Code.Bgt_S : return OpCodes.Bgt_S;
+ case Code.Ble_S : return OpCodes.Ble_S;
+ case Code.Blt_S : return OpCodes.Blt_S;
+ case Code.Bne_Un_S : return OpCodes.Bne_Un_S;
+ case Code.Bge_Un_S : return OpCodes.Bge_Un_S;
+ case Code.Bgt_Un_S : return OpCodes.Bgt_Un_S;
+ case Code.Ble_Un_S : return OpCodes.Ble_Un_S;
+ case Code.Blt_Un_S : return OpCodes.Blt_Un_S;
+ case Code.Br : return OpCodes.Br;
+ case Code.Brfalse : return OpCodes.Brfalse;
+ case Code.Brtrue : return OpCodes.Brtrue;
+ case Code.Beq : return OpCodes.Beq;
+ case Code.Bge : return OpCodes.Bge;
+ case Code.Bgt : return OpCodes.Bgt;
+ case Code.Ble : return OpCodes.Ble;
+ case Code.Blt : return OpCodes.Blt;
+ case Code.Bne_Un : return OpCodes.Bne_Un;
+ case Code.Bge_Un : return OpCodes.Bge_Un;
+ case Code.Bgt_Un : return OpCodes.Bgt_Un;
+ case Code.Ble_Un : return OpCodes.Ble_Un;
+ case Code.Blt_Un : return OpCodes.Blt_Un;
+ case Code.Switch : return OpCodes.Switch;
+ case Code.Ldind_I1 : return OpCodes.Ldind_I1;
+ case Code.Ldind_U1 : return OpCodes.Ldind_U1;
+ case Code.Ldind_I2 : return OpCodes.Ldind_I2;
+ case Code.Ldind_U2 : return OpCodes.Ldind_U2;
+ case Code.Ldind_I4 : return OpCodes.Ldind_I4;
+ case Code.Ldind_U4 : return OpCodes.Ldind_U4;
+ case Code.Ldind_I8 : return OpCodes.Ldind_I8;
+ case Code.Ldind_I : return OpCodes.Ldind_I;
+ case Code.Ldind_R4 : return OpCodes.Ldind_R4;
+ case Code.Ldind_R8 : return OpCodes.Ldind_R8;
+ case Code.Ldind_Ref : return OpCodes.Ldind_Ref;
+ case Code.Stind_Ref : return OpCodes.Stind_Ref;
+ case Code.Stind_I1 : return OpCodes.Stind_I1;
+ case Code.Stind_I2 : return OpCodes.Stind_I2;
+ case Code.Stind_I4 : return OpCodes.Stind_I4;
+ case Code.Stind_I8 : return OpCodes.Stind_I8;
+ case Code.Stind_R4 : return OpCodes.Stind_R4;
+ case Code.Stind_R8 : return OpCodes.Stind_R8;
+ case Code.Add : return OpCodes.Add;
+ case Code.Sub : return OpCodes.Sub;
+ case Code.Mul : return OpCodes.Mul;
+ case Code.Div : return OpCodes.Div;
+ case Code.Div_Un : return OpCodes.Div_Un;
+ case Code.Rem : return OpCodes.Rem;
+ case Code.Rem_Un : return OpCodes.Rem_Un;
+ case Code.And : return OpCodes.And;
+ case Code.Or : return OpCodes.Or;
+ case Code.Xor : return OpCodes.Xor;
+ case Code.Shl : return OpCodes.Shl;
+ case Code.Shr : return OpCodes.Shr;
+ case Code.Shr_Un : return OpCodes.Shr_Un;
+ case Code.Neg : return OpCodes.Neg;
+ case Code.Not : return OpCodes.Not;
+ case Code.Conv_I1 : return OpCodes.Conv_I1;
+ case Code.Conv_I2 : return OpCodes.Conv_I2;
+ case Code.Conv_I4 : return OpCodes.Conv_I4;
+ case Code.Conv_I8 : return OpCodes.Conv_I8;
+ case Code.Conv_R4 : return OpCodes.Conv_R4;
+ case Code.Conv_R8 : return OpCodes.Conv_R8;
+ case Code.Conv_U4 : return OpCodes.Conv_U4;
+ case Code.Conv_U8 : return OpCodes.Conv_U8;
+ case Code.Callvirt : return OpCodes.Callvirt;
+ case Code.Cpobj : return OpCodes.Cpobj;
+ case Code.Ldobj : return OpCodes.Ldobj;
+ case Code.Ldstr : return OpCodes.Ldstr;
+ case Code.Newobj : return OpCodes.Newobj;
+ case Code.Castclass : return OpCodes.Castclass;
+ case Code.Isinst : return OpCodes.Isinst;
+ case Code.Conv_R_Un : return OpCodes.Conv_R_Un;
+ case Code.Unbox : return OpCodes.Unbox;
+ case Code.Throw : return OpCodes.Throw;
+ case Code.Ldfld : return OpCodes.Ldfld;
+ case Code.Ldflda : return OpCodes.Ldflda;
+ case Code.Stfld : return OpCodes.Stfld;
+ case Code.Ldsfld : return OpCodes.Ldsfld;
+ case Code.Ldsflda : return OpCodes.Ldsflda;
+ case Code.Stsfld : return OpCodes.Stsfld;
+ case Code.Stobj : return OpCodes.Stobj;
+ case Code.Conv_Ovf_I1_Un : return OpCodes.Conv_Ovf_I1_Un;
+ case Code.Conv_Ovf_I2_Un : return OpCodes.Conv_Ovf_I2_Un;
+ case Code.Conv_Ovf_I4_Un : return OpCodes.Conv_Ovf_I4_Un;
+ case Code.Conv_Ovf_I8_Un : return OpCodes.Conv_Ovf_I8_Un;
+ case Code.Conv_Ovf_U1_Un : return OpCodes.Conv_Ovf_U1_Un;
+ case Code.Conv_Ovf_U2_Un : return OpCodes.Conv_Ovf_U2_Un;
+ case Code.Conv_Ovf_U4_Un : return OpCodes.Conv_Ovf_U4_Un;
+ case Code.Conv_Ovf_U8_Un : return OpCodes.Conv_Ovf_U8_Un;
+ case Code.Conv_Ovf_I_Un : return OpCodes.Conv_Ovf_I_Un;
+ case Code.Conv_Ovf_U_Un : return OpCodes.Conv_Ovf_U_Un;
+ case Code.Box : return OpCodes.Box;
+ case Code.Newarr : return OpCodes.Newarr;
+ case Code.Ldlen : return OpCodes.Ldlen;
+ case Code.Ldelema : return OpCodes.Ldelema;
+ case Code.Ldelem_I1 : return OpCodes.Ldelem_I1;
+ case Code.Ldelem_U1 : return OpCodes.Ldelem_U1;
+ case Code.Ldelem_I2 : return OpCodes.Ldelem_I2;
+ case Code.Ldelem_U2 : return OpCodes.Ldelem_U2;
+ case Code.Ldelem_I4 : return OpCodes.Ldelem_I4;
+ case Code.Ldelem_U4 : return OpCodes.Ldelem_U4;
+ case Code.Ldelem_I8 : return OpCodes.Ldelem_I8;
+ case Code.Ldelem_I : return OpCodes.Ldelem_I;
+ case Code.Ldelem_R4 : return OpCodes.Ldelem_R4;
+ case Code.Ldelem_R8 : return OpCodes.Ldelem_R8;
+ case Code.Ldelem_Ref : return OpCodes.Ldelem_Ref;
+ case Code.Stelem_I : return OpCodes.Stelem_I;
+ case Code.Stelem_I1 : return OpCodes.Stelem_I1;
+ case Code.Stelem_I2 : return OpCodes.Stelem_I2;
+ case Code.Stelem_I4 : return OpCodes.Stelem_I4;
+ case Code.Stelem_I8 : return OpCodes.Stelem_I8;
+ case Code.Stelem_R4 : return OpCodes.Stelem_R4;
+ case Code.Stelem_R8 : return OpCodes.Stelem_R8;
+ case Code.Stelem_Ref : return OpCodes.Stelem_Ref;
+ case Code.Ldelem_Any : return OpCodes.Ldelem_Any;
+ case Code.Stelem_Any : return OpCodes.Stelem_Any;
+ case Code.Unbox_Any : return OpCodes.Unbox_Any;
+ case Code.Conv_Ovf_I1 : return OpCodes.Conv_Ovf_I1;
+ case Code.Conv_Ovf_U1 : return OpCodes.Conv_Ovf_U1;
+ case Code.Conv_Ovf_I2 : return OpCodes.Conv_Ovf_I2;
+ case Code.Conv_Ovf_U2 : return OpCodes.Conv_Ovf_U2;
+ case Code.Conv_Ovf_I4 : return OpCodes.Conv_Ovf_I4;
+ case Code.Conv_Ovf_U4 : return OpCodes.Conv_Ovf_U4;
+ case Code.Conv_Ovf_I8 : return OpCodes.Conv_Ovf_I8;
+ case Code.Conv_Ovf_U8 : return OpCodes.Conv_Ovf_U8;
+ case Code.Refanyval : return OpCodes.Refanyval;
+ case Code.Ckfinite : return OpCodes.Ckfinite;
+ case Code.Mkrefany : return OpCodes.Mkrefany;
+ case Code.Ldtoken : return OpCodes.Ldtoken;
+ case Code.Conv_U2 : return OpCodes.Conv_U2;
+ case Code.Conv_U1 : return OpCodes.Conv_U1;
+ case Code.Conv_I : return OpCodes.Conv_I;
+ case Code.Conv_Ovf_I : return OpCodes.Conv_Ovf_I;
+ case Code.Conv_Ovf_U : return OpCodes.Conv_Ovf_U;
+ case Code.Add_Ovf : return OpCodes.Add_Ovf;
+ case Code.Add_Ovf_Un : return OpCodes.Add_Ovf_Un;
+ case Code.Mul_Ovf : return OpCodes.Mul_Ovf;
+ case Code.Mul_Ovf_Un : return OpCodes.Mul_Ovf_Un;
+ case Code.Sub_Ovf : return OpCodes.Sub_Ovf;
+ case Code.Sub_Ovf_Un : return OpCodes.Sub_Ovf_Un;
+ case Code.Endfinally : return OpCodes.Endfinally;
+ case Code.Leave : return OpCodes.Leave;
+ case Code.Leave_S : return OpCodes.Leave_S;
+ case Code.Stind_I : return OpCodes.Stind_I;
+ case Code.Conv_U : return OpCodes.Conv_U;
+ case Code.Arglist : return OpCodes.Arglist;
+ case Code.Ceq : return OpCodes.Ceq;
+ case Code.Cgt : return OpCodes.Cgt;
+ case Code.Cgt_Un : return OpCodes.Cgt_Un;
+ case Code.Clt : return OpCodes.Clt;
+ case Code.Clt_Un : return OpCodes.Clt_Un;
+ case Code.Ldftn : return OpCodes.Ldftn;
+ case Code.Ldvirtftn : return OpCodes.Ldvirtftn;
+ case Code.Ldarg : return OpCodes.Ldarg;
+ case Code.Ldarga : return OpCodes.Ldarga;
+ case Code.Starg : return OpCodes.Starg;
+ case Code.Ldloc : return OpCodes.Ldloc;
+ case Code.Ldloca : return OpCodes.Ldloca;
+ case Code.Stloc : return OpCodes.Stloc;
+ case Code.Localloc : return OpCodes.Localloc;
+ case Code.Endfilter : return OpCodes.Endfilter;
+ case Code.Unaligned : return OpCodes.Unaligned;
+ case Code.Volatile : return OpCodes.Volatile;
+ case Code.Tail : return OpCodes.Tail;
+ case Code.Initobj : return OpCodes.Initobj;
+ case Code.Constrained : return OpCodes.Constrained;
+ case Code.Cpblk : return OpCodes.Cpblk;
+ case Code.Initblk : return OpCodes.Initblk;
+ case Code.No : return OpCodes.No;
+ case Code.Rethrow : return OpCodes.Rethrow;
+ case Code.Sizeof : return OpCodes.Sizeof;
+ case Code.Refanytype : return OpCodes.Refanytype;
+ case Code.Readonly : return OpCodes.Readonly;
+ default : return OpCodes.Nop;
+ }
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/OperandType.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/OperandType.cs
new file mode 100644
index 00000000000..9284ae6030e
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/OperandType.cs
@@ -0,0 +1,53 @@
+//
+// OperandType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal enum OperandType {
+ InlineBrTarget,
+ InlineField,
+ InlineI,
+ InlineI8,
+ InlineMethod,
+ InlineNone,
+ InlinePhi,
+ InlineR,
+ InlineSig,
+ InlineString,
+ InlineSwitch,
+ InlineTok,
+ InlineType,
+ InlineVar,
+ InlineParam,
+ ShortInlineBrTarget,
+ ShortInlineI,
+ ShortInlineR,
+ ShortInlineVar,
+ ShortInlineParam
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/Scope.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/Scope.cs
new file mode 100644
index 00000000000..d941cc0e444
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/Scope.cs
@@ -0,0 +1,79 @@
+//
+// Scope.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal class Scope : IScopeProvider, IVariableDefinitionProvider, ICodeVisitable {
+
+ Instruction m_start;
+ Instruction m_end;
+
+ Scope m_parent;
+ ScopeCollection m_scopes;
+
+ VariableDefinitionCollection m_variables;
+
+ public Instruction Start {
+ get { return m_start; }
+ set { m_start = value; }
+ }
+
+ public Instruction End {
+ get { return m_end; }
+ set { m_end = value; }
+ }
+
+ public Scope Parent {
+ get { return m_parent; }
+ set { m_parent = value; }
+ }
+
+ public ScopeCollection Scopes {
+ get {
+ if (m_scopes == null)
+ m_scopes = new ScopeCollection (this);
+
+ return m_scopes;
+ }
+ }
+
+ public VariableDefinitionCollection Variables {
+ get {
+ if (m_variables == null)
+ m_variables = new VariableDefinitionCollection (this);
+
+ return m_variables;
+ }
+ }
+
+ public void Accept (ICodeVisitor visitor)
+ {
+ visitor.VisitScope (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/ScopeCollection.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/ScopeCollection.cs
new file mode 100644
index 00000000000..b9eda3433c5
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/ScopeCollection.cs
@@ -0,0 +1,93 @@
+//
+// ScopeCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Wed Sep 27 12:46:54 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class ScopeCollection : CollectionBase, ICodeVisitable {
+
+ IScopeProvider m_container;
+
+ public Scope this [int index] {
+ get { return List [index] as Scope; }
+ set { List [index] = value; }
+ }
+
+ public IScopeProvider Container {
+ get { return m_container; }
+ }
+
+ public ScopeCollection (IScopeProvider container)
+ {
+ m_container = container;
+ }
+
+ public void Add (Scope value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (Scope value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (Scope value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, Scope value)
+ {
+ List.Insert (index, value);
+ }
+
+ public void Remove (Scope value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is Scope))
+ throw new ArgumentException ("Must be of type " + typeof (Scope).FullName);
+ }
+
+ public void Accept (ICodeVisitor visitor)
+ {
+ visitor.VisitScopeCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/SequencePoint.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/SequencePoint.cs
new file mode 100644
index 00000000000..070475641d0
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/SequencePoint.cs
@@ -0,0 +1,78 @@
+//
+// SequencePoint.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal class SequencePoint {
+
+ Document m_document;
+
+ int m_startLine;
+ int m_startColumn;
+ int m_endLine;
+ int m_endColumn;
+
+ public int StartLine {
+ get { return m_startLine; }
+ set { m_startLine = value; }
+ }
+
+ public int StartColumn {
+ get { return m_startColumn; }
+ set { m_startColumn = value; }
+ }
+
+ public int EndLine {
+ get { return m_endLine; }
+ set { m_endLine = value; }
+ }
+
+ public int EndColumn {
+ get { return m_endColumn; }
+ set { m_endColumn = value; }
+ }
+
+ public Document Document {
+ get { return m_document; }
+ set { m_document = value; }
+ }
+
+ public SequencePoint (Document document)
+ {
+ m_document = document;
+ }
+
+ public SequencePoint (Document doc, int startLine, int startCol, int endLine, int endCol) : this (doc)
+ {
+ m_startLine = startLine;
+ m_startColumn = startCol;
+ m_endLine = endLine;
+ m_endColumn = endCol;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/StackBehaviour.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/StackBehaviour.cs
new file mode 100644
index 00000000000..91c0eba3897
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/StackBehaviour.cs
@@ -0,0 +1,62 @@
+//
+// StackBehaviour.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal enum StackBehaviour {
+ Pop0,
+ Pop1,
+ Pop1_pop1,
+ Popi,
+ Popi_pop1,
+ Popi_popi,
+ Popi_popi8,
+ Popi_popi_popi,
+ Popi_popr4,
+ Popi_popr8,
+ Popref,
+ Popref_pop1,
+ Popref_popi,
+ Popref_popi_popi,
+ Popref_popi_popi8,
+ Popref_popi_popr4,
+ Popref_popi_popr8,
+ Popref_popi_popref,
+ PopAll,
+ Push0,
+ Push1,
+ Push1_push1,
+ Pushi,
+ Pushi8,
+ Pushr4,
+ Pushr8,
+ Pushref,
+ Varpop,
+ Varpush
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/SymbolStoreHelper.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/SymbolStoreHelper.cs
index 5abf3a2e115..5abf3a2e115 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Cil/SymbolStoreHelper.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/SymbolStoreHelper.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/VariableDefinition.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/VariableDefinition.cs
new file mode 100644
index 00000000000..74c1c4d05d1
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/VariableDefinition.cs
@@ -0,0 +1,60 @@
+//
+// VariableDefinition.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal sealed class VariableDefinition : VariableReference {
+
+ MethodDefinition m_method;
+
+ public MethodDefinition Method {
+ get { return m_method; }
+ set { m_method = value; }
+ }
+
+ public VariableDefinition (TypeReference variableType) : base (variableType)
+ {
+ }
+
+ public VariableDefinition (string name, int index, MethodDefinition method, TypeReference variableType) :
+ base (name, index, variableType)
+ {
+ m_method = method;
+ }
+
+ public override VariableDefinition Resolve ()
+ {
+ return this;
+ }
+
+ public override void Accept (ICodeVisitor visitor)
+ {
+ visitor.VisitVariableDefinition (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/VariableDefinitionCollection.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/VariableDefinitionCollection.cs
new file mode 100644
index 00000000000..6f016041c20
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/VariableDefinitionCollection.cs
@@ -0,0 +1,93 @@
+//
+// VariableDefinitionCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Wed Sep 27 12:46:53 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class VariableDefinitionCollection : CollectionBase, ICodeVisitable {
+
+ IVariableDefinitionProvider m_container;
+
+ public VariableDefinition this [int index] {
+ get { return List [index] as VariableDefinition; }
+ set { List [index] = value; }
+ }
+
+ public IVariableDefinitionProvider Container {
+ get { return m_container; }
+ }
+
+ public VariableDefinitionCollection (IVariableDefinitionProvider container)
+ {
+ m_container = container;
+ }
+
+ public void Add (VariableDefinition value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (VariableDefinition value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (VariableDefinition value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, VariableDefinition value)
+ {
+ List.Insert (index, value);
+ }
+
+ public void Remove (VariableDefinition value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is VariableDefinition))
+ throw new ArgumentException ("Must be of type " + typeof (VariableDefinition).FullName);
+ }
+
+ public void Accept (ICodeVisitor visitor)
+ {
+ visitor.VisitVariableDefinitionCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Cil/VariableReference.cs b/mcs/tools/cil-strip/Mono.Cecil.Cil/VariableReference.cs
new file mode 100644
index 00000000000..a8cace1cf25
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Cil/VariableReference.cs
@@ -0,0 +1,75 @@
+//
+// VariableReference.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Cil {
+
+ internal abstract class VariableReference : ICodeVisitable {
+
+ string m_name;
+ int m_index;
+ TypeReference m_variableType;
+
+ public string Name {
+ get { return m_name; }
+ set { m_name = value; }
+ }
+
+ public int Index {
+ get { return m_index; }
+ set { m_index = value; }
+ }
+
+ public TypeReference VariableType {
+ get { return m_variableType; }
+ set { m_variableType = value; }
+ }
+
+ public VariableReference (TypeReference variableType)
+ {
+ m_variableType = variableType;
+ }
+
+ public VariableReference (string name, int index, TypeReference variableType) : this (variableType)
+ {
+ m_name = name;
+ m_index = index;
+ }
+
+ public abstract VariableDefinition Resolve ();
+
+ public override string ToString ()
+ {
+ if (m_name != null && m_name.Length > 0)
+ return m_name;
+
+ return string.Concat ("V_", m_index);
+ }
+
+ public abstract void Accept (ICodeVisitor visitor);
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/Assembly.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Assembly.cs
new file mode 100644
index 00000000000..d72fdabbcdf
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Assembly.cs
@@ -0,0 +1,88 @@
+//
+// AssemblyTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:25 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil;
+
+ internal sealed class AssemblyTable : IMetadataTable {
+
+ public const int RId = 0x20;
+
+ RowCollection m_rows;
+
+ public AssemblyRow this [int index] {
+ get { return m_rows [index] as AssemblyRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal AssemblyTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitAssemblyTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class AssemblyRow : IMetadataRow {
+
+ public AssemblyHashAlgorithm HashAlgId;
+ public ushort MajorVersion;
+ public ushort MinorVersion;
+ public ushort BuildNumber;
+ public ushort RevisionNumber;
+ public AssemblyFlags Flags;
+ public uint PublicKey;
+ public uint Name;
+ public uint Culture;
+
+ internal AssemblyRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitAssemblyRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyOS.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyOS.cs
new file mode 100644
index 00000000000..a87ce9492f8
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyOS.cs
@@ -0,0 +1,80 @@
+//
+// AssemblyOSTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:25 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class AssemblyOSTable : IMetadataTable {
+
+ public const int RId = 0x22;
+
+ RowCollection m_rows;
+
+ public AssemblyOSRow this [int index] {
+ get { return m_rows [index] as AssemblyOSRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal AssemblyOSTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitAssemblyOSTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class AssemblyOSRow : IMetadataRow {
+
+ public uint OSPlatformID;
+ public uint OSMajorVersion;
+ public uint OSMinorVersion;
+
+ internal AssemblyOSRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitAssemblyOSRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyProcessor.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyProcessor.cs
new file mode 100644
index 00000000000..f46d227756a
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyProcessor.cs
@@ -0,0 +1,78 @@
+//
+// AssemblyProcessorTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:25 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class AssemblyProcessorTable : IMetadataTable {
+
+ public const int RId = 0x21;
+
+ RowCollection m_rows;
+
+ public AssemblyProcessorRow this [int index] {
+ get { return m_rows [index] as AssemblyProcessorRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal AssemblyProcessorTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitAssemblyProcessorTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class AssemblyProcessorRow : IMetadataRow {
+
+ public uint Processor;
+
+ internal AssemblyProcessorRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitAssemblyProcessorRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyRef.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyRef.cs
new file mode 100644
index 00000000000..9dbff40c276
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyRef.cs
@@ -0,0 +1,88 @@
+//
+// AssemblyRefTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:25 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil;
+
+ internal sealed class AssemblyRefTable : IMetadataTable {
+
+ public const int RId = 0x23;
+
+ RowCollection m_rows;
+
+ public AssemblyRefRow this [int index] {
+ get { return m_rows [index] as AssemblyRefRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal AssemblyRefTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitAssemblyRefTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class AssemblyRefRow : IMetadataRow {
+
+ public ushort MajorVersion;
+ public ushort MinorVersion;
+ public ushort BuildNumber;
+ public ushort RevisionNumber;
+ public AssemblyFlags Flags;
+ public uint PublicKeyOrToken;
+ public uint Name;
+ public uint Culture;
+ public uint HashValue;
+
+ internal AssemblyRefRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitAssemblyRefRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyRefOS.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyRefOS.cs
new file mode 100644
index 00000000000..858651d51ba
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyRefOS.cs
@@ -0,0 +1,81 @@
+//
+// AssemblyRefOSTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:25 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class AssemblyRefOSTable : IMetadataTable {
+
+ public const int RId = 0x25;
+
+ RowCollection m_rows;
+
+ public AssemblyRefOSRow this [int index] {
+ get { return m_rows [index] as AssemblyRefOSRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal AssemblyRefOSTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitAssemblyRefOSTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class AssemblyRefOSRow : IMetadataRow {
+
+ public uint OSPlatformID;
+ public uint OSMajorVersion;
+ public uint OSMinorVersion;
+ public uint AssemblyRef;
+
+ internal AssemblyRefOSRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitAssemblyRefOSRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyRefProcessor.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyRefProcessor.cs
new file mode 100644
index 00000000000..744a356b385
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/AssemblyRefProcessor.cs
@@ -0,0 +1,79 @@
+//
+// AssemblyRefProcessorTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:25 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class AssemblyRefProcessorTable : IMetadataTable {
+
+ public const int RId = 0x24;
+
+ RowCollection m_rows;
+
+ public AssemblyRefProcessorRow this [int index] {
+ get { return m_rows [index] as AssemblyRefProcessorRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal AssemblyRefProcessorTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitAssemblyRefProcessorTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class AssemblyRefProcessorRow : IMetadataRow {
+
+ public uint Processor;
+ public uint AssemblyRef;
+
+ internal AssemblyRefProcessorRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitAssemblyRefProcessorRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/BaseMetadataVisitor.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/BaseMetadataVisitor.cs
new file mode 100644
index 00000000000..7a1baf65e3d
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/BaseMetadataVisitor.cs
@@ -0,0 +1,448 @@
+//
+// BaseMetadataVisitor.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Thu Feb 22 14:39:38 CET 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal abstract class BaseMetadataVisitor : IMetadataVisitor {
+
+ public virtual void VisitMetadataRoot (MetadataRoot root)
+ {
+ }
+
+ public virtual void VisitMetadataRootHeader (MetadataRoot.MetadataRootHeader header)
+ {
+ }
+
+ public virtual void VisitMetadataStreamCollection (MetadataStreamCollection streams)
+ {
+ }
+
+ public virtual void VisitMetadataStream (MetadataStream stream)
+ {
+ }
+
+ public virtual void VisitMetadataStreamHeader (MetadataStream.MetadataStreamHeader header)
+ {
+ }
+
+ public virtual void VisitGuidHeap (GuidHeap heap)
+ {
+ }
+
+ public virtual void VisitStringsHeap (StringsHeap heap)
+ {
+ }
+
+ public virtual void VisitTablesHeap (TablesHeap heap)
+ {
+ }
+
+ public virtual void VisitBlobHeap (BlobHeap heap)
+ {
+ }
+
+ public virtual void VisitUserStringsHeap (UserStringsHeap heap)
+ {
+ }
+
+ public virtual void TerminateMetadataRoot (MetadataRoot root)
+ {
+ }
+ }
+
+ internal abstract class BaseMetadataTableVisitor : IMetadataTableVisitor {
+
+ public virtual void VisitTableCollection (TableCollection coll)
+ {
+ }
+
+ public virtual void VisitAssemblyTable (AssemblyTable table)
+ {
+ }
+
+ public virtual void VisitAssemblyOSTable (AssemblyOSTable table)
+ {
+ }
+
+ public virtual void VisitAssemblyProcessorTable (AssemblyProcessorTable table)
+ {
+ }
+
+ public virtual void VisitAssemblyRefTable (AssemblyRefTable table)
+ {
+ }
+
+ public virtual void VisitAssemblyRefOSTable (AssemblyRefOSTable table)
+ {
+ }
+
+ public virtual void VisitAssemblyRefProcessorTable (AssemblyRefProcessorTable table)
+ {
+ }
+
+ public virtual void VisitClassLayoutTable (ClassLayoutTable table)
+ {
+ }
+
+ public virtual void VisitConstantTable (ConstantTable table)
+ {
+ }
+
+ public virtual void VisitCustomAttributeTable (CustomAttributeTable table)
+ {
+ }
+
+ public virtual void VisitDeclSecurityTable (DeclSecurityTable table)
+ {
+ }
+
+ public virtual void VisitEventTable (EventTable table)
+ {
+ }
+
+ public virtual void VisitEventMapTable (EventMapTable table)
+ {
+ }
+
+ public virtual void VisitEventPtrTable (EventPtrTable table)
+ {
+ }
+
+ public virtual void VisitExportedTypeTable (ExportedTypeTable table)
+ {
+ }
+
+ public virtual void VisitFieldTable (FieldTable table)
+ {
+ }
+
+ public virtual void VisitFieldLayoutTable (FieldLayoutTable table)
+ {
+ }
+
+ public virtual void VisitFieldMarshalTable (FieldMarshalTable table)
+ {
+ }
+
+ public virtual void VisitFieldPtrTable (FieldPtrTable table)
+ {
+ }
+
+ public virtual void VisitFieldRVATable (FieldRVATable table)
+ {
+ }
+
+ public virtual void VisitFileTable (FileTable table)
+ {
+ }
+
+ public virtual void VisitGenericParamTable (GenericParamTable table)
+ {
+ }
+
+ public virtual void VisitGenericParamConstraintTable (GenericParamConstraintTable table)
+ {
+ }
+
+ public virtual void VisitImplMapTable (ImplMapTable table)
+ {
+ }
+
+ public virtual void VisitInterfaceImplTable (InterfaceImplTable table)
+ {
+ }
+
+ public virtual void VisitManifestResourceTable (ManifestResourceTable table)
+ {
+ }
+
+ public virtual void VisitMemberRefTable (MemberRefTable table)
+ {
+ }
+
+ public virtual void VisitMethodTable (MethodTable table)
+ {
+ }
+
+ public virtual void VisitMethodImplTable (MethodImplTable table)
+ {
+ }
+
+ public virtual void VisitMethodPtrTable (MethodPtrTable table)
+ {
+ }
+
+ public virtual void VisitMethodSemanticsTable (MethodSemanticsTable table)
+ {
+ }
+
+ public virtual void VisitMethodSpecTable (MethodSpecTable table)
+ {
+ }
+
+ public virtual void VisitModuleTable (ModuleTable table)
+ {
+ }
+
+ public virtual void VisitModuleRefTable (ModuleRefTable table)
+ {
+ }
+
+ public virtual void VisitNestedClassTable (NestedClassTable table)
+ {
+ }
+
+ public virtual void VisitParamTable (ParamTable table)
+ {
+ }
+
+ public virtual void VisitParamPtrTable (ParamPtrTable table)
+ {
+ }
+
+ public virtual void VisitPropertyTable (PropertyTable table)
+ {
+ }
+
+ public virtual void VisitPropertyMapTable (PropertyMapTable table)
+ {
+ }
+
+ public virtual void VisitPropertyPtrTable (PropertyPtrTable table)
+ {
+ }
+
+ public virtual void VisitStandAloneSigTable (StandAloneSigTable table)
+ {
+ }
+
+ public virtual void VisitTypeDefTable (TypeDefTable table)
+ {
+ }
+
+ public virtual void VisitTypeRefTable (TypeRefTable table)
+ {
+ }
+
+ public virtual void VisitTypeSpecTable (TypeSpecTable table)
+ {
+ }
+
+ public virtual void TerminateTableCollection (TableCollection coll)
+ {
+ }
+
+ public abstract IMetadataRowVisitor GetRowVisitor();
+ }
+
+ internal abstract class BaseMetadataRowVisitor : IMetadataRowVisitor {
+
+ public virtual void VisitRowCollection (RowCollection coll)
+ {
+ }
+
+ public virtual void VisitAssemblyRow (AssemblyRow row)
+ {
+ }
+
+ public virtual void VisitAssemblyOSRow (AssemblyOSRow row)
+ {
+ }
+
+ public virtual void VisitAssemblyProcessorRow (AssemblyProcessorRow row)
+ {
+ }
+
+ public virtual void VisitAssemblyRefRow (AssemblyRefRow row)
+ {
+ }
+
+ public virtual void VisitAssemblyRefOSRow (AssemblyRefOSRow row)
+ {
+ }
+
+ public virtual void VisitAssemblyRefProcessorRow (AssemblyRefProcessorRow row)
+ {
+ }
+
+ public virtual void VisitClassLayoutRow (ClassLayoutRow row)
+ {
+ }
+
+ public virtual void VisitConstantRow (ConstantRow row)
+ {
+ }
+
+ public virtual void VisitCustomAttributeRow (CustomAttributeRow row)
+ {
+ }
+
+ public virtual void VisitDeclSecurityRow (DeclSecurityRow row)
+ {
+ }
+
+ public virtual void VisitEventRow (EventRow row)
+ {
+ }
+
+ public virtual void VisitEventMapRow (EventMapRow row)
+ {
+ }
+
+ public virtual void VisitEventPtrRow (EventPtrRow row)
+ {
+ }
+
+ public virtual void VisitExportedTypeRow (ExportedTypeRow row)
+ {
+ }
+
+ public virtual void VisitFieldRow (FieldRow row)
+ {
+ }
+
+ public virtual void VisitFieldLayoutRow (FieldLayoutRow row)
+ {
+ }
+
+ public virtual void VisitFieldMarshalRow (FieldMarshalRow row)
+ {
+ }
+
+ public virtual void VisitFieldPtrRow (FieldPtrRow row)
+ {
+ }
+
+ public virtual void VisitFieldRVARow (FieldRVARow row)
+ {
+ }
+
+ public virtual void VisitFileRow (FileRow row)
+ {
+ }
+
+ public virtual void VisitGenericParamRow (GenericParamRow row)
+ {
+ }
+
+ public virtual void VisitGenericParamConstraintRow (GenericParamConstraintRow row)
+ {
+ }
+
+ public virtual void VisitImplMapRow (ImplMapRow row)
+ {
+ }
+
+ public virtual void VisitInterfaceImplRow (InterfaceImplRow row)
+ {
+ }
+
+ public virtual void VisitManifestResourceRow (ManifestResourceRow row)
+ {
+ }
+
+ public virtual void VisitMemberRefRow (MemberRefRow row)
+ {
+ }
+
+ public virtual void VisitMethodRow (MethodRow row)
+ {
+ }
+
+ public virtual void VisitMethodImplRow (MethodImplRow row)
+ {
+ }
+
+ public virtual void VisitMethodPtrRow (MethodPtrRow row)
+ {
+ }
+
+ public virtual void VisitMethodSemanticsRow (MethodSemanticsRow row)
+ {
+ }
+
+ public virtual void VisitMethodSpecRow (MethodSpecRow row)
+ {
+ }
+
+ public virtual void VisitModuleRow (ModuleRow row)
+ {
+ }
+
+ public virtual void VisitModuleRefRow (ModuleRefRow row)
+ {
+ }
+
+ public virtual void VisitNestedClassRow (NestedClassRow row)
+ {
+ }
+
+ public virtual void VisitParamRow (ParamRow row)
+ {
+ }
+
+ public virtual void VisitParamPtrRow (ParamPtrRow row)
+ {
+ }
+
+ public virtual void VisitPropertyRow (PropertyRow row)
+ {
+ }
+
+ public virtual void VisitPropertyMapRow (PropertyMapRow row)
+ {
+ }
+
+ public virtual void VisitPropertyPtrRow (PropertyPtrRow row)
+ {
+ }
+
+ public virtual void VisitStandAloneSigRow (StandAloneSigRow row)
+ {
+ }
+
+ public virtual void VisitTypeDefRow (TypeDefRow row)
+ {
+ }
+
+ public virtual void VisitTypeRefRow (TypeRefRow row)
+ {
+ }
+
+ public virtual void VisitTypeSpecRow (TypeSpecRow row)
+ {
+ }
+
+ public virtual void TerminateRowCollection (RowCollection coll)
+ {
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/BlobHeap.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/BlobHeap.cs
new file mode 100644
index 00000000000..63adb290894
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/BlobHeap.cs
@@ -0,0 +1,90 @@
+//
+// BlobHeap.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using System;
+ using System.Collections;
+ using System.IO;
+
+ internal class BlobHeap : MetadataHeap {
+
+ internal BlobHeap (MetadataStream stream) : base (stream, MetadataStream.Blob)
+ {
+ }
+
+ public byte [] Read (uint index)
+ {
+ return ReadBytesFromStream (index);
+ }
+
+ public BinaryReader GetReader (uint index)
+ {
+ return new BinaryReader (new MemoryStream (Read (index)));
+ }
+
+ public override void Accept (IMetadataVisitor visitor)
+ {
+ visitor.VisitBlobHeap (this);
+ }
+ }
+
+ class ByteArrayEqualityComparer : IHashCodeProvider, IComparer {
+
+ public static readonly ByteArrayEqualityComparer Instance = new ByteArrayEqualityComparer ();
+
+ public int GetHashCode (object obj)
+ {
+ byte [] array = (byte []) obj;
+
+ int hash = 0;
+ for (int i = 0; i < array.Length; i++)
+ hash = (hash * 37) ^ array [i];
+
+ return hash;
+ }
+
+ public int Compare (object a, object b)
+ {
+ byte [] x = (byte []) a;
+ byte [] y = (byte []) b;
+
+ if (x == null || y == null)
+ return x == y ? 0 : 1;
+
+ if (x.Length != y.Length)
+ return 1;
+
+ for (int i = 0; i < x.Length; i++)
+ if (x [i] != y [i])
+ return 1;
+
+ return 0;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/ClassLayout.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/ClassLayout.cs
new file mode 100644
index 00000000000..cb937eca553
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/ClassLayout.cs
@@ -0,0 +1,80 @@
+//
+// ClassLayoutTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:25 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class ClassLayoutTable : IMetadataTable {
+
+ public const int RId = 0x0f;
+
+ RowCollection m_rows;
+
+ public ClassLayoutRow this [int index] {
+ get { return m_rows [index] as ClassLayoutRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal ClassLayoutTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitClassLayoutTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class ClassLayoutRow : IMetadataRow {
+
+ public ushort PackingSize;
+ public uint ClassSize;
+ public uint Parent;
+
+ internal ClassLayoutRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitClassLayoutRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/CodedIndex.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/CodedIndex.cs
new file mode 100644
index 00000000000..c8e1e1ea677
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/CodedIndex.cs
@@ -0,0 +1,49 @@
+//
+// CodedIndex.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Mar 20 16:02:16 +0100 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal enum CodedIndex {
+ TypeDefOrRef,
+ HasConstant,
+ HasCustomAttribute,
+ HasFieldMarshal,
+ HasDeclSecurity,
+ MemberRefParent,
+ HasSemantics,
+ MethodDefOrRef,
+ MemberForwarded,
+ Implementation,
+ CustomAttributeType,
+ ResolutionScope,
+ TypeOrMethodDef
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/Constant.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Constant.cs
new file mode 100644
index 00000000000..c109fdf9335
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Constant.cs
@@ -0,0 +1,80 @@
+//
+// ConstantTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:25 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class ConstantTable : IMetadataTable {
+
+ public const int RId = 0x0b;
+
+ RowCollection m_rows;
+
+ public ConstantRow this [int index] {
+ get { return m_rows [index] as ConstantRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal ConstantTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitConstantTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class ConstantRow : IMetadataRow {
+
+ public ElementType Type;
+ public MetadataToken Parent;
+ public uint Value;
+
+ internal ConstantRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitConstantRow (this);
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/CultureUtils.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/CultureUtils.cs
index 24c319c5cfe..24c319c5cfe 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/CultureUtils.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/CultureUtils.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/CustomAttribute.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/CustomAttribute.cs
new file mode 100644
index 00000000000..ce49b8f8db8
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/CustomAttribute.cs
@@ -0,0 +1,80 @@
+//
+// CustomAttributeTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:25 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class CustomAttributeTable : IMetadataTable {
+
+ public const int RId = 0x0c;
+
+ RowCollection m_rows;
+
+ public CustomAttributeRow this [int index] {
+ get { return m_rows [index] as CustomAttributeRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal CustomAttributeTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitCustomAttributeTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class CustomAttributeRow : IMetadataRow {
+
+ public MetadataToken Parent;
+ public MetadataToken Type;
+ public uint Value;
+
+ internal CustomAttributeRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitCustomAttributeRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/DeclSecurity.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/DeclSecurity.cs
new file mode 100644
index 00000000000..78784ade2f5
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/DeclSecurity.cs
@@ -0,0 +1,82 @@
+//
+// DeclSecurityTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil;
+
+ internal sealed class DeclSecurityTable : IMetadataTable {
+
+ public const int RId = 0x0e;
+
+ RowCollection m_rows;
+
+ public DeclSecurityRow this [int index] {
+ get { return m_rows [index] as DeclSecurityRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal DeclSecurityTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitDeclSecurityTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class DeclSecurityRow : IMetadataRow {
+
+ public SecurityAction Action;
+ public MetadataToken Parent;
+ public uint PermissionSet;
+
+ internal DeclSecurityRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitDeclSecurityRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/ElementType.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/ElementType.cs
new file mode 100644
index 00000000000..81b180728f4
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/ElementType.cs
@@ -0,0 +1,73 @@
+//
+// ElementType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal enum ElementType {
+ End = 0x00, // Marks end of a list
+ Void = 0x01,
+ Boolean = 0x02,
+ Char = 0x03,
+ I1 = 0x04,
+ U1 = 0x05,
+ I2 = 0x06,
+ U2 = 0x07,
+ I4 = 0x08,
+ U4 = 0x09,
+ I8 = 0x0a,
+ U8 = 0x0b,
+ R4 = 0x0c,
+ R8 = 0x0d,
+ String = 0x0e,
+ Ptr = 0x0f, // Followed by <type> token
+ ByRef = 0x10, // Followed by <type> token
+ ValueType = 0x11, // Followed by <type> token
+ Class = 0x12, // Followed by <type> token
+ Var = 0x13, // Followed by generic parameter number
+ Array = 0x14, // <type> <rank> <boundsCount> <bound1> <loCount> <lo1>
+ GenericInst = 0x15, // <type> <type-arg-count> <type-1> ... <type-n> */
+ TypedByRef = 0x16,
+ I = 0x18, // System.IntPtr
+ U = 0x19, // System.UIntPtr
+ FnPtr = 0x1b, // Followed by full method signature
+ Object = 0x1c, // System.Object
+ SzArray = 0x1d, // Single-dim array with 0 lower bound
+ MVar = 0x1e, // Followed by generic parameter number
+ CModReqD = 0x1f, // Required modifier : followed by a TypeDef or TypeRef token
+ CModOpt = 0x20, // Optional modifier : followed by a TypeDef or TypeRef token
+ Internal = 0x21, // Implemented within the CLI
+ Modifier = 0x40, // Or'd with following element types
+ Sentinel = 0x41, // Sentinel for varargs method signature
+ Pinned = 0x45, // Denotes a local variable that points at a pinned object
+
+ // special undocumented constants
+ Type = 0x50,
+ Boxed = 0x51,
+ Enum = 0x55
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/Event.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Event.cs
new file mode 100644
index 00000000000..154134d4c70
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Event.cs
@@ -0,0 +1,82 @@
+//
+// EventTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil;
+
+ internal sealed class EventTable : IMetadataTable {
+
+ public const int RId = 0x14;
+
+ RowCollection m_rows;
+
+ public EventRow this [int index] {
+ get { return m_rows [index] as EventRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal EventTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitEventTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class EventRow : IMetadataRow {
+
+ public EventAttributes EventFlags;
+ public uint Name;
+ public MetadataToken EventType;
+
+ internal EventRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitEventRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/EventMap.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/EventMap.cs
new file mode 100644
index 00000000000..58e977afbe1
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/EventMap.cs
@@ -0,0 +1,79 @@
+//
+// EventMapTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class EventMapTable : IMetadataTable {
+
+ public const int RId = 0x12;
+
+ RowCollection m_rows;
+
+ public EventMapRow this [int index] {
+ get { return m_rows [index] as EventMapRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal EventMapTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitEventMapTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class EventMapRow : IMetadataRow {
+
+ public uint Parent;
+ public uint EventList;
+
+ internal EventMapRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitEventMapRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/EventPtr.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/EventPtr.cs
new file mode 100644
index 00000000000..d719c56ca19
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/EventPtr.cs
@@ -0,0 +1,78 @@
+//
+// EventPtrTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Thu Feb 22 14:39:38 CET 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class EventPtrTable : IMetadataTable {
+
+ public const int RId = 0x13;
+
+ RowCollection m_rows;
+
+ public EventPtrRow this [int index] {
+ get { return m_rows [index] as EventPtrRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal EventPtrTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitEventPtrTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class EventPtrRow : IMetadataRow {
+
+ public uint Event;
+
+ internal EventPtrRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitEventPtrRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/ExportedType.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/ExportedType.cs
new file mode 100644
index 00000000000..316f2a1fa63
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/ExportedType.cs
@@ -0,0 +1,84 @@
+//
+// ExportedTypeTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil;
+
+ internal sealed class ExportedTypeTable : IMetadataTable {
+
+ public const int RId = 0x27;
+
+ RowCollection m_rows;
+
+ public ExportedTypeRow this [int index] {
+ get { return m_rows [index] as ExportedTypeRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal ExportedTypeTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitExportedTypeTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class ExportedTypeRow : IMetadataRow {
+
+ public TypeAttributes Flags;
+ public uint TypeDefId;
+ public uint TypeName;
+ public uint TypeNamespace;
+ public MetadataToken Implementation;
+
+ internal ExportedTypeRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitExportedTypeRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/Field.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Field.cs
new file mode 100644
index 00000000000..ddddc611187
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Field.cs
@@ -0,0 +1,82 @@
+//
+// FieldTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil;
+
+ internal sealed class FieldTable : IMetadataTable {
+
+ public const int RId = 0x04;
+
+ RowCollection m_rows;
+
+ public FieldRow this [int index] {
+ get { return m_rows [index] as FieldRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal FieldTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitFieldTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class FieldRow : IMetadataRow {
+
+ public FieldAttributes Flags;
+ public uint Name;
+ public uint Signature;
+
+ internal FieldRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitFieldRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/FieldLayout.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/FieldLayout.cs
new file mode 100644
index 00000000000..5537695855b
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/FieldLayout.cs
@@ -0,0 +1,79 @@
+//
+// FieldLayoutTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class FieldLayoutTable : IMetadataTable {
+
+ public const int RId = 0x10;
+
+ RowCollection m_rows;
+
+ public FieldLayoutRow this [int index] {
+ get { return m_rows [index] as FieldLayoutRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal FieldLayoutTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitFieldLayoutTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class FieldLayoutRow : IMetadataRow {
+
+ public uint Offset;
+ public uint Field;
+
+ internal FieldLayoutRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitFieldLayoutRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/FieldMarshal.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/FieldMarshal.cs
new file mode 100644
index 00000000000..45d3e751f6f
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/FieldMarshal.cs
@@ -0,0 +1,79 @@
+//
+// FieldMarshalTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class FieldMarshalTable : IMetadataTable {
+
+ public const int RId = 0x0d;
+
+ RowCollection m_rows;
+
+ public FieldMarshalRow this [int index] {
+ get { return m_rows [index] as FieldMarshalRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal FieldMarshalTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitFieldMarshalTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class FieldMarshalRow : IMetadataRow {
+
+ public MetadataToken Parent;
+ public uint NativeType;
+
+ internal FieldMarshalRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitFieldMarshalRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/FieldPtr.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/FieldPtr.cs
new file mode 100644
index 00000000000..5810b287292
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/FieldPtr.cs
@@ -0,0 +1,78 @@
+//
+// FieldPtrTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Thu Feb 22 14:39:38 CET 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class FieldPtrTable : IMetadataTable {
+
+ public const int RId = 0x03;
+
+ RowCollection m_rows;
+
+ public FieldPtrRow this [int index] {
+ get { return m_rows [index] as FieldPtrRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal FieldPtrTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitFieldPtrTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class FieldPtrRow : IMetadataRow {
+
+ public uint Field;
+
+ internal FieldPtrRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitFieldPtrRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/FieldRVA.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/FieldRVA.cs
new file mode 100644
index 00000000000..56af4270bc9
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/FieldRVA.cs
@@ -0,0 +1,81 @@
+//
+// FieldRVATable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil.Binary;
+
+ internal sealed class FieldRVATable : IMetadataTable {
+
+ public const int RId = 0x1d;
+
+ RowCollection m_rows;
+
+ public FieldRVARow this [int index] {
+ get { return m_rows [index] as FieldRVARow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal FieldRVATable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitFieldRVATable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class FieldRVARow : IMetadataRow {
+
+ public RVA RVA;
+ public uint Field;
+
+ internal FieldRVARow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitFieldRVARow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/File.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/File.cs
new file mode 100644
index 00000000000..af0d81bc438
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/File.cs
@@ -0,0 +1,82 @@
+//
+// FileTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil;
+
+ internal sealed class FileTable : IMetadataTable {
+
+ public const int RId = 0x26;
+
+ RowCollection m_rows;
+
+ public FileRow this [int index] {
+ get { return m_rows [index] as FileRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal FileTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitFileTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class FileRow : IMetadataRow {
+
+ public FileAttributes Flags;
+ public uint Name;
+ public uint HashValue;
+
+ internal FileRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitFileRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/GenericParam.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/GenericParam.cs
new file mode 100644
index 00000000000..2e6b578a44e
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/GenericParam.cs
@@ -0,0 +1,83 @@
+//
+// GenericParamTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil;
+
+ internal sealed class GenericParamTable : IMetadataTable {
+
+ public const int RId = 0x2a;
+
+ RowCollection m_rows;
+
+ public GenericParamRow this [int index] {
+ get { return m_rows [index] as GenericParamRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal GenericParamTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitGenericParamTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class GenericParamRow : IMetadataRow {
+
+ public ushort Number;
+ public GenericParameterAttributes Flags;
+ public MetadataToken Owner;
+ public uint Name;
+
+ internal GenericParamRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitGenericParamRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/GenericParamConstraint.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/GenericParamConstraint.cs
new file mode 100644
index 00000000000..d91c2e597dc
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/GenericParamConstraint.cs
@@ -0,0 +1,79 @@
+//
+// GenericParamConstraintTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class GenericParamConstraintTable : IMetadataTable {
+
+ public const int RId = 0x2c;
+
+ RowCollection m_rows;
+
+ public GenericParamConstraintRow this [int index] {
+ get { return m_rows [index] as GenericParamConstraintRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal GenericParamConstraintTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitGenericParamConstraintTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class GenericParamConstraintRow : IMetadataRow {
+
+ public uint Owner;
+ public MetadataToken Constraint;
+
+ internal GenericParamConstraintRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitGenericParamConstraintRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/GuidHeap.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/GuidHeap.cs
new file mode 100644
index 00000000000..46a1729493c
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/GuidHeap.cs
@@ -0,0 +1,80 @@
+//
+// GuidHeap.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using System;
+ using System.Collections;
+
+ internal class GuidHeap : MetadataHeap {
+
+ readonly IDictionary m_guids;
+
+ public IDictionary Guids {
+ get { return m_guids; }
+ }
+
+ public GuidHeap (MetadataStream stream) : base (stream, MetadataStream.GUID)
+ {
+ int capacity = (int)(stream.Header.Size / 16);
+ m_guids = new Hashtable (capacity);
+ }
+
+ public Guid this [uint index] {
+ get {
+ if (index == 0)
+ return new Guid (new byte [16]);
+
+ int idx = (int) index - 1;
+
+ if (m_guids.Contains (idx))
+ return (Guid) m_guids [idx];
+
+ if (idx + 16 > this.Data.Length)
+ throw new IndexOutOfRangeException ();
+
+ byte [] buffer = null;
+ if (this.Data.Length == 16) {
+ buffer = this.Data;
+ } else {
+ buffer = new byte [16];
+ Buffer.BlockCopy (this.Data, idx, buffer, 0, 16);
+ }
+ Guid res = new Guid (buffer);
+ m_guids [idx] = res;
+ return res;
+ }
+ set { m_guids [index] = value; }
+ }
+
+ public override void Accept (IMetadataVisitor visitor)
+ {
+ visitor.VisitGuidHeap (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/IMetadataRow.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/IMetadataRow.cs
new file mode 100644
index 00000000000..ac36673edc0
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/IMetadataRow.cs
@@ -0,0 +1,33 @@
+//
+// IMetadataRow.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal interface IMetadataRow : IMetadataRowVisitable {
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/IMetadataTable.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/IMetadataTable.cs
new file mode 100644
index 00000000000..6dfaa77f552
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/IMetadataTable.cs
@@ -0,0 +1,35 @@
+//
+// IMetadataTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal interface IMetadataTable : IMetadataTableVisitable {
+ int Id { get; }
+ RowCollection Rows { get; set; }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/IMetadataVisitable.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/IMetadataVisitable.cs
new file mode 100644
index 00000000000..3762837f256
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/IMetadataVisitable.cs
@@ -0,0 +1,42 @@
+//
+// IMetadataVisitable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal interface IMetadataVisitable {
+ void Accept (IMetadataVisitor visitor);
+ }
+
+ internal interface IMetadataTableVisitable {
+ void Accept (IMetadataTableVisitor visitor);
+ }
+
+ internal interface IMetadataRowVisitable {
+ void Accept (IMetadataRowVisitor visitor);
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/IMetadataVisitor.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/IMetadataVisitor.cs
new file mode 100644
index 00000000000..5ba6959c9a7
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/IMetadataVisitor.cs
@@ -0,0 +1,149 @@
+//
+// IMetadataVisitor.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Thu Feb 22 14:39:38 CET 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal interface IMetadataVisitor {
+ void VisitMetadataRoot (MetadataRoot root);
+ void VisitMetadataRootHeader (MetadataRoot.MetadataRootHeader header);
+ void VisitMetadataStreamCollection (MetadataStreamCollection streams);
+ void VisitMetadataStream (MetadataStream stream);
+ void VisitMetadataStreamHeader (MetadataStream.MetadataStreamHeader header);
+ void VisitGuidHeap (GuidHeap heap);
+ void VisitStringsHeap (StringsHeap heap);
+ void VisitTablesHeap (TablesHeap heap);
+ void VisitBlobHeap (BlobHeap heap);
+ void VisitUserStringsHeap (UserStringsHeap heap);
+
+ void TerminateMetadataRoot (MetadataRoot root);
+ }
+
+ internal interface IMetadataTableVisitor {
+ void VisitTableCollection (TableCollection coll);
+
+ void VisitAssemblyTable (AssemblyTable table);
+ void VisitAssemblyOSTable (AssemblyOSTable table);
+ void VisitAssemblyProcessorTable (AssemblyProcessorTable table);
+ void VisitAssemblyRefTable (AssemblyRefTable table);
+ void VisitAssemblyRefOSTable (AssemblyRefOSTable table);
+ void VisitAssemblyRefProcessorTable (AssemblyRefProcessorTable table);
+ void VisitClassLayoutTable (ClassLayoutTable table);
+ void VisitConstantTable (ConstantTable table);
+ void VisitCustomAttributeTable (CustomAttributeTable table);
+ void VisitDeclSecurityTable (DeclSecurityTable table);
+ void VisitEventTable (EventTable table);
+ void VisitEventMapTable (EventMapTable table);
+ void VisitEventPtrTable (EventPtrTable table);
+ void VisitExportedTypeTable (ExportedTypeTable table);
+ void VisitFieldTable (FieldTable table);
+ void VisitFieldLayoutTable (FieldLayoutTable table);
+ void VisitFieldMarshalTable (FieldMarshalTable table);
+ void VisitFieldPtrTable (FieldPtrTable table);
+ void VisitFieldRVATable (FieldRVATable table);
+ void VisitFileTable (FileTable table);
+ void VisitGenericParamTable (GenericParamTable table);
+ void VisitGenericParamConstraintTable (GenericParamConstraintTable table);
+ void VisitImplMapTable (ImplMapTable table);
+ void VisitInterfaceImplTable (InterfaceImplTable table);
+ void VisitManifestResourceTable (ManifestResourceTable table);
+ void VisitMemberRefTable (MemberRefTable table);
+ void VisitMethodTable (MethodTable table);
+ void VisitMethodImplTable (MethodImplTable table);
+ void VisitMethodPtrTable (MethodPtrTable table);
+ void VisitMethodSemanticsTable (MethodSemanticsTable table);
+ void VisitMethodSpecTable (MethodSpecTable table);
+ void VisitModuleTable (ModuleTable table);
+ void VisitModuleRefTable (ModuleRefTable table);
+ void VisitNestedClassTable (NestedClassTable table);
+ void VisitParamTable (ParamTable table);
+ void VisitParamPtrTable (ParamPtrTable table);
+ void VisitPropertyTable (PropertyTable table);
+ void VisitPropertyMapTable (PropertyMapTable table);
+ void VisitPropertyPtrTable (PropertyPtrTable table);
+ void VisitStandAloneSigTable (StandAloneSigTable table);
+ void VisitTypeDefTable (TypeDefTable table);
+ void VisitTypeRefTable (TypeRefTable table);
+ void VisitTypeSpecTable (TypeSpecTable table);
+
+ void TerminateTableCollection (TableCollection coll);
+ IMetadataRowVisitor GetRowVisitor();
+}
+
+ internal interface IMetadataRowVisitor {
+ void VisitRowCollection (RowCollection coll);
+
+ void VisitAssemblyRow (AssemblyRow row);
+ void VisitAssemblyOSRow (AssemblyOSRow row);
+ void VisitAssemblyProcessorRow (AssemblyProcessorRow row);
+ void VisitAssemblyRefRow (AssemblyRefRow row);
+ void VisitAssemblyRefOSRow (AssemblyRefOSRow row);
+ void VisitAssemblyRefProcessorRow (AssemblyRefProcessorRow row);
+ void VisitClassLayoutRow (ClassLayoutRow row);
+ void VisitConstantRow (ConstantRow row);
+ void VisitCustomAttributeRow (CustomAttributeRow row);
+ void VisitDeclSecurityRow (DeclSecurityRow row);
+ void VisitEventRow (EventRow row);
+ void VisitEventMapRow (EventMapRow row);
+ void VisitEventPtrRow (EventPtrRow row);
+ void VisitExportedTypeRow (ExportedTypeRow row);
+ void VisitFieldRow (FieldRow row);
+ void VisitFieldLayoutRow (FieldLayoutRow row);
+ void VisitFieldMarshalRow (FieldMarshalRow row);
+ void VisitFieldPtrRow (FieldPtrRow row);
+ void VisitFieldRVARow (FieldRVARow row);
+ void VisitFileRow (FileRow row);
+ void VisitGenericParamRow (GenericParamRow row);
+ void VisitGenericParamConstraintRow (GenericParamConstraintRow row);
+ void VisitImplMapRow (ImplMapRow row);
+ void VisitInterfaceImplRow (InterfaceImplRow row);
+ void VisitManifestResourceRow (ManifestResourceRow row);
+ void VisitMemberRefRow (MemberRefRow row);
+ void VisitMethodRow (MethodRow row);
+ void VisitMethodImplRow (MethodImplRow row);
+ void VisitMethodPtrRow (MethodPtrRow row);
+ void VisitMethodSemanticsRow (MethodSemanticsRow row);
+ void VisitMethodSpecRow (MethodSpecRow row);
+ void VisitModuleRow (ModuleRow row);
+ void VisitModuleRefRow (ModuleRefRow row);
+ void VisitNestedClassRow (NestedClassRow row);
+ void VisitParamRow (ParamRow row);
+ void VisitParamPtrRow (ParamPtrRow row);
+ void VisitPropertyRow (PropertyRow row);
+ void VisitPropertyMapRow (PropertyMapRow row);
+ void VisitPropertyPtrRow (PropertyPtrRow row);
+ void VisitStandAloneSigRow (StandAloneSigRow row);
+ void VisitTypeDefRow (TypeDefRow row);
+ void VisitTypeRefRow (TypeRefRow row);
+ void VisitTypeSpecRow (TypeSpecRow row);
+
+ void TerminateRowCollection (RowCollection coll);
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/ImplMap.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/ImplMap.cs
new file mode 100644
index 00000000000..688c864db46
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/ImplMap.cs
@@ -0,0 +1,83 @@
+//
+// ImplMapTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil;
+
+ internal sealed class ImplMapTable : IMetadataTable {
+
+ public const int RId = 0x1c;
+
+ RowCollection m_rows;
+
+ public ImplMapRow this [int index] {
+ get { return m_rows [index] as ImplMapRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal ImplMapTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitImplMapTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class ImplMapRow : IMetadataRow {
+
+ public PInvokeAttributes MappingFlags;
+ public MetadataToken MemberForwarded;
+ public uint ImportName;
+ public uint ImportScope;
+
+ internal ImplMapRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitImplMapRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/InterfaceImpl.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/InterfaceImpl.cs
new file mode 100644
index 00000000000..8558c746cb3
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/InterfaceImpl.cs
@@ -0,0 +1,79 @@
+//
+// InterfaceImplTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class InterfaceImplTable : IMetadataTable {
+
+ public const int RId = 0x09;
+
+ RowCollection m_rows;
+
+ public InterfaceImplRow this [int index] {
+ get { return m_rows [index] as InterfaceImplRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal InterfaceImplTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitInterfaceImplTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class InterfaceImplRow : IMetadataRow {
+
+ public uint Class;
+ public MetadataToken Interface;
+
+ internal InterfaceImplRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitInterfaceImplRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/ManifestResource.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/ManifestResource.cs
new file mode 100644
index 00000000000..5fec7e039b0
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/ManifestResource.cs
@@ -0,0 +1,83 @@
+//
+// ManifestResourceTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil;
+
+ internal sealed class ManifestResourceTable : IMetadataTable {
+
+ public const int RId = 0x28;
+
+ RowCollection m_rows;
+
+ public ManifestResourceRow this [int index] {
+ get { return m_rows [index] as ManifestResourceRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal ManifestResourceTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitManifestResourceTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class ManifestResourceRow : IMetadataRow {
+
+ public uint Offset;
+ public ManifestResourceAttributes Flags;
+ public uint Name;
+ public MetadataToken Implementation;
+
+ internal ManifestResourceRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitManifestResourceRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/MemberRef.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MemberRef.cs
new file mode 100644
index 00000000000..15354f93b4c
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MemberRef.cs
@@ -0,0 +1,80 @@
+//
+// MemberRefTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class MemberRefTable : IMetadataTable {
+
+ public const int RId = 0x0a;
+
+ RowCollection m_rows;
+
+ public MemberRefRow this [int index] {
+ get { return m_rows [index] as MemberRefRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal MemberRefTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitMemberRefTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class MemberRefRow : IMetadataRow {
+
+ public MetadataToken Class;
+ public uint Name;
+ public uint Signature;
+
+ internal MemberRefRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitMemberRefRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataFormatException.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataFormatException.cs
new file mode 100644
index 00000000000..2dee4dc130e
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataFormatException.cs
@@ -0,0 +1,55 @@
+//
+// MetadataFormatException.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using System;
+
+ using Mono.Cecil.Binary;
+
+ internal class MetadataFormatException : ImageFormatException {
+
+ internal MetadataFormatException () : base ()
+ {
+ }
+
+ internal MetadataFormatException (string message) : base (message)
+ {
+ }
+
+ internal MetadataFormatException (string message, params string [] parameters) :
+ base (string.Format (message, parameters))
+ {
+ }
+
+ internal MetadataFormatException (string message, Exception inner) :
+ base (message, inner)
+ {
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataHeap.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataHeap.cs
new file mode 100644
index 00000000000..ed793e3ca25
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataHeap.cs
@@ -0,0 +1,92 @@
+//
+// MetadataHeap.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using System;
+
+ using Mono.Cecil;
+
+ internal abstract class MetadataHeap : IMetadataVisitable {
+
+ MetadataStream m_stream;
+ string m_name;
+ byte [] m_data;
+
+ public string Name {
+ get { return m_name; }
+ }
+
+ public byte [] Data {
+ get { return m_data; }
+ set { m_data = value; }
+ }
+
+ public int IndexSize;
+
+ internal MetadataHeap (MetadataStream stream, string name)
+ {
+ m_name = name;
+ m_stream = stream;
+ }
+
+ public static MetadataHeap HeapFactory (MetadataStream stream)
+ {
+ switch (stream.Header.Name) {
+ case MetadataStream.Tables :
+ case MetadataStream.IncrementalTables :
+ return new TablesHeap (stream);
+ case MetadataStream.GUID :
+ return new GuidHeap (stream);
+ case MetadataStream.Strings :
+ return new StringsHeap (stream);
+ case MetadataStream.UserStrings :
+ return new UserStringsHeap (stream);
+ case MetadataStream.Blob :
+ return new BlobHeap (stream);
+ default :
+ return null;
+ }
+ }
+
+ public MetadataStream GetStream ()
+ {
+ return m_stream;
+ }
+
+ protected virtual byte [] ReadBytesFromStream (uint pos)
+ {
+ int start, length = Utilities.ReadCompressedInteger (m_data, (int) pos, out start);
+ byte [] buffer = new byte [length];
+ Buffer.BlockCopy (m_data, start, buffer, 0, length);
+ return buffer;
+ }
+
+ public abstract void Accept (IMetadataVisitor visitor);
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataInitializer.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataInitializer.cs
index 28cc840963c..28cc840963c 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataInitializer.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataInitializer.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataReader.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataReader.cs
index cc9d5945958..cc9d5945958 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataReader.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataReader.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataRoot.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataRoot.cs
new file mode 100644
index 00000000000..fbf76a8614c
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataRoot.cs
@@ -0,0 +1,99 @@
+//
+// MetadataRoot.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil.Binary;
+
+ internal sealed class MetadataRoot : IMetadataVisitable {
+
+ MetadataRootHeader m_header;
+ Image m_image;
+
+ MetadataStreamCollection m_streams;
+
+ public MetadataRootHeader Header {
+ get { return m_header; }
+ set { m_header = value; }
+ }
+
+ public MetadataStreamCollection Streams {
+ get { return m_streams; }
+ set { m_streams = value; }
+ }
+
+ internal MetadataRoot (Image img)
+ {
+ m_image = img;
+ }
+
+ public Image GetImage ()
+ {
+ return m_image;
+ }
+
+ public void Accept (IMetadataVisitor visitor)
+ {
+ visitor.VisitMetadataRoot (this);
+
+ m_header.Accept (visitor);
+ m_streams.Accept (visitor);
+
+ visitor.TerminateMetadataRoot (this);
+ }
+
+ internal sealed class MetadataRootHeader : IHeader, IMetadataVisitable {
+
+ public const uint StandardSignature = 0x424a5342;
+
+ public uint Signature;
+ public ushort MinorVersion;
+ public ushort MajorVersion;
+ public uint Reserved;
+ public string Version;
+ public ushort Flags;
+ public ushort Streams;
+
+ internal MetadataRootHeader ()
+ {
+ }
+
+ public void SetDefaultValues ()
+ {
+ Signature = StandardSignature;
+ Reserved = 0;
+ Flags = 0;
+ }
+
+ public void Accept (IMetadataVisitor visitor)
+ {
+ visitor.VisitMetadataRootHeader (this);
+ }
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataRowReader.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataRowReader.cs
index c8b53745915..c8b53745915 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataRowReader.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataRowReader.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataRowWriter.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataRowWriter.cs
index c592cc3d200..c592cc3d200 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataRowWriter.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataRowWriter.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataStream.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataStream.cs
new file mode 100644
index 00000000000..402cc6552ef
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataStream.cs
@@ -0,0 +1,90 @@
+//
+// MetadataStream.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal class MetadataStream : IMetadataVisitable {
+
+ public const string Strings = "#Strings";
+ public const string Tables = "#~";
+ public const string IncrementalTables = "#-";
+ public const string Blob = "#Blob";
+ public const string GUID = "#GUID";
+ public const string UserStrings = "#US";
+
+ MetadataStreamHeader m_header;
+ MetadataHeap m_heap;
+
+ public MetadataStreamHeader Header {
+ get { return m_header; }
+ set { m_header = value; }
+ }
+
+ public MetadataHeap Heap {
+ get { return m_heap; }
+ set { m_heap = value; }
+ }
+
+ internal MetadataStream ()
+ {
+ m_header = new MetadataStreamHeader (this);
+ }
+
+ public void Accept (IMetadataVisitor visitor)
+ {
+ visitor.VisitMetadataStream (this);
+
+ m_header.Accept (visitor);
+ if (m_heap != null)
+ m_heap.Accept (visitor);
+ }
+
+ internal class MetadataStreamHeader : IMetadataVisitable {
+
+ public uint Offset;
+ public uint Size;
+ public string Name;
+
+ private MetadataStream m_stream;
+
+ public MetadataStream Stream {
+ get { return m_stream; }
+ }
+
+ internal MetadataStreamHeader (MetadataStream stream)
+ {
+ m_stream = stream;
+ }
+
+ public void Accept (IMetadataVisitor visitor)
+ {
+ visitor.VisitMetadataStreamHeader (this);
+ }
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataStreamCollection.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataStreamCollection.cs
new file mode 100644
index 00000000000..43509cd32c4
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataStreamCollection.cs
@@ -0,0 +1,145 @@
+//
+// MetadataStreamCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using System;
+ using System.Collections;
+
+ internal class MetadataStreamCollection : ICollection, IMetadataVisitable {
+
+ IList m_items;
+
+ BlobHeap m_blobHeap;
+ GuidHeap m_guidHeap;
+ StringsHeap m_stringsHeap;
+ UserStringsHeap m_usHeap;
+ TablesHeap m_tablesHeap;
+
+ public MetadataStream this [int index] {
+ get { return m_items [index] as MetadataStream; }
+ set { m_items [index] = value; }
+ }
+
+ public int Count {
+ get { return m_items.Count; }
+ }
+
+ public bool IsSynchronized {
+ get { return false; }
+ }
+
+ public object SyncRoot {
+ get { return this; }
+ }
+
+ public BlobHeap BlobHeap {
+ get {
+ if (m_blobHeap == null)
+ m_blobHeap = GetHeap (MetadataStream.Blob) as BlobHeap;
+ return m_blobHeap;
+ }
+ }
+
+ public GuidHeap GuidHeap {
+ get {
+ if (m_guidHeap == null)
+ m_guidHeap = GetHeap (MetadataStream.GUID) as GuidHeap;
+ return m_guidHeap;
+ }
+ }
+
+ public StringsHeap StringsHeap {
+ get {
+ if (m_stringsHeap == null)
+ m_stringsHeap = GetHeap (MetadataStream.Strings) as StringsHeap;
+ return m_stringsHeap;
+ }
+ }
+
+ public TablesHeap TablesHeap {
+ get {
+ if (m_tablesHeap == null)
+ m_tablesHeap = GetHeap (MetadataStream.Tables) as TablesHeap;
+ return m_tablesHeap;
+ }
+ }
+
+ public UserStringsHeap UserStringsHeap {
+ get {
+ if (m_usHeap == null)
+ m_usHeap = GetHeap (MetadataStream.UserStrings) as UserStringsHeap;
+ return m_usHeap;
+ }
+ }
+
+ public MetadataStreamCollection ()
+ {
+ m_items = new ArrayList (5);
+ }
+
+ private MetadataHeap GetHeap (string name)
+ {
+ for (int i = 0; i < m_items.Count; i++) {
+ MetadataStream stream = m_items [i] as MetadataStream;
+ if (stream.Heap.Name == name)
+ return stream.Heap;
+ }
+
+ return null;
+ }
+
+ internal void Add (MetadataStream value)
+ {
+ m_items.Add (value);
+ }
+
+ internal void Remove (MetadataStream value)
+ {
+ m_items.Remove (value);
+ }
+
+ public void CopyTo (Array ary, int index)
+ {
+ m_items.CopyTo (ary, index);
+ }
+
+ public IEnumerator GetEnumerator ()
+ {
+ return m_items.GetEnumerator ();
+ }
+
+ public void Accept (IMetadataVisitor visitor)
+ {
+ visitor.VisitMetadataStreamCollection (this);
+
+ for (int i = 0; i < m_items.Count; i++)
+ this [i].Accept (visitor);
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataTableReader.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataTableReader.cs
index 94a980e8981..94a980e8981 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataTableReader.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataTableReader.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataTableWriter.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataTableWriter.cs
index 6c7fab443ff..6c7fab443ff 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataTableWriter.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataTableWriter.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataToken.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataToken.cs
new file mode 100644
index 00000000000..5b287e45fde
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataToken.cs
@@ -0,0 +1,102 @@
+//
+// MetadataToken.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal struct MetadataToken {
+
+ uint m_rid;
+ TokenType m_type;
+
+ public uint RID {
+ get { return m_rid; }
+ }
+
+ public TokenType TokenType {
+ get { return m_type; }
+ }
+
+ public static readonly MetadataToken Zero = new MetadataToken ((TokenType) 0, 0);
+
+ public MetadataToken (int token)
+ {
+ m_type = (TokenType) (token & 0xff000000);
+ m_rid = (uint) token & 0x00ffffff;
+ }
+
+ public MetadataToken (TokenType table, uint rid)
+ {
+ m_type = table;
+ m_rid = rid;
+ }
+
+ internal static MetadataToken FromMetadataRow (TokenType table, int rowIndex)
+ {
+ return new MetadataToken (table, (uint) rowIndex + 1);
+ }
+
+ public uint ToUInt ()
+ {
+ return (uint) m_type | m_rid;
+ }
+
+ public override int GetHashCode ()
+ {
+ return (int) ToUInt ();
+ }
+
+ public override bool Equals (object other)
+ {
+ if (other is MetadataToken)
+ return Equals ((MetadataToken) other);
+
+ return false;
+ }
+
+ private bool Equals (MetadataToken other)
+ {
+ return other.m_rid == m_rid && other.m_type == m_type;
+ }
+
+ public static bool operator == (MetadataToken one, MetadataToken other)
+ {
+ return one.Equals (other);
+ }
+
+ public static bool operator != (MetadataToken one, MetadataToken other)
+ {
+ return !one.Equals (other);
+ }
+
+ public override string ToString ()
+ {
+ return string.Format ("{0} [0x{1}]",
+ m_type, m_rid.ToString ("x4"));
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataWriter.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataWriter.cs
index 53cb186398a..53cb186398a 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Metadata/MetadataWriter.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MetadataWriter.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/Method.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Method.cs
new file mode 100644
index 00000000000..dc9963a77c4
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Method.cs
@@ -0,0 +1,87 @@
+//
+// MethodTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil;
+
+ using Mono.Cecil.Binary;
+
+ internal sealed class MethodTable : IMetadataTable {
+
+ public const int RId = 0x06;
+
+ RowCollection m_rows;
+
+ public MethodRow this [int index] {
+ get { return m_rows [index] as MethodRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal MethodTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitMethodTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class MethodRow : IMetadataRow {
+
+ public RVA RVA;
+ public MethodImplAttributes ImplFlags;
+ public MethodAttributes Flags;
+ public uint Name;
+ public uint Signature;
+ public uint ParamList;
+
+ internal MethodRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitMethodRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/MethodImpl.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MethodImpl.cs
new file mode 100644
index 00000000000..2d2a23a5b4a
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MethodImpl.cs
@@ -0,0 +1,80 @@
+//
+// MethodImplTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class MethodImplTable : IMetadataTable {
+
+ public const int RId = 0x19;
+
+ RowCollection m_rows;
+
+ public MethodImplRow this [int index] {
+ get { return m_rows [index] as MethodImplRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal MethodImplTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitMethodImplTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class MethodImplRow : IMetadataRow {
+
+ public uint Class;
+ public MetadataToken MethodBody;
+ public MetadataToken MethodDeclaration;
+
+ internal MethodImplRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitMethodImplRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/MethodPtr.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MethodPtr.cs
new file mode 100644
index 00000000000..c66080315c9
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MethodPtr.cs
@@ -0,0 +1,78 @@
+//
+// MethodPtrTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Thu Feb 22 14:39:38 CET 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class MethodPtrTable : IMetadataTable {
+
+ public const int RId = 0x05;
+
+ RowCollection m_rows;
+
+ public MethodPtrRow this [int index] {
+ get { return m_rows [index] as MethodPtrRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal MethodPtrTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitMethodPtrTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class MethodPtrRow : IMetadataRow {
+
+ public uint Method;
+
+ internal MethodPtrRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitMethodPtrRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/MethodSemantics.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MethodSemantics.cs
new file mode 100644
index 00000000000..1ff8a5c006b
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MethodSemantics.cs
@@ -0,0 +1,82 @@
+//
+// MethodSemanticsTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil;
+
+ internal sealed class MethodSemanticsTable : IMetadataTable {
+
+ public const int RId = 0x18;
+
+ RowCollection m_rows;
+
+ public MethodSemanticsRow this [int index] {
+ get { return m_rows [index] as MethodSemanticsRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal MethodSemanticsTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitMethodSemanticsTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class MethodSemanticsRow : IMetadataRow {
+
+ public MethodSemanticsAttributes Semantics;
+ public uint Method;
+ public MetadataToken Association;
+
+ internal MethodSemanticsRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitMethodSemanticsRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/MethodSpec.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MethodSpec.cs
new file mode 100644
index 00000000000..2eb3decfbf4
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/MethodSpec.cs
@@ -0,0 +1,79 @@
+//
+// MethodSpecTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class MethodSpecTable : IMetadataTable {
+
+ public const int RId = 0x2b;
+
+ RowCollection m_rows;
+
+ public MethodSpecRow this [int index] {
+ get { return m_rows [index] as MethodSpecRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal MethodSpecTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitMethodSpecTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class MethodSpecRow : IMetadataRow {
+
+ public MetadataToken Method;
+ public uint Instantiation;
+
+ internal MethodSpecRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitMethodSpecRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/Module.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Module.cs
new file mode 100644
index 00000000000..7fe93d7f38f
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Module.cs
@@ -0,0 +1,82 @@
+//
+// ModuleTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class ModuleTable : IMetadataTable {
+
+ public const int RId = 0x00;
+
+ RowCollection m_rows;
+
+ public ModuleRow this [int index] {
+ get { return m_rows [index] as ModuleRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal ModuleTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitModuleTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class ModuleRow : IMetadataRow {
+
+ public ushort Generation;
+ public uint Name;
+ public uint Mvid;
+ public uint EncId;
+ public uint EncBaseId;
+
+ internal ModuleRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitModuleRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/ModuleRef.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/ModuleRef.cs
new file mode 100644
index 00000000000..36be44fea05
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/ModuleRef.cs
@@ -0,0 +1,78 @@
+//
+// ModuleRefTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class ModuleRefTable : IMetadataTable {
+
+ public const int RId = 0x1a;
+
+ RowCollection m_rows;
+
+ public ModuleRefRow this [int index] {
+ get { return m_rows [index] as ModuleRefRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal ModuleRefTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitModuleRefTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class ModuleRefRow : IMetadataRow {
+
+ public uint Name;
+
+ internal ModuleRefRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitModuleRefRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/NestedClass.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/NestedClass.cs
new file mode 100644
index 00000000000..14bc79163ee
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/NestedClass.cs
@@ -0,0 +1,79 @@
+//
+// NestedClassTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class NestedClassTable : IMetadataTable {
+
+ public const int RId = 0x29;
+
+ RowCollection m_rows;
+
+ public NestedClassRow this [int index] {
+ get { return m_rows [index] as NestedClassRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal NestedClassTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitNestedClassTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class NestedClassRow : IMetadataRow {
+
+ public uint NestedClass;
+ public uint EnclosingClass;
+
+ internal NestedClassRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitNestedClassRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/Param.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Param.cs
new file mode 100644
index 00000000000..07f5cd548ab
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Param.cs
@@ -0,0 +1,82 @@
+//
+// ParamTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil;
+
+ internal sealed class ParamTable : IMetadataTable {
+
+ public const int RId = 0x08;
+
+ RowCollection m_rows;
+
+ public ParamRow this [int index] {
+ get { return m_rows [index] as ParamRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal ParamTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitParamTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class ParamRow : IMetadataRow {
+
+ public ParameterAttributes Flags;
+ public ushort Sequence;
+ public uint Name;
+
+ internal ParamRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitParamRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/ParamPtr.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/ParamPtr.cs
new file mode 100644
index 00000000000..b6bf7ad874e
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/ParamPtr.cs
@@ -0,0 +1,78 @@
+//
+// ParamPtrTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Thu Feb 22 14:39:38 CET 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class ParamPtrTable : IMetadataTable {
+
+ public const int RId = 0x07;
+
+ RowCollection m_rows;
+
+ public ParamPtrRow this [int index] {
+ get { return m_rows [index] as ParamPtrRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal ParamPtrTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitParamPtrTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class ParamPtrRow : IMetadataRow {
+
+ public uint Param;
+
+ internal ParamPtrRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitParamPtrRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/Property.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Property.cs
new file mode 100644
index 00000000000..08eaaf42b23
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Property.cs
@@ -0,0 +1,82 @@
+//
+// PropertyTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil;
+
+ internal sealed class PropertyTable : IMetadataTable {
+
+ public const int RId = 0x17;
+
+ RowCollection m_rows;
+
+ public PropertyRow this [int index] {
+ get { return m_rows [index] as PropertyRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal PropertyTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitPropertyTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class PropertyRow : IMetadataRow {
+
+ public PropertyAttributes Flags;
+ public uint Name;
+ public uint Type;
+
+ internal PropertyRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitPropertyRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/PropertyMap.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/PropertyMap.cs
new file mode 100644
index 00000000000..83dd27ee43b
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/PropertyMap.cs
@@ -0,0 +1,79 @@
+//
+// PropertyMapTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class PropertyMapTable : IMetadataTable {
+
+ public const int RId = 0x15;
+
+ RowCollection m_rows;
+
+ public PropertyMapRow this [int index] {
+ get { return m_rows [index] as PropertyMapRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal PropertyMapTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitPropertyMapTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class PropertyMapRow : IMetadataRow {
+
+ public uint Parent;
+ public uint PropertyList;
+
+ internal PropertyMapRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitPropertyMapRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/PropertyPtr.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/PropertyPtr.cs
new file mode 100644
index 00000000000..abe6619cc56
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/PropertyPtr.cs
@@ -0,0 +1,78 @@
+//
+// PropertyPtrTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Thu Feb 22 14:39:38 CET 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class PropertyPtrTable : IMetadataTable {
+
+ public const int RId = 0x16;
+
+ RowCollection m_rows;
+
+ public PropertyPtrRow this [int index] {
+ get { return m_rows [index] as PropertyPtrRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal PropertyPtrTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitPropertyPtrTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class PropertyPtrRow : IMetadataRow {
+
+ public uint Property;
+
+ internal PropertyPtrRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitPropertyPtrRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/RowCollection.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/RowCollection.cs
new file mode 100644
index 00000000000..e3ffe5caddf
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/RowCollection.cs
@@ -0,0 +1,125 @@
+//
+// RowCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using System;
+ using System.Collections;
+
+ internal class RowCollection : ICollection, IMetadataRowVisitable {
+
+ ArrayList m_items;
+
+ public IMetadataRow this [int index] {
+ get { return m_items [index] as IMetadataRow; }
+ set { m_items [index] = value; }
+ }
+
+ public int Count {
+ get { return m_items.Count; }
+ }
+
+ public bool IsSynchronized {
+ get { return false; }
+ }
+
+ public object SyncRoot {
+ get { return this; }
+ }
+
+ internal RowCollection (int size)
+ {
+ m_items = new ArrayList (size);
+ }
+
+ internal RowCollection ()
+ {
+ m_items = new ArrayList ();
+ }
+
+ internal void Add (IMetadataRow value)
+ {
+ m_items.Add (value);
+ }
+
+ public void Clear ()
+ {
+ m_items.Clear ();
+ }
+
+ public bool Contains (IMetadataRow value)
+ {
+ return m_items.Contains (value);
+ }
+
+ public int IndexOf (IMetadataRow value)
+ {
+ return m_items.IndexOf (value);
+ }
+
+ public void Insert (int index, IMetadataRow value)
+ {
+ m_items.Insert (index, value);
+ }
+
+ public void Remove (IMetadataRow value)
+ {
+ m_items.Remove (value);
+ }
+
+ public void RemoveAt (int index)
+ {
+ m_items.Remove (index);
+ }
+
+ public void CopyTo (Array ary, int index)
+ {
+ m_items.CopyTo (ary, index);
+ }
+
+ public void Sort (IComparer comp)
+ {
+ m_items.Sort (comp);
+ }
+
+ public IEnumerator GetEnumerator ()
+ {
+ return m_items.GetEnumerator ();
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitRowCollection (this);
+
+ for (int i = 0; i < m_items.Count; i++)
+ this [i].Accept (visitor);
+
+ visitor.TerminateRowCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/StandAloneSig.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/StandAloneSig.cs
new file mode 100644
index 00000000000..7097f823c57
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/StandAloneSig.cs
@@ -0,0 +1,78 @@
+//
+// StandAloneSigTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class StandAloneSigTable : IMetadataTable {
+
+ public const int RId = 0x11;
+
+ RowCollection m_rows;
+
+ public StandAloneSigRow this [int index] {
+ get { return m_rows [index] as StandAloneSigRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal StandAloneSigTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitStandAloneSigTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class StandAloneSigRow : IMetadataRow {
+
+ public uint Signature;
+
+ internal StandAloneSigRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitStandAloneSigRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/StringsHeap.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/StringsHeap.cs
new file mode 100644
index 00000000000..0c6bcdfcbea
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/StringsHeap.cs
@@ -0,0 +1,79 @@
+//
+// StringsHeap.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using System.Collections;
+ using System.Text;
+
+ internal class StringsHeap : MetadataHeap {
+
+ IDictionary m_strings;
+
+ public string this [uint index] {
+ get {
+ string str = m_strings [index] as string;
+ if (str == null) {
+ str = ReadStringAt (index);
+ m_strings [index] = str;
+ }
+ return str;
+ }
+ set { m_strings [index] = value; }
+ }
+
+ internal StringsHeap (MetadataStream stream) : base (stream, MetadataStream.Strings)
+ {
+ m_strings = new Hashtable ();
+ }
+
+ string ReadStringAt (uint index)
+ {
+ byte [] data = this.Data;
+ int heap_length = data.Length;
+
+ if (index > heap_length - 1)
+ return string.Empty;
+
+ int length = 0;
+ for (int i = (int) index; i < heap_length; i++) {
+ if (data [i] == 0)
+ break;
+
+ length++;
+ }
+
+ return Encoding.UTF8.GetString (data, (int) index, length);
+ }
+
+ public override void Accept (IMetadataVisitor visitor)
+ {
+ visitor.VisitStringsHeap (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/TableCollection.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/TableCollection.cs
new file mode 100644
index 00000000000..cb8a1cc133a
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/TableCollection.cs
@@ -0,0 +1,115 @@
+//
+// TableCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using System;
+ using System.Collections;
+
+ internal class TableCollection : ICollection, IMetadataTableVisitable {
+
+ IMetadataTable [] m_tables = new IMetadataTable [TablesHeap.MaxTableCount];
+
+ TablesHeap m_heap;
+
+ public IMetadataTable this [int index] {
+ get { return m_tables [index]; }
+ set { m_tables [index] = value; }
+ }
+
+ public int Count {
+ get {
+ return GetList ().Count;
+ }
+ }
+
+ public bool IsSynchronized {
+ get { return false; }
+ }
+
+ public object SyncRoot {
+ get { return this; }
+ }
+
+ public TablesHeap Heap {
+ get { return m_heap; }
+ }
+
+ internal TableCollection (TablesHeap heap)
+ {
+ m_heap = heap;
+ }
+
+ internal void Add (IMetadataTable value)
+ {
+ m_tables [value.Id] = value;
+ }
+
+ public bool Contains (IMetadataTable value)
+ {
+ return m_tables [value.Id] != null;
+ }
+
+ internal void Remove (IMetadataTable value)
+ {
+ m_tables [value.Id] = null;
+ }
+
+ public void CopyTo (Array array, int index)
+ {
+ GetList ().CopyTo (array, index);
+ }
+
+ internal IList GetList ()
+ {
+ IList tables = new ArrayList ();
+ for (int i = 0; i < m_tables.Length; i++) {
+ IMetadataTable table = m_tables [i];
+ if (table != null)
+ tables.Add (table);
+ }
+
+ return tables;
+ }
+
+ public IEnumerator GetEnumerator ()
+ {
+ return GetList ().GetEnumerator ();
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitTableCollection (this);
+
+ foreach (IMetadataTable table in GetList ())
+ table.Accept (visitor);
+
+ visitor.TerminateTableCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/TablesHeap.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/TablesHeap.cs
new file mode 100644
index 00000000000..c4d502f72dc
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/TablesHeap.cs
@@ -0,0 +1,73 @@
+//
+// TablesHeap.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using System;
+ using System.Collections;
+
+ internal class TablesHeap : MetadataHeap {
+
+ public uint Reserved;
+ public byte MajorVersion;
+ public byte MinorVersion;
+ public byte HeapSizes;
+ public byte Reserved2;
+ public long Valid;
+ public long Sorted;
+
+ TableCollection m_tables;
+
+ public const int MaxTableCount = 45;
+
+ public TableCollection Tables {
+ get { return m_tables; }
+ set { m_tables = value; }
+ }
+
+ public IMetadataTable this [int id]
+ {
+ get { return m_tables [id]; }
+ set { m_tables [id] = value; }
+ }
+
+ internal TablesHeap (MetadataStream stream) : base(stream, MetadataStream.Tables)
+ {
+ }
+
+ public bool HasTable (int id)
+ {
+ return (Valid & (1L << id)) != 0;
+ }
+
+ public override void Accept (IMetadataVisitor visitor)
+ {
+ visitor.VisitTablesHeap (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/TokenType.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/TokenType.cs
new file mode 100644
index 00000000000..5aafa221f51
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/TokenType.cs
@@ -0,0 +1,58 @@
+//
+// TokenType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal enum TokenType : uint {
+ Module = 0x00000000,
+ TypeRef = 0x01000000,
+ TypeDef = 0x02000000,
+ Field = 0x04000000,
+ Method = 0x06000000,
+ Param = 0x08000000,
+ InterfaceImpl = 0x09000000,
+ MemberRef = 0x0a000000,
+ CustomAttribute = 0x0c000000,
+ Permission = 0x0e000000,
+ Signature = 0x11000000,
+ Event = 0x14000000,
+ Property = 0x17000000,
+ ModuleRef = 0x1a000000,
+ TypeSpec = 0x1b000000,
+ Assembly = 0x20000000,
+ AssemblyRef = 0x23000000,
+ File = 0x26000000,
+ ExportedType = 0x27000000,
+ ManifestResource = 0x28000000,
+ GenericParam = 0x2a000000,
+ MethodSpec = 0x2b000000,
+ String = 0x70000000,
+ Name = 0x71000000,
+ BaseType = 0x72000000
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/TypeDef.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/TypeDef.cs
new file mode 100644
index 00000000000..47b9f7ac898
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/TypeDef.cs
@@ -0,0 +1,85 @@
+//
+// TypeDefTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using Mono.Cecil;
+
+ internal sealed class TypeDefTable : IMetadataTable {
+
+ public const int RId = 0x02;
+
+ RowCollection m_rows;
+
+ public TypeDefRow this [int index] {
+ get { return m_rows [index] as TypeDefRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal TypeDefTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitTypeDefTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class TypeDefRow : IMetadataRow {
+
+ public TypeAttributes Flags;
+ public uint Name;
+ public uint Namespace;
+ public MetadataToken Extends;
+ public uint FieldList;
+ public uint MethodList;
+
+ internal TypeDefRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitTypeDefRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/TypeRef.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/TypeRef.cs
new file mode 100644
index 00000000000..d54ca56f465
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/TypeRef.cs
@@ -0,0 +1,80 @@
+//
+// TypeRefTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class TypeRefTable : IMetadataTable {
+
+ public const int RId = 0x01;
+
+ RowCollection m_rows;
+
+ public TypeRefRow this [int index] {
+ get { return m_rows [index] as TypeRefRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal TypeRefTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitTypeRefTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class TypeRefRow : IMetadataRow {
+
+ public MetadataToken ResolutionScope;
+ public uint Name;
+ public uint Namespace;
+
+ internal TypeRefRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitTypeRefRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/TypeSpec.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/TypeSpec.cs
new file mode 100644
index 00000000000..1a779a0dc32
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/TypeSpec.cs
@@ -0,0 +1,78 @@
+//
+// TypeSpecTable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Tue Oct 10 23:08:26 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ internal sealed class TypeSpecTable : IMetadataTable {
+
+ public const int RId = 0x1b;
+
+ RowCollection m_rows;
+
+ public TypeSpecRow this [int index] {
+ get { return m_rows [index] as TypeSpecRow; }
+ set { m_rows [index] = value; }
+ }
+
+ public RowCollection Rows {
+ get { return m_rows; }
+ set { m_rows = value; }
+ }
+
+ public int Id {
+ get { return RId; }
+ }
+
+ internal TypeSpecTable ()
+ {
+ }
+
+ public void Accept (IMetadataTableVisitor visitor)
+ {
+ visitor.VisitTypeSpecTable (this);
+ this.Rows.Accept (visitor.GetRowVisitor ());
+ }
+ }
+
+ internal sealed class TypeSpecRow : IMetadataRow {
+
+ public uint Signature;
+
+ internal TypeSpecRow ()
+ {
+ }
+
+ public void Accept (IMetadataRowVisitor visitor)
+ {
+ visitor.VisitTypeSpecRow (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/UserStringsHeap.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/UserStringsHeap.cs
new file mode 100644
index 00000000000..b27e4f09552
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/UserStringsHeap.cs
@@ -0,0 +1,77 @@
+//
+// UserStringsHeap.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using System.Collections;
+ using System.Text;
+
+ internal class UserStringsHeap : MetadataHeap {
+
+ readonly IDictionary m_strings;
+
+ public string this [uint offset] {
+ get {
+ string us = m_strings [offset] as string;
+ if (us != null)
+ return us;
+
+ us = ReadStringAt ((int) offset);
+ if (us != null && us.Length != 0)
+ m_strings [offset] = us;
+
+ return us;
+ }
+ set { m_strings [offset] = value; }
+ }
+
+ internal UserStringsHeap (MetadataStream stream) : base (stream, MetadataStream.UserStrings)
+ {
+ m_strings = new Hashtable ();
+ }
+
+ string ReadStringAt (int offset)
+ {
+ int length = Utilities.ReadCompressedInteger (this.Data, offset, out offset) - 1;
+ if (length < 1)
+ return string.Empty;
+
+ char [] chars = new char [length / 2];
+
+ for (int i = offset, j = 0; i < offset + length; i += 2)
+ chars [j++] = (char) (Data [i] | (Data [i + 1] << 8));
+
+ return new string (chars);
+ }
+
+ public override void Accept (IMetadataVisitor visitor)
+ {
+ visitor.VisitUserStringsHeap (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Metadata/Utilities.cs b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Utilities.cs
new file mode 100644
index 00000000000..7f762529c62
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Metadata/Utilities.cs
@@ -0,0 +1,663 @@
+//
+// Utilities.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Sat Feb 16 23:23:29 +0100 2008
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Metadata {
+
+ using System;
+ using System.Collections;
+ using System.IO;
+
+ sealed class Utilities {
+
+ Utilities ()
+ {
+ }
+
+ public static int ReadCompressedInteger (byte [] data, int pos, out int start)
+ {
+ int integer;
+ start = pos;
+ if ((data [pos] & 0x80) == 0) {
+ integer = data [pos];
+ start++;
+ } else if ((data [pos] & 0x40) == 0) {
+ integer = (data [start] & ~0x80) << 8;
+ integer |= data [pos + 1];
+ start += 2;
+ } else {
+ integer = (data [start] & ~0xc0) << 24;
+ integer |= data [pos + 1] << 16;
+ integer |= data [pos + 2] << 8;
+ integer |= data [pos + 3];
+ start += 4;
+ }
+ return integer;
+ }
+
+ public static int ReadCompressedSignedInteger (byte [] data, int pos, out int start)
+ {
+ int integer = ReadCompressedInteger (data, pos, out start) >> 1;
+ if ((integer & 1) == 0)
+ return integer;
+
+ if (integer < 0x40)
+ return integer - 0x40;
+
+ if (integer < 0x2000)
+ return integer - 0x2000;
+
+ if (integer < 0x10000000)
+ return integer - 0x10000000;
+
+ return integer - 0x20000000;
+ }
+
+ public static int WriteCompressedInteger (BinaryWriter writer, int value)
+ {
+ if (value < 0x80)
+ writer.Write ((byte) value);
+ else if (value < 0x4000) {
+ writer.Write ((byte) (0x80 | (value >> 8)));
+ writer.Write ((byte) (value & 0xff));
+ } else {
+ writer.Write ((byte) ((value >> 24) | 0xc0));
+ writer.Write ((byte) ((value >> 16) & 0xff));
+ writer.Write ((byte) ((value >> 8) & 0xff));
+ writer.Write ((byte) (value & 0xff));
+ }
+ return (int) writer.BaseStream.Position;
+ }
+
+ public static MetadataToken GetMetadataToken (CodedIndex cidx, uint data)
+ {
+ uint rid = 0;
+ switch (cidx) {
+ case CodedIndex.TypeDefOrRef :
+ rid = data >> 2;
+ switch (data & 3) {
+ case 0 :
+ return new MetadataToken (TokenType.TypeDef, rid);
+ case 1 :
+ return new MetadataToken (TokenType.TypeRef, rid);
+ case 2 :
+ return new MetadataToken (TokenType.TypeSpec, rid);
+ default :
+ return MetadataToken.Zero;
+ }
+ case CodedIndex.HasConstant :
+ rid = data >> 2;
+ switch (data & 3) {
+ case 0 :
+ return new MetadataToken (TokenType.Field, rid);
+ case 1 :
+ return new MetadataToken (TokenType.Param, rid);
+ case 2 :
+ return new MetadataToken (TokenType.Property, rid);
+ default :
+ return MetadataToken.Zero;
+ }
+ case CodedIndex.HasCustomAttribute :
+ rid = data >> 5;
+ switch (data & 31) {
+ case 0 :
+ return new MetadataToken (TokenType.Method, rid);
+ case 1 :
+ return new MetadataToken (TokenType.Field, rid);
+ case 2 :
+ return new MetadataToken (TokenType.TypeRef, rid);
+ case 3 :
+ return new MetadataToken (TokenType.TypeDef, rid);
+ case 4 :
+ return new MetadataToken (TokenType.Param, rid);
+ case 5 :
+ return new MetadataToken (TokenType.InterfaceImpl, rid);
+ case 6 :
+ return new MetadataToken (TokenType.MemberRef, rid);
+ case 7 :
+ return new MetadataToken (TokenType.Module, rid);
+ case 8 :
+ return new MetadataToken (TokenType.Permission, rid);
+ case 9 :
+ return new MetadataToken (TokenType.Property, rid);
+ case 10 :
+ return new MetadataToken (TokenType.Event, rid);
+ case 11 :
+ return new MetadataToken (TokenType.Signature, rid);
+ case 12 :
+ return new MetadataToken (TokenType.ModuleRef, rid);
+ case 13 :
+ return new MetadataToken (TokenType.TypeSpec, rid);
+ case 14 :
+ return new MetadataToken (TokenType.Assembly, rid);
+ case 15 :
+ return new MetadataToken (TokenType.AssemblyRef, rid);
+ case 16 :
+ return new MetadataToken (TokenType.File, rid);
+ case 17 :
+ return new MetadataToken (TokenType.ExportedType, rid);
+ case 18 :
+ return new MetadataToken (TokenType.ManifestResource, rid);
+ case 19 :
+ return new MetadataToken (TokenType.GenericParam, rid);
+ default :
+ return MetadataToken.Zero;
+ }
+ case CodedIndex.HasFieldMarshal :
+ rid = data >> 1;
+ switch (data & 1) {
+ case 0 :
+ return new MetadataToken (TokenType.Field, rid);
+ case 1 :
+ return new MetadataToken (TokenType.Param, rid);
+ default :
+ return MetadataToken.Zero;
+ }
+ case CodedIndex.HasDeclSecurity :
+ rid = data >> 2;
+ switch (data & 3) {
+ case 0 :
+ return new MetadataToken (TokenType.TypeDef, rid);
+ case 1 :
+ return new MetadataToken (TokenType.Method, rid);
+ case 2 :
+ return new MetadataToken (TokenType.Assembly, rid);
+ default :
+ return MetadataToken.Zero;
+ }
+ case CodedIndex.MemberRefParent :
+ rid = data >> 3;
+ switch (data & 7) {
+ case 0 :
+ return new MetadataToken (TokenType.TypeDef, rid);
+ case 1 :
+ return new MetadataToken (TokenType.TypeRef, rid);
+ case 2 :
+ return new MetadataToken (TokenType.ModuleRef, rid);
+ case 3 :
+ return new MetadataToken (TokenType.Method, rid);
+ case 4 :
+ return new MetadataToken (TokenType.TypeSpec, rid);
+ default :
+ return MetadataToken.Zero;
+ }
+ case CodedIndex.HasSemantics :
+ rid = data >> 1;
+ switch (data & 1) {
+ case 0 :
+ return new MetadataToken (TokenType.Event, rid);
+ case 1 :
+ return new MetadataToken (TokenType.Property, rid);
+ default :
+ return MetadataToken.Zero;
+ }
+ case CodedIndex.MethodDefOrRef :
+ rid = data >> 1;
+ switch (data & 1) {
+ case 0 :
+ return new MetadataToken (TokenType.Method, rid);
+ case 1 :
+ return new MetadataToken (TokenType.MemberRef, rid);
+ default :
+ return MetadataToken.Zero;
+ }
+ case CodedIndex.MemberForwarded :
+ rid = data >> 1;
+ switch (data & 1) {
+ case 0 :
+ return new MetadataToken (TokenType.Field, rid);
+ case 1 :
+ return new MetadataToken (TokenType.Method, rid);
+ default :
+ return MetadataToken.Zero;
+ }
+ case CodedIndex.Implementation :
+ rid = data >> 2;
+ switch (data & 3) {
+ case 0 :
+ return new MetadataToken (TokenType.File, rid);
+ case 1 :
+ return new MetadataToken (TokenType.AssemblyRef, rid);
+ case 2 :
+ return new MetadataToken (TokenType.ExportedType, rid);
+ default :
+ return MetadataToken.Zero;
+ }
+ case CodedIndex.CustomAttributeType :
+ rid = data >> 3;
+ switch (data & 7) {
+ case 2 :
+ return new MetadataToken (TokenType.Method, rid);
+ case 3 :
+ return new MetadataToken (TokenType.MemberRef, rid);
+ default :
+ return MetadataToken.Zero;
+ }
+ case CodedIndex.ResolutionScope :
+ rid = data >> 2;
+ switch (data & 3) {
+ case 0 :
+ return new MetadataToken (TokenType.Module, rid);
+ case 1 :
+ return new MetadataToken (TokenType.ModuleRef, rid);
+ case 2 :
+ return new MetadataToken (TokenType.AssemblyRef, rid);
+ case 3 :
+ return new MetadataToken (TokenType.TypeRef, rid);
+ default :
+ return MetadataToken.Zero;
+ }
+ case CodedIndex.TypeOrMethodDef :
+ rid = data >> 1;
+ switch (data & 1) {
+ case 0 :
+ return new MetadataToken (TokenType.TypeDef, rid);
+ case 1 :
+ return new MetadataToken (TokenType.Method, rid);
+ default :
+ return MetadataToken.Zero;
+ }
+ default :
+ return MetadataToken.Zero;
+ }
+ }
+
+ public static uint CompressMetadataToken (CodedIndex cidx, MetadataToken token)
+ {
+ uint ret = 0;
+ if (token.RID == 0)
+ return ret;
+ switch (cidx) {
+ case CodedIndex.TypeDefOrRef :
+ ret = token.RID << 2;
+ switch (token.TokenType) {
+ case TokenType.TypeDef :
+ return ret | 0;
+ case TokenType.TypeRef :
+ return ret | 1;
+ case TokenType.TypeSpec :
+ return ret | 2;
+ default :
+ throw new MetadataFormatException("Non valid Token for TypeDefOrRef");
+ }
+ case CodedIndex.HasConstant :
+ ret = token.RID << 2;
+ switch (token.TokenType) {
+ case TokenType.Field :
+ return ret | 0;
+ case TokenType.Param :
+ return ret | 1;
+ case TokenType.Property :
+ return ret | 2;
+ default :
+ throw new MetadataFormatException("Non valid Token for HasConstant");
+ }
+ case CodedIndex.HasCustomAttribute :
+ ret = token.RID << 5;
+ switch (token.TokenType) {
+ case TokenType.Method :
+ return ret | 0;
+ case TokenType.Field :
+ return ret | 1;
+ case TokenType.TypeRef :
+ return ret | 2;
+ case TokenType.TypeDef :
+ return ret | 3;
+ case TokenType.Param :
+ return ret | 4;
+ case TokenType.InterfaceImpl :
+ return ret | 5;
+ case TokenType.MemberRef :
+ return ret | 6;
+ case TokenType.Module :
+ return ret | 7;
+ case TokenType.Permission :
+ return ret | 8;
+ case TokenType.Property :
+ return ret | 9;
+ case TokenType.Event :
+ return ret | 10;
+ case TokenType.Signature :
+ return ret | 11;
+ case TokenType.ModuleRef :
+ return ret | 12;
+ case TokenType.TypeSpec :
+ return ret | 13;
+ case TokenType.Assembly :
+ return ret | 14;
+ case TokenType.AssemblyRef :
+ return ret | 15;
+ case TokenType.File :
+ return ret | 16;
+ case TokenType.ExportedType :
+ return ret | 17;
+ case TokenType.ManifestResource :
+ return ret | 18;
+ case TokenType.GenericParam :
+ return ret | 19;
+ default :
+ throw new MetadataFormatException("Non valid Token for HasCustomAttribute");
+ }
+ case CodedIndex.HasFieldMarshal :
+ ret = token.RID << 1;
+ switch (token.TokenType) {
+ case TokenType.Field :
+ return ret | 0;
+ case TokenType.Param :
+ return ret | 1;
+ default :
+ throw new MetadataFormatException("Non valid Token for HasFieldMarshal");
+ }
+ case CodedIndex.HasDeclSecurity :
+ ret = token.RID << 2;
+ switch (token.TokenType) {
+ case TokenType.TypeDef :
+ return ret | 0;
+ case TokenType.Method :
+ return ret | 1;
+ case TokenType.Assembly :
+ return ret | 2;
+ default :
+ throw new MetadataFormatException("Non valid Token for HasDeclSecurity");
+ }
+ case CodedIndex.MemberRefParent :
+ ret = token.RID << 3;
+ switch (token.TokenType) {
+ case TokenType.TypeDef :
+ return ret | 0;
+ case TokenType.TypeRef :
+ return ret | 1;
+ case TokenType.ModuleRef :
+ return ret | 2;
+ case TokenType.Method :
+ return ret | 3;
+ case TokenType.TypeSpec :
+ return ret | 4;
+ default :
+ throw new MetadataFormatException("Non valid Token for MemberRefParent");
+ }
+ case CodedIndex.HasSemantics :
+ ret = token.RID << 1;
+ switch (token.TokenType) {
+ case TokenType.Event :
+ return ret | 0;
+ case TokenType.Property :
+ return ret | 1;
+ default :
+ throw new MetadataFormatException("Non valid Token for HasSemantics");
+ }
+ case CodedIndex.MethodDefOrRef :
+ ret = token.RID << 1;
+ switch (token.TokenType) {
+ case TokenType.Method :
+ return ret | 0;
+ case TokenType.MemberRef :
+ return ret | 1;
+ default :
+ throw new MetadataFormatException("Non valid Token for MethodDefOrRef");
+ }
+ case CodedIndex.MemberForwarded :
+ ret = token.RID << 1;
+ switch (token.TokenType) {
+ case TokenType.Field :
+ return ret | 0;
+ case TokenType.Method :
+ return ret | 1;
+ default :
+ throw new MetadataFormatException("Non valid Token for MemberForwarded");
+ }
+ case CodedIndex.Implementation :
+ ret = token.RID << 2;
+ switch (token.TokenType) {
+ case TokenType.File :
+ return ret | 0;
+ case TokenType.AssemblyRef :
+ return ret | 1;
+ case TokenType.ExportedType :
+ return ret | 2;
+ default :
+ throw new MetadataFormatException("Non valid Token for Implementation");
+ }
+ case CodedIndex.CustomAttributeType :
+ ret = token.RID << 3;
+ switch (token.TokenType) {
+ case TokenType.Method :
+ return ret | 2;
+ case TokenType.MemberRef :
+ return ret | 3;
+ default :
+ throw new MetadataFormatException("Non valid Token for CustomAttributeType");
+ }
+ case CodedIndex.ResolutionScope :
+ ret = token.RID << 2;
+ switch (token.TokenType) {
+ case TokenType.Module :
+ return ret | 0;
+ case TokenType.ModuleRef :
+ return ret | 1;
+ case TokenType.AssemblyRef :
+ return ret | 2;
+ case TokenType.TypeRef :
+ return ret | 3;
+ default :
+ throw new MetadataFormatException("Non valid Token for ResolutionScope");
+ }
+ case CodedIndex.TypeOrMethodDef :
+ ret = token.RID << 1;
+ switch (token.TokenType) {
+ case TokenType.TypeDef :
+ return ret | 0;
+ case TokenType.Method :
+ return ret | 1;
+ default :
+ throw new MetadataFormatException("Non valid Token for TypeOrMethodDef");
+ }
+ default :
+ throw new MetadataFormatException ("Non valid CodedIndex");
+ }
+ }
+
+ internal static Type GetCorrespondingTable (TokenType t)
+ {
+ switch (t) {
+ case TokenType.Assembly :
+ return typeof (AssemblyTable);
+ case TokenType.AssemblyRef :
+ return typeof (AssemblyRefTable);
+ case TokenType.CustomAttribute :
+ return typeof (CustomAttributeTable);
+ case TokenType.Event :
+ return typeof (EventTable);
+ case TokenType.ExportedType :
+ return typeof (ExportedTypeTable);
+ case TokenType.Field :
+ return typeof (FieldTable);
+ case TokenType.File :
+ return typeof (FileTable);
+ case TokenType.InterfaceImpl :
+ return typeof (InterfaceImplTable);
+ case TokenType.MemberRef :
+ return typeof (MemberRefTable);
+ case TokenType.Method :
+ return typeof (MethodTable);
+ case TokenType.Module :
+ return typeof (ModuleTable);
+ case TokenType.ModuleRef :
+ return typeof (ModuleRefTable);
+ case TokenType.Param :
+ return typeof (ParamTable);
+ case TokenType.Permission :
+ return typeof (DeclSecurityTable);
+ case TokenType.Property :
+ return typeof (PropertyTable);
+ case TokenType.Signature :
+ return typeof (StandAloneSigTable);
+ case TokenType.TypeDef :
+ return typeof (TypeDefTable);
+ case TokenType.TypeRef :
+ return typeof (TypeRefTable);
+ case TokenType.TypeSpec :
+ return typeof (TypeSpecTable);
+ default :
+ return null;
+ }
+ }
+
+ internal delegate int TableRowCounter (int rid);
+
+ internal static int GetCodedIndexSize (CodedIndex ci, TableRowCounter rowCounter, int [] codedIndexCache)
+ {
+ int bits = 0, max = 0, index = (int) ci;
+ if (codedIndexCache [index] != 0)
+ return codedIndexCache [index];
+
+ int res = 0;
+ int [] rids;
+ switch (ci) {
+ case CodedIndex.TypeDefOrRef :
+ bits = 2;
+ rids = new int [3];
+ rids [0] = TypeDefTable.RId;
+ rids [1] = TypeRefTable.RId;
+ rids [2] = TypeSpecTable.RId;
+ break;
+ case CodedIndex.HasConstant :
+ bits = 2;
+ rids = new int [3];
+ rids [0] = FieldTable.RId;
+ rids [1] = ParamTable.RId;
+ rids [2] = PropertyTable.RId;
+ break;
+ case CodedIndex.HasCustomAttribute :
+ bits = 5;
+ rids = new int [20];
+ rids [0] = MethodTable.RId;
+ rids [1] = FieldTable.RId;
+ rids [2] = TypeRefTable.RId;
+ rids [3] = TypeDefTable.RId;
+ rids [4] = ParamTable.RId;
+ rids [5] = InterfaceImplTable.RId;
+ rids [6] = MemberRefTable.RId;
+ rids [7] = ModuleTable.RId;
+ rids [8] = DeclSecurityTable.RId;
+ rids [9] = PropertyTable.RId;
+ rids [10] = EventTable.RId;
+ rids [11] = StandAloneSigTable.RId;
+ rids [12] = ModuleRefTable.RId;
+ rids [13] = TypeSpecTable.RId;
+ rids [14] = AssemblyTable.RId;
+ rids [15] = AssemblyRefTable.RId;
+ rids [16] = FileTable.RId;
+ rids [17] = ExportedTypeTable.RId;
+ rids [18] = ManifestResourceTable.RId;
+ rids [19] = GenericParamTable.RId;
+ break;
+ case CodedIndex.HasFieldMarshal :
+ bits = 1;
+ rids = new int [2];
+ rids [0] = FieldTable.RId;
+ rids [1] = ParamTable.RId;
+ break;
+ case CodedIndex.HasDeclSecurity :
+ bits = 2;
+ rids = new int [3];
+ rids [0] = TypeDefTable.RId;
+ rids [1] = MethodTable.RId;
+ rids [2] = AssemblyTable.RId;
+ break;
+ case CodedIndex.MemberRefParent :
+ bits = 3;
+ rids = new int [5];
+ rids [0] = TypeDefTable.RId;
+ rids [1] = TypeRefTable.RId;
+ rids [2] = ModuleRefTable.RId;
+ rids [3] = MethodTable.RId;
+ rids [4] = TypeSpecTable.RId;
+ break;
+ case CodedIndex.HasSemantics :
+ bits = 1;
+ rids = new int [2];
+ rids [0] = EventTable.RId;
+ rids [1] = PropertyTable.RId;
+ break;
+ case CodedIndex.MethodDefOrRef :
+ bits = 1;
+ rids = new int [2];
+ rids [0] = MethodTable.RId;
+ rids [1] = MemberRefTable.RId;
+ break;
+ case CodedIndex.MemberForwarded :
+ bits = 1;
+ rids = new int [2];
+ rids [0] = FieldTable.RId;
+ rids [1] = MethodTable.RId;
+ break;
+ case CodedIndex.Implementation :
+ bits = 2;
+ rids = new int [3];
+ rids [0] = FileTable.RId;
+ rids [1] = AssemblyRefTable.RId;
+ rids [2] = ExportedTypeTable.RId;
+ break;
+ case CodedIndex.CustomAttributeType :
+ bits = 3;
+ rids = new int [2];
+ rids [0] = MethodTable.RId;
+ rids [1] = MemberRefTable.RId;
+ break;
+ case CodedIndex.ResolutionScope :
+ bits = 2;
+ rids = new int [4];
+ rids [0] = ModuleTable.RId;
+ rids [1] = ModuleRefTable.RId;
+ rids [2] = AssemblyRefTable.RId;
+ rids [3] = TypeRefTable.RId;
+ break;
+ case CodedIndex.TypeOrMethodDef :
+ bits = 1;
+ rids = new int [2];
+ rids [0] = TypeDefTable.RId;
+ rids [1] = MethodTable.RId;
+ break;
+ default :
+ throw new MetadataFormatException ("Non valid CodedIndex");
+ }
+
+ for (int i = 0; i < rids.Length; i++) {
+ int rows = rowCounter (rids [i]);
+ if (rows > max) max = rows;
+ }
+
+ res = max < (1 << (16 - bits)) ? 2 : 4;
+ codedIndexCache [index] = res;
+ return res;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Array.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/Array.cs
index c708963483a..c708963483a 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Array.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/Array.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/ArrayShape.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/ArrayShape.cs
index 7cf3940c26f..7cf3940c26f 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/ArrayShape.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/ArrayShape.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/BaseSignatureVisitor.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/BaseSignatureVisitor.cs
index 0a37a5b8181..0a37a5b8181 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/BaseSignatureVisitor.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/BaseSignatureVisitor.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Class.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/Class.cs
index ef908e60f36..ef908e60f36 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Class.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/Class.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Constraint.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/Constraint.cs
index 416707b9d84..416707b9d84 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Constraint.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/Constraint.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Signatures/CustomAttrib.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/CustomAttrib.cs
new file mode 100644
index 00000000000..3ad8e9cf352
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/CustomAttrib.cs
@@ -0,0 +1,84 @@
+//
+// CustomAttrib.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Signatures {
+
+ using Mono.Cecil.Metadata;
+
+ internal sealed class CustomAttrib {
+
+ public const ushort StdProlog = 0x0001;
+
+ public MethodReference Constructor;
+
+ public ushort Prolog;
+ public FixedArg [] FixedArgs;
+ public ushort NumNamed;
+ public NamedArg [] NamedArgs;
+ public bool Read;
+
+ public CustomAttrib (MethodReference ctor)
+ {
+ Constructor = ctor;
+ }
+
+ internal struct FixedArg {
+
+ public bool SzArray;
+ public uint NumElem;
+ public Elem [] Elems;
+
+ internal static FixedArg [] Empty = new FixedArg [0];
+ }
+
+ internal struct Elem {
+
+ public bool Simple;
+ public bool String;
+ public bool Type;
+ public bool BoxedValueType;
+
+ public ElementType FieldOrPropType;
+ public object Value;
+
+ public TypeReference ElemType;
+ }
+
+ internal struct NamedArg {
+
+ public bool Field;
+ public bool Property;
+
+ public ElementType FieldOrPropType;
+ public string FieldOrPropName;
+ public FixedArg FixedArg;
+
+ internal static NamedArg [] Empty = new NamedArg [0];
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Signatures/CustomMod.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/CustomMod.cs
new file mode 100644
index 00000000000..195dc4f9a50
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/CustomMod.cs
@@ -0,0 +1,50 @@
+//
+// CustomMod.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Signatures {
+
+ using Mono.Cecil.Metadata;
+
+ internal sealed class CustomMod {
+
+ public static CustomMod [] EmptyCustomMod = new CustomMod [0];
+
+ internal enum CMODType : byte {
+ None = 0x0,
+ OPT = (byte) ElementType.CModOpt,
+ REQD = (byte) ElementType.CModReqD
+ }
+
+ public CMODType CMOD;
+ public MetadataToken TypeDefOrRef;
+
+ public CustomMod ()
+ {
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/FieldSig.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/FieldSig.cs
index a01c058f474..a01c058f474 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/FieldSig.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/FieldSig.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/FnPtr.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/FnPtr.cs
index 02fc3303a88..02fc3303a88 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/FnPtr.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/FnPtr.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/GenericArg.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/GenericArg.cs
index ab8eb84fc17..ab8eb84fc17 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/GenericArg.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/GenericArg.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/GenericInst.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/GenericInst.cs
index 02bd1117e39..02bd1117e39 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/GenericInst.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/GenericInst.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/GenericInstSignature.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/GenericInstSignature.cs
index 94d41c4802e..94d41c4802e 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/GenericInstSignature.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/GenericInstSignature.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/ISignatureVisitable.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/ISignatureVisitable.cs
index 81374f07cb7..81374f07cb7 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/ISignatureVisitable.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/ISignatureVisitable.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/ISignatureVisitor.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/ISignatureVisitor.cs
index e473e87dcc3..e473e87dcc3 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/ISignatureVisitor.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/ISignatureVisitor.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/InputOutputItem.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/InputOutputItem.cs
index 5240a816fd7..5240a816fd7 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/InputOutputItem.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/InputOutputItem.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Signatures/LocalVarSig.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/LocalVarSig.cs
new file mode 100644
index 00000000000..5f8f73727fc
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/LocalVarSig.cs
@@ -0,0 +1,58 @@
+//
+// LocalVarSig.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Signatures {
+
+ internal sealed class LocalVarSig : Signature {
+
+ public bool Local;
+ public int Count;
+ public LocalVariable [] LocalVariables;
+
+ public LocalVarSig () : base ()
+ {
+ }
+
+ public LocalVarSig (uint blobIndex) : base (blobIndex)
+ {
+ }
+
+ public override void Accept (ISignatureVisitor visitor)
+ {
+ visitor.VisitLocalVarSig (this);
+ }
+
+ internal struct LocalVariable {
+
+ public CustomMod [] CustomMods;
+ public Constraint Constraint;
+ public bool ByRef;
+ public SigType Type;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MVar.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/MVar.cs
index 3fca4a42112..3fca4a42112 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MVar.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/MVar.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil.Signatures/MarshalSig.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/MarshalSig.cs
new file mode 100644
index 00000000000..89b7102f2ce
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/MarshalSig.cs
@@ -0,0 +1,93 @@
+//
+// MarshalSig.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil.Signatures {
+
+ using System;
+
+ using Mono.Cecil;
+
+ internal sealed class MarshalSig {
+
+ public NativeType NativeInstrinsic;
+ public IMarshalSigSpec Spec;
+
+ public MarshalSig (NativeType nt)
+ {
+ this.NativeInstrinsic = nt;
+ }
+
+ internal interface IMarshalSigSpec {
+ }
+
+ internal sealed class Array : IMarshalSigSpec {
+
+ public NativeType ArrayElemType;
+ public int ParamNum;
+ public int ElemMult;
+ public int NumElem;
+
+ public Array ()
+ {
+ this.ParamNum = 0;
+ this.ElemMult = 0;
+ this.NumElem = 0;
+ }
+ }
+
+ internal sealed class CustomMarshaler : IMarshalSigSpec {
+
+ public string Guid;
+ public string UnmanagedType;
+ public string ManagedType;
+ public string Cookie;
+ }
+
+ internal sealed class FixedArray : IMarshalSigSpec {
+
+ public int NumElem;
+ public NativeType ArrayElemType;
+
+ public FixedArray ()
+ {
+ this.NumElem = 0;
+ this.ArrayElemType = NativeType.NONE;
+ }
+ }
+
+ internal sealed class SafeArray : IMarshalSigSpec {
+
+ public VariantType ArrayElemType;
+ }
+
+ internal sealed class FixedSysString : IMarshalSigSpec {
+
+ public int Size;
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MethodDefSig.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/MethodDefSig.cs
index b7e2e5896bd..b7e2e5896bd 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MethodDefSig.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/MethodDefSig.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MethodRefSig.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/MethodRefSig.cs
index 63cc35bbd44..63cc35bbd44 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MethodRefSig.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/MethodRefSig.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MethodSig.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/MethodSig.cs
index 3b658096d81..3b658096d81 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MethodSig.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/MethodSig.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MethodSpec.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/MethodSpec.cs
index 0ad0f8b08e4..0ad0f8b08e4 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/MethodSpec.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/MethodSpec.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Param.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/Param.cs
index 0bd7a0dc7ee..0bd7a0dc7ee 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Param.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/Param.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/PropertySig.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/PropertySig.cs
index 5db0820ce1b..5db0820ce1b 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/PropertySig.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/PropertySig.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Ptr.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/Ptr.cs
index e95394d5d68..e95394d5d68 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Ptr.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/Ptr.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/RetType.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/RetType.cs
index 654121147ab..654121147ab 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/RetType.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/RetType.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/SigType.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/SigType.cs
index 6e2d19b8a39..6e2d19b8a39 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/SigType.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/SigType.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Signature.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/Signature.cs
index 5d9e254b3c2..5d9e254b3c2 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Signature.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/Signature.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/SignatureReader.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/SignatureReader.cs
index 3e84b252a89..3e84b252a89 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/SignatureReader.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/SignatureReader.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/SignatureWriter.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/SignatureWriter.cs
index f1542c41333..f1542c41333 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/SignatureWriter.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/SignatureWriter.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/SzArray.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/SzArray.cs
index 08ad8f13162..08ad8f13162 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/SzArray.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/SzArray.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/TypeSpec.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/TypeSpec.cs
index 7664df311aa..7664df311aa 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/TypeSpec.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/TypeSpec.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/ValueType.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/ValueType.cs
index 36b2661bd8a..36b2661bd8a 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/ValueType.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/ValueType.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Var.cs b/mcs/tools/cil-strip/Mono.Cecil.Signatures/Var.cs
index 97b35b608e1..97b35b608e1 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil.Signatures/Var.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil.Signatures/Var.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/AggressiveReflectionReader.cs b/mcs/tools/cil-strip/Mono.Cecil/AggressiveReflectionReader.cs
index adbb872e731..adbb872e731 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/AggressiveReflectionReader.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil/AggressiveReflectionReader.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ArrayDimension.cs b/mcs/tools/cil-strip/Mono.Cecil/ArrayDimension.cs
new file mode 100644
index 00000000000..7e94599ce01
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ArrayDimension.cs
@@ -0,0 +1,59 @@
+//
+// ArrayDimension.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal sealed class ArrayDimension {
+
+ int m_lowerBound;
+ int m_upperBound;
+
+ public int LowerBound {
+ get { return m_lowerBound; }
+ set { m_lowerBound = value; }
+ }
+
+ public int UpperBound {
+ get { return m_upperBound; }
+ set { m_upperBound = value; }
+ }
+
+ public ArrayDimension (int lb, int ub)
+ {
+ m_lowerBound = lb;
+ m_upperBound = ub;
+ }
+
+ public override string ToString ()
+ {
+ if (m_upperBound == 0)
+ return string.Empty;
+ return string.Concat (m_lowerBound, "...", m_upperBound);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ArrayDimensionCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/ArrayDimensionCollection.cs
new file mode 100644
index 00000000000..e7b50820755
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ArrayDimensionCollection.cs
@@ -0,0 +1,88 @@
+//
+// ArrayDimensionCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Wed Sep 27 12:46:53 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class ArrayDimensionCollection : CollectionBase {
+
+ ArrayType m_container;
+
+ public ArrayDimension this [int index] {
+ get { return List [index] as ArrayDimension; }
+ set { List [index] = value; }
+ }
+
+ public ArrayType Container {
+ get { return m_container; }
+ }
+
+ public ArrayDimensionCollection (ArrayType container)
+ {
+ m_container = container;
+ }
+
+ public void Add (ArrayDimension value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (ArrayDimension value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (ArrayDimension value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, ArrayDimension value)
+ {
+ List.Insert (index, value);
+ }
+
+ public void Remove (ArrayDimension value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is ArrayDimension))
+ throw new ArgumentException ("Must be of type " + typeof (ArrayDimension).FullName);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ArrayType.cs b/mcs/tools/cil-strip/Mono.Cecil/ArrayType.cs
new file mode 100644
index 00000000000..e06a8eb0bf5
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ArrayType.cs
@@ -0,0 +1,109 @@
+//
+// ArrayType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System.Text;
+
+ using Mono.Cecil.Signatures;
+
+ internal sealed class ArrayType : TypeSpecification {
+
+ private ArrayDimensionCollection m_dimensions;
+
+ public ArrayDimensionCollection Dimensions {
+ get { return m_dimensions; }
+ }
+
+ public int Rank {
+ get { return m_dimensions.Count; }
+ }
+
+ public bool IsSizedArray {
+ get {
+ if (this.Rank != 1)
+ return false;
+ ArrayDimension dim = m_dimensions [0];
+ return dim.UpperBound == 0;
+ }
+ }
+
+ public override string Name {
+ get { return string.Concat (base.Name, Suffix ()); }
+ }
+
+ public override string FullName {
+ get { return string.Concat (base.FullName, Suffix ()); }
+ }
+
+ string Suffix ()
+ {
+ StringBuilder sb = new StringBuilder ();
+ sb.Append ("[");
+ for (int i = 0; i < m_dimensions.Count; i++) {
+ ArrayDimension dim = m_dimensions [i];
+ string rank = dim.ToString ();
+ if (i < m_dimensions.Count - 1)
+ sb.Append (",");
+ if (rank.Length > 0) {
+ sb.Append (" ");
+ sb.Append (rank);
+ }
+ }
+ sb.Append ("]");
+ return sb.ToString ();
+ }
+
+ internal ArrayType (TypeReference elementType, ArrayShape shape) : base (elementType)
+ {
+ m_dimensions = new ArrayDimensionCollection (this);
+ for (int i = 0; i < shape.Rank; i++) {
+ int lower = 0, upper = 0;
+ if (i < shape.NumSizes)
+ if (i < shape.NumLoBounds) {
+ lower = shape.LoBounds [i];
+ upper = shape.LoBounds [i] + shape.Sizes [i] - 1;
+ } else
+ upper = shape.Sizes [i] - 1;
+
+ m_dimensions.Add (new ArrayDimension (lower, upper));
+ }
+ }
+
+ public ArrayType (TypeReference elementType, int rank) : base (elementType)
+ {
+ m_dimensions = new ArrayDimensionCollection (this);
+ for (int i = 0; i < rank; i++)
+ m_dimensions.Add (new ArrayDimension (0, 0));
+ }
+
+ public ArrayType (TypeReference elementType) : this (elementType, 1)
+ {
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/AssemblyDefinition.cs b/mcs/tools/cil-strip/Mono.Cecil/AssemblyDefinition.cs
new file mode 100644
index 00000000000..b0c3aa62674
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/AssemblyDefinition.cs
@@ -0,0 +1,169 @@
+//
+// AssemblyDefinition.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Metadata;
+
+ internal class AssemblyDefinition : ICustomAttributeProvider,
+ IHasSecurity, IAnnotationProvider, IReflectionStructureVisitable {
+
+ MetadataToken m_token;
+ AssemblyNameDefinition m_asmName;
+ ModuleDefinitionCollection m_modules;
+ SecurityDeclarationCollection m_secDecls;
+ CustomAttributeCollection m_customAttrs;
+ MethodDefinition m_ep;
+ TargetRuntime m_runtime;
+ AssemblyKind m_kind;
+
+ ModuleDefinition m_mainModule;
+ StructureReader m_reader;
+
+ IAssemblyResolver m_resolver;
+ IDictionary m_annotations;
+
+ public MetadataToken MetadataToken {
+ get { return m_token; }
+ set { m_token = value; }
+ }
+
+ public AssemblyNameDefinition Name {
+ get { return m_asmName; }
+ }
+
+ public ModuleDefinitionCollection Modules {
+ get { return m_modules; }
+ }
+
+ public bool HasSecurityDeclarations {
+ get { return (m_secDecls == null) ? false : (m_secDecls.Count > 0); }
+ }
+
+ public SecurityDeclarationCollection SecurityDeclarations {
+ get {
+ if (m_secDecls == null)
+ m_secDecls = new SecurityDeclarationCollection (this);
+
+ return m_secDecls;
+ }
+ }
+
+ public bool HasCustomAttributes {
+ get { return (m_customAttrs == null) ? false : (m_customAttrs.Count > 0); }
+ }
+
+ public CustomAttributeCollection CustomAttributes {
+ get {
+ if (m_customAttrs == null)
+ m_customAttrs = new CustomAttributeCollection (this);
+
+ return m_customAttrs;
+ }
+ }
+
+ public MethodDefinition EntryPoint {
+ get { return m_ep; }
+ set { m_ep = value; }
+ }
+
+ public TargetRuntime Runtime {
+ get { return m_runtime; }
+ set { m_runtime = value; }
+ }
+
+ public AssemblyKind Kind {
+ get { return m_kind; }
+ set { m_kind = value; }
+ }
+
+ public ModuleDefinition MainModule {
+ get {
+ if (m_mainModule == null) {
+ foreach (ModuleDefinition module in m_modules) {
+ if (module.Main) {
+ m_mainModule = module;
+ break;
+ }
+ }
+ }
+ return m_mainModule;
+ }
+ }
+
+ internal StructureReader Reader {
+ get { return m_reader; }
+ }
+
+ public IAssemblyResolver Resolver {
+ get { return m_resolver; }
+ set { m_resolver = value; }
+ }
+
+ IDictionary IAnnotationProvider.Annotations {
+ get {
+ if (m_annotations == null)
+ m_annotations = new Hashtable ();
+ return m_annotations;
+ }
+ }
+
+ internal AssemblyDefinition (AssemblyNameDefinition name)
+ {
+ if (name == null)
+ throw new ArgumentNullException ("name");
+
+ m_asmName = name;
+ m_modules = new ModuleDefinitionCollection (this);
+ m_resolver = new DefaultAssemblyResolver ();
+ }
+
+ internal AssemblyDefinition (AssemblyNameDefinition name, StructureReader reader) : this (name)
+ {
+ m_reader = reader;
+ }
+
+ public void Accept (IReflectionStructureVisitor visitor)
+ {
+ visitor.VisitAssemblyDefinition (this);
+
+ m_asmName.Accept (visitor);
+ m_modules.Accept (visitor);
+
+ visitor.TerminateAssemblyDefinition (this);
+ }
+
+ public override string ToString ()
+ {
+ return m_asmName.FullName;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/AssemblyFactory.cs b/mcs/tools/cil-strip/Mono.Cecil/AssemblyFactory.cs
new file mode 100644
index 00000000000..8a636270227
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/AssemblyFactory.cs
@@ -0,0 +1,183 @@
+//
+// AssemblyFactory.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.IO;
+ using SR = System.Reflection;
+
+ using Mono.Cecil.Binary;
+
+ internal sealed class AssemblyFactory {
+
+ AssemblyFactory ()
+ {
+ }
+
+ static AssemblyDefinition GetAssembly (ImageReader irv, bool manifestOnly)
+ {
+ StructureReader srv = new StructureReader (irv, manifestOnly);
+ AssemblyDefinition asm = new AssemblyDefinition (
+ new AssemblyNameDefinition (), srv);
+
+ asm.Accept (srv);
+ return asm;
+ }
+
+ static AssemblyDefinition GetAssembly (ImageReader reader)
+ {
+ return GetAssembly (reader, false);
+ }
+
+ static AssemblyDefinition GetAssemblyManifest (ImageReader reader)
+ {
+ return GetAssembly (reader, true);
+ }
+
+ public static AssemblyDefinition GetAssembly (string file)
+ {
+ return GetAssembly (ImageReader.Read (file));
+ }
+
+ public static AssemblyDefinition GetAssembly (byte [] assembly)
+ {
+ return GetAssembly (ImageReader.Read (assembly));
+ }
+
+ public static AssemblyDefinition GetAssembly (Stream stream)
+ {
+ return GetAssembly (ImageReader.Read (stream));
+ }
+
+ public static AssemblyDefinition GetAssemblyManifest (string file)
+ {
+ return GetAssemblyManifest (ImageReader.Read (file));
+ }
+
+ public static AssemblyDefinition GetAssemblyManifest (byte [] assembly)
+ {
+ return GetAssemblyManifest (ImageReader.Read (assembly));
+ }
+
+ public static AssemblyDefinition GetAssemblyManifest (Stream stream)
+ {
+ return GetAssemblyManifest (ImageReader.Read (stream));
+ }
+
+ static TargetRuntime CurrentRuntime ()
+ {
+ Version corlib = typeof (object).Assembly.GetName ().Version;
+
+ switch (corlib.Major) {
+ case 1:
+ return corlib.Minor == 0 ? TargetRuntime.NET_1_0 : TargetRuntime.NET_1_1;
+ case 2:
+ return TargetRuntime.NET_2_0;
+ case 4:
+ return TargetRuntime.NET_4_0;
+ default:
+ throw new NotSupportedException ();
+ }
+ }
+
+ public static AssemblyDefinition DefineAssembly (string name, AssemblyKind kind)
+ {
+ return DefineAssembly (name, name, CurrentRuntime (), kind);
+ }
+
+ public static AssemblyDefinition DefineAssembly (string name, TargetRuntime rt, AssemblyKind kind)
+ {
+ return DefineAssembly (name, name, rt, kind);
+ }
+
+ public static AssemblyDefinition DefineAssembly (string assemblyName, string moduleName, TargetRuntime rt, AssemblyKind kind)
+ {
+ AssemblyNameDefinition asmName = new AssemblyNameDefinition ();
+ asmName.Name = assemblyName;
+ AssemblyDefinition asm = new AssemblyDefinition (asmName);
+ asm.Runtime = rt;
+ asm.Kind = kind;
+ ModuleDefinition main = new ModuleDefinition (moduleName, asm, true);
+ asm.Modules.Add (main);
+ return asm;
+ }
+
+ static void WriteAssembly (AssemblyDefinition asm, BinaryWriter bw)
+ {
+ asm.Accept (new StructureWriter (asm, bw));
+ }
+
+ public static void SaveAssembly (AssemblyDefinition asm, string file)
+ {
+ using (FileStream fs = new FileStream (
+ file, FileMode.Create, FileAccess.Write, FileShare.None)) {
+
+ SaveAssembly (asm, fs);
+ asm.MainModule.Image.SetFileInfo (new FileInfo (file));
+ }
+ }
+
+ public static void SaveAssembly (AssemblyDefinition asm, out byte [] assembly)
+ {
+ MemoryBinaryWriter bw = new MemoryBinaryWriter ();
+ SaveAssembly (asm, bw.BaseStream);
+ assembly = bw.ToArray ();
+ }
+
+ public static void SaveAssembly (AssemblyDefinition asm, Stream stream)
+ {
+ BinaryWriter bw = new BinaryWriter (stream);
+ try {
+ WriteAssembly (asm, bw);
+ } finally {
+ bw.Close ();
+ }
+
+ foreach (ModuleDefinition module in asm.Modules)
+ if (module.Controller.Writer.SaveSymbols)
+ module.Controller.Writer.WriteSymbols (module);
+ }
+
+#if !CF_1_0 && !CF_2_0
+ public static SR.Assembly CreateReflectionAssembly (AssemblyDefinition asm, AppDomain domain)
+ {
+ using (MemoryBinaryWriter writer = new MemoryBinaryWriter ()) {
+
+ WriteAssembly (asm, writer);
+ return domain.Load (writer.ToArray ());
+ }
+ }
+
+ public static SR.Assembly CreateReflectionAssembly (AssemblyDefinition asm)
+ {
+ return CreateReflectionAssembly (asm, AppDomain.CurrentDomain);
+ }
+#endif
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/AssemblyFlags.cs b/mcs/tools/cil-strip/Mono.Cecil/AssemblyFlags.cs
new file mode 100644
index 00000000000..bc2980d58b8
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/AssemblyFlags.cs
@@ -0,0 +1,41 @@
+//
+// AssemblyFlags.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ [Flags]
+ internal enum AssemblyFlags : uint {
+ PublicKey = 0x0001,
+ SideBySideCompatible = 0x0000,
+ Retargetable = 0x0100,
+ EnableJITcompileTracking = 0x8000,
+ DisableJITcompileOptimizer = 0x4000
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/AssemblyHashAlgorithm.cs b/mcs/tools/cil-strip/Mono.Cecil/AssemblyHashAlgorithm.cs
new file mode 100644
index 00000000000..c95c842a61d
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/AssemblyHashAlgorithm.cs
@@ -0,0 +1,37 @@
+//
+// AssemblyHashAlgorithm.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal enum AssemblyHashAlgorithm : uint {
+ None = 0x0000,
+ Reserved = 0x8003, // MD5
+ SHA1 = 0x8004
+ }
+}
+
diff --git a/mcs/tools/cil-strip/Mono.Cecil/AssemblyInfo.cs b/mcs/tools/cil-strip/Mono.Cecil/AssemblyInfo.cs
new file mode 100644
index 00000000000..cd77a32dd5d
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/AssemblyInfo.cs
@@ -0,0 +1,62 @@
+//
+// AssemblyInfo.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+#if !EMBEDDED
+
+[assembly: AssemblyTitle ("Mono.Cecil")]
+[assembly: AssemblyDescription ("Library for reading and writing CIL images")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyProduct ("Mono.Cecil")]
+[assembly: AssemblyCopyright ("(C) 2005 - 2007, Jb Evain")]
+[assembly: AssemblyCulture ("")]
+
+[assembly: CLSCompliant (false)]
+[assembly: ComVisible (false)]
+
+[assembly: AssemblyVersion (
+ //
+ // DO NOT MODIFY THE STRING BELOWS WITOUT UPDATING cecil.pc.in in mono/data
+ //
+ "0.6.9.0"
+ //
+ // DO NOT MODIFY THE STRING ABOVE WITHOUT UPDATING cecil.pc.in in mono/data
+)]
+
+#if KEYFILE
+[assembly: AssemblyKeyFile("../../mono.snk")]
+#endif
+
+#endif
+
+
+
diff --git a/mcs/tools/cil-strip/Mono.Cecil/AssemblyKind.cs b/mcs/tools/cil-strip/Mono.Cecil/AssemblyKind.cs
new file mode 100644
index 00000000000..a4b7e466a87
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/AssemblyKind.cs
@@ -0,0 +1,36 @@
+//
+// AssemblyKind.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal enum AssemblyKind {
+ Dll,
+ Console,
+ Windows
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/AssemblyLinkedResource.cs b/mcs/tools/cil-strip/Mono.Cecil/AssemblyLinkedResource.cs
new file mode 100644
index 00000000000..2b303443e73
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/AssemblyLinkedResource.cs
@@ -0,0 +1,51 @@
+//
+// AssemblyLinkedResource.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal sealed class AssemblyLinkedResource : Resource {
+
+ private AssemblyNameReference m_asmRef;
+
+ public AssemblyNameReference Assembly {
+ get { return m_asmRef; }
+ set { m_asmRef = value; }
+ }
+
+ public AssemblyLinkedResource (string name, ManifestResourceAttributes flags,
+ AssemblyNameReference asmRef) : base (name, flags)
+ {
+ m_asmRef = asmRef;
+ }
+
+ public override void Accept (IReflectionStructureVisitor visitor)
+ {
+ visitor.VisitAssemblyLinkedResource (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/AssemblyNameDefinition.cs b/mcs/tools/cil-strip/Mono.Cecil/AssemblyNameDefinition.cs
new file mode 100644
index 00000000000..ef36e084abc
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/AssemblyNameDefinition.cs
@@ -0,0 +1,52 @@
+//
+// AssemblyNameDefinition.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ internal sealed class AssemblyNameDefinition : AssemblyNameReference {
+
+ public override byte [] Hash {
+ get { return new byte [0]; }
+ }
+
+ public AssemblyNameDefinition () : base()
+ {
+ }
+
+ public AssemblyNameDefinition (string name, string culture, Version version) : base (name, culture, version)
+ {
+ }
+
+ public override void Accept (IReflectionStructureVisitor visitor)
+ {
+ visitor.VisitAssemblyNameDefinition (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/AssemblyNameReference.cs b/mcs/tools/cil-strip/Mono.Cecil/AssemblyNameReference.cs
new file mode 100644
index 00000000000..3d2278a8ff6
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/AssemblyNameReference.cs
@@ -0,0 +1,275 @@
+//
+// AssemblyNameReference.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+ using System.Globalization;
+ using System.Security.Cryptography;
+ using System.Text;
+
+ using Mono.Cecil.Metadata;
+
+ internal class AssemblyNameReference : IMetadataScope, IAnnotationProvider, IReflectionStructureVisitable {
+
+ string m_name;
+ string m_culture;
+ Version m_version;
+ AssemblyFlags m_flags;
+ byte [] m_publicKey;
+ byte [] m_publicKeyToken;
+ AssemblyHashAlgorithm m_hashAlgo;
+ byte [] m_hash;
+ MetadataToken m_token;
+ IDictionary m_annotations;
+
+ bool m_fullNameDiscarded = true;
+ string m_fullName;
+
+ public string Name {
+ get { return m_name; }
+ set {
+ m_name = value;
+ m_fullNameDiscarded = true;
+ }
+ }
+
+ public string Culture {
+ get { return m_culture; }
+ set {
+ m_culture = value;
+ m_fullNameDiscarded = true;
+ }
+ }
+
+ public Version Version {
+ get { return m_version; }
+ set {
+ m_version = value;
+ m_fullNameDiscarded = true;
+ }
+ }
+
+ public AssemblyFlags Flags {
+ get { return m_flags; }
+ set { m_flags = value; }
+ }
+
+ public bool HasPublicKey {
+ get { return (m_flags & AssemblyFlags.PublicKey) != 0; }
+ set {
+ if (value)
+ m_flags |= AssemblyFlags.PublicKey;
+ else
+ m_flags &= ~AssemblyFlags.PublicKey;
+ }
+ }
+
+ public bool IsSideBySideCompatible {
+ get { return (m_flags & AssemblyFlags.SideBySideCompatible) != 0; }
+ set {
+ if (value)
+ m_flags |= AssemblyFlags.SideBySideCompatible;
+ else
+ m_flags &= ~AssemblyFlags.SideBySideCompatible;
+ }
+ }
+
+ public bool IsRetargetable {
+ get { return (m_flags & AssemblyFlags.Retargetable) != 0; }
+ set {
+ if (value)
+ m_flags |= AssemblyFlags.Retargetable;
+ else
+ m_flags &= ~AssemblyFlags.Retargetable;
+ }
+ }
+
+ public byte [] PublicKey {
+ get { return m_publicKey; }
+ set {
+ m_publicKey = value;
+ m_publicKeyToken = null;
+ m_fullNameDiscarded = true;
+ }
+ }
+
+ public byte [] PublicKeyToken {
+ get {
+#if !CF_1_0
+ if ((m_publicKeyToken == null || m_publicKeyToken.Length == 0) && (m_publicKey != null && m_publicKey.Length > 0)) {
+ HashAlgorithm ha;
+ switch (m_hashAlgo) {
+ case AssemblyHashAlgorithm.Reserved:
+ ha = MD5.Create (); break;
+ default:
+ // None default to SHA1
+ ha = SHA1.Create (); break;
+ }
+ byte [] hash = ha.ComputeHash (m_publicKey);
+ // we need the last 8 bytes in reverse order
+ m_publicKeyToken = new byte [8];
+ Array.Copy (hash, (hash.Length - 8), m_publicKeyToken, 0, 8);
+ Array.Reverse (m_publicKeyToken, 0, 8);
+ }
+#endif
+ return m_publicKeyToken;
+ }
+ set {
+ m_publicKeyToken = value;
+ m_fullNameDiscarded = true;
+ }
+ }
+
+ public string FullName {
+ get {
+ if (m_fullName != null && !m_fullNameDiscarded)
+ return m_fullName;
+
+ StringBuilder sb = new StringBuilder ();
+ string sep = ", ";
+ sb.Append (m_name);
+ if (m_version != null) {
+ sb.Append (sep);
+ sb.Append ("Version=");
+ sb.Append (m_version.ToString ());
+ }
+ sb.Append (sep);
+ sb.Append ("Culture=");
+ sb.Append (m_culture == null || m_culture.Length == 0 ? "neutral" : m_culture);
+ sb.Append (sep);
+ sb.Append ("PublicKeyToken=");
+ if (this.PublicKeyToken != null && m_publicKeyToken.Length > 0) {
+ for (int i = 0 ; i < m_publicKeyToken.Length ; i++) {
+ sb.Append (m_publicKeyToken [i].ToString ("x2"));
+ }
+ } else {
+ sb.Append ("null");
+ }
+ m_fullName = sb.ToString ();
+ m_fullNameDiscarded = false;
+ return m_fullName;
+ }
+ }
+
+ public static AssemblyNameReference Parse (string fullName)
+ {
+ if (fullName == null)
+ throw new ArgumentNullException ("fullName");
+ if (fullName.Length == 0)
+ throw new ArgumentException ("Name can not be empty");
+
+ AssemblyNameReference name = new AssemblyNameReference ();
+ string [] tokens = fullName.Split (',');
+ for (int i = 0; i < tokens.Length; i++) {
+ string token = tokens [i].Trim ();
+
+ if (i == 0) {
+ name.Name = token;
+ continue;
+ }
+
+ string [] parts = token.Split ('=');
+ if (parts.Length != 2)
+ throw new ArgumentException ("Malformed name");
+
+ switch (parts [0]) {
+ case "Version":
+ name.Version = new Version (parts [1]);
+ break;
+ case "Culture":
+ name.Culture = parts [1];
+ break;
+ case "PublicKeyToken":
+ string pkToken = parts [1];
+ if (pkToken == "null")
+ break;
+
+ name.PublicKeyToken = new byte [pkToken.Length / 2];
+ for (int j = 0; j < name.PublicKeyToken.Length; j++) {
+ name.PublicKeyToken [j] = Byte.Parse (pkToken.Substring (j * 2, 2), NumberStyles.HexNumber);
+ }
+ break;
+ }
+ }
+
+ return name;
+ }
+
+ public AssemblyHashAlgorithm HashAlgorithm
+ {
+ get { return m_hashAlgo; }
+ set { m_hashAlgo = value; }
+ }
+
+ public virtual byte [] Hash {
+ get { return m_hash; }
+ set { m_hash = value; }
+ }
+
+ public MetadataToken MetadataToken {
+ get { return m_token; }
+ set { m_token = value; }
+ }
+
+ IDictionary IAnnotationProvider.Annotations {
+ get {
+ if (m_annotations == null)
+ m_annotations = new Hashtable ();
+ return m_annotations;
+ }
+ }
+
+ public AssemblyNameReference () : this (string.Empty, string.Empty, new Version (0, 0, 0, 0))
+ {
+ }
+
+ public AssemblyNameReference (string name, string culture, Version version)
+ {
+ if (name == null)
+ throw new ArgumentNullException ("name");
+ if (culture == null)
+ throw new ArgumentNullException ("culture");
+ m_name = name;
+ m_culture = culture;
+ m_version = version;
+ m_hashAlgo = AssemblyHashAlgorithm.None;
+ }
+
+ public override string ToString ()
+ {
+ return this.FullName;
+ }
+
+ public virtual void Accept (IReflectionStructureVisitor visitor)
+ {
+ visitor.VisitAssemblyNameReference (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/AssemblyNameReferenceCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/AssemblyNameReferenceCollection.cs
new file mode 100644
index 00000000000..280ede55d13
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/AssemblyNameReferenceCollection.cs
@@ -0,0 +1,93 @@
+//
+// AssemblyNameReferenceCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Wed Sep 27 12:46:52 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class AssemblyNameReferenceCollection : CollectionBase, IReflectionStructureVisitable {
+
+ ModuleDefinition m_container;
+
+ public AssemblyNameReference this [int index] {
+ get { return List [index] as AssemblyNameReference; }
+ set { List [index] = value; }
+ }
+
+ public ModuleDefinition Container {
+ get { return m_container; }
+ }
+
+ public AssemblyNameReferenceCollection (ModuleDefinition container)
+ {
+ m_container = container;
+ }
+
+ public void Add (AssemblyNameReference value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (AssemblyNameReference value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (AssemblyNameReference value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, AssemblyNameReference value)
+ {
+ List.Insert (index, value);
+ }
+
+ public void Remove (AssemblyNameReference value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is AssemblyNameReference))
+ throw new ArgumentException ("Must be of type " + typeof (AssemblyNameReference).FullName);
+ }
+
+ public void Accept (IReflectionStructureVisitor visitor)
+ {
+ visitor.VisitAssemblyNameReferenceCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/BaseAssemblyResolver.cs b/mcs/tools/cil-strip/Mono.Cecil/BaseAssemblyResolver.cs
new file mode 100644
index 00000000000..f661075f73e
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/BaseAssemblyResolver.cs
@@ -0,0 +1,264 @@
+//
+// BaseAssemblyResolver.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+ using System.IO;
+ using SR = System.Reflection;
+ using System.Text;
+
+ internal abstract class BaseAssemblyResolver : IAssemblyResolver {
+
+ ArrayList m_directories;
+ string[] m_monoGacPaths;
+
+ public void AddSearchDirectory (string directory)
+ {
+ m_directories.Add (directory);
+ }
+
+ public void RemoveSearchDirectory (string directory)
+ {
+ m_directories.Remove (directory);
+ }
+
+ public string [] GetSearchDirectories ()
+ {
+ return (string []) m_directories.ToArray (typeof (string));
+ }
+
+ public virtual AssemblyDefinition Resolve (string fullName)
+ {
+ return Resolve (AssemblyNameReference.Parse (fullName));
+ }
+
+ public BaseAssemblyResolver ()
+ {
+ m_directories = new ArrayList ();
+ m_directories.Add (".");
+ m_directories.Add ("bin");
+ }
+
+ public virtual AssemblyDefinition Resolve (AssemblyNameReference name)
+ {
+ AssemblyDefinition assembly;
+ string frameworkdir = Path.GetDirectoryName (typeof (object).Module.FullyQualifiedName);
+
+ assembly = SearchDirectory (name, m_directories);
+ if (assembly != null)
+ return assembly;
+
+ if (IsZero (name.Version)) {
+ assembly = SearchDirectory (name, new string [] {frameworkdir});
+ if (assembly != null)
+ return assembly;
+ }
+
+#if !CF_1_0 && !CF_2_0 && !NO_SYSTEM_DLL
+ if (name.Name == "mscorlib") {
+ assembly = GetCorlib (name);
+ if (assembly != null)
+ return assembly;
+ }
+
+ assembly = GetAssemblyInGac (name);
+ if (assembly != null)
+ return assembly;
+#endif
+
+ assembly = SearchDirectory (name, new string [] {frameworkdir});
+ if (assembly != null)
+ return assembly;
+
+ throw new FileNotFoundException ("Could not resolve: " + name);
+ }
+
+ static readonly string [] _extentions = new string [] { ".dll", ".exe" };
+
+ static AssemblyDefinition SearchDirectory (AssemblyNameReference name, IEnumerable directories)
+ {
+ foreach (string dir in directories) {
+ foreach (string ext in _extentions) {
+ string file = Path.Combine (dir, name.Name + ext);
+ if (File.Exists (file))
+ return AssemblyFactory.GetAssembly (file);
+ }
+ }
+
+ return null;
+ }
+
+ static bool IsZero (Version version)
+ {
+ return version.Major == 0 && version.Minor == 0 && version.Build == 0 && version.Revision == 0;
+ }
+
+#if !CF_1_0 && !CF_2_0 && !NO_SYSTEM_DLL
+ static AssemblyDefinition GetCorlib (AssemblyNameReference reference)
+ {
+ SR.AssemblyName corlib = typeof (object).Assembly.GetName ();
+ if (corlib.Version == reference.Version || IsZero (reference.Version))
+ return AssemblyFactory.GetAssembly (typeof (object).Module.FullyQualifiedName);
+
+ string path = Directory.GetParent (
+ Directory.GetParent (
+ typeof (object).Module.FullyQualifiedName).FullName
+ ).FullName;
+
+ string runtime_path = null;
+ if (OnMono ()) {
+ if (reference.Version.Major == 1)
+ runtime_path = "1.0";
+ else if (reference.Version.Major == 2) {
+ if (reference.Version.Minor == 1)
+ runtime_path = "2.1";
+ else
+ runtime_path = "2.0";
+ } else if (reference.Version.Major == 4)
+ runtime_path = "4.0";
+ } else {
+ switch (reference.Version.ToString ()) {
+ case "1.0.3300.0":
+ runtime_path = "v1.0.3705";
+ break;
+ case "1.0.5000.0":
+ runtime_path = "v1.1.4322";
+ break;
+ case "2.0.0.0":
+ runtime_path = "v2.0.50727";
+ break;
+ case "4.0.0.0":
+ runtime_path = "v4.0.30319";
+ break;
+ }
+ }
+
+ if (runtime_path == null)
+ throw new NotSupportedException ("Version not supported: " + reference.Version);
+
+ path = Path.Combine (path, runtime_path);
+
+ if (File.Exists (Path.Combine (path, "mscorlib.dll")))
+ return AssemblyFactory.GetAssembly (Path.Combine (path, "mscorlib.dll"));
+
+ return null;
+ }
+
+ public static bool OnMono ()
+ {
+ return typeof (object).Assembly.GetType ("System.MonoType", false) != null;
+ }
+
+ string[] MonoGacPaths {
+ get {
+ if (m_monoGacPaths == null)
+ m_monoGacPaths = GetDefaultMonoGacPaths ();
+ return m_monoGacPaths;
+ }
+ }
+
+ static string[] GetDefaultMonoGacPaths ()
+ {
+ ArrayList paths = new ArrayList ();
+ string s = GetCurrentGacPath ();
+ if (s != null)
+ paths.Add (s);
+ string gacPathsEnv = Environment.GetEnvironmentVariable ("MONO_GAC_PREFIX");
+ if (gacPathsEnv != null && gacPathsEnv.Length > 0) {
+ string[] gacPrefixes = gacPathsEnv.Split (Path.PathSeparator);
+ foreach (string gacPrefix in gacPrefixes) {
+ if (gacPrefix != null && gacPrefix.Length > 0) {
+ string gac = Path.Combine (Path.Combine (Path.Combine (gacPrefix, "lib"), "mono"), "gac");
+ if (Directory.Exists (gac) && !paths.Contains (gac))
+ paths.Add (gac);
+ }
+ }
+ }
+ return (string[]) paths.ToArray (typeof (String));
+ }
+
+ AssemblyDefinition GetAssemblyInGac (AssemblyNameReference reference)
+ {
+ if (reference.PublicKeyToken == null || reference.PublicKeyToken.Length == 0)
+ return null;
+
+ if (OnMono ()) {
+ foreach (string gacpath in MonoGacPaths) {
+ string s = GetAssemblyFile (reference, gacpath);
+ if (File.Exists (s))
+ return AssemblyFactory.GetAssembly (s);
+ }
+ } else {
+ string currentGac = GetCurrentGacPath ();
+ if (currentGac == null)
+ return null;
+
+ string [] gacs = new string [] {"GAC_MSIL", "GAC_32", "GAC"};
+ for (int i = 0; i < gacs.Length; i++) {
+ string gac = Path.Combine (Directory.GetParent (currentGac).FullName, gacs [i]);
+ string asm = GetAssemblyFile (reference, gac);
+ if (Directory.Exists (gac) && File.Exists (asm))
+ return AssemblyFactory.GetAssembly (asm);
+ }
+ }
+
+ return null;
+ }
+
+ static string GetAssemblyFile (AssemblyNameReference reference, string gac)
+ {
+ StringBuilder sb = new StringBuilder ();
+ sb.Append (reference.Version);
+ sb.Append ("__");
+ for (int i = 0; i < reference.PublicKeyToken.Length; i++)
+ sb.Append (reference.PublicKeyToken [i].ToString ("x2"));
+
+ return Path.Combine (
+ Path.Combine (
+ Path.Combine (gac, reference.Name), sb.ToString ()),
+ string.Concat (reference.Name, ".dll"));
+ }
+
+ static string GetCurrentGacPath ()
+ {
+ string file = typeof (Uri).Module.FullyQualifiedName;
+ if (!File.Exists (file))
+ return null;
+
+ return Directory.GetParent (
+ Directory.GetParent (
+ Path.GetDirectoryName (
+ file)
+ ).FullName
+ ).FullName;
+ }
+#endif
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/BaseReflectionReader.cs b/mcs/tools/cil-strip/Mono.Cecil/BaseReflectionReader.cs
index ceeec17146d..ceeec17146d 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/BaseReflectionReader.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil/BaseReflectionReader.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil/BaseReflectionVisitor.cs b/mcs/tools/cil-strip/Mono.Cecil/BaseReflectionVisitor.cs
new file mode 100644
index 00000000000..5bef67a880c
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/BaseReflectionVisitor.cs
@@ -0,0 +1,188 @@
+//
+// BaseReflectionVisitor.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System.Collections;
+
+ internal abstract class BaseReflectionVisitor : IReflectionVisitor {
+
+ public virtual void VisitModuleDefinition (ModuleDefinition module)
+ {
+ }
+
+ public virtual void VisitTypeDefinitionCollection (TypeDefinitionCollection types)
+ {
+ }
+
+ public virtual void VisitTypeDefinition (TypeDefinition type)
+ {
+ }
+
+ public virtual void VisitTypeReferenceCollection (TypeReferenceCollection refs)
+ {
+ }
+
+ public virtual void VisitTypeReference (TypeReference type)
+ {
+ }
+
+ public virtual void VisitMemberReferenceCollection (MemberReferenceCollection members)
+ {
+ }
+
+ public virtual void VisitMemberReference (MemberReference member)
+ {
+ }
+
+ public virtual void VisitInterfaceCollection (InterfaceCollection interfaces)
+ {
+ }
+
+ public virtual void VisitInterface (TypeReference interf)
+ {
+ }
+
+ public virtual void VisitExternTypeCollection (ExternTypeCollection externs)
+ {
+ }
+
+ public virtual void VisitExternType (TypeReference externType)
+ {
+ }
+
+ public virtual void VisitOverrideCollection (OverrideCollection meth)
+ {
+ }
+
+ public virtual void VisitOverride (MethodReference ov)
+ {
+ }
+
+ public virtual void VisitNestedTypeCollection (NestedTypeCollection nestedTypes)
+ {
+ }
+
+ public virtual void VisitNestedType (TypeDefinition nestedType)
+ {
+ }
+
+ public virtual void VisitParameterDefinitionCollection (ParameterDefinitionCollection parameters)
+ {
+ }
+
+ public virtual void VisitParameterDefinition (ParameterDefinition parameter)
+ {
+ }
+
+ public virtual void VisitMethodDefinitionCollection (MethodDefinitionCollection methods)
+ {
+ }
+
+ public virtual void VisitMethodDefinition (MethodDefinition method)
+ {
+ }
+
+ public virtual void VisitConstructorCollection (ConstructorCollection ctors)
+ {
+ }
+
+ public virtual void VisitConstructor (MethodDefinition ctor)
+ {
+ }
+
+ public virtual void VisitPInvokeInfo (PInvokeInfo pinvk)
+ {
+ }
+
+ public virtual void VisitEventDefinitionCollection (EventDefinitionCollection events)
+ {
+ }
+
+ public virtual void VisitEventDefinition (EventDefinition evt)
+ {
+ }
+
+ public virtual void VisitFieldDefinitionCollection (FieldDefinitionCollection fields)
+ {
+ }
+
+ public virtual void VisitFieldDefinition (FieldDefinition field)
+ {
+ }
+
+ public virtual void VisitPropertyDefinitionCollection (PropertyDefinitionCollection properties)
+ {
+ }
+
+ public virtual void VisitPropertyDefinition (PropertyDefinition property)
+ {
+ }
+
+ public virtual void VisitSecurityDeclarationCollection (SecurityDeclarationCollection secDecls)
+ {
+ }
+
+ public virtual void VisitSecurityDeclaration (SecurityDeclaration secDecl)
+ {
+ }
+
+ public virtual void VisitCustomAttributeCollection (CustomAttributeCollection customAttrs)
+ {
+ }
+
+ public virtual void VisitCustomAttribute (CustomAttribute customAttr)
+ {
+ }
+
+ public virtual void VisitGenericParameterCollection (GenericParameterCollection genparams)
+ {
+ }
+
+ public virtual void VisitGenericParameter (GenericParameter genparam)
+ {
+ }
+
+ public virtual void VisitMarshalSpec (MarshalSpec marshalSpec)
+ {
+ }
+
+ public virtual void TerminateModuleDefinition (ModuleDefinition module)
+ {
+ }
+
+ protected void VisitCollection (ICollection coll)
+ {
+ if (coll.Count == 0)
+ return;
+
+ foreach (IReflectionVisitable visitable in coll)
+ visitable.Accept (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/BaseStructureVisitor.cs b/mcs/tools/cil-strip/Mono.Cecil/BaseStructureVisitor.cs
new file mode 100644
index 00000000000..e2c6ec31e72
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/BaseStructureVisitor.cs
@@ -0,0 +1,96 @@
+//
+// BaseStructureVisitor.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System.Collections;
+
+ internal abstract class BaseStructureVisitor : IReflectionStructureVisitor {
+
+ public virtual void VisitAssemblyDefinition (AssemblyDefinition asm)
+ {
+ }
+
+ public virtual void VisitAssemblyNameDefinition (AssemblyNameDefinition name)
+ {
+ }
+
+ public virtual void VisitAssemblyNameReferenceCollection (AssemblyNameReferenceCollection names)
+ {
+ }
+
+ public virtual void VisitAssemblyNameReference (AssemblyNameReference name)
+ {
+ }
+
+ public virtual void VisitResourceCollection (ResourceCollection resources)
+ {
+ }
+
+ public virtual void VisitEmbeddedResource (EmbeddedResource res)
+ {
+ }
+
+ public virtual void VisitLinkedResource (LinkedResource res)
+ {
+ }
+
+ public virtual void VisitAssemblyLinkedResource (AssemblyLinkedResource res)
+ {
+ }
+
+ public virtual void VisitModuleDefinition (ModuleDefinition module)
+ {
+ }
+
+ public virtual void VisitModuleDefinitionCollection (ModuleDefinitionCollection modules)
+ {
+ }
+
+ public virtual void VisitModuleReference (ModuleReference module)
+ {
+ }
+
+ public virtual void VisitModuleReferenceCollection (ModuleReferenceCollection modules)
+ {
+ }
+
+ public virtual void TerminateAssemblyDefinition (AssemblyDefinition asm)
+ {
+ }
+
+ protected void VisitCollection (ICollection coll)
+ {
+ if (coll.Count == 0)
+ return;
+
+ foreach (IReflectionStructureVisitable visitable in coll)
+ visitable.Accept (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/CallSite.cs b/mcs/tools/cil-strip/Mono.Cecil/CallSite.cs
new file mode 100644
index 00000000000..ece4997062e
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/CallSite.cs
@@ -0,0 +1,109 @@
+//
+// CallSite.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 - 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System.Collections;
+ using System.Text;
+
+ using Mono.Cecil.Metadata;
+
+ internal sealed class CallSite : IMethodSignature, IAnnotationProvider, IMetadataTokenProvider {
+
+ MethodReference m_function;
+
+ public bool HasThis {
+ get { return m_function.HasThis; }
+ set { m_function.HasThis = value; }
+ }
+
+ public bool ExplicitThis {
+ get { return m_function.ExplicitThis; }
+ set { m_function.ExplicitThis = value; }
+ }
+
+ public MethodCallingConvention CallingConvention {
+ get { return m_function.CallingConvention; }
+ set { m_function.CallingConvention = value; }
+ }
+
+ public bool HasParameters {
+ get { return m_function.HasParameters; }
+ }
+
+ public ParameterDefinitionCollection Parameters {
+ get { return m_function.Parameters; }
+ }
+
+ public MethodReturnType ReturnType {
+ get { return m_function.ReturnType; }
+ set { m_function.ReturnType = value; }
+ }
+
+ public MetadataToken MetadataToken {
+ get { return m_function.MetadataToken; }
+ set { m_function.MetadataToken = value; }
+ }
+
+ IDictionary IAnnotationProvider.Annotations {
+ get { return ((IAnnotationProvider) m_function).Annotations; }
+ }
+
+ public CallSite (bool hasThis, bool explicitThis, MethodCallingConvention callConv, MethodReturnType retType)
+ {
+ m_function = new MethodReference (string.Empty, hasThis, explicitThis, callConv);
+ m_function.ReturnType = retType;
+ }
+
+ public int GetSentinel ()
+ {
+ return m_function.GetSentinel ();
+ }
+
+ public override string ToString ()
+ {
+ int sentinel = GetSentinel ();
+ StringBuilder sb = new StringBuilder ();
+ sb.Append (m_function.ReturnType.ReturnType.FullName);
+ sb.Append ("(");
+ if (m_function.HasParameters) {
+ for (int i = 0; i < m_function.Parameters.Count; i++) {
+ if (i > 0)
+ sb.Append (",");
+
+ if (i == sentinel)
+ sb.Append ("...,");
+
+ sb.Append (m_function.Parameters [i].ParameterType.FullName);
+ }
+ }
+ sb.Append (")");
+ return sb.ToString ();
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/CompactFrameworkCompatibility.cs b/mcs/tools/cil-strip/Mono.Cecil/CompactFrameworkCompatibility.cs
new file mode 100644
index 00000000000..a8802e26718
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/CompactFrameworkCompatibility.cs
@@ -0,0 +1,68 @@
+//
+// FrameworkCompatibility.cs
+//
+// Author:
+// Rodrigo B. de Oliveira (rodrigobamboo@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if CF_1_0
+namespace System {
+
+ internal class NotImplementedException : System.Exception {
+
+ public NotImplementedException (string message) : base (message)
+ {
+ }
+
+ public NotImplementedException ()
+ {
+ }
+ }
+}
+#endif
+
+#if CF_1_0 || CF_2_0
+namespace System.Security {
+
+ internal class SecurityElement {
+
+ public SecurityElement (string tag)
+ {
+ }
+
+ public string Text
+ {
+ get { return string.Empty; }
+ set {}
+ }
+
+ public void AddChild (SecurityElement child)
+ {
+ }
+
+ public void AddAttribute (string name, string value)
+ {
+ }
+ }
+}
+#endif
diff --git a/mcs/tools/cil-strip/Mono.Cecil/Constants.cs b/mcs/tools/cil-strip/Mono.Cecil/Constants.cs
new file mode 100644
index 00000000000..46af5cfdaa6
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/Constants.cs
@@ -0,0 +1,65 @@
+//
+// Constants.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal class Constants {
+
+ Constants ()
+ {
+ }
+
+ public const string Corlib = "mscorlib";
+
+ public const string ModuleType = "<Module>";
+ public const string PrivateImplDetails = "<PrivateImplementationDetails>";
+ public const string Deleted = "_Deleted";
+
+ public const string Void = "System.Void";
+ public const string Object = "System.Object";
+ public const string String = "System.String";
+ public const string Boolean = "System.Boolean";
+ public const string Char = "System.Char";
+ public const string Single = "System.Single";
+ public const string Double = "System.Double";
+ public const string SByte = "System.SByte";
+ public const string Byte = "System.Byte";
+ public const string Int16 = "System.Int16";
+ public const string UInt16 = "System.UInt16";
+ public const string Int32 = "System.Int32";
+ public const string UInt32 = "System.UInt32";
+ public const string Int64 = "System.Int64";
+ public const string UInt64 = "System.UInt64";
+ public const string IntPtr = "System.IntPtr";
+ public const string UIntPtr = "System.UIntPtr";
+ public const string TypedReference = "System.TypedReference";
+ public const string Type = "System.Type";
+ public const string ValueType = "System.ValueType";
+ public const string Enum = "System.Enum";
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ConstraintCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/ConstraintCollection.cs
new file mode 100644
index 00000000000..072aebf8bc2
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ConstraintCollection.cs
@@ -0,0 +1,88 @@
+//
+// ConstraintCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Wed Sep 27 12:46:54 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class ConstraintCollection : CollectionBase {
+
+ GenericParameter m_container;
+
+ public TypeReference this [int index] {
+ get { return List [index] as TypeReference; }
+ set { List [index] = value; }
+ }
+
+ public GenericParameter Container {
+ get { return m_container; }
+ }
+
+ public ConstraintCollection (GenericParameter container)
+ {
+ m_container = container;
+ }
+
+ public void Add (TypeReference value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (TypeReference value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (TypeReference value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, TypeReference value)
+ {
+ List.Insert (index, value);
+ }
+
+ public void Remove (TypeReference value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is TypeReference))
+ throw new ArgumentException ("Must be of type " + typeof (TypeReference).FullName);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ConstructorCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/ConstructorCollection.cs
new file mode 100644
index 00000000000..011af982259
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ConstructorCollection.cs
@@ -0,0 +1,182 @@
+//
+// ConstructorCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Fri Mar 30 18:43:56 +0200 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class ConstructorCollection : CollectionBase, IReflectionVisitable {
+
+ TypeDefinition m_container;
+
+ public MethodDefinition this [int index] {
+ get { return List [index] as MethodDefinition; }
+ set { List [index] = value; }
+ }
+
+ public TypeDefinition Container {
+ get { return m_container; }
+ }
+
+ public ConstructorCollection (TypeDefinition container)
+ {
+ m_container = container;
+ }
+
+ public void Add (MethodDefinition value)
+ {
+ Attach (value);
+
+ List.Add (value);
+ }
+
+
+ public new void Clear ()
+ {
+ foreach (MethodDefinition item in this)
+ Detach (item);
+
+ base.Clear ();
+ }
+
+ public bool Contains (MethodDefinition value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (MethodDefinition value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, MethodDefinition value)
+ {
+ Attach (value);
+
+ List.Insert (index, value);
+ }
+
+ public void Remove (MethodDefinition value)
+ {
+ List.Remove (value);
+
+ Detach (value);
+ }
+
+
+ public new void RemoveAt (int index)
+ {
+ MethodDefinition item = this [index];
+ Remove (item);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is MethodDefinition))
+ throw new ArgumentException ("Must be of type " + typeof (MethodDefinition).FullName);
+ }
+
+ internal MethodDefinition GetConstructorInternal (bool isStatic, IList parameters)
+ {
+ if (parameters == null)
+#if CF_2_0 || CF_1_0
+ parameters = new Type[0];
+#else
+ parameters = Type.EmptyTypes;
+#endif
+
+ foreach (MethodDefinition ctor in this) {
+ if (ctor.IsStatic != isStatic || ctor.Parameters.Count != parameters.Count)
+ continue;
+
+ bool match = true;
+ for (int i = 0; i < parameters.Count; i++) {
+ string pname;
+ object param = parameters [i];
+ if (param is Type)
+ pname = ReflectionHelper.GetTypeSignature (param as Type);
+ else if (param is TypeReference)
+ pname = (param as TypeReference).FullName;
+ else if (param is ParameterDefinition)
+ pname = (param as ParameterDefinition).ParameterType.FullName;
+ else
+ throw new NotSupportedException ();
+
+ if (ctor.Parameters [i].ParameterType.FullName != pname) {
+ match = false;
+ break;
+ }
+ }
+
+ if (match)
+ return ctor;
+ }
+
+ return null;
+ }
+
+ public MethodDefinition GetConstructor (bool isStatic, Type [] parameters)
+ {
+ return GetConstructorInternal (isStatic, parameters);
+ }
+
+ public MethodDefinition GetConstructor (bool isStatic, TypeReference [] parameters)
+ {
+ return GetConstructorInternal (isStatic, parameters);
+ }
+
+ public MethodDefinition GetConstructor (bool isStatic, ParameterDefinitionCollection parameters)
+ {
+ return GetConstructorInternal (isStatic, parameters);
+ }
+
+ void Attach (MemberReference member)
+ {
+ if (member.DeclaringType != null)
+ throw new ReflectionException ("Member already attached, clone it instead");
+
+ member.DeclaringType = m_container;
+ }
+
+ void Detach (MemberReference member)
+ {
+ member.DeclaringType = null;
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitConstructorCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/CustomAttribute.cs b/mcs/tools/cil-strip/Mono.Cecil/CustomAttribute.cs
new file mode 100644
index 00000000000..feec720ce53
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/CustomAttribute.cs
@@ -0,0 +1,199 @@
+//
+// CustomAttribute.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System.Collections;
+
+ internal sealed class CustomAttribute : IRequireResolving, IAnnotationProvider, IReflectionVisitable {
+
+ MethodReference m_ctor;
+ IList m_parameters;
+ IDictionary m_fields;
+ IDictionary m_properties;
+ IDictionary m_fieldTypes;
+ IDictionary m_propTypes;
+ IDictionary m_annotations;
+
+ bool m_resolved;
+ byte [] m_blob;
+
+ public MethodReference Constructor {
+ get { return m_ctor; }
+ set { m_ctor = value; }
+ }
+
+ public IList ConstructorParameters {
+ get {
+ if (m_parameters == null)
+ m_parameters = new ArrayList ();
+ return m_parameters;
+ }
+ }
+
+ public IDictionary Fields {
+ get {
+ if (m_fields == null)
+ m_fields = new Hashtable ();
+
+ return m_fields;
+ }
+ }
+
+ public IDictionary Properties {
+ get {
+ if (m_properties == null)
+ m_properties = new Hashtable ();
+
+ return m_properties;
+ }
+ }
+
+ internal IDictionary FieldTypes {
+ get {
+ if (m_fieldTypes == null)
+ m_fieldTypes = new Hashtable ();
+
+ return m_fieldTypes;
+ }
+ }
+
+ internal IDictionary PropertyTypes {
+ get {
+ if (m_propTypes == null)
+ m_propTypes = new Hashtable ();
+
+ return m_propTypes;
+ }
+ }
+
+ public bool Resolved {
+ get { return m_resolved; }
+ set { m_resolved = value; }
+ }
+
+ public byte [] Blob {
+ get { return m_blob; }
+ set { m_blob = value; }
+ }
+
+ IDictionary IAnnotationProvider.Annotations {
+ get {
+ if (m_annotations == null)
+ m_annotations = new Hashtable ();
+ return m_annotations;
+ }
+ }
+
+ public CustomAttribute (MethodReference ctor)
+ {
+ m_ctor = ctor;
+ m_resolved = true;
+ }
+
+ public CustomAttribute (MethodReference ctor, byte [] blob)
+ {
+ m_ctor = ctor;
+ m_blob = blob;
+ }
+
+ public TypeReference GetFieldType (string fieldName)
+ {
+ return (TypeReference) FieldTypes [fieldName];
+ }
+
+ public TypeReference GetPropertyType (string propertyName)
+ {
+ return (TypeReference) PropertyTypes [propertyName];
+ }
+
+ public void SetFieldType (string fieldName, TypeReference type)
+ {
+ FieldTypes [fieldName] = type;
+ }
+
+ public void SetPropertyType (string propertyName, TypeReference type)
+ {
+ PropertyTypes [propertyName] = type;
+ }
+
+ public CustomAttribute Clone ()
+ {
+ return Clone (this, new ImportContext (NullReferenceImporter.Instance));
+ }
+
+ static void Clone (IDictionary original, IDictionary target)
+ {
+ target.Clear ();
+ foreach (DictionaryEntry entry in original)
+ target.Add (entry.Key, entry.Value);
+ }
+
+ internal static CustomAttribute Clone (CustomAttribute custattr, ImportContext context)
+ {
+ CustomAttribute ca = new CustomAttribute (context.Import (custattr.Constructor));
+ custattr.CopyTo (ca);
+ return ca;
+ }
+
+ void CopyTo (CustomAttribute target)
+ {
+ target.Resolved = Resolved;
+ if (!Resolved) {
+ target.Blob = Blob;
+ return;
+ }
+
+ foreach (object o in ConstructorParameters)
+ target.ConstructorParameters.Add (o);
+ Clone (Fields, target.Fields);
+ Clone (FieldTypes, target.FieldTypes);
+ Clone (Properties, target.Properties);
+ Clone (PropertyTypes, target.PropertyTypes);
+ }
+
+ public bool Resolve ()
+ {
+ if (Resolved)
+ return true;
+
+ ReflectionReader r = m_ctor.DeclaringType.Module.Controller.Reader;
+ CustomAttribute newCa = r.GetCustomAttribute (m_ctor, Blob, true);
+ if (!newCa.Resolved)
+ return false;
+
+ newCa.CopyTo (this);
+ return true;
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitCustomAttribute (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/CustomAttributeCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/CustomAttributeCollection.cs
new file mode 100644
index 00000000000..b4e18700111
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/CustomAttributeCollection.cs
@@ -0,0 +1,93 @@
+//
+// CustomAttributeCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Wed Sep 27 12:46:53 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class CustomAttributeCollection : CollectionBase, IReflectionVisitable {
+
+ ICustomAttributeProvider m_container;
+
+ public CustomAttribute this [int index] {
+ get { return List [index] as CustomAttribute; }
+ set { List [index] = value; }
+ }
+
+ public ICustomAttributeProvider Container {
+ get { return m_container; }
+ }
+
+ public CustomAttributeCollection (ICustomAttributeProvider container)
+ {
+ m_container = container;
+ }
+
+ public void Add (CustomAttribute value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (CustomAttribute value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (CustomAttribute value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, CustomAttribute value)
+ {
+ List.Insert (index, value);
+ }
+
+ public void Remove (CustomAttribute value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is CustomAttribute))
+ throw new ArgumentException ("Must be of type " + typeof (CustomAttribute).FullName);
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitCustomAttributeCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/DefaultAssemblyResolver.cs b/mcs/tools/cil-strip/Mono.Cecil/DefaultAssemblyResolver.cs
new file mode 100644
index 00000000000..161349d6793
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/DefaultAssemblyResolver.cs
@@ -0,0 +1,62 @@
+//
+// DefaultAssemblyResolver.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System.Collections;
+
+ internal class DefaultAssemblyResolver : BaseAssemblyResolver {
+
+ IDictionary m_cache;
+
+ public DefaultAssemblyResolver ()
+ {
+ m_cache = new Hashtable ();
+ }
+
+ public override AssemblyDefinition Resolve (AssemblyNameReference name)
+ {
+ AssemblyDefinition asm = (AssemblyDefinition) m_cache [name.FullName];
+ if (asm == null) {
+ asm = base.Resolve (name);
+ m_cache [name.FullName] = asm;
+ }
+
+ return asm;
+ }
+
+ protected void RegisterAssembly (AssemblyDefinition assembly)
+ {
+ string key = assembly.Name.FullName;
+ if (m_cache.Contains (key))
+ return;
+
+ m_cache [key] = assembly;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/DefaultImporter.cs b/mcs/tools/cil-strip/Mono.Cecil/DefaultImporter.cs
new file mode 100644
index 00000000000..a367f1a059e
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/DefaultImporter.cs
@@ -0,0 +1,266 @@
+//
+// DefaultReferenceImporter.cs
+//
+// Author:
+// Jb Evain (jbevain@novell.com)
+//
+// (C) 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ internal class DefaultImporter : IImporter {
+
+ ModuleDefinition m_module;
+
+ public ModuleDefinition Module {
+ get { return m_module; }
+ }
+
+ public DefaultImporter (ModuleDefinition module)
+ {
+ m_module = module;
+ }
+
+ public AssemblyNameReference ImportAssembly (AssemblyNameReference asm)
+ {
+ AssemblyNameReference asmRef = GetAssemblyNameReference (asm);
+ if (asmRef != null)
+ return asmRef;
+
+ asmRef = new AssemblyNameReference (
+ asm.Name, asm.Culture, asm.Version);
+ asmRef.PublicKeyToken = asm.PublicKeyToken;
+ asmRef.HashAlgorithm = asm.HashAlgorithm;
+ m_module.AssemblyReferences.Add (asmRef);
+ return asmRef;
+ }
+
+ AssemblyNameReference GetAssemblyNameReference (AssemblyNameReference asm)
+ {
+ foreach (AssemblyNameReference reference in m_module.AssemblyReferences)
+ if (reference.FullName == asm.FullName)
+ return reference;
+
+ return null;
+ }
+
+ TypeSpecification GetTypeSpec (TypeSpecification original, ImportContext context)
+ {
+ TypeSpecification typeSpec;
+
+ TypeReference elementType = ImportTypeReference (original.ElementType, context);
+ if (original is PointerType) {
+ typeSpec = new PointerType (elementType);
+ } else if (original is ArrayType) { // deal with complex arrays
+ typeSpec = new ArrayType (elementType);
+ } else if (original is ReferenceType) {
+ typeSpec = new ReferenceType (elementType);
+ } else if (original is GenericInstanceType) {
+ GenericInstanceType git = original as GenericInstanceType;
+ GenericInstanceType genElemType = new GenericInstanceType (elementType);
+
+ context.GenericContext.CheckProvider (genElemType.GetOriginalType (), git.GenericArguments.Count);
+ foreach (TypeReference arg in git.GenericArguments)
+ genElemType.GenericArguments.Add (ImportTypeReference (arg, context));
+
+ typeSpec = genElemType;
+ } else if (original is ModifierOptional) {
+ TypeReference mt = (original as ModifierOptional).ModifierType;
+ typeSpec = new ModifierOptional (elementType, ImportTypeReference (mt, context));
+ } else if (original is ModifierRequired) {
+ TypeReference mt = (original as ModifierRequired).ModifierType;
+ typeSpec = new ModifierRequired (elementType, ImportTypeReference (mt, context));
+ } else if (original is SentinelType) {
+ typeSpec = new SentinelType (elementType);
+ } else if (original is FunctionPointerType) {
+ FunctionPointerType ori = original as FunctionPointerType;
+
+ FunctionPointerType fnptr = new FunctionPointerType (
+ ori.HasThis,
+ ori.ExplicitThis,
+ ori.CallingConvention,
+ new MethodReturnType (ImportTypeReference (ori.ReturnType.ReturnType, context)));
+
+ foreach (ParameterDefinition parameter in ori.Parameters)
+ fnptr.Parameters.Add (new ParameterDefinition (ImportTypeReference (parameter.ParameterType, context)));
+
+ typeSpec = fnptr;
+ } else
+ throw new ReflectionException ("Unknown element type: {0}", original.GetType ().Name);
+
+ return typeSpec;
+ }
+
+ static GenericParameter GetGenericParameter (GenericParameter gp, ImportContext context)
+ {
+ GenericParameter p;
+ if (gp.Owner is TypeReference)
+ p = context.GenericContext.Type.GenericParameters [gp.Position];
+ else if (gp.Owner is MethodReference)
+ p = context.GenericContext.Method.GenericParameters [gp.Position];
+ else
+ throw new NotSupportedException ();
+
+ return p;
+ }
+
+ TypeReference AdjustReference (TypeReference type, TypeReference reference)
+ {
+ if (type.IsValueType && !reference.IsValueType)
+ reference.IsValueType = true;
+
+ if (type.HasGenericParameters) {
+ for (int i = reference.GenericParameters.Count; i < type.GenericParameters.Count; i++)
+ reference.GenericParameters.Add (new GenericParameter (i, reference));
+ }
+
+ return reference;
+ }
+
+ public virtual TypeReference ImportTypeReference (TypeReference t, ImportContext context)
+ {
+ if (t.Module == m_module)
+ return t;
+
+ if (t is TypeSpecification)
+ return GetTypeSpec (t as TypeSpecification, context);
+
+ if (t is GenericParameter)
+ return GetGenericParameter (t as GenericParameter, context);
+
+ TypeReference type = m_module.TypeReferences [t.FullName];
+ if (type != null)
+ return AdjustReference (t, type);
+
+ AssemblyNameReference asm;
+ if (t.Scope is AssemblyNameReference)
+ asm = ImportAssembly ((AssemblyNameReference) t.Scope);
+ else if (t.Scope is ModuleDefinition)
+ asm = ImportAssembly (((ModuleDefinition) t.Scope).Assembly.Name);
+ else
+ throw new NotImplementedException ();
+
+ if (t.DeclaringType != null) {
+ type = new TypeReference (t.Name, string.Empty, asm, t.IsValueType);
+ type.DeclaringType = ImportTypeReference (t.DeclaringType, context);
+ } else
+ type = new TypeReference (t.Name, t.Namespace, asm, t.IsValueType);
+
+ TypeReference contextType = context.GenericContext.Type;
+
+ context.GenericContext.Type = type;
+
+ GenericParameter.CloneInto (t, type, context);
+
+ context.GenericContext.Type = contextType;
+
+ m_module.TypeReferences.Add (type);
+ return type;
+ }
+
+ public virtual FieldReference ImportFieldReference (FieldReference fr, ImportContext context)
+ {
+ if (fr.DeclaringType.Module == m_module)
+ return fr;
+
+ FieldReference field = (FieldReference) GetMemberReference (fr);
+ if (field != null)
+ return field;
+
+ field = new FieldReference (
+ fr.Name,
+ ImportTypeReference (fr.DeclaringType, context),
+ ImportTypeReference (fr.FieldType, context));
+
+ m_module.MemberReferences.Add (field);
+ return field;
+ }
+
+ MethodReference GetMethodSpec (MethodReference meth, ImportContext context)
+ {
+ if (!(meth is GenericInstanceMethod))
+ return null;
+
+ GenericInstanceMethod gim = meth as GenericInstanceMethod;
+ GenericInstanceMethod ngim = new GenericInstanceMethod (
+ ImportMethodReference (gim.ElementMethod, context));
+
+ context.GenericContext.CheckProvider (ngim.GetOriginalMethod (), gim.GenericArguments.Count);
+ foreach (TypeReference arg in gim.GenericArguments)
+ ngim.GenericArguments.Add (ImportTypeReference (arg, context));
+
+ return ngim;
+ }
+
+ public virtual MethodReference ImportMethodReference (MethodReference mr, ImportContext context)
+ {
+ if (mr.DeclaringType.Module == m_module)
+ return mr;
+
+ if (mr is MethodSpecification)
+ return GetMethodSpec (mr, context);
+
+ MethodReference meth = (MethodReference) GetMemberReference (mr);
+ if (meth != null)
+ return meth;
+
+ meth = new MethodReference (
+ mr.Name,
+ mr.HasThis,
+ mr.ExplicitThis,
+ mr.CallingConvention);
+ meth.DeclaringType = ImportTypeReference (mr.DeclaringType, context);
+
+ TypeReference contextType = context.GenericContext.Type;
+ MethodReference contextMethod = context.GenericContext.Method;
+
+ context.GenericContext.Method = meth;
+ context.GenericContext.Type = meth.DeclaringType.GetOriginalType();
+
+ GenericParameter.CloneInto (mr, meth, context);
+
+ meth.ReturnType.ReturnType = ImportTypeReference (mr.ReturnType.ReturnType, context);
+
+ foreach (ParameterDefinition param in mr.Parameters)
+ meth.Parameters.Add (new ParameterDefinition (
+ ImportTypeReference (param.ParameterType, context)));
+
+ context.GenericContext.Type = contextType;
+ context.GenericContext.Method = contextMethod;
+
+ m_module.MemberReferences.Add (meth);
+ return meth;
+ }
+
+ MemberReference GetMemberReference (MemberReference member)
+ {
+ foreach (MemberReference reference in m_module.MemberReferences)
+ if (reference.ToString () == member.ToString ())
+ return reference;
+
+ return null;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/EmbeddedResource.cs b/mcs/tools/cil-strip/Mono.Cecil/EmbeddedResource.cs
new file mode 100644
index 00000000000..6f9d98f3aec
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/EmbeddedResource.cs
@@ -0,0 +1,56 @@
+//
+// EmbeddedResource.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal sealed class EmbeddedResource : Resource {
+
+ byte [] m_data;
+
+ public byte [] Data {
+ get { return m_data; }
+ set { m_data = value; }
+ }
+
+ public EmbeddedResource (string name, ManifestResourceAttributes flags) :
+ base (name, flags)
+ {
+ }
+
+ public EmbeddedResource (string name, ManifestResourceAttributes flags, byte [] data) :
+ base (name, flags)
+ {
+ m_data = data;
+ }
+
+ public override void Accept (IReflectionStructureVisitor visitor)
+ {
+ visitor.VisitEmbeddedResource (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/EventAttributes.cs b/mcs/tools/cil-strip/Mono.Cecil/EventAttributes.cs
new file mode 100644
index 00000000000..94c1d50e8df
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/EventAttributes.cs
@@ -0,0 +1,38 @@
+//
+// EventAttributes.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ [Flags]
+ internal enum EventAttributes : ushort {
+ SpecialName = 0x0200, // Event is special
+ RTSpecialName = 0x0400 // CLI provides 'special' behavior, depending upon the name of the event
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/EventDefinition.cs b/mcs/tools/cil-strip/Mono.Cecil/EventDefinition.cs
new file mode 100644
index 00000000000..9abfedb17ae
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/EventDefinition.cs
@@ -0,0 +1,173 @@
+//
+// EventDefinition.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal sealed class EventDefinition : EventReference, IMemberDefinition, ICustomAttributeProvider {
+
+ EventAttributes m_attributes;
+
+ CustomAttributeCollection m_customAttrs;
+
+ MethodDefinition m_addMeth;
+ MethodDefinition m_invMeth;
+ MethodDefinition m_remMeth;
+
+ public EventAttributes Attributes {
+ get { return m_attributes; }
+ set { m_attributes = value; }
+ }
+
+ public MethodDefinition AddMethod {
+ get { return m_addMeth; }
+ set { m_addMeth = value; }
+ }
+
+ public MethodDefinition InvokeMethod {
+ get { return m_invMeth; }
+ set { m_invMeth = value; }
+ }
+
+ public MethodDefinition RemoveMethod {
+ get { return m_remMeth; }
+ set { m_remMeth = value; }
+ }
+
+ public bool HasCustomAttributes {
+ get { return (m_customAttrs == null) ? false : (m_customAttrs.Count > 0); }
+ }
+
+ public CustomAttributeCollection CustomAttributes {
+ get {
+ if (m_customAttrs == null)
+ m_customAttrs = new CustomAttributeCollection (this);
+
+ return m_customAttrs;
+ }
+ }
+
+ #region EventAttributes
+
+ public bool IsSpecialName {
+ get { return (m_attributes & EventAttributes.SpecialName) != 0; }
+ set {
+ if (value)
+ m_attributes |= EventAttributes.SpecialName;
+ else
+ m_attributes &= ~EventAttributes.SpecialName;
+ }
+ }
+
+ public bool IsRuntimeSpecialName {
+ get { return (m_attributes & EventAttributes.RTSpecialName) != 0; }
+ set {
+ if (value)
+ m_attributes |= EventAttributes.RTSpecialName;
+ else
+ m_attributes &= ~EventAttributes.RTSpecialName;
+ }
+ }
+
+ #endregion
+
+ public new TypeDefinition DeclaringType {
+ get { return (TypeDefinition) base.DeclaringType; }
+ set { base.DeclaringType = value; }
+ }
+
+ public EventDefinition (string name, TypeReference eventType,
+ EventAttributes attrs) : base (name, eventType)
+ {
+ m_attributes = attrs;
+ }
+
+ public override EventDefinition Resolve ()
+ {
+ return this;
+ }
+
+ public static MethodDefinition CreateAddMethod (EventDefinition evt)
+ {
+ MethodDefinition add = new MethodDefinition (
+ string.Concat ("add_", evt.Name), (MethodAttributes) 0, evt.EventType);
+ evt.AddMethod = add;
+ return add;
+ }
+
+ public static MethodDefinition CreateRemoveMethod (EventDefinition evt)
+ {
+ MethodDefinition remove = new MethodDefinition (
+ string.Concat ("remove_", evt.Name), (MethodAttributes) 0, evt.EventType);
+ evt.RemoveMethod = remove;
+ return remove;
+ }
+
+ public static MethodDefinition CreateInvokeMethod (EventDefinition evt)
+ {
+ MethodDefinition raise = new MethodDefinition (
+ string.Concat ("raise_", evt.Name), (MethodAttributes) 0, evt.EventType);
+ evt.InvokeMethod = raise;
+ return raise;
+ }
+
+ public EventDefinition Clone ()
+ {
+ return Clone (this, new ImportContext (NullReferenceImporter.Instance, this.DeclaringType));
+ }
+
+ internal static EventDefinition Clone (EventDefinition evt, ImportContext context)
+ {
+ EventDefinition ne = new EventDefinition (
+ evt.Name,
+ context.Import (evt.EventType),
+ evt.Attributes);
+
+ if (context.GenericContext.Type is TypeDefinition) {
+ TypeDefinition type = context.GenericContext.Type as TypeDefinition;
+ if (evt.AddMethod != null)
+ ne.AddMethod = type.Methods.GetMethod (evt.AddMethod.Name) [0];
+ if (evt.InvokeMethod != null)
+ ne.InvokeMethod = type.Methods.GetMethod (evt.InvokeMethod.Name) [0];
+ if (evt.RemoveMethod != null)
+ ne.RemoveMethod = type.Methods.GetMethod (evt.RemoveMethod.Name) [0];
+ }
+
+ foreach (CustomAttribute ca in evt.CustomAttributes)
+ ne.CustomAttributes.Add (CustomAttribute.Clone (ca, context));
+
+ return ne;
+ }
+
+ public override void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitEventDefinition (this);
+
+ this.CustomAttributes.Accept (visitor);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/EventDefinitionCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/EventDefinitionCollection.cs
new file mode 100644
index 00000000000..94a2c540f3d
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/EventDefinitionCollection.cs
@@ -0,0 +1,137 @@
+//
+// EventDefinitionCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Fri Mar 30 18:43:57 +0200 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class EventDefinitionCollection : CollectionBase, IReflectionVisitable {
+
+ TypeDefinition m_container;
+
+ public EventDefinition this [int index] {
+ get { return List [index] as EventDefinition; }
+ set { List [index] = value; }
+ }
+
+ public TypeDefinition Container {
+ get { return m_container; }
+ }
+
+ public EventDefinitionCollection (TypeDefinition container)
+ {
+ m_container = container;
+ }
+
+ public void Add (EventDefinition value)
+ {
+ Attach (value);
+
+ List.Add (value);
+ }
+
+
+ public new void Clear ()
+ {
+ foreach (EventDefinition item in this)
+ Detach (item);
+
+ base.Clear ();
+ }
+
+ public bool Contains (EventDefinition value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (EventDefinition value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, EventDefinition value)
+ {
+ Attach (value);
+
+ List.Insert (index, value);
+ }
+
+ public void Remove (EventDefinition value)
+ {
+ List.Remove (value);
+
+ Detach (value);
+ }
+
+
+ public new void RemoveAt (int index)
+ {
+ EventDefinition item = this [index];
+ Remove (item);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is EventDefinition))
+ throw new ArgumentException ("Must be of type " + typeof (EventDefinition).FullName);
+ }
+
+ public EventDefinition GetEvent (string name)
+ {
+ foreach (EventDefinition evt in this)
+ if (evt.Name == name)
+ return evt;
+
+ return null;
+ }
+
+ void Attach (MemberReference member)
+ {
+ if (member.DeclaringType != null)
+ throw new ReflectionException ("Member already attached, clone it instead");
+
+ member.DeclaringType = m_container;
+ }
+
+ void Detach (MemberReference member)
+ {
+ member.DeclaringType = null;
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitEventDefinitionCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/EventReference.cs b/mcs/tools/cil-strip/Mono.Cecil/EventReference.cs
new file mode 100644
index 00000000000..b1205b59389
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/EventReference.cs
@@ -0,0 +1,52 @@
+//
+// EventReference.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal abstract class EventReference : MemberReference {
+
+ TypeReference m_eventType;
+
+ public TypeReference EventType {
+ get { return m_eventType; }
+ set { m_eventType = value; }
+ }
+
+ public EventReference (string name, TypeReference eventType) : base (name)
+ {
+ m_eventType = eventType;
+ }
+
+ public abstract EventDefinition Resolve ();
+
+ public override string ToString ()
+ {
+ return string.Concat (m_eventType.FullName, " ", base.ToString ());
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ExternTypeCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/ExternTypeCollection.cs
new file mode 100644
index 00000000000..ea86be108a9
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ExternTypeCollection.cs
@@ -0,0 +1,192 @@
+//
+// ExternTypeCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Fri Mar 30 18:43:57 +0200 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+ using System.Collections.Specialized;
+
+ using Mono.Cecil.Cil;
+
+ using Hcp = Mono.Cecil.HashCodeProvider;
+ using Cmp = System.Collections.Comparer;
+
+ internal sealed class ExternTypeCollection : NameObjectCollectionBase, IList, IReflectionVisitable {
+
+ ModuleDefinition m_container;
+
+ public TypeReference this [int index] {
+ get { return this.BaseGet (index) as TypeReference; }
+ set { this.BaseSet (index, value); }
+ }
+
+ public TypeReference this [string fullName] {
+ get { return this.BaseGet (fullName) as TypeReference; }
+ set { this.BaseSet (fullName, value); }
+ }
+
+ public ModuleDefinition Container {
+ get { return m_container; }
+ }
+
+ public bool IsSynchronized {
+ get { return false; }
+ }
+
+ public object SyncRoot {
+ get { return this; }
+ }
+
+ bool IList.IsReadOnly {
+ get { return false; }
+ }
+
+ bool IList.IsFixedSize {
+ get { return false; }
+ }
+
+ object IList.this [int index] {
+ get { return BaseGet (index); }
+ set {
+ Check (value);
+ BaseSet (index, value);
+ }
+ }
+
+ public ExternTypeCollection (ModuleDefinition container) :
+ base (Hcp.Instance, Cmp.Default)
+ {
+ m_container = container;
+ }
+
+ public void Add (TypeReference value)
+ {
+ if (value == null)
+ throw new ArgumentNullException ("value");
+
+ this.BaseAdd (value.FullName, value);
+ }
+
+ public void Clear ()
+ {
+ this.BaseClear ();
+ }
+
+ public bool Contains (TypeReference value)
+ {
+ return Contains (value.FullName);
+ }
+
+ public bool Contains (string fullName)
+ {
+ return this.BaseGet (fullName) != null;
+ }
+
+ public int IndexOf (TypeReference value)
+ {
+ string [] keys = this.BaseGetAllKeys ();
+ return Array.IndexOf (keys, value.FullName, 0, keys.Length);
+ }
+
+ public void Remove (TypeReference value)
+ {
+ this.BaseRemove (value.FullName);
+ }
+
+ public void RemoveAt (int index)
+ {
+ TypeReference item = this [index];
+ Remove (item);
+ }
+
+ public void CopyTo (Array ary, int index)
+ {
+ this.BaseGetAllValues ().CopyTo (ary, index);
+ }
+
+ public new IEnumerator GetEnumerator ()
+ {
+ return this.BaseGetAllValues ().GetEnumerator ();
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitExternTypeCollection (this);
+ }
+
+#if CF_1_0 || CF_2_0
+ internal object [] BaseGetAllValues ()
+ {
+ object [] values = new object [this.Count];
+ for (int i=0; i < values.Length; ++i) {
+ values [i] = this.BaseGet (i);
+ }
+ return values;
+ }
+#endif
+
+ void Check (object value)
+ {
+ if (!(value is TypeReference))
+ throw new ArgumentException ();
+ }
+
+ int IList.Add (object value)
+ {
+ Check (value);
+ Add (value as TypeReference);
+ return 0;
+ }
+
+ bool IList.Contains (object value)
+ {
+ Check (value);
+ return Contains (value as TypeReference);
+ }
+
+ int IList.IndexOf (object value)
+ {
+ throw new NotSupportedException ();
+ }
+
+ void IList.Insert (int index, object value)
+ {
+ throw new NotSupportedException ();
+ }
+
+ void IList.Remove (object value)
+ {
+ Check (value);
+ Remove (value as TypeReference);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/FieldAttributes.cs b/mcs/tools/cil-strip/Mono.Cecil/FieldAttributes.cs
new file mode 100644
index 00000000000..2c20927ceb6
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/FieldAttributes.cs
@@ -0,0 +1,59 @@
+//
+// FieldAttributes.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ [Flags]
+ internal enum FieldAttributes : ushort {
+ FieldAccessMask = 0x0007,
+ Compilercontrolled = 0x0000, // Member not referenceable
+ Private = 0x0001, // Accessible only by the parent type
+ FamANDAssem = 0x0002, // Accessible by sub-types only in this assembly
+ Assembly = 0x0003, // Accessible by anyone in the Assembly
+ Family = 0x0004, // Accessible only by type and sub-types
+ FamORAssem = 0x0005, // Accessible by sub-types anywhere, plus anyone in the assembly
+ Public = 0x0006, // Accessible by anyone who has visibility to this scope field contract attributes
+
+ Static = 0x0010, // Defined on type, else per instance
+ InitOnly = 0x0020, // Field may only be initialized, not written after init
+ Literal = 0x0040, // Value is compile time constant
+ NotSerialized = 0x0080, // Field does not have to be serialized when type is remoted
+ SpecialName = 0x0200, // Field is special
+
+ // Interop Attributes
+ PInvokeImpl = 0x2000, // Implementation is forwarded through PInvoke
+
+ // Additional flags
+ RTSpecialName = 0x0400, // CLI provides 'special' behavior, depending upon the name of the field
+ HasFieldMarshal = 0x1000, // Field has marshalling information
+ HasDefault = 0x8000, // Field has default
+ HasFieldRVA = 0x0100 // Field has RVA
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/FieldDefinition.cs b/mcs/tools/cil-strip/Mono.Cecil/FieldDefinition.cs
new file mode 100644
index 00000000000..ad9509ee095
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/FieldDefinition.cs
@@ -0,0 +1,331 @@
+//
+// FieldDefinition.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using Mono.Cecil;
+ using Mono.Cecil.Binary;
+
+ internal sealed class FieldDefinition : FieldReference, IMemberDefinition,
+ ICustomAttributeProvider, IHasMarshalSpec, IHasConstant {
+
+ FieldAttributes m_attributes;
+
+ CustomAttributeCollection m_customAttrs;
+
+ bool m_hasInfo;
+ uint m_offset;
+
+ RVA m_rva;
+ byte [] m_initVal;
+
+ bool m_hasConstant;
+ object m_const;
+
+ MarshalSpec m_marshalDesc;
+
+ public bool HasLayoutInfo {
+ get { return m_hasInfo; }
+ }
+
+ public uint Offset {
+ get { return m_offset; }
+ set {
+ m_hasInfo = true;
+ m_offset = value;
+ }
+ }
+
+ public RVA RVA {
+ get { return m_rva; }
+ set { m_rva = value; }
+ }
+
+ public byte [] InitialValue {
+ get { return m_initVal; }
+ set { m_initVal = value; }
+ }
+
+ public FieldAttributes Attributes {
+ get { return m_attributes; }
+ set { m_attributes = value; }
+ }
+
+ public bool HasConstant {
+ get { return m_hasConstant; }
+ }
+
+ public object Constant {
+ get { return m_const; }
+ set {
+ m_hasConstant = true;
+ m_const = value;
+ }
+ }
+
+ public bool HasCustomAttributes {
+ get { return (m_customAttrs == null) ? false : (m_customAttrs.Count > 0); }
+ }
+
+ public CustomAttributeCollection CustomAttributes {
+ get {
+ if (m_customAttrs == null)
+ m_customAttrs = new CustomAttributeCollection (this);
+
+ return m_customAttrs;
+ }
+ }
+
+ public MarshalSpec MarshalSpec {
+ get { return m_marshalDesc; }
+ set {
+ m_marshalDesc = value;
+ if (value != null)
+ m_attributes |= FieldAttributes.HasFieldMarshal;
+ else
+ m_attributes &= FieldAttributes.HasFieldMarshal;
+ }
+ }
+
+ #region FieldAttributes
+
+ public bool IsCompilerControlled {
+ get { return (m_attributes & FieldAttributes.FieldAccessMask) == FieldAttributes.Compilercontrolled; }
+ set {
+ if (value) {
+ m_attributes &= ~FieldAttributes.FieldAccessMask;
+ m_attributes |= FieldAttributes.Compilercontrolled;
+ } else
+ m_attributes &= ~(FieldAttributes.FieldAccessMask & FieldAttributes.Compilercontrolled);
+ }
+ }
+
+ public bool IsPrivate {
+ get { return (m_attributes & FieldAttributes.FieldAccessMask) == FieldAttributes.Private; }
+ set {
+ if (value) {
+ m_attributes &= ~FieldAttributes.FieldAccessMask;
+ m_attributes |= FieldAttributes.Private;
+ } else
+ m_attributes &= ~(FieldAttributes.FieldAccessMask & FieldAttributes.Private);
+ }
+ }
+
+ public bool IsFamilyAndAssembly {
+ get { return (m_attributes & FieldAttributes.FieldAccessMask) == FieldAttributes.FamANDAssem; }
+ set {
+ if (value) {
+ m_attributes &= ~FieldAttributes.FieldAccessMask;
+ m_attributes |= FieldAttributes.FamANDAssem;
+ } else
+ m_attributes &= ~(FieldAttributes.FieldAccessMask & FieldAttributes.FamANDAssem);
+ }
+ }
+
+ public bool IsAssembly {
+ get { return (m_attributes & FieldAttributes.FieldAccessMask) == FieldAttributes.Assembly; }
+ set {
+ if (value) {
+ m_attributes &= ~FieldAttributes.FieldAccessMask;
+ m_attributes |= FieldAttributes.Assembly;
+ } else
+ m_attributes &= ~(FieldAttributes.FieldAccessMask & FieldAttributes.Assembly);
+ }
+ }
+
+ public bool IsFamily {
+ get { return (m_attributes & FieldAttributes.FieldAccessMask) == FieldAttributes.Family; }
+ set {
+ if (value) {
+ m_attributes &= ~FieldAttributes.FieldAccessMask;
+ m_attributes |= FieldAttributes.Family;
+ } else
+ m_attributes &= ~(FieldAttributes.FieldAccessMask & FieldAttributes.Family);
+ }
+ }
+
+ public bool IsFamilyOrAssembly {
+ get { return (m_attributes & FieldAttributes.FieldAccessMask) == FieldAttributes.FamORAssem; }
+ set {
+ if (value) {
+ m_attributes &= ~FieldAttributes.FieldAccessMask;
+ m_attributes |= FieldAttributes.FamORAssem;
+ } else
+ m_attributes &= ~(FieldAttributes.FieldAccessMask & FieldAttributes.FamORAssem);
+ }
+ }
+
+ public bool IsPublic {
+ get { return (m_attributes & FieldAttributes.FieldAccessMask) == FieldAttributes.Public; }
+ set {
+ if (value) {
+ m_attributes &= ~FieldAttributes.FieldAccessMask;
+ m_attributes |= FieldAttributes.Public;
+ } else
+ m_attributes &= ~(FieldAttributes.FieldAccessMask & FieldAttributes.Public);
+ }
+ }
+
+ public bool IsStatic {
+ get { return (m_attributes & FieldAttributes.Static) != 0; }
+ set {
+ if (value)
+ m_attributes |= FieldAttributes.Static;
+ else
+ m_attributes &= ~FieldAttributes.Static;
+ }
+ }
+
+ public bool IsInitOnly {
+ get { return (m_attributes & FieldAttributes.InitOnly) != 0; }
+ set {
+ if (value)
+ m_attributes |= FieldAttributes.InitOnly;
+ else
+ m_attributes &= ~FieldAttributes.InitOnly;
+ }
+ }
+
+ public bool IsLiteral {
+ get { return (m_attributes & FieldAttributes.Literal) != 0; }
+ set {
+ if (value)
+ m_attributes |= FieldAttributes.Literal;
+ else
+ m_attributes &= ~FieldAttributes.Literal;
+ }
+ }
+
+ public bool IsNotSerialized {
+ get { return (m_attributes & FieldAttributes.NotSerialized) != 0; }
+ set {
+ if (value)
+ m_attributes |= FieldAttributes.NotSerialized;
+ else
+ m_attributes &= ~FieldAttributes.NotSerialized;
+ }
+ }
+
+ public bool IsSpecialName {
+ get { return (m_attributes & FieldAttributes.SpecialName) != 0; }
+ set {
+ if (value)
+ m_attributes |= FieldAttributes.SpecialName;
+ else
+ m_attributes &= ~FieldAttributes.SpecialName;
+ }
+ }
+
+ public bool IsPInvokeImpl {
+ get { return (m_attributes & FieldAttributes.PInvokeImpl) != 0; }
+ set {
+ if (value)
+ m_attributes |= FieldAttributes.PInvokeImpl;
+ else
+ m_attributes &= ~FieldAttributes.PInvokeImpl;
+ }
+ }
+
+ public bool IsRuntimeSpecialName {
+ get { return (m_attributes & FieldAttributes.RTSpecialName) != 0; }
+ set {
+ if (value)
+ m_attributes |= FieldAttributes.RTSpecialName;
+ else
+ m_attributes &= ~FieldAttributes.RTSpecialName;
+ }
+ }
+
+ public bool HasDefault {
+ get { return (m_attributes & FieldAttributes.HasDefault) != 0; }
+ set {
+ if (value)
+ m_attributes |= FieldAttributes.HasDefault;
+ else
+ m_attributes &= ~FieldAttributes.HasDefault;
+ }
+ }
+
+ #endregion
+
+ public new TypeDefinition DeclaringType {
+ get { return (TypeDefinition) base.DeclaringType; }
+ set { base.DeclaringType = value; }
+ }
+
+ public FieldDefinition (string name, TypeReference fieldType,
+ FieldAttributes attrs) : base (name, fieldType)
+ {
+ m_attributes = attrs;
+ }
+
+ public override FieldDefinition Resolve ()
+ {
+ return this;
+ }
+
+ public FieldDefinition Clone ()
+ {
+ return Clone (this, new ImportContext (NullReferenceImporter.Instance, this.DeclaringType));
+ }
+
+ internal static FieldDefinition Clone (FieldDefinition field, ImportContext context)
+ {
+ FieldDefinition nf = new FieldDefinition (
+ field.Name,
+ context.Import (field.FieldType),
+ field.Attributes);
+
+ if (field.HasConstant)
+ nf.Constant = field.Constant;
+ if (field.MarshalSpec != null)
+ nf.MarshalSpec = field.MarshalSpec.CloneInto (nf);
+ if (field.RVA != RVA.Zero)
+ nf.InitialValue = field.InitialValue;
+ else
+ nf.InitialValue = new byte [0];
+ if (field.HasLayoutInfo)
+ nf.Offset = field.Offset;
+
+ foreach (CustomAttribute ca in field.CustomAttributes)
+ nf.CustomAttributes.Add (CustomAttribute.Clone (ca, context));
+
+ return nf;
+ }
+
+ public override void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitFieldDefinition (this);
+
+ if (this.MarshalSpec != null)
+ this.MarshalSpec.Accept (visitor);
+
+ this.CustomAttributes.Accept (visitor);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/FieldDefinitionCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/FieldDefinitionCollection.cs
new file mode 100644
index 00000000000..65b5784a663
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/FieldDefinitionCollection.cs
@@ -0,0 +1,137 @@
+//
+// FieldDefinitionCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Fri Mar 30 18:43:57 +0200 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class FieldDefinitionCollection : CollectionBase, IReflectionVisitable {
+
+ TypeDefinition m_container;
+
+ public FieldDefinition this [int index] {
+ get { return List [index] as FieldDefinition; }
+ set { List [index] = value; }
+ }
+
+ public TypeDefinition Container {
+ get { return m_container; }
+ }
+
+ public FieldDefinitionCollection (TypeDefinition container)
+ {
+ m_container = container;
+ }
+
+ public void Add (FieldDefinition value)
+ {
+ Attach (value);
+
+ List.Add (value);
+ }
+
+
+ public new void Clear ()
+ {
+ foreach (FieldDefinition item in this)
+ Detach (item);
+
+ base.Clear ();
+ }
+
+ public bool Contains (FieldDefinition value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (FieldDefinition value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, FieldDefinition value)
+ {
+ Attach (value);
+
+ List.Insert (index, value);
+ }
+
+ public void Remove (FieldDefinition value)
+ {
+ List.Remove (value);
+
+ Detach (value);
+ }
+
+
+ public new void RemoveAt (int index)
+ {
+ FieldDefinition item = this [index];
+ Remove (item);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is FieldDefinition))
+ throw new ArgumentException ("Must be of type " + typeof (FieldDefinition).FullName);
+ }
+
+ public FieldDefinition GetField (string name)
+ {
+ foreach (FieldDefinition field in this)
+ if (field.Name == name)
+ return field;
+
+ return null;
+ }
+
+ void Attach (MemberReference member)
+ {
+ if (member.DeclaringType != null)
+ throw new ReflectionException ("Member already attached, clone it instead");
+
+ member.DeclaringType = m_container;
+ }
+
+ void Detach (MemberReference member)
+ {
+ member.DeclaringType = null;
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitFieldDefinitionCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/FieldReference.cs b/mcs/tools/cil-strip/Mono.Cecil/FieldReference.cs
new file mode 100644
index 00000000000..b7eb33d553e
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/FieldReference.cs
@@ -0,0 +1,67 @@
+//
+// FieldReference.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using Mono.Cecil;
+
+ internal class FieldReference : MemberReference {
+
+ TypeReference m_fieldType;
+
+ public TypeReference FieldType {
+ get { return m_fieldType; }
+ set { m_fieldType = value; }
+ }
+
+ internal FieldReference (string name, TypeReference fieldType) : base (name)
+ {
+ m_fieldType = fieldType;
+ }
+
+ public FieldReference (string name, TypeReference declaringType, TypeReference fieldType) :
+ this (name, fieldType)
+ {
+ this.DeclaringType = declaringType;
+ }
+
+ public virtual FieldDefinition Resolve ()
+ {
+ TypeReference declaringType = DeclaringType;
+ if (declaringType == null)
+ return null;
+
+ return declaringType.Module.Resolver.Resolve (this);
+ }
+
+ public override string ToString ()
+ {
+ return string.Concat (m_fieldType.FullName, " ", base.ToString ());
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/FileAttributes.cs b/mcs/tools/cil-strip/Mono.Cecil/FileAttributes.cs
new file mode 100644
index 00000000000..74d29a9139d
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/FileAttributes.cs
@@ -0,0 +1,35 @@
+//
+// FileAttributes.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal enum FileAttributes : uint {
+ ContainsMetaData = 0x0000, // This is not a resource file
+ ContainsNoMetaData = 0x0001, // This is a resource file or other non-metadata-containing file
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/FunctionPointerType.cs b/mcs/tools/cil-strip/Mono.Cecil/FunctionPointerType.cs
new file mode 100644
index 00000000000..ef1375f70f9
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/FunctionPointerType.cs
@@ -0,0 +1,116 @@
+//
+// FunctionPointerType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 - 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Text;
+
+ internal sealed class FunctionPointerType : TypeSpecification, IMethodSignature {
+
+ MethodReference m_function;
+
+ public bool HasThis {
+ get { return m_function.HasThis; }
+ set { m_function.HasThis = value; }
+ }
+
+ public bool ExplicitThis {
+ get { return m_function.ExplicitThis; }
+ set { m_function.ExplicitThis = value; }
+ }
+
+ public MethodCallingConvention CallingConvention {
+ get { return m_function.CallingConvention; }
+ set { m_function.CallingConvention = value; }
+ }
+
+ public bool HasParameters {
+ get { return m_function.HasParameters; }
+ }
+
+ public ParameterDefinitionCollection Parameters {
+ get { return m_function.Parameters; }
+ }
+
+ public MethodReturnType ReturnType {
+ get { return m_function.ReturnType; }
+ set { m_function.ReturnType = value; }
+ }
+
+ public override string Name {
+ get { return m_function.Name; }
+ set { throw new InvalidOperationException (); }
+ }
+
+ public override string Namespace {
+ get { return string.Empty; }
+ set { throw new InvalidOperationException (); }
+ }
+
+ public override IMetadataScope Scope {
+ get { return m_function.DeclaringType.Scope; }
+ }
+
+ public override string FullName {
+ get {
+ int sentinel = GetSentinel ();
+ StringBuilder sb = new StringBuilder ();
+ sb.Append (m_function.Name);
+ sb.Append (" ");
+ sb.Append (m_function.ReturnType.ReturnType.FullName);
+ sb.Append (" *(");
+ if (m_function.HasParameters) {
+ for (int i = 0; i < m_function.Parameters.Count; i++) {
+ if (i > 0)
+ sb.Append (",");
+
+ if (i == sentinel)
+ sb.Append ("...,");
+
+ sb.Append (m_function.Parameters [i].ParameterType.FullName);
+ }
+ }
+ sb.Append (")");
+ return sb.ToString ();
+ }
+ }
+
+ public FunctionPointerType (bool hasThis, bool explicitThis, MethodCallingConvention callConv, MethodReturnType retType) :
+ base (retType.ReturnType)
+ {
+ m_function = new MethodReference ("method", hasThis, explicitThis, callConv);
+ m_function.ReturnType = retType;
+ }
+
+ public int GetSentinel ()
+ {
+ return m_function.GetSentinel ();
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/GenericArgumentCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/GenericArgumentCollection.cs
new file mode 100644
index 00000000000..3faea84742c
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/GenericArgumentCollection.cs
@@ -0,0 +1,88 @@
+//
+// GenericArgumentCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Wed Sep 27 12:46:54 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class GenericArgumentCollection : CollectionBase {
+
+ IGenericInstance m_container;
+
+ public TypeReference this [int index] {
+ get { return List [index] as TypeReference; }
+ set { List [index] = value; }
+ }
+
+ public IGenericInstance Container {
+ get { return m_container; }
+ }
+
+ public GenericArgumentCollection (IGenericInstance container)
+ {
+ m_container = container;
+ }
+
+ public void Add (TypeReference value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (TypeReference value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (TypeReference value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, TypeReference value)
+ {
+ List.Insert (index, value);
+ }
+
+ public void Remove (TypeReference value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is TypeReference))
+ throw new ArgumentException ("Must be of type " + typeof (TypeReference).FullName);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/GenericContext.cs b/mcs/tools/cil-strip/Mono.Cecil/GenericContext.cs
new file mode 100644
index 00000000000..bdf0026e98a
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/GenericContext.cs
@@ -0,0 +1,92 @@
+//
+// GenericContext.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal class GenericContext {
+
+ TypeReference m_type;
+ MethodReference m_method;
+
+ public TypeReference Type {
+ get { return m_type; }
+ set { m_type = value; }
+ }
+
+ public MethodReference Method {
+ get { return m_method; }
+ set { m_method = value; }
+ }
+
+ public bool AllowCreation {
+ get { return m_type != null && m_type.GetType () == typeof (TypeReference); }
+ }
+
+ public bool Null {
+ get { return m_type == null && m_method == null; }
+ }
+
+ public GenericContext ()
+ {
+ }
+
+ public GenericContext (TypeReference type, MethodReference meth)
+ {
+ m_type = type;
+ m_method = meth;
+ }
+
+ public GenericContext (IGenericParameterProvider provider)
+ {
+ if (provider is TypeReference)
+ m_type = provider as TypeReference;
+ else if (provider is MethodReference) {
+ MethodReference meth = provider as MethodReference;
+ m_method = meth;
+ m_type = meth.DeclaringType;
+ }
+ }
+
+ internal void CheckProvider (IGenericParameterProvider provider, int count)
+ {
+ if (!AllowCreation)
+ return;
+
+ for (int i = provider.GenericParameters.Count; i < count; i++)
+ provider.GenericParameters.Add (new GenericParameter (i, provider));
+ }
+
+ public GenericContext Clone ()
+ {
+ GenericContext ctx = new GenericContext ();
+ ctx.Type = m_type;
+ ctx.Method = m_method;
+ return ctx;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/GenericInstanceMethod.cs b/mcs/tools/cil-strip/Mono.Cecil/GenericInstanceMethod.cs
new file mode 100644
index 00000000000..342dba573fe
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/GenericInstanceMethod.cs
@@ -0,0 +1,81 @@
+//
+// IGenericInstanceMethod.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System.Text;
+
+ internal sealed class GenericInstanceMethod : MethodSpecification, IGenericInstance {
+
+ private GenericArgumentCollection m_genArgs;
+
+ public GenericArgumentCollection GenericArguments {
+ get {
+ if (m_genArgs == null)
+ m_genArgs = new GenericArgumentCollection (this);
+ return m_genArgs;
+ }
+ }
+
+ public bool HasGenericArguments {
+ get { return m_genArgs == null ? false : m_genArgs.Count > 0; }
+ }
+
+ public GenericInstanceMethod (MethodReference elemMethod) : base (elemMethod)
+ {
+ }
+
+ public override string ToString ()
+ {
+ StringBuilder sb = new StringBuilder ();
+ MethodReference meth = this.ElementMethod;
+ sb.Append (meth.ReturnType.ReturnType.FullName);
+ sb.Append (" ");
+ sb.Append (meth.DeclaringType.FullName);
+ sb.Append ("::");
+ sb.Append (meth.Name);
+ sb.Append ("<");
+ for (int i = 0; i < this.GenericArguments.Count; i++) {
+ if (i > 0)
+ sb.Append (",");
+ sb.Append (this.GenericArguments [i].FullName);
+ }
+ sb.Append (">");
+ sb.Append ("(");
+ if (meth.HasParameters) {
+ for (int i = 0; i < meth.Parameters.Count; i++) {
+ sb.Append (meth.Parameters [i].ParameterType.FullName);
+ if (i < meth.Parameters.Count - 1)
+ sb.Append (",");
+ }
+ }
+ sb.Append (")");
+ return sb.ToString ();
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/GenericInstanceType.cs b/mcs/tools/cil-strip/Mono.Cecil/GenericInstanceType.cs
new file mode 100644
index 00000000000..ee672eb1f07
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/GenericInstanceType.cs
@@ -0,0 +1,75 @@
+//
+// GenericInstanceType.cs
+//
+// Author:
+// Martin Baulig <martin@ximian.com>
+// Jb Evain <jbevain@gmail.com>
+//
+// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System.Text;
+
+ internal sealed class GenericInstanceType : TypeSpecification, IGenericInstance {
+
+ private GenericArgumentCollection m_genArgs;
+
+ public GenericArgumentCollection GenericArguments {
+ get {
+ if (m_genArgs == null)
+ m_genArgs = new GenericArgumentCollection (this);
+ return m_genArgs;
+ }
+ }
+
+ public bool HasGenericArguments {
+ get { return m_genArgs == null ? false : m_genArgs.Count > 0; }
+ }
+
+ public override bool IsValueType {
+ get { return m_isValueType; }
+ set { m_isValueType = value; }
+ }
+
+ public override string FullName {
+ get {
+ StringBuilder sb = new StringBuilder ();
+ sb.Append (base.FullName);
+ sb.Append ("<");
+ for (int i = 0; i < this.GenericArguments.Count; i++) {
+ if (i > 0)
+ sb.Append (",");
+ sb.Append (this.GenericArguments [i].FullName);
+ }
+ sb.Append (">");
+ return sb.ToString ();
+ }
+ }
+
+ public GenericInstanceType (TypeReference elementType) : base (elementType)
+ {
+ m_isValueType = elementType.IsValueType;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/GenericParameter.cs b/mcs/tools/cil-strip/Mono.Cecil/GenericParameter.cs
new file mode 100644
index 00000000000..205b06e4ce2
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/GenericParameter.cs
@@ -0,0 +1,238 @@
+//
+// GenericParameter.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ internal sealed class GenericParameter : TypeReference {
+
+ int m_position;
+ string m_name;
+ GenericParameterAttributes m_attributes;
+ IGenericParameterProvider m_owner;
+ ConstraintCollection m_constraints;
+
+ public int Position {
+ get { return m_position; }
+ set { m_position = value; }
+ }
+
+ public GenericParameterAttributes Attributes {
+ get { return m_attributes; }
+ set { m_attributes = value; }
+ }
+
+ public IGenericParameterProvider Owner {
+ get { return m_owner; }
+ }
+
+ public bool HasConstraints {
+ get { return (m_constraints == null) ? false : (m_constraints.Count > 0); }
+ }
+
+ public ConstraintCollection Constraints {
+ get {
+ if (m_constraints == null)
+ m_constraints = new ConstraintCollection (this);
+
+ return m_constraints;
+ }
+ }
+
+ public override IMetadataScope Scope {
+ get {
+ if (m_owner is TypeReference)
+ return ((TypeReference) m_owner).Scope;
+ if (m_owner is MethodReference)
+ return ((MethodReference) m_owner).DeclaringType.Scope;
+
+ throw new InvalidOperationException ();
+ }
+ }
+
+ public override ModuleDefinition Module {
+ get {
+ if (m_owner is TypeReference)
+ return ((TypeReference) m_owner).Module;
+ if (m_owner is MethodReference)
+ return ((MethodReference) m_owner).DeclaringType.Module;
+
+ throw new InvalidOperationException ();
+ }
+ }
+
+ public override string Name {
+ get {
+ if (m_name != null)
+ return m_name;
+
+ if (m_owner is TypeReference)
+ return string.Concat ("!", m_position.ToString ());
+ else if (m_owner is MethodReference)
+ return string.Concat ("!!", m_position.ToString ());
+ else
+ throw new InvalidOperationException ();
+ }
+ set { m_name = value; }
+ }
+
+ public override string Namespace {
+ get { return string.Empty; }
+ set { throw new InvalidOperationException (); }
+ }
+
+ public override string FullName {
+ get { return Name; }
+ }
+
+ #region GenericParameterAttributes
+
+ public bool IsNonVariant {
+ get { return (m_attributes & GenericParameterAttributes.VarianceMask) == GenericParameterAttributes.NonVariant; }
+ set {
+ if (value) {
+ m_attributes &= ~GenericParameterAttributes.VarianceMask;
+ m_attributes |= GenericParameterAttributes.NonVariant;
+ } else
+ m_attributes &= ~(GenericParameterAttributes.VarianceMask & GenericParameterAttributes.NonVariant);
+ }
+ }
+
+ public bool IsCovariant {
+ get { return (m_attributes & GenericParameterAttributes.VarianceMask) == GenericParameterAttributes.Covariant; }
+ set {
+ if (value) {
+ m_attributes &= ~GenericParameterAttributes.VarianceMask;
+ m_attributes |= GenericParameterAttributes.Covariant;
+ } else
+ m_attributes &= ~(GenericParameterAttributes.VarianceMask & GenericParameterAttributes.Covariant);
+ }
+ }
+
+ public bool IsContravariant {
+ get { return (m_attributes & GenericParameterAttributes.VarianceMask) == GenericParameterAttributes.Contravariant; }
+ set {
+ if (value) {
+ m_attributes &= ~GenericParameterAttributes.VarianceMask;
+ m_attributes |= GenericParameterAttributes.Contravariant;
+ } else
+ m_attributes &= ~(GenericParameterAttributes.VarianceMask & GenericParameterAttributes.Contravariant);
+ }
+ }
+
+ public bool HasReferenceTypeConstraint {
+ get { return (m_attributes & GenericParameterAttributes.ReferenceTypeConstraint) != 0; }
+ set {
+ if (value) {
+ m_attributes |= GenericParameterAttributes.ReferenceTypeConstraint;
+ } else
+ m_attributes &= ~GenericParameterAttributes.ReferenceTypeConstraint;
+ }
+ }
+
+ public bool HasNotNullableValueTypeConstraint {
+ get { return (m_attributes & GenericParameterAttributes.NotNullableValueTypeConstraint) != 0; }
+ set {
+ if (value) {
+ m_attributes |= GenericParameterAttributes.NotNullableValueTypeConstraint;
+ } else
+ m_attributes &= ~GenericParameterAttributes.NotNullableValueTypeConstraint;
+ }
+ }
+
+ public bool HasDefaultConstructorConstraint {
+ get { return (m_attributes & GenericParameterAttributes.DefaultConstructorConstraint) != 0; }
+ set {
+ if (value) {
+ m_attributes |= GenericParameterAttributes.DefaultConstructorConstraint;
+ } else
+ m_attributes &= ~GenericParameterAttributes.DefaultConstructorConstraint;
+ }
+ }
+
+ #endregion
+
+ internal GenericParameter (int pos, IGenericParameterProvider owner) :
+ base (string.Empty, string.Empty)
+ {
+ m_position = pos;
+ m_owner = owner;
+ }
+
+ public GenericParameter (string name, IGenericParameterProvider owner) :
+ base (string.Empty, string.Empty)
+ {
+ m_name = name;
+ m_owner = owner;
+ }
+
+ public override TypeDefinition Resolve ()
+ {
+ return null;
+ }
+
+ internal static void CloneInto (IGenericParameterProvider old, IGenericParameterProvider np, ImportContext context)
+ {
+ foreach (GenericParameter gp in old.GenericParameters) {
+ GenericParameter ngp = Clone (gp, context);
+ np.GenericParameters.Add (ngp);
+ CloneConstraints (gp, ngp, context);
+ }
+ }
+
+ internal static GenericParameter Clone (GenericParameter gp, ImportContext context)
+ {
+ GenericParameter ngp;
+ if (gp.Owner is TypeReference)
+ ngp = new GenericParameter (gp.m_name, context.GenericContext.Type);
+ else if (gp.Owner is MethodReference)
+ ngp = new GenericParameter (gp.m_name, context.GenericContext.Method);
+ else
+ throw new NotSupportedException ();
+
+ ngp.Position = gp.Owner.GenericParameters.IndexOf (gp);
+ ngp.Attributes = gp.Attributes;
+
+ if (gp.HasCustomAttributes) {
+ foreach (CustomAttribute ca in gp.CustomAttributes)
+ ngp.CustomAttributes.Add (CustomAttribute.Clone (ca, context));
+ }
+
+ return ngp;
+ }
+
+ static void CloneConstraints (GenericParameter gp, GenericParameter ngp, ImportContext context)
+ {
+ if (gp.HasConstraints) {
+ foreach (TypeReference constraint in gp.Constraints)
+ ngp.Constraints.Add (context.Import (constraint));
+ }
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/GenericParameterAttributes.cs b/mcs/tools/cil-strip/Mono.Cecil/GenericParameterAttributes.cs
new file mode 100644
index 00000000000..141e9687e1d
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/GenericParameterAttributes.cs
@@ -0,0 +1,45 @@
+//
+// GenericParameterAttributes.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ [Flags]
+ internal enum GenericParameterAttributes : ushort {
+ VarianceMask = 0x0003,
+ NonVariant = 0x0000,
+ Covariant = 0x0001,
+ Contravariant = 0x0002,
+
+ SpecialConstraintMask = 0x001c,
+ ReferenceTypeConstraint = 0x0004,
+ NotNullableValueTypeConstraint = 0x0008,
+ DefaultConstructorConstraint = 0x0010
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/GenericParameterCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/GenericParameterCollection.cs
new file mode 100644
index 00000000000..9d9ec0b9959
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/GenericParameterCollection.cs
@@ -0,0 +1,93 @@
+//
+// GenericParameterCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Wed Sep 27 12:46:53 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class GenericParameterCollection : CollectionBase, IReflectionVisitable {
+
+ IGenericParameterProvider m_container;
+
+ public GenericParameter this [int index] {
+ get { return List [index] as GenericParameter; }
+ set { List [index] = value; }
+ }
+
+ public IGenericParameterProvider Container {
+ get { return m_container; }
+ }
+
+ public GenericParameterCollection (IGenericParameterProvider container)
+ {
+ m_container = container;
+ }
+
+ public void Add (GenericParameter value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (GenericParameter value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (GenericParameter value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, GenericParameter value)
+ {
+ List.Insert (index, value);
+ }
+
+ public void Remove (GenericParameter value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is GenericParameter))
+ throw new ArgumentException ("Must be of type " + typeof (GenericParameter).FullName);
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitGenericParameterCollection (this);
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/HashCodeProvider.cs b/mcs/tools/cil-strip/Mono.Cecil/HashCodeProvider.cs
index 6b7b80c3a0f..6b7b80c3a0f 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/HashCodeProvider.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil/HashCodeProvider.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IAnnotationProvider.cs b/mcs/tools/cil-strip/Mono.Cecil/IAnnotationProvider.cs
new file mode 100644
index 00000000000..6ebc22ec7a1
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IAnnotationProvider.cs
@@ -0,0 +1,37 @@
+//
+// AssemblyDefinition.cs
+//
+// Author:
+// Jb Evain (jbevain@novell.com)
+//
+// (C) 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System.Collections;
+
+ internal interface IAnnotationProvider {
+
+ IDictionary Annotations { get; }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IAssemblyResolver.cs b/mcs/tools/cil-strip/Mono.Cecil/IAssemblyResolver.cs
new file mode 100644
index 00000000000..ed4329a89ed
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IAssemblyResolver.cs
@@ -0,0 +1,36 @@
+//
+// IAssemblyResolver.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal interface IAssemblyResolver {
+
+ AssemblyDefinition Resolve (string fullName);
+ AssemblyDefinition Resolve (AssemblyNameReference name);
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ICustomAttributeProvider.cs b/mcs/tools/cil-strip/Mono.Cecil/ICustomAttributeProvider.cs
new file mode 100644
index 00000000000..fdd5225e80e
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ICustomAttributeProvider.cs
@@ -0,0 +1,39 @@
+//
+// ICustomAttributeProvider.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System.Reflection;
+
+ internal interface ICustomAttributeProvider {
+
+ CustomAttributeCollection CustomAttributes { get; }
+
+ bool HasCustomAttributes { get; }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/IDetailReader.cs b/mcs/tools/cil-strip/Mono.Cecil/IDetailReader.cs
index ca701324beb..ca701324beb 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/IDetailReader.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil/IDetailReader.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IGenericInstance.cs b/mcs/tools/cil-strip/Mono.Cecil/IGenericInstance.cs
new file mode 100644
index 00000000000..8aa7c5cd228
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IGenericInstance.cs
@@ -0,0 +1,37 @@
+//
+// IGenericInstanceMethod.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal interface IGenericInstance : IMetadataTokenProvider {
+
+ GenericArgumentCollection GenericArguments { get; }
+
+ bool HasGenericArguments { get; }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IGenericParameterProvider.cs b/mcs/tools/cil-strip/Mono.Cecil/IGenericParameterProvider.cs
new file mode 100644
index 00000000000..5e823dd5e6e
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IGenericParameterProvider.cs
@@ -0,0 +1,37 @@
+//
+// IGenericParameterProvider.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal interface IGenericParameterProvider : IMetadataTokenProvider {
+
+ GenericParameterCollection GenericParameters { get; }
+
+ bool HasGenericParameters { get; }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IHasConstant.cs b/mcs/tools/cil-strip/Mono.Cecil/IHasConstant.cs
new file mode 100644
index 00000000000..13f299ec256
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IHasConstant.cs
@@ -0,0 +1,36 @@
+//
+// IHasConstant.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal interface IHasConstant : IMetadataTokenProvider {
+
+ bool HasConstant { get; }
+ object Constant { get; set; }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IHasMarshalSpec.cs b/mcs/tools/cil-strip/Mono.Cecil/IHasMarshalSpec.cs
new file mode 100644
index 00000000000..e5991dfa1c5
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IHasMarshalSpec.cs
@@ -0,0 +1,35 @@
+//
+// IHasMarshalSpec.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal interface IHasMarshalSpec : IMetadataTokenProvider {
+
+ MarshalSpec MarshalSpec { get; set; }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IHasSecurity.cs b/mcs/tools/cil-strip/Mono.Cecil/IHasSecurity.cs
new file mode 100644
index 00000000000..470b6f4b688
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IHasSecurity.cs
@@ -0,0 +1,37 @@
+//
+// IHasSecurity.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal interface IHasSecurity : IMetadataTokenProvider {
+
+ SecurityDeclarationCollection SecurityDeclarations { get; }
+
+ bool HasSecurityDeclarations { get; }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IImporter.cs b/mcs/tools/cil-strip/Mono.Cecil/IImporter.cs
new file mode 100644
index 00000000000..7a16080996e
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IImporter.cs
@@ -0,0 +1,37 @@
+//
+// IImporter.cs
+//
+// Author:
+// Jb Evain (jbevain@novell.com)
+//
+// (C) 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal interface IImporter {
+
+ TypeReference ImportTypeReference (TypeReference type, ImportContext context);
+ FieldReference ImportFieldReference (FieldReference field, ImportContext context);
+ MethodReference ImportMethodReference (MethodReference method, ImportContext context);
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IMemberDefinition.cs b/mcs/tools/cil-strip/Mono.Cecil/IMemberDefinition.cs
new file mode 100644
index 00000000000..be0828ed318
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IMemberDefinition.cs
@@ -0,0 +1,37 @@
+//
+// IMemberDefinition.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal interface IMemberDefinition : IMemberReference, ICustomAttributeProvider {
+
+ new TypeDefinition DeclaringType { get; set; }
+ bool IsSpecialName { get; set; }
+ bool IsRuntimeSpecialName { get; set; }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IMemberReference.cs b/mcs/tools/cil-strip/Mono.Cecil/IMemberReference.cs
new file mode 100644
index 00000000000..e7f4f3421ab
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IMemberReference.cs
@@ -0,0 +1,36 @@
+//
+// IMemberReference.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal interface IMemberReference : IMetadataTokenProvider, IAnnotationProvider, IReflectionVisitable {
+
+ string Name { get; set; }
+ TypeReference DeclaringType { get; }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IMetadataScope.cs b/mcs/tools/cil-strip/Mono.Cecil/IMetadataScope.cs
new file mode 100644
index 00000000000..a7cbe9fe513
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IMetadataScope.cs
@@ -0,0 +1,34 @@
+//
+// IMetadataScope.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal interface IMetadataScope : IMetadataTokenProvider {
+ string Name { get; set; }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IMetadataTokenProvider.cs b/mcs/tools/cil-strip/Mono.Cecil/IMetadataTokenProvider.cs
new file mode 100644
index 00000000000..cff4fb7790f
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IMetadataTokenProvider.cs
@@ -0,0 +1,37 @@
+//
+// IMetadataTokenProvider.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using Mono.Cecil.Metadata;
+
+ internal interface IMetadataTokenProvider {
+
+ MetadataToken MetadataToken { get; set; }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IMethodSignature.cs b/mcs/tools/cil-strip/Mono.Cecil/IMethodSignature.cs
new file mode 100644
index 00000000000..35ecf9b7a4f
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IMethodSignature.cs
@@ -0,0 +1,43 @@
+//
+// IMethodSignature.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 - 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal interface IMethodSignature {
+
+ bool HasParameters { get; }
+ bool HasThis { get; set; }
+ bool ExplicitThis { get; set; }
+ MethodCallingConvention CallingConvention { get; set; }
+
+ ParameterDefinitionCollection Parameters { get; }
+ MethodReturnType ReturnType { get; }
+
+ int GetSentinel ();
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IReflectionStructureVisitable.cs b/mcs/tools/cil-strip/Mono.Cecil/IReflectionStructureVisitable.cs
new file mode 100644
index 00000000000..be6d54b1fc0
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IReflectionStructureVisitable.cs
@@ -0,0 +1,36 @@
+//
+// IReflectionStructureVisitable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal interface IReflectionStructureVisitable {
+
+ void Accept (IReflectionStructureVisitor visitor);
+ }
+}
+
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IReflectionStructureVisitor.cs b/mcs/tools/cil-strip/Mono.Cecil/IReflectionStructureVisitor.cs
new file mode 100644
index 00000000000..3f2e65d68b4
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IReflectionStructureVisitor.cs
@@ -0,0 +1,49 @@
+//
+// IReflectionStructureVisitor.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal interface IReflectionStructureVisitor {
+
+ void VisitAssemblyDefinition (AssemblyDefinition asm);
+ void VisitAssemblyNameDefinition (AssemblyNameDefinition name);
+ void VisitAssemblyNameReferenceCollection (AssemblyNameReferenceCollection names);
+ void VisitAssemblyNameReference (AssemblyNameReference name);
+ void VisitResourceCollection (ResourceCollection resources);
+ void VisitEmbeddedResource (EmbeddedResource res);
+ void VisitLinkedResource (LinkedResource res);
+ void VisitAssemblyLinkedResource (AssemblyLinkedResource res);
+ void VisitModuleDefinition (ModuleDefinition module);
+ void VisitModuleDefinitionCollection (ModuleDefinitionCollection modules);
+ void VisitModuleReference (ModuleReference module);
+ void VisitModuleReferenceCollection (ModuleReferenceCollection modules);
+
+ void TerminateAssemblyDefinition (AssemblyDefinition asm);
+ }
+}
+
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IReflectionVisitable.cs b/mcs/tools/cil-strip/Mono.Cecil/IReflectionVisitable.cs
new file mode 100644
index 00000000000..575f14f7485
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IReflectionVisitable.cs
@@ -0,0 +1,36 @@
+//
+// IReflectionVisitable.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal interface IReflectionVisitable {
+
+ void Accept (IReflectionVisitor visitor);
+ }
+}
+
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IReflectionVisitor.cs b/mcs/tools/cil-strip/Mono.Cecil/IReflectionVisitor.cs
new file mode 100644
index 00000000000..b1c991fc59c
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IReflectionVisitor.cs
@@ -0,0 +1,71 @@
+//
+// IReflectionVisitor.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal interface IReflectionVisitor {
+
+ void VisitModuleDefinition (ModuleDefinition module);
+ void VisitTypeDefinitionCollection (TypeDefinitionCollection types);
+ void VisitTypeDefinition (TypeDefinition type);
+ void VisitTypeReferenceCollection (TypeReferenceCollection refs);
+ void VisitTypeReference (TypeReference type);
+ void VisitMemberReferenceCollection (MemberReferenceCollection members);
+ void VisitMemberReference (MemberReference member);
+ void VisitInterfaceCollection (InterfaceCollection interfaces);
+ void VisitInterface (TypeReference interf);
+ void VisitExternTypeCollection (ExternTypeCollection externs);
+ void VisitExternType (TypeReference externType);
+ void VisitOverrideCollection (OverrideCollection meth);
+ void VisitOverride (MethodReference ov);
+ void VisitNestedTypeCollection (NestedTypeCollection nestedTypes);
+ void VisitNestedType (TypeDefinition nestedType);
+ void VisitParameterDefinitionCollection (ParameterDefinitionCollection parameters);
+ void VisitParameterDefinition (ParameterDefinition parameter);
+ void VisitMethodDefinitionCollection (MethodDefinitionCollection methods);
+ void VisitMethodDefinition (MethodDefinition method);
+ void VisitConstructorCollection (ConstructorCollection ctors);
+ void VisitConstructor (MethodDefinition ctor);
+ void VisitPInvokeInfo (PInvokeInfo pinvk);
+ void VisitEventDefinitionCollection (EventDefinitionCollection events);
+ void VisitEventDefinition (EventDefinition evt);
+ void VisitFieldDefinitionCollection (FieldDefinitionCollection fields);
+ void VisitFieldDefinition (FieldDefinition field);
+ void VisitPropertyDefinitionCollection (PropertyDefinitionCollection properties);
+ void VisitPropertyDefinition (PropertyDefinition property);
+ void VisitSecurityDeclarationCollection (SecurityDeclarationCollection secDecls);
+ void VisitSecurityDeclaration (SecurityDeclaration secDecl);
+ void VisitCustomAttributeCollection (CustomAttributeCollection customAttrs);
+ void VisitCustomAttribute (CustomAttribute customAttr);
+ void VisitGenericParameterCollection (GenericParameterCollection genparams);
+ void VisitGenericParameter (GenericParameter genparam);
+ void VisitMarshalSpec (MarshalSpec marshalSpec);
+
+ void TerminateModuleDefinition (ModuleDefinition module);
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/IRequireResolving.cs b/mcs/tools/cil-strip/Mono.Cecil/IRequireResolving.cs
new file mode 100644
index 00000000000..41bfc0d99ee
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/IRequireResolving.cs
@@ -0,0 +1,37 @@
+//
+// IRequireResolving.cs
+//
+// Author:
+// Jb Evain <jbevain@gmail.com>
+//
+// Copyright (C) 2006 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal interface IRequireResolving {
+
+ byte [] Blob { get; }
+ bool Resolved { get; }
+ bool Resolve ();
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ImportContext.cs b/mcs/tools/cil-strip/Mono.Cecil/ImportContext.cs
new file mode 100644
index 00000000000..bc41788edeb
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ImportContext.cs
@@ -0,0 +1,68 @@
+//
+// ImportContext.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2006 Evaluant RC S.A.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal class ImportContext {
+
+ GenericContext m_genContext;
+ IImporter m_importer;
+
+ public GenericContext GenericContext {
+ get { return m_genContext; }
+ set { m_genContext = value; }
+ }
+
+ public ImportContext (IImporter importer)
+ {
+ m_genContext = new GenericContext ();
+ m_importer = importer;
+ }
+
+ public ImportContext (IImporter importer, IGenericParameterProvider provider)
+ {
+ m_importer = importer;
+ m_genContext = new GenericContext (provider);
+ }
+
+ public TypeReference Import (TypeReference type)
+ {
+ return m_importer.ImportTypeReference (type, this);
+ }
+
+ public MethodReference Import (MethodReference meth)
+ {
+ return m_importer.ImportMethodReference (meth, this);
+ }
+
+ public FieldReference Import (FieldReference field)
+ {
+ return m_importer.ImportFieldReference (field, this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/InterfaceCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/InterfaceCollection.cs
new file mode 100644
index 00000000000..be0a3d2e832
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/InterfaceCollection.cs
@@ -0,0 +1,93 @@
+//
+// InterfaceCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Wed Sep 27 12:46:52 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class InterfaceCollection : CollectionBase, IReflectionVisitable {
+
+ TypeDefinition m_container;
+
+ public TypeReference this [int index] {
+ get { return List [index] as TypeReference; }
+ set { List [index] = value; }
+ }
+
+ public TypeDefinition Container {
+ get { return m_container; }
+ }
+
+ public InterfaceCollection (TypeDefinition container)
+ {
+ m_container = container;
+ }
+
+ public void Add (TypeReference value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (TypeReference value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (TypeReference value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, TypeReference value)
+ {
+ List.Insert (index, value);
+ }
+
+ public void Remove (TypeReference value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is TypeReference))
+ throw new ArgumentException ("Must be of type " + typeof (TypeReference).FullName);
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitInterfaceCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/LinkedResource.cs b/mcs/tools/cil-strip/Mono.Cecil/LinkedResource.cs
new file mode 100644
index 00000000000..9520769a5c6
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/LinkedResource.cs
@@ -0,0 +1,57 @@
+//
+// LinkedResource.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 - 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal sealed class LinkedResource : Resource {
+
+ byte [] m_hash;
+ string m_file;
+
+ public byte [] Hash {
+ get { return m_hash; }
+ set { m_hash = value; }
+ }
+
+ public string File {
+ get { return m_file; }
+ set { m_file = value; }
+ }
+
+ public LinkedResource (string name, ManifestResourceAttributes flags, string file) :
+ base (name, flags)
+ {
+ m_file = file;
+ }
+
+ public override void Accept (IReflectionStructureVisitor visitor)
+ {
+ visitor.VisitLinkedResource (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ManifestResourceAttributes.cs b/mcs/tools/cil-strip/Mono.Cecil/ManifestResourceAttributes.cs
new file mode 100644
index 00000000000..390c25bd9e0
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ManifestResourceAttributes.cs
@@ -0,0 +1,39 @@
+//
+// ManigestResourceAttributes.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ [Flags]
+ internal enum ManifestResourceAttributes {
+ VisibilityMask = 0x0007,
+ Public = 0x0001, // The resource is exported from the Assembly
+ Private = 0x0002 // The resource is private to the Assembly
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/MarshalSpec.cs b/mcs/tools/cil-strip/Mono.Cecil/MarshalSpec.cs
new file mode 100644
index 00000000000..c4fd81df9de
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/MarshalSpec.cs
@@ -0,0 +1,218 @@
+//
+// MarshalDesc.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ internal class MarshalSpec {
+
+ NativeType m_natIntr;
+ IHasMarshalSpec m_container;
+
+ public NativeType NativeIntrinsic {
+ get { return m_natIntr; }
+ set { m_natIntr = value; }
+ }
+
+ public IHasMarshalSpec Container {
+ get { return m_container; }
+ set { m_container = value; }
+ }
+
+ public MarshalSpec (NativeType natIntr, IHasMarshalSpec container)
+ {
+ m_natIntr = natIntr;
+ m_container = container;
+ }
+
+ public virtual void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitMarshalSpec (this);
+ }
+
+ public virtual MarshalSpec CloneInto (IHasMarshalSpec container)
+ {
+ return new MarshalSpec (m_natIntr, container);
+ }
+ }
+
+ internal sealed class ArrayMarshalSpec : MarshalSpec {
+
+ NativeType m_elemType;
+ int m_paramNum;
+ int m_elemMult;
+ int m_numElem;
+
+ public NativeType ElemType {
+ get { return m_elemType; }
+ set { m_elemType = value; }
+ }
+
+ public int ParamNum {
+ get { return m_paramNum; }
+ set { m_paramNum = value; }
+ }
+
+ public int ElemMult {
+ get { return m_elemMult; }
+ set { m_elemMult = value; }
+ }
+
+ public int NumElem {
+ get { return m_numElem; }
+ set { m_numElem = value; }
+ }
+
+ public ArrayMarshalSpec (IHasMarshalSpec container) : base (NativeType.ARRAY, container)
+ {
+ }
+
+ public override MarshalSpec CloneInto (IHasMarshalSpec container)
+ {
+ ArrayMarshalSpec spec = new ArrayMarshalSpec (container);
+ spec.m_elemType = m_elemType;
+ spec.m_paramNum = m_paramNum;
+ spec.m_elemMult = m_elemMult;
+ spec.m_numElem = m_numElem;
+ return spec;
+ }
+ }
+
+ internal sealed class CustomMarshalerSpec : MarshalSpec {
+
+ Guid m_guid;
+ string m_unmanagedType;
+ string m_managedType;
+ string m_cookie;
+
+ public Guid Guid {
+ get { return m_guid; }
+ set { m_guid = value; }
+ }
+
+ public String UnmanagedType {
+ get { return m_unmanagedType; }
+ set { m_unmanagedType = value; }
+ }
+
+ public string ManagedType {
+ get { return m_managedType; }
+ set { m_managedType = value; }
+ }
+
+ public string Cookie {
+ get { return m_cookie; }
+ set { m_cookie = value; }
+ }
+
+ public CustomMarshalerSpec (IHasMarshalSpec container) : base (NativeType.CUSTOMMARSHALER, container)
+ {
+ }
+
+ public override MarshalSpec CloneInto (IHasMarshalSpec container)
+ {
+ CustomMarshalerSpec spec = new CustomMarshalerSpec (container);
+ spec.m_guid = m_guid;
+ spec.m_unmanagedType = m_unmanagedType;
+ spec.m_managedType = m_managedType;
+ spec.m_cookie = m_cookie;
+ return spec;
+ }
+ }
+
+ internal sealed class SafeArraySpec : MarshalSpec {
+
+ private VariantType m_elemType;
+
+ public VariantType ElemType {
+ get { return m_elemType; }
+ set { m_elemType = value; }
+ }
+
+ public SafeArraySpec (IHasMarshalSpec container) : base (NativeType.SAFEARRAY, container)
+ {
+ }
+
+ public override MarshalSpec CloneInto(IHasMarshalSpec container)
+ {
+ SafeArraySpec spec = new SafeArraySpec (container);
+ spec.m_elemType = m_elemType;
+ return spec;
+ }
+ }
+
+ internal sealed class FixedArraySpec : MarshalSpec {
+
+ private int m_numElem;
+ private NativeType m_elemType;
+
+ public int NumElem {
+ get { return m_numElem; }
+ set { m_numElem = value; }
+ }
+
+ public NativeType ElemType {
+ get { return m_elemType; }
+ set { m_elemType = value; }
+ }
+
+ public FixedArraySpec (IHasMarshalSpec container) : base (NativeType.FIXEDARRAY, container)
+ {
+ }
+
+ public override MarshalSpec CloneInto (IHasMarshalSpec container)
+ {
+ FixedArraySpec spec = new FixedArraySpec (container);
+ spec.m_numElem = m_numElem;
+ spec.m_elemType = m_elemType;
+ return spec;
+ }
+ }
+
+ internal sealed class FixedSysStringSpec : MarshalSpec {
+
+ private int m_size;
+
+ public int Size {
+ get { return m_size; }
+ set { m_size = value; }
+ }
+
+ public FixedSysStringSpec (IHasMarshalSpec container) : base (NativeType.FIXEDSYSSTRING, container)
+ {
+ }
+
+ public override MarshalSpec CloneInto (IHasMarshalSpec container)
+ {
+ FixedSysStringSpec spec = new FixedSysStringSpec (container);
+ spec.m_size = m_size;
+ return spec;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/MemberReference.cs b/mcs/tools/cil-strip/Mono.Cecil/MemberReference.cs
new file mode 100644
index 00000000000..0e1f1944bac
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/MemberReference.cs
@@ -0,0 +1,82 @@
+//
+// MemberReference.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System.Collections;
+
+ using Mono.Cecil.Metadata;
+
+ internal abstract class MemberReference : IMemberReference {
+
+ string m_name;
+ TypeReference m_decType;
+ MetadataToken m_token;
+ IDictionary m_annotations;
+
+ public virtual string Name {
+ get { return m_name; }
+ set { m_name = value; }
+ }
+
+ public virtual TypeReference DeclaringType {
+ get { return m_decType; }
+ set { m_decType = value; }
+ }
+
+ public MetadataToken MetadataToken {
+ get { return m_token; }
+ set { m_token = value; }
+ }
+
+ IDictionary IAnnotationProvider.Annotations {
+ get {
+ if (m_annotations == null)
+ m_annotations = new Hashtable ();
+ return m_annotations;
+ }
+ }
+
+ public MemberReference (string name)
+ {
+ m_name = name;
+ }
+
+ public override string ToString ()
+ {
+ if (m_decType == null)
+ return m_name;
+
+ return string.Concat (m_decType.FullName, "::", m_name);
+ }
+
+ public virtual void Accept (IReflectionVisitor visitor)
+ {
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/MemberReferenceCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/MemberReferenceCollection.cs
new file mode 100644
index 00000000000..c91602506b4
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/MemberReferenceCollection.cs
@@ -0,0 +1,93 @@
+//
+// MemberReferenceCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Wed Sep 27 12:46:53 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class MemberReferenceCollection : CollectionBase, IReflectionVisitable {
+
+ ModuleDefinition m_container;
+
+ public MemberReference this [int index] {
+ get { return List [index] as MemberReference; }
+ set { List [index] = value; }
+ }
+
+ public ModuleDefinition Container {
+ get { return m_container; }
+ }
+
+ public MemberReferenceCollection (ModuleDefinition container)
+ {
+ m_container = container;
+ }
+
+ public void Add (MemberReference value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (MemberReference value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (MemberReference value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, MemberReference value)
+ {
+ List.Insert (index, value);
+ }
+
+ public void Remove (MemberReference value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is MemberReference))
+ throw new ArgumentException ("Must be of type " + typeof (MemberReference).FullName);
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitMemberReferenceCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/MetadataResolver.cs b/mcs/tools/cil-strip/Mono.Cecil/MetadataResolver.cs
new file mode 100644
index 00000000000..af014bc6083
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/MetadataResolver.cs
@@ -0,0 +1,231 @@
+//
+// MetadataResolver.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2008 Jb Evain (http://evain.net)
+// (C) 2008 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections;
+
+namespace Mono.Cecil {
+
+ class MetadataResolver {
+
+ AssemblyDefinition assembly;
+
+ public IAssemblyResolver AssemblyResolver {
+ get { return assembly.Resolver; }
+ }
+
+ public MetadataResolver (AssemblyDefinition assembly)
+ {
+ this.assembly = assembly;
+ }
+
+ public TypeDefinition Resolve (TypeReference type)
+ {
+ type = type.GetOriginalType ();
+
+ if (type is TypeDefinition)
+ return (TypeDefinition) type;
+
+ AssemblyNameReference reference = type.Scope as AssemblyNameReference;
+ if (reference != null) {
+ AssemblyDefinition assembly = AssemblyResolver.Resolve (reference);
+ if (assembly == null)
+ return null;
+
+ return assembly.MainModule.Types [type.FullName];
+ }
+
+ ModuleDefinition module = type.Scope as ModuleDefinition;
+ if (module != null)
+ return module.Types [type.FullName];
+
+ ModuleReference mod_reference = type.Scope as ModuleReference;
+ if (mod_reference != null) {
+ foreach (ModuleDefinition netmodule in type.Module.Assembly.Modules)
+ if (netmodule.Name == mod_reference.Name)
+ return netmodule.Types [type.FullName];
+ }
+
+ throw new NotImplementedException ();
+ }
+
+ public FieldDefinition Resolve (FieldReference field)
+ {
+ TypeDefinition type = Resolve (field.DeclaringType);
+ if (type == null)
+ return null;
+
+ return type.HasFields ? GetField (type.Fields, field) : null;
+ }
+
+ static FieldDefinition GetField (ICollection collection, FieldReference reference)
+ {
+ foreach (FieldDefinition field in collection) {
+ if (field.Name != reference.Name)
+ continue;
+
+ if (!AreSame (field.FieldType, reference.FieldType))
+ continue;
+
+ return field;
+ }
+
+ return null;
+ }
+
+ public MethodDefinition Resolve (MethodReference method)
+ {
+ TypeDefinition type = Resolve (method.DeclaringType);
+ if (type == null)
+ return null;
+
+ method = method.GetOriginalMethod ();
+ if (method.Name == MethodDefinition.Cctor || method.Name == MethodDefinition.Ctor)
+ return type.HasConstructors ? GetMethod (type.Constructors, method) : null;
+ else
+ return type.HasMethods ? GetMethod (type, method) : null;
+ }
+
+ MethodDefinition GetMethod (TypeDefinition type, MethodReference reference)
+ {
+ while (type != null) {
+ MethodDefinition method = GetMethod (type.Methods, reference);
+ if (method == null) {
+ if (type.BaseType == null)
+ return null;
+
+ type = Resolve (type.BaseType);
+ } else
+ return method;
+ }
+
+ return null;
+ }
+
+ static MethodDefinition GetMethod (ICollection collection, MethodReference reference)
+ {
+ foreach (MethodDefinition meth in collection) {
+ if (meth.Name != reference.Name)
+ continue;
+
+ if (!AreSame (meth.ReturnType.ReturnType, reference.ReturnType.ReturnType))
+ continue;
+
+ if (meth.HasParameters != reference.HasParameters)
+ continue;
+
+ if (!meth.HasParameters && !reference.HasParameters)
+ return meth; //both have no parameters hence meth is the good one
+
+ if (!AreSame (meth.Parameters, reference.Parameters))
+ continue;
+
+ return meth;
+ }
+
+ return null;
+ }
+
+ static bool AreSame (ParameterDefinitionCollection a, ParameterDefinitionCollection b)
+ {
+ if (a.Count != b.Count)
+ return false;
+
+ if (a.Count == 0)
+ return true;
+
+ for (int i = 0; i < a.Count; i++)
+ if (!AreSame (a [i].ParameterType, b [i].ParameterType))
+ return false;
+
+ return true;
+ }
+
+ static bool AreSame (ModType a, ModType b)
+ {
+ if (!AreSame (a.ModifierType, b.ModifierType))
+ return false;
+
+ return AreSame (a.ElementType, b.ElementType);
+ }
+
+ static bool AreSame (TypeSpecification a, TypeSpecification b)
+ {
+ if (a is GenericInstanceType)
+ return AreSame ((GenericInstanceType) a, (GenericInstanceType) b);
+
+ if (a is ModType)
+ return AreSame ((ModType) a, (ModType) b);
+
+ return AreSame (a.ElementType, b.ElementType);
+ }
+
+ static bool AreSame (GenericInstanceType a, GenericInstanceType b)
+ {
+ if (!AreSame (a.ElementType, b.ElementType))
+ return false;
+
+ if (a.GenericArguments.Count != b.GenericArguments.Count)
+ return false;
+
+ if (a.GenericArguments.Count == 0)
+ return true;
+
+ for (int i = 0; i < a.GenericArguments.Count; i++)
+ if (!AreSame (a.GenericArguments [i], b.GenericArguments [i]))
+ return false;
+
+ return true;
+ }
+
+ static bool AreSame (GenericParameter a, GenericParameter b)
+ {
+ return a.Position == b.Position;
+ }
+
+ static bool AreSame (TypeReference a, TypeReference b)
+ {
+ if (a is TypeSpecification || b is TypeSpecification) {
+ if (a.GetType () != b.GetType ())
+ return false;
+
+ return AreSame ((TypeSpecification) a, (TypeSpecification) b);
+ }
+
+ if (a is GenericParameter || b is GenericParameter) {
+ if (a.GetType () != b.GetType ())
+ return false;
+
+ return AreSame ((GenericParameter) a, (GenericParameter) b);
+ }
+
+ return a.FullName == b.FullName;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/MethodAttributes.cs b/mcs/tools/cil-strip/Mono.Cecil/MethodAttributes.cs
new file mode 100644
index 00000000000..55ee872f98d
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/MethodAttributes.cs
@@ -0,0 +1,66 @@
+//
+// MethodAttributes.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ [Flags]
+ internal enum MethodAttributes : ushort {
+ MemberAccessMask = 0x0007,
+ Compilercontrolled = 0x0000, // Member not referenceable
+ Private = 0x0001, // Accessible only by the parent type
+ FamANDAssem = 0x0002, // Accessible by sub-types only in this Assembly
+ Assem = 0x0003, // Accessibly by anyone in the Assembly
+ Family = 0x0004, // Accessible only by type and sub-types
+ FamORAssem = 0x0005, // Accessibly by sub-types anywhere, plus anyone in assembly
+ Public = 0x0006, // Accessibly by anyone who has visibility to this scope
+
+ Static = 0x0010, // Defined on type, else per instance
+ Final = 0x0020, // Method may not be overridden
+ Virtual = 0x0040, // Method is virtual
+ HideBySig = 0x0080, // Method hides by name+sig, else just by name
+
+ VtableLayoutMask = 0x0100, // Use this mask to retrieve vtable attributes
+ ReuseSlot = 0x0000, // Method reuses existing slot in vtable
+ NewSlot = 0x0100, // Method always gets a new slot in the vtable
+
+ Strict = 0x0200, // Method can only be overriden if also accessible
+ Abstract = 0x0400, // Method does not provide an implementation
+ SpecialName = 0x0800, // Method is special
+
+ // Interop Attributes
+ PInvokeImpl = 0x2000, // Implementation is forwarded through PInvoke
+ UnmanagedExport = 0x0008, // Reserved: shall be zero for conforming implementations
+
+ // Additional flags
+ RTSpecialName = 0x1000, // CLI provides 'special' behavior, depending upon the name of the method
+ HasSecurity = 0x4000, // Method has security associate with it
+ RequireSecObject = 0x8000 // Method calls another method containing security code
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/MethodCallingConvention.cs b/mcs/tools/cil-strip/Mono.Cecil/MethodCallingConvention.cs
new file mode 100644
index 00000000000..80ecd5814a2
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/MethodCallingConvention.cs
@@ -0,0 +1,40 @@
+//
+// MethodCallingConvention.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal enum MethodCallingConvention : byte {
+ Default = 0x0,
+ C = 0x1,
+ StdCall = 0x2,
+ ThisCall = 0x3,
+ FastCall = 0x4,
+ VarArg = 0x5,
+ Generic = 0x10
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/MethodDefinition.cs b/mcs/tools/cil-strip/Mono.Cecil/MethodDefinition.cs
new file mode 100644
index 00000000000..ca9045e947a
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/MethodDefinition.cs
@@ -0,0 +1,653 @@
+//
+// MethodDefinition.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using Mono.Cecil.Binary;
+ using Mono.Cecil.Cil;
+
+ internal sealed class MethodDefinition : MethodReference, IMemberDefinition,
+ IHasSecurity, ICustomAttributeProvider {
+
+ public const string Cctor = ".cctor";
+ public const string Ctor = ".ctor";
+
+ MethodAttributes m_attributes;
+ MethodImplAttributes m_implAttrs;
+ MethodSemanticsAttributes m_semAttrs;
+ SecurityDeclarationCollection m_secDecls;
+ CustomAttributeCollection m_customAttrs;
+
+ MethodBody m_body;
+ RVA m_rva;
+ OverrideCollection m_overrides;
+ PInvokeInfo m_pinvoke;
+ readonly ParameterDefinition m_this;
+
+ public MethodAttributes Attributes {
+ get { return m_attributes; }
+ set { m_attributes = value; }
+ }
+
+ public MethodImplAttributes ImplAttributes {
+ get { return m_implAttrs; }
+ set { m_implAttrs = value; }
+ }
+
+ public MethodSemanticsAttributes SemanticsAttributes {
+ get { return m_semAttrs; }
+ set { m_semAttrs = value; }
+ }
+
+ public bool HasSecurityDeclarations {
+ get { return (m_secDecls == null) ? false : (m_secDecls.Count > 0); }
+ }
+
+ public SecurityDeclarationCollection SecurityDeclarations {
+ get {
+ if (m_secDecls == null)
+ m_secDecls = new SecurityDeclarationCollection (this);
+
+ return m_secDecls;
+ }
+ }
+
+ public bool HasCustomAttributes {
+ get { return (m_customAttrs == null) ? false : (m_customAttrs.Count > 0); }
+ }
+
+ public CustomAttributeCollection CustomAttributes {
+ get {
+ if (m_customAttrs == null)
+ m_customAttrs = new CustomAttributeCollection (this);
+
+ return m_customAttrs;
+ }
+ }
+
+ public RVA RVA {
+ get { return m_rva; }
+ set { m_rva = value; }
+ }
+
+ public MethodBody Body {
+ get {
+ LoadBody ();
+ return m_body;
+ }
+ set { m_body = value; }
+ }
+
+ public PInvokeInfo PInvokeInfo {
+ get { return m_pinvoke; }
+ set { m_pinvoke = value; }
+ }
+
+ public bool HasOverrides {
+ get { return (m_overrides == null) ? false : (m_overrides.Count > 0); }
+ }
+
+ public OverrideCollection Overrides {
+ get {
+ if (m_overrides == null)
+ m_overrides = new OverrideCollection (this);
+
+ return m_overrides;
+ }
+ }
+
+ public ParameterDefinition This {
+ get { return m_this; }
+ }
+
+ #region MethodAttributes
+
+ public bool IsCompilerControlled {
+ get { return (m_attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Compilercontrolled; }
+ set {
+ if (value) {
+ m_attributes &= ~MethodAttributes.MemberAccessMask;
+ m_attributes |= MethodAttributes.Compilercontrolled;
+ } else
+ m_attributes &= ~(MethodAttributes.MemberAccessMask & MethodAttributes.Compilercontrolled);
+ }
+ }
+
+ public bool IsPrivate {
+ get { return (m_attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Private; }
+ set {
+ if (value) {
+ m_attributes &= ~MethodAttributes.MemberAccessMask;
+ m_attributes |= MethodAttributes.Private;
+ } else
+ m_attributes &= ~(MethodAttributes.MemberAccessMask & MethodAttributes.Private);
+ }
+ }
+
+ public bool IsFamilyAndAssembly {
+ get { return (m_attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.FamANDAssem; }
+ set {
+ if (value) {
+ m_attributes &= ~MethodAttributes.MemberAccessMask;
+ m_attributes |= MethodAttributes.FamANDAssem;
+ } else
+ m_attributes &= ~(MethodAttributes.MemberAccessMask & MethodAttributes.FamANDAssem);
+ }
+ }
+
+ public bool IsAssembly {
+ get { return (m_attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Assem; }
+ set {
+ if (value) {
+ m_attributes &= ~MethodAttributes.MemberAccessMask;
+ m_attributes |= MethodAttributes.Assem;
+ } else
+ m_attributes &= ~(MethodAttributes.MemberAccessMask & MethodAttributes.Assem);
+ }
+ }
+
+ public bool IsFamily {
+ get { return (m_attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Family; }
+ set {
+ if (value) {
+ m_attributes &= ~MethodAttributes.MemberAccessMask;
+ m_attributes |= MethodAttributes.Family;
+ } else
+ m_attributes &= ~(MethodAttributes.MemberAccessMask & MethodAttributes.Family);
+ }
+ }
+
+ public bool IsFamilyOrAssembly {
+ get { return (m_attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.FamORAssem; }
+ set {
+ if (value) {
+ m_attributes &= ~MethodAttributes.MemberAccessMask;
+ m_attributes |= MethodAttributes.FamORAssem;
+ } else
+ m_attributes &= ~(MethodAttributes.MemberAccessMask & MethodAttributes.FamORAssem);
+ }
+ }
+
+ public bool IsPublic {
+ get { return (m_attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Public; }
+ set {
+ if (value) {
+ m_attributes &= ~MethodAttributes.MemberAccessMask;
+ m_attributes |= MethodAttributes.Public;
+ } else
+ m_attributes &= ~(MethodAttributes.MemberAccessMask & MethodAttributes.Public);
+ }
+ }
+
+ public bool IsStatic {
+ get { return (m_attributes & MethodAttributes.Static) != 0; }
+ set {
+ if (value)
+ m_attributes |= MethodAttributes.Static;
+ else
+ m_attributes &= ~MethodAttributes.Static;
+ }
+ }
+
+ public bool IsFinal {
+ get { return (m_attributes & MethodAttributes.Final) != 0; }
+ set {
+ if (value)
+ m_attributes |= MethodAttributes.Final;
+ else
+ m_attributes &= ~MethodAttributes.Final;
+ }
+ }
+
+ public bool IsVirtual {
+ get { return (m_attributes & MethodAttributes.Virtual) != 0; }
+ set {
+ if (value)
+ m_attributes |= MethodAttributes.Virtual;
+ else
+ m_attributes &= ~MethodAttributes.Virtual;
+ }
+ }
+
+ public bool IsHideBySig {
+ get { return (m_attributes & MethodAttributes.HideBySig) != 0; }
+ set {
+ if (value)
+ m_attributes |= MethodAttributes.HideBySig;
+ else
+ m_attributes &= ~MethodAttributes.HideBySig;
+ }
+ }
+
+ public bool IsReuseSlot {
+ get { return (m_attributes & MethodAttributes.VtableLayoutMask) == MethodAttributes.ReuseSlot; }
+ set {
+ if (value) {
+ m_attributes &= ~MethodAttributes.VtableLayoutMask;
+ m_attributes |= MethodAttributes.ReuseSlot;
+ } else
+ m_attributes &= ~(MethodAttributes.VtableLayoutMask & MethodAttributes.ReuseSlot);
+ }
+ }
+
+ public bool IsNewSlot {
+ get { return (m_attributes & MethodAttributes.VtableLayoutMask) == MethodAttributes.NewSlot; }
+ set {
+ if (value) {
+ m_attributes &= ~MethodAttributes.VtableLayoutMask;
+ m_attributes |= MethodAttributes.NewSlot;
+ } else
+ m_attributes &= ~(MethodAttributes.VtableLayoutMask & MethodAttributes.NewSlot);
+ }
+ }
+
+ public bool IsStrict {
+ get { return (m_attributes & MethodAttributes.Strict) != 0; }
+ set {
+ if (value)
+ m_attributes |= MethodAttributes.Strict;
+ else
+ m_attributes &= ~MethodAttributes.Strict;
+ }
+ }
+
+ public bool IsAbstract {
+ get { return (m_attributes & MethodAttributes.Abstract) != 0; }
+ set {
+ if (value)
+ m_attributes |= MethodAttributes.Abstract;
+ else
+ m_attributes &= ~MethodAttributes.Abstract;
+ }
+ }
+
+ public bool IsSpecialName {
+ get { return (m_attributes & MethodAttributes.SpecialName) != 0; }
+ set {
+ if (value)
+ m_attributes |= MethodAttributes.SpecialName;
+ else
+ m_attributes &= ~MethodAttributes.SpecialName;
+ }
+ }
+
+ public bool IsPInvokeImpl {
+ get { return (m_attributes & MethodAttributes.PInvokeImpl) != 0; }
+ set {
+ if (value)
+ m_attributes |= MethodAttributes.PInvokeImpl;
+ else
+ m_attributes &= ~MethodAttributes.PInvokeImpl;
+ }
+ }
+
+ public bool IsUnmanagedExport {
+ get { return (m_attributes & MethodAttributes.UnmanagedExport) != 0; }
+ set {
+ if (value)
+ m_attributes |= MethodAttributes.UnmanagedExport;
+ else
+ m_attributes &= ~MethodAttributes.UnmanagedExport;
+ }
+ }
+
+ public bool IsRuntimeSpecialName {
+ get { return (m_attributes & MethodAttributes.RTSpecialName) != 0; }
+ set {
+ if (value)
+ m_attributes |= MethodAttributes.RTSpecialName;
+ else
+ m_attributes &= ~MethodAttributes.RTSpecialName;
+ }
+ }
+
+ public bool HasSecurity {
+ get { return (m_attributes & MethodAttributes.HasSecurity) != 0; }
+ set {
+ if (value)
+ m_attributes |= MethodAttributes.HasSecurity;
+ else
+ m_attributes &= ~MethodAttributes.HasSecurity;
+ }
+ }
+
+ #endregion
+
+ #region MethodImplAttributes
+
+ public bool IsIL {
+ get { return (m_implAttrs & MethodImplAttributes.CodeTypeMask) == MethodImplAttributes.IL; }
+ set {
+ if (value) {
+ m_implAttrs &= ~MethodImplAttributes.CodeTypeMask;
+ m_implAttrs |= MethodImplAttributes.IL;
+ } else
+ m_implAttrs &= ~(MethodImplAttributes.CodeTypeMask & MethodImplAttributes.IL);
+ }
+ }
+
+ public bool IsNative {
+ get { return (m_implAttrs & MethodImplAttributes.CodeTypeMask) == MethodImplAttributes.Native; }
+ set {
+ if (value) {
+ m_implAttrs &= ~MethodImplAttributes.CodeTypeMask;
+ m_implAttrs |= MethodImplAttributes.Native;
+ } else
+ m_implAttrs &= ~(MethodImplAttributes.CodeTypeMask & MethodImplAttributes.Native);
+ }
+ }
+
+ public bool IsRuntime {
+ get { return (m_implAttrs & MethodImplAttributes.CodeTypeMask) == MethodImplAttributes.Runtime; }
+ set {
+ if (value) {
+ m_implAttrs &= ~MethodImplAttributes.CodeTypeMask;
+ m_implAttrs |= MethodImplAttributes.Runtime;
+ } else
+ m_implAttrs &= ~(MethodImplAttributes.CodeTypeMask & MethodImplAttributes.Runtime);
+ }
+ }
+
+ public bool IsUnmanaged {
+ get { return (m_implAttrs & MethodImplAttributes.ManagedMask) == MethodImplAttributes.Unmanaged; }
+ set {
+ if (value) {
+ m_implAttrs &= ~MethodImplAttributes.ManagedMask;
+ m_implAttrs |= MethodImplAttributes.Unmanaged;
+ } else
+ m_implAttrs &= ~(MethodImplAttributes.ManagedMask & MethodImplAttributes.Unmanaged);
+ }
+ }
+
+ public bool IsManaged {
+ get { return (m_implAttrs & MethodImplAttributes.ManagedMask) == MethodImplAttributes.Managed; }
+ set {
+ if (value) {
+ m_implAttrs &= ~MethodImplAttributes.ManagedMask;
+ m_implAttrs |= MethodImplAttributes.Managed;
+ } else
+ m_implAttrs &= ~(MethodImplAttributes.ManagedMask & MethodImplAttributes.Managed);
+ }
+ }
+
+ public bool IsForwardRef {
+ get { return (m_implAttrs & MethodImplAttributes.ForwardRef) != 0; }
+ set {
+ if (value)
+ m_implAttrs |= MethodImplAttributes.ForwardRef;
+ else
+ m_implAttrs &= ~MethodImplAttributes.ForwardRef;
+ }
+ }
+
+ public bool IsPreserveSig {
+ get { return (m_implAttrs & MethodImplAttributes.PreserveSig) != 0; }
+ set {
+ if (value)
+ m_implAttrs |= MethodImplAttributes.PreserveSig;
+ else
+ m_implAttrs &= ~MethodImplAttributes.PreserveSig;
+ }
+ }
+
+ public bool IsInternalCall {
+ get { return (m_implAttrs & MethodImplAttributes.InternalCall) != 0; }
+ set {
+ if (value)
+ m_implAttrs |= MethodImplAttributes.InternalCall;
+ else
+ m_implAttrs &= ~MethodImplAttributes.InternalCall;
+ }
+ }
+
+ public bool IsSynchronized {
+ get { return (m_implAttrs & MethodImplAttributes.Synchronized) != 0; }
+ set {
+ if (value)
+ m_implAttrs |= MethodImplAttributes.Synchronized;
+ else
+ m_implAttrs &= ~MethodImplAttributes.Synchronized;
+ }
+ }
+
+ public bool NoInlining {
+ get { return (m_implAttrs & MethodImplAttributes.NoInlining) != 0; }
+ set {
+ if (value)
+ m_implAttrs |= MethodImplAttributes.NoInlining;
+ else
+ m_implAttrs &= ~MethodImplAttributes.NoInlining;
+ }
+ }
+
+ #endregion
+
+ #region MethodSemanticsAttributes
+ public bool IsSetter {
+ get { return (m_semAttrs & MethodSemanticsAttributes.Setter) != 0; }
+ set {
+ if (value)
+ m_semAttrs |= MethodSemanticsAttributes.Setter;
+ else
+ m_semAttrs &= ~MethodSemanticsAttributes.Setter;
+ }
+ }
+
+ public bool IsGetter {
+ get { return (m_semAttrs & MethodSemanticsAttributes.Getter) != 0; }
+ set {
+ if (value)
+ m_semAttrs |= MethodSemanticsAttributes.Getter;
+ else
+ m_semAttrs &= ~MethodSemanticsAttributes.Getter;
+ }
+ }
+
+ public bool IsOther {
+ get { return (m_semAttrs & MethodSemanticsAttributes.Other) != 0; }
+ set {
+ if (value)
+ m_semAttrs |= MethodSemanticsAttributes.Other;
+ else
+ m_semAttrs &= ~MethodSemanticsAttributes.Other;
+ }
+ }
+
+ public bool IsAddOn {
+ get { return (m_semAttrs & MethodSemanticsAttributes.AddOn) != 0; }
+ set {
+ if (value)
+ m_semAttrs |= MethodSemanticsAttributes.AddOn;
+ else
+ m_semAttrs &= ~MethodSemanticsAttributes.AddOn;
+ }
+ }
+
+ public bool IsRemoveOn {
+ get { return (m_semAttrs & MethodSemanticsAttributes.RemoveOn) != 0; }
+ set {
+ if (value)
+ m_semAttrs |= MethodSemanticsAttributes.RemoveOn;
+ else
+ m_semAttrs &= ~MethodSemanticsAttributes.RemoveOn;
+ }
+ }
+
+ public bool IsFire {
+ get { return (m_semAttrs & MethodSemanticsAttributes.Fire) != 0; }
+ set {
+ if (value)
+ m_semAttrs |= MethodSemanticsAttributes.Fire;
+ else
+ m_semAttrs &= ~MethodSemanticsAttributes.Fire;
+ }
+ }
+
+ #endregion
+
+ public bool IsConstructor {
+ get {
+ return this.IsRuntimeSpecialName && this.IsSpecialName &&
+ (this.Name == Cctor || this.Name == Ctor);
+ }
+ }
+
+ public bool HasBody {
+ get {
+ return (m_attributes & MethodAttributes.Abstract) == 0 &&
+ (m_attributes & MethodAttributes.PInvokeImpl) == 0 &&
+ (m_implAttrs & MethodImplAttributes.InternalCall) == 0 &&
+ (m_implAttrs & MethodImplAttributes.Native) == 0 &&
+ (m_implAttrs & MethodImplAttributes.Unmanaged) == 0 &&
+ (m_implAttrs & MethodImplAttributes.Runtime) == 0;
+ }
+ }
+
+ public new TypeDefinition DeclaringType {
+ get { return (TypeDefinition) base.DeclaringType; }
+ set { base.DeclaringType = value; }
+ }
+
+ public MethodDefinition (string name, RVA rva,
+ MethodAttributes attrs, MethodImplAttributes implAttrs,
+ bool hasThis, bool explicitThis, MethodCallingConvention callConv) :
+ base (name, hasThis, explicitThis, callConv)
+ {
+ m_rva = rva;
+ m_attributes = attrs;
+ m_implAttrs = implAttrs;
+
+ if (!IsStatic)
+ m_this = new ParameterDefinition ("this", 0, (ParameterAttributes) 0, null);
+ }
+
+ internal MethodDefinition (string name, MethodAttributes attrs) : base (name)
+ {
+ m_attributes = attrs;
+
+ this.HasThis = !this.IsStatic;
+ if (!IsStatic)
+ m_this = new ParameterDefinition ("this", 0, (ParameterAttributes) 0, null);
+ }
+
+ public MethodDefinition (string name, MethodAttributes attrs, TypeReference returnType) :
+ this (name, attrs)
+ {
+ this.ReturnType.ReturnType = returnType;
+ }
+
+ internal void LoadBody ()
+ {
+ if (m_body == null && this.HasBody) {
+ m_body = new MethodBody (this);
+
+ ModuleDefinition module = DeclaringType != null ? DeclaringType.Module : null;
+
+ if (module != null && m_rva != RVA.Zero)
+ module.Controller.Reader.Code.VisitMethodBody (m_body);
+ }
+ }
+
+ public override MethodDefinition Resolve ()
+ {
+ return this;
+ }
+
+ public MethodDefinition Clone ()
+ {
+ return Clone (this, new ImportContext (NullReferenceImporter.Instance, this));
+ }
+
+ internal static MethodDefinition Clone (MethodDefinition meth, ImportContext context)
+ {
+ MethodDefinition nm = new MethodDefinition (
+ meth.Name,
+ RVA.Zero,
+ meth.Attributes,
+ meth.ImplAttributes,
+ meth.HasThis,
+ meth.ExplicitThis,
+ meth.CallingConvention);
+
+ MethodReference contextMethod = context.GenericContext.Method;
+
+ context.GenericContext.Method = nm;
+
+ GenericParameter.CloneInto (meth, nm, context);
+
+ nm.ReturnType.ReturnType = context.Import (meth.ReturnType.ReturnType);
+
+ if (meth.ReturnType.Parameter != null) {
+ nm.ReturnType.Parameter = ParameterDefinition.Clone (meth.ReturnType.Parameter, context);
+ nm.ReturnType.Parameter.Method = nm;
+ }
+
+ if (meth.PInvokeInfo != null)
+ nm.PInvokeInfo = meth.PInvokeInfo; // TODO: import module ?
+
+ if (meth.HasParameters) {
+ foreach (ParameterDefinition param in meth.Parameters)
+ nm.Parameters.Add (ParameterDefinition.Clone (param, context));
+ }
+ if (meth.HasOverrides) {
+ foreach (MethodReference ov in meth.Overrides)
+ nm.Overrides.Add (context.Import (ov));
+ }
+ if (meth.HasCustomAttributes) {
+ foreach (CustomAttribute ca in meth.CustomAttributes)
+ nm.CustomAttributes.Add (CustomAttribute.Clone (ca, context));
+ }
+ if (meth.HasSecurityDeclarations) {
+ foreach (SecurityDeclaration sec in meth.SecurityDeclarations)
+ nm.SecurityDeclarations.Add (SecurityDeclaration.Clone (sec));
+ }
+
+ if (meth.Body != null)
+ nm.Body = MethodBody.Clone (meth.Body, nm, context);
+
+ context.GenericContext.Method = contextMethod;
+
+ return nm;
+ }
+
+ public override void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitMethodDefinition (this);
+
+ this.GenericParameters.Accept (visitor);
+ this.Parameters.Accept (visitor);
+
+ if (this.PInvokeInfo != null)
+ this.PInvokeInfo.Accept (visitor);
+
+ this.SecurityDeclarations.Accept (visitor);
+ this.Overrides.Accept (visitor);
+ this.CustomAttributes.Accept (visitor);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/MethodDefinitionCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/MethodDefinitionCollection.cs
new file mode 100644
index 00000000000..0042aa1d6bd
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/MethodDefinitionCollection.cs
@@ -0,0 +1,185 @@
+//
+// MethodDefinitionCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Fri Mar 30 18:43:56 +0200 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class MethodDefinitionCollection : CollectionBase, IReflectionVisitable {
+
+ TypeDefinition m_container;
+
+ public MethodDefinition this [int index] {
+ get { return List [index] as MethodDefinition; }
+ set { List [index] = value; }
+ }
+
+ public TypeDefinition Container {
+ get { return m_container; }
+ }
+
+ public MethodDefinitionCollection (TypeDefinition container)
+ {
+ m_container = container;
+ }
+
+ public void Add (MethodDefinition value)
+ {
+ Attach (value);
+
+ List.Add (value);
+ }
+
+
+ public new void Clear ()
+ {
+ foreach (MethodDefinition item in this)
+ Detach (item);
+
+ base.Clear ();
+ }
+
+ public bool Contains (MethodDefinition value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (MethodDefinition value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, MethodDefinition value)
+ {
+ Attach (value);
+
+ List.Insert (index, value);
+ }
+
+ public void Remove (MethodDefinition value)
+ {
+ List.Remove (value);
+
+ Detach (value);
+ }
+
+
+ public new void RemoveAt (int index)
+ {
+ MethodDefinition item = this [index];
+ Remove (item);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is MethodDefinition))
+ throw new ArgumentException ("Must be of type " + typeof (MethodDefinition).FullName);
+ }
+
+ public MethodDefinition [] GetMethod (string name)
+ {
+ ArrayList ret = new ArrayList ();
+ foreach (MethodDefinition meth in this)
+ if (meth.Name == name)
+ ret.Add (meth);
+
+ return ret.ToArray (typeof (MethodDefinition)) as MethodDefinition [];
+ }
+
+ internal MethodDefinition GetMethodInternal (string name, IList parameters)
+ {
+ foreach (MethodDefinition meth in this) {
+ if (meth.Name != name || meth.Parameters.Count != parameters.Count)
+ continue;
+
+ bool match = true;
+ for (int i = 0; i < parameters.Count; i++) {
+ string pname;
+ object param = parameters [i];
+ if (param is Type)
+ pname = ReflectionHelper.GetTypeSignature (param as Type);
+ else if (param is TypeReference)
+ pname = (param as TypeReference).FullName;
+ else if (param is ParameterDefinition)
+ pname = (param as ParameterDefinition).ParameterType.FullName;
+ else
+ throw new NotSupportedException ();
+
+ if (meth.Parameters [i].ParameterType.FullName != pname) {
+ match = false;
+ break;
+ }
+ }
+
+ if (match)
+ return meth;
+ }
+
+ return null;
+ }
+
+ public MethodDefinition GetMethod (string name, Type [] parameters)
+ {
+ return GetMethodInternal (name, parameters);
+ }
+
+ public MethodDefinition GetMethod (string name, TypeReference [] parameters)
+ {
+ return GetMethodInternal (name, parameters);
+ }
+
+ public MethodDefinition GetMethod (string name, ParameterDefinitionCollection parameters)
+ {
+ return GetMethodInternal (name, parameters);
+ }
+
+ void Attach (MemberReference member)
+ {
+ if (member.DeclaringType != null)
+ throw new ReflectionException ("Member already attached, clone it instead");
+
+ member.DeclaringType = m_container;
+ }
+
+ void Detach (MemberReference member)
+ {
+ member.DeclaringType = null;
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitMethodDefinitionCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/MethodImplAttributes.cs b/mcs/tools/cil-strip/Mono.Cecil/MethodImplAttributes.cs
new file mode 100644
index 00000000000..7e43d4ed848
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/MethodImplAttributes.cs
@@ -0,0 +1,53 @@
+//
+// MethodImplAttributes.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ [Flags]
+ internal enum MethodImplAttributes : ushort {
+ CodeTypeMask = 0x0003,
+ IL = 0x0000, // Method impl is CIL
+ Native = 0x0001, // Method impl is native
+ OPTIL = 0x0002, // Reserved: shall be zero in conforming implementations
+ Runtime = 0x0003, // Method impl is provided by the runtime
+
+ ManagedMask = 0x0004, // Flags specifying whether the code is managed or unmanaged
+ Unmanaged = 0x0004, // Method impl is unmanaged, otherwise managed
+ Managed = 0x0000, // Method impl is managed
+
+ // Implementation info and interop
+ ForwardRef = 0x0010, // Indicates method is defined; used primarily in merge scenarios
+ PreserveSig = 0x0080, // Reserved: conforming implementations may ignore
+ InternalCall = 0x1000, // Reserved: shall be zero in conforming implementations
+ Synchronized = 0x0020, // Method is single threaded through the body
+ NoInlining = 0x0008, // Method may not be inlined
+ MaxMethodImplVal = 0xffff // Range check value
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/MethodReference.cs b/mcs/tools/cil-strip/Mono.Cecil/MethodReference.cs
new file mode 100644
index 00000000000..84984acd81f
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/MethodReference.cs
@@ -0,0 +1,158 @@
+//
+// MethodReference.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 - 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System.Text;
+
+ internal class MethodReference : MemberReference, IMethodSignature, IGenericParameterProvider {
+
+ ParameterDefinitionCollection m_parameters;
+ MethodReturnType m_returnType;
+
+ bool m_hasThis;
+ bool m_explicitThis;
+ MethodCallingConvention m_callConv;
+ GenericParameterCollection m_genparams;
+
+ public virtual bool HasThis {
+ get { return m_hasThis; }
+ set { m_hasThis = value; }
+ }
+
+ public virtual bool ExplicitThis {
+ get { return m_explicitThis; }
+ set { m_explicitThis = value; }
+ }
+
+ public virtual MethodCallingConvention CallingConvention {
+ get { return m_callConv; }
+ set { m_callConv = value; }
+ }
+
+ public virtual bool HasParameters {
+ get { return (m_parameters == null) ? false : (m_parameters.Count > 0); }
+ }
+
+ public virtual ParameterDefinitionCollection Parameters {
+ get {
+ if (m_parameters == null)
+ m_parameters = new ParameterDefinitionCollection (this);
+ return m_parameters;
+ }
+ }
+
+ public bool HasGenericParameters {
+ get { return (m_genparams == null) ? false : (m_genparams.Count > 0); }
+ }
+
+ public GenericParameterCollection GenericParameters {
+ get {
+ if (m_genparams == null)
+ m_genparams = new GenericParameterCollection (this);
+ return m_genparams;
+ }
+ }
+
+ public virtual MethodReturnType ReturnType {
+ get { return m_returnType;}
+ set { m_returnType = value; }
+ }
+
+ internal MethodReference (string name, bool hasThis,
+ bool explicitThis, MethodCallingConvention callConv) : this (name)
+ {
+ m_parameters = new ParameterDefinitionCollection (this);
+ m_hasThis = hasThis;
+ m_explicitThis = explicitThis;
+ m_callConv = callConv;
+ }
+
+ internal MethodReference (string name) : base (name)
+ {
+ m_returnType = new MethodReturnType (null);
+ }
+
+ public MethodReference (string name,
+ TypeReference declaringType, TypeReference returnType,
+ bool hasThis, bool explicitThis, MethodCallingConvention callConv) :
+ this (name, hasThis, explicitThis, callConv)
+ {
+ this.DeclaringType = declaringType;
+ this.ReturnType.ReturnType = returnType;
+ }
+
+ public virtual MethodDefinition Resolve ()
+ {
+ TypeReference declaringType = DeclaringType;
+ if (declaringType == null)
+ return null;
+
+ return declaringType.Module.Resolver.Resolve (this);
+ }
+
+ public virtual MethodReference GetOriginalMethod ()
+ {
+ return this;
+ }
+
+ public int GetSentinel ()
+ {
+ if (HasParameters) {
+ for (int i = 0; i < Parameters.Count; i++)
+ if (Parameters [i].ParameterType is SentinelType)
+ return i;
+ }
+ return -1;
+ }
+
+ public override string ToString ()
+ {
+ int sentinel = GetSentinel ();
+
+ StringBuilder sb = new StringBuilder ();
+ sb.Append (m_returnType.ReturnType.FullName);
+ sb.Append (" ");
+ sb.Append (base.ToString ());
+ sb.Append ("(");
+ if (this.HasParameters) {
+ for (int i = 0; i < this.Parameters.Count; i++) {
+ if (i > 0)
+ sb.Append (",");
+
+ if (i == sentinel)
+ sb.Append ("...,");
+
+ sb.Append (this.Parameters [i].ParameterType.FullName);
+ }
+ }
+ sb.Append (")");
+ return sb.ToString ();
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/MethodReturnType.cs b/mcs/tools/cil-strip/Mono.Cecil/MethodReturnType.cs
new file mode 100644
index 00000000000..d39b8596a08
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/MethodReturnType.cs
@@ -0,0 +1,101 @@
+//
+// MethodReturnType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+using Mono.Cecil.Metadata;
+
+namespace Mono.Cecil {
+
+ internal sealed class MethodReturnType : ICustomAttributeProvider, IHasMarshalSpec, IHasConstant {
+
+ MethodReference m_method;
+ ParameterDefinition m_param;
+
+ TypeReference m_returnType;
+
+ public MethodReference Method {
+ get { return m_method; }
+ set { m_method = value; }
+ }
+
+ public TypeReference ReturnType {
+ get { return m_returnType; }
+ set { m_returnType = value; }
+ }
+
+ internal ParameterDefinition Parameter {
+ get {
+ if (m_param == null) {
+ m_param = new ParameterDefinition (m_returnType);
+ m_param.Method = m_method;
+ }
+
+ return m_param;
+ }
+ set { m_param = value; }
+ }
+
+ public MetadataToken MetadataToken {
+ get { return Parameter.MetadataToken; }
+ set { Parameter.MetadataToken = value; }
+ }
+
+ public bool HasCustomAttributes {
+ get { return m_param != null && m_param.HasCustomAttributes; }
+ }
+
+ public CustomAttributeCollection CustomAttributes {
+ get { return Parameter.CustomAttributes; }
+ }
+
+ public bool HasConstant {
+ get { return m_param != null && m_param.HasConstant; }
+ }
+
+ public object Constant {
+ get { return Parameter.Constant; }
+ set { Parameter.Constant = value; }
+ }
+
+ public MarshalSpec MarshalSpec {
+ get { return Parameter.MarshalSpec; }
+ set { Parameter.MarshalSpec = value; }
+ }
+
+ public MethodReturnType (TypeReference retType)
+ {
+ m_returnType = retType;
+ }
+
+ public override string ToString ()
+ {
+ return String.Format ("[return: {0}]", m_returnType);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/MethodSemanticsAttributes.cs b/mcs/tools/cil-strip/Mono.Cecil/MethodSemanticsAttributes.cs
new file mode 100644
index 00000000000..232b27a2ac2
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/MethodSemanticsAttributes.cs
@@ -0,0 +1,42 @@
+//
+// MethodSemanticsAttributes.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ [Flags]
+ internal enum MethodSemanticsAttributes : ushort {
+ Setter = 0x0001, // Setter for property
+ Getter = 0x0002, // Getter for property
+ Other = 0x0004, // Other method for property or event
+ AddOn = 0x0008, // AddOn method for event
+ RemoveOn = 0x0010, // RemoveOn method for event
+ Fire = 0x0020 // Fire method for event
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/MethodSpecification.cs b/mcs/tools/cil-strip/Mono.Cecil/MethodSpecification.cs
new file mode 100644
index 00000000000..97e2679f1ff
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/MethodSpecification.cs
@@ -0,0 +1,90 @@
+//
+// MethodSpecification.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ internal abstract class MethodSpecification : MethodReference {
+
+ MethodReference m_elementMethod;
+
+ public MethodReference ElementMethod {
+ get { return m_elementMethod; }
+ set { m_elementMethod = value; }
+ }
+
+ public override string Name {
+ get { return m_elementMethod.Name; }
+ set { throw new InvalidOperationException (); }
+ }
+
+ public override MethodCallingConvention CallingConvention {
+ get { return m_elementMethod.CallingConvention; }
+ set { throw new InvalidOperationException (); }
+ }
+
+ public override bool HasThis {
+ get { return m_elementMethod.HasThis; }
+ set { throw new InvalidOperationException (); }
+ }
+
+ public override bool ExplicitThis {
+ get { return m_elementMethod.ExplicitThis; }
+ set { throw new InvalidOperationException (); }
+ }
+
+ public override MethodReturnType ReturnType {
+ get { return m_elementMethod.ReturnType; }
+ set { throw new InvalidOperationException (); }
+ }
+
+ public override TypeReference DeclaringType {
+ get { return m_elementMethod.DeclaringType; }
+ set { throw new InvalidOperationException (); }
+ }
+
+ public override bool HasParameters {
+ get { return m_elementMethod.HasParameters; }
+ }
+
+ public override ParameterDefinitionCollection Parameters {
+ get { return m_elementMethod.Parameters; }
+ }
+
+ internal MethodSpecification (MethodReference elemMethod) : base (string.Empty)
+ {
+ m_elementMethod = elemMethod;
+ }
+
+ public override MethodReference GetOriginalMethod()
+ {
+ return m_elementMethod.GetOriginalMethod ();
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/Modifiers.cs b/mcs/tools/cil-strip/Mono.Cecil/Modifiers.cs
new file mode 100644
index 00000000000..3bab6afbc03
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/Modifiers.cs
@@ -0,0 +1,87 @@
+//
+// Modifiers.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal abstract class ModType : TypeSpecification {
+
+ TypeReference m_modifierType;
+
+ public TypeReference ModifierType {
+ get { return m_modifierType; }
+ set { m_modifierType = value; }
+ }
+
+ public override string Name
+ {
+ get { return string.Concat (base.Name, Suffix ()); }
+ }
+
+ public override string FullName
+ {
+ get { return string.Concat (base.FullName, Suffix ()); }
+ }
+
+ string Suffix ()
+ {
+ return string.Concat (" ", ModifierName, "(", this.ModifierType.FullName, ")");
+ }
+
+ protected abstract string ModifierName {
+ get;
+ }
+
+ public ModType (TypeReference elemType, TypeReference modType) : base (elemType)
+ {
+ m_modifierType = modType;
+ }
+ }
+
+ internal sealed class ModifierOptional : ModType {
+
+ protected override string ModifierName {
+ get { return "modopt"; }
+ }
+
+ public ModifierOptional (TypeReference elemType, TypeReference modType) : base (elemType, modType)
+ {
+ }
+
+ }
+
+ internal sealed class ModifierRequired : ModType {
+
+ protected override string ModifierName {
+ get { return "modreq"; }
+ }
+
+ public ModifierRequired (TypeReference elemType, TypeReference modType) : base (elemType, modType)
+ {
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ModuleDefinition.cs b/mcs/tools/cil-strip/Mono.Cecil/ModuleDefinition.cs
new file mode 100644
index 00000000000..c7f4a0bb62a
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ModuleDefinition.cs
@@ -0,0 +1,601 @@
+//
+// ModuleDefinition.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using SR = System.Reflection;
+ using SS = System.Security;
+ using SSP = System.Security.Permissions;
+ using System.Text;
+
+ using Mono.Cecil.Cil;
+ using Mono.Cecil.Binary;
+ using Mono.Cecil.Metadata;
+
+ internal sealed class ModuleDefinition : ModuleReference, ICustomAttributeProvider, IMetadataScope,
+ IReflectionStructureVisitable, IReflectionVisitable {
+
+ Guid m_mvid;
+ bool m_main;
+ bool m_manifestOnly;
+
+ AssemblyNameReferenceCollection m_asmRefs;
+ ModuleReferenceCollection m_modRefs;
+ ResourceCollection m_res;
+ TypeDefinitionCollection m_types;
+ TypeReferenceCollection m_refs;
+ ExternTypeCollection m_externs;
+ MemberReferenceCollection m_members;
+ CustomAttributeCollection m_customAttrs;
+
+ AssemblyDefinition m_asm;
+ Image m_image;
+
+ ImageReader m_imgReader;
+ ReflectionController m_controller;
+ MetadataResolver m_resolver;
+ SecurityDeclarationReader m_secReader;
+
+ public Guid Mvid {
+ get { return m_mvid; }
+ set { m_mvid = value; }
+ }
+
+ public bool Main {
+ get { return m_main; }
+ set { m_main = value; }
+ }
+
+ public AssemblyNameReferenceCollection AssemblyReferences {
+ get { return m_asmRefs; }
+ }
+
+ public ModuleReferenceCollection ModuleReferences {
+ get { return m_modRefs; }
+ }
+
+ public ResourceCollection Resources {
+ get { return m_res; }
+ }
+
+ public TypeDefinitionCollection Types {
+ get { return m_types; }
+ }
+
+ public TypeReferenceCollection TypeReferences {
+ get { return m_refs; }
+ }
+
+ public MemberReferenceCollection MemberReferences {
+ get { return m_members; }
+ }
+
+ public ExternTypeCollection ExternTypes {
+ get {
+ if (m_externs == null)
+ m_externs = new ExternTypeCollection (this);
+
+ return m_externs;
+ }
+ }
+
+ public bool HasCustomAttributes {
+ get { return (m_customAttrs == null) ? false : (m_customAttrs.Count > 0); }
+ }
+
+ public CustomAttributeCollection CustomAttributes {
+ get {
+ if (m_customAttrs == null)
+ m_customAttrs = new CustomAttributeCollection (this);
+
+ return m_customAttrs;
+ }
+ }
+
+ public AssemblyDefinition Assembly {
+ get { return m_asm; }
+ }
+
+ internal ReflectionController Controller {
+ get { return m_controller; }
+ }
+
+ internal MetadataResolver Resolver {
+ get { return m_resolver; }
+ }
+
+ internal ImageReader ImageReader {
+ get { return m_imgReader; }
+ }
+
+ public Image Image {
+ get { return m_image; }
+ set {
+ m_image = value;
+ m_secReader = null;
+ }
+ }
+
+ public ModuleDefinition (string name, AssemblyDefinition asm) :
+ this (name, asm, null, false)
+ {
+ }
+
+ public ModuleDefinition (string name, AssemblyDefinition asm, bool main) :
+ this (name, asm, null, main)
+ {
+ }
+
+ internal ModuleDefinition (string name, AssemblyDefinition asm, StructureReader reader, bool main) : base (name)
+ {
+ if (asm == null)
+ throw new ArgumentNullException ("asm");
+ if (name == null || name.Length == 0)
+ throw new ArgumentNullException ("name");
+
+ m_asm = asm;
+ m_main = main;
+#if !CF_1_0
+ m_mvid = Guid.NewGuid ();
+#endif
+ if (reader != null) {
+ m_image = reader.Image;
+ m_imgReader = reader.ImageReader;
+ m_manifestOnly = reader.ManifestOnly;
+ } else
+ m_image = Image.CreateImage ();
+
+ m_modRefs = new ModuleReferenceCollection (this);
+ m_asmRefs = new AssemblyNameReferenceCollection (this);
+ m_res = new ResourceCollection (this);
+ m_types = new TypeDefinitionCollection (this);
+ m_refs = new TypeReferenceCollection (this);
+ m_members = new MemberReferenceCollection (this);
+
+ m_controller = new ReflectionController (this);
+ m_resolver = new MetadataResolver (asm);
+ }
+
+ public IMetadataTokenProvider LookupByToken (MetadataToken token)
+ {
+ return m_controller.Reader.LookupByToken (token);
+ }
+
+ public IMetadataTokenProvider LookupByToken (TokenType table, int rid)
+ {
+ return LookupByToken (new MetadataToken (table, (uint) rid));
+ }
+
+ void CheckContext (TypeDefinition context)
+ {
+ if (context.Module != this)
+ throw new ArgumentException ("The context parameter does not belongs to this module");
+
+ CheckGenericParameterProvider (context);
+ }
+
+ void CheckContext (MethodDefinition context)
+ {
+ CheckGenericParameterProvider (context);
+ }
+
+ static void CheckGenericParameterProvider (IGenericParameterProvider context)
+ {
+ if (context == null)
+ throw new ArgumentNullException ("context");
+ if (context.GenericParameters.Count == 0)
+ throw new ArgumentException ("The context parameter is not a generic type");
+ }
+
+ ImportContext GetContext ()
+ {
+ return new ImportContext (m_controller.Importer);
+ }
+
+ static ImportContext GetContext (IImporter importer)
+ {
+ return new ImportContext (importer);
+ }
+
+ ImportContext GetContext (TypeDefinition context)
+ {
+ return new ImportContext (m_controller.Importer, context);
+ }
+
+ ImportContext GetContext (MethodDefinition context)
+ {
+ return new ImportContext (m_controller.Importer, context);
+ }
+
+ static ImportContext GetContext (IImporter importer, TypeDefinition context)
+ {
+ return new ImportContext (importer, context);
+ }
+
+ public TypeReference Import (Type type)
+ {
+ if (type == null)
+ throw new ArgumentNullException ("type");
+
+ return m_controller.Helper.ImportSystemType (type, GetContext ());
+ }
+
+ public TypeReference Import (Type type, TypeDefinition context)
+ {
+ if (type == null)
+ throw new ArgumentNullException ("type");
+ CheckContext (context);
+
+ return m_controller.Helper.ImportSystemType (type, GetContext (context));
+ }
+
+ public TypeReference Import (Type type, MethodDefinition context)
+ {
+ if (type == null)
+ throw new ArgumentNullException ("type");
+ CheckContext (context);
+
+ return m_controller.Helper.ImportSystemType (type, GetContext (context));
+ }
+
+ public MethodReference Import (SR.MethodBase meth)
+ {
+ if (meth == null)
+ throw new ArgumentNullException ("meth");
+
+ if (meth is SR.ConstructorInfo)
+ return m_controller.Helper.ImportConstructorInfo (
+ meth as SR.ConstructorInfo, GetContext ());
+ else
+ return m_controller.Helper.ImportMethodInfo (
+ meth as SR.MethodInfo, GetContext ());
+ }
+
+ public MethodReference Import (SR.MethodBase meth, TypeDefinition context)
+ {
+ if (meth == null)
+ throw new ArgumentNullException ("meth");
+ CheckContext (context);
+
+ ImportContext import_context = GetContext (context);
+
+ if (meth is SR.ConstructorInfo)
+ return m_controller.Helper.ImportConstructorInfo (
+ meth as SR.ConstructorInfo, import_context);
+ else
+ return m_controller.Helper.ImportMethodInfo (
+ meth as SR.MethodInfo, import_context);
+ }
+
+ public FieldReference Import (SR.FieldInfo field)
+ {
+ if (field == null)
+ throw new ArgumentNullException ("field");
+
+ return m_controller.Helper.ImportFieldInfo (field, GetContext ());
+ }
+
+ public FieldReference Import (SR.FieldInfo field, TypeDefinition context)
+ {
+ if (field == null)
+ throw new ArgumentNullException ("field");
+ CheckContext (context);
+
+ return m_controller.Helper.ImportFieldInfo (field, GetContext (context));
+ }
+
+ public FieldReference Import (SR.FieldInfo field, MethodDefinition context)
+ {
+ if (field == null)
+ throw new ArgumentNullException ("field");
+ CheckContext (context);
+
+ return m_controller.Helper.ImportFieldInfo (field, GetContext (context));
+ }
+
+ public TypeReference Import (TypeReference type)
+ {
+ if (type == null)
+ throw new ArgumentNullException ("type");
+
+ return m_controller.Importer.ImportTypeReference (type, GetContext ());
+ }
+
+ public TypeReference Import (TypeReference type, TypeDefinition context)
+ {
+ if (type == null)
+ throw new ArgumentNullException ("type");
+ CheckContext (context);
+
+ return m_controller.Importer.ImportTypeReference (type, GetContext (context));
+ }
+
+ public TypeReference Import (TypeReference type, MethodDefinition context)
+ {
+ if (type == null)
+ throw new ArgumentNullException ("type");
+ CheckContext (context);
+
+ return m_controller.Importer.ImportTypeReference (type, GetContext (context));
+ }
+
+ public MethodReference Import (MethodReference meth)
+ {
+ if (meth == null)
+ throw new ArgumentNullException ("meth");
+
+ return m_controller.Importer.ImportMethodReference (meth, GetContext ());
+ }
+
+ public MethodReference Import (MethodReference meth, TypeDefinition context)
+ {
+ if (meth == null)
+ throw new ArgumentNullException ("meth");
+ CheckContext (context);
+
+ return m_controller.Importer.ImportMethodReference (meth, GetContext (context));
+ }
+
+ public MethodReference Import (MethodReference meth, MethodDefinition context)
+ {
+ if (meth == null)
+ throw new ArgumentNullException ("meth");
+ CheckContext (context);
+
+ return m_controller.Importer.ImportMethodReference (meth, GetContext (context));
+ }
+
+ public FieldReference Import (FieldReference field)
+ {
+ if (field == null)
+ throw new ArgumentNullException ("field");
+
+ return m_controller.Importer.ImportFieldReference (field, GetContext ());
+ }
+
+ public FieldReference Import (FieldReference field, TypeDefinition context)
+ {
+ if (field == null)
+ throw new ArgumentNullException ("field");
+ CheckContext (context);
+
+ return m_controller.Importer.ImportFieldReference (field, GetContext (context));
+ }
+
+ public FieldReference Import (FieldReference field, MethodDefinition context)
+ {
+ if (field == null)
+ throw new ArgumentNullException ("field");
+ CheckContext (context);
+
+ return m_controller.Importer.ImportFieldReference (field, GetContext (context));
+ }
+
+ static FieldDefinition ImportFieldDefinition (FieldDefinition field, ImportContext context)
+ {
+ return FieldDefinition.Clone (field, context);
+ }
+
+ static MethodDefinition ImportMethodDefinition (MethodDefinition meth, ImportContext context)
+ {
+ return MethodDefinition.Clone (meth, context);
+ }
+
+ static TypeDefinition ImportTypeDefinition (TypeDefinition type, ImportContext context)
+ {
+ return TypeDefinition.Clone (type, context);
+ }
+
+ public TypeDefinition Inject (TypeDefinition type)
+ {
+ return Inject (type, m_controller.Importer);
+ }
+
+ public TypeDefinition Inject (TypeDefinition type, IImporter importer)
+ {
+ if (type == null)
+ throw new ArgumentNullException ("type");
+ if (importer == null)
+ throw new ArgumentNullException ("importer");
+
+ TypeDefinition definition = ImportTypeDefinition (type, GetContext (importer));
+ this.Types.Add (definition);
+ return definition;
+ }
+
+ public TypeDefinition Inject (TypeDefinition type, TypeDefinition context)
+ {
+ return Inject (type, context, m_controller.Importer);
+ }
+
+ public TypeDefinition Inject (TypeDefinition type, TypeDefinition context, IImporter importer)
+ {
+ Check (type, context, importer);
+
+ TypeDefinition definition = ImportTypeDefinition (type, GetContext (importer, context));
+ context.NestedTypes.Add (definition);
+ return definition;
+ }
+
+ public MethodDefinition Inject (MethodDefinition meth, TypeDefinition context)
+ {
+ return Inject (meth, context, m_controller.Importer);
+ }
+
+ void Check (IMemberDefinition definition, TypeDefinition context, IImporter importer)
+ {
+ if (definition == null)
+ throw new ArgumentNullException ("definition");
+ if (context == null)
+ throw new ArgumentNullException ("context");
+ if (importer == null)
+ throw new ArgumentNullException ("importer");
+ if (context.Module != this)
+ throw new ArgumentException ("The context parameter does not belongs to this module");
+ }
+
+ public MethodDefinition Inject (MethodDefinition meth, TypeDefinition context, IImporter importer)
+ {
+ Check (meth, context, importer);
+
+ MethodDefinition definition = ImportMethodDefinition (meth, GetContext (importer, context));
+ context.Methods.Add (definition);
+ return definition;
+ }
+
+ public FieldDefinition Inject (FieldDefinition field, TypeDefinition context)
+ {
+ return Inject (field, context, m_controller.Importer);
+ }
+
+ public FieldDefinition Inject (FieldDefinition field, TypeDefinition context, IImporter importer)
+ {
+ Check (field, context, importer);
+
+ FieldDefinition definition = ImportFieldDefinition (field, GetContext (importer, context));
+ context.Fields.Add (definition);
+ return definition;
+ }
+
+ public void FullLoad ()
+ {
+ if (m_manifestOnly)
+ m_controller.Reader.VisitModuleDefinition (this);
+
+ foreach (TypeDefinition type in this.Types) {
+ foreach (MethodDefinition meth in type.Methods)
+ meth.LoadBody ();
+ foreach (MethodDefinition ctor in type.Constructors)
+ ctor.LoadBody ();
+ }
+
+ if (m_controller.Reader.SymbolReader == null)
+ return;
+
+ m_controller.Reader.SymbolReader.Dispose ();
+ m_controller.Reader.SymbolReader = null;
+ }
+
+ public void LoadSymbols ()
+ {
+ m_controller.Reader.SymbolReader = SymbolStoreHelper.GetReader (this);
+ }
+
+ public void LoadSymbols (ISymbolReader reader)
+ {
+ m_controller.Reader.SymbolReader = reader;
+ }
+
+ public void SaveSymbols ()
+ {
+ m_controller.Writer.SaveSymbols = true;
+ }
+
+ public void SaveSymbols (ISymbolWriter writer)
+ {
+ SaveSymbols ();
+ m_controller.Writer.SymbolWriter = writer;
+ }
+
+ public void SaveSymbols (string outputDirectory)
+ {
+ SaveSymbols ();
+ m_controller.Writer.OutputFile = outputDirectory;
+ }
+
+ public void SaveSymbols (string outputDirectory, ISymbolWriter writer)
+ {
+ SaveSymbols (outputDirectory);
+ m_controller.Writer.SymbolWriter = writer;
+ }
+
+ public byte [] GetAsByteArray (CustomAttribute ca)
+ {
+ CustomAttribute customAttr = ca;
+ if (!ca.Resolved)
+ if (customAttr.Blob != null)
+ return customAttr.Blob;
+ else
+ return new byte [0];
+
+ return m_controller.Writer.SignatureWriter.CompressCustomAttribute (
+ ReflectionWriter.GetCustomAttributeSig (ca), ca.Constructor);
+ }
+
+ public byte [] GetAsByteArray (SecurityDeclaration dec)
+ {
+ // TODO - add support for 2.0 format
+ // note: the 1.x format is still supported in 2.0 so this isn't an immediate problem
+ if (!dec.Resolved)
+ return dec.Blob;
+
+#if !CF_1_0 && !CF_2_0
+ if (dec.PermissionSet != null)
+ return Encoding.Unicode.GetBytes (dec.PermissionSet.ToXml ().ToString ());
+#endif
+
+ return new byte [0];
+ }
+
+ public CustomAttribute FromByteArray (MethodReference ctor, byte [] data)
+ {
+ return m_controller.Reader.GetCustomAttribute (ctor, data);
+ }
+
+ public SecurityDeclaration FromByteArray (SecurityAction action, byte [] declaration)
+ {
+ if (m_secReader == null)
+ m_secReader = new SecurityDeclarationReader (Image.MetadataRoot, m_controller.Reader);
+ return m_secReader.FromByteArray (action, declaration);
+ }
+
+ public override void Accept (IReflectionStructureVisitor visitor)
+ {
+ visitor.VisitModuleDefinition (this);
+
+ this.AssemblyReferences.Accept (visitor);
+ this.ModuleReferences.Accept (visitor);
+ this.Resources.Accept (visitor);
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitModuleDefinition (this);
+
+ this.Types.Accept (visitor);
+ this.TypeReferences.Accept (visitor);
+ }
+
+ public override string ToString ()
+ {
+ string s = (m_main ? "(main), Mvid=" : "Mvid=");
+ return s + m_mvid;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ModuleDefinitionCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/ModuleDefinitionCollection.cs
new file mode 100644
index 00000000000..26761263c9e
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ModuleDefinitionCollection.cs
@@ -0,0 +1,93 @@
+//
+// ModuleDefinitionCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Wed Sep 27 12:46:54 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class ModuleDefinitionCollection : CollectionBase, IReflectionStructureVisitable {
+
+ AssemblyDefinition m_container;
+
+ public ModuleDefinition this [int index] {
+ get { return List [index] as ModuleDefinition; }
+ set { List [index] = value; }
+ }
+
+ public AssemblyDefinition Container {
+ get { return m_container; }
+ }
+
+ public ModuleDefinitionCollection (AssemblyDefinition container)
+ {
+ m_container = container;
+ }
+
+ public void Add (ModuleDefinition value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (ModuleDefinition value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (ModuleDefinition value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, ModuleDefinition value)
+ {
+ List.Insert (index, value);
+ }
+
+ public void Remove (ModuleDefinition value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is ModuleDefinition))
+ throw new ArgumentException ("Must be of type " + typeof (ModuleDefinition).FullName);
+ }
+
+ public void Accept (IReflectionStructureVisitor visitor)
+ {
+ visitor.VisitModuleDefinitionCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ModuleReference.cs b/mcs/tools/cil-strip/Mono.Cecil/ModuleReference.cs
new file mode 100644
index 00000000000..520cd7a4691
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ModuleReference.cs
@@ -0,0 +1,71 @@
+//
+// ModuleReference.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System.Collections;
+
+ using Mono.Cecil;
+ using Mono.Cecil.Metadata;
+
+ internal class ModuleReference : IMetadataScope, IAnnotationProvider, IReflectionStructureVisitable {
+
+ string m_name;
+ MetadataToken m_token;
+ IDictionary m_annotations;
+
+ public string Name {
+ get { return m_name; }
+ set { m_name = value; }
+ }
+
+ public MetadataToken MetadataToken {
+ get { return m_token; }
+ set { m_token = value; }
+ }
+
+ IDictionary IAnnotationProvider.Annotations {
+ get {
+ if (m_annotations == null)
+ m_annotations = new Hashtable ();
+ return m_annotations;
+ }
+ }
+
+ public ModuleReference (string name)
+ {
+ m_name = name;
+ }
+
+ public virtual void Accept (IReflectionStructureVisitor visitor)
+ {
+ visitor.VisitModuleReference (this);
+ }
+ }
+}
+
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ModuleReferenceCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/ModuleReferenceCollection.cs
new file mode 100644
index 00000000000..a6b3048fdc0
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ModuleReferenceCollection.cs
@@ -0,0 +1,93 @@
+//
+// ModuleReferenceCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Wed Sep 27 12:46:53 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class ModuleReferenceCollection : CollectionBase, IReflectionStructureVisitable {
+
+ ModuleDefinition m_container;
+
+ public ModuleReference this [int index] {
+ get { return List [index] as ModuleReference; }
+ set { List [index] = value; }
+ }
+
+ public ModuleDefinition Container {
+ get { return m_container; }
+ }
+
+ public ModuleReferenceCollection (ModuleDefinition container)
+ {
+ m_container = container;
+ }
+
+ public void Add (ModuleReference value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (ModuleReference value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (ModuleReference value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, ModuleReference value)
+ {
+ List.Insert (index, value);
+ }
+
+ public void Remove (ModuleReference value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is ModuleReference))
+ throw new ArgumentException ("Must be of type " + typeof (ModuleReference).FullName);
+ }
+
+ public void Accept (IReflectionStructureVisitor visitor)
+ {
+ visitor.VisitModuleReferenceCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/NameObjectCollectionBase.cs b/mcs/tools/cil-strip/Mono.Cecil/NameObjectCollectionBase.cs
new file mode 100644
index 00000000000..d5179782d3e
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/NameObjectCollectionBase.cs
@@ -0,0 +1,650 @@
+using System;
+using System.Collections;
+using System.Runtime.Serialization;
+
+#if NO_SYSTEM_DLL
+namespace System.Collections.Specialized
+{
+ [Serializable]
+ internal abstract class NameObjectCollectionBase : ICollection, IEnumerable, ISerializable, IDeserializationCallback
+ {
+ private Hashtable m_ItemsContainer;
+ /// <summary>
+ /// Extends Hashtable based Items container to support storing null-key pairs
+ /// </summary>
+ private _Item m_NullKeyItem;
+ private ArrayList m_ItemsArray;
+ private IHashCodeProvider m_hashprovider;
+ private IComparer m_comparer;
+ private int m_defCapacity;
+ private bool m_readonly;
+ SerializationInfo infoCopy;
+ private KeysCollection keyscoll;
+#if NET_2_0
+ private IEqualityComparer equality_comparer;
+
+ internal IEqualityComparer EqualityComparer {
+ get { return equality_comparer; }
+ }
+#endif
+ internal IComparer Comparer
+ {
+ get { return m_comparer; }
+ }
+
+ internal IHashCodeProvider HashCodeProvider
+ {
+ get { return m_hashprovider; }
+ }
+
+ internal class _Item
+ {
+ public string key;
+ public object value;
+ public _Item(string key, object value)
+ {
+ this.key = key;
+ this.value = value;
+ }
+ }
+ /// <summary>
+ /// Implements IEnumerable interface for KeysCollection
+ /// </summary>
+ [Serializable]
+ internal class _KeysEnumerator : IEnumerator
+ {
+ private NameObjectCollectionBase m_collection;
+ private int m_position;
+
+ internal _KeysEnumerator(NameObjectCollectionBase collection)
+ {
+ m_collection = collection;
+ Reset();
+ }
+ public object Current
+ {
+
+ get
+ {
+ if ((m_position < m_collection.Count) || (m_position < 0))
+ return m_collection.BaseGetKey(m_position);
+ else
+ throw new InvalidOperationException();
+ }
+
+ }
+ public bool MoveNext()
+ {
+ return ((++m_position) < m_collection.Count);
+ }
+ public void Reset()
+ {
+ m_position = -1;
+ }
+ }
+
+ /// <summary>
+ /// SDK: Represents a collection of the String keys of a collection.
+ /// </summary>
+ [Serializable]
+ internal class KeysCollection : ICollection, IEnumerable
+ {
+ private NameObjectCollectionBase m_collection;
+
+ internal KeysCollection(NameObjectCollectionBase collection)
+ {
+ this.m_collection = collection;
+ }
+
+ public virtual string Get(int index)
+ {
+ return m_collection.BaseGetKey(index);
+ }
+
+ // ICollection methods -----------------------------------
+ void ICollection.CopyTo(Array array, int arrayIndex)
+ {
+ ArrayList items = m_collection.m_ItemsArray;
+#if NET_2_0
+ if (null == array)
+ throw new ArgumentNullException ("array");
+
+ if (arrayIndex < 0)
+ throw new ArgumentOutOfRangeException ("arrayIndex");
+
+ if ((array.Length > 0) && (arrayIndex >= array.Length))
+ throw new ArgumentException ("arrayIndex is equal to or greater than array.Length");
+
+ if (arrayIndex + items.Count > array.Length)
+ throw new ArgumentException ("Not enough room from arrayIndex to end of array for this KeysCollection");
+#endif
+
+ if (array != null && array.Rank > 1)
+ throw new ArgumentException("array is multidimensional");
+
+ object[] objArray = (object[])array;
+ for (int i = 0; i < items.Count; i++, arrayIndex++)
+ objArray[arrayIndex] = ((_Item)items[i]).key;
+ }
+
+ bool ICollection.IsSynchronized
+ {
+ get
+ {
+ return false;
+ }
+ }
+ object ICollection.SyncRoot
+ {
+ get
+ {
+ return m_collection;
+ }
+ }
+ /// <summary>
+ /// Gets the number of keys in the NameObjectCollectionBase.KeysCollection
+ /// </summary>
+ public int Count
+ {
+ get
+ {
+ return m_collection.Count;
+ }
+ }
+
+ public string this[int index]
+ {
+ get { return Get(index); }
+ }
+
+ // IEnumerable methods --------------------------------
+ /// <summary>
+ /// SDK: Returns an enumerator that can iterate through the NameObjectCollectionBase.KeysCollection.
+ /// </summary>
+ /// <returns></returns>
+ public IEnumerator GetEnumerator()
+ {
+ return new _KeysEnumerator(m_collection);
+ }
+ }
+
+ //--------------- Protected Instance Constructors --------------
+
+ /// <summary>
+ /// SDK: Initializes a new instance of the NameObjectCollectionBase class that is empty.
+ /// </summary>
+ protected NameObjectCollectionBase()
+ {
+ m_readonly = false;
+#if NET_1_0
+ m_hashprovider = CaseInsensitiveHashCodeProvider.Default;
+ m_comparer = CaseInsensitiveComparer.Default;
+#else
+ m_hashprovider = CaseInsensitiveHashCodeProvider.DefaultInvariant;
+ m_comparer = CaseInsensitiveComparer.DefaultInvariant;
+#endif
+ m_defCapacity = 0;
+ Init();
+ }
+
+ protected NameObjectCollectionBase(int capacity)
+ {
+ m_readonly = false;
+#if NET_1_0
+ m_hashprovider = CaseInsensitiveHashCodeProvider.Default;
+ m_comparer = CaseInsensitiveComparer.Default;
+#else
+ m_hashprovider = CaseInsensitiveHashCodeProvider.DefaultInvariant;
+ m_comparer = CaseInsensitiveComparer.DefaultInvariant;
+#endif
+ m_defCapacity = capacity;
+ Init();
+ }
+
+#if NET_2_0
+
+ internal NameObjectCollectionBase (IEqualityComparer equalityComparer, IComparer comparer, IHashCodeProvider hcp)
+ {
+ equality_comparer = equalityComparer;
+ m_comparer = comparer;
+ m_hashprovider = hcp;
+ m_readonly = false;
+ m_defCapacity = 0;
+ Init ();
+ }
+
+ protected NameObjectCollectionBase (IEqualityComparer equalityComparer) : this( (equalityComparer == null ? StringComparer.InvariantCultureIgnoreCase : equalityComparer), null, null)
+ {
+ }
+
+ [Obsolete ("Use NameObjectCollectionBase(IEqualityComparer)")]
+#endif
+ protected NameObjectCollectionBase(IHashCodeProvider hashProvider, IComparer comparer)
+ {
+ m_comparer = comparer;
+ m_hashprovider = hashProvider;
+ m_readonly = false;
+ m_defCapacity = 0;
+ Init();
+ }
+
+ protected NameObjectCollectionBase(SerializationInfo info, StreamingContext context)
+ {
+ infoCopy = info;
+ }
+
+#if NET_2_0
+ protected NameObjectCollectionBase (int capacity, IEqualityComparer equalityComparer)
+ {
+ m_readonly = false;
+ equality_comparer = (equalityComparer == null ? StringComparer.InvariantCultureIgnoreCase : equalityComparer);
+ m_defCapacity = capacity;
+ Init();
+ }
+
+ [Obsolete ("Use NameObjectCollectionBase(int,IEqualityComparer)")]
+#endif
+ protected NameObjectCollectionBase(int capacity, IHashCodeProvider hashProvider, IComparer comparer)
+ {
+ m_readonly = false;
+
+ m_hashprovider = hashProvider;
+ m_comparer = comparer;
+ m_defCapacity = capacity;
+ Init();
+ }
+
+ private void Init()
+ {
+#if NET_2_0
+ if (equality_comparer != null)
+ m_ItemsContainer = new Hashtable (m_defCapacity, equality_comparer);
+ else
+ m_ItemsContainer = new Hashtable (m_defCapacity, m_hashprovider, m_comparer);
+#else
+ m_ItemsContainer = new Hashtable(m_defCapacity, m_hashprovider, m_comparer);
+#endif
+ m_ItemsArray = new ArrayList();
+ m_NullKeyItem = null;
+ }
+
+ //--------------- Public Instance Properties -------------------
+
+ public virtual NameObjectCollectionBase.KeysCollection Keys
+ {
+ get
+ {
+ if (keyscoll == null)
+ keyscoll = new KeysCollection(this);
+ return keyscoll;
+ }
+ }
+
+ //--------------- Public Instance Methods ----------------------
+ //
+ /// <summary>
+ /// SDK: Returns an enumerator that can iterate through the NameObjectCollectionBase.
+ ///
+ /// <remark>This enumerator returns the keys of the collection as strings.</remark>
+ /// </summary>
+ /// <returns></returns>
+ public
+#if NET_2_0
+ virtual
+#endif
+ IEnumerator GetEnumerator()
+ {
+ return new _KeysEnumerator(this);
+ }
+
+ // ISerializable
+ public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
+ {
+ if (info == null)
+ throw new ArgumentNullException("info");
+
+ int count = Count;
+ string[] keys = new string[count];
+ object[] values = new object[count];
+ int i = 0;
+ foreach (_Item item in m_ItemsArray)
+ {
+ keys[i] = item.key;
+ values[i] = item.value;
+ i++;
+ }
+
+#if NET_2_0
+ if (equality_comparer != null) {
+ info.AddValue ("KeyComparer", equality_comparer, typeof (IEqualityComparer));
+ info.AddValue ("Version", 4, typeof (int));
+ } else {
+ info.AddValue ("HashProvider", m_hashprovider, typeof (IHashCodeProvider));
+ info.AddValue ("Comparer", m_comparer, typeof (IComparer));
+ info.AddValue ("Version", 2, typeof (int));
+ }
+#else
+ info.AddValue("HashProvider", m_hashprovider, typeof(IHashCodeProvider));
+ info.AddValue("Comparer", m_comparer, typeof(IComparer));
+#endif
+ info.AddValue("ReadOnly", m_readonly);
+ info.AddValue("Count", count);
+ info.AddValue("Keys", keys, typeof(string[]));
+ info.AddValue("Values", values, typeof(object[]));
+ }
+
+ // ICollection
+ public virtual int Count
+ {
+ get
+ {
+ return m_ItemsArray.Count;
+ }
+ }
+
+ bool ICollection.IsSynchronized
+ {
+ get { return false; }
+ }
+
+ object ICollection.SyncRoot
+ {
+ get { return this; }
+ }
+
+ void ICollection.CopyTo(Array array, int index)
+ {
+ ((ICollection)Keys).CopyTo(array, index);
+ }
+
+ // IDeserializationCallback
+ public virtual void OnDeserialization(object sender)
+ {
+ SerializationInfo info = infoCopy;
+
+ // If a subclass overrides the serialization constructor
+ // and inplements its own serialization process, infoCopy will
+ // be null and we can ignore this callback.
+ if (info == null)
+ return;
+
+ infoCopy = null;
+ m_hashprovider = (IHashCodeProvider)info.GetValue("HashProvider",
+ typeof(IHashCodeProvider));
+#if NET_2_0
+ if (m_hashprovider == null) {
+ equality_comparer = (IEqualityComparer) info.GetValue ("KeyComparer", typeof (IEqualityComparer));
+ } else {
+ m_comparer = (IComparer) info.GetValue ("Comparer", typeof (IComparer));
+ if (m_comparer == null)
+ throw new SerializationException ("The comparer is null");
+ }
+#else
+ if (m_hashprovider == null)
+ throw new SerializationException("The hash provider is null");
+
+ m_comparer = (IComparer)info.GetValue("Comparer", typeof(IComparer));
+ if (m_comparer == null)
+ throw new SerializationException("The comparer is null");
+#endif
+ m_readonly = info.GetBoolean("ReadOnly");
+ string[] keys = (string[])info.GetValue("Keys", typeof(string[]));
+ if (keys == null)
+ throw new SerializationException("keys is null");
+
+ object[] values = (object[])info.GetValue("Values", typeof(object[]));
+ if (values == null)
+ throw new SerializationException("values is null");
+
+ Init();
+ int count = keys.Length;
+ for (int i = 0; i < count; i++)
+ BaseAdd(keys[i], values[i]);
+ }
+
+ //--------------- Protected Instance Properties ----------------
+ /// <summary>
+ /// SDK: Gets or sets a value indicating whether the NameObjectCollectionBase instance is read-only.
+ /// </summary>
+ protected bool IsReadOnly
+ {
+ get
+ {
+ return m_readonly;
+ }
+ set
+ {
+ m_readonly = value;
+ }
+ }
+
+ //--------------- Protected Instance Methods -------------------
+ /// <summary>
+ /// Adds an Item with the specified key and value into the <see cref="NameObjectCollectionBase"/>NameObjectCollectionBase instance.
+ /// </summary>
+ /// <param name="name"></param>
+ /// <param name="value"></param>
+ protected void BaseAdd(string name, object value)
+ {
+ if (this.IsReadOnly)
+ throw new NotSupportedException("Collection is read-only");
+
+ _Item newitem = new _Item(name, value);
+
+ if (name == null)
+ {
+ //todo: consider nullkey entry
+ if (m_NullKeyItem == null)
+ m_NullKeyItem = newitem;
+ }
+ else
+ if (m_ItemsContainer[name] == null)
+ {
+ m_ItemsContainer.Add(name, newitem);
+ }
+ m_ItemsArray.Add(newitem);
+ }
+
+ protected void BaseClear()
+ {
+ if (this.IsReadOnly)
+ throw new NotSupportedException("Collection is read-only");
+ Init();
+ }
+
+ /// <summary>
+ /// SDK: Gets the value of the entry at the specified index of the NameObjectCollectionBase instance.
+ /// </summary>
+ /// <param name="index"></param>
+ /// <returns></returns>
+ protected object BaseGet(int index)
+ {
+ return ((_Item)m_ItemsArray[index]).value;
+ }
+
+ /// <summary>
+ /// SDK: Gets the value of the first entry with the specified key from the NameObjectCollectionBase instance.
+ /// </summary>
+ /// <remark>CAUTION: The BaseGet method does not distinguish between a null reference which is returned because the specified key is not found and a null reference which is returned because the value associated with the key is a null reference.</remark>
+ /// <param name="name"></param>
+ /// <returns></returns>
+ protected object BaseGet(string name)
+ {
+ _Item item = FindFirstMatchedItem(name);
+ /// CAUTION: The BaseGet method does not distinguish between a null reference which is returned because the specified key is not found and a null reference which is returned because the value associated with the key is a null reference.
+ if (item == null)
+ return null;
+ else
+ return item.value;
+ }
+
+ /// <summary>
+ /// SDK:Returns a String array that contains all the keys in the NameObjectCollectionBase instance.
+ /// </summary>
+ /// <returns>A String array that contains all the keys in the NameObjectCollectionBase instance.</returns>
+ protected string[] BaseGetAllKeys()
+ {
+ int cnt = m_ItemsArray.Count;
+ string[] allKeys = new string[cnt];
+ for (int i = 0; i < cnt; i++)
+ allKeys[i] = BaseGetKey(i);//((_Item)m_ItemsArray[i]).key;
+
+ return allKeys;
+ }
+
+ /// <summary>
+ /// SDK: Returns an Object array that contains all the values in the NameObjectCollectionBase instance.
+ /// </summary>
+ /// <returns>An Object array that contains all the values in the NameObjectCollectionBase instance.</returns>
+ protected object[] BaseGetAllValues()
+ {
+ int cnt = m_ItemsArray.Count;
+ object[] allValues = new object[cnt];
+ for (int i = 0; i < cnt; i++)
+ allValues[i] = BaseGet(i);
+
+ return allValues;
+ }
+
+ protected object[] BaseGetAllValues(Type type)
+ {
+ if (type == null)
+ throw new ArgumentNullException("'type' argument can't be null");
+ int cnt = m_ItemsArray.Count;
+ object[] allValues = (object[])Array.CreateInstance(type, cnt);
+ for (int i = 0; i < cnt; i++)
+ allValues[i] = BaseGet(i);
+
+ return allValues;
+ }
+
+ protected string BaseGetKey(int index)
+ {
+ return ((_Item)m_ItemsArray[index]).key;
+ }
+
+ /// <summary>
+ /// Gets a value indicating whether the NameObjectCollectionBase instance contains entries whose keys are not a null reference
+ /// </summary>
+ /// <returns>true if the NameObjectCollectionBase instance contains entries whose keys are not a null reference otherwise, false.</returns>
+ protected bool BaseHasKeys()
+ {
+ return (m_ItemsContainer.Count > 0);
+ }
+
+ protected void BaseRemove(string name)
+ {
+ int cnt = 0;
+ String key;
+ if (this.IsReadOnly)
+ throw new NotSupportedException("Collection is read-only");
+ if (name != null)
+ {
+ m_ItemsContainer.Remove(name);
+ }
+ else
+ {
+ m_NullKeyItem = null;
+ }
+
+ cnt = m_ItemsArray.Count;
+ for (int i = 0; i < cnt; )
+ {
+ key = BaseGetKey(i);
+ if (Equals(key, name))
+ {
+ m_ItemsArray.RemoveAt(i);
+ cnt--;
+ }
+ else
+ i++;
+ }
+ }
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="index"></param>
+ /// <LAME>This function implemented the way Microsoft implemented it -
+ /// item is removed from hashtable and array without considering the case when there are two items with the same key but different values in array.
+ /// E.g. if
+ /// hashtable is [("Key1","value1")] and array contains [("Key1","value1")("Key1","value2")] then
+ /// after RemoveAt(1) the collection will be in following state:
+ /// hashtable:[]
+ /// array: [("Key1","value1")]
+ /// It's ok only then the key is uniquely assosiated with the value
+ /// To fix it a comparsion of objects stored under the same key in the hashtable and in the arraylist should be added
+ /// </LAME>>
+ protected void BaseRemoveAt(int index)
+ {
+ if (this.IsReadOnly)
+ throw new NotSupportedException("Collection is read-only");
+ string key = BaseGetKey(index);
+ if (key != null)
+ {
+ // TODO: see LAME description above
+ m_ItemsContainer.Remove(key);
+ }
+ else
+ m_NullKeyItem = null;
+ m_ItemsArray.RemoveAt(index);
+ }
+
+ /// <summary>
+ /// SDK: Sets the value of the entry at the specified index of the NameObjectCollectionBase instance.
+ /// </summary>
+ /// <param name="index"></param>
+ /// <param name="value"></param>
+ protected void BaseSet(int index, object value)
+ {
+#if NET_2_0
+ if (this.IsReadOnly)
+ throw new NotSupportedException("Collection is read-only");
+#endif
+ _Item item = (_Item)m_ItemsArray[index];
+ item.value = value;
+ }
+
+ /// <summary>
+ /// Sets the value of the first entry with the specified key in the NameObjectCollectionBase instance, if found; otherwise, adds an entry with the specified key and value into the NameObjectCollectionBase instance.
+ /// </summary>
+ /// <param name="name">The String key of the entry to set. The key can be a null reference </param>
+ /// <param name="value">The Object that represents the new value of the entry to set. The value can be a null reference</param>
+ protected void BaseSet(string name, object value)
+ {
+#if NET_2_0
+ if (this.IsReadOnly)
+ throw new NotSupportedException("Collection is read-only");
+#endif
+ _Item item = FindFirstMatchedItem(name);
+ if (item != null)
+ item.value = value;
+ else
+ BaseAdd(name, value);
+ }
+
+ private _Item FindFirstMatchedItem(string name)
+ {
+ if (name != null)
+ return (_Item)m_ItemsContainer[name];
+ else
+ {
+ //TODO: consider null key case
+ return m_NullKeyItem;
+ }
+ }
+
+ internal bool Equals(string s1, string s2)
+ {
+#if NET_2_0
+ if (m_comparer != null)
+ return (m_comparer.Compare (s1, s2) == 0);
+ else
+ return equality_comparer.Equals (s1, s2);
+#else
+ return (m_comparer.Compare(s1, s2) == 0);
+#endif
+ }
+ }
+}
+#endif
diff --git a/mcs/tools/cil-strip/Mono.Cecil/NativeType.cs b/mcs/tools/cil-strip/Mono.Cecil/NativeType.cs
new file mode 100644
index 00000000000..84b0c373f6b
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/NativeType.cs
@@ -0,0 +1,73 @@
+//
+// NativeType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal enum NativeType {
+ NONE = 0x66,
+
+ BOOLEAN = 0x02,
+ I1 = 0x03,
+ U1 = 0x04,
+ I2 = 0x05,
+ U2 = 0x06,
+ I4 = 0x07,
+ U4 = 0x08,
+ I8 = 0x09,
+ U8 = 0x0a,
+ R4 = 0x0b,
+ R8 = 0x0c,
+ LPSTR = 0x14,
+ INT = 0x1f,
+ UINT = 0x20,
+ FUNC = 0x26,
+ ARRAY = 0x2a,
+
+ // Msft specific
+ CURRENCY = 0x0f,
+ BSTR = 0x13,
+ LPWSTR = 0x15,
+ LPTSTR = 0x16,
+ FIXEDSYSSTRING = 0x17,
+ IUNKNOWN = 0x19,
+ IDISPATCH = 0x1a,
+ STRUCT = 0x1b,
+ INTF = 0x1c,
+ SAFEARRAY = 0x1d,
+ FIXEDARRAY = 0x1e,
+ BYVALSTR = 0x22,
+ ANSIBSTR = 0x23,
+ TBSTR = 0x24,
+ VARIANTBOOL = 0x25,
+ ASANY = 0x28,
+ LPSTRUCT = 0x2b,
+ CUSTOMMARSHALER = 0x2c,
+ ERROR = 0x2d,
+ MAX = 0x50
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/NestedTypeCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/NestedTypeCollection.cs
new file mode 100644
index 00000000000..9e6fc9f5542
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/NestedTypeCollection.cs
@@ -0,0 +1,128 @@
+//
+// NestedTypeCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Fri Mar 30 18:43:57 +0200 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class NestedTypeCollection : CollectionBase, IReflectionVisitable {
+
+ TypeDefinition m_container;
+
+ public TypeDefinition this [int index] {
+ get { return List [index] as TypeDefinition; }
+ set { List [index] = value; }
+ }
+
+ public TypeDefinition Container {
+ get { return m_container; }
+ }
+
+ public NestedTypeCollection (TypeDefinition container)
+ {
+ m_container = container;
+ }
+
+ public void Add (TypeDefinition value)
+ {
+ Attach (value);
+
+ List.Add (value);
+ }
+
+
+ public new void Clear ()
+ {
+ foreach (TypeDefinition item in this)
+ Detach (item);
+
+ base.Clear ();
+ }
+
+ public bool Contains (TypeDefinition value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (TypeDefinition value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, TypeDefinition value)
+ {
+ Attach (value);
+
+ List.Insert (index, value);
+ }
+
+ public void Remove (TypeDefinition value)
+ {
+ List.Remove (value);
+
+ Detach (value);
+ }
+
+
+ public new void RemoveAt (int index)
+ {
+ TypeDefinition item = this [index];
+ Remove (item);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is TypeDefinition))
+ throw new ArgumentException ("Must be of type " + typeof (TypeDefinition).FullName);
+ }
+
+ void Attach (MemberReference member)
+ {
+ if (member.DeclaringType != null)
+ throw new ReflectionException ("Member already attached, clone it instead");
+
+ member.DeclaringType = m_container;
+ }
+
+ void Detach (MemberReference member)
+ {
+ member.DeclaringType = null;
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitNestedTypeCollection (this);
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/NullReferenceImporter.cs b/mcs/tools/cil-strip/Mono.Cecil/NullReferenceImporter.cs
index 7ebb7c44db6..7ebb7c44db6 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/NullReferenceImporter.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil/NullReferenceImporter.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil/OverrideCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/OverrideCollection.cs
new file mode 100644
index 00000000000..e99e8a629dc
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/OverrideCollection.cs
@@ -0,0 +1,93 @@
+//
+// OverrideCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Wed Sep 27 12:46:53 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class OverrideCollection : CollectionBase, IReflectionVisitable {
+
+ MethodDefinition m_container;
+
+ public MethodReference this [int index] {
+ get { return List [index] as MethodReference; }
+ set { List [index] = value; }
+ }
+
+ public MethodDefinition Container {
+ get { return m_container; }
+ }
+
+ public OverrideCollection (MethodDefinition container)
+ {
+ m_container = container;
+ }
+
+ public void Add (MethodReference value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (MethodReference value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (MethodReference value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, MethodReference value)
+ {
+ List.Insert (index, value);
+ }
+
+ public void Remove (MethodReference value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is MethodReference))
+ throw new ArgumentException ("Must be of type " + typeof (MethodReference).FullName);
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitOverrideCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/PInvokeAttributes.cs b/mcs/tools/cil-strip/Mono.Cecil/PInvokeAttributes.cs
new file mode 100644
index 00000000000..b586f0b4d5f
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/PInvokeAttributes.cs
@@ -0,0 +1,53 @@
+//
+// PInvokeAttributes.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ [Flags]
+ internal enum PInvokeAttributes : ushort {
+ NoMangle = 0x0001, // PInvoke is to use the member name as specified
+
+ // Character set
+ CharSetMask = 0x0006,
+ CharSetNotSpec = 0x0000,
+ CharSetAnsi = 0x0002,
+ CharSetUnicode = 0x0004,
+ CharSetAuto = 0x0006,
+ SupportsLastError = 0x0040, // Information about target function. Not relevant for fields
+
+ // Calling convetion
+ CallConvMask = 0x0700,
+ CallConvWinapi = 0x0100,
+ CallConvCdecl = 0x0200,
+ CallConvStdCall = 0x0300,
+ CallConvThiscall = 0x0400,
+ CallConvFastcall = 0x0500
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/PInvokeInfo.cs b/mcs/tools/cil-strip/Mono.Cecil/PInvokeInfo.cs
new file mode 100644
index 00000000000..e4d24066662
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/PInvokeInfo.cs
@@ -0,0 +1,200 @@
+//
+// PInvokeInfo.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal sealed class PInvokeInfo : IReflectionVisitable {
+
+ MethodDefinition m_meth;
+
+ PInvokeAttributes m_attributes;
+ string m_entryPoint;
+ ModuleReference m_module;
+
+ public MethodDefinition Method {
+ get { return m_meth; }
+ }
+
+ public PInvokeAttributes Attributes {
+ get { return m_attributes; }
+ set { m_attributes = value; }
+ }
+
+ public string EntryPoint {
+ get { return m_entryPoint; }
+ set { m_entryPoint = value; }
+ }
+
+ public ModuleReference Module {
+ get { return m_module; }
+ set { m_module = value; }
+ }
+
+ #region PInvokeAttributes
+
+ public bool IsNoMangle {
+ get { return (m_attributes & PInvokeAttributes.NoMangle) != 0; }
+ set {
+ if (value)
+ m_attributes |= PInvokeAttributes.NoMangle;
+ else
+ m_attributes &= ~PInvokeAttributes.NoMangle;
+ }
+ }
+
+ public bool IsCharSetNotSpec {
+ get { return (m_attributes & PInvokeAttributes.CharSetMask) == PInvokeAttributes.CharSetNotSpec; }
+ set {
+ if (value) {
+ m_attributes &= ~PInvokeAttributes.CharSetMask;
+ m_attributes |= PInvokeAttributes.CharSetNotSpec;
+ } else
+ m_attributes &= ~(PInvokeAttributes.CharSetMask & PInvokeAttributes.CharSetNotSpec);
+ }
+ }
+
+ public bool IsCharSetAnsi {
+ get { return (m_attributes & PInvokeAttributes.CharSetMask) == PInvokeAttributes.CharSetAnsi; }
+ set {
+ if (value) {
+ m_attributes &= ~PInvokeAttributes.CharSetMask;
+ m_attributes |= PInvokeAttributes.CharSetAnsi;
+ } else
+ m_attributes &= ~(PInvokeAttributes.CharSetMask & PInvokeAttributes.CharSetAnsi);
+ }
+ }
+
+ public bool IsCharSetUnicode {
+ get { return (m_attributes & PInvokeAttributes.CharSetMask) == PInvokeAttributes.CharSetUnicode; }
+ set {
+ if (value) {
+ m_attributes &= ~PInvokeAttributes.CharSetMask;
+ m_attributes |= PInvokeAttributes.CharSetUnicode;
+ } else
+ m_attributes &= ~(PInvokeAttributes.CharSetMask & PInvokeAttributes.CharSetUnicode);
+ }
+ }
+
+ public bool IsCharSetAuto {
+ get { return (m_attributes & PInvokeAttributes.CharSetMask) == PInvokeAttributes.CharSetAuto; }
+ set {
+ if (value) {
+ m_attributes &= ~PInvokeAttributes.CharSetMask;
+ m_attributes |= PInvokeAttributes.CharSetAuto;
+ } else
+ m_attributes &= ~(PInvokeAttributes.CharSetMask & PInvokeAttributes.CharSetAuto);
+ }
+ }
+
+ public bool SupportsLastError {
+ get { return (m_attributes & PInvokeAttributes.CharSetMask) == PInvokeAttributes.SupportsLastError; }
+ set {
+ if (value) {
+ m_attributes &= ~PInvokeAttributes.CharSetMask;
+ m_attributes |= PInvokeAttributes.SupportsLastError;
+ } else
+ m_attributes &= ~(PInvokeAttributes.CharSetMask & PInvokeAttributes.SupportsLastError);
+ }
+ }
+
+ public bool IsCallConvWinapi {
+ get { return (m_attributes & PInvokeAttributes.CallConvMask) == PInvokeAttributes.CallConvWinapi; }
+ set {
+ if (value) {
+ m_attributes &= ~PInvokeAttributes.CallConvMask;
+ m_attributes |= PInvokeAttributes.CallConvWinapi;
+ } else
+ m_attributes &= ~(PInvokeAttributes.CallConvMask & PInvokeAttributes.CallConvWinapi);
+ }
+ }
+
+ public bool IsCallConvCdecl {
+ get { return (m_attributes & PInvokeAttributes.CallConvMask) == PInvokeAttributes.CallConvCdecl; }
+ set {
+ if (value) {
+ m_attributes &= ~PInvokeAttributes.CallConvMask;
+ m_attributes |= PInvokeAttributes.CallConvCdecl;
+ } else
+ m_attributes &= ~(PInvokeAttributes.CallConvMask & PInvokeAttributes.CallConvCdecl);
+ }
+ }
+
+ public bool IsCallConvStdCall {
+ get { return (m_attributes & PInvokeAttributes.CallConvMask) == PInvokeAttributes.CallConvStdCall; }
+ set {
+ if (value) {
+ m_attributes &= ~PInvokeAttributes.CallConvMask;
+ m_attributes |= PInvokeAttributes.CallConvStdCall;
+ } else
+ m_attributes &= ~(PInvokeAttributes.CallConvMask & PInvokeAttributes.CallConvStdCall);
+ }
+ }
+
+ public bool IsCallConvThiscall {
+ get { return (m_attributes & PInvokeAttributes.CallConvMask) == PInvokeAttributes.CallConvThiscall; }
+ set {
+ if (value) {
+ m_attributes &= ~PInvokeAttributes.CallConvMask;
+ m_attributes |= PInvokeAttributes.CallConvThiscall;
+ } else
+ m_attributes &= ~(PInvokeAttributes.CallConvMask & PInvokeAttributes.CallConvThiscall);
+ }
+ }
+
+ public bool IsCallConvFastcall {
+ get { return (m_attributes & PInvokeAttributes.CallConvMask) == PInvokeAttributes.CallConvFastcall; }
+ set {
+ if (value) {
+ m_attributes &= ~PInvokeAttributes.CallConvMask;
+ m_attributes |= PInvokeAttributes.CallConvFastcall;
+ } else
+ m_attributes &= ~(PInvokeAttributes.CallConvMask & PInvokeAttributes.CallConvFastcall);
+ }
+ }
+
+ #endregion
+
+ public PInvokeInfo (MethodDefinition meth)
+ {
+ m_meth = meth;
+ }
+
+ public PInvokeInfo (MethodDefinition meth, PInvokeAttributes attrs,
+ string entryPoint, ModuleReference mod) : this (meth)
+ {
+ m_attributes = attrs;
+ m_entryPoint = entryPoint;
+ m_module = mod;
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitPInvokeInfo (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ParameterAttributes.cs b/mcs/tools/cil-strip/Mono.Cecil/ParameterAttributes.cs
new file mode 100644
index 00000000000..1e0f9320747
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ParameterAttributes.cs
@@ -0,0 +1,45 @@
+//
+// ParameterAttributes.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ [Flags]
+ internal enum ParameterAttributes : ushort {
+ None = 0x0000,
+ In = 0x0001, // Param is [In]
+ Out = 0x0002, // Param is [Out]
+ Lcid = 0x0004,
+ Retval = 0x0008,
+ Optional = 0x0010, // Param is optional
+ HasDefault = 0x1000, // Param has default value
+ HasFieldMarshal = 0x2000, // Param has field marshal
+ Unused = 0xcfe0 // Reserved: shall be zero in a conforming implementation
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ParameterDefinition.cs b/mcs/tools/cil-strip/Mono.Cecil/ParameterDefinition.cs
new file mode 100644
index 00000000000..2310b1571fb
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ParameterDefinition.cs
@@ -0,0 +1,204 @@
+//
+// ParameterDefinition.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 - 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal sealed class ParameterDefinition : ParameterReference, IHasMarshalSpec,
+ IMetadataTokenProvider, ICustomAttributeProvider, IHasConstant {
+
+ ParameterAttributes m_attributes;
+
+ bool m_hasConstant;
+ object m_const;
+
+ MethodReference m_method;
+ CustomAttributeCollection m_customAttrs;
+
+ MarshalSpec m_marshalDesc;
+
+ public ParameterAttributes Attributes {
+ get { return m_attributes; }
+ set { m_attributes = value; }
+ }
+
+ public bool HasConstant {
+ get { return m_hasConstant; }
+ }
+
+ public object Constant {
+ get { return m_const; }
+ set {
+ m_hasConstant = true;
+ m_const = value;
+ }
+ }
+
+ public MethodReference Method {
+ get { return m_method; }
+ set { m_method = value; }
+ }
+
+ public bool HasCustomAttributes {
+ get { return (m_customAttrs == null) ? false : (m_customAttrs.Count > 0); }
+ }
+
+ public CustomAttributeCollection CustomAttributes {
+ get {
+ if (m_customAttrs == null)
+ m_customAttrs = new CustomAttributeCollection (this);
+
+ return m_customAttrs;
+ }
+ }
+
+ public MarshalSpec MarshalSpec {
+ get { return m_marshalDesc; }
+ set {
+ m_marshalDesc = value;
+ if (value != null)
+ m_attributes |= ParameterAttributes.HasFieldMarshal;
+ else
+ m_attributes &= ~ParameterAttributes.HasFieldMarshal;
+ }
+ }
+
+ #region ParameterAttributes
+
+ public bool IsIn {
+ get { return (m_attributes & ParameterAttributes.In) != 0; }
+ set {
+ if (value)
+ m_attributes |= ParameterAttributes.In;
+ else
+ m_attributes &= ~ParameterAttributes.In;
+ }
+ }
+
+ public bool IsOut {
+ get { return (m_attributes & ParameterAttributes.Out) != 0; }
+ set {
+ if (value)
+ m_attributes |= ParameterAttributes.Out;
+ else
+ m_attributes &= ~ParameterAttributes.Out;
+ }
+ }
+
+ public bool IsRetval {
+ get { return (m_attributes & ParameterAttributes.Retval) != 0; }
+ set {
+ if (value)
+ m_attributes |= ParameterAttributes.Retval;
+ else
+ m_attributes &= ~ParameterAttributes.Retval;
+ }
+ }
+
+ public bool IsLcid {
+ get { return (m_attributes & ParameterAttributes.Lcid) != 0; }
+ set {
+ if (value)
+ m_attributes |= ParameterAttributes.Lcid;
+ else
+ m_attributes &= ~ParameterAttributes.Lcid;
+ }
+ }
+
+ public bool IsOptional {
+ get { return (m_attributes & ParameterAttributes.Optional) != 0; }
+ set {
+ if (value)
+ m_attributes |= ParameterAttributes.Optional;
+ else
+ m_attributes &= ~ParameterAttributes.Optional;
+ }
+ }
+
+ public bool HasDefault {
+ get { return (m_attributes & ParameterAttributes.HasDefault) != 0; }
+ set {
+ if (value)
+ m_attributes |= ParameterAttributes.HasDefault;
+ else
+ m_attributes &= ~ParameterAttributes.HasDefault;
+ }
+ }
+
+ #endregion
+
+ public ParameterDefinition (TypeReference paramType) :
+ this (string.Empty, -1, (ParameterAttributes) 0, paramType)
+ {
+ }
+
+ public override ParameterDefinition Resolve ()
+ {
+ return this;
+ }
+
+ public ParameterDefinition (string name, int seq, ParameterAttributes attrs, TypeReference paramType) : base (name, seq, paramType)
+ {
+ m_attributes = attrs;
+ }
+
+ public ParameterDefinition Clone ()
+ {
+ return Clone (this, new ImportContext (NullReferenceImporter.Instance, m_method));
+ }
+
+ internal static ParameterDefinition Clone (ParameterDefinition param, ImportContext context)
+ {
+ ParameterDefinition np = new ParameterDefinition (
+ param.Name,
+ param.Sequence,
+ param.Attributes,
+ context.Import (param.ParameterType));
+
+ if (param.HasConstant)
+ np.Constant = param.Constant;
+
+ if (param.MarshalSpec != null)
+ np.MarshalSpec = param.MarshalSpec.CloneInto (np);
+
+ foreach (CustomAttribute ca in param.CustomAttributes)
+ np.CustomAttributes.Add (CustomAttribute.Clone (ca, context));
+
+ return np;
+ }
+
+ public override void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitParameterDefinition (this);
+
+ if (this.MarshalSpec != null)
+ this.MarshalSpec.Accept (visitor);
+
+ this.CustomAttributes.Accept (visitor);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ParameterDefinitionCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/ParameterDefinitionCollection.cs
new file mode 100644
index 00000000000..37a8041174a
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ParameterDefinitionCollection.cs
@@ -0,0 +1,93 @@
+//
+// ParameterDefinitionCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Wed Sep 27 12:46:52 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class ParameterDefinitionCollection : CollectionBase, IReflectionVisitable {
+
+ IMemberReference m_container;
+
+ public ParameterDefinition this [int index] {
+ get { return List [index] as ParameterDefinition; }
+ set { List [index] = value; }
+ }
+
+ public IMemberReference Container {
+ get { return m_container; }
+ }
+
+ public ParameterDefinitionCollection (IMemberReference container)
+ {
+ m_container = container;
+ }
+
+ public void Add (ParameterDefinition value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (ParameterDefinition value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (ParameterDefinition value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, ParameterDefinition value)
+ {
+ List.Insert (index, value);
+ }
+
+ public void Remove (ParameterDefinition value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is ParameterDefinition))
+ throw new ArgumentException ("Must be of type " + typeof (ParameterDefinition).FullName);
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitParameterDefinitionCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ParameterReference.cs b/mcs/tools/cil-strip/Mono.Cecil/ParameterReference.cs
new file mode 100644
index 00000000000..04aff64724a
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ParameterReference.cs
@@ -0,0 +1,90 @@
+//
+// ParameterReference.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System.Collections;
+
+ using Mono.Cecil.Metadata;
+
+ internal abstract class ParameterReference : IMetadataTokenProvider, IAnnotationProvider, IReflectionVisitable {
+
+ string m_name;
+ int m_sequence;
+ TypeReference m_paramType;
+ MetadataToken m_token;
+ IDictionary m_annotations;
+
+ public string Name {
+ get { return m_name; }
+ set { m_name = value; }
+ }
+
+ public int Sequence {
+ get { return m_sequence; }
+ set { m_sequence = value; }
+ }
+
+ public TypeReference ParameterType {
+ get { return m_paramType; }
+ set { m_paramType = value; }
+ }
+
+ public MetadataToken MetadataToken {
+ get { return m_token; }
+ set { m_token = value; }
+ }
+
+ IDictionary IAnnotationProvider.Annotations {
+ get {
+ if (m_annotations == null)
+ m_annotations = new Hashtable ();
+ return m_annotations;
+ }
+ }
+
+ public ParameterReference (string name, int sequence, TypeReference parameterType)
+ {
+ m_name = name;
+ m_sequence = sequence;
+ m_paramType = parameterType;
+ }
+
+ public abstract ParameterDefinition Resolve ();
+
+ public override string ToString ()
+ {
+ if (m_name != null && m_name.Length > 0)
+ return m_name;
+
+ return string.Concat ("A_", m_sequence);
+ }
+
+ public abstract void Accept (IReflectionVisitor visitor);
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/PinnedType.cs b/mcs/tools/cil-strip/Mono.Cecil/PinnedType.cs
new file mode 100644
index 00000000000..95d05c1248e
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/PinnedType.cs
@@ -0,0 +1,37 @@
+//
+// PinnedType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal sealed class PinnedType : TypeSpecification {
+
+ public PinnedType (TypeReference pType) : base (pType)
+ {
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/PointerType.cs b/mcs/tools/cil-strip/Mono.Cecil/PointerType.cs
new file mode 100644
index 00000000000..7707b30216f
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/PointerType.cs
@@ -0,0 +1,45 @@
+//
+// PointerType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal sealed class PointerType : TypeSpecification {
+
+ public override string Name {
+ get { return string.Concat (base.Name, "*"); }
+ }
+
+ public override string FullName {
+ get { return string.Concat (base.FullName, "*"); }
+ }
+
+ public PointerType (TypeReference pType) : base (pType)
+ {
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/PropertyAttributes.cs b/mcs/tools/cil-strip/Mono.Cecil/PropertyAttributes.cs
new file mode 100644
index 00000000000..8ebd8729173
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/PropertyAttributes.cs
@@ -0,0 +1,40 @@
+//
+// PropertyAttributes.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ [Flags]
+ internal enum PropertyAttributes : ushort {
+ SpecialName = 0x0200, // Property is special
+ RTSpecialName = 0x0400, // Runtime(metadata internal APIs) should check name encoding
+ HasDefault = 0x1000, // Property has default
+ Unused = 0xe9ff // Reserved: shall be zero in a conforming implementation
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/PropertyDefinition.cs b/mcs/tools/cil-strip/Mono.Cecil/PropertyDefinition.cs
new file mode 100644
index 00000000000..43572742d16
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/PropertyDefinition.cs
@@ -0,0 +1,252 @@
+//
+// PropertyDefinition.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Text;
+
+ internal sealed class PropertyDefinition : PropertyReference,
+ IMemberDefinition, ICustomAttributeProvider, IHasConstant {
+
+ PropertyAttributes m_attributes;
+
+ CustomAttributeCollection m_customAttrs;
+
+ MethodDefinition m_getMeth;
+ MethodDefinition m_setMeth;
+
+ bool m_hasConstant;
+ object m_const;
+
+ public PropertyAttributes Attributes {
+ get { return m_attributes; }
+ set { m_attributes = value; }
+ }
+
+ public bool HasCustomAttributes {
+ get { return (m_customAttrs == null) ? false : (m_customAttrs.Count > 0); }
+ }
+
+ public CustomAttributeCollection CustomAttributes {
+ get {
+ if (m_customAttrs == null)
+ m_customAttrs = new CustomAttributeCollection (this);
+
+ return m_customAttrs;
+ }
+ }
+
+ public override bool HasParameters {
+ get {
+ if (m_getMeth != null)
+ return m_getMeth.HasParameters;
+ else if (m_setMeth != null)
+ return m_setMeth.HasParameters;
+ else if (m_parameters == null)
+ return false;
+ else
+ return m_parameters.Count > 0;
+ }
+ }
+
+ public override ParameterDefinitionCollection Parameters {
+ get {
+ if (this.GetMethod != null)
+ return CloneParameterCollection (this.GetMethod.Parameters);
+ else if (this.SetMethod != null) {
+ ParameterDefinitionCollection parameters =
+ CloneParameterCollection (this.SetMethod.Parameters);
+ if (parameters.Count > 0)
+ parameters.RemoveAt (parameters.Count - 1);
+ return parameters;
+ }
+
+ if (m_parameters == null)
+ m_parameters = new ParameterDefinitionCollection (this);
+
+ return m_parameters;
+ }
+ }
+
+ public MethodDefinition GetMethod {
+ get { return m_getMeth; }
+ set { m_getMeth = value; }
+ }
+
+ public MethodDefinition SetMethod {
+ get { return m_setMeth; }
+ set { m_setMeth = value; }
+ }
+
+ ParameterDefinitionCollection CloneParameterCollection (ParameterDefinitionCollection original)
+ {
+ ParameterDefinitionCollection clone = new ParameterDefinitionCollection (
+ original.Container);
+ foreach (ParameterDefinition param in original)
+ clone.Add (param);
+ return clone;
+ }
+
+ public bool HasConstant {
+ get { return m_hasConstant; }
+ }
+
+ public object Constant {
+ get { return m_const; }
+ set {
+ m_hasConstant = true;
+ m_const = value;
+ }
+ }
+
+ #region PropertyAttributes
+
+ public bool IsSpecialName {
+ get { return (m_attributes & PropertyAttributes.SpecialName) != 0; }
+ set {
+ if (value)
+ m_attributes |= PropertyAttributes.SpecialName;
+ else
+ m_attributes &= ~PropertyAttributes.SpecialName;
+ }
+ }
+
+ public bool IsRuntimeSpecialName {
+ get { return (m_attributes & PropertyAttributes.RTSpecialName) != 0; }
+ set {
+ if (value)
+ m_attributes |= PropertyAttributes.RTSpecialName;
+ else
+ m_attributes &= ~PropertyAttributes.RTSpecialName;
+ }
+ }
+
+ public bool HasDefault {
+ get { return (m_attributes & PropertyAttributes.HasDefault) != 0; }
+ set {
+ if (value)
+ m_attributes |= PropertyAttributes.HasDefault;
+ else
+ m_attributes &= ~PropertyAttributes.HasDefault;
+ }
+ }
+
+ #endregion
+
+ public new TypeDefinition DeclaringType {
+ get { return (TypeDefinition) base.DeclaringType; }
+ set { base.DeclaringType = value; }
+ }
+
+ public PropertyDefinition (string name, TypeReference propertyType, PropertyAttributes attrs) : base (name, propertyType)
+ {
+ m_attributes = attrs;
+ }
+
+ public override PropertyDefinition Resolve ()
+ {
+ return this;
+ }
+
+ public static MethodDefinition CreateGetMethod (PropertyDefinition prop)
+ {
+ MethodDefinition get = new MethodDefinition (
+ string.Concat ("get_", prop.Name), (MethodAttributes) 0, prop.PropertyType);
+ prop.GetMethod = get;
+ return get;
+ }
+
+ public static MethodDefinition CreateSetMethod (PropertyDefinition prop)
+ {
+ MethodDefinition set = new MethodDefinition (
+ string.Concat ("set_", prop.Name), (MethodAttributes) 0, prop.PropertyType);
+ prop.SetMethod = set;
+ return set;
+ }
+
+ public PropertyDefinition Clone ()
+ {
+ return Clone (this, new ImportContext (NullReferenceImporter.Instance, this.DeclaringType));
+ }
+
+ internal static PropertyDefinition Clone (PropertyDefinition prop, ImportContext context)
+ {
+ PropertyDefinition np = new PropertyDefinition (
+ prop.Name,
+ context.Import (prop.PropertyType),
+ prop.Attributes);
+
+ if (prop.HasConstant)
+ np.Constant = prop.Constant;
+
+ if (context.GenericContext.Type is TypeDefinition) {
+ TypeDefinition type = context.GenericContext.Type as TypeDefinition;
+ if (prop.SetMethod != null)
+ np.SetMethod = type.Methods.GetMethod (prop.SetMethod.Name, prop.SetMethod.Parameters);
+ if (prop.GetMethod != null)
+ np.GetMethod = type.Methods.GetMethod (prop.GetMethod.Name, prop.GetMethod.Parameters);
+ }
+
+ foreach (CustomAttribute ca in prop.CustomAttributes)
+ np.CustomAttributes.Add (CustomAttribute.Clone (ca, context));
+
+ return np;
+ }
+
+ public override string ToString ()
+ {
+ StringBuilder sb = new StringBuilder ();
+ sb.Append (PropertyType.ToString ());
+ sb.Append (' ');
+
+ if (this.DeclaringType != null) {
+ sb.Append (this.DeclaringType.ToString ());
+ sb.Append ("::");
+ }
+
+ sb.Append (this.Name);
+ sb.Append ('(');
+ ParameterDefinitionCollection parameters = this.Parameters;
+ for (int i = 0; i < parameters.Count; i++) {
+ if (i > 0)
+ sb.Append (',');
+ sb.Append (parameters [i].ParameterType.ToString ());
+ }
+ sb.Append (')');
+ return sb.ToString ();
+ }
+
+ public override void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitPropertyDefinition (this);
+
+ this.CustomAttributes.Accept (visitor);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/PropertyDefinitionCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/PropertyDefinitionCollection.cs
new file mode 100644
index 00000000000..b437647ccba
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/PropertyDefinitionCollection.cs
@@ -0,0 +1,138 @@
+//
+// PropertyDefinitionCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Fri Mar 30 18:43:57 +0200 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class PropertyDefinitionCollection : CollectionBase, IReflectionVisitable {
+
+ TypeDefinition m_container;
+
+ public PropertyDefinition this [int index] {
+ get { return List [index] as PropertyDefinition; }
+ set { List [index] = value; }
+ }
+
+ public TypeDefinition Container {
+ get { return m_container; }
+ }
+
+ public PropertyDefinitionCollection (TypeDefinition container)
+ {
+ m_container = container;
+ }
+
+ public void Add (PropertyDefinition value)
+ {
+ Attach (value);
+
+ List.Add (value);
+ }
+
+
+ public new void Clear ()
+ {
+ foreach (PropertyDefinition item in this)
+ Detach (item);
+
+ base.Clear ();
+ }
+
+ public bool Contains (PropertyDefinition value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (PropertyDefinition value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, PropertyDefinition value)
+ {
+ Attach (value);
+
+ List.Insert (index, value);
+ }
+
+ public void Remove (PropertyDefinition value)
+ {
+ List.Remove (value);
+
+ Detach (value);
+ }
+
+
+ public new void RemoveAt (int index)
+ {
+ PropertyDefinition item = this [index];
+ Remove (item);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is PropertyDefinition))
+ throw new ArgumentException ("Must be of type " + typeof (PropertyDefinition).FullName);
+ }
+
+ public PropertyDefinition [] GetProperties (string name)
+ {
+ ArrayList ret = new ArrayList ();
+ foreach (PropertyDefinition prop in this)
+ if (prop.Name == name)
+ ret.Add (prop);
+
+ return ret.ToArray (typeof (PropertyDefinition)) as PropertyDefinition [];
+ }
+
+ void Attach (MemberReference member)
+ {
+ if (member.DeclaringType != null)
+ throw new ReflectionException ("Member already attached, clone it instead");
+
+ member.DeclaringType = m_container;
+ }
+
+ void Detach (MemberReference member)
+ {
+ member.DeclaringType = null;
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitPropertyDefinitionCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/PropertyReference.cs b/mcs/tools/cil-strip/Mono.Cecil/PropertyReference.cs
new file mode 100644
index 00000000000..6daaee57670
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/PropertyReference.cs
@@ -0,0 +1,56 @@
+//
+// PropertyReference.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal abstract class PropertyReference : MemberReference {
+
+ TypeReference m_propertyType;
+ protected ParameterDefinitionCollection m_parameters;
+
+ public TypeReference PropertyType {
+ get { return m_propertyType; }
+ set { m_propertyType = value; }
+ }
+
+ public abstract bool HasParameters {
+ get;
+ }
+
+ public abstract ParameterDefinitionCollection Parameters {
+ get;
+ }
+
+ public PropertyReference (string name, TypeReference propertyType) : base (name)
+ {
+ m_propertyType = propertyType;
+ }
+
+ public abstract PropertyDefinition Resolve ();
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ReferenceType.cs b/mcs/tools/cil-strip/Mono.Cecil/ReferenceType.cs
new file mode 100644
index 00000000000..1c7a97eb29f
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ReferenceType.cs
@@ -0,0 +1,45 @@
+//
+// ReferenceType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal sealed class ReferenceType : TypeSpecification {
+
+ public override string Name {
+ get { return string.Concat (base.Name, "&"); }
+ }
+
+ public override string FullName {
+ get { return string.Concat (base.FullName, "&"); }
+ }
+
+ public ReferenceType (TypeReference type) : base (type)
+ {
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ReflectionController.cs b/mcs/tools/cil-strip/Mono.Cecil/ReflectionController.cs
index 22fdab18147..22fdab18147 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ReflectionController.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil/ReflectionController.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ReflectionException.cs b/mcs/tools/cil-strip/Mono.Cecil/ReflectionException.cs
new file mode 100644
index 00000000000..b0c7215b9d3
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ReflectionException.cs
@@ -0,0 +1,55 @@
+//
+// ReflectionException.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ using Mono.Cecil.Metadata;
+
+ internal sealed class ReflectionException : MetadataFormatException {
+
+ internal ReflectionException () : base ()
+ {
+ }
+
+ internal ReflectionException (string message) : base (message)
+ {
+ }
+
+ internal ReflectionException (string message, params string [] parameters) :
+ base (string.Format (message, parameters))
+ {
+ }
+
+ internal ReflectionException (string message, Exception inner) :
+ base (message, inner)
+ {
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ReflectionHelper.cs b/mcs/tools/cil-strip/Mono.Cecil/ReflectionHelper.cs
index d5e4c1df718..d5e4c1df718 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ReflectionHelper.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil/ReflectionHelper.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ReflectionReader.cs b/mcs/tools/cil-strip/Mono.Cecil/ReflectionReader.cs
index 07dd3385542..07dd3385542 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ReflectionReader.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil/ReflectionReader.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/ReflectionWriter.cs b/mcs/tools/cil-strip/Mono.Cecil/ReflectionWriter.cs
index 418b8941c78..418b8941c78 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/ReflectionWriter.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil/ReflectionWriter.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil/Resource.cs b/mcs/tools/cil-strip/Mono.Cecil/Resource.cs
new file mode 100644
index 00000000000..9c9808578e6
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/Resource.cs
@@ -0,0 +1,91 @@
+//
+// Resource.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System.Collections;
+
+ internal abstract class Resource : IAnnotationProvider, IReflectionStructureVisitable {
+
+ string m_name;
+ ManifestResourceAttributes m_attributes;
+ IDictionary m_annotations;
+
+ public string Name {
+ get { return m_name; }
+ set { m_name = value; }
+ }
+
+ public ManifestResourceAttributes Flags {
+ get { return m_attributes; }
+ set { m_attributes = value; }
+ }
+
+ IDictionary IAnnotationProvider.Annotations {
+ get {
+ if (m_annotations == null)
+ m_annotations = new Hashtable ();
+ return m_annotations;
+ }
+ }
+
+ #region ManifestResourceAttributes
+
+ public bool IsPublic {
+ get { return (m_attributes & ManifestResourceAttributes.VisibilityMask) == ManifestResourceAttributes.Public; }
+ set {
+ if (value) {
+ m_attributes &= ~ManifestResourceAttributes.VisibilityMask;
+ m_attributes |= ManifestResourceAttributes.Public;
+ } else
+ m_attributes &= ~(ManifestResourceAttributes.VisibilityMask & ManifestResourceAttributes.Public);
+ }
+ }
+
+ public bool IsPrivate {
+ get { return (m_attributes & ManifestResourceAttributes.VisibilityMask) == ManifestResourceAttributes.Private; }
+ set {
+ if (value) {
+ m_attributes &= ~ManifestResourceAttributes.VisibilityMask;
+ m_attributes |= ManifestResourceAttributes.Private;
+ } else
+ m_attributes &= ~(ManifestResourceAttributes.VisibilityMask & ManifestResourceAttributes.Private);
+ }
+ }
+
+ #endregion
+
+ internal Resource (string name, ManifestResourceAttributes attributes)
+ {
+ m_name = name;
+ m_attributes = attributes;
+ }
+
+ public abstract void Accept (IReflectionStructureVisitor visitor);
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/ResourceCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/ResourceCollection.cs
new file mode 100644
index 00000000000..feadcc977e0
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/ResourceCollection.cs
@@ -0,0 +1,93 @@
+//
+// ResourceCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Wed Sep 27 12:46:54 CEST 2006
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Cil;
+
+ internal sealed class ResourceCollection : CollectionBase, IReflectionStructureVisitable {
+
+ ModuleDefinition m_container;
+
+ public Resource this [int index] {
+ get { return List [index] as Resource; }
+ set { List [index] = value; }
+ }
+
+ public ModuleDefinition Container {
+ get { return m_container; }
+ }
+
+ public ResourceCollection (ModuleDefinition container)
+ {
+ m_container = container;
+ }
+
+ public void Add (Resource value)
+ {
+ List.Add (value);
+ }
+
+ public bool Contains (Resource value)
+ {
+ return List.Contains (value);
+ }
+
+ public int IndexOf (Resource value)
+ {
+ return List.IndexOf (value);
+ }
+
+ public void Insert (int index, Resource value)
+ {
+ List.Insert (index, value);
+ }
+
+ public void Remove (Resource value)
+ {
+ List.Remove (value);
+ }
+
+ protected override void OnValidate (object o)
+ {
+ if (! (o is Resource))
+ throw new ArgumentException ("Must be of type " + typeof (Resource).FullName);
+ }
+
+ public void Accept (IReflectionStructureVisitor visitor)
+ {
+ visitor.VisitResourceCollection (this);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/SecurityAction.cs b/mcs/tools/cil-strip/Mono.Cecil/SecurityAction.cs
new file mode 100644
index 00000000000..3f1be070156
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/SecurityAction.cs
@@ -0,0 +1,48 @@
+//
+// SecurityAction.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal enum SecurityAction : short {
+ Request = 1,
+ Demand = 2,
+ Assert = 3,
+ Deny = 4,
+ PermitOnly = 5,
+ LinkDemand = 6,
+ InheritDemand = 7,
+ RequestMinimum = 8,
+ RequestOptional = 9,
+ RequestRefuse = 10,
+ PreJitGrant = 11,
+ PreJitDeny = 12,
+ NonCasDemand = 13,
+ NonCasLinkDemand = 14,
+ NonCasInheritance = 15
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/SecurityDeclaration.cs b/mcs/tools/cil-strip/Mono.Cecil/SecurityDeclaration.cs
new file mode 100644
index 00000000000..8bda63de7ce
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/SecurityDeclaration.cs
@@ -0,0 +1,136 @@
+//
+// SecurityDeclaration.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+ using System.Security;
+
+ internal sealed class SecurityDeclaration : IRequireResolving, IAnnotationProvider, IReflectionVisitable {
+
+ SecurityAction m_action;
+ SecurityDeclarationReader m_reader;
+ IDictionary m_annotations;
+
+#if !CF_1_0 && !CF_2_0
+ PermissionSet m_permSet;
+#endif
+
+ bool m_resolved;
+ byte [] m_blob;
+
+ public SecurityAction Action {
+ get { return m_action; }
+ set { m_action = value; }
+ }
+
+#if !CF_1_0 && !CF_2_0
+ public PermissionSet PermissionSet {
+ get { return m_permSet; }
+ set { m_permSet = value; }
+ }
+#endif
+
+ public bool Resolved {
+ get { return m_resolved; }
+ set { m_resolved = value; }
+ }
+
+ public byte [] Blob {
+ get { return m_blob; }
+ set { m_blob = value; }
+ }
+
+ IDictionary IAnnotationProvider.Annotations {
+ get {
+ if (m_annotations == null)
+ m_annotations = new Hashtable ();
+ return m_annotations;
+ }
+ }
+
+ public SecurityDeclaration (SecurityAction action)
+ {
+ m_action = action;
+ }
+
+ internal SecurityDeclaration (SecurityAction action, SecurityDeclarationReader reader)
+ {
+ m_action = action;
+ m_reader = reader;
+ }
+
+ public SecurityDeclaration Clone ()
+ {
+ return Clone (this);
+ }
+
+ internal static SecurityDeclaration Clone (SecurityDeclaration sec)
+ {
+ SecurityDeclaration sd = new SecurityDeclaration (sec.Action);
+ if (!sec.Resolved) {
+ sd.Resolved = false;
+ sd.Blob = sec.Blob;
+ return sd;
+ }
+
+#if !CF_1_0 && !CF_2_0
+ sd.PermissionSet = sec.PermissionSet.Copy ();
+#endif
+ return sd;
+ }
+
+ public bool Resolve ()
+ {
+ if (m_resolved)
+ return true;
+
+ if (m_reader == null)
+ return false;
+
+ SecurityDeclaration clone = m_reader.FromByteArray (m_action, m_blob, true);
+ if (!clone.Resolved)
+ return false;
+
+ m_action = clone.Action;
+#if !CF_1_0 && !CF_2_0
+ m_permSet = clone.PermissionSet.Copy ();
+#endif
+ m_resolved = true;
+
+ return true;
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitSecurityDeclaration (this);
+ }
+ }
+}
+
diff --git a/mcs/tools/cil-strip/Mono.Cecil/SecurityDeclarationCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/SecurityDeclarationCollection.cs
new file mode 100644
index 00000000000..e5565e753c7
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/SecurityDeclarationCollection.cs
@@ -0,0 +1,157 @@
+//
+// SecurityDeclarationCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ internal sealed class SecurityDeclarationCollection : IReflectionVisitable, IEnumerable {
+
+ IDictionary m_items;
+ IHasSecurity m_container;
+
+ public SecurityDeclaration this [int index] {
+ get { return m_items [index] as SecurityDeclaration; }
+ set { m_items [index] = value; }
+ }
+
+ public SecurityDeclaration this [SecurityAction action] {
+ get { return m_items [action] as SecurityDeclaration; }
+ set { m_items [action] = value; }
+ }
+
+ public IHasSecurity Container {
+ get { return m_container; }
+ }
+
+ public int Count {
+ get { return m_items.Count; }
+ }
+
+ public bool IsSynchronized {
+ get { return false; }
+ }
+
+ public object SyncRoot {
+ get { return this; }
+ }
+
+ public SecurityDeclarationCollection (IHasSecurity container)
+ {
+ m_container = container;
+ m_items = new Hashtable ();
+ }
+
+ public void Add (SecurityDeclaration value)
+ {
+ if (value == null)
+ throw new ArgumentNullException ("value");
+
+ // Each action can only be added once so...
+ SecurityDeclaration current = (SecurityDeclaration) m_items[value.Action];
+ if (current != null) {
+ // ... further additions are transformed into unions
+#if !CF_1_0 && !CF_2_0
+ current.PermissionSet = current.PermissionSet.Union (value.PermissionSet);
+#endif
+ } else {
+ m_items.Add (value.Action, value);
+ SetHasSecurity (true);
+ }
+ }
+
+ public void Clear ()
+ {
+ m_items.Clear ();
+ SetHasSecurity (false);
+ }
+
+ public bool Contains (SecurityAction action)
+ {
+ return (m_items [action] != null);
+ }
+
+ public bool Contains (SecurityDeclaration value)
+ {
+ if (value == null)
+ return (m_items.Count == 0);
+
+ SecurityDeclaration item = (SecurityDeclaration) m_items[value.Action];
+ if (item == null)
+ return false;
+
+#if !CF_1_0 && !CF_2_0
+ return value.PermissionSet.IsSubsetOf (item.PermissionSet);
+#else
+ // XXX For CF, this concept does not exist--so always be true
+ return true;
+#endif
+ }
+
+ public void Remove (SecurityAction action)
+ {
+ m_items.Remove (action);
+ SetHasSecurity (this.Count > 0);
+ }
+
+ public void CopyTo (Array ary, int index)
+ {
+ m_items.Values.CopyTo (ary, index);
+ }
+
+ public IEnumerator GetEnumerator ()
+ {
+ return m_items.Values.GetEnumerator ();
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitSecurityDeclarationCollection (this);
+ }
+
+ private void SetHasSecurity (bool value)
+ {
+ TypeDefinition td = (m_container as TypeDefinition);
+ if (td != null) {
+ if (value)
+ td.Attributes |= TypeAttributes.HasSecurity;
+ else
+ td.Attributes &= ~TypeAttributes.HasSecurity;
+ return;
+ }
+ MethodDefinition md = (m_container as MethodDefinition);
+ if (md != null) {
+ if (value)
+ md.Attributes |= MethodAttributes.HasSecurity;
+ else
+ md.Attributes &= ~MethodAttributes.HasSecurity;
+ }
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/SecurityDeclarationReader.cs b/mcs/tools/cil-strip/Mono.Cecil/SecurityDeclarationReader.cs
index 77a0cb9ad32..77a0cb9ad32 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/SecurityDeclarationReader.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil/SecurityDeclarationReader.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil/SentinelType.cs b/mcs/tools/cil-strip/Mono.Cecil/SentinelType.cs
new file mode 100644
index 00000000000..9509089f750
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/SentinelType.cs
@@ -0,0 +1,37 @@
+//
+// SentinelType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2007 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal sealed class SentinelType : TypeSpecification {
+
+ public SentinelType (TypeReference elementType) : base (elementType)
+ {
+ }
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/StructureReader.cs b/mcs/tools/cil-strip/Mono.Cecil/StructureReader.cs
index 6085cdb42b9..6085cdb42b9 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/StructureReader.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil/StructureReader.cs
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil/StructureWriter.cs b/mcs/tools/cil-strip/Mono.Cecil/StructureWriter.cs
index b2a43300302..b2a43300302 100644
--- a/mcs/class/Mono.Cecil/Mono.Cecil/StructureWriter.cs
+++ b/mcs/tools/cil-strip/Mono.Cecil/StructureWriter.cs
diff --git a/mcs/tools/cil-strip/Mono.Cecil/TableComparers.cs b/mcs/tools/cil-strip/Mono.Cecil/TableComparers.cs
new file mode 100644
index 00000000000..48943b94d92
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/TableComparers.cs
@@ -0,0 +1,276 @@
+//
+// TableComparers.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+
+ using Mono.Cecil.Metadata;
+
+ sealed class TableComparers {
+
+ internal sealed class TypeDef : IComparer {
+
+ public static readonly TypeDef Instance = new TypeDef ();
+
+ public int Compare (object x, object y)
+ {
+ TypeDefinition a = x as TypeDefinition;
+ TypeDefinition b = y as TypeDefinition;
+
+ if (a == null || b == null)
+ throw new ReflectionException ("TypeDefComparer can only compare TypeDefinition");
+
+ if (a.Name == Constants.ModuleType && b.Name == Constants.ModuleType)
+ return 0;
+ else if (a.Name == Constants.ModuleType)
+ return -1;
+ else if (b.Name == Constants.ModuleType)
+ return 1;
+
+ return Comparer.Default.Compare (a.FullName, b.FullName);
+ }
+ }
+
+ internal sealed class TypeRef : IComparer {
+
+ public static readonly TypeRef Instance = new TypeRef ();
+
+ public int Compare (object x, object y)
+ {
+ TypeReference a = x as TypeReference;
+ TypeReference b = y as TypeReference;
+
+ if (a == null || b == null)
+ throw new ReflectionException ("TypeRefComparer can only compare TypeReference");
+
+ if (b.DeclaringType == a)
+ return -1;
+ else if (a.DeclaringType == b)
+ return 1;
+
+ return Comparer.Default.Compare (a.FullName, b.FullName);
+ }
+ }
+
+ internal sealed class NestedClass : IComparer {
+
+ public static readonly NestedClass Instance = new NestedClass ();
+
+ public int Compare (object x, object y)
+ {
+ NestedClassRow a = x as NestedClassRow;
+ NestedClassRow b = y as NestedClassRow;
+
+ return Comparer.Default.Compare (a.NestedClass, b.NestedClass);
+ }
+ }
+
+ internal sealed class Constant : IComparer {
+
+ public static readonly Constant Instance = new Constant ();
+
+ public int Compare (object x, object y)
+ {
+ ConstantRow a = x as ConstantRow;
+ ConstantRow b = y as ConstantRow;
+
+ return Comparer.Default.Compare (
+ Utilities.CompressMetadataToken (CodedIndex.HasConstant, a.Parent),
+ Utilities.CompressMetadataToken (CodedIndex.HasConstant, b.Parent));
+ }
+
+ }
+
+ internal sealed class InterfaceImpl : IComparer {
+
+ public static readonly InterfaceImpl Instance = new InterfaceImpl ();
+
+ public int Compare (object x, object y)
+ {
+ InterfaceImplRow a = x as InterfaceImplRow;
+ InterfaceImplRow b = y as InterfaceImplRow;
+
+ int klass = Comparer.Default.Compare (a.Class, b.Class);
+
+ if (klass == 0)
+ return Comparer.Default.Compare (
+ Utilities.CompressMetadataToken (CodedIndex.TypeDefOrRef, a.Interface),
+ Utilities.CompressMetadataToken (CodedIndex.TypeDefOrRef, b.Interface));
+
+ return klass;
+ }
+ }
+
+ internal sealed class MethodSem : IComparer {
+
+ public static readonly MethodSem Instance = new MethodSem ();
+
+ public int Compare (object x, object y)
+ {
+ MethodSemanticsRow a = x as MethodSemanticsRow;
+ MethodSemanticsRow b = y as MethodSemanticsRow;
+
+ return Comparer.Default.Compare (
+ Utilities.CompressMetadataToken (CodedIndex.HasSemantics, a.Association),
+ Utilities.CompressMetadataToken (CodedIndex.HasSemantics, b.Association));
+ }
+ }
+
+ internal sealed class CustomAttribute : IComparer {
+
+ public static readonly CustomAttribute Instance = new CustomAttribute ();
+
+ public int Compare (object x, object y)
+ {
+ CustomAttributeRow a = x as CustomAttributeRow;
+ CustomAttributeRow b = y as CustomAttributeRow;
+
+ return Comparer.Default.Compare (
+ Utilities.CompressMetadataToken (CodedIndex.HasCustomAttribute, a.Parent),
+ Utilities.CompressMetadataToken (CodedIndex.HasCustomAttribute, b.Parent));
+ }
+ }
+
+ internal sealed class SecurityDeclaration : IComparer {
+
+ public static readonly SecurityDeclaration Instance = new SecurityDeclaration ();
+
+ public int Compare (object x, object y)
+ {
+ DeclSecurityRow a = x as DeclSecurityRow;
+ DeclSecurityRow b = y as DeclSecurityRow;
+
+ return Comparer.Default.Compare (
+ Utilities.CompressMetadataToken (CodedIndex.HasDeclSecurity, a.Parent),
+ Utilities.CompressMetadataToken (CodedIndex.HasDeclSecurity, b.Parent));
+ }
+ }
+
+ internal sealed class Override : IComparer {
+
+ public static readonly Override Instance = new Override ();
+
+ public int Compare (object x, object y)
+ {
+ MethodImplRow a = x as MethodImplRow;
+ MethodImplRow b = y as MethodImplRow;
+
+ return Comparer.Default.Compare (a.Class, b.Class);
+ }
+ }
+
+ internal sealed class PInvoke : IComparer {
+
+ public static readonly PInvoke Instance = new PInvoke ();
+
+ public int Compare (object x, object y)
+ {
+ ImplMapRow a = x as ImplMapRow;
+ ImplMapRow b = y as ImplMapRow;
+
+ return Comparer.Default.Compare (a.MemberForwarded.RID, b.MemberForwarded.RID);
+ }
+ }
+
+ internal sealed class FieldRVA : IComparer {
+
+ public static readonly FieldRVA Instance = new FieldRVA ();
+
+ public int Compare (object x, object y)
+ {
+ FieldRVARow a = x as FieldRVARow;
+ FieldRVARow b = y as FieldRVARow;
+
+ return Comparer.Default.Compare (a.Field, b.Field);
+ }
+ }
+
+ internal sealed class FieldLayout : IComparer {
+
+ public static readonly FieldLayout Instance = new FieldLayout ();
+
+ public int Compare (object x, object y)
+ {
+ FieldLayoutRow a = x as FieldLayoutRow;
+ FieldLayoutRow b = y as FieldLayoutRow;
+
+ return Comparer.Default.Compare (a.Field, b.Field);
+ }
+ }
+
+ internal sealed class FieldMarshal : IComparer {
+
+ public static readonly FieldMarshal Instance = new FieldMarshal ();
+
+ public int Compare (object x, object y)
+ {
+ FieldMarshalRow a = x as FieldMarshalRow;
+ FieldMarshalRow b = y as FieldMarshalRow;
+
+ return Comparer.Default.Compare (
+ Utilities.CompressMetadataToken (CodedIndex.HasFieldMarshal, a.Parent),
+ Utilities.CompressMetadataToken (CodedIndex.HasFieldMarshal, b.Parent));
+ }
+ }
+
+ internal sealed class TypeLayout : IComparer {
+
+ public static readonly TypeLayout Instance = new TypeLayout ();
+
+ public int Compare (object x, object y)
+ {
+ ClassLayoutRow a = x as ClassLayoutRow;
+ ClassLayoutRow b = y as ClassLayoutRow;
+
+ return Comparer.Default.Compare (a.Parent, b.Parent);
+ }
+ }
+
+ internal sealed class GenericParam : IComparer {
+
+ public static readonly GenericParam Instance = new GenericParam ();
+
+ public int Compare (object x, object y)
+ {
+ GenericParameter a = x as GenericParameter;
+ GenericParameter b = y as GenericParameter;
+
+ int token = Comparer.Default.Compare (
+ Utilities.CompressMetadataToken (CodedIndex.TypeOrMethodDef, a.Owner.MetadataToken),
+ Utilities.CompressMetadataToken (CodedIndex.TypeOrMethodDef, b.Owner.MetadataToken));
+
+ if (token == 0)
+ return Comparer.Default.Compare (a.Position, b.Position);
+
+ return token;
+ }
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/TargetRuntime.cs b/mcs/tools/cil-strip/Mono.Cecil/TargetRuntime.cs
new file mode 100644
index 00000000000..52abacee10e
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/TargetRuntime.cs
@@ -0,0 +1,37 @@
+//
+// TargetRuntime.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal enum TargetRuntime {
+ NET_1_0,
+ NET_1_1,
+ NET_2_0,
+ NET_4_0,
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/TypeAttributes.cs b/mcs/tools/cil-strip/Mono.Cecil/TypeAttributes.cs
new file mode 100644
index 00000000000..304ecbfd3f9
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/TypeAttributes.cs
@@ -0,0 +1,80 @@
+//
+// TypeAttributes.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ [Flags]
+ internal enum TypeAttributes : uint {
+ // Visibility attributes
+ VisibilityMask = 0x00000007, // Use this mask to retrieve visibility information
+ NotPublic = 0x00000000, // Class has no public scope
+ Public = 0x00000001, // Class has public scope
+ NestedPublic = 0x00000002, // Class is nested with public visibility
+ NestedPrivate = 0x00000003, // Class is nested with private visibility
+ NestedFamily = 0x00000004, // Class is nested with family visibility
+ NestedAssembly = 0x00000005, // Class is nested with assembly visibility
+ NestedFamANDAssem = 0x00000006, // Class is nested with family and assembly visibility
+ NestedFamORAssem = 0x00000007, // Class is nested with family or assembly visibility
+
+ // Class layout attributes
+ LayoutMask = 0x00000018, // Use this mask to retrieve class layout information
+ AutoLayout = 0x00000000, // Class fields are auto-laid out
+ SequentialLayout = 0x00000008, // Class fields are laid out sequentially
+ ExplicitLayout = 0x00000010, // Layout is supplied explicitly
+
+ // Class semantics attributes
+ ClassSemanticMask = 0x00000020, // Use this mask to retrieve class semantics information
+ Class = 0x00000000, // Type is a class
+ Interface = 0x00000020, // Type is an interface
+
+ // Special semantics in addition to class semantics
+ Abstract = 0x00000080, // Class is abstract
+ Sealed = 0x00000100, // Class cannot be extended
+ SpecialName = 0x00000400, // Class name is special
+
+ // Implementation attributes
+ Import = 0x00001000, // Class/Interface is imported
+ Serializable = 0x00002000, // Class is serializable
+
+ // String formatting attributes
+ StringFormatMask = 0x00030000, // Use this mask to retrieve string information for native interop
+ AnsiClass = 0x00000000, // LPSTR is interpreted as ANSI
+ UnicodeClass = 0x00010000, // LPSTR is interpreted as Unicode
+ AutoClass = 0x00020000, // LPSTR is interpreted automatically
+
+ // Class initialization attributes
+ BeforeFieldInit = 0x00100000, // Initialize the class before first static field access
+
+ // Additional flags
+ RTSpecialName = 0x00000800, // CLI provides 'special' behavior, depending upon the name of the Type
+ HasSecurity = 0x00040000, // Type has security associate with it
+ Forwarder = 0x00200000, // Exported type is a type forwarder
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/TypeDefinition.cs b/mcs/tools/cil-strip/Mono.Cecil/TypeDefinition.cs
new file mode 100644
index 00000000000..5731b7de16d
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/TypeDefinition.cs
@@ -0,0 +1,562 @@
+//
+// TypeDefinition.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal sealed class TypeDefinition : TypeReference, IMemberDefinition, IHasSecurity {
+
+ TypeAttributes m_attributes;
+ TypeReference m_baseType;
+
+ bool m_hasInfo;
+ ushort m_packingSize;
+ uint m_classSize;
+
+ InterfaceCollection m_interfaces;
+ NestedTypeCollection m_nestedTypes;
+ MethodDefinitionCollection m_methods;
+ ConstructorCollection m_ctors;
+ FieldDefinitionCollection m_fields;
+ EventDefinitionCollection m_events;
+ PropertyDefinitionCollection m_properties;
+ SecurityDeclarationCollection m_secDecls;
+
+ public TypeAttributes Attributes {
+ get { return m_attributes; }
+ set { m_attributes = value; }
+ }
+
+ public TypeReference BaseType {
+ get { return m_baseType; }
+ set { m_baseType = value; }
+ }
+
+ public bool HasLayoutInfo {
+ get { return m_hasInfo; }
+ }
+
+ public ushort PackingSize {
+ get { return m_packingSize; }
+ set {
+ m_hasInfo = true;
+ m_packingSize = value;
+ }
+ }
+
+ public uint ClassSize {
+ get { return m_classSize; }
+ set {
+ m_hasInfo = true;
+ m_classSize = value;
+ }
+ }
+
+ public bool HasInterfaces {
+ get { return (m_interfaces == null) ? false : (m_interfaces.Count > 0); }
+ }
+
+ public InterfaceCollection Interfaces {
+ get {
+ if (m_interfaces == null)
+ m_interfaces = new InterfaceCollection (this);
+
+ return m_interfaces;
+ }
+ }
+
+ public bool HasNestedTypes {
+ get { return (m_nestedTypes == null) ? false : (m_nestedTypes.Count > 0); }
+ }
+
+ public NestedTypeCollection NestedTypes {
+ get {
+ if (m_nestedTypes == null)
+ m_nestedTypes = new NestedTypeCollection (this);
+
+ return m_nestedTypes;
+ }
+ }
+
+ public bool HasMethods {
+ get { return (m_methods == null) ? false : (m_methods.Count > 0); }
+ }
+
+ public MethodDefinitionCollection Methods {
+ get {
+ if (m_methods == null)
+ m_methods = new MethodDefinitionCollection (this);
+
+ return m_methods;
+ }
+ }
+
+ public bool HasConstructors {
+ get { return (m_ctors == null) ? false : (m_ctors.Count > 0); }
+ }
+
+ public ConstructorCollection Constructors {
+ get {
+ if (m_ctors == null)
+ m_ctors = new ConstructorCollection (this);
+
+ return m_ctors;
+ }
+ }
+
+ public bool HasFields {
+ get { return (m_fields == null) ? false : (m_fields.Count > 0); }
+ }
+
+ public FieldDefinitionCollection Fields {
+ get {
+ if (m_fields == null)
+ m_fields = new FieldDefinitionCollection (this);
+
+ return m_fields;
+ }
+ }
+
+ public bool HasEvents {
+ get { return (m_events == null) ? false : (m_events.Count > 0); }
+ }
+
+ public EventDefinitionCollection Events {
+ get {
+ if (m_events == null)
+ m_events = new EventDefinitionCollection (this);
+
+ return m_events;
+ }
+ }
+
+ public bool HasProperties {
+ get { return (m_properties == null) ? false : (m_properties.Count > 0); }
+ }
+
+ public PropertyDefinitionCollection Properties {
+ get {
+ if (m_properties == null)
+ m_properties = new PropertyDefinitionCollection (this);
+
+ return m_properties;
+ }
+ }
+
+ public bool HasSecurityDeclarations {
+ get { return (m_secDecls == null) ? false : (m_secDecls.Count > 0); }
+ }
+
+ public SecurityDeclarationCollection SecurityDeclarations {
+ get {
+ if (m_secDecls == null)
+ m_secDecls = new SecurityDeclarationCollection (this);
+
+ return m_secDecls;
+ }
+ }
+
+ #region TypeAttributes
+
+ public bool IsNotPublic {
+ get { return (m_attributes & TypeAttributes.VisibilityMask) == TypeAttributes.NotPublic; }
+ set {
+ if (value) {
+ m_attributes &= ~TypeAttributes.VisibilityMask;
+ m_attributes |= TypeAttributes.NotPublic;
+ } else
+ m_attributes &= ~(TypeAttributes.VisibilityMask & TypeAttributes.NotPublic);
+ }
+ }
+
+ public bool IsPublic {
+ get { return (m_attributes & TypeAttributes.VisibilityMask) == TypeAttributes.Public; }
+ set {
+ if (value) {
+ m_attributes &= ~TypeAttributes.VisibilityMask;
+ m_attributes |= TypeAttributes.Public;
+ } else
+ m_attributes &= ~(TypeAttributes.VisibilityMask & TypeAttributes.Public);
+ }
+ }
+
+ public bool IsNestedPublic {
+ get { return (m_attributes & TypeAttributes.VisibilityMask) == TypeAttributes.NestedPublic; }
+ set {
+ if (value) {
+ m_attributes &= ~TypeAttributes.VisibilityMask;
+ m_attributes |= TypeAttributes.NestedPublic;
+ } else
+ m_attributes &= ~(TypeAttributes.VisibilityMask & TypeAttributes.NestedPublic);
+ }
+ }
+
+ public bool IsNestedPrivate {
+ get { return (m_attributes & TypeAttributes.VisibilityMask) == TypeAttributes.NestedPrivate; }
+ set {
+ if (value) {
+ m_attributes &= ~TypeAttributes.VisibilityMask;
+ m_attributes |= TypeAttributes.NestedPrivate;
+ } else
+ m_attributes &= ~(TypeAttributes.VisibilityMask & TypeAttributes.NestedPrivate);
+ }
+ }
+
+ public bool IsNestedFamily {
+ get { return (m_attributes & TypeAttributes.VisibilityMask) == TypeAttributes.NestedFamily; }
+ set {
+ if (value) {
+ m_attributes &= ~TypeAttributes.VisibilityMask;
+ m_attributes |= TypeAttributes.NestedFamily;
+ } else
+ m_attributes &= ~(TypeAttributes.VisibilityMask & TypeAttributes.NestedFamily);
+ }
+ }
+
+ public bool IsNestedAssembly {
+ get { return (m_attributes & TypeAttributes.VisibilityMask) == TypeAttributes.NestedAssembly; }
+ set {
+ if (value) {
+ m_attributes &= ~TypeAttributes.VisibilityMask;
+ m_attributes |= TypeAttributes.NestedAssembly;
+ } else
+ m_attributes &= ~(TypeAttributes.VisibilityMask & TypeAttributes.NestedAssembly);
+ }
+ }
+
+ public bool IsNestedFamilyAndAssembly {
+ get { return (m_attributes & TypeAttributes.VisibilityMask) == TypeAttributes.NestedFamANDAssem; }
+ set {
+ if (value) {
+ m_attributes &= ~TypeAttributes.VisibilityMask;
+ m_attributes |= TypeAttributes.NestedFamANDAssem;
+ } else
+ m_attributes &= ~(TypeAttributes.VisibilityMask & TypeAttributes.NestedFamANDAssem);
+ }
+ }
+
+ public bool IsNestedFamilyOrAssembly {
+ get { return (m_attributes & TypeAttributes.VisibilityMask) == TypeAttributes.NestedFamORAssem; }
+ set {
+ if (value) {
+ m_attributes &= ~TypeAttributes.VisibilityMask;
+ m_attributes |= TypeAttributes.NestedFamORAssem;
+ } else
+ m_attributes &= ~(TypeAttributes.VisibilityMask & TypeAttributes.NestedFamORAssem);
+ }
+ }
+
+ public bool IsAutoLayout {
+ get { return (m_attributes & TypeAttributes.LayoutMask) == TypeAttributes.AutoLayout; }
+ set {
+ if (value) {
+ m_attributes &= ~TypeAttributes.LayoutMask;
+ m_attributes |= TypeAttributes.AutoLayout;
+ } else
+ m_attributes &= ~(TypeAttributes.LayoutMask & TypeAttributes.AutoLayout);
+ }
+ }
+
+ public bool IsSequentialLayout {
+ get { return (m_attributes & TypeAttributes.LayoutMask) == TypeAttributes.SequentialLayout; }
+ set {
+ if (value) {
+ m_attributes &= ~TypeAttributes.LayoutMask;
+ m_attributes |= TypeAttributes.SequentialLayout;
+ } else
+ m_attributes &= ~(TypeAttributes.LayoutMask & TypeAttributes.SequentialLayout);
+ }
+ }
+
+ public bool IsExplicitLayout {
+ get { return (m_attributes & TypeAttributes.LayoutMask) == TypeAttributes.ExplicitLayout; }
+ set {
+ if (value) {
+ m_attributes &= ~TypeAttributes.LayoutMask;
+ m_attributes |= TypeAttributes.ExplicitLayout;
+ } else
+ m_attributes &= ~(TypeAttributes.LayoutMask & TypeAttributes.ExplicitLayout);
+ }
+ }
+
+ public bool IsClass {
+ get { return (m_attributes & TypeAttributes.ClassSemanticMask) == TypeAttributes.Class; }
+ set {
+ if (value) {
+ m_attributes &= ~TypeAttributes.ClassSemanticMask;
+ m_attributes |= TypeAttributes.Class;
+ } else
+ m_attributes &= ~(TypeAttributes.ClassSemanticMask & TypeAttributes.Class);
+ }
+ }
+
+ public bool IsInterface {
+ get { return (m_attributes & TypeAttributes.ClassSemanticMask) == TypeAttributes.Interface; }
+ set {
+ if (value) {
+ m_attributes &= ~TypeAttributes.ClassSemanticMask;
+ m_attributes |= TypeAttributes.Interface;
+ } else
+ m_attributes &= ~(TypeAttributes.ClassSemanticMask & TypeAttributes.Interface);
+ }
+ }
+
+ public bool IsAbstract {
+ get { return (m_attributes & TypeAttributes.Abstract) != 0; }
+ set {
+ if (value)
+ m_attributes |= TypeAttributes.Abstract;
+ else
+ m_attributes &= ~TypeAttributes.Abstract;
+ }
+ }
+
+ public bool IsSealed {
+ get { return (m_attributes & TypeAttributes.Sealed) != 0; }
+ set {
+ if (value)
+ m_attributes |= TypeAttributes.Sealed;
+ else
+ m_attributes &= ~TypeAttributes.Sealed;
+ }
+ }
+
+ public bool IsSpecialName {
+ get { return (m_attributes & TypeAttributes.SpecialName) != 0; }
+ set {
+ if (value)
+ m_attributes |= TypeAttributes.SpecialName;
+ else
+ m_attributes &= ~TypeAttributes.SpecialName;
+ }
+ }
+
+ public bool IsImport {
+ get { return (m_attributes & TypeAttributes.Import) != 0; }
+ set {
+ if (value)
+ m_attributes |= TypeAttributes.Import;
+ else
+ m_attributes &= ~TypeAttributes.Import;
+ }
+ }
+
+ public bool IsSerializable {
+ get { return (m_attributes & TypeAttributes.Serializable) != 0; }
+ set {
+ if (value)
+ m_attributes |= TypeAttributes.Serializable;
+ else
+ m_attributes &= ~TypeAttributes.Serializable;
+ }
+ }
+
+ public bool IsAnsiClass {
+ get { return (m_attributes & TypeAttributes.StringFormatMask) == TypeAttributes.AnsiClass; }
+ set {
+ if (value) {
+ m_attributes &= ~TypeAttributes.StringFormatMask;
+ m_attributes |= TypeAttributes.AnsiClass;
+ } else
+ m_attributes &= ~(TypeAttributes.StringFormatMask & TypeAttributes.AnsiClass);
+ }
+ }
+
+ public bool IsUnicodeClass {
+ get { return (m_attributes & TypeAttributes.StringFormatMask) == TypeAttributes.UnicodeClass; }
+ set {
+ if (value) {
+ m_attributes &= ~TypeAttributes.StringFormatMask;
+ m_attributes |= TypeAttributes.UnicodeClass;
+ } else
+ m_attributes &= ~(TypeAttributes.StringFormatMask & TypeAttributes.UnicodeClass);
+ }
+ }
+
+ public bool IsAutoClass {
+ get { return (m_attributes & TypeAttributes.StringFormatMask) == TypeAttributes.AutoClass; }
+ set {
+ if (value) {
+ m_attributes &= ~TypeAttributes.StringFormatMask;
+ m_attributes |= TypeAttributes.AutoClass;
+ } else
+ m_attributes &= ~(TypeAttributes.StringFormatMask & TypeAttributes.AutoClass);
+ }
+ }
+
+ public bool IsBeforeFieldInit {
+ get { return (m_attributes & TypeAttributes.BeforeFieldInit) != 0; }
+ set {
+ if (value)
+ m_attributes |= TypeAttributes.BeforeFieldInit;
+ else
+ m_attributes &= ~TypeAttributes.BeforeFieldInit;
+ }
+ }
+
+ public bool IsRuntimeSpecialName {
+ get { return (m_attributes & TypeAttributes.RTSpecialName) != 0; }
+ set {
+ if (value)
+ m_attributes |= TypeAttributes.RTSpecialName;
+ else
+ m_attributes &= ~TypeAttributes.RTSpecialName;
+ }
+ }
+
+ public bool HasSecurity {
+ get { return (m_attributes & TypeAttributes.HasSecurity) != 0; }
+ set {
+ if (value)
+ m_attributes |= TypeAttributes.HasSecurity;
+ else
+ m_attributes &= ~TypeAttributes.HasSecurity;
+ }
+ }
+
+ #endregion
+
+ public bool IsEnum {
+ get { return m_baseType != null && m_baseType.FullName == Constants.Enum; }
+ }
+
+ public override bool IsValueType {
+ get {
+ return m_baseType != null && ((m_baseType.FullName == Constants.Enum) ||
+ (m_baseType.FullName == Constants.ValueType && this.FullName != Constants.Enum));
+ }
+ }
+
+ public new TypeDefinition DeclaringType {
+ get { return (TypeDefinition) base.DeclaringType; }
+ set { base.DeclaringType = value; }
+ }
+
+ internal TypeDefinition (string name, string ns, TypeAttributes attrs) :
+ base (name, ns)
+ {
+ m_hasInfo = false;
+ m_attributes = attrs;
+ }
+
+ public TypeDefinition (string name, string ns,
+ TypeAttributes attributes, TypeReference baseType) :
+ this (name, ns, attributes)
+ {
+ this.BaseType = baseType;
+ }
+
+ public override TypeDefinition Resolve ()
+ {
+ return this;
+ }
+
+ public TypeDefinition Clone ()
+ {
+ return Clone (this, new ImportContext (NullReferenceImporter.Instance, this));
+ }
+
+ internal static TypeDefinition Clone (TypeDefinition type, ImportContext context)
+ {
+ TypeDefinition nt = new TypeDefinition (
+ type.Name,
+ type.Namespace,
+ type.Attributes);
+
+ TypeReference contextType = context.GenericContext.Type;
+
+ context.GenericContext.Type = nt;
+
+ GenericParameter.CloneInto (type, nt, context);
+
+ if (type.BaseType != null)
+ nt.BaseType = context.Import (type.BaseType);
+
+ if (type.HasLayoutInfo) {
+ nt.ClassSize = type.ClassSize;
+ nt.PackingSize = type.PackingSize;
+ }
+
+ if (type.HasFields) {
+ foreach (FieldDefinition field in type.Fields)
+ nt.Fields.Add (FieldDefinition.Clone (field, context));
+ }
+ if (type.HasConstructors) {
+ foreach (MethodDefinition ctor in type.Constructors)
+ nt.Constructors.Add (MethodDefinition.Clone (ctor, context));
+ }
+ if (type.HasMethods) {
+ foreach (MethodDefinition meth in type.Methods)
+ nt.Methods.Add (MethodDefinition.Clone (meth, context));
+ }
+ if (type.HasEvents) {
+ foreach (EventDefinition evt in type.Events)
+ nt.Events.Add (EventDefinition.Clone (evt, context));
+ }
+ if (type.HasProperties) {
+ foreach (PropertyDefinition prop in type.Properties)
+ nt.Properties.Add (PropertyDefinition.Clone (prop, context));
+ }
+ if (type.HasInterfaces) {
+ foreach (TypeReference intf in type.Interfaces)
+ nt.Interfaces.Add (context.Import (intf));
+ }
+ if (type.HasNestedTypes) {
+ foreach (TypeDefinition nested in type.NestedTypes)
+ nt.NestedTypes.Add (Clone (nested, context));
+ }
+ if (type.HasCustomAttributes) {
+ foreach (CustomAttribute ca in type.CustomAttributes)
+ nt.CustomAttributes.Add (CustomAttribute.Clone (ca, context));
+ }
+ if (type.HasSecurityDeclarations) {
+ foreach (SecurityDeclaration dec in type.SecurityDeclarations)
+ nt.SecurityDeclarations.Add (SecurityDeclaration.Clone (dec));
+ }
+
+ context.GenericContext.Type = contextType;
+
+ return nt;
+ }
+
+ public override void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitTypeDefinition (this);
+
+ this.GenericParameters.Accept (visitor);
+ this.Interfaces.Accept (visitor);
+ this.Constructors.Accept (visitor);
+ this.Methods.Accept (visitor);
+ this.Fields.Accept (visitor);
+ this.Properties.Accept (visitor);
+ this.Events.Accept (visitor);
+ this.NestedTypes.Accept (visitor);
+ this.CustomAttributes.Accept (visitor);
+ this.SecurityDeclarations.Accept (visitor);
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/TypeDefinitionCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/TypeDefinitionCollection.cs
new file mode 100644
index 00000000000..845d1178e05
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/TypeDefinitionCollection.cs
@@ -0,0 +1,216 @@
+//
+// TypeDefinitionCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Fri Mar 30 18:43:56 +0200 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+ using System.Collections.Specialized;
+
+ using Mono.Cecil.Cil;
+
+ using Hcp = Mono.Cecil.HashCodeProvider;
+ using Cmp = System.Collections.Comparer;
+
+ internal sealed class TypeDefinitionCollection : NameObjectCollectionBase, IList, IReflectionVisitable {
+
+ ModuleDefinition m_container;
+
+ public TypeDefinition this [int index] {
+ get { return this.BaseGet (index) as TypeDefinition; }
+ set { this.BaseSet (index, value); }
+ }
+
+ public TypeDefinition this [string fullName] {
+ get { return this.BaseGet (fullName) as TypeDefinition; }
+ set { this.BaseSet (fullName, value); }
+ }
+
+ public ModuleDefinition Container {
+ get { return m_container; }
+ }
+
+ public bool IsSynchronized {
+ get { return false; }
+ }
+
+ public object SyncRoot {
+ get { return this; }
+ }
+
+ bool IList.IsReadOnly {
+ get { return false; }
+ }
+
+ bool IList.IsFixedSize {
+ get { return false; }
+ }
+
+ object IList.this [int index] {
+ get { return BaseGet (index); }
+ set {
+ Check (value);
+ BaseSet (index, value);
+ }
+ }
+
+ public TypeDefinitionCollection (ModuleDefinition container) :
+ base (Hcp.Instance, Cmp.Default)
+ {
+ m_container = container;
+ }
+
+ public void Add (TypeDefinition value)
+ {
+ if (value == null)
+ throw new ArgumentNullException ("value");
+
+ Attach (value);
+
+ this.BaseAdd (value.FullName, value);
+ }
+
+ public void Clear ()
+ {
+ foreach (TypeDefinition item in this)
+ Detach (item);
+
+ this.BaseClear ();
+ }
+
+ public bool Contains (TypeDefinition value)
+ {
+ return Contains (value.FullName);
+ }
+
+ public bool Contains (string fullName)
+ {
+ return this.BaseGet (fullName) != null;
+ }
+
+ public int IndexOf (TypeDefinition value)
+ {
+ string [] keys = this.BaseGetAllKeys ();
+ return Array.IndexOf (keys, value.FullName, 0, keys.Length);
+ }
+
+ public void Remove (TypeDefinition value)
+ {
+ this.BaseRemove (value.FullName);
+
+ Detach (value);
+ }
+
+ public void RemoveAt (int index)
+ {
+ TypeDefinition item = this [index];
+ Remove (item);
+
+ Detach (item);
+ }
+
+ public void CopyTo (Array ary, int index)
+ {
+ this.BaseGetAllValues ().CopyTo (ary, index);
+ }
+
+ public new IEnumerator GetEnumerator ()
+ {
+ return this.BaseGetAllValues ().GetEnumerator ();
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitTypeDefinitionCollection (this);
+ }
+
+#if CF_1_0 || CF_2_0
+ internal object [] BaseGetAllValues ()
+ {
+ object [] values = new object [this.Count];
+ for (int i=0; i < values.Length; ++i) {
+ values [i] = this.BaseGet (i);
+ }
+ return values;
+ }
+#endif
+
+ void Check (object value)
+ {
+ if (!(value is TypeDefinition))
+ throw new ArgumentException ();
+ }
+
+ int IList.Add (object value)
+ {
+ Check (value);
+ Add (value as TypeDefinition);
+ return 0;
+ }
+
+ bool IList.Contains (object value)
+ {
+ Check (value);
+ return Contains (value as TypeDefinition);
+ }
+
+ int IList.IndexOf (object value)
+ {
+ throw new NotSupportedException ();
+ }
+
+ void IList.Insert (int index, object value)
+ {
+ throw new NotSupportedException ();
+ }
+
+ void IList.Remove (object value)
+ {
+ Check (value);
+ Remove (value as TypeDefinition);
+ }
+
+ void Detach (TypeReference type)
+ {
+ type.Module = null;
+ }
+
+ void Attach (TypeReference type)
+ {
+ if (type.Module != null)
+ throw new ReflectionException ("Type is already attached, clone it instead");
+
+ type.Module = m_container;
+ type.AttachToScope (m_container);
+
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/TypeReference.cs b/mcs/tools/cil-strip/Mono.Cecil/TypeReference.cs
new file mode 100644
index 00000000000..5cf95d29aa1
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/TypeReference.cs
@@ -0,0 +1,170 @@
+//
+// TypeReference.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal class TypeReference : MemberReference, IGenericParameterProvider, ICustomAttributeProvider {
+
+ string m_namespace;
+ bool m_fullNameDiscarded;
+ string m_fullName;
+ protected bool m_isValueType;
+ IMetadataScope m_scope;
+ ModuleDefinition m_module;
+
+ CustomAttributeCollection m_customAttrs;
+ GenericParameterCollection m_genparams;
+
+ public override string Name {
+ get { return base.Name; }
+ set {
+ base.Name = value;
+ m_fullNameDiscarded = true;
+ }
+ }
+
+ public virtual string Namespace {
+ get { return m_namespace; }
+ set {
+ m_namespace = value;
+ m_fullNameDiscarded = true;
+ }
+ }
+
+ public virtual bool IsValueType {
+ get { return m_isValueType; }
+ set { m_isValueType = value; }
+ }
+
+ public virtual ModuleDefinition Module {
+ get { return m_module; }
+ set { m_module = value; }
+ }
+
+ public bool HasCustomAttributes {
+ get { return (m_customAttrs == null) ? false : (m_customAttrs.Count > 0); }
+ }
+
+ public CustomAttributeCollection CustomAttributes {
+ get {
+ if (m_customAttrs == null)
+ m_customAttrs = new CustomAttributeCollection (this);
+
+ return m_customAttrs;
+ }
+ }
+
+ public bool HasGenericParameters {
+ get { return (m_genparams == null) ? false : (m_genparams.Count > 0); }
+ }
+
+ public GenericParameterCollection GenericParameters {
+ get {
+ if (m_genparams == null)
+ m_genparams = new GenericParameterCollection (this);
+ return m_genparams;
+ }
+ }
+
+ public virtual IMetadataScope Scope {
+ get {
+ if (this.DeclaringType != null)
+ return this.DeclaringType.Scope;
+
+ return m_scope;
+ }
+ }
+
+ public bool IsNested {
+ get { return this.DeclaringType != null; }
+ }
+
+ public virtual string FullName {
+ get {
+ if (m_fullName != null && !m_fullNameDiscarded)
+ return m_fullName;
+
+ if (this.IsNested)
+ return string.Concat (this.DeclaringType.FullName, "/", this.Name);
+
+ if (m_namespace == null || m_namespace.Length == 0)
+ return this.Name;
+
+ m_fullName = string.Concat (m_namespace, ".", this.Name);
+ m_fullNameDiscarded = false;
+ return m_fullName;
+ }
+ }
+
+ protected TypeReference (string name, string ns) : base (name)
+ {
+ m_namespace = ns;
+ m_fullNameDiscarded = false;
+ }
+
+ internal TypeReference (string name, string ns, IMetadataScope scope) : this (name, ns)
+ {
+ m_scope = scope;
+ }
+
+ public TypeReference (string name, string ns, IMetadataScope scope, bool valueType) :
+ this (name, ns, scope)
+ {
+ m_isValueType = valueType;
+ }
+
+ public virtual TypeDefinition Resolve ()
+ {
+ ModuleDefinition module = Module;
+ if (module == null)
+ return null;
+
+ return module.Resolver.Resolve (this);
+ }
+
+ public virtual TypeReference GetOriginalType ()
+ {
+ return this;
+ }
+
+ internal void AttachToScope (IMetadataScope scope)
+ {
+ m_scope = scope;
+ }
+
+ public override void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitTypeReference (this);
+ }
+
+ public override string ToString ()
+ {
+ return this.FullName;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/TypeReferenceCollection.cs b/mcs/tools/cil-strip/Mono.Cecil/TypeReferenceCollection.cs
new file mode 100644
index 00000000000..3e484b0f655
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/TypeReferenceCollection.cs
@@ -0,0 +1,214 @@
+//
+// TypeReferenceCollection.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// Generated by /CodeGen/cecil-gen.rb do not edit
+// Fri Mar 30 18:43:56 +0200 2007
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+ using System.Collections;
+ using System.Collections.Specialized;
+
+ using Mono.Cecil.Cil;
+
+ using Hcp = Mono.Cecil.HashCodeProvider;
+ using Cmp = System.Collections.Comparer;
+
+ internal sealed class TypeReferenceCollection : NameObjectCollectionBase, IList, IReflectionVisitable {
+
+ ModuleDefinition m_container;
+
+ public TypeReference this [int index] {
+ get { return this.BaseGet (index) as TypeReference; }
+ set { this.BaseSet (index, value); }
+ }
+
+ public TypeReference this [string fullName] {
+ get { return this.BaseGet (fullName) as TypeReference; }
+ set { this.BaseSet (fullName, value); }
+ }
+
+ public ModuleDefinition Container {
+ get { return m_container; }
+ }
+
+ public bool IsSynchronized {
+ get { return false; }
+ }
+
+ public object SyncRoot {
+ get { return this; }
+ }
+
+ bool IList.IsReadOnly {
+ get { return false; }
+ }
+
+ bool IList.IsFixedSize {
+ get { return false; }
+ }
+
+ object IList.this [int index] {
+ get { return BaseGet (index); }
+ set {
+ Check (value);
+ BaseSet (index, value);
+ }
+ }
+
+ public TypeReferenceCollection (ModuleDefinition container) :
+ base (Hcp.Instance, Cmp.Default)
+ {
+ m_container = container;
+ }
+
+ public void Add (TypeReference value)
+ {
+ if (value == null)
+ throw new ArgumentNullException ("value");
+
+ Attach (value);
+
+ this.BaseAdd (value.FullName, value);
+ }
+
+ public void Clear ()
+ {
+ foreach (TypeReference item in this)
+ Detach (item);
+
+ this.BaseClear ();
+ }
+
+ public bool Contains (TypeReference value)
+ {
+ return Contains (value.FullName);
+ }
+
+ public bool Contains (string fullName)
+ {
+ return this.BaseGet (fullName) != null;
+ }
+
+ public int IndexOf (TypeReference value)
+ {
+ string [] keys = this.BaseGetAllKeys ();
+ return Array.IndexOf (keys, value.FullName, 0, keys.Length);
+ }
+
+ public void Remove (TypeReference value)
+ {
+ this.BaseRemove (value.FullName);
+
+ Detach (value);
+ }
+
+ public void RemoveAt (int index)
+ {
+ TypeReference item = this [index];
+ Remove (item);
+
+ Detach (item);
+ }
+
+ public void CopyTo (Array ary, int index)
+ {
+ this.BaseGetAllValues ().CopyTo (ary, index);
+ }
+
+ public new IEnumerator GetEnumerator ()
+ {
+ return this.BaseGetAllValues ().GetEnumerator ();
+ }
+
+ public void Accept (IReflectionVisitor visitor)
+ {
+ visitor.VisitTypeReferenceCollection (this);
+ }
+
+#if CF_1_0 || CF_2_0
+ internal object [] BaseGetAllValues ()
+ {
+ object [] values = new object [this.Count];
+ for (int i=0; i < values.Length; ++i) {
+ values [i] = this.BaseGet (i);
+ }
+ return values;
+ }
+#endif
+
+ void Check (object value)
+ {
+ if (!(value is TypeReference))
+ throw new ArgumentException ();
+ }
+
+ int IList.Add (object value)
+ {
+ Check (value);
+ Add (value as TypeReference);
+ return 0;
+ }
+
+ bool IList.Contains (object value)
+ {
+ Check (value);
+ return Contains (value as TypeReference);
+ }
+
+ int IList.IndexOf (object value)
+ {
+ throw new NotSupportedException ();
+ }
+
+ void IList.Insert (int index, object value)
+ {
+ throw new NotSupportedException ();
+ }
+
+ void IList.Remove (object value)
+ {
+ Check (value);
+ Remove (value as TypeReference);
+ }
+
+ void Detach (TypeReference type)
+ {
+ type.Module = null;
+ }
+
+ void Attach (TypeReference type)
+ {
+ if (type.Module != null)
+ throw new ReflectionException ("Type is already attached, clone it instead");
+
+ type.Module = m_container;
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/TypeSpecification.cs b/mcs/tools/cil-strip/Mono.Cecil/TypeSpecification.cs
new file mode 100644
index 00000000000..8267c16574f
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/TypeSpecification.cs
@@ -0,0 +1,80 @@
+//
+// TypeSpecification.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ using System;
+
+ internal abstract class TypeSpecification : TypeReference {
+
+ private TypeReference m_elementType;
+
+ public override string Name {
+ get { return m_elementType.Name; }
+ set { throw new NotSupportedException (); }
+ }
+
+ public override string Namespace {
+ get { return m_elementType.Namespace; }
+ set { throw new NotSupportedException (); }
+ }
+
+ public override bool IsValueType {
+ get { return m_elementType.IsValueType; }
+ set { throw new InvalidOperationException (); }
+ }
+
+ public override IMetadataScope Scope {
+ get { return m_elementType.Scope; }
+ }
+
+ public override ModuleDefinition Module {
+ get { return m_elementType.Module; }
+ set { throw new InvalidOperationException (); }
+ }
+
+ public TypeReference ElementType {
+ get { return m_elementType; }
+ set { m_elementType = value; }
+ }
+
+ public override string FullName {
+ get { return m_elementType.FullName; }
+ }
+
+ internal TypeSpecification (TypeReference elementType) : base (string.Empty, string.Empty)
+ {
+ m_elementType = elementType;
+ }
+
+ public override TypeReference GetOriginalType ()
+ {
+ return m_elementType.GetOriginalType ();
+ }
+ }
+}
diff --git a/mcs/tools/cil-strip/Mono.Cecil/VariantType.cs b/mcs/tools/cil-strip/Mono.Cecil/VariantType.cs
new file mode 100644
index 00000000000..23aa39b1a68
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Cecil/VariantType.cs
@@ -0,0 +1,52 @@
+//
+// VariantType.cs
+//
+// Author:
+// Jb Evain (jbevain@gmail.com)
+//
+// (C) 2005 Jb Evain
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace Mono.Cecil {
+
+ internal enum VariantType {
+ I2 = 2,
+ I4 = 3,
+ R4 = 4,
+ R8 = 5,
+ CY = 6,
+ DATE = 7,
+ BSTR = 8,
+ DISPATCH = 9,
+ ERROR = 10,
+ BOOL = 11,
+ VARIANT = 12,
+ UNKNOWN = 13,
+ DECIMAL = 14,
+ I1 = 16,
+ UI1 = 17,
+ UI2 = 18,
+ UI4 = 19,
+ INT = 22,
+ UINT = 23
+ }
+}
diff --git a/mcs/class/Mono.Cecil/Mono.Xml/ChangeLog b/mcs/tools/cil-strip/Mono.Xml/ChangeLog
index 2fbc0ef5349..2fbc0ef5349 100644
--- a/mcs/class/Mono.Cecil/Mono.Xml/ChangeLog
+++ b/mcs/tools/cil-strip/Mono.Xml/ChangeLog
diff --git a/mcs/class/Mono.Cecil/Mono.Xml/SecurityParser.cs b/mcs/tools/cil-strip/Mono.Xml/SecurityParser.cs
index 311a31697cc..311a31697cc 100644
--- a/mcs/class/Mono.Cecil/Mono.Xml/SecurityParser.cs
+++ b/mcs/tools/cil-strip/Mono.Xml/SecurityParser.cs
diff --git a/mcs/tools/cil-strip/Mono.Xml/SmallXmlParser.cs b/mcs/tools/cil-strip/Mono.Xml/SmallXmlParser.cs
new file mode 100644
index 00000000000..c57b2a20994
--- /dev/null
+++ b/mcs/tools/cil-strip/Mono.Xml/SmallXmlParser.cs
@@ -0,0 +1,637 @@
+//
+// SmallXmlParser.cs
+//
+// Author:
+// Atsushi Enomoto <atsushi@ximian.com>
+//
+// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+//
+// small xml parser that is mostly compatible with
+//
+
+using System;
+using System.Collections;
+using System.Globalization;
+using System.IO;
+using System.Text;
+
+namespace Mono.Xml
+{
+ internal sealed class DefaultHandler : SmallXmlParser.IContentHandler
+ {
+ public void OnStartParsing (SmallXmlParser parser)
+ {
+ }
+
+ public void OnEndParsing (SmallXmlParser parser)
+ {
+ }
+
+ public void OnStartElement (string name, SmallXmlParser.IAttrList attrs)
+ {
+ }
+
+ public void OnEndElement (string name)
+ {
+ }
+
+ public void OnChars (string s)
+ {
+ }
+
+ public void OnIgnorableWhitespace (string s)
+ {
+ }
+
+ public void OnProcessingInstruction (string name, string text)
+ {
+ }
+ }
+
+ internal class SmallXmlParser
+ {
+ internal interface IContentHandler
+ {
+ void OnStartParsing (SmallXmlParser parser);
+ void OnEndParsing (SmallXmlParser parser);
+ void OnStartElement (string name, IAttrList attrs);
+ void OnEndElement (string name);
+ void OnProcessingInstruction (string name, string text);
+ void OnChars (string text);
+ void OnIgnorableWhitespace (string text);
+ }
+
+ internal interface IAttrList
+ {
+ int Length { get; }
+ bool IsEmpty { get; }
+ string GetName (int i);
+ string GetValue (int i);
+ string GetValue (string name);
+ string [] Names { get; }
+ string [] Values { get; }
+ }
+
+ sealed class AttrListImpl : IAttrList
+ {
+ public int Length {
+ get { return attrNames.Count; }
+ }
+ public bool IsEmpty {
+ get { return attrNames.Count == 0; }
+ }
+ public string GetName (int i)
+ {
+ return (string) attrNames [i];
+ }
+ public string GetValue (int i)
+ {
+ return (string) attrValues [i];
+ }
+ public string GetValue (string name)
+ {
+ for (int i = 0; i < attrNames.Count; i++)
+ if ((string) attrNames [i] == name)
+ return (string) attrValues [i];
+ return null;
+ }
+ public string [] Names {
+ get { return (string []) attrNames.ToArray (typeof (string)); }
+ }
+ public string [] Values {
+ get { return (string []) attrValues.ToArray (typeof (string)); }
+ }
+
+ ArrayList attrNames = new ArrayList ();
+ ArrayList attrValues = new ArrayList ();
+
+ internal void Clear ()
+ {
+ attrNames.Clear ();
+ attrValues.Clear ();
+ }
+
+ internal void Add (string name, string value)
+ {
+ attrNames.Add (name);
+ attrValues.Add (value);
+ }
+ }
+
+ IContentHandler handler;
+ TextReader reader;
+ Stack elementNames = new Stack ();
+ Stack xmlSpaces = new Stack ();
+ string xmlSpace;
+ StringBuilder buffer = new StringBuilder (200);
+ char [] nameBuffer = new char [30];
+ bool isWhitespace;
+
+ AttrListImpl attributes = new AttrListImpl ();
+ int line = 1, column;
+ bool resetColumn;
+
+ public SmallXmlParser ()
+ {
+ }
+
+ private Exception Error (string msg)
+ {
+ return new SmallXmlParserException (msg, line, column);
+ }
+
+ private Exception UnexpectedEndError ()
+ {
+ string [] arr = new string [elementNames.Count];
+ // COMPACT FRAMEWORK NOTE: CopyTo is not visible through the Stack class
+ (elementNames as ICollection).CopyTo (arr, 0);
+ return Error (String.Format (
+ "Unexpected end of stream. Element stack content is {0}", String.Join (",", arr)));
+ }
+
+
+ private bool IsNameChar (char c, bool start)
+ {
+ switch (c) {
+ case ':':
+ case '_':
+ return true;
+ case '-':
+ case '.':
+ return !start;
+ }
+ if (c > 0x100) { // optional condition for optimization
+ switch (c) {
+ case '\u0559':
+ case '\u06E5':
+ case '\u06E6':
+ return true;
+ }
+ if ('\u02BB' <= c && c <= '\u02C1')
+ return true;
+ }
+ switch (Char.GetUnicodeCategory (c)) {
+ case UnicodeCategory.LowercaseLetter:
+ case UnicodeCategory.UppercaseLetter:
+ case UnicodeCategory.OtherLetter:
+ case UnicodeCategory.TitlecaseLetter:
+ case UnicodeCategory.LetterNumber:
+ return true;
+ case UnicodeCategory.SpacingCombiningMark:
+ case UnicodeCategory.EnclosingMark:
+ case UnicodeCategory.NonSpacingMark:
+ case UnicodeCategory.ModifierLetter:
+ case UnicodeCategory.DecimalDigitNumber:
+ return !start;
+ default:
+ return false;
+ }
+ }
+
+ private bool IsWhitespace (int c)
+ {
+ switch (c) {
+ case ' ':
+ case '\r':
+ case '\t':
+ case '\n':
+ return true;
+ default:
+ return false;
+ }
+ }
+
+
+ public void SkipWhitespaces ()
+ {
+ SkipWhitespaces (false);
+ }
+
+ private void HandleWhitespaces ()
+ {
+ while (IsWhitespace (Peek ()))
+ buffer.Append ((char) Read ());
+ if (Peek () != '<' && Peek () >= 0)
+ isWhitespace = false;
+ }
+
+ public void SkipWhitespaces (bool expected)
+ {
+ while (true) {
+ switch (Peek ()) {
+ case ' ':
+ case '\r':
+ case '\t':
+ case '\n':
+ Read ();
+ if (expected)
+ expected = false;
+ continue;
+ }
+ if (expected)
+ throw Error ("Whitespace is expected.");
+ return;
+ }
+ }
+
+
+ private int Peek ()
+ {
+ return reader.Peek ();
+ }
+
+ private int Read ()
+ {
+ int i = reader.Read ();
+ if (i == '\n')
+ resetColumn = true;
+ if (resetColumn) {
+ line++;
+ resetColumn = false;
+ column = 1;
+ }
+ else
+ column++;
+ return i;
+ }
+
+ public void Expect (int c)
+ {
+ int p = Read ();
+ if (p < 0)
+ throw UnexpectedEndError ();
+ else if (p != c)
+ throw Error (String.Format ("Expected '{0}' but got {1}", (char) c, (char) p));
+ }
+
+ private string ReadUntil (char until, bool handleReferences)
+ {
+ while (true) {
+ if (Peek () < 0)
+ throw UnexpectedEndError ();
+ char c = (char) Read ();
+ if (c == until)
+ break;
+ else if (handleReferences && c == '&')
+ ReadReference ();
+ else
+ buffer.Append (c);
+ }
+ string ret = buffer.ToString ();
+ buffer.Length = 0;
+ return ret;
+ }
+
+ public string ReadName ()
+ {
+ int idx = 0;
+ if (Peek () < 0 || !IsNameChar ((char) Peek (), true))
+ throw Error ("XML name start character is expected.");
+ for (int i = Peek (); i >= 0; i = Peek ()) {
+ char c = (char) i;
+ if (!IsNameChar (c, false))
+ break;
+ if (idx == nameBuffer.Length) {
+ char [] tmp = new char [idx * 2];
+ // COMPACT FRAMEWORK NOTE: Array.Copy(sourceArray, destinationArray, count) is not available.
+ Array.Copy (nameBuffer, 0, tmp, 0, idx);
+ nameBuffer = tmp;
+ }
+ nameBuffer [idx++] = c;
+ Read ();
+ }
+ if (idx == 0)
+ throw Error ("Valid XML name is expected.");
+ return new string (nameBuffer, 0, idx);
+ }
+
+
+ public void Parse (TextReader input, IContentHandler handler)
+ {
+ this.reader = input;
+ this.handler = handler;
+
+ handler.OnStartParsing (this);
+
+ while (Peek () >= 0)
+ ReadContent ();
+ HandleBufferedContent ();
+ if (elementNames.Count > 0)
+ throw Error (String.Format ("Insufficient close tag: {0}", elementNames.Peek ()));
+
+ handler.OnEndParsing (this);
+
+ Cleanup ();
+ }
+
+ private void Cleanup ()
+ {
+ line = 1;
+ column = 0;
+ handler = null;
+ reader = null;
+#if CF_1_0
+ elementNames = new Stack ();
+ xmlSpaces = new Stack ();
+#else
+ elementNames.Clear ();
+ xmlSpaces.Clear ();
+#endif
+ attributes.Clear ();
+ buffer.Length = 0;
+ xmlSpace = null;
+ isWhitespace = false;
+ }
+
+ public void ReadContent ()
+ {
+ string name;
+ if (IsWhitespace (Peek ())) {
+ if (buffer.Length == 0)
+ isWhitespace = true;
+ HandleWhitespaces ();
+ }
+ if (Peek () == '<') {
+ Read ();
+ switch (Peek ()) {
+ case '!': // declarations
+ Read ();
+ if (Peek () == '[') {
+ Read ();
+ if (ReadName () != "CDATA")
+ throw Error ("Invalid declaration markup");
+ Expect ('[');
+ ReadCDATASection ();
+ return;
+ }
+ else if (Peek () == '-') {
+ ReadComment ();
+ return;
+ }
+ else if (ReadName () != "DOCTYPE")
+ throw Error ("Invalid declaration markup.");
+ else
+ throw Error ("This parser does not support document type.");
+ case '?': // PIs
+ HandleBufferedContent ();
+ Read ();
+ name = ReadName ();
+ SkipWhitespaces ();
+ string text = String.Empty;
+ if (Peek () != '?') {
+ while (true) {
+ text += ReadUntil ('?', false);
+ if (Peek () == '>')
+ break;
+ text += "?";
+ }
+ }
+ handler.OnProcessingInstruction (
+ name, text);
+ Expect ('>');
+ return;
+ case '/': // end tags
+ HandleBufferedContent ();
+ if (elementNames.Count == 0)
+ throw UnexpectedEndError ();
+ Read ();
+ name = ReadName ();
+ SkipWhitespaces ();
+ string expected = (string) elementNames.Pop ();
+ xmlSpaces.Pop ();
+ if (xmlSpaces.Count > 0)
+ xmlSpace = (string) xmlSpaces.Peek ();
+ else
+ xmlSpace = null;
+ if (name != expected)
+ throw Error (String.Format ("End tag mismatch: expected {0} but found {1}", expected, name));
+ handler.OnEndElement (name);
+ Expect ('>');
+ return;
+ default: // start tags (including empty tags)
+ HandleBufferedContent ();
+ name = ReadName ();
+ while (Peek () != '>' && Peek () != '/')
+ ReadAttribute (attributes);
+ handler.OnStartElement (name, attributes);
+ attributes.Clear ();
+ SkipWhitespaces ();
+ if (Peek () == '/') {
+ Read ();
+ handler.OnEndElement (name);
+ }
+ else {
+ elementNames.Push (name);
+ xmlSpaces.Push (xmlSpace);
+ }
+ Expect ('>');
+ return;
+ }
+ }
+ else
+ ReadCharacters ();
+ }
+
+ private void HandleBufferedContent ()
+ {
+ if (buffer.Length == 0)
+ return;
+ if (isWhitespace)
+ handler.OnIgnorableWhitespace (buffer.ToString ());
+ else
+ handler.OnChars (buffer.ToString ());
+ buffer.Length = 0;
+ isWhitespace = false;
+ }
+
+ private void ReadCharacters ()
+ {
+ isWhitespace = false;
+ while (true) {
+ int i = Peek ();
+ switch (i) {
+ case -1:
+ return;
+ case '<':
+ return;
+ case '&':
+ Read ();
+ ReadReference ();
+ continue;
+ default:
+ buffer.Append ((char) Read ());
+ continue;
+ }
+ }
+ }
+
+ private void ReadReference ()
+ {
+ if (Peek () == '#') {
+ // character reference
+ Read ();
+ ReadCharacterReference ();
+ } else {
+ string name = ReadName ();
+ Expect (';');
+ switch (name) {
+ case "amp":
+ buffer.Append ('&');
+ break;
+ case "quot":
+ buffer.Append ('"');
+ break;
+ case "apos":
+ buffer.Append ('\'');
+ break;
+ case "lt":
+ buffer.Append ('<');
+ break;
+ case "gt":
+ buffer.Append ('>');
+ break;
+ default:
+ throw Error ("General non-predefined entity reference is not supported in this parser.");
+ }
+ }
+ }
+
+ private int ReadCharacterReference ()
+ {
+ int n = 0;
+ if (Peek () == 'x') { // hex
+ Read ();
+ for (int i = Peek (); i >= 0; i = Peek ()) {
+ if ('0' <= i && i <= '9')
+ n = n << 4 + i - '0';
+ else if ('A' <= i && i <='F')
+ n = n << 4 + i - 'A' + 10;
+ else if ('a' <= i && i <='f')
+ n = n << 4 + i - 'a' + 10;
+ else
+ break;
+ Read ();
+ }
+ } else {
+ for (int i = Peek (); i >= 0; i = Peek ()) {
+ if ('0' <= i && i <= '9')
+ n = n << 4 + i - '0';
+ else
+ break;
+ Read ();
+ }
+ }
+ return n;
+ }
+
+ private void ReadAttribute (AttrListImpl a)
+ {
+ SkipWhitespaces (true);
+ if (Peek () == '/' || Peek () == '>')
+ // came here just to spend trailing whitespaces
+ return;
+
+ string name = ReadName ();
+ string value;
+ SkipWhitespaces ();
+ Expect ('=');
+ SkipWhitespaces ();
+ switch (Read ()) {
+ case '\'':
+ value = ReadUntil ('\'', true);
+ break;
+ case '"':
+ value = ReadUntil ('"', true);
+ break;
+ default:
+ throw Error ("Invalid attribute value markup.");
+ }
+ if (name == "xml:space")
+ xmlSpace = value;
+ a.Add (name, value);
+ }
+
+ private void ReadCDATASection ()
+ {
+ int nBracket = 0;
+ while (true) {
+ if (Peek () < 0)
+ throw UnexpectedEndError ();
+ char c = (char) Read ();
+ if (c == ']')
+ nBracket++;
+ else if (c == '>' && nBracket > 1) {
+ for (int i = nBracket; i > 2; i--)
+ buffer.Append (']');
+ break;
+ }
+ else {
+ for (int i = 0; i < nBracket; i++)
+ buffer.Append (']');
+ nBracket = 0;
+ buffer.Append (c);
+ }
+ }
+ }
+
+ private void ReadComment ()
+ {
+ Expect ('-');
+ Expect ('-');
+ while (true) {
+ if (Read () != '-')
+ continue;
+ if (Read () != '-')
+ continue;
+ if (Read () != '>')
+ throw Error ("'--' is not allowed inside comment markup.");
+ break;
+ }
+ }
+ }
+
+ internal sealed class SmallXmlParserException : SystemException
+ {
+ int line;
+ int column;
+
+ public SmallXmlParserException (string msg, int line, int column)
+ : base (String.Format ("{0}. At ({1},{2})", msg, line, column))
+ {
+ this.line = line;
+ this.column = column;
+ }
+
+ public int Line {
+ get { return line; }
+ }
+
+ public int Column {
+ get { return column; }
+ }
+ }
+}
+
+
+
diff --git a/mcs/tools/cil-strip/cilstrip.cs b/mcs/tools/cil-strip/cilstrip.cs
index 2c092650c28..4b56f2e16ae 100644
--- a/mcs/tools/cil-strip/cilstrip.cs
+++ b/mcs/tools/cil-strip/cilstrip.cs
@@ -44,11 +44,7 @@ namespace Mono.CilStripper {
static void StripAssembly (AssemblyDefinition assembly, string output)
{
- Type stripper = typeof (AssemblyDefinition).Assembly.GetType ("Mono.Cecil.AssemblyStripper");
- if (stripper == null)
- throw new NotSupportedException ("Cecil doesn't have support for mono-cil-strip");
-
- stripper.GetMethod ("StripAssembly").Invoke (null, new object [] { assembly, output });
+ AssemblyStripper.StripAssembly (assembly, output);
}
static void Header ()
diff --git a/mcs/tools/cil-strip/mono-cil-strip.exe.sources b/mcs/tools/cil-strip/mono-cil-strip.exe.sources
index c879f828472..5ea4d803027 100644
--- a/mcs/tools/cil-strip/mono-cil-strip.exe.sources
+++ b/mcs/tools/cil-strip/mono-cil-strip.exe.sources
@@ -1 +1,314 @@
-cilstrip.cs
+./cilstrip.cs
+./AssemblyStripper.cs
+./Mono.Cecil/AggressiveReflectionReader.cs
+./Mono.Cecil/ArrayDimension.cs
+./Mono.Cecil/ArrayDimensionCollection.cs
+./Mono.Cecil/ArrayType.cs
+./Mono.Cecil/AssemblyDefinition.cs
+./Mono.Cecil/AssemblyFactory.cs
+./Mono.Cecil/AssemblyFlags.cs
+./Mono.Cecil/AssemblyHashAlgorithm.cs
+./Mono.Cecil/AssemblyInfo.cs
+./Mono.Cecil/AssemblyKind.cs
+./Mono.Cecil/AssemblyLinkedResource.cs
+./Mono.Cecil/AssemblyNameDefinition.cs
+./Mono.Cecil/AssemblyNameReference.cs
+./Mono.Cecil/AssemblyNameReferenceCollection.cs
+./Mono.Cecil/BaseAssemblyResolver.cs
+./Mono.Cecil/BaseReflectionReader.cs
+./Mono.Cecil/BaseReflectionVisitor.cs
+./Mono.Cecil/BaseStructureVisitor.cs
+./Mono.Cecil/CallSite.cs
+./Mono.Cecil/CompactFrameworkCompatibility.cs
+./Mono.Cecil/Constants.cs
+./Mono.Cecil/ConstraintCollection.cs
+./Mono.Cecil/ConstructorCollection.cs
+./Mono.Cecil/CustomAttribute.cs
+./Mono.Cecil/CustomAttributeCollection.cs
+./Mono.Cecil/DefaultAssemblyResolver.cs
+./Mono.Cecil/DefaultImporter.cs
+./Mono.Cecil/EmbeddedResource.cs
+./Mono.Cecil/EventAttributes.cs
+./Mono.Cecil/EventDefinition.cs
+./Mono.Cecil/EventDefinitionCollection.cs
+./Mono.Cecil/EventReference.cs
+./Mono.Cecil/ExternTypeCollection.cs
+./Mono.Cecil/FieldAttributes.cs
+./Mono.Cecil/FieldDefinition.cs
+./Mono.Cecil/FieldDefinitionCollection.cs
+./Mono.Cecil/FieldReference.cs
+./Mono.Cecil/FileAttributes.cs
+./Mono.Cecil/FunctionPointerType.cs
+./Mono.Cecil/GenericArgumentCollection.cs
+./Mono.Cecil/GenericContext.cs
+./Mono.Cecil/GenericInstanceMethod.cs
+./Mono.Cecil/GenericInstanceType.cs
+./Mono.Cecil/GenericParameter.cs
+./Mono.Cecil/GenericParameterAttributes.cs
+./Mono.Cecil/GenericParameterCollection.cs
+./Mono.Cecil/HashCodeProvider.cs
+./Mono.Cecil/IAnnotationProvider.cs
+./Mono.Cecil/IAssemblyResolver.cs
+./Mono.Cecil/ICustomAttributeProvider.cs
+./Mono.Cecil/IDetailReader.cs
+./Mono.Cecil/IGenericInstance.cs
+./Mono.Cecil/IGenericParameterProvider.cs
+./Mono.Cecil/IHasConstant.cs
+./Mono.Cecil/IHasMarshalSpec.cs
+./Mono.Cecil/IHasSecurity.cs
+./Mono.Cecil/IImporter.cs
+./Mono.Cecil/IMemberDefinition.cs
+./Mono.Cecil/IMemberReference.cs
+./Mono.Cecil/IMetadataScope.cs
+./Mono.Cecil/IMetadataTokenProvider.cs
+./Mono.Cecil/IMethodSignature.cs
+./Mono.Cecil/ImportContext.cs
+./Mono.Cecil/InterfaceCollection.cs
+./Mono.Cecil/IReflectionStructureVisitable.cs
+./Mono.Cecil/IReflectionStructureVisitor.cs
+./Mono.Cecil/IReflectionVisitable.cs
+./Mono.Cecil/IReflectionVisitor.cs
+./Mono.Cecil/IRequireResolving.cs
+./Mono.Cecil/LinkedResource.cs
+./Mono.Cecil/ManifestResourceAttributes.cs
+./Mono.Cecil/MarshalSpec.cs
+./Mono.Cecil/MemberReference.cs
+./Mono.Cecil/MemberReferenceCollection.cs
+./Mono.Cecil/MetadataResolver.cs
+./Mono.Cecil/MethodAttributes.cs
+./Mono.Cecil/MethodCallingConvention.cs
+./Mono.Cecil/MethodDefinition.cs
+./Mono.Cecil/MethodDefinitionCollection.cs
+./Mono.Cecil/MethodImplAttributes.cs
+./Mono.Cecil/MethodReference.cs
+./Mono.Cecil/MethodReturnType.cs
+./Mono.Cecil/MethodSemanticsAttributes.cs
+./Mono.Cecil/MethodSpecification.cs
+./Mono.Cecil/Modifiers.cs
+./Mono.Cecil/ModuleDefinition.cs
+./Mono.Cecil/ModuleDefinitionCollection.cs
+./Mono.Cecil/ModuleReference.cs
+./Mono.Cecil/ModuleReferenceCollection.cs
+./Mono.Cecil/NativeType.cs
+./Mono.Cecil/NestedTypeCollection.cs
+./Mono.Cecil/NullReferenceImporter.cs
+./Mono.Cecil/OverrideCollection.cs
+./Mono.Cecil/ParameterAttributes.cs
+./Mono.Cecil/ParameterDefinition.cs
+./Mono.Cecil/ParameterDefinitionCollection.cs
+./Mono.Cecil/ParameterReference.cs
+./Mono.Cecil/PinnedType.cs
+./Mono.Cecil/PInvokeAttributes.cs
+./Mono.Cecil/PInvokeInfo.cs
+./Mono.Cecil/PointerType.cs
+./Mono.Cecil/PropertyAttributes.cs
+./Mono.Cecil/PropertyDefinition.cs
+./Mono.Cecil/PropertyDefinitionCollection.cs
+./Mono.Cecil/PropertyReference.cs
+./Mono.Cecil/ReferenceType.cs
+./Mono.Cecil/ReflectionController.cs
+./Mono.Cecil/ReflectionException.cs
+./Mono.Cecil/ReflectionHelper.cs
+./Mono.Cecil/ReflectionReader.cs
+./Mono.Cecil/ReflectionWriter.cs
+./Mono.Cecil/Resource.cs
+./Mono.Cecil/ResourceCollection.cs
+./Mono.Cecil/SecurityAction.cs
+./Mono.Cecil/SecurityDeclaration.cs
+./Mono.Cecil/SecurityDeclarationCollection.cs
+./Mono.Cecil/SecurityDeclarationReader.cs
+./Mono.Cecil/SentinelType.cs
+./Mono.Cecil/StructureReader.cs
+./Mono.Cecil/StructureWriter.cs
+./Mono.Cecil/TableComparers.cs
+./Mono.Cecil/TargetRuntime.cs
+./Mono.Cecil/TypeAttributes.cs
+./Mono.Cecil/TypeDefinition.cs
+./Mono.Cecil/TypeDefinitionCollection.cs
+./Mono.Cecil/TypeReference.cs
+./Mono.Cecil/TypeReferenceCollection.cs
+./Mono.Cecil/TypeSpecification.cs
+./Mono.Cecil/VariantType.cs
+./Mono.Cecil.Binary/BaseImageVisitor.cs
+./Mono.Cecil.Binary/CLIHeader.cs
+./Mono.Cecil.Binary/CopyImageVisitor.cs
+./Mono.Cecil.Binary/DataDirectory.cs
+./Mono.Cecil.Binary/DebugHeader.cs
+./Mono.Cecil.Binary/DebugStoreType.cs
+./Mono.Cecil.Binary/DOSHeader.cs
+./Mono.Cecil.Binary/ExportTable.cs
+./Mono.Cecil.Binary/IBinaryVisitable.cs
+./Mono.Cecil.Binary/IBinaryVisitor.cs
+./Mono.Cecil.Binary/IHeader.cs
+./Mono.Cecil.Binary/Image.cs
+./Mono.Cecil.Binary/ImageCharacteristics.cs
+./Mono.Cecil.Binary/ImageFormatException.cs
+./Mono.Cecil.Binary/ImageInitializer.cs
+./Mono.Cecil.Binary/ImageReader.cs
+./Mono.Cecil.Binary/ImageWriter.cs
+./Mono.Cecil.Binary/Imports.cs
+./Mono.Cecil.Binary/MemoryBinaryWriter.cs
+./Mono.Cecil.Binary/PEFileHeader.cs
+./Mono.Cecil.Binary/PEOptionalHeader.cs
+./Mono.Cecil.Binary/ResourceDataEntry.cs
+./Mono.Cecil.Binary/ResourceDirectoryEntry.cs
+./Mono.Cecil.Binary/ResourceDirectoryString.cs
+./Mono.Cecil.Binary/ResourceDirectoryTable.cs
+./Mono.Cecil.Binary/ResourceNode.cs
+./Mono.Cecil.Binary/ResourceReader.cs
+./Mono.Cecil.Binary/ResourceWriter.cs
+./Mono.Cecil.Binary/RuntimeImage.cs
+./Mono.Cecil.Binary/RVA.cs
+./Mono.Cecil.Binary/Section.cs
+./Mono.Cecil.Binary/SectionCharacteristics.cs
+./Mono.Cecil.Binary/SectionCollection.cs
+./Mono.Cecil.Binary/SubSystem.cs
+./Mono.Cecil.Metadata/Assembly.cs
+./Mono.Cecil.Metadata/AssemblyOS.cs
+./Mono.Cecil.Metadata/AssemblyProcessor.cs
+./Mono.Cecil.Metadata/AssemblyRef.cs
+./Mono.Cecil.Metadata/AssemblyRefOS.cs
+./Mono.Cecil.Metadata/AssemblyRefProcessor.cs
+./Mono.Cecil.Metadata/BaseMetadataVisitor.cs
+./Mono.Cecil.Metadata/BlobHeap.cs
+./Mono.Cecil.Metadata/ClassLayout.cs
+./Mono.Cecil.Metadata/CodedIndex.cs
+./Mono.Cecil.Metadata/Constant.cs
+./Mono.Cecil.Metadata/CultureUtils.cs
+./Mono.Cecil.Metadata/CustomAttribute.cs
+./Mono.Cecil.Metadata/DeclSecurity.cs
+./Mono.Cecil.Metadata/ElementType.cs
+./Mono.Cecil.Metadata/Event.cs
+./Mono.Cecil.Metadata/EventMap.cs
+./Mono.Cecil.Metadata/EventPtr.cs
+./Mono.Cecil.Metadata/ExportedType.cs
+./Mono.Cecil.Metadata/Field.cs
+./Mono.Cecil.Metadata/FieldLayout.cs
+./Mono.Cecil.Metadata/FieldMarshal.cs
+./Mono.Cecil.Metadata/FieldPtr.cs
+./Mono.Cecil.Metadata/FieldRVA.cs
+./Mono.Cecil.Metadata/File.cs
+./Mono.Cecil.Metadata/GenericParam.cs
+./Mono.Cecil.Metadata/GenericParamConstraint.cs
+./Mono.Cecil.Metadata/GuidHeap.cs
+./Mono.Cecil.Metadata/IMetadataRow.cs
+./Mono.Cecil.Metadata/IMetadataTable.cs
+./Mono.Cecil.Metadata/IMetadataVisitable.cs
+./Mono.Cecil.Metadata/IMetadataVisitor.cs
+./Mono.Cecil.Metadata/ImplMap.cs
+./Mono.Cecil.Metadata/InterfaceImpl.cs
+./Mono.Cecil.Metadata/ManifestResource.cs
+./Mono.Cecil.Metadata/MemberRef.cs
+./Mono.Cecil.Metadata/MetadataFormatException.cs
+./Mono.Cecil.Metadata/MetadataHeap.cs
+./Mono.Cecil.Metadata/MetadataInitializer.cs
+./Mono.Cecil.Metadata/MetadataReader.cs
+./Mono.Cecil.Metadata/MetadataRoot.cs
+./Mono.Cecil.Metadata/MetadataRowReader.cs
+./Mono.Cecil.Metadata/MetadataRowWriter.cs
+./Mono.Cecil.Metadata/MetadataStream.cs
+./Mono.Cecil.Metadata/MetadataStreamCollection.cs
+./Mono.Cecil.Metadata/MetadataTableReader.cs
+./Mono.Cecil.Metadata/MetadataTableWriter.cs
+./Mono.Cecil.Metadata/MetadataToken.cs
+./Mono.Cecil.Metadata/MetadataWriter.cs
+./Mono.Cecil.Metadata/Method.cs
+./Mono.Cecil.Metadata/MethodImpl.cs
+./Mono.Cecil.Metadata/MethodPtr.cs
+./Mono.Cecil.Metadata/MethodSemantics.cs
+./Mono.Cecil.Metadata/MethodSpec.cs
+./Mono.Cecil.Metadata/Module.cs
+./Mono.Cecil.Metadata/ModuleRef.cs
+./Mono.Cecil.Metadata/NestedClass.cs
+./Mono.Cecil.Metadata/Param.cs
+./Mono.Cecil.Metadata/ParamPtr.cs
+./Mono.Cecil.Metadata/Property.cs
+./Mono.Cecil.Metadata/PropertyMap.cs
+./Mono.Cecil.Metadata/PropertyPtr.cs
+./Mono.Cecil.Metadata/RowCollection.cs
+./Mono.Cecil.Metadata/StandAloneSig.cs
+./Mono.Cecil.Metadata/StringsHeap.cs
+./Mono.Cecil.Metadata/TableCollection.cs
+./Mono.Cecil.Metadata/TablesHeap.cs
+./Mono.Cecil.Metadata/TokenType.cs
+./Mono.Cecil.Metadata/TypeDef.cs
+./Mono.Cecil.Metadata/TypeRef.cs
+./Mono.Cecil.Metadata/TypeSpec.cs
+./Mono.Cecil.Metadata/UserStringsHeap.cs
+./Mono.Cecil.Metadata/Utilities.cs
+./Mono.Cecil.Cil/BaseCodeVisitor.cs
+./Mono.Cecil.Cil/CilWorker.cs
+./Mono.Cecil.Cil/Code.cs
+./Mono.Cecil.Cil/CodeReader.cs
+./Mono.Cecil.Cil/CodeWriter.cs
+./Mono.Cecil.Cil/Document.cs
+./Mono.Cecil.Cil/DocumentHashAlgorithm.cs
+./Mono.Cecil.Cil/DocumentLanguage.cs
+./Mono.Cecil.Cil/DocumentLanguageVendor.cs
+./Mono.Cecil.Cil/DocumentType.cs
+./Mono.Cecil.Cil/ExceptionHandler.cs
+./Mono.Cecil.Cil/ExceptionHandlerCollection.cs
+./Mono.Cecil.Cil/ExceptionHandlerType.cs
+./Mono.Cecil.Cil/FlowControl.cs
+./Mono.Cecil.Cil/GuidAttribute.cs
+./Mono.Cecil.Cil/ICodeVisitable.cs
+./Mono.Cecil.Cil/ICodeVisitor.cs
+./Mono.Cecil.Cil/Instruction.cs
+./Mono.Cecil.Cil/InstructionCollection.cs
+./Mono.Cecil.Cil/IScopeProvider.cs
+./Mono.Cecil.Cil/ISymbolReader.cs
+./Mono.Cecil.Cil/ISymbolStoreFactory.cs
+./Mono.Cecil.Cil/ISymbolWriter.cs
+./Mono.Cecil.Cil/IVariableDefinitionProvider.cs
+./Mono.Cecil.Cil/MethodBody.cs
+./Mono.Cecil.Cil/MethodDataSection.cs
+./Mono.Cecil.Cil/MethodHeader.cs
+./Mono.Cecil.Cil/OpCode.cs
+./Mono.Cecil.Cil/OpCodes.cs
+./Mono.Cecil.Cil/OpCodeNames.cs
+./Mono.Cecil.Cil/OpCodeType.cs
+./Mono.Cecil.Cil/OperandType.cs
+./Mono.Cecil.Cil/Scope.cs
+./Mono.Cecil.Cil/ScopeCollection.cs
+./Mono.Cecil.Cil/SequencePoint.cs
+./Mono.Cecil.Cil/StackBehaviour.cs
+./Mono.Cecil.Cil/SymbolStoreHelper.cs
+./Mono.Cecil.Cil/VariableDefinition.cs
+./Mono.Cecil.Cil/VariableDefinitionCollection.cs
+./Mono.Cecil.Cil/VariableReference.cs
+./Mono.Cecil.Signatures/Array.cs
+./Mono.Cecil.Signatures/ArrayShape.cs
+./Mono.Cecil.Signatures/BaseSignatureVisitor.cs
+./Mono.Cecil.Signatures/Class.cs
+./Mono.Cecil.Signatures/Constraint.cs
+./Mono.Cecil.Signatures/CustomAttrib.cs
+./Mono.Cecil.Signatures/CustomMod.cs
+./Mono.Cecil.Signatures/FieldSig.cs
+./Mono.Cecil.Signatures/FnPtr.cs
+./Mono.Cecil.Signatures/GenericArg.cs
+./Mono.Cecil.Signatures/GenericInst.cs
+./Mono.Cecil.Signatures/GenericInstSignature.cs
+./Mono.Cecil.Signatures/InputOutputItem.cs
+./Mono.Cecil.Signatures/ISignatureVisitable.cs
+./Mono.Cecil.Signatures/ISignatureVisitor.cs
+./Mono.Cecil.Signatures/LocalVarSig.cs
+./Mono.Cecil.Signatures/MarshalSig.cs
+./Mono.Cecil.Signatures/MethodDefSig.cs
+./Mono.Cecil.Signatures/MethodRefSig.cs
+./Mono.Cecil.Signatures/MethodSig.cs
+./Mono.Cecil.Signatures/MethodSpec.cs
+./Mono.Cecil.Signatures/MVar.cs
+./Mono.Cecil.Signatures/Param.cs
+./Mono.Cecil.Signatures/PropertySig.cs
+./Mono.Cecil.Signatures/Ptr.cs
+./Mono.Cecil.Signatures/RetType.cs
+./Mono.Cecil.Signatures/Signature.cs
+./Mono.Cecil.Signatures/SignatureReader.cs
+./Mono.Cecil.Signatures/SignatureWriter.cs
+./Mono.Cecil.Signatures/SigType.cs
+./Mono.Cecil.Signatures/SzArray.cs
+./Mono.Cecil.Signatures/TypeSpec.cs
+./Mono.Cecil.Signatures/ValueType.cs
+./Mono.Cecil.Signatures/Var.cs
+./Mono.Xml/SecurityParser.cs
+./Mono.Xml/SmallXmlParser.cs
diff --git a/mcs/tools/corcompare/AssemblyResolver.cs b/mcs/tools/corcompare/AssemblyResolver.cs
index ff927b14e71..56000ca6777 100644
--- a/mcs/tools/corcompare/AssemblyResolver.cs
+++ b/mcs/tools/corcompare/AssemblyResolver.cs
@@ -34,36 +34,19 @@ using Mono.Cecil;
namespace GuiCompare {
- public class AssemblyResolver : IAssemblyResolver {
+ public class AssemblyResolver : DefaultAssemblyResolver {
- DefaultAssemblyResolver resolver = new DefaultAssemblyResolver ();
-
- public AssemblyResolver ()
+ public AssemblyDefinition ResolveFile (string file)
{
- }
-
- public AssemblyDefinition Resolve (string fullName)
- {
- if (File.Exists (fullName))
- return Attach (ProcessFile (fullName));
-
- return Attach (resolver.Resolve (fullName));
+ return ProcessFile (file);
}
AssemblyDefinition ProcessFile (string file)
{
- resolver.AddSearchDirectory (Path.GetDirectoryName (file));
- return AssemblyFactory.GetAssembly (file);
- }
+ AddSearchDirectory (Path.GetDirectoryName (file));
+ var assembly = AssemblyDefinition.ReadAssembly (file, new ReaderParameters { AssemblyResolver = this });
+ RegisterAssembly (assembly);
- public AssemblyDefinition Resolve (AssemblyNameReference name)
- {
- return Attach (resolver.Resolve (name));
- }
-
- AssemblyDefinition Attach (AssemblyDefinition assembly)
- {
- assembly.Resolver = this;
return assembly;
}
}
diff --git a/mcs/tools/corcompare/Util.cs b/mcs/tools/corcompare/Util.cs
index 9d3b3eb43b6..6ac49d7207b 100644
--- a/mcs/tools/corcompare/Util.cs
+++ b/mcs/tools/corcompare/Util.cs
@@ -19,7 +19,7 @@ namespace CorCompare {
TypeDefinition td = typeref.Resolve ();
if (td == null)
return false;
-
+
return td.IsPublic;
}
@@ -64,17 +64,17 @@ namespace CorCompare {
internal static bool IsPublic (CustomAttribute att)
{
- return IsPublic (att.Constructor.DeclaringType);
+ return IsPublic (att.AttributeType);
}
internal static string GetFullName (CustomAttribute att)
{
- return att.Constructor.DeclaringType.FullName;
+ return att.AttributeType.FullName;
}
internal static TypeDefinition GetTypeDefinition (CustomAttribute att)
{
- return att.Constructor.DeclaringType.Resolve ();
+ return att.AttributeType.Resolve ();
}
}
}
diff --git a/mcs/tools/corcompare/WellFormedXmlWriter.cs b/mcs/tools/corcompare/WellFormedXmlWriter.cs
index 631f1364e04..334c57fab33 100644
--- a/mcs/tools/corcompare/WellFormedXmlWriter.cs
+++ b/mcs/tools/corcompare/WellFormedXmlWriter.cs
@@ -19,7 +19,7 @@ namespace CorCompare {
{
return !IsInvalid (ch);
}
-
+
public static bool IsInvalid (int ch)
{
switch (ch) {
@@ -43,7 +43,7 @@ namespace CorCompare {
else
return true;
}
-
+
public static int IndexOfInvalid (string s, bool allowSurrogate)
{
for (int i = 0; i < s.Length; i++)
@@ -59,7 +59,7 @@ namespace CorCompare {
}
return -1;
}
-
+
public static int IndexOfInvalid (char [] s, int start, int length, bool allowSurrogate)
{
int end = start + length;
@@ -78,11 +78,11 @@ namespace CorCompare {
}
return -1;
}
-
+
public WellFormedXmlWriter (XmlWriter writer) : base (writer)
{
}
-
+
public override void WriteString (string text)
{
int i = IndexOfInvalid (text, true);
@@ -95,7 +95,7 @@ namespace CorCompare {
Writer.WriteString (text);
}
}
-
+
public override void WriteChars (char [] text, int idx, int length)
{
int start = idx;
@@ -112,179 +112,179 @@ namespace CorCompare {
if (start < end)
Writer.WriteChars (text, start, end - start);
}
-
+
}
-
+
public class DefaultXmlWriter : XmlWriter
{
XmlWriter writer;
-
+
public DefaultXmlWriter (XmlWriter writer)
{
this.writer = writer;
}
-
+
protected XmlWriter Writer {
get { return writer; }
}
-
+
public override void Close ()
{
writer.Close ();
}
-
+
public override void Flush ()
{
writer.Flush ();
}
-
+
public override string LookupPrefix (string ns)
{
return writer.LookupPrefix (ns);
}
-
+
public override void WriteBase64 (byte [] buffer, int index, int count)
{
writer.WriteBase64 (buffer, index, count);
}
-
+
public override void WriteBinHex (byte [] buffer, int index, int count)
{
writer.WriteBinHex (buffer, index, count);
}
-
+
public override void WriteCData (string text)
{
writer.WriteCData (text);
}
-
+
public override void WriteCharEntity (char ch)
{
writer.WriteCharEntity (ch);
}
-
+
public override void WriteChars (char [] buffer, int index, int count)
{
writer.WriteChars (buffer, index, count);
}
-
+
public override void WriteComment (string text)
{
writer.WriteComment (text);
}
-
+
public override void WriteDocType (string name, string pubid, string sysid, string subset)
{
writer.WriteDocType (name, pubid, sysid, subset);
}
-
+
public override void WriteEndAttribute ()
{
writer.WriteEndAttribute ();
}
-
+
public override void WriteEndDocument ()
{
writer.WriteEndDocument ();
}
-
+
public override void WriteEndElement ()
{
writer.WriteEndElement ();
}
-
+
public override void WriteEntityRef (string name)
{
writer.WriteEntityRef (name);
}
-
+
public override void WriteFullEndElement ()
{
writer.WriteFullEndElement ();
}
-
+
public override void WriteName (string name)
{
writer.WriteName (name);
}
-
+
public override void WriteNmToken (string name)
{
writer.WriteNmToken (name);
}
-
+
public override void WriteNode (XmlReader reader, bool defattr)
{
writer.WriteNode (reader, defattr);
}
-
+
public override void WriteProcessingInstruction (string name, string text)
{
writer.WriteProcessingInstruction (name, text);
}
-
+
public override void WriteQualifiedName (string localName, string ns)
{
writer.WriteQualifiedName (localName, ns);
}
-
+
public override void WriteRaw (string data)
{
writer.WriteRaw (data);
}
-
+
public override void WriteRaw (char [] buffer, int index, int count)
{
writer.WriteRaw (buffer, index, count);
}
-
+
public override void WriteStartAttribute (string prefix, string localName, string ns)
{
writer.WriteStartAttribute (prefix, localName, ns);
}
-
+
public override void WriteStartDocument (bool standalone)
{
writer.WriteStartDocument (standalone);
}
-
+
public override void WriteStartDocument ()
{
writer.WriteStartDocument ();
}
-
+
public override void WriteStartElement (string prefix, string localName, string ns)
{
writer.WriteStartElement (prefix, localName, ns);
}
-
+
public override void WriteString (string text)
{
writer.WriteString (text);
}
-
+
public override void WriteSurrogateCharEntity (char lowChar, char highChar)
{
writer.WriteSurrogateCharEntity (lowChar, highChar);
}
-
+
public override void WriteWhitespace (string ws)
{
writer.WriteWhitespace (ws);
}
-
+
public override WriteState WriteState {
get {
return writer.WriteState;
}
}
-
+
public override string XmlLang {
get {
return writer.XmlLang;
}
}
-
+
public override XmlSpace XmlSpace {
get {
return writer.XmlSpace;
diff --git a/mcs/tools/corcompare/mono-api-diff.cs b/mcs/tools/corcompare/mono-api-diff.cs
index c5d2ac11a65..322e4c883b7 100644
--- a/mcs/tools/corcompare/mono-api-diff.cs
+++ b/mcs/tools/corcompare/mono-api-diff.cs
@@ -295,14 +295,14 @@ namespace Mono.AssemblyCompare
public bool HaveWarnings {
get { return haveWarnings; }
}
-
+
public Counters Counters {
get { return counters; }
}
-
+
public abstract void CompareTo (XmlDocument doc, XmlNode parent, object other);
}
-
+
abstract class XMLNameGroup : XMLData
{
protected XmlNode group;
@@ -530,7 +530,7 @@ namespace Mono.AssemblyCompare
this.document = doc;
XmlNode parent = doc.CreateElement ("assemblies", null);
doc.AppendChild (parent);
-
+
CompareTo (doc, parent, other);
XmlNode decl = doc.CreateXmlDeclaration ("1.0", null, null);
@@ -660,7 +660,7 @@ namespace Mono.AssemblyCompare
XMLEvents events;
XMLMethods methods;
XMLClass [] nested;
-
+
public override void LoadData (XmlNode node)
{
if (node == null)
@@ -694,7 +694,7 @@ namespace Mono.AssemblyCompare
// Console.Error.WriteLine ("Empty class {0} {1}", name, type);
return;
}
-
+
if (child.Name == "attributes") {
attributes = new XMLAttributes ();
attributes.LoadData (child);
@@ -995,7 +995,7 @@ namespace Mono.AssemblyCompare
if (type != oparm.type)
AddWarning (parent, "Parameter type is wrong: {0} != {1}", type, oparm.type);
-
+
if (attrib != oparm.attrib)
AddWarning (parent, "Parameter attributes wrong: {0} != {1}", attrib, oparm.attrib);
@@ -1101,7 +1101,7 @@ namespace Mono.AssemblyCompare
if (de.Value.Equals (other_value))
continue;
- AddWarning (parent, "Property '{0}' is '{1}' and should be '{2}'",
+ AddWarning (parent, "Property '{0}' is '{1}' and should be '{2}'",
de.Key, de.Value, other_value == null ? "null" : other_value);
}
}
@@ -1156,7 +1156,7 @@ namespace Mono.AssemblyCompare
{
string key = null;
- // if multiple attributes with the same name (type) exist, then we
+ // if multiple attributes with the same name (type) exist, then we
// cannot be sure which attributes correspond, so we must use the
// name of the attribute (type) and the name/value of its properties
// as key
@@ -1175,7 +1175,7 @@ namespace Mono.AssemblyCompare
}
}
- // sort properties by name, as order of properties in XML is
+ // sort properties by name, as order of properties in XML is
// undefined
keyParts.Sort ();
@@ -1294,7 +1294,7 @@ namespace Mono.AssemblyCompare
XmlAttribute xatt = node.Attributes ["attrib"];
if (xatt != null)
access [name] = xatt.Value;
-
+
XmlNode orig = node;
node = node.FirstChild;
@@ -1364,7 +1364,7 @@ namespace Mono.AssemblyCompare
return null;
}
}
-
+
class XMLFields : XMLMember
{
Hashtable fieldTypes;
@@ -1819,7 +1819,7 @@ namespace Mono.AssemblyCompare
if ((ma & MethodAttributes.RequireSecObject) != 0)
ma = (MethodAttributes) (att - (int) MethodAttributes.RequireSecObject);
- // we don't care if the implementation is forwarded through PInvoke
+ // we don't care if the implementation is forwarded through PInvoke
if ((ma & MethodAttributes.PinvokeImpl) != 0)
ma = (MethodAttributes) (att - (int) MethodAttributes.PinvokeImpl);
diff --git a/mcs/tools/corcompare/mono-api-info.cs b/mcs/tools/corcompare/mono-api-info.cs
index c488c0d0fd0..8048ffa29d8 100644
--- a/mcs/tools/corcompare/mono-api-info.cs
+++ b/mcs/tools/corcompare/mono-api-info.cs
@@ -11,6 +11,7 @@ using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
+using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security.Permissions;
@@ -61,7 +62,7 @@ namespace CorCompare
return CleanupTypeName (type.FullName);
}
- static string CleanupTypeName (string t)
+ public static string CleanupTypeName (string t)
{
return t.Replace ('<', '[').Replace ('>', ']').Replace ('/', '+');
}
@@ -151,13 +152,10 @@ namespace CorCompare
natts = document.CreateElement ("attributes", null);
parent.AppendChild (natts);
}
-
- foreach (TypeReference tref in ass.MainModule.ExternTypes) {
- TypeDefinition def = tref.Resolve ();
- if (def == null)
- continue;
- if (((uint)def.Attributes & 0x200000u) == 0)
+ foreach (ExportedType type in ass.MainModule.ExportedTypes) {
+
+ if (((uint)type.Attributes & 0x200000u) == 0)
continue;
XmlNode node = document.CreateElement ("attribute");
@@ -165,7 +163,7 @@ namespace CorCompare
XmlNode properties = node.AppendChild (document.CreateElement ("properties"));
XmlNode property = properties.AppendChild (document.CreateElement ("property"));
AddAttribute (property, "name", "Destination");
- AddAttribute (property, "value", Utils.CleanupTypeName (tref));
+ AddAttribute (property, "value", Utils.CleanupTypeName (type.FullName));
natts.AppendChild (node);
}
}
@@ -176,7 +174,7 @@ namespace CorCompare
tftd.DoOutput ();
}
}
-
+
class AssemblyData : BaseData
{
AssemblyDefinition ass;
@@ -199,7 +197,7 @@ namespace CorCompare
parent.AppendChild (nassembly);
TypeForwardedToData.OutputForwarders (document, nassembly, ass);
AttributeData.OutputAttributes (document, nassembly, ass.CustomAttributes);
- TypeDefinitionCollection typesCollection = ass.MainModule.Types;
+ var typesCollection = ass.MainModule.Types;
if (typesCollection == null || typesCollection.Count == 0)
return;
object [] typesArray = new object [typesCollection.Count];
@@ -268,7 +266,7 @@ namespace CorCompare
}
- protected abstract CustomAttributeCollection GetCustomAttributes (MemberReference member);
+ protected abstract IList<CustomAttribute> GetCustomAttributes (MemberReference member);
protected virtual void AddExtraData (XmlNode p, MemberReference memberDefenition)
{
@@ -343,7 +341,7 @@ namespace CorCompare
this.type = type;
}
- protected override CustomAttributeCollection GetCustomAttributes (MemberReference member) {
+ protected override IList<CustomAttribute> GetCustomAttributes (MemberReference member) {
return ((TypeDefinition) member).CustomAttributes;
}
@@ -446,7 +444,7 @@ namespace CorCompare
foreach (MemberData md in members)
md.DoOutput ();
- NestedTypeCollection nested = type.NestedTypes;
+ var nested = type.NestedTypes;
//remove non public(familiy) and nested in second degree
for (int i = nested.Count - 1; i >= 0; i--) {
TypeDefinition t = nested [i];
@@ -547,7 +545,7 @@ namespace CorCompare
FieldDefinition [] GetFields (TypeDefinition type) {
ArrayList list = new ArrayList ();
- FieldDefinitionCollection fields = type.Fields;
+ var fields = type.Fields;
foreach (FieldDefinition field in fields) {
if (field.IsSpecialName)
continue;
@@ -575,7 +573,7 @@ namespace CorCompare
internal static PropertyDefinition [] GetProperties (TypeDefinition type) {
ArrayList list = new ArrayList ();
- PropertyDefinitionCollection properties = type.Properties;//type.GetProperties (flags);
+ var properties = type.Properties;//type.GetProperties (flags);
foreach (PropertyDefinition property in properties) {
MethodDefinition getMethod = property.GetMethod;
MethodDefinition setMethod = property.SetMethod;
@@ -597,7 +595,7 @@ namespace CorCompare
{
ArrayList list = new ArrayList ();
- MethodDefinitionCollection methods = type.Methods;//type.GetMethods (flags);
+ var methods = type.Methods;//type.GetMethods (flags);
foreach (MethodDefinition method in methods) {
if (method.IsSpecialName && !method.Name.StartsWith ("op_"))
continue;
@@ -633,7 +631,7 @@ namespace CorCompare
{
ArrayList list = new ArrayList ();
- ConstructorCollection ctors = type.Constructors;//type.GetConstructors (flags);
+ var ctors = type.Methods.Where (m => m.IsConstructor);//type.GetConstructors (flags);
foreach (MethodDefinition constructor in ctors) {
// we're only interested in public or protected members
if (!MustDocumentMethod(constructor))
@@ -649,7 +647,7 @@ namespace CorCompare
{
ArrayList list = new ArrayList ();
- EventDefinitionCollection events = type.Events;//type.GetEvents (flags);
+ var events = type.Events;//type.GetEvents (flags);
foreach (EventDefinition eventDef in events) {
MethodDefinition addMethod = eventDef.AddMethod;//eventInfo.GetAddMethod (true);
@@ -670,7 +668,7 @@ namespace CorCompare
{
}
- protected override CustomAttributeCollection GetCustomAttributes (MemberReference member) {
+ protected override IList<CustomAttribute> GetCustomAttributes (MemberReference member) {
return ((FieldDefinition) member).CustomAttributes;
}
@@ -726,7 +724,7 @@ namespace CorCompare
{
}
- protected override CustomAttributeCollection GetCustomAttributes (MemberReference member) {
+ protected override IList<CustomAttribute> GetCustomAttributes (MemberReference member) {
return ((PropertyDefinition) member).CustomAttributes;
}
@@ -789,7 +787,7 @@ namespace CorCompare
{
}
- protected override CustomAttributeCollection GetCustomAttributes (MemberReference member) {
+ protected override IList<CustomAttribute> GetCustomAttributes (MemberReference member) {
return ((EventDefinition) member).CustomAttributes;
}
@@ -830,7 +828,7 @@ namespace CorCompare
{
}
- protected override CustomAttributeCollection GetCustomAttributes (MemberReference member) {
+ protected override IList<CustomAttribute> GetCustomAttributes (MemberReference member) {
return ((MethodDefinition) member).CustomAttributes;
}
@@ -868,11 +866,11 @@ namespace CorCompare
if (mbase.IsStatic)
AddAttribute (p, "static", "true");
- string rettype = Utils.CleanupTypeName (mbase.ReturnType.ReturnType);
+ string rettype = Utils.CleanupTypeName (mbase.MethodReturnType.ReturnType);
if (rettype != "System.Void" || !mbase.IsConstructor)
AddAttribute (p, "returntype", (rettype));
- AttributeData.OutputAttributes (document, p, mbase.ReturnType.CustomAttributes);
+ AttributeData.OutputAttributes (document, p, mbase.MethodReturnType.CustomAttributes);
MemberData.OutputGenericParameters (document, p, mbase);
}
@@ -909,9 +907,9 @@ namespace CorCompare
class ParameterData : BaseData
{
- private ParameterDefinitionCollection parameters;
+ private IList<ParameterDefinition> parameters;
- public ParameterData (XmlDocument document, XmlNode parent, ParameterDefinitionCollection parameters)
+ public ParameterData (XmlDocument document, XmlNode parent, IList<ParameterDefinition> parameters)
: base (document, parent)
{
this.parameters = parameters;
@@ -931,7 +929,7 @@ namespace CorCompare
string direction = "in";
- if (parameter.ParameterType is ReferenceType)
+ if (parameter.ParameterType is ByReferenceType)
direction = parameter.IsOut ? "out" : "ref";
TypeReference t = parameter.ParameterType;
@@ -953,9 +951,9 @@ namespace CorCompare
class AttributeData : BaseData
{
- CustomAttributeCollection atts;
+ IList<CustomAttribute> atts;
- AttributeData (XmlDocument doc, XmlNode parent, CustomAttributeCollection attributes)
+ AttributeData (XmlDocument doc, XmlNode parent, IList<CustomAttribute> attributes)
: base (doc, parent)
{
atts = attributes;
@@ -977,12 +975,6 @@ namespace CorCompare
for (int i = 0; i < atts.Count; ++i) {
CustomAttribute att = atts [i];
- try {
- att.Resolve ();
- } catch {}
-
- if (!att.Resolved)
- continue;
string attName = Utils.CleanupTypeName (att.Constructor.DeclaringType);
if (SkipAttribute (att))
@@ -1039,10 +1031,10 @@ namespace CorCompare
static void PopulateMapping (Dictionary<string, object> mapping, CustomAttribute attribute)
{
- foreach (DictionaryEntry entry in attribute.Properties) {
- var name = (string) entry.Key;
+ foreach (var named_argument in attribute.Properties) {
+ var name = named_argument.Name;
- mapping.Add (name, GetArgumentValue (attribute.GetPropertyType (name), entry.Value));
+ mapping.Add (name, GetArgumentValue (named_argument.Argument.Type, named_argument.Argument.Value));
}
}
@@ -1065,7 +1057,7 @@ namespace CorCompare
break;
case Code.Ldarg:
case Code.Ldarg_S:
- argument = ((ParameterDefinition) instruction.Operand).Sequence;
+ argument = ((ParameterDefinition) instruction.Operand).Index + 1;
break;
case Code.Stfld:
@@ -1126,7 +1118,8 @@ namespace CorCompare
if (!field_mapping.TryGetValue (pair.Value, out argument))
continue;
- mapping.Add (pair.Key.Name, GetArgumentValue (constructor.Parameters [argument].ParameterType, attribute.ConstructorParameters [argument]));
+ var ca_arg = attribute.ConstructorArguments [argument];
+ mapping.Add (pair.Key.Name, GetArgumentValue (ca_arg.Type, ca_arg.Value));
}
}
@@ -1210,7 +1203,7 @@ namespace CorCompare
|| type_name.EndsWith ("TODOAttribute");
}
- public static void OutputAttributes (XmlDocument doc, XmlNode parent, CustomAttributeCollection attributes)
+ public static void OutputAttributes (XmlDocument doc, XmlNode parent, IList<CustomAttribute> attributes)
{
AttributeData ad = new AttributeData (doc, parent, attributes);
ad.DoOutput ();
@@ -1219,7 +1212,7 @@ namespace CorCompare
static class Parameters {
- public static string GetSignature (ParameterDefinitionCollection infos)
+ public static string GetSignature (IList<ParameterDefinition> infos)
{
if (infos == null || infos.Count == 0)
return "";
@@ -1235,8 +1228,6 @@ namespace CorCompare
string modifier;
if ((info.Attributes & ParameterAttributes.In) != 0)
modifier = "in";
- else if ((info.Attributes & ParameterAttributes.Retval) != 0)
- modifier = "ref";
else if ((info.Attributes & ParameterAttributes.Out) != 0)
modifier = "out";
else
@@ -1293,8 +1284,8 @@ namespace CorCompare
if (res != 0)
return res;
- ParameterDefinitionCollection pia = ma.Parameters ;
- ParameterDefinitionCollection pib = mb.Parameters;
+ IList<ParameterDefinition> pia = ma.Parameters ;
+ IList<ParameterDefinition> pib = mb.Parameters;
res = pia.Count - pib.Count;
if (res != 0)
return res;
diff --git a/mcs/tools/linker/Mono.Linker.Steps/BaseStep.cs b/mcs/tools/linker/Mono.Linker.Steps/BaseStep.cs
index 696740ecd4b..13cf4686cc6 100644
--- a/mcs/tools/linker/Mono.Linker.Steps/BaseStep.cs
+++ b/mcs/tools/linker/Mono.Linker.Steps/BaseStep.cs
@@ -38,6 +38,10 @@ namespace Mono.Linker.Steps {
get { return _context; }
}
+ public AnnotationStore Annotations {
+ get { return _context.Annotations; }
+ }
+
public void Process (LinkContext context)
{
_context = context;
diff --git a/mcs/tools/linker/Mono.Linker.Steps/CleanStep.cs b/mcs/tools/linker/Mono.Linker.Steps/CleanStep.cs
index fabe022ca05..e118175aa1c 100644
--- a/mcs/tools/linker/Mono.Linker.Steps/CleanStep.cs
+++ b/mcs/tools/linker/Mono.Linker.Steps/CleanStep.cs
@@ -42,27 +42,10 @@ namespace Mono.Linker.Steps {
static void CleanAssembly (AssemblyDefinition asm)
{
- CleanMemberReferences (asm.MainModule);
foreach (TypeDefinition type in asm.MainModule.Types)
CleanType (type);
}
- static void CleanMemberReferences (ModuleDefinition module)
- {
- var references = module.MemberReferences;
-
- for (int i = 0; i < references.Count; i++) {
- var reference = references [i];
- GenericInstanceType git = reference.DeclaringType as GenericInstanceType;
- if (git == null)
- continue;
-
- foreach (TypeReference arg in git.GenericArguments)
- if (!CheckType (module, arg))
- references.RemoveAt (i--);
- }
- }
-
static bool CheckType (ModuleDefinition module, TypeReference reference)
{
TypeSpecification spec = reference as TypeSpecification;
diff --git a/mcs/tools/linker/Mono.Linker.Steps/LoadI18nAssemblies.cs b/mcs/tools/linker/Mono.Linker.Steps/LoadI18nAssemblies.cs
index c8256a5c720..45ac9240a1f 100644
--- a/mcs/tools/linker/Mono.Linker.Steps/LoadI18nAssemblies.cs
+++ b/mcs/tools/linker/Mono.Linker.Steps/LoadI18nAssemblies.cs
@@ -77,17 +77,15 @@ namespace Mono.Linker.Steps {
void LoadAssembly (AssemblyNameReference name)
{
AssemblyDefinition assembly = Context.Resolve (name);
- ResolveFromAssemblyStep.ProcessLibrary (assembly);
+ ResolveFromAssemblyStep.ProcessLibrary (Context, assembly);
}
AssemblyNameReference GetAssemblyName (I18nAssemblies assembly)
{
- AssemblyNameReference name = new AssemblyNameReference ();
- name.Name = "I18N";
+ AssemblyNameReference name = new AssemblyNameReference ("I18N", GetCorlibVersion ());
if (assembly != I18nAssemblies.Base)
name.Name += "." + assembly;
- name.Version = GetCorlibVersion ();
name.PublicKeyToken = _pktoken;
return name;
}
diff --git a/mcs/tools/linker/Mono.Linker.Steps/MarkStep.cs b/mcs/tools/linker/Mono.Linker.Steps/MarkStep.cs
index 745ed948333..29d218599e3 100644
--- a/mcs/tools/linker/Mono.Linker.Steps/MarkStep.cs
+++ b/mcs/tools/linker/Mono.Linker.Steps/MarkStep.cs
@@ -29,6 +29,8 @@
using System;
using System.Collections;
+using System.Linq;
+
using Mono.Cecil;
using Mono.Cecil.Cil;
@@ -40,6 +42,10 @@ namespace Mono.Linker.Steps {
Queue _methods;
ArrayList _virtual_methods;
+ public AnnotationStore Annotations {
+ get { return _context.Annotations; }
+ }
+
public MarkStep ()
{
_methods = new Queue ();
@@ -79,8 +85,6 @@ namespace Mono.Linker.Steps {
InitializeFields (type);
if (type.HasMethods)
InitializeMethods (type.Methods);
- if (type.HasConstructors)
- InitializeMethods (type.Constructors);
}
void InitializeFields (TypeDefinition type)
@@ -157,27 +161,16 @@ namespace Mono.Linker.Steps {
ProcessVirtualMethod (method);
}
- void MarkMethodBody (MethodBody body)
+ void MarkMarshalSpec (IMarshalInfoProvider spec)
{
- foreach (VariableDefinition var in body.Variables)
- MarkType (var.VariableType);
-
- foreach (ExceptionHandler eh in body.ExceptionHandlers)
- if (eh.Type == ExceptionHandlerType.Catch)
- MarkType (eh.CatchType);
-
- foreach (Instruction instruction in body.Instructions)
- MarkInstruction (instruction);
- }
+ if (!spec.HasMarshalInfo)
+ return;
- void MarkMarshalSpec (IHasMarshalSpec spec)
- {
- CustomMarshalerSpec marshaler = spec.MarshalSpec as CustomMarshalerSpec;
+ var marshaler = spec.MarshalInfo as CustomMarshalInfo;
if (marshaler == null)
return;
- TypeDefinition type = _context.GetType (marshaler.ManagedType);
- MarkType (type);
+ MarkType (marshaler.ManagedType);
}
void MarkCustomAttributes (ICustomAttributeProvider provider)
@@ -193,15 +186,7 @@ namespace Mono.Linker.Steps {
{
MarkMethod (ca.Constructor);
- if (!ca.Resolved) {
- ca = ca.Clone ();
- ca.Resolve ();
- }
-
- if (!ca.Resolved)
- return;
-
- MarkCustomAttributeParameters (ca);
+ MarkCustomAttributeArguments (ca);
TypeReference constructor_type = ca.Constructor.DeclaringType;
TypeDefinition type = constructor_type.Resolve ();
@@ -214,24 +199,21 @@ namespace Mono.Linker.Steps {
void MarkCustomAttributeProperties (CustomAttribute ca, TypeDefinition attribute)
{
- foreach (DictionaryEntry de in ca.Properties) {
- string propertyname = (string) de.Key;
-
- PropertyDefinition property = GetProperty (attribute, propertyname);
+ foreach (var named_argument in ca.Properties) {
+ PropertyDefinition property = GetProperty (attribute, named_argument.Name);
if (property != null)
MarkMethod (property.SetMethod);
- TypeReference propType = ca.GetPropertyType (propertyname);
- MarkIfType (propType, de.Value);
+ MarkIfType (named_argument.Argument);
}
}
PropertyDefinition GetProperty (TypeDefinition type, string propertyname)
{
while (type != null) {
- PropertyDefinition [] properties = type.Properties.GetProperties (propertyname);
- if (properties != null && properties.Length != 0 && properties [0].SetMethod != null)
- return properties [0];
+ PropertyDefinition property = type.Properties.FirstOrDefault (p => p.Name == propertyname);
+ if (property != null)
+ return property;
type = type.BaseType != null ? ResolveTypeDefinition (type.BaseType) : null;
}
@@ -241,22 +223,19 @@ namespace Mono.Linker.Steps {
void MarkCustomAttributeFields (CustomAttribute ca, TypeDefinition attribute)
{
- foreach (DictionaryEntry de in ca.Fields) {
- string fieldname = (string) de.Key;
-
- FieldDefinition field = GetField (attribute, fieldname);
+ foreach (var named_argument in ca.Fields) {
+ FieldDefinition field = GetField (attribute, named_argument.Name);
if (field != null)
MarkField (field);
- TypeReference fieldType = ca.GetFieldType (fieldname);
- MarkIfType (fieldType, de.Value);
+ MarkIfType (named_argument.Argument);
}
}
FieldDefinition GetField (TypeDefinition type, string fieldname)
{
while (type != null) {
- FieldDefinition field = type.Fields.GetField (fieldname);
+ FieldDefinition field = type.Fields.FirstOrDefault (f => f.Name == fieldname);
if (field != null)
return field;
@@ -266,33 +245,22 @@ namespace Mono.Linker.Steps {
return null;
}
- void MarkCustomAttributeParameters (CustomAttribute ca)
+ void MarkCustomAttributeArguments (CustomAttribute ca)
{
- for (int i = 0; i < ca.Constructor.Parameters.Count; i++) {
- ParameterDefinition param = ca.Constructor.Parameters [i];
- MarkIfType (param.ParameterType, ca.ConstructorParameters [i]);
- }
+ foreach (var argument in ca.ConstructorArguments)
+ MarkIfType (argument);
}
- void MarkIfType (TypeReference slotType, object value)
+ void MarkIfType (CustomAttributeArgument argument)
{
- if (slotType.FullName != Constants.Type)
+ if (argument.Type.FullName != "System.Type")
return;
- string type_name = (string) value;
-
- try {
- var type = TypeParser.ParseType (slotType.Module, type_name);
- if (type == null)
- return;
-
- MarkType (type);
- } catch {
- return;
- }
+ MarkType (argument.Type);
+ MarkType ((TypeReference) argument.Value);
}
- protected static bool CheckProcessed (IAnnotationProvider provider)
+ protected bool CheckProcessed (IMetadataTokenProvider provider)
{
if (Annotations.IsProcessed (provider))
return true;
@@ -350,7 +318,7 @@ namespace Mono.Linker.Steps {
void MarkScope (IMetadataScope scope)
{
- IAnnotationProvider provider = scope as IAnnotationProvider;
+ var provider = scope as IMetadataTokenProvider;
if (provider == null)
return;
@@ -384,13 +352,12 @@ namespace Mono.Linker.Steps {
MarkCustomAttributes (type);
if (IsMulticastDelegate (type)) {
- MarkMethodCollection (type.Constructors);
MarkMethodCollection (type.Methods);
}
- if (IsSerializable (type) && type.HasConstructors) {
- MarkMethodsIf (type.Constructors, IsDefaultConstructorPredicate);
- MarkMethodsIf (type.Constructors, IsSpecialSerializationConstructorPredicate);
+ if (IsSerializable (type) && type.HasMethods) {
+ MarkMethodsIf (type.Methods, IsDefaultConstructorPredicate);
+ MarkMethodsIf (type.Methods, IsSpecialSerializationConstructorPredicate);
}
MarkTypeSpecialCustomAttributes (type);
@@ -405,11 +372,10 @@ namespace Mono.Linker.Steps {
MarkType (iface);
}
- if (type.HasMethods)
+ if (type.HasMethods) {
MarkMethodsIf (type.Methods, IsVirtualAndHasPreservedParent);
-
- if (type.HasConstructors)
- MarkMethodsIf (type.Constructors, IsStaticConstructorPredicate);
+ MarkMethodsIf (type.Methods, IsStaticConstructorPredicate);
+ }
Annotations.Mark (type);
@@ -457,10 +423,10 @@ namespace Mono.Linker.Steps {
{
argument = null;
- if (!attribute.Resolved || attribute.ConstructorParameters.Count < 1)
+ if (attribute.ConstructorArguments.Count < 1)
return false;
- argument = attribute.ConstructorParameters [0] as string;
+ argument = attribute.ConstructorArguments [0].Value as string;
return argument != null;
}
@@ -558,7 +524,7 @@ namespace Mono.Linker.Steps {
if (!IsConstructor (method))
return false;
- ParameterDefinitionCollection parameters = method.Parameters;
+ var parameters = method.Parameters;
if (parameters.Count != 2)
return false;
@@ -584,16 +550,14 @@ namespace Mono.Linker.Steps {
static bool IsConstructor (MethodDefinition method)
{
- return method.Name == MethodDefinition.Ctor && method.IsSpecialName &&
- method.IsRuntimeSpecialName;
+ return method.IsConstructor && !method.IsStatic;
}
static MethodPredicate IsStaticConstructorPredicate = new MethodPredicate (IsStaticConstructor);
static bool IsStaticConstructor (MethodDefinition method)
{
- return method.Name == MethodDefinition.Cctor && method.IsSpecialName &&
- method.IsRuntimeSpecialName;
+ return method.IsConstructor && method.IsStatic;
}
static bool IsSerializable (TypeDefinition td)
@@ -622,7 +586,7 @@ namespace Mono.Linker.Steps {
if (git != null)
MarkGenericArguments (git);
- ModType mod = type as ModType;
+ var mod = type as IModifierType;
if (mod != null)
MarkModifierType (mod);
@@ -632,7 +596,7 @@ namespace Mono.Linker.Steps {
return type;
}
- void MarkModifierType (ModType mod)
+ void MarkModifierType (IModifierType mod)
{
MarkType (mod.ModifierType);
}
@@ -669,7 +633,7 @@ namespace Mono.Linker.Steps {
if (argument_definition == null)
continue;
- MarkMethodsIf (argument_definition.Constructors, ctor => !ctor.IsStatic && !ctor.HasParameters);
+ MarkMethodsIf (argument_definition.Methods, ctor => !ctor.IsStatic && !ctor.HasParameters);
}
}
@@ -730,8 +694,6 @@ namespace Mono.Linker.Steps {
{
if (type.HasMethods)
MarkMethodCollection (type.Methods);
- if (type.HasConstructors)
- MarkMethodCollection (type.Constructors);
}
void MarkMethodCollection (IEnumerable methods)
@@ -825,9 +787,9 @@ namespace Mono.Linker.Steps {
MarkBaseMethods (method);
- MarkType (method.ReturnType.ReturnType);
- MarkCustomAttributes (method.ReturnType);
- MarkMarshalSpec (method.ReturnType);
+ MarkType (method.ReturnType);
+ MarkCustomAttributes (method.MethodReturnType);
+ MarkMarshalSpec (method.MethodReturnType);
if (ShouldParseMethodBody (method))
MarkMethodBody (method.Body);
@@ -911,6 +873,19 @@ namespace Mono.Linker.Steps {
MarkMethod (method);
}
+ void MarkMethodBody (MethodBody body)
+ {
+ foreach (VariableDefinition var in body.Variables)
+ MarkType (var.VariableType);
+
+ foreach (ExceptionHandler eh in body.ExceptionHandlers)
+ if (eh.HandlerType == ExceptionHandlerType.Catch)
+ MarkType (eh.CatchType);
+
+ foreach (Instruction instruction in body.Instructions)
+ MarkInstruction (instruction);
+ }
+
void MarkInstruction (Instruction instruction)
{
switch (instruction.OpCode.OperandType) {
diff --git a/mcs/tools/linker/Mono.Linker.Steps/OutputStep.cs b/mcs/tools/linker/Mono.Linker.Steps/OutputStep.cs
index f6ec44d4743..d2b137caf07 100644
--- a/mcs/tools/linker/Mono.Linker.Steps/OutputStep.cs
+++ b/mcs/tools/linker/Mono.Linker.Steps/OutputStep.cs
@@ -61,8 +61,7 @@ namespace Mono.Linker.Steps {
switch (Annotations.GetAction (assembly)) {
case AssemblyAction.Link:
- SaveSymbols (assembly);
- AssemblyFactory.SaveAssembly (assembly, GetAssemblyFileName (assembly, directory));
+ assembly.Write (GetAssemblyFileName (assembly, directory), SaveSymbols (assembly));
break;
case AssemblyAction.Copy:
CopyAssembly (GetOriginalAssemblyFileInfo (assembly), directory);
@@ -75,15 +74,17 @@ namespace Mono.Linker.Steps {
}
}
- void SaveSymbols (AssemblyDefinition assembly)
+ WriterParameters SaveSymbols (AssemblyDefinition assembly)
{
+ var parameters = new WriterParameters ();
if (!Context.LinkSymbols)
- return;
+ return parameters;
- if (!Annotations.HasSymbols (assembly))
- return;
+ if (!assembly.MainModule.HasSymbols)
+ return parameters;
- assembly.MainModule.SaveSymbols();
+ parameters.WriteSymbols = true;
+ return parameters;
}
static void CopyConfigFileIfNeeded (AssemblyDefinition assembly, string directory)
@@ -107,7 +108,7 @@ namespace Mono.Linker.Steps {
static FileInfo GetOriginalAssemblyFileInfo (AssemblyDefinition assembly)
{
- return assembly.MainModule.Image.FileInformation;
+ return new FileInfo (assembly.MainModule.FullyQualifiedName);
}
static void CopyAssembly (FileInfo fi, string directory)
@@ -121,7 +122,7 @@ namespace Mono.Linker.Steps {
static string GetAssemblyFileName (AssemblyDefinition assembly, string directory)
{
- string file = assembly.Name.Name + (assembly.Kind == AssemblyKind.Dll ? ".dll" : ".exe");
+ string file = assembly.Name.Name + (assembly.MainModule.Kind == ModuleKind.Dll ? ".dll" : ".exe");
return Path.Combine (directory, file);
}
}
diff --git a/mcs/tools/linker/Mono.Linker.Steps/ResolveFromAssemblyStep.cs b/mcs/tools/linker/Mono.Linker.Steps/ResolveFromAssemblyStep.cs
index 37e707d72e0..f9aa7a117b4 100644
--- a/mcs/tools/linker/Mono.Linker.Steps/ResolveFromAssemblyStep.cs
+++ b/mcs/tools/linker/Mono.Linker.Steps/ResolveFromAssemblyStep.cs
@@ -46,18 +46,18 @@ namespace Mono.Linker.Steps {
_assembly = assembly;
}
- public override void Process (LinkContext context)
+ protected override void Process ()
{
if (_assembly != null) {
- context.SafeLoadSymbols (_assembly);
- context.Resolver.CacheAssembly (_assembly);
+ Context.SafeLoadSymbols (_assembly);
+ Context.Resolver.CacheAssembly (_assembly);
}
- AssemblyDefinition assembly = _assembly ?? context.Resolve (_file);
+ AssemblyDefinition assembly = _assembly ?? Context.Resolve (_file);
- switch (assembly.Kind) {
- case AssemblyKind.Dll:
- ProcessLibrary (assembly);
+ switch (assembly.MainModule.Kind) {
+ case ModuleKind.Dll:
+ ProcessLibrary (Context, assembly);
return;
default:
ProcessExecutable (assembly);
@@ -65,46 +65,44 @@ namespace Mono.Linker.Steps {
}
}
- public static void ProcessLibrary (AssemblyDefinition assembly)
+ public static void ProcessLibrary (LinkContext context, AssemblyDefinition assembly)
{
- Annotations.SetAction (assembly, AssemblyAction.Copy);
+ context.Annotations.SetAction (assembly, AssemblyAction.Copy);
foreach (TypeDefinition type in assembly.MainModule.Types) {
- Annotations.Mark (type);
+ context.Annotations.Mark (type);
if (type.HasFields)
- MarkFields (type.Fields);
+ MarkFields (context, type.Fields);
if (type.HasMethods)
- MarkMethods (type.Methods);
- if (type.HasConstructors)
- MarkMethods (type.Constructors);
+ MarkMethods (context, type.Methods);
}
}
- static void ProcessExecutable (AssemblyDefinition assembly)
+ void ProcessExecutable (AssemblyDefinition assembly)
{
Annotations.SetAction (assembly, AssemblyAction.Link);
Annotations.Mark (assembly.EntryPoint.DeclaringType);
- MarkMethod (assembly.EntryPoint, MethodAction.Parse);
+ MarkMethod (Context, assembly.EntryPoint, MethodAction.Parse);
}
- static void MarkFields (ICollection fields)
+ static void MarkFields (LinkContext context, ICollection fields)
{
foreach (FieldDefinition field in fields)
- Annotations.Mark (field);
+ context.Annotations.Mark (field);
}
- static void MarkMethods (ICollection methods)
+ static void MarkMethods (LinkContext context, ICollection methods)
{
foreach (MethodDefinition method in methods)
- MarkMethod (method, MethodAction.ForceParse);
+ MarkMethod (context, method, MethodAction.ForceParse);
}
- static void MarkMethod (MethodDefinition method, MethodAction action)
+ static void MarkMethod (LinkContext context, MethodDefinition method, MethodAction action)
{
- Annotations.Mark (method);
- Annotations.SetAction (method, action);
+ context.Annotations.Mark (method);
+ context.Annotations.SetAction (method, action);
}
}
}
diff --git a/mcs/tools/linker/Mono.Linker.Steps/ResolveFromXApiStep.cs b/mcs/tools/linker/Mono.Linker.Steps/ResolveFromXApiStep.cs
index 453eebac666..c4ce86de688 100644
--- a/mcs/tools/linker/Mono.Linker.Steps/ResolveFromXApiStep.cs
+++ b/mcs/tools/linker/Mono.Linker.Steps/ResolveFromXApiStep.cs
@@ -39,8 +39,6 @@ namespace Mono.Linker.Steps {
static readonly string _name = "name";
static readonly string _ns = string.Empty;
- LinkContext _context;
-
XPathDocument _document;
public ResolveFromXApiStep (XPathDocument document)
@@ -48,11 +46,10 @@ namespace Mono.Linker.Steps {
_document = document;
}
- public override void Process (LinkContext context)
+ protected override void Process ()
{
- _context = context;
XApiReader reader = new XApiReader (_document, this);
- reader.Process (context);
+ reader.Process (Context);
}
public void OnAssembly (XPathNavigator nav, AssemblyDefinition assembly)
@@ -63,7 +60,7 @@ namespace Mono.Linker.Steps {
{
string name = GetName (nav);
- TypeDefinition type = _context.GetType (name);
+ TypeDefinition type = Context.GetType (name);
if (type != null)
MarkType (type);
}
@@ -117,23 +114,23 @@ namespace Mono.Linker.Steps {
return nav.GetAttribute (attribute, _ns);
}
- static void MarkType (TypeDefinition type)
+ void MarkType (TypeDefinition type)
{
InternalMark (type);
}
- static void MarkField (FieldDefinition field)
+ void MarkField (FieldDefinition field)
{
InternalMark (field);
}
- static void InternalMark (IAnnotationProvider provider)
+ void InternalMark (IMetadataTokenProvider provider)
{
Annotations.Mark (provider);
Annotations.SetPublic (provider);
}
- static void MarkMethod (MethodDefinition method)
+ void MarkMethod (MethodDefinition method)
{
InternalMark (method);
Annotations.SetAction (method, MethodAction.Parse);
diff --git a/mcs/tools/linker/Mono.Linker.Steps/ResolveFromXmlStep.cs b/mcs/tools/linker/Mono.Linker.Steps/ResolveFromXmlStep.cs
index ee16fa18b69..593f532b54b 100644
--- a/mcs/tools/linker/Mono.Linker.Steps/ResolveFromXmlStep.cs
+++ b/mcs/tools/linker/Mono.Linker.Steps/ResolveFromXmlStep.cs
@@ -52,11 +52,11 @@ namespace Mono.Linker.Steps {
_document = document;
}
- public override void Process (LinkContext context)
+ protected override void Process ()
{
XPathNavigator nav = _document.CreateNavigator ();
nav.MoveToFirstChild ();
- ProcessAssemblies (context, nav.SelectChildren ("assembly", _ns));
+ ProcessAssemblies (Context, nav.SelectChildren ("assembly", _ns));
}
void ProcessAssemblies (LinkContext context, XPathNodeIterator iterator)
@@ -81,7 +81,7 @@ namespace Mono.Linker.Steps {
}
}
- static void MarkAndPreserveAll (TypeDefinition type)
+ void MarkAndPreserveAll (TypeDefinition type)
{
Annotations.Mark (type);
Annotations.SetPreserve (type, TypePreserve.All);
@@ -104,7 +104,7 @@ namespace Mono.Linker.Steps {
continue;
}
- TypeDefinition type = assembly.MainModule.Types [fullname];
+ TypeDefinition type = assembly.MainModule.GetType (fullname);
if (type == null)
continue;
@@ -276,15 +276,12 @@ namespace Mono.Linker.Steps {
void ProcessMethodName (TypeDefinition type, XPathNavigator nav)
{
string name = GetAttribute (nav, "name");
- if (name == ".ctor" || name == ".cctor" && type.HasConstructors)
- foreach (MethodDefinition ctor in type.Constructors)
- if (name == ctor.Name)
- MarkMethod (type, ctor, name);
+ if (!type.HasMethods)
+ return;
- if (type.HasMethods)
- foreach (MethodDefinition method in type.Methods)
- if (name == method.Name)
- MarkMethod (type, method, name);
+ foreach (MethodDefinition method in type.Methods)
+ if (name == method.Name)
+ MarkMethod (type, method, name);
}
static MethodDefinition GetMethod (TypeDefinition type, string signature)
@@ -294,18 +291,13 @@ namespace Mono.Linker.Steps {
if (signature == GetMethodSignature (meth))
return meth;
- if (type.HasConstructors)
- foreach (MethodDefinition ctor in type.Constructors)
- if (signature == GetMethodSignature (ctor))
- return ctor;
-
return null;
}
static string GetMethodSignature (MethodDefinition meth)
{
StringBuilder sb = new StringBuilder ();
- sb.Append (meth.ReturnType.ReturnType.FullName);
+ sb.Append (meth.ReturnType.FullName);
sb.Append (" ");
sb.Append (meth.Name);
sb.Append ("(");
diff --git a/mcs/tools/linker/Mono.Linker.Steps/ResolveStep.cs b/mcs/tools/linker/Mono.Linker.Steps/ResolveStep.cs
index f6d9c9c5f4a..b17bf5ca16c 100644
--- a/mcs/tools/linker/Mono.Linker.Steps/ResolveStep.cs
+++ b/mcs/tools/linker/Mono.Linker.Steps/ResolveStep.cs
@@ -30,7 +30,7 @@ namespace Mono.Linker.Steps {
using System.Collections;
- public abstract class ResolveStep : IStep {
+ public abstract class ResolveStep : BaseStep {
ArrayList _unResolved;
@@ -53,7 +53,5 @@ namespace Mono.Linker.Steps {
{
_unResolved.Add (signature);
}
-
- public abstract void Process (LinkContext context);
}
}
diff --git a/mcs/tools/linker/Mono.Linker.Steps/SweepStep.cs b/mcs/tools/linker/Mono.Linker.Steps/SweepStep.cs
index d5fe17db915..2fc9ce8234b 100644
--- a/mcs/tools/linker/Mono.Linker.Steps/SweepStep.cs
+++ b/mcs/tools/linker/Mono.Linker.Steps/SweepStep.cs
@@ -28,18 +28,18 @@
//
using System.Collections;
-
+using System.Collections.Generic;
using Mono.Cecil;
namespace Mono.Linker.Steps {
- public class SweepStep : IStep {
+ public class SweepStep : BaseStep {
AssemblyDefinition [] assemblies;
- public void Process (LinkContext context)
+ protected override void Process ()
{
- assemblies = context.GetAssemblies ();
+ assemblies = Context.GetAssemblies ();
foreach (var assembly in assemblies)
SweepAssembly (assembly);
}
@@ -55,7 +55,7 @@ namespace Mono.Linker.Steps {
}
var types = assembly.MainModule.Types;
- var cloned_types = Clone (types);
+ var cloned_types = new List<TypeDefinition> (types);
types.Clear ();
@@ -65,12 +65,10 @@ namespace Mono.Linker.Steps {
types.Add (type);
continue;
}
-
- SweepReferences (assembly, type);
}
}
- static bool IsMarkedAssembly (AssemblyDefinition assembly)
+ bool IsMarkedAssembly (AssemblyDefinition assembly)
{
return Annotations.IsMarked (assembly.MainModule);
}
@@ -106,56 +104,19 @@ namespace Mono.Linker.Steps {
return new ArrayList (collection);
}
- void SweepReferences (AssemblyDefinition assembly, TypeDefinition type)
- {
- foreach (AssemblyDefinition asm in assemblies) {
- ModuleDefinition module = asm.MainModule;
- if (!module.TypeReferences.Contains (type))
- continue;
-
- TypeReference typeRef = module.TypeReferences [type.FullName];
- if (AssemblyMatch (assembly, typeRef)) {
- SweepMemberReferences (module, typeRef);
- module.TypeReferences.Remove (typeRef);
- }
- }
- }
-
- static void SweepMemberReferences (ModuleDefinition module, TypeReference reference)
- {
- var references = module.MemberReferences;
-
- for (int i = 0; i < references.Count; i++) {
- if (references [i].DeclaringType == reference)
- references.RemoveAt (i--);
- }
- }
-
- static bool AssemblyMatch (AssemblyDefinition assembly, TypeReference type)
- {
- AssemblyNameReference reference = type.Scope as AssemblyNameReference;
- if (reference == null)
- return false;
-
- return AreSameReference (assembly.Name, reference);
- }
-
- static void SweepType (TypeDefinition type)
+ void SweepType (TypeDefinition type)
{
if (type.HasFields)
SweepCollection (type.Fields);
- if (type.HasConstructors)
- SweepCollection (type.Constructors);
-
if (type.HasMethods)
SweepCollection (type.Methods);
}
- static void SweepCollection (IList list)
+ void SweepCollection (IList list)
{
for (int i = 0; i < list.Count; i++)
- if (!Annotations.IsMarked ((IAnnotationProvider) list [i]))
+ if (!Annotations.IsMarked ((IMetadataTokenProvider) list [i]))
list.RemoveAt (i--);
}
diff --git a/mcs/tools/linker/Mono.Linker.Steps/TypeMapStep.cs b/mcs/tools/linker/Mono.Linker.Steps/TypeMapStep.cs
index f92b242bda6..6187c212c60 100644
--- a/mcs/tools/linker/Mono.Linker.Steps/TypeMapStep.cs
+++ b/mcs/tools/linker/Mono.Linker.Steps/TypeMapStep.cs
@@ -41,12 +41,36 @@ namespace Mono.Linker.Steps {
MapType (type);
}
- static void MapType (TypeDefinition type)
+ void MapType (TypeDefinition type)
{
MapVirtualMethods (type);
+ MapInterfaceMethodsInTypeHierarchy (type);
}
- static void MapVirtualMethods (TypeDefinition type)
+ void MapInterfaceMethodsInTypeHierarchy (TypeDefinition type)
+ {
+ if (!type.HasInterfaces)
+ return;
+
+ foreach (TypeReference @interface in type.Interfaces) {
+ var iface = @interface.Resolve ();
+ if (iface == null || !iface.HasMethods)
+ continue;
+
+ foreach (MethodDefinition method in iface.Methods) {
+ if (TryMatchMethod (type, method) != null)
+ continue;
+
+ var @base = GetBaseMethodInTypeHierarchy (type, method);
+ if (@base == null)
+ continue;
+
+ Annotations.AddPreservedMethod (type, @base);
+ }
+ }
+ }
+
+ void MapVirtualMethods (TypeDefinition type)
{
if (!type.HasMethods)
return;
@@ -62,13 +86,13 @@ namespace Mono.Linker.Steps {
}
}
- static void MapVirtualMethod (MethodDefinition method)
+ void MapVirtualMethod (MethodDefinition method)
{
MapVirtualBaseMethod (method);
MapVirtualInterfaceMethod (method);
}
- static void MapVirtualBaseMethod (MethodDefinition method)
+ void MapVirtualBaseMethod (MethodDefinition method)
{
MethodDefinition @base = GetBaseMethodInTypeHierarchy (method);
if (@base == null)
@@ -77,7 +101,7 @@ namespace Mono.Linker.Steps {
AnnotateMethods (@base, method);
}
- static void MapVirtualInterfaceMethod (MethodDefinition method)
+ void MapVirtualInterfaceMethod (MethodDefinition method)
{
MethodDefinition @base = GetBaseMethodInInterfaceHierarchy (method);
if (@base == null)
@@ -86,7 +110,7 @@ namespace Mono.Linker.Steps {
AnnotateMethods (@base, method);
}
- static void MapOverrides (MethodDefinition method)
+ void MapOverrides (MethodDefinition method)
{
foreach (MethodReference override_ref in method.Overrides) {
MethodDefinition @override = override_ref.Resolve ();
@@ -97,7 +121,7 @@ namespace Mono.Linker.Steps {
}
}
- static void AnnotateMethods (MethodDefinition @base, MethodDefinition @override)
+ void AnnotateMethods (MethodDefinition @base, MethodDefinition @override)
{
Annotations.AddBaseMethod (@override, @base);
Annotations.AddOverride (@base, @override);
@@ -105,7 +129,12 @@ namespace Mono.Linker.Steps {
static MethodDefinition GetBaseMethodInTypeHierarchy (MethodDefinition method)
{
- TypeDefinition @base = GetBaseType (method.DeclaringType);
+ return GetBaseMethodInTypeHierarchy (method.DeclaringType, method);
+ }
+
+ static MethodDefinition GetBaseMethodInTypeHierarchy (TypeDefinition type, MethodDefinition method)
+ {
+ TypeDefinition @base = GetBaseType (type);
while (@base != null) {
MethodDefinition base_method = TryMatchMethod (@base, method);
if (base_method != null)
@@ -164,7 +193,7 @@ namespace Mono.Linker.Steps {
if (candidate.Name != method.Name)
return false;
- if (!TypeMatch (candidate.ReturnType.ReturnType, method.ReturnType.ReturnType))
+ if (!TypeMatch (candidate.ReturnType, method.ReturnType))
return false;
if (candidate.Parameters.Count != method.Parameters.Count)
@@ -177,7 +206,7 @@ namespace Mono.Linker.Steps {
return true;
}
- static bool TypeMatch (ModType a, ModType b)
+ static bool TypeMatch (IModifierType a, IModifierType b)
{
if (!TypeMatch (a.ModifierType, b.ModifierType))
return false;
@@ -190,8 +219,8 @@ namespace Mono.Linker.Steps {
if (a is GenericInstanceType)
return TypeMatch ((GenericInstanceType) a, (GenericInstanceType) b);
- if (a is ModType)
- return TypeMatch ((ModType) a, (ModType) b);
+ if (a is IModifierType)
+ return TypeMatch ((IModifierType) a, (IModifierType) b);
return TypeMatch (a.ElementType, b.ElementType);
}
diff --git a/mcs/tools/linker/Mono.Linker/Annotations.cs b/mcs/tools/linker/Mono.Linker/Annotations.cs
index 55330d3e276..c29da52c09c 100644
--- a/mcs/tools/linker/Mono.Linker/Annotations.cs
+++ b/mcs/tools/linker/Mono.Linker/Annotations.cs
@@ -28,162 +28,330 @@
using System;
using System.Collections;
+using System.Collections.Generic;
using Mono.Cecil;
namespace Mono.Linker {
- public class Annotations {
+ public class AnnotationStore {
- private static readonly object _actionKey = new object ();
- private static readonly object _markedKey = new object ();
- private static readonly object _processedKey = new object ();
- private static readonly object _preservedKey = new object ();
- private static readonly object _preservedMethodsKey = new object ();
- private static readonly object _publicKey = new object ();
- private static readonly object _symbolsKey = new object ();
- private static readonly object _overrideKey = new object ();
- private static readonly object _baseKey = new object ();
+ readonly Dictionary<AssemblyDefinition, AssemblyAction> assembly_actions = new Dictionary<AssemblyDefinition, AssemblyAction> ();
+ readonly Dictionary<MethodDefinition, MethodAction> method_actions = new Dictionary<MethodDefinition, MethodAction> ();
+ readonly HashSet<IMetadataTokenProvider> marked = new HashSet<IMetadataTokenProvider> ();
+ readonly HashSet<IMetadataTokenProvider> processed = new HashSet<IMetadataTokenProvider> ();
+ readonly Dictionary<TypeDefinition, TypePreserve> preserved_types = new Dictionary<TypeDefinition, TypePreserve> ();
+ readonly Dictionary<TypeDefinition, List<MethodDefinition>> preserved_methods = new Dictionary<TypeDefinition, List<MethodDefinition>> ();
+ readonly HashSet<IMetadataTokenProvider> public_api = new HashSet<IMetadataTokenProvider> ();
+ readonly Dictionary<MethodDefinition, List<MethodDefinition>> override_methods = new Dictionary<MethodDefinition, List<MethodDefinition>> ();
+ readonly Dictionary<MethodDefinition, List<MethodDefinition>> base_methods = new Dictionary<MethodDefinition, List<MethodDefinition>> ();
- public static AssemblyAction GetAction (AssemblyDefinition assembly)
+ readonly Dictionary<object, Dictionary<IMetadataTokenProvider, object>> custom_annotations = new Dictionary<object, Dictionary<IMetadataTokenProvider, object>> ();
+
+ public AssemblyAction GetAction (AssemblyDefinition assembly)
{
- return (AssemblyAction) GetAction (AsProvider (assembly));
+ AssemblyAction action;
+ if (assembly_actions.TryGetValue (assembly, out action))
+ return action;
+
+ throw new NotSupportedException ();
}
- public static MethodAction GetAction (MethodDefinition method)
+ public MethodAction GetAction (MethodDefinition method)
{
- var action = GetAction (AsProvider (method));
- return action == null ? MethodAction.Nothing : (MethodAction) action;
+ MethodAction action;
+ if (method_actions.TryGetValue (method, out action))
+ return action;
+
+ return MethodAction.Nothing;
}
- static object GetAction (IAnnotationProvider provider)
+ public void SetAction (AssemblyDefinition assembly, AssemblyAction action)
{
- return provider.Annotations [_actionKey];
+ assembly_actions [assembly] = action;
}
- public static bool HasAction (IAnnotationProvider provider)
+ public bool HasAction (AssemblyDefinition assembly)
{
- return provider.Annotations.Contains (_actionKey);
+ return assembly_actions.ContainsKey (assembly);
}
- public static void SetAction (AssemblyDefinition assembly, AssemblyAction action)
+ public void SetAction (MethodDefinition method, MethodAction action)
{
- SetAction (AsProvider (assembly), action);
+ method_actions [method] = action;
}
- public static void SetAction (MethodDefinition method, MethodAction action)
+ public void Mark (IMetadataTokenProvider provider)
{
- SetAction (AsProvider (method), action);
+ marked.Add (provider);
}
- static void SetAction (IAnnotationProvider provider, object action)
+ public bool IsMarked (IMetadataTokenProvider provider)
{
- provider.Annotations [_actionKey] = action;
+ return marked.Contains (provider);
}
- public static void Mark (IAnnotationProvider provider)
+ public void Processed (IMetadataTokenProvider provider)
{
- provider.Annotations [_markedKey] = _markedKey;
+ processed.Add (provider);
}
- public static bool IsMarked (IAnnotationProvider provider)
+ public bool IsProcessed (IMetadataTokenProvider provider)
{
- return provider.Annotations.Contains (_markedKey);
+ return processed.Contains (provider);
}
- public static void Processed (IAnnotationProvider provider)
+ public bool IsPreserved (TypeDefinition type)
{
- provider.Annotations [_processedKey] = _processedKey;
+ return preserved_types.ContainsKey (type);
}
- public static bool IsProcessed (IAnnotationProvider provider)
+ public void SetPreserve (TypeDefinition type, TypePreserve preserve)
{
- return provider.Annotations.Contains (_processedKey);
+ preserved_types [type] = preserve;
}
- public static bool IsPreserved (TypeDefinition type)
+ public TypePreserve GetPreserve (TypeDefinition type)
{
- return AsProvider (type).Annotations.Contains (_preservedKey);
+ TypePreserve preserve;
+ if (preserved_types.TryGetValue (type, out preserve))
+ return preserve;
+
+ throw new NotSupportedException ();
}
- public static void SetPreserve (TypeDefinition type, TypePreserve preserve)
+ public void SetPublic (IMetadataTokenProvider provider)
{
- AsProvider (type).Annotations [_preservedKey] = preserve;
+ public_api.Add (provider);
}
- public static TypePreserve GetPreserve (TypeDefinition type)
+ public bool IsPublic (IMetadataTokenProvider provider)
+ {
+ return public_api.Contains (provider);
+ }
+
+ public void AddOverride (MethodDefinition @base, MethodDefinition @override)
+ {
+ var methods = GetOverrides (@base);
+ if (methods == null) {
+ methods = new List<MethodDefinition> ();
+ override_methods [@base] = methods;
+ }
+
+ methods.Add (@override);
+ }
+
+ public List<MethodDefinition> GetOverrides (MethodDefinition method)
+ {
+ List<MethodDefinition> overrides;
+ if (override_methods.TryGetValue (method, out overrides))
+ return overrides;
+
+ return null;
+ }
+
+ public void AddBaseMethod (MethodDefinition method, MethodDefinition @base)
+ {
+ var methods = GetBaseMethods (method);
+ if (methods == null) {
+ methods = new List<MethodDefinition> ();
+ base_methods [method] = methods;
+ }
+
+ methods.Add (@base);
+ }
+
+ public List<MethodDefinition> GetBaseMethods (MethodDefinition method)
+ {
+ List<MethodDefinition> bases;
+ if (base_methods.TryGetValue (method, out bases))
+ return bases;
+
+ return null;
+ }
+
+ public List<MethodDefinition> GetPreservedMethods (TypeDefinition type)
+ {
+ List<MethodDefinition> preserved;
+ if (preserved_methods.TryGetValue (type, out preserved))
+ return preserved;
+
+ return null;
+ }
+
+ public void AddPreservedMethod (TypeDefinition type, MethodDefinition method)
+ {
+ var methods = GetPreservedMethods (type);
+ if (methods == null) {
+ methods = new List<MethodDefinition> ();
+ preserved_methods [type] = methods;
+ }
+
+ methods.Add (method);
+ }
+
+ public Dictionary<IMetadataTokenProvider, object> GetCustomAnnotations (object key)
+ {
+ Dictionary<IMetadataTokenProvider, object> slots;
+ if (custom_annotations.TryGetValue (key, out slots))
+ return slots;
+
+ slots = new Dictionary<IMetadataTokenProvider, object> ();
+ custom_annotations.Add (key, slots);
+ return slots;
+ }
+ }
+
+ /*
+ public class Annotations {
+
+ static readonly Dictionary<AssemblyDefinition, AssemblyAction> assembly_actions = new Dictionary<AssemblyDefinition, AssemblyAction> ();
+ static readonly Dictionary<MethodDefinition, MethodAction> method_actions = new Dictionary<MethodDefinition, MethodAction> ();
+ static readonly HashSet<IMetadataTokenProvider> marked = new HashSet<IMetadataTokenProvider> ();
+ static readonly HashSet<IMetadataTokenProvider> processed = new HashSet<IMetadataTokenProvider> ();
+ static readonly Dictionary<TypeDefinition, TypePreserve> preserved_types = new Dictionary<TypeDefinition, TypePreserve> ();
+ static readonly Dictionary<TypeDefinition, List<MethodDefinition>> preserved_methods = new Dictionary<TypeDefinition, List<MethodDefinition>> ();
+ static readonly HashSet<IMetadataTokenProvider> public_api = new HashSet<IMetadataTokenProvider> ();
+ static readonly Dictionary<MethodDefinition, List<MethodDefinition>> override_methods = new Dictionary<MethodDefinition, List<MethodDefinition>> ();
+ static readonly Dictionary<MethodDefinition, List<MethodDefinition>> base_methods = new Dictionary<MethodDefinition, List<MethodDefinition>> ();
+
+ public static AssemblyAction GetAction (AssemblyDefinition assembly)
+ {
+ AssemblyAction action;
+ if (assembly_actions.TryGetValue (assembly, out action))
+ return action;
+
+ throw new NotSupportedException ();
+ }
+
+ public static MethodAction GetAction (MethodDefinition method)
+ {
+ MethodAction action;
+ if (method_actions.TryGetValue (method, out action))
+ return action;
+
+ return MethodAction.Nothing;
+ }
+
+ public static void SetAction (AssemblyDefinition assembly, AssemblyAction action)
+ {
+ assembly_actions [assembly] = action;
+ }
+
+ public static bool HasAction (AssemblyDefinition assembly)
{
- return (TypePreserve) AsProvider (type).Annotations [_preservedKey];
+ return assembly_actions.ContainsKey (assembly);
}
- public static void SetPublic (IAnnotationProvider provider)
+ public static void SetAction (MethodDefinition method, MethodAction action)
{
- provider.Annotations [_publicKey] = _publicKey;
+ method_actions [method] = action;
}
- public static bool IsPublic (IAnnotationProvider provider)
+ public static void Mark (IMetadataTokenProvider provider)
{
- return provider.Annotations.Contains (_publicKey);
+ marked.Add (provider);
}
- static IAnnotationProvider AsProvider (object obj)
+ public static bool IsMarked (IMetadataTokenProvider provider)
{
- return (IAnnotationProvider) obj;
+ return marked.Contains (provider);
}
- public static bool HasSymbols (AssemblyDefinition assembly)
+ public static void Processed (IMetadataTokenProvider provider)
{
- return AsProvider (assembly).Annotations.Contains (_symbolsKey);
+ processed.Add (provider);
}
- public static void SetHasSymbols (AssemblyDefinition assembly)
+ public static bool IsProcessed (IMetadataTokenProvider provider)
{
- AsProvider (assembly).Annotations [_symbolsKey] = _symbolsKey;
+ return processed.Contains (provider);
+ }
+
+ public static bool IsPreserved (TypeDefinition type)
+ {
+ return preserved_types.ContainsKey (type);
+ }
+
+ public static void SetPreserve (TypeDefinition type, TypePreserve preserve)
+ {
+ preserved_types [type] = preserve;
+ }
+
+ public static TypePreserve GetPreserve (TypeDefinition type)
+ {
+ TypePreserve preserve;
+ if (preserved_types.TryGetValue (type, out preserve))
+ return preserve;
+
+ throw new NotSupportedException ();
+ }
+
+ public static void SetPublic (IMetadataTokenProvider provider)
+ {
+ public_api.Add (provider);
+ }
+
+ public static bool IsPublic (IMetadataTokenProvider provider)
+ {
+ return public_api.Contains (provider);
}
public static void AddOverride (MethodDefinition @base, MethodDefinition @override)
{
- ArrayList methods = (ArrayList) GetOverrides (@base);
+ var methods = GetOverrides (@base);
if (methods == null) {
- methods = new ArrayList ();
- AsProvider (@base).Annotations.Add (_overrideKey, methods);
+ methods = new List<MethodDefinition> ();
+ override_methods [@base] = methods;
}
methods.Add (@override);
}
- public static IList GetOverrides (MethodDefinition method)
+ public static List<MethodDefinition> GetOverrides (MethodDefinition method)
{
- return (IList) AsProvider (method).Annotations [_overrideKey];
+ List<MethodDefinition> overrides;
+ if (override_methods.TryGetValue (method, out overrides))
+ return overrides;
+
+ return null;
}
public static void AddBaseMethod (MethodDefinition method, MethodDefinition @base)
{
- ArrayList methods = (ArrayList) GetBaseMethods (method);
+ var methods = GetBaseMethods (method);
if (methods == null) {
- methods = new ArrayList ();
- AsProvider (method).Annotations.Add (_baseKey, methods);
+ methods = new List<MethodDefinition> ();
+ base_methods [method] = methods;
}
methods.Add (@base);
}
- public static IList GetBaseMethods (MethodDefinition method)
+ public static List<MethodDefinition> GetBaseMethods (MethodDefinition method)
{
- return (IList) AsProvider (method).Annotations [_baseKey];
+ List<MethodDefinition> bases;
+ if (base_methods.TryGetValue (method, out bases))
+ return bases;
+
+ return null;
}
- public static IList GetPreservedMethods (TypeDefinition type)
+ public static List<MethodDefinition> GetPreservedMethods (TypeDefinition type)
{
- return (IList) AsProvider (type).Annotations [_preservedMethodsKey];
+ List<MethodDefinition> preserved;
+ if (preserved_methods.TryGetValue (type, out preserved))
+ return preserved;
+
+ return null;
}
public static void AddPreservedMethod (TypeDefinition type, MethodDefinition method)
{
- ArrayList methods = (ArrayList) GetPreservedMethods (type);
+ var methods = GetPreservedMethods (type);
if (methods == null) {
- methods = new ArrayList ();
- AsProvider (type).Annotations.Add (_preservedMethodsKey, methods);
+ methods = new List<MethodDefinition> ();
+ preserved_methods [type] = methods;
}
methods.Add (method);
@@ -192,5 +360,5 @@ namespace Mono.Linker {
private Annotations ()
{
}
- }
+ }*/
}
diff --git a/mcs/tools/linker/Mono.Linker/AssemblyResolver.cs b/mcs/tools/linker/Mono.Linker/AssemblyResolver.cs
index f203638e99e..ccd3c4af112 100644
--- a/mcs/tools/linker/Mono.Linker/AssemblyResolver.cs
+++ b/mcs/tools/linker/Mono.Linker/AssemblyResolver.cs
@@ -28,7 +28,7 @@
using System;
using System.Collections;
-
+using System.IO;
using Mono.Cecil;
namespace Mono.Linker {
@@ -56,7 +56,6 @@ namespace Mono.Linker {
AssemblyDefinition asm = (AssemblyDefinition) _assemblies [name.Name];
if (asm == null) {
asm = base.Resolve (name);
- asm.Resolver = this;
_assemblies [name.Name] = asm;
}
@@ -66,7 +65,7 @@ namespace Mono.Linker {
public void CacheAssembly (AssemblyDefinition assembly)
{
_assemblies [assembly.Name.Name] = assembly;
- assembly.Resolver = this;
+ base.AddSearchDirectory (Path.GetDirectoryName (assembly.MainModule.FullyQualifiedName));
}
}
}
diff --git a/mcs/tools/linker/Mono.Linker/LinkContext.cs b/mcs/tools/linker/Mono.Linker/LinkContext.cs
index 4873df001bf..e1edf539536 100644
--- a/mcs/tools/linker/Mono.Linker/LinkContext.cs
+++ b/mcs/tools/linker/Mono.Linker/LinkContext.cs
@@ -26,6 +26,7 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
using System.Collections;
using System.IO;
using Mono.Cecil;
@@ -43,10 +44,16 @@ namespace Mono.Linker {
AssemblyResolver _resolver;
+ AnnotationStore _annotations;
+
public Pipeline Pipeline {
get { return _pipeline; }
}
+ public AnnotationStore Annotations {
+ get { return _annotations; }
+ }
+
public string OutputDirectory {
get { return _outputDirectory; }
set { _outputDirectory = value; }
@@ -81,38 +88,39 @@ namespace Mono.Linker {
_resolver = resolver;
_actions = new Hashtable ();
_parameters = new Hashtable ();
+ _annotations = new AnnotationStore ();
}
- public TypeDefinition GetType (string type)
+ public TypeDefinition GetType (string fullName)
{
- int pos = type.IndexOf (",");
- type = type.Replace ("+", "/");
+ int pos = fullName.IndexOf (",");
+ fullName = fullName.Replace ("+", "/");
if (pos == -1) {
- foreach (AssemblyDefinition asm in GetAssemblies ())
- if (asm.MainModule.Types.Contains (type))
- return asm.MainModule.Types [type];
+ foreach (AssemblyDefinition asm in GetAssemblies ()) {
+ var type = asm.MainModule.GetType (fullName);
+ if (type != null)
+ return type;
+ }
return null;
}
- string asmname = type.Substring (pos + 1);
- type = type.Substring (0, pos);
+ string asmname = fullName.Substring (pos + 1);
+ fullName = fullName.Substring (0, pos);
AssemblyDefinition assembly = Resolve (AssemblyNameReference.Parse (asmname));
- return assembly.MainModule.Types [type];
+ return assembly.MainModule.GetType (fullName);
}
public AssemblyDefinition Resolve (string name)
{
if (File.Exists (name)) {
- AssemblyDefinition assembly = AssemblyFactory.GetAssembly (name);
+ AssemblyDefinition assembly = AssemblyDefinition.ReadAssembly (name);
_resolver.CacheAssembly (assembly);
SafeLoadSymbols (assembly);
return assembly;
- } else {
- AssemblyNameReference reference = new AssemblyNameReference ();
- reference.Name = name;
- return Resolve (reference);
}
+
+ return Resolve (new AssemblyNameReference (name, new Version ()));
}
public AssemblyDefinition Resolve (IMetadataScope scope)
@@ -135,16 +143,16 @@ namespace Mono.Linker {
return;
try {
- assembly.MainModule.LoadSymbols ();
- Annotations.SetHasSymbols (assembly);
+ // throw new NotImplementedException ();
+ // assembly.MainModule.LoadSymbols ();
} catch {
return; // resharper loves this
}
}
- static bool SeenFirstTime (AssemblyDefinition assembly)
+ bool SeenFirstTime (AssemblyDefinition assembly)
{
- return !Annotations.HasAction (assembly);
+ return !_annotations.HasAction (assembly);
}
static AssemblyNameReference GetReference (IMetadataScope scope)
@@ -170,7 +178,7 @@ namespace Mono.Linker {
else if (IsCore (name))
action = _coreAction;
- Annotations.SetAction (assembly, action);
+ _annotations.SetAction (assembly, action);
}
static bool IsCore (AssemblyNameReference name)
diff --git a/mcs/tools/linker/Mono.Linker/Pipeline.cs b/mcs/tools/linker/Mono.Linker/Pipeline.cs
index 8b2c487ec6f..d8f4365ff8e 100644
--- a/mcs/tools/linker/Mono.Linker/Pipeline.cs
+++ b/mcs/tools/linker/Mono.Linker/Pipeline.cs
@@ -28,6 +28,7 @@
using System;
using System.Collections;
+using System.Diagnostics;
using Mono.Linker.Steps;
@@ -81,6 +82,19 @@ namespace Mono.Linker {
}
}
+ public void AddStepAfter (IStep target, IStep step)
+ {
+ for (int i = 0; i < _steps.Count; i++) {
+ if (_steps [i] == target) {
+ if (i == _steps.Count - 1)
+ _steps.Add (step);
+ else
+ _steps.Insert (i + 1, step);
+ return;
+ }
+ }
+ }
+
public void RemoveStep (Type target)
{
for (int i = 0; i < _steps.Count; i++) {
diff --git a/mcs/tools/linker/Mono.Linker/TypeParser.cs b/mcs/tools/linker/Mono.Linker/TypeParser.cs
deleted file mode 100644
index 101e3e8ebd5..00000000000
--- a/mcs/tools/linker/Mono.Linker/TypeParser.cs
+++ /dev/null
@@ -1,444 +0,0 @@
-//
-// TypeParser.cs
-//
-// Author:
-// Jb Evain (jbevain@gmail.com)
-//
-// Copyright (c) 2008 - 2010 Jb Evain
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-
-using Mono.Cecil;
-
-namespace Mono.Linker {
-
- class TypeParser {
-
- class Type {
- public const int Ptr = -1;
- public const int ByRef = -2;
- public const int SzArray = -3;
-
- public string type_fullname;
- public string [] nested_names;
- public int arity;
- public int [] specs;
- public Type [] generic_arguments;
- public string assembly;
- }
-
- readonly string fullname;
- readonly int length;
-
- int position;
-
- TypeParser (string fullname)
- {
- this.fullname = fullname;
- this.length = fullname.Length;
- }
-
- Type ParseType (bool fq_name)
- {
- var type = new Type ();
- type.type_fullname = ParsePart ();
-
- type.nested_names = ParseNestedNames ();
-
- if (TryGetArity (type))
- type.generic_arguments = ParseGenericArguments (type.arity);
-
- type.specs = ParseSpecs ();
-
- if (fq_name)
- type.assembly = ParseAssemblyName ();
-
- return type;
- }
-
- static bool TryGetArity (Type type)
- {
- int arity = 0;
-
- TryAddArity (type.type_fullname, ref arity);
-
- var nested_names = type.nested_names;
- if (!IsNullOrEmpty (nested_names)) {
- for (int i = 0; i < nested_names.Length; i++)
- TryAddArity (nested_names [i], ref arity);
- }
-
- type.arity = arity;
- return arity > 0;
- }
-
- static bool TryGetArity (string name, out int arity)
- {
- arity = 0;
- var index = name.LastIndexOf ('`');
- if (index == -1)
- return false;
-
- return int.TryParse (name.Substring (index + 1), out arity);
- }
-
- static void TryAddArity (string name, ref int arity)
- {
- int type_arity;
- if (!TryGetArity (name, out type_arity))
- return;
-
- arity += type_arity;
- }
-
- string ParsePart ()
- {
- int start = position;
- while (position < length && !IsDelimiter (fullname [position]))
- position++;
-
- return fullname.Substring (start, position - start);
- }
-
- static bool IsDelimiter (char chr)
- {
- return "+,[]*&".IndexOf (chr) != -1;
- }
-
- void TryParseWhiteSpace ()
- {
- while (position < length && Char.IsWhiteSpace (fullname [position]))
- position++;
- }
-
- string [] ParseNestedNames ()
- {
- string [] nested_names = null;
- while (TryParse ('+'))
- Add (ref nested_names, ParsePart ());
-
- return nested_names;
- }
-
- bool TryParse (char chr)
- {
- if (position < length && fullname [position] == chr) {
- position++;
- return true;
- }
-
- return false;
- }
-
- static void Add<T> (ref T [] array, T item)
- {
- if (array == null) {
- array = new [] { item };
- return;
- }
-
- Array.Resize (ref array, array.Length + 1);
- array [array.Length - 1] = item;
- }
-
- int [] ParseSpecs ()
- {
- int [] specs = null;
-
- while (position < length) {
- switch (fullname [position]) {
- case '*':
- position++;
- Add (ref specs, Type.Ptr);
- break;
- case '&':
- position++;
- Add (ref specs, Type.ByRef);
- break;
- case '[':
- position++;
- switch (fullname [position]) {
- case ']':
- position++;
- Add (ref specs, Type.SzArray);
- break;
- case '*':
- position++;
- Add (ref specs, 1);
- break;
- default:
- var rank = 1;
- while (TryParse (','))
- rank++;
-
- Add (ref specs, rank);
-
- TryParse (']');
- break;
- }
- break;
- default:
- return specs;
- }
- }
-
- return specs;
- }
-
- Type [] ParseGenericArguments (int arity)
- {
- Type [] generic_arguments = null;
-
- if (position == length || fullname [position] != '[')
- return generic_arguments;
-
- TryParse ('[');
-
- for (int i = 0; i < arity; i++) {
- var fq_argument = TryParse ('[');
- Add (ref generic_arguments, ParseType (fq_argument));
- if (fq_argument)
- TryParse (']');
-
- TryParse (',');
- TryParseWhiteSpace ();
- }
-
- TryParse (']');
-
- return generic_arguments;
- }
-
- string ParseAssemblyName ()
- {
- if (!TryParse (','))
- return string.Empty;
-
- TryParseWhiteSpace ();
-
- var start = position;
- while (position < length) {
- var chr = fullname [position];
- if (chr == '[' || chr == ']')
- break;
-
- position++;
- }
-
- return fullname.Substring (start, position - start);
- }
-
- public static TypeReference ParseType (ModuleDefinition module, string fullname)
- {
- if (fullname == null)
- return null;
-
- var parser = new TypeParser (fullname);
- return GetTypeReference (module, parser.ParseType (true));
- }
-
- static TypeReference GetTypeReference (ModuleDefinition module, Type type_info)
- {
- TypeReference type;
- if (!TryGetDefinition (module, type_info, out type))
- type = CreateReference (type_info, module, GetMetadataScope (module, type_info));
-
- return CreateSpecs (type, type_info);
- }
-
- static TypeReference CreateSpecs (TypeReference type, Type type_info)
- {
- type = TryCreateGenericInstanceType (type, type_info);
-
- var specs = type_info.specs;
- if (IsNullOrEmpty (specs))
- return type;
-
- for (int i = 0; i < specs.Length; i++) {
- switch (specs [i]) {
- case Type.Ptr:
- type = new PointerType (type);
- break;
- case Type.ByRef:
- type = new ReferenceType (type);
- break;
- case Type.SzArray:
- type = new ArrayType (type);
- break;
- default:
- var array = new ArrayType (type);
- array.Dimensions.Clear ();
-
- for (int j = 0; j < specs [i]; j++)
- array.Dimensions.Add (new ArrayDimension (0, 0));
-
- type = array;
- break;
- }
- }
-
- return type;
- }
-
- static TypeReference TryCreateGenericInstanceType (TypeReference type, Type type_info)
- {
- var generic_arguments = type_info.generic_arguments;
- if (IsNullOrEmpty (generic_arguments))
- return type;
-
- var instance = new GenericInstanceType (type);
- for (int i = 0; i < generic_arguments.Length; i++)
- instance.GenericArguments.Add (GetTypeReference (type.Module, generic_arguments [i]));
-
- return instance;
- }
-
- public static void SplitFullName (string fullname, out string @namespace, out string name)
- {
- var last_dot = fullname.LastIndexOf ('.');
-
- if (last_dot == -1) {
- @namespace = string.Empty;
- name = fullname;
- } else {
- @namespace = fullname.Substring (0, last_dot);
- name = fullname.Substring (last_dot + 1);
- }
- }
-
- static TypeReference CreateReference (Type type_info, ModuleDefinition module, IMetadataScope scope)
- {
- string @namespace, name;
- SplitFullName (type_info.type_fullname, out @namespace, out name);
-
- var type = new TypeReference (name, @namespace, scope, false) {
- Module = module,
- };
-
- AdjustGenericParameters (type);
-
- var nested_names = type_info.nested_names;
- if (IsNullOrEmpty (nested_names))
- return type;
-
- for (int i = 0; i < nested_names.Length; i++) {
- type = new TypeReference (nested_names [i], string.Empty, null, false) {
- DeclaringType = type,
- Module = module,
- };
-
- AdjustGenericParameters (type);
- }
-
- return type;
- }
-
- static void AdjustGenericParameters (TypeReference type)
- {
- int arity;
- if (!TryGetArity (type.Name, out arity))
- return;
-
- for (int i = 0; i < arity; i++)
- type.GenericParameters.Add (new GenericParameter (null, type));
- }
-
- static IMetadataScope GetMetadataScope (ModuleDefinition module, Type type_info)
- {
- if (string.IsNullOrEmpty (type_info.assembly))
- return GetCorlib (module);
-
- return MatchReference (module, AssemblyNameReference.Parse (type_info.assembly));
- }
-
- static AssemblyNameReference GetCorlib (ModuleDefinition module)
- {
- foreach (AssemblyNameReference reference in module.AssemblyReferences)
- if (reference.Name == "mscorlib")
- return reference;
-
- return null;
- }
-
- static AssemblyNameReference MatchReference (ModuleDefinition module, AssemblyNameReference pattern)
- {
- var references = module.AssemblyReferences;
-
- for (int i = 0; i < references.Count; i++) {
- var reference = references [i];
- if (reference.FullName == pattern.FullName)
- return reference;
- }
-
- return pattern;
- }
-
- static bool TryGetDefinition (ModuleDefinition module, Type type_info, out TypeReference type)
- {
- type = null;
- if (!TryCurrentModule (module, type_info))
- return false;
-
- var typedef = module.Types [type_info.type_fullname];
- if (typedef == null)
- return false;
-
- var nested_names = type_info.nested_names;
- if (!IsNullOrEmpty (nested_names)) {
- for (int i = 0; i < nested_names.Length; i++)
- typedef = GetNestedType (typedef, nested_names [i]);
- }
-
- type = typedef;
- return true;
- }
-
- static bool TryCurrentModule (ModuleDefinition module, Type type_info)
- {
- if (string.IsNullOrEmpty (type_info.assembly))
- return true;
-
- if (module.Assembly != null && module.Assembly.Name.FullName == type_info.assembly)
- return true;
-
- return false;
- }
-
- static TypeDefinition GetNestedType (TypeDefinition type, string nestedTypeName)
- {
- if (!type.HasNestedTypes)
- return null;
-
- foreach (TypeDefinition nested_type in type.NestedTypes)
- if (nested_type.Name == nestedTypeName)
- return nested_type;
-
- return null;
- }
-
- static bool IsNullOrEmpty<T> (T [] array)
- {
- return array == null || array.Length == 0;
- }
- }
-}
diff --git a/mcs/tools/linker/Mono.Linker/XApiReader.cs b/mcs/tools/linker/Mono.Linker/XApiReader.cs
index 9316eed489c..bb16e219c40 100644
--- a/mcs/tools/linker/Mono.Linker/XApiReader.cs
+++ b/mcs/tools/linker/Mono.Linker/XApiReader.cs
@@ -28,6 +28,7 @@
using System;
using System.Collections;
+using System.Linq;
using System.Text;
using System.Xml.XPath;
@@ -73,9 +74,9 @@ namespace Mono.Linker {
AssemblyDefinition GetAssembly (XPathNavigator nav)
{
- AssemblyNameReference name = new AssemblyNameReference ();
- name.Name = GetName (nav);
- name.Version = new Version (GetAttribute (nav, "version"));
+ AssemblyNameReference name = new AssemblyNameReference (
+ GetName (nav),
+ new Version (GetAttribute (nav, "version")));
AssemblyDefinition assembly = _context.Resolve (name);
ProcessReferences (assembly);
@@ -119,7 +120,7 @@ namespace Mono.Linker {
{
string name = GetClassName (nav);
- TypeDefinition type = _assembly.MainModule.Types [name];
+ TypeDefinition type = _assembly.MainModule.GetType (name);
if (type == null)
return;
@@ -156,7 +157,7 @@ namespace Mono.Linker {
{
TypeDefinition declaring = PeekType ();
- FieldDefinition field = declaring.Fields.GetField (GetName (nav));
+ FieldDefinition field = declaring.Fields.FirstOrDefault (f => f.Name == GetName (nav));
if (field != null)
_visitor.OnField (nav, field);
@@ -192,11 +193,6 @@ namespace Mono.Linker {
return GetMethod (PeekType ().Methods, signature);
}
- MethodDefinition GetConstructor (string signature)
- {
- return GetMethod (PeekType ().Constructors, signature);
- }
-
static MethodDefinition GetMethod (ICollection methods, string signature)
{
foreach (MethodDefinition method in methods)
@@ -223,7 +219,7 @@ namespace Mono.Linker {
string returntype = GetAttribute (nav, "returntype");
if (returntype == null || returntype.Length == 0)
- returntype = Constants.Void;
+ returntype = "System.Void";
_signature.Append (NormalizeTypeName (returntype));
_signature.Append (" ");
@@ -278,7 +274,7 @@ namespace Mono.Linker {
string signature = GetMethodSignature ();
- MethodDefinition ctor = GetConstructor (signature);
+ MethodDefinition ctor = GetMethod (signature);
if (ctor != null)
_visitor.OnConstructor (nav, ctor);
@@ -290,9 +286,9 @@ namespace Mono.Linker {
string name = GetName (nav);
TypeDefinition type = PeekType ();
- PropertyDefinition [] props = type.Properties.GetProperties (name);
- if (props != null && props.Length > 0)
- _visitor.OnProperty (nav, props [0]);
+ var property = type.Properties.FirstOrDefault (p => p.Name == name);
+ if (property != null)
+ _visitor.OnProperty (nav, property);
ProcessAttributes (nav);
ProcessMethods (nav);
@@ -303,7 +299,7 @@ namespace Mono.Linker {
string name = GetName (nav);
TypeDefinition type = PeekType ();
- EventDefinition evt = type.Events.GetEvent (name);
+ EventDefinition evt = type.Events.FirstOrDefault (e => e.Name == name);
if (evt != null)
_visitor.OnEvent (nav, evt);
diff --git a/mcs/tools/linker/monolinker.exe.sources b/mcs/tools/linker/monolinker.exe.sources
index a18e9095d77..588cf4ae490 100644
--- a/mcs/tools/linker/monolinker.exe.sources
+++ b/mcs/tools/linker/monolinker.exe.sources
@@ -2,7 +2,6 @@
./Mono.Linker/AssemblyInfo.cs
./Mono.Linker/AssemblyResolver.cs
./Mono.Linker/TypePreserve.cs
-./Mono.Linker/TypeParser.cs
./Mono.Linker/Annotations.cs
./Mono.Linker/LinkContext.cs
./Mono.Linker/AssemblyAction.cs
diff --git a/mcs/tools/mdoc/Makefile b/mcs/tools/mdoc/Makefile
index 87dc7ac7939..46a8878df17 100644
--- a/mcs/tools/mdoc/Makefile
+++ b/mcs/tools/mdoc/Makefile
@@ -66,7 +66,7 @@ include ../../build/executable.make
$(PROGRAM) : Makefile
MONO = \
- MONO_PATH="$(topdir)/class/lib/2.0$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" \
+ MONO_PATH="$(topdir)/class/lib/net_2_0$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" \
$(RUNTIME) $(RUNTIME_FLAGS)
dist-local: dist-default dist-tests
diff --git a/mcs/tools/mdoc/Mono.Documentation/exceptions.cs b/mcs/tools/mdoc/Mono.Documentation/exceptions.cs
index ad1ba9d76ae..9929998565c 100644
--- a/mcs/tools/mdoc/Mono.Documentation/exceptions.cs
+++ b/mcs/tools/mdoc/Mono.Documentation/exceptions.cs
@@ -47,13 +47,13 @@ namespace Mono.Documentation {
internal ExceptionSources (TypeReference exception)
{
Exception = exception;
- SourcesList = new List<IMemberReference> ();
- Sources = new ReadOnlyCollection<IMemberReference> (SourcesList);
+ SourcesList = new List<MemberReference> ();
+ Sources = new ReadOnlyCollection<MemberReference> (SourcesList);
}
public TypeReference Exception { get; private set; }
- public ReadOnlyCollection<IMemberReference> Sources { get; private set; }
- internal List<IMemberReference> SourcesList;
+ public ReadOnlyCollection<MemberReference> Sources { get; private set; }
+ internal List<MemberReference> SourcesList;
}
@@ -72,11 +72,11 @@ namespace Mono.Documentation {
this.locations = locations;
}
- public IEnumerable<ExceptionSources> this [IMemberReference member] {
+ public IEnumerable<ExceptionSources> this [MemberReference member] {
get {
if (member == null)
throw new ArgumentNullException ("member");
- IMemberReference memberDef = member.Resolve ();
+ MemberReference memberDef = member.Resolve ();
if (memberDef == null) {
ArrayType array = member.DeclaringType as ArrayType;
if (array != null && array.Rank > 1) {
@@ -105,13 +105,13 @@ namespace Mono.Documentation {
}
}
- MethodBody[] GetMethodBodies (IMemberReference member)
+ MethodBody[] GetMethodBodies (MemberReference member)
{
if (member is MethodReference) {
return new[]{ (((MethodReference) member).Resolve ()).Body };
}
if (member is PropertyReference) {
- PropertyDefinition prop = ((PropertyReference) member).Resolve ();
+ PropertyDefinition prop = (PropertyDefinition) member;
return new[]{
prop.GetMethod != null ? prop.GetMethod.Body : null,
prop.SetMethod != null ? prop.SetMethod.Body : null,
@@ -120,7 +120,7 @@ namespace Mono.Documentation {
if (member is FieldReference)
return new MethodBody[]{};
if (member is EventReference) {
- EventDefinition ev = ((EventReference) member).Resolve ();
+ EventDefinition ev = (EventDefinition) member;
return new[]{
ev.AddMethod != null ? ev.AddMethod.Body : null,
ev.InvokeMethod != null ? ev.InvokeMethod.Body : null,
@@ -140,7 +140,7 @@ namespace Mono.Documentation {
if ((locations & ExceptionLocations.Assembly) == 0 &&
(locations & ExceptionLocations.DependentAssemblies) == 0)
break;
- IMemberReference memberRef = ((IMemberReference) instruction.Operand);
+ MemberReference memberRef = ((MemberReference) instruction.Operand);
if (((locations & ExceptionLocations.Assembly) != 0 &&
body.Method.DeclaringType.Scope.Name == memberRef.DeclaringType.Scope.Name) ||
((locations & ExceptionLocations.DependentAssemblies) != 0 &&
@@ -158,7 +158,7 @@ namespace Mono.Documentation {
if (IsExceptionConstructor (ctor)) {
AddExceptions (body, instruction,
new TypeReference[]{ctor.DeclaringType},
- new IMemberReference[]{body.Method},
+ new MemberReference[]{body.Method},
exceptions);
}
break;
@@ -167,7 +167,7 @@ namespace Mono.Documentation {
}
}
- void AddExceptions (MethodBody body, Instruction instruction, IEnumerable<TypeReference> add, IEnumerable<IMemberReference> sources,
+ void AddExceptions (MethodBody body, Instruction instruction, IEnumerable<TypeReference> add, IEnumerable<MemberReference> sources,
Dictionary<string, ExceptionSources> exceptions)
{
var handlers = body.ExceptionHandlers.Cast<ExceptionHandler> ()
diff --git a/mcs/tools/mdoc/Mono.Documentation/monodocer.cs b/mcs/tools/mdoc/Mono.Documentation/monodocer.cs
index afe6d612dea..35dae5a55d9 100644
--- a/mcs/tools/mdoc/Mono.Documentation/monodocer.cs
+++ b/mcs/tools/mdoc/Mono.Documentation/monodocer.cs
@@ -214,13 +214,12 @@ class MDocUpdater : MDocCommand
{
AssemblyDefinition assembly = null;
try {
- assembly = AssemblyFactory.GetAssembly (name);
+ assembly = AssemblyDefinition.ReadAssembly (name, new ReaderParameters { AssemblyResolver = assemblyResolver });
} catch (System.IO.FileNotFoundException) { }
if (assembly == null)
throw new InvalidOperationException("Assembly " + name + " not found.");
- assembly.Resolver = assemblyResolver;
return assembly;
}
@@ -873,7 +872,7 @@ class MDocUpdater : MDocCommand
MyXmlNodeList todelete = new MyXmlNodeList ();
foreach (DocsNodeInfo info in docEnum.GetDocumentationMembers (basefile, type)) {
XmlElement oldmember = info.Node;
- IMemberReference oldmember2 = info.Member;
+ MemberReference oldmember2 = info.Member;
string sig = oldmember2 != null ? memberFormatters [0].GetDeclaration (oldmember2) : null;
// Interface implementations and overrides are deleted from the docs
@@ -912,7 +911,7 @@ class MDocUpdater : MDocCommand
if (!DocUtils.IsDelegate (type)) {
XmlNode members = WriteElement (basefile.DocumentElement, "Members");
- foreach (IMemberReference m in type.GetMembers()) {
+ foreach (MemberReference m in type.GetMembers()) {
if (m is TypeDefinition) continue;
string sig = memberFormatters [0].GetDeclaration (m);
@@ -1193,12 +1192,12 @@ class MDocUpdater : MDocCommand
WriteElementText(root, "Base/BaseTypeName", basetypename);
// Document how this type instantiates the generic parameters of its base type
- TypeReference origBase = type.BaseType.GetOriginalType ();
+ TypeReference origBase = type.BaseType.GetElementType ();
if (origBase.IsGenericType ()) {
ClearElement(basenode, "BaseTypeArguments");
GenericInstanceType baseInst = type.BaseType as GenericInstanceType;
- GenericArgumentCollection baseGenArgs = baseInst == null ? null : baseInst.GenericArguments;
- GenericParameterCollection baseGenParams = origBase.GenericParameters;
+ IList<TypeReference> baseGenArgs = baseInst == null ? null : baseInst.GenericArguments;
+ IList<GenericParameter> baseGenParams = origBase.GenericParameters;
if (baseGenArgs.Count != baseGenParams.Count)
throw new InvalidOperationException ("internal error: number of generic arguments doesn't match number of generic parameters.");
for (int i = 0; baseGenArgs != null && i < baseGenArgs.Count; i++) {
@@ -1284,7 +1283,7 @@ class MDocUpdater : MDocCommand
private void UpdateMember (DocsNodeInfo info)
{
XmlElement me = (XmlElement) info.Node;
- IMemberReference mi = info.Member;
+ MemberReference mi = info.Member;
foreach (MemberFormatter f in memberFormatters) {
string element = "MemberSignature[@Language='" + f.Language + "']";
@@ -1362,7 +1361,7 @@ class MDocUpdater : MDocCommand
}
}
- IEnumerable<string> GetCustomAttributes (IMemberReference mi)
+ IEnumerable<string> GetCustomAttributes (MemberReference mi)
{
IEnumerable<string> attrs = Enumerable.Empty<string>();
@@ -1370,18 +1369,16 @@ class MDocUpdater : MDocCommand
if (p != null)
attrs = attrs.Concat (GetCustomAttributes (p.CustomAttributes, ""));
- PropertyReference pr = mi as PropertyReference;
- if (pr != null) {
- PropertyDefinition pd = pr.Resolve ();
+ PropertyDefinition pd = mi as PropertyDefinition;
+ if (pd != null) {
if (pd.GetMethod != null)
attrs = attrs.Concat (GetCustomAttributes (pd.GetMethod.CustomAttributes, "get: "));
if (pd.SetMethod != null)
attrs = attrs.Concat (GetCustomAttributes (pd.SetMethod.CustomAttributes, "set: "));
}
- EventReference er = mi as EventReference;
- if (er != null) {
- EventDefinition ed = er.Resolve ();
+ EventDefinition ed = mi as EventDefinition;
+ if (ed != null) {
if (ed.AddMethod != null)
attrs = attrs.Concat (GetCustomAttributes (ed.AddMethod.CustomAttributes, "add: "));
if (ed.RemoveMethod != null)
@@ -1391,38 +1388,33 @@ class MDocUpdater : MDocCommand
return attrs;
}
- IEnumerable<string> GetCustomAttributes (CustomAttributeCollection attributes, string prefix)
+ IEnumerable<string> GetCustomAttributes (IList<CustomAttribute> attributes, string prefix)
{
- foreach (CustomAttribute attribute in attributes.Cast<CustomAttribute> ()
- .OrderBy (ca => ca.Constructor.DeclaringType.FullName)) {
- if (!attribute.Resolve ()) {
- // skip?
- Warning ("warning: could not resolve type {0}.",
- attribute.Constructor.DeclaringType.FullName);
- }
- TypeDefinition attrType = attribute.Constructor.DeclaringType as TypeDefinition;
+ foreach (CustomAttribute attribute in attributes.OrderBy (ca => ca.AttributeType.FullName)) {
+
+ TypeDefinition attrType = attribute.AttributeType as TypeDefinition;
if (attrType != null && !IsPublic (attrType))
continue;
- if (slashdocFormatter.GetName (attribute.Constructor.DeclaringType) == null)
+ if (slashdocFormatter.GetName (attribute.AttributeType) == null)
continue;
- if (Array.IndexOf (IgnorableAttributes, attribute.Constructor.DeclaringType.FullName) >= 0)
+ if (Array.IndexOf (IgnorableAttributes, attribute.AttributeType.FullName) >= 0)
continue;
StringList fields = new StringList ();
- ParameterDefinitionCollection parameters = attribute.Constructor.Parameters;
- for (int i = 0; i < attribute.ConstructorParameters.Count; ++i) {
+ for (int i = 0; i < attribute.ConstructorArguments.Count; ++i) {
+ CustomAttributeArgument argument = attribute.ConstructorArguments [i];
fields.Add (MakeAttributesValueString (
- attribute.ConstructorParameters [i],
- parameters [i].ParameterType));
+ argument.Value,
+ argument.Type));
}
var namedArgs =
- (from de in attribute.Fields.Cast<DictionaryEntry> ()
- select new { Type=attribute.GetFieldType (de.Key.ToString ()), Name=de.Key, Value=de.Value })
+ (from namedArg in attribute.Fields
+ select new { Type=namedArg.Argument.Type, Name=namedArg.Name, Value=namedArg.Argument.Value })
.Concat (
- (from de in attribute.Properties.Cast<DictionaryEntry> ()
- select new { Type=attribute.GetPropertyType (de.Key.ToString ()), Name=de.Key, Value=de.Value }))
+ (from namedArg in attribute.Properties
+ select new { Type=namedArg.Argument.Type, Name=namedArg.Name, Value=namedArg.Argument.Value }))
.OrderBy (v => v.Name);
foreach (var d in namedArgs)
fields.Add (string.Format ("{0}={1}", d.Name,
@@ -1504,7 +1496,7 @@ class MDocUpdater : MDocCommand
}
else {
GenericParameter gp = (GenericParameter) info.Parameters [0].ParameterType;
- ConstraintCollection constraints = gp.Constraints;
+ IList<TypeReference> constraints = gp.Constraints;
if (constraints.Count == 0)
AppendElementAttributeText (targets, "Target", "Type", "System.Object");
else
@@ -1611,7 +1603,7 @@ class MDocUpdater : MDocCommand
private void MakeDocNode (DocsNodeInfo info)
{
List<GenericParameter> genericParams = info.GenericParameters;
- ParameterDefinitionCollection parameters = info.Parameters;
+ IList<ParameterDefinition> parameters = info.Parameters;
TypeReference returntype = info.ReturnType;
bool returnisreturn = info.ReturnIsReturn;
XmlElement e = info.Node;
@@ -1806,7 +1798,7 @@ class MDocUpdater : MDocCommand
}
}
- private void UpdateExceptions (XmlNode docs, IMemberReference member)
+ private void UpdateExceptions (XmlNode docs, MemberReference member)
{
foreach (var source in new ExceptionLookup (exceptions.Value)[member]) {
string cref = slashdocFormatter.GetDeclaration (source.Exception);
@@ -1837,7 +1829,7 @@ class MDocUpdater : MDocCommand
n.ParentNode.RemoveChild(n);
}
- private static bool UpdateAssemblyVersions (XmlElement root, IMemberReference member, bool add)
+ private static bool UpdateAssemblyVersions (XmlElement root, MemberReference member, bool add)
{
TypeDefinition type = member as TypeDefinition;
if (type == null)
@@ -1947,8 +1939,7 @@ class MDocUpdater : MDocCommand
long c = ToInt64 (v);
if (values.ContainsKey (c))
return typename + "." + values [c];
- if (valueDef.CustomAttributes.Cast<CustomAttribute> ()
- .Any (ca => ca.Constructor.DeclaringType.FullName == "System.FlagsAttribute")) {
+ if (valueDef.CustomAttributes.Any (ca => ca.AttributeType.FullName == "System.FlagsAttribute")) {
return string.Join (" | ",
(from i in values.Keys
where (c & i) != 0
@@ -1962,7 +1953,7 @@ class MDocUpdater : MDocCommand
{
var values = new Dictionary<long, string> ();
foreach (var f in
- (from f in type.Fields.Cast<FieldDefinition> ()
+ (from f in type.Fields
where !(f.IsRuntimeSpecialName || f.IsSpecialName)
select f)) {
values [ToInt64 (f.Constant)] = f.Name;
@@ -1977,7 +1968,7 @@ class MDocUpdater : MDocCommand
return Convert.ToInt64 (value);
}
- private void MakeParameters (XmlElement root, ParameterDefinitionCollection parameters)
+ private void MakeParameters (XmlElement root, IList<ParameterDefinition> parameters)
{
XmlElement e = WriteElement(root, "Parameters");
e.RemoveAll();
@@ -1986,7 +1977,7 @@ class MDocUpdater : MDocCommand
e.AppendChild(pe);
pe.SetAttribute("Name", p.Name);
pe.SetAttribute("Type", GetDocParameterType (p.ParameterType));
- if (p.ParameterType is ReferenceType) {
+ if (p.ParameterType is ByReferenceType) {
if (p.IsOut) pe.SetAttribute("RefType", "out");
else pe.SetAttribute("RefType", "ref");
}
@@ -1994,7 +1985,7 @@ class MDocUpdater : MDocCommand
}
}
- private void MakeTypeParameters (XmlElement root, GenericParameterCollection typeParams)
+ private void MakeTypeParameters (XmlElement root, IList<GenericParameter> typeParams)
{
if (typeParams == null || typeParams.Count == 0) {
XmlElement f = (XmlElement) root.SelectSingleNode ("TypeParameters");
@@ -2010,7 +2001,7 @@ class MDocUpdater : MDocCommand
pe.SetAttribute("Name", t.Name);
MakeAttributes (pe, GetCustomAttributes (t.CustomAttributes, ""));
XmlElement ce = (XmlElement) e.SelectSingleNode ("Constraints");
- ConstraintCollection constraints = t.Constraints;
+ IList<TypeReference> constraints = t.Constraints;
GenericParameterAttributes attrs = t.Attributes;
if (attrs == GenericParameterAttributes.NonVariant && constraints.Count == 0) {
if (ce != null)
@@ -2042,13 +2033,13 @@ class MDocUpdater : MDocCommand
}
}
- private void MakeParameters (XmlElement root, IMemberReference mi)
+ private void MakeParameters (XmlElement root, MemberReference mi)
{
if (mi is MethodDefinition && ((MethodDefinition) mi).IsConstructor)
MakeParameters (root, ((MethodDefinition)mi).Parameters);
else if (mi is MethodDefinition) {
MethodDefinition mb = (MethodDefinition) mi;
- ParameterDefinitionCollection parameters = mb.Parameters;
+ IList<ParameterDefinition> parameters = mb.Parameters;
MakeParameters(root, parameters);
if (parameters.Count > 0 && DocUtils.IsExtensionMethod (mb)) {
XmlElement p = (XmlElement) root.SelectSingleNode ("Parameters/Parameter[position()=1]");
@@ -2056,7 +2047,7 @@ class MDocUpdater : MDocCommand
}
}
else if (mi is PropertyDefinition) {
- ParameterDefinitionCollection parameters = ((PropertyDefinition)mi).Parameters;
+ IList<ParameterDefinition> parameters = ((PropertyDefinition)mi).Parameters;
if (parameters.Count > 0)
MakeParameters(root, parameters);
else
@@ -2072,7 +2063,7 @@ class MDocUpdater : MDocCommand
return GetDocTypeFullName (type).Replace ("@", "&");
}
- private void MakeReturnValue (XmlElement root, TypeReference type, CustomAttributeCollection attributes)
+ private void MakeReturnValue (XmlElement root, TypeReference type, IList<CustomAttribute> attributes)
{
XmlElement e = WriteElement(root, "ReturnValue");
e.RemoveAll();
@@ -2081,12 +2072,12 @@ class MDocUpdater : MDocCommand
MakeAttributes(e, GetCustomAttributes (attributes, ""));
}
- private void MakeReturnValue (XmlElement root, IMemberReference mi)
+ private void MakeReturnValue (XmlElement root, MemberReference mi)
{
if (mi is MethodDefinition && ((MethodDefinition) mi).IsConstructor)
return;
else if (mi is MethodDefinition)
- MakeReturnValue (root, ((MethodDefinition)mi).ReturnType.ReturnType, ((MethodDefinition)mi).ReturnType.CustomAttributes);
+ MakeReturnValue (root, ((MethodDefinition)mi).ReturnType, ((MethodDefinition)mi).MethodReturnType.CustomAttributes);
else if (mi is PropertyDefinition)
MakeReturnValue (root, ((PropertyDefinition)mi).PropertyType, null);
else if (mi is FieldDefinition)
@@ -2099,7 +2090,7 @@ class MDocUpdater : MDocCommand
private XmlElement MakeMember(XmlDocument doc, DocsNodeInfo info)
{
- IMemberReference mi = info.Member;
+ MemberReference mi = info.Member;
if (mi is TypeDefinition) return null;
string sigs = memberFormatters [0].GetDeclaration (mi);
@@ -2129,7 +2120,7 @@ class MDocUpdater : MDocCommand
return me;
}
- internal static string GetMemberName (IMemberReference mi)
+ internal static string GetMemberName (MemberReference mi)
{
MethodDefinition mb = mi as MethodDefinition;
if (mb == null) {
@@ -2150,7 +2141,7 @@ class MDocUpdater : MDocCommand
sb.Append (ifaceMethod.Name);
}
if (mb.IsGenericMethod ()) {
- GenericParameterCollection typeParams = mb.GenericParameters;
+ IList<GenericParameter> typeParams = mb.GenericParameters;
if (typeParams.Count > 0) {
sb.Append ("<");
sb.Append (typeParams [0].Name);
@@ -2163,12 +2154,12 @@ class MDocUpdater : MDocCommand
}
/// SIGNATURE GENERATION FUNCTIONS
- internal static bool IsPrivate (IMemberReference mi)
+ internal static bool IsPrivate (MemberReference mi)
{
return memberFormatters [0].GetDeclaration (mi) == null;
}
- internal static string GetMemberType (IMemberReference mi)
+ internal static string GetMemberType (MemberReference mi)
{
if (mi is MethodDefinition && ((MethodDefinition) mi).IsConstructor)
return "Constructor";
@@ -2237,7 +2228,7 @@ class MDocUpdater : MDocCommand
return xpath.ToString ();
}
- public static string GetXPathForMember (IMemberReference member)
+ public static string GetXPathForMember (MemberReference member)
{
StringBuilder xpath = new StringBuilder ();
xpath.Append ("//Type[@FullName=\"")
@@ -2247,7 +2238,7 @@ class MDocUpdater : MDocCommand
.Append (GetMemberName (member))
.Append ("\"]");
- ParameterDefinitionCollection parameters = null;
+ IList<ParameterDefinition> parameters = null;
if (member is MethodDefinition)
parameters = ((MethodDefinition) member).Parameters;
else if (member is PropertyDefinition) {
@@ -2268,28 +2259,28 @@ class MDocUpdater : MDocCommand
}
static class CecilExtensions {
- public static IEnumerable<IMemberReference> GetMembers (this TypeDefinition type)
+ public static IEnumerable<MemberReference> GetMembers (this TypeDefinition type)
{
- foreach (var c in type.Constructors)
- yield return (IMemberReference) c;
+ foreach (var c in type.Methods.Where (m => m.IsConstructor))
+ yield return (MemberReference) c;
foreach (var e in type.Events)
- yield return (IMemberReference) e;
+ yield return (MemberReference) e;
foreach (var f in type.Fields)
- yield return (IMemberReference) f;
- foreach (var m in type.Methods)
- yield return (IMemberReference) m;
+ yield return (MemberReference) f;
+ foreach (var m in type.Methods.Where (m => !m.IsConstructor))
+ yield return (MemberReference) m;
foreach (var t in type.NestedTypes)
- yield return (IMemberReference) t;
+ yield return (MemberReference) t;
foreach (var p in type.Properties)
- yield return (IMemberReference) p;
+ yield return (MemberReference) p;
}
- public static IEnumerable<IMemberReference> GetMembers (this TypeDefinition type, string member)
+ public static IEnumerable<MemberReference> GetMembers (this TypeDefinition type, string member)
{
return GetMembers (type).Where (m => m.Name == member);
}
- public static IMemberReference GetMember (this TypeDefinition type, string member)
+ public static MemberReference GetMember (this TypeDefinition type, string member)
{
return GetMembers (type, member).EnsureZeroOrOne ();
}
@@ -2303,31 +2294,29 @@ static class CecilExtensions {
public static MethodDefinition GetMethod (this TypeDefinition type, string method)
{
- return type.Methods.Cast<MethodDefinition> ()
+ return type.Methods
.Where (m => m.Name == method)
.EnsureZeroOrOne ();
}
- public static IEnumerable<IMemberReference> GetDefaultMembers (this TypeReference type)
+ public static IEnumerable<MemberReference> GetDefaultMembers (this TypeReference type)
{
TypeDefinition def = type as TypeDefinition;
if (def == null)
- return new IMemberReference [0];
- CustomAttribute defMemberAttr = type.CustomAttributes.Cast<CustomAttribute> ()
- .Where (c => c.Constructor.DeclaringType.FullName == "System.Reflection.DefaultMemberAttribute")
- .FirstOrDefault ();
+ return new MemberReference [0];
+ CustomAttribute defMemberAttr = def.CustomAttributes
+ .FirstOrDefault (c => c.AttributeType.FullName == "System.Reflection.DefaultMemberAttribute");
if (defMemberAttr == null)
- return new IMemberReference [0];
- string name = (string) defMemberAttr.ConstructorParameters [0];
- return def.Properties.Cast<PropertyDefinition> ()
+ return new MemberReference [0];
+ string name = (string) defMemberAttr.ConstructorArguments [0].Value;
+ return def.Properties
.Where (p => p.Name == name)
- .Select (p => (IMemberReference) p);
+ .Select (p => (MemberReference) p);
}
public static IEnumerable<TypeDefinition> GetTypes (this AssemblyDefinition assembly)
{
- return assembly.Modules.Cast<ModuleDefinition> ()
- .SelectMany (md => md.Types.Cast<TypeDefinition> ());
+ return assembly.Modules.SelectMany (md => md.GetAllTypes ());
}
public static TypeDefinition GetType (this AssemblyDefinition assembly, string type)
@@ -2347,23 +2336,23 @@ static class CecilExtensions {
return method.GenericParameters.Count > 0;
}
- public static IMemberReference Resolve (this IMemberReference member)
+ public static MemberReference Resolve (this MemberReference member)
{
- EventReference er = member as EventReference;
- if (er != null)
- return er.Resolve ();
FieldReference fr = member as FieldReference;
if (fr != null)
return fr.Resolve ();
MethodReference mr = member as MethodReference;
if (mr != null)
return mr.Resolve ();
- PropertyReference pr = member as PropertyReference;
- if (pr != null)
- return pr.Resolve ();
TypeReference tr = member as TypeReference;
if (tr != null)
return tr.Resolve ();
+ PropertyReference pr = member as PropertyReference;
+ if (pr != null)
+ return pr;
+ EventReference er = member as EventReference;
+ if (er != null)
+ return er;
throw new NotSupportedException ("Cannot find definition for " + member.ToString ());
}
@@ -2371,7 +2360,23 @@ static class CecilExtensions {
{
if (!type.IsEnum)
return type;
- return type.Fields.Cast<FieldDefinition>().First (f => f.Name == "value__").FieldType;
+ return type.Fields.First (f => f.Name == "value__").FieldType;
+ }
+
+ public static IEnumerable<TypeDefinition> GetAllTypes (this ModuleDefinition self)
+ {
+ return self.Types.SelectMany (t => t.GetAllTypes ());
+ }
+
+ static IEnumerable<TypeDefinition> GetAllTypes (this TypeDefinition self)
+ {
+ yield return self;
+
+ if (!self.HasNestedTypes)
+ yield break;
+
+ foreach (var type in self.NestedTypes.SelectMany (t => t.GetAllTypes ()))
+ yield return type;
}
}
@@ -2435,8 +2440,8 @@ static class DocUtils {
public static string GetNamespace (TypeReference type)
{
- if (type.GetOriginalType ().IsNested)
- type = type.GetOriginalType ();
+ if (type.GetElementType ().IsNested)
+ type = type.GetElementType ();
while (type != null && type.IsNested)
type = type.DeclaringType;
if (type == null)
@@ -2456,12 +2461,10 @@ static class DocUtils {
public static bool IsExtensionMethod (MethodDefinition method)
{
return
- method.CustomAttributes.Cast<CustomAttribute> ()
- .Where (m => m.Constructor.DeclaringType.FullName == "System.Runtime.CompilerServices.ExtensionAttribute")
- .Any () &&
- method.DeclaringType.CustomAttributes.Cast<CustomAttribute> ()
- .Where (m => m.Constructor.DeclaringType.FullName == "System.Runtime.CompilerServices.ExtensionAttribute")
- .Any ();
+ method.CustomAttributes
+ .Any (m => m.AttributeType.FullName == "System.Runtime.CompilerServices.ExtensionAttribute")
+ && method.DeclaringType.CustomAttributes
+ .Any (m => m.AttributeType.FullName == "System.Runtime.CompilerServices.ExtensionAttribute");
}
public static bool IsDelegate (TypeDefinition type)
@@ -2549,7 +2552,7 @@ class DocsNodeInfo {
SetType (type);
}
- public DocsNodeInfo (XmlElement node, IMemberReference member)
+ public DocsNodeInfo (XmlElement node, MemberReference member)
: this (node)
{
SetMemberInfo (member);
@@ -2560,7 +2563,7 @@ class DocsNodeInfo {
if (type == null)
throw new ArgumentNullException ("type");
Type = type;
- GenericParameters = new List<GenericParameter> (type.GenericParameters.Cast<GenericParameter> ());
+ GenericParameters = new List<GenericParameter> (type.GenericParameters);
List<TypeReference> declTypes = DocUtils.GetDeclaringTypes (type);
int maxGenArgs = DocUtils.GetGenericArgumentCount (type);
for (int i = 0; i < declTypes.Count - 1; ++i) {
@@ -2572,12 +2575,12 @@ class DocsNodeInfo {
}
if (DocUtils.IsDelegate (type)) {
Parameters = type.GetMethod("Invoke").Parameters;
- ReturnType = type.GetMethod("Invoke").ReturnType.ReturnType;
+ ReturnType = type.GetMethod("Invoke").ReturnType;
ReturnIsReturn = true;
}
}
- void SetMemberInfo (IMemberReference member)
+ void SetMemberInfo (MemberReference member)
{
if (member == null)
throw new ArgumentNullException ("member");
@@ -2589,7 +2592,7 @@ class DocsNodeInfo {
MethodReference mr = (MethodReference) member;
Parameters = mr.Parameters;
if (mr.IsGenericMethod ()) {
- GenericParameters = new List<GenericParameter> (mr.GenericParameters.Cast<GenericParameter> ());
+ GenericParameters = new List<GenericParameter> (mr.GenericParameters);
}
}
else if (member is PropertyDefinition) {
@@ -2597,7 +2600,7 @@ class DocsNodeInfo {
}
if (member is MethodDefinition) {
- ReturnType = ((MethodDefinition) member).ReturnType.ReturnType;
+ ReturnType = ((MethodDefinition) member).ReturnType;
} else if (member is PropertyDefinition) {
ReturnType = ((PropertyDefinition) member).PropertyType;
ReturnIsReturn = false;
@@ -2610,11 +2613,11 @@ class DocsNodeInfo {
public TypeReference ReturnType;
public List<GenericParameter> GenericParameters;
- public ParameterDefinitionCollection Parameters;
+ public IList<ParameterDefinition> Parameters;
public bool ReturnIsReturn;
public XmlElement Node;
public bool AddRemarks = true;
- public IMemberReference Member;
+ public MemberReference Member;
public TypeDefinition Type;
}
@@ -2645,7 +2648,7 @@ class DocumentationEnumerator {
oldmember.RemoveAttribute ("__monodocer-seen__");
continue;
}
- IMemberReference m = GetMember (type, new DocumentationMember (oldmember));
+ MemberReference m = GetMember (type, new DocumentationMember (oldmember));
if (m == null) {
yield return new DocsNodeInfo (oldmember);
}
@@ -2655,7 +2658,7 @@ class DocumentationEnumerator {
}
}
- protected static IMemberReference GetMember (TypeDefinition type, DocumentationMember member)
+ protected static MemberReference GetMember (TypeDefinition type, DocumentationMember member)
{
string membertype = member.MemberType;
@@ -2665,22 +2668,22 @@ class DocumentationEnumerator {
string[] docTypeParams = GetTypeParameters (docName);
// Loop through all members in this type with the same name
- foreach (IMemberReference mi in GetReflectionMembers (type, docName)) {
+ foreach (MemberReference mi in GetReflectionMembers (type, docName)) {
if (mi is TypeDefinition) continue;
if (MDocUpdater.GetMemberType(mi) != membertype) continue;
if (MDocUpdater.IsPrivate (mi))
continue;
- ParameterDefinitionCollection pis = null;
+ IList<ParameterDefinition> pis = null;
string[] typeParams = null;
if (mi is MethodDefinition) {
MethodDefinition mb = (MethodDefinition) mi;
pis = mb.Parameters;
if (docTypeParams != null && mb.IsGenericMethod ()) {
- GenericParameterCollection args = mb.GenericParameters;
+ IList<GenericParameter> args = mb.GenericParameters;
if (args.Count == docTypeParams.Length) {
- typeParams = args.Cast<GenericParameter> ().Select (p => p.Name).ToArray ();
+ typeParams = args.Select (p => p.Name).ToArray ();
}
}
}
@@ -2696,7 +2699,7 @@ class DocumentationEnumerator {
if (mDef != null && !mDef.IsConstructor) {
// Casting operators can overload based on return type.
if (returntype != GetReplacedString (
- MDocUpdater.GetDocTypeFullName (((MethodDefinition)mi).ReturnType.ReturnType),
+ MDocUpdater.GetDocTypeFullName (((MethodDefinition)mi).ReturnType),
typeParams, docTypeParams)) {
continue;
}
@@ -2742,7 +2745,7 @@ class DocumentationEnumerator {
return types.ToArray ();
}
- protected static IEnumerable<IMemberReference> GetReflectionMembers (TypeDefinition type, string docName)
+ protected static IEnumerable<MemberReference> GetReflectionMembers (TypeDefinition type, string docName)
{
// need to worry about 4 forms of //@MemberName values:
// 1. "Normal" (non-generic) member names: GetEnumerator
@@ -2761,12 +2764,12 @@ class DocumentationEnumerator {
// this as (1) or (2).
if (docName.IndexOf ('<') == -1 && docName.IndexOf ('[') == -1) {
// Cases 1 & 2
- foreach (IMemberReference mi in type.GetMembers (docName))
+ foreach (MemberReference mi in type.GetMembers (docName))
yield return mi;
if (CountChars (docName, '.') > 0)
// might be a property; try only type.member instead of
// namespace.type.member.
- foreach (IMemberReference mi in
+ foreach (MemberReference mi in
type.GetMembers (DocUtils.GetTypeDotMember (docName)))
yield return mi;
yield break;
@@ -2800,11 +2803,11 @@ class DocumentationEnumerator {
}
string refName = startLt == -1 ? docName : docName.Substring (0, startLt);
// case 3
- foreach (IMemberReference mi in type.GetMembers (refName))
+ foreach (MemberReference mi in type.GetMembers (refName))
yield return mi;
// case 4
- foreach (IMemberReference mi in type.GetMembers (refName.Substring (startType + 1)))
+ foreach (MemberReference mi in type.GetMembers (refName.Substring (startType + 1)))
yield return mi;
// If we _still_ haven't found it, we've hit another generic naming issue:
@@ -2818,7 +2821,7 @@ class DocumentationEnumerator {
// over all member names, convert them into CSC format, and compare... :-(
if (numDot == 0)
yield break;
- foreach (IMemberReference mi in type.GetMembers ()) {
+ foreach (MemberReference mi in type.GetMembers ()) {
if (MDocUpdater.GetMemberName (mi) == docName)
yield return mi;
}
@@ -2931,7 +2934,7 @@ class EcmaDocumentationEnumerator : DocumentationEnumerator {
DocumentationMember dm = new DocumentationMember (ecmadocs);
string xp = MDocUpdater.GetXPathForMember (dm);
XmlElement oldmember = (XmlElement) basefile.SelectSingleNode (xp);
- IMemberReference m;
+ MemberReference m;
if (oldmember == null) {
m = GetMember (type, dm);
if (m == null) {
@@ -3083,7 +3086,7 @@ class MsxdocDocumentationImporter : DocumentationImporter {
}
}
- private XmlNode GetDocs (IMemberReference member)
+ private XmlNode GetDocs (MemberReference member)
{
string slashdocsig = MDocUpdater.slashdocFormatter.GetDeclaration (member);
if (slashdocsig != null)
@@ -3264,7 +3267,7 @@ public abstract class MemberFormatter {
get {return "";}
}
- public virtual string GetName (IMemberReference member)
+ public virtual string GetName (MemberReference member)
{
TypeReference type = member as TypeReference;
if (type != null)
@@ -3304,7 +3307,7 @@ public abstract class MemberFormatter {
{
if (type is ArrayType) {
TypeSpecification spec = type as TypeSpecification;
- _AppendTypeName (buf, spec != null ? spec.ElementType : type.GetOriginalType ())
+ _AppendTypeName (buf, spec != null ? spec.ElementType : type.GetElementType ())
.Append (ArrayDelimeters [0]);
var origState = MemberFormatterState;
MemberFormatterState = MemberFormatterState.WithinArray;
@@ -3315,7 +3318,7 @@ public abstract class MemberFormatter {
MemberFormatterState = origState;
return buf.Append (ArrayDelimeters [1]);
}
- if (type is ReferenceType) {
+ if (type is ByReferenceType) {
return AppendRefTypeName (buf, type);
}
if (type is PointerType) {
@@ -3368,7 +3371,7 @@ public abstract class MemberFormatter {
protected virtual StringBuilder AppendRefTypeName (StringBuilder buf, TypeReference type)
{
TypeSpecification spec = type as TypeSpecification;
- return _AppendTypeName (buf, spec != null ? spec.ElementType : type.GetOriginalType ())
+ return _AppendTypeName (buf, spec != null ? spec.ElementType : type.GetElementType ())
.Append (RefTypeModifier);
}
@@ -3379,7 +3382,7 @@ public abstract class MemberFormatter {
protected virtual StringBuilder AppendPointerTypeName (StringBuilder buf, TypeReference type)
{
TypeSpecification spec = type as TypeSpecification;
- return _AppendTypeName (buf, spec != null ? spec.ElementType : type.GetOriginalType ())
+ return _AppendTypeName (buf, spec != null ? spec.ElementType : type.GetElementType ())
.Append (PointerModifier);
}
@@ -3394,7 +3397,7 @@ public abstract class MemberFormatter {
protected virtual StringBuilder AppendGenericType (StringBuilder buf, TypeReference type)
{
List<TypeReference> decls = DocUtils.GetDeclaringTypes (
- type is GenericInstanceType ? type.GetOriginalType () : type);
+ type is GenericInstanceType ? type.GetElementType () : type);
List<TypeReference> genArgs = GetGenericArguments (type);
int argIdx = 0;
int prev = 0;
@@ -3464,7 +3467,7 @@ public abstract class MemberFormatter {
return e.Name;
}
- public virtual string GetDeclaration (IMemberReference member)
+ public virtual string GetDeclaration (MemberReference member)
{
if (member == null)
throw new ArgumentNullException ("member");
@@ -3520,7 +3523,7 @@ public abstract class MemberFormatter {
if (buf.Length != 0)
buf.Append (" ");
- buf.Append (GetTypeName (method.ReturnType)).Append (" ");
+ buf.Append (GetTypeName (method.MethodReturnType)).Append (" ");
AppendMethodName (buf, method);
AppendGenericMethod (buf, method).Append (" ");
@@ -3559,7 +3562,7 @@ public abstract class MemberFormatter {
return buf;
}
- protected virtual StringBuilder AppendParameters (StringBuilder buf, MethodDefinition method, ParameterDefinitionCollection parameters)
+ protected virtual StringBuilder AppendParameters (StringBuilder buf, MethodDefinition method, IList<ParameterDefinition> parameters)
{
return buf;
}
@@ -3667,7 +3670,7 @@ class ILFullMemberFormatter : MemberFormatter {
buf.Append ("struct ");
if ((attrs & GenericParameterAttributes.DefaultConstructorConstraint) != 0)
buf.Append (".ctor ");
- ConstraintCollection constraints = type.Constraints;
+ IList<TypeReference> constraints = type.Constraints;
MemberFormatterState = 0;
if (constraints.Count > 0) {
var full = new ILFullMemberFormatter ();
@@ -3727,7 +3730,7 @@ class ILFullMemberFormatter : MemberFormatter {
buf.Append (full.GetName (type.BaseType).Substring ("class ".Length));
}
bool first = true;
- foreach (var name in type.Interfaces.Cast<TypeReference>()
+ foreach (var name in type.Interfaces
.Select (i => full.GetName (i))
.OrderBy (n => n)) {
if (first) {
@@ -3746,7 +3749,7 @@ class ILFullMemberFormatter : MemberFormatter {
protected override StringBuilder AppendGenericType (StringBuilder buf, TypeReference type)
{
List<TypeReference> decls = DocUtils.GetDeclaringTypes (
- type is GenericInstanceType ? type.GetOriginalType () : type);
+ type is GenericInstanceType ? type.GetElementType () : type);
bool first = true;
foreach (var decl in decls) {
TypeReference declDef = decl.Resolve () ?? decl;
@@ -3836,13 +3839,13 @@ class ILFullMemberFormatter : MemberFormatter {
buf.Append ("virtual ");
if (!method.IsStatic)
buf.Append ("instance ");
- _AppendTypeName (buf, method.ReturnType.ReturnType);
+ _AppendTypeName (buf, method.ReturnType);
buf.Append (' ')
.Append (method.Name);
if (method.IsGenericMethod ()) {
var state = MemberFormatterState;
MemberFormatterState = MemberFormatterState.WithinGenericTypeParameters;
- GenericParameterCollection args = method.GenericParameters;
+ IList<GenericParameter> args = method.GenericParameters;
if (args.Count > 0) {
buf.Append ("<");
_AppendTypeName (buf, args [0]);
@@ -3923,7 +3926,7 @@ class ILFullMemberFormatter : MemberFormatter {
protected override StringBuilder AppendGenericMethod (StringBuilder buf, MethodDefinition method)
{
if (method.IsGenericMethod ()) {
- GenericParameterCollection args = method.GenericParameters;
+ IList<GenericParameter> args = method.GenericParameters;
if (args.Count > 0) {
buf.Append ("<");
buf.Append (args [0].Name);
@@ -3935,12 +3938,12 @@ class ILFullMemberFormatter : MemberFormatter {
return buf;
}
- protected override StringBuilder AppendParameters (StringBuilder buf, MethodDefinition method, ParameterDefinitionCollection parameters)
+ protected override StringBuilder AppendParameters (StringBuilder buf, MethodDefinition method, IList<ParameterDefinition> parameters)
{
return AppendParameters (buf, method, parameters, '(', ')');
}
- private StringBuilder AppendParameters (StringBuilder buf, MethodDefinition method, ParameterDefinitionCollection parameters, char begin, char end)
+ private StringBuilder AppendParameters (StringBuilder buf, MethodDefinition method, IList<ParameterDefinition> parameters, char begin, char end)
{
buf.Append (begin);
@@ -3959,7 +3962,7 @@ class ILFullMemberFormatter : MemberFormatter {
private StringBuilder AppendParameter (StringBuilder buf, ParameterDefinition parameter)
{
- if (parameter.ParameterType is ReferenceType) {
+ if (parameter.ParameterType is ByReferenceType) {
if (parameter.IsOut)
buf.Append ("out ");
else
@@ -4193,7 +4196,7 @@ class CSharpFullMemberFormatter : MemberFormatter {
if (DocUtils.IsDelegate (type)) {
buf.Append("delegate ");
MethodDefinition invoke = type.GetMethod ("Invoke");
- buf.Append (full.GetName (invoke.ReturnType.ReturnType)).Append (" ");
+ buf.Append (full.GetName (invoke.ReturnType)).Append (" ");
buf.Append (GetName (type));
AppendParameters (buf, invoke, invoke.Parameters);
AppendGenericTypeConstraints (buf, type);
@@ -4280,11 +4283,11 @@ class CSharpFullMemberFormatter : MemberFormatter {
return AppendConstraints (buf, type.GenericParameters);
}
- private StringBuilder AppendConstraints (StringBuilder buf, GenericParameterCollection genArgs)
+ private StringBuilder AppendConstraints (StringBuilder buf, IList<GenericParameter> genArgs)
{
foreach (GenericParameter genArg in genArgs) {
GenericParameterAttributes attrs = genArg.Attributes;
- ConstraintCollection constraints = genArg.Constraints;
+ IList<TypeReference> constraints = genArg.Constraints;
if (attrs == GenericParameterAttributes.NonVariant && constraints.Count == 0)
continue;
@@ -4417,7 +4420,7 @@ class CSharpFullMemberFormatter : MemberFormatter {
protected override StringBuilder AppendGenericMethod (StringBuilder buf, MethodDefinition method)
{
if (method.IsGenericMethod ()) {
- GenericParameterCollection args = method.GenericParameters;
+ IList<GenericParameter> args = method.GenericParameters;
if (args.Count > 0) {
buf.Append ("<");
buf.Append (args [0].Name);
@@ -4429,12 +4432,12 @@ class CSharpFullMemberFormatter : MemberFormatter {
return buf;
}
- protected override StringBuilder AppendParameters (StringBuilder buf, MethodDefinition method, ParameterDefinitionCollection parameters)
+ protected override StringBuilder AppendParameters (StringBuilder buf, MethodDefinition method, IList<ParameterDefinition> parameters)
{
return AppendParameters (buf, method, parameters, '(', ')');
}
- private StringBuilder AppendParameters (StringBuilder buf, MethodDefinition method, ParameterDefinitionCollection parameters, char begin, char end)
+ private StringBuilder AppendParameters (StringBuilder buf, MethodDefinition method, IList<ParameterDefinition> parameters, char begin, char end)
{
buf.Append (begin);
@@ -4453,7 +4456,7 @@ class CSharpFullMemberFormatter : MemberFormatter {
private StringBuilder AppendParameter (StringBuilder buf, ParameterDefinition parameter)
{
- if (parameter.ParameterType is ReferenceType) {
+ if (parameter.ParameterType is ByReferenceType) {
if (parameter.IsOut)
buf.Append ("out ");
else
@@ -4514,9 +4517,9 @@ class CSharpFullMemberFormatter : MemberFormatter {
buf.Append (GetName (property.PropertyType)).Append (' ');
- IEnumerable<IMemberReference> defs = property.DeclaringType.GetDefaultMembers ();
+ IEnumerable<MemberReference> defs = property.DeclaringType.GetDefaultMembers ();
string name = property.Name;
- foreach (IMemberReference mi in defs) {
+ foreach (MemberReference mi in defs) {
if (mi == property) {
name = "this";
break;
@@ -4664,7 +4667,7 @@ class SlashDocMemberFormatter : MemberFormatter {
if (type is GenericParameter) {
int l = buf.Length;
if (genDeclType != null) {
- GenericParameterCollection genArgs = genDeclType.GenericParameters;
+ IList<GenericParameter> genArgs = genDeclType.GenericParameters;
for (int i = 0; i < genArgs.Count; ++i) {
if (genArgs [i].Name == type.Name) {
buf.Append ('`').Append (i);
@@ -4673,7 +4676,7 @@ class SlashDocMemberFormatter : MemberFormatter {
}
}
if (genDeclMethod != null) {
- GenericParameterCollection genArgs = null;
+ IList<GenericParameter> genArgs = null;
if (genDeclMethod.IsGenericMethod ()) {
genArgs = genDeclMethod.GenericParameters;
for (int i = 0; i < genArgs.Count; ++i) {
@@ -4739,7 +4742,7 @@ class SlashDocMemberFormatter : MemberFormatter {
return buf;
}
- public override string GetDeclaration (IMemberReference member)
+ public override string GetDeclaration (MemberReference member)
{
TypeReference r = member as TypeReference;
if (r != null) {
@@ -4777,11 +4780,11 @@ class SlashDocMemberFormatter : MemberFormatter {
buf.Append ('.');
buf.Append (name.Replace (".", "#"));
if (method.IsGenericMethod ()) {
- GenericParameterCollection genArgs = method.GenericParameters;
+ IList<GenericParameter> genArgs = method.GenericParameters;
if (genArgs.Count > 0)
buf.Append ("``").Append (genArgs.Count);
}
- ParameterDefinitionCollection parameters = method.Parameters;
+ IList<ParameterDefinition> parameters = method.Parameters;
try {
genDeclType = method.DeclaringType;
genDeclMethod = method;
@@ -4794,7 +4797,7 @@ class SlashDocMemberFormatter : MemberFormatter {
return buf.ToString ();
}
- private StringBuilder AppendParameters (StringBuilder buf, GenericParameterCollection genArgs, ParameterDefinitionCollection parameters)
+ private StringBuilder AppendParameters (StringBuilder buf, IList<GenericParameter> genArgs, IList<ParameterDefinition> parameters)
{
if (parameters.Count == 0)
return buf;
@@ -4810,7 +4813,7 @@ class SlashDocMemberFormatter : MemberFormatter {
return buf.Append (')');
}
- private StringBuilder AppendParameter (StringBuilder buf, GenericParameterCollection genArgs, ParameterDefinition parameter)
+ private StringBuilder AppendParameter (StringBuilder buf, IList<GenericParameter> genArgs, ParameterDefinition parameter)
{
AddTypeCount = false;
buf.Append (GetTypeName (parameter.ParameterType));
@@ -4844,11 +4847,11 @@ class SlashDocMemberFormatter : MemberFormatter {
buf.Append (GetName (property.DeclaringType));
buf.Append ('.');
buf.Append (name);
- ParameterDefinitionCollection parameters = property.Parameters;
+ IList<ParameterDefinition> parameters = property.Parameters;
if (parameters.Count > 0) {
genDeclType = property.DeclaringType;
buf.Append ('(');
- GenericParameterCollection genArgs = property.DeclaringType.GenericParameters;
+ IList<GenericParameter> genArgs = property.DeclaringType.GenericParameters;
AppendParameter (buf, genArgs, parameters [0]);
for (int i = 1; i < parameters.Count; ++i) {
buf.Append (',');
@@ -4896,7 +4899,7 @@ class SlashDocMemberFormatter : MemberFormatter {
if (method.Name == "op_Implicit" || method.Name == "op_Explicit") {
genDeclType = method.DeclaringType;
genDeclMethod = method;
- name += "~" + GetName (method.ReturnType.ReturnType);
+ name += "~" + GetName (method.ReturnType);
genDeclType = null;
genDeclMethod = null;
}
diff --git a/mcs/tools/pdb2mdb/Driver.cs b/mcs/tools/pdb2mdb/Driver.cs
index 0a37c9c4478..bdec1767815 100644
--- a/mcs/tools/pdb2mdb/Driver.cs
+++ b/mcs/tools/pdb2mdb/Driver.cs
@@ -146,7 +146,7 @@ namespace Pdb2Mdb {
if (!File.Exists (asm))
Usage ();
- var assembly = AssemblyFactory.GetAssembly (asm);
+ var assembly = AssemblyDefinition.ReadAssembly (asm);
var pdb = assembly.Name.Name + ".pdb";
diff --git a/mcs/tools/security/permview.cs b/mcs/tools/security/permview.cs
index cfe379c11de..422de82f621 100644
--- a/mcs/tools/security/permview.cs
+++ b/mcs/tools/security/permview.cs
@@ -9,10 +9,11 @@
using System;
using System.Collections;
+using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Security;
-using System.Security.Permissions;
+using SSP = System.Security.Permissions;
using System.Text;
using Mono.Cecil;
@@ -22,6 +23,110 @@ using Mono.Cecil;
namespace Mono.Tools {
+ static class SecurityDeclarationRocks {
+
+ public static PermissionSet ToPermissionSet (this SecurityDeclaration self)
+ {
+ if (self == null)
+ throw new ArgumentNullException ("self");
+
+ PermissionSet set;
+ if (TryProcessPermissionSetAttribute (self, out set))
+ return set;
+
+ return CreatePermissionSet (self);
+ }
+
+ static bool TryProcessPermissionSetAttribute (SecurityDeclaration declaration, out PermissionSet set)
+ {
+ set = null;
+
+ if (!declaration.HasSecurityAttributes && declaration.SecurityAttributes.Count != 1)
+ return false;
+
+ var security_attribute = declaration.SecurityAttributes [0];
+ var attribute_type = security_attribute.AttributeType;
+
+ if (attribute_type.Name != "PermissionSetAttribute" || attribute_type.Namespace != "System.Security.Permissions")
+ return false;
+
+ var named_argument = security_attribute.Properties [0];
+ if (named_argument.Name != "XML")
+ throw new NotSupportedException ();
+
+ var attribute = new SSP.PermissionSetAttribute ((SSP.SecurityAction) declaration.Action);
+ attribute.XML = (string) named_argument.Argument.Value;
+
+ set = attribute.CreatePermissionSet ();
+ return true;
+ }
+
+ static PermissionSet CreatePermissionSet (SecurityDeclaration declaration)
+ {
+ var set = new PermissionSet (SSP.PermissionState.None);
+
+ foreach (var attribute in declaration.SecurityAttributes) {
+ var permission = CreatePermission (declaration, attribute);
+ set.AddPermission (permission);
+ }
+
+ return set;
+ }
+
+ static IPermission CreatePermission (SecurityDeclaration declaration, SecurityAttribute attribute)
+ {
+ var attribute_type = Type.GetType (attribute.AttributeType.FullName);
+ if (attribute_type == null)
+ throw new ArgumentException ();
+
+ var security_attribute = CreateSecurityAttribute (attribute_type, declaration);
+ if (security_attribute == null)
+ throw new InvalidOperationException ();
+
+ CompleteSecurityAttribute (security_attribute, attribute);
+
+ return security_attribute.CreatePermission ();
+ }
+
+ static void CompleteSecurityAttribute (SSP.SecurityAttribute security_attribute, SecurityAttribute attribute)
+ {
+ if (attribute.HasFields)
+ CompleteSecurityAttributeFields (security_attribute, attribute);
+
+ if (attribute.HasProperties)
+ CompleteSecurityAttributeProperties (security_attribute, attribute);
+ }
+
+ static void CompleteSecurityAttributeFields (SSP.SecurityAttribute security_attribute, SecurityAttribute attribute)
+ {
+ var type = security_attribute.GetType ();
+
+ foreach (var named_argument in attribute.Fields)
+ type.GetField (named_argument.Name).SetValue (security_attribute, named_argument.Argument.Value);
+ }
+
+ static void CompleteSecurityAttributeProperties (SSP.SecurityAttribute security_attribute, SecurityAttribute attribute)
+ {
+ var type = security_attribute.GetType ();
+
+ foreach (var named_argument in attribute.Properties)
+ type.GetProperty (named_argument.Name).SetValue (security_attribute, named_argument.Argument.Value, null);
+ }
+
+ static SSP.SecurityAttribute CreateSecurityAttribute (Type attribute_type, SecurityDeclaration declaration)
+ {
+ SSP.SecurityAttribute security_attribute;
+ try {
+ security_attribute = (SSP.SecurityAttribute) Activator.CreateInstance (
+ attribute_type, new object [] { (SSP.SecurityAction) declaration.Action });
+ } catch (MissingMethodException) {
+ security_attribute = (SSP.SecurityAttribute) Activator.CreateInstance (attribute_type, new object [0]);
+ }
+
+ return security_attribute;
+ }
+ }
+
class SecurityElementComparer : IComparer {
public int Compare (object x, object y)
@@ -101,17 +206,17 @@ namespace Mono.Tools {
foreach (SecurityDeclaration decl in ad.SecurityDeclarations) {
switch (decl.Action) {
case Mono.Cecil.SecurityAction.RequestMinimum:
- minimal = decl.PermissionSet.ToString ();
+ minimal = decl.ToPermissionSet ().ToString ();
break;
case Mono.Cecil.SecurityAction.RequestOptional:
- optional = decl.PermissionSet.ToString ();
+ optional = decl.ToPermissionSet ().ToString ();
break;
case Mono.Cecil.SecurityAction.RequestRefuse:
- refused = decl.PermissionSet.ToString ();
+ refused = decl.ToPermissionSet ().ToString ();
break;
default:
tw.WriteLine ("Invalid assembly level declaration {0}{1}{2}",
- decl.Action, Environment.NewLine, decl.PermissionSet);
+ decl.Action, Environment.NewLine, decl.ToPermissionSet ());
result = false;
break;
}
@@ -126,11 +231,11 @@ namespace Mono.Tools {
return result;
}
- static void ShowSecurity (TextWriter tw, string header, SecurityDeclarationCollection declarations)
+ static void ShowSecurity (TextWriter tw, string header, IEnumerable<SecurityDeclaration> declarations)
{
foreach (SecurityDeclaration declsec in declarations) {
tw.WriteLine ("{0} {1} Permission Set:{2}{3}", header,
- declsec.Action, Environment.NewLine, declsec.PermissionSet);
+ declsec.Action, Environment.NewLine, declsec.ToPermissionSet ());
}
}
@@ -164,13 +269,13 @@ namespace Mono.Tools {
se.AddAttribute (attr, value);
}
- static SecurityElement AddSecurityXml (SecurityDeclarationCollection declarations)
+ static SecurityElement AddSecurityXml (IEnumerable<SecurityDeclaration> declarations)
{
ArrayList list = new ArrayList ();
foreach (SecurityDeclaration declsec in declarations) {
SecurityElement child = new SecurityElement ("Action");
AddAttribute (child, "Name", declsec.Action.ToString ());
- child.AddChild (declsec.PermissionSet.ToXml ());
+ child.AddChild (declsec.ToPermissionSet ().ToXml ());
list.Add (child);
}
// sort actions
@@ -270,7 +375,7 @@ namespace Mono.Tools {
return 0;
string assemblyName = args [args.Length - 1];
- AssemblyDefinition ad = AssemblyFactory.GetAssembly (assemblyName);
+ AssemblyDefinition ad = AssemblyDefinition.ReadAssembly (assemblyName);
if (ad != null) {
bool complete = false;
diff --git a/mcs/tools/tuner/Makefile b/mcs/tools/tuner/Makefile
index f849690e236..b3de3da9117 100644
--- a/mcs/tools/tuner/Makefile
+++ b/mcs/tools/tuner/Makefile
@@ -5,7 +5,7 @@ include ../../build/rules.make
CECIL = $(topdir)/class/lib/$(PROFILE)/Mono.Cecil.dll
LINKER = $(topdir)/class/lib/$(PROFILE)/monolinker.exe
-LOCAL_MCS_FLAGS = -r:System.dll -r:System.Xml.dll -r:$(LINKER) -r:$(CECIL)
+LOCAL_MCS_FLAGS = -r:System.dll -r:System.Core.dll -r:System.Xml.dll -r:$(LINKER) -r:$(CECIL)
LIBRARY = Mono.Tuner.dll
diff --git a/mcs/tools/tuner/Mono.Tuner/AdjustVisibility.cs b/mcs/tools/tuner/Mono.Tuner/AdjustVisibility.cs
index b983ed7ca2f..30c5ac4b9db 100644
--- a/mcs/tools/tuner/Mono.Tuner/AdjustVisibility.cs
+++ b/mcs/tools/tuner/Mono.Tuner/AdjustVisibility.cs
@@ -28,6 +28,7 @@
using System;
using System.Collections;
+using System.Collections.Generic;
using Mono.Linker;
using Mono.Linker.Steps;
@@ -38,6 +39,8 @@ namespace Mono.Tuner {
public class AdjustVisibility : BaseStep {
+ static readonly object internalized_key = new object ();
+
protected override void ProcessAssembly (AssemblyDefinition assembly)
{
if (Annotations.GetAction (assembly) != AssemblyAction.Link)
@@ -46,13 +49,13 @@ namespace Mono.Tuner {
ProcessTypes (assembly.MainModule.Types);
}
- static void ProcessTypes (ICollection types)
+ void ProcessTypes (ICollection types)
{
foreach (TypeDefinition type in types)
ProcessType (type);
}
- static void ProcessType (TypeDefinition type)
+ void ProcessType (TypeDefinition type)
{
if (!IsPublic (type))
return;
@@ -66,7 +69,6 @@ namespace Mono.Tuner {
return;
ProcessFields (type.Fields);
- ProcessMethods (type.Constructors);
ProcessMethods (type.Methods);
}
@@ -75,7 +77,7 @@ namespace Mono.Tuner {
return type.DeclaringType == null ? type.IsPublic : type.IsNestedPublic;
}
- static void SetInternalVisibility (TypeDefinition type)
+ void SetInternalVisibility (TypeDefinition type)
{
type.Attributes &= ~TypeAttributes.VisibilityMask;
if (type.DeclaringType == null)
@@ -86,13 +88,13 @@ namespace Mono.Tuner {
MarkInternalized (type);
}
- static void ProcessMethods (ICollection methods)
+ void ProcessMethods (ICollection methods)
{
foreach (MethodDefinition method in methods)
ProcessMethod (method);
}
- static void ProcessMethod (MethodDefinition method)
+ void ProcessMethod (MethodDefinition method)
{
if (IsMarkedAsPublic (method))
return;
@@ -103,15 +105,15 @@ namespace Mono.Tuner {
SetProtectedAndInternalVisibility (method);
}
- static void SetInternalVisibility (MethodDefinition method)
+ void SetInternalVisibility (MethodDefinition method)
{
method.Attributes &= ~MethodAttributes.MemberAccessMask;
- method.Attributes |= MethodAttributes.Assem;
+ method.Attributes |= MethodAttributes.Assembly;
MarkInternalized (method);
}
- static void SetProtectedAndInternalVisibility (MethodDefinition method)
+ void SetProtectedAndInternalVisibility (MethodDefinition method)
{
method.Attributes &= ~MethodAttributes.MemberAccessMask;
method.Attributes |= MethodAttributes.FamANDAssem;
@@ -119,18 +121,18 @@ namespace Mono.Tuner {
MarkInternalized (method);
}
- static bool IsMarkedAsPublic (IAnnotationProvider provider)
+ bool IsMarkedAsPublic (IMetadataTokenProvider provider)
{
return Annotations.IsPublic (provider);
}
- static void ProcessFields (FieldDefinitionCollection fields)
+ void ProcessFields (IEnumerable<FieldDefinition> fields)
{
foreach (FieldDefinition field in fields)
ProcessField (field);
}
- static void ProcessField (FieldDefinition field)
+ void ProcessField (FieldDefinition field)
{
if (IsMarkedAsPublic (field))
return;
@@ -141,7 +143,7 @@ namespace Mono.Tuner {
SetProtectedAndInternalVisibility (field);
}
- static void SetInternalVisibility (FieldDefinition field)
+ void SetInternalVisibility (FieldDefinition field)
{
field.Attributes &= ~FieldAttributes.FieldAccessMask;
field.Attributes |= FieldAttributes.Assembly;
@@ -149,7 +151,7 @@ namespace Mono.Tuner {
MarkInternalized (field);
}
- static void SetProtectedAndInternalVisibility (FieldDefinition field)
+ void SetProtectedAndInternalVisibility (FieldDefinition field)
{
field.Attributes &= ~FieldAttributes.FieldAccessMask;
field.Attributes |= FieldAttributes.FamANDAssem;
@@ -157,9 +159,9 @@ namespace Mono.Tuner {
MarkInternalized (field);
}
- static void MarkInternalized (IAnnotationProvider provider)
+ void MarkInternalized (IMetadataTokenProvider provider)
{
- TunerAnnotations.Internalized (provider);
+ TunerAnnotations.Internalized (Context, provider);
}
}
}
diff --git a/mcs/tools/tuner/Mono.Tuner/CheckVisibility.cs b/mcs/tools/tuner/Mono.Tuner/CheckVisibility.cs
index ce9d2a91f54..144702556aa 100644
--- a/mcs/tools/tuner/Mono.Tuner/CheckVisibility.cs
+++ b/mcs/tools/tuner/Mono.Tuner/CheckVisibility.cs
@@ -81,7 +81,6 @@ namespace Mono.Tuner {
CheckInterfaces (type);
CheckFields (type);
- CheckConstructors (type);
CheckMethods (type);
}
@@ -114,10 +113,10 @@ namespace Mono.Tuner {
if (!IsInternalsVisibleToAttribute (attribute))
continue;
- if (attribute.ConstructorParameters.Count == 0)
+ if (attribute.ConstructorArguments.Count == 0)
continue;
- string signature = (string) attribute.ConstructorParameters [0];
+ string signature = (string) attribute.ConstructorArguments [0].Value;
if (InternalsVisibleToSignatureMatch (signature, candidate.Name))
return true;
@@ -162,7 +161,7 @@ namespace Mono.Tuner {
if (reference == null)
return true;
- if (reference is GenericParameter || reference.GetOriginalType () is GenericParameter)
+ if (reference is GenericParameter || reference.GetElementType () is GenericParameter)
return true;
TypeDefinition other = reference.Resolve ();
@@ -298,11 +297,6 @@ namespace Mono.Tuner {
}
}
- void CheckConstructors (TypeDefinition type)
- {
- CheckMethods (type, type.Constructors);
- }
-
void CheckMethods (TypeDefinition type)
{
CheckMethods (type, type.Methods);
@@ -311,15 +305,15 @@ namespace Mono.Tuner {
void CheckMethods (TypeDefinition type, ICollection methods)
{
foreach (MethodDefinition method in methods) {
- if (!IsVisibleFrom (type, method.ReturnType.ReturnType)) {
+ if (!IsVisibleFrom (type, method.ReturnType)) {
ReportError ("Method return type `{0}` in method `{1}` is not visible",
- method.ReturnType.ReturnType, method);
+ method.ReturnType, method);
}
foreach (ParameterDefinition parameter in method.Parameters) {
if (!IsVisibleFrom (type, parameter.ParameterType)) {
ReportError ("Parameter `{0}` of type `{1}` in method `{2}` is not visible.",
- parameter.Sequence, parameter.ParameterType, method);
+ parameter.Index, parameter.ParameterType, method);
}
}
diff --git a/mcs/tools/tuner/Mono.Tuner/FilterAttributes.cs b/mcs/tools/tuner/Mono.Tuner/FilterAttributes.cs
index d06fd354b49..19a334a5ccb 100644
--- a/mcs/tools/tuner/Mono.Tuner/FilterAttributes.cs
+++ b/mcs/tools/tuner/Mono.Tuner/FilterAttributes.cs
@@ -77,9 +77,6 @@ namespace Mono.Tuner {
if (type.HasMethods)
ProcessMethods (type.Methods);
- if (type.HasConstructors)
- ProcessMethods (type.Constructors);
-
if (type.HasEvents)
ProcessEvents (type.Events);
@@ -105,7 +102,7 @@ namespace Mono.Tuner {
{
ProcessGenericParameters (method);
- Filter (method.ReturnType);
+ Filter (method.MethodReturnType);
if (method.HasParameters)
ProcessParameters (method.Parameters);
diff --git a/mcs/tools/tuner/Mono.Tuner/InjectSecurityAttributes.cs b/mcs/tools/tuner/Mono.Tuner/InjectSecurityAttributes.cs
index 0d4bac44e1e..e3edf0d5fa2 100644
--- a/mcs/tools/tuner/Mono.Tuner/InjectSecurityAttributes.cs
+++ b/mcs/tools/tuner/Mono.Tuner/InjectSecurityAttributes.cs
@@ -29,6 +29,7 @@
using System;
using System.Collections;
using System.IO;
+using System.Linq;
using System.Text;
using Mono.Linker;
@@ -101,17 +102,13 @@ namespace Mono.Tuner {
foreach (TypeDefinition type in _assembly.MainModule.Types) {
RemoveSecurityAttributes (type);
- if (type.HasConstructors)
- foreach (MethodDefinition ctor in type.Constructors)
- RemoveSecurityAttributes (ctor);
-
if (type.HasMethods)
foreach (MethodDefinition method in type.Methods)
RemoveSecurityAttributes (method);
}
}
- static void RemoveSecurityDeclarations (IHasSecurity provider)
+ static void RemoveSecurityDeclarations (ISecurityDeclarationProvider provider)
{
// also remove already existing CAS security declarations
@@ -126,12 +123,12 @@ namespace Mono.Tuner {
static void RemoveSecurityAttributes (ICustomAttributeProvider provider)
{
- RemoveSecurityDeclarations (provider as IHasSecurity);
+ RemoveSecurityDeclarations (provider as ISecurityDeclarationProvider);
if (!provider.HasCustomAttributes)
return;
- CustomAttributeCollection attributes = provider.CustomAttributes;
+ var attributes = provider.CustomAttributes;
for (int i = 0; i < attributes.Count; i++) {
CustomAttribute attribute = attributes [i];
switch (attribute.Constructor.DeclaringType.FullName) {
@@ -231,7 +228,7 @@ namespace Mono.Tuner {
if (HasSecurityAttribute (provider, type))
return;
- CustomAttributeCollection attributes = provider.CustomAttributes;
+ var attributes = provider.CustomAttributes;
switch (type) {
case AttributeType.Critical:
attributes.Add (CreateCriticalAttribute ());
@@ -279,7 +276,7 @@ namespace Mono.Tuner {
TypeDefinition GetType (string fullname)
{
- return _assembly.MainModule.Types [fullname];
+ return _assembly.MainModule.GetType (fullname);
}
MethodDefinition GetMethod (string signature)
@@ -306,9 +303,7 @@ namespace Mono.Tuner {
if (type == null)
return null;
- return method_name.StartsWith (".c") ?
- GetMethod (type.Constructors, signature) :
- GetMethod (type.Methods, signature);
+ return GetMethod (type.Methods, signature);
}
static MethodDefinition GetMethod (IEnumerable methods, string signature)
@@ -322,10 +317,13 @@ namespace Mono.Tuner {
static string GetFullName (MethodReference method)
{
- int sentinel = method.GetSentinel ();
+ var sentinel = method.Parameters.FirstOrDefault (p => p.ParameterType.IsSentinel);
+ var sentinel_pos = -1;
+ if (sentinel != null)
+ sentinel_pos = method.Parameters.IndexOf (sentinel);
StringBuilder sb = new StringBuilder ();
- sb.Append (method.ReturnType.ReturnType.FullName);
+ sb.Append (method.ReturnType.FullName);
sb.Append (" ");
sb.Append (method.DeclaringType.FullName);
sb.Append ("::");
@@ -345,7 +343,7 @@ namespace Mono.Tuner {
if (i > 0)
sb.Append (",");
- if (i == sentinel)
+ if (i == sentinel_pos)
sb.Append ("...,");
sb.Append (method.Parameters [i].ParameterType.FullName);
@@ -357,7 +355,7 @@ namespace Mono.Tuner {
static MethodDefinition GetDefaultConstructor (TypeDefinition type)
{
- foreach (MethodDefinition ctor in type.Constructors)
+ foreach (MethodDefinition ctor in type.Methods.Where (m => m.IsConstructor))
if (ctor.Parameters.Count == 0)
return ctor;
@@ -372,7 +370,7 @@ namespace Mono.Tuner {
TypeDefinition safe_critical_type = Context.GetType (_safe_critical);
if (safe_critical_type == null)
throw new InvalidOperationException (String.Format ("{0} type not found", _safe_critical));
-
+
_safe_critical_ctor = GetDefaultConstructor (safe_critical_type);
return _safe_critical_ctor;
}
@@ -385,7 +383,7 @@ namespace Mono.Tuner {
TypeDefinition critical_type = Context.GetType (_critical);
if (critical_type == null)
throw new InvalidOperationException (String.Format ("{0} type not found", _critical));
-
+
_critical_ctor = GetDefaultConstructor (critical_type);
return _critical_ctor;
}
diff --git a/mcs/tools/tuner/Mono.Tuner/MoonlightA11yAssemblyStep.cs b/mcs/tools/tuner/Mono.Tuner/MoonlightA11yAssemblyStep.cs
index d48bafe3206..63a82b28dcb 100644
--- a/mcs/tools/tuner/Mono.Tuner/MoonlightA11yAssemblyStep.cs
+++ b/mcs/tools/tuner/Mono.Tuner/MoonlightA11yAssemblyStep.cs
@@ -38,7 +38,7 @@ using Mono.Cecil;
namespace Mono.Tuner {
public class MoonlightA11yAssemblyStep : MoonlightAssemblyStep {
-
+
protected override void CustomizePipeline (Pipeline pipeline)
{
pipeline.RemoveStep (typeof (LoadI18nAssemblies));
@@ -49,6 +49,6 @@ namespace Mono.Tuner {
pipeline.RemoveStep (typeof (RegenerateGuidStep));
pipeline.AddStepBefore (typeof (OutputStep), new MoonlightA11yProcessor ());
}
-
+
}
}
diff --git a/mcs/tools/tuner/Mono.Tuner/MoonlightA11yDescriptorGenerator.cs b/mcs/tools/tuner/Mono.Tuner/MoonlightA11yDescriptorGenerator.cs
index 01118798c98..17db23b2a8b 100644
--- a/mcs/tools/tuner/Mono.Tuner/MoonlightA11yDescriptorGenerator.cs
+++ b/mcs/tools/tuner/Mono.Tuner/MoonlightA11yDescriptorGenerator.cs
@@ -74,19 +74,19 @@ namespace Mono.Tuner {
if (types != null && types.Count > 0) {
writer.WriteStartElement("assembly");
writer.WriteAttributeString ("fullname", assembly.Name.Name);
-
+
foreach (TypeDefinition type in types.Keys) {
IList members = types [type];
if (members != null && members.Count > 0) {
writer.WriteStartElement("type");
writer.WriteAttributeString ("fullname", type.FullName);
- foreach (IAnnotationProvider member in members) {
+ foreach (IMetadataTokenProvider member in members) {
MethodDefinition method = member as MethodDefinition;
if (method != null) {
writer.WriteStartElement("method");
- writer.WriteAttributeString ("signature",
- method.ReturnType.ReturnType.FullName + " " +
+ writer.WriteAttributeString ("signature",
+ method.ReturnType.FullName + " " +
method.Name + GetMethodParams (method));
writer.WriteEndElement ();
continue;
@@ -102,11 +102,11 @@ namespace Mono.Tuner {
writer.WriteEndElement ();
}
}
-
+
writer.WriteEndElement ();
Console.WriteLine ();
}
-
+
}
protected override void EndProcess ()
@@ -149,16 +149,16 @@ namespace Mono.Tuner {
IList used_providers = FilterPublicMembers (ScanType (type));
if (used_providers.Count > 0)
members_used [type] = used_providers;
- else if (IsInternal (type, true) &&
+ else if (IsInternal (type, true) &&
Annotations.IsMarked (type))
throw new NotSupportedException (String.Format ("The type {0} is used while its API is not", type.ToString ()));
}
return members_used;
}
- static IList ScanType (TypeDefinition type)
+ IList ScanType (TypeDefinition type)
{
- return ExtractUsedProviders (type.Methods, type.Constructors, type.Fields);
+ return ExtractUsedProviders (type.Methods, type.Fields);
}
static IList FilterPublicMembers (IList members)
@@ -177,12 +177,12 @@ namespace Mono.Tuner {
{
if (master_infos.Length == 0)
throw new Exception ("No masterinfo files found in current directory");
-
+
foreach (string file in master_infos) {
if (file.EndsWith (name + ".info"))
return file;
}
-
+
return null;
}
@@ -198,12 +198,12 @@ namespace Mono.Tuner {
}
return String.Format (xpath_init, parent_type.Namespace, parent_type.Name) + xpath;
}
-
+
static bool IsInternal (MemberReference member, bool master_info)
{
TypeDefinition type = null;
string master_info_file = null;
-
+
if (member is TypeDefinition) {
type = member as TypeDefinition;
if (!master_info)
@@ -224,7 +224,7 @@ namespace Mono.Tuner {
MethodDefinition method = member as MethodDefinition;
FieldDefinition field = member as FieldDefinition;
-
+
if (field == null && method == null)
throw new System.NotSupportedException ("Members to scan should be methods or fields");
@@ -246,7 +246,7 @@ namespace Mono.Tuner {
name = field.Name;
else {
name = method.ToString ();
-
+
//lame, I know...
name = WackyOutArgs (WackyCommas (name.Substring (name.IndexOf ("::") + 2)
.Replace ("/", "+") // nested classes
@@ -258,7 +258,7 @@ namespace Mono.Tuner {
return !NodeExists (master_info_file, xpath_type + String.Format ("/properties/*/*/*[@name='{0}']", name));
}
-
+
//at some point I want to get rid of this method and ask cecil's maintainer to spew commas in a uniform way...
static string WackyCommas (string method)
{
@@ -310,14 +310,14 @@ namespace Mono.Tuner {
return nav.SelectSingleNode (xpath) != null;
}
- static IList /*List<IAnnotationProvider>*/ ExtractUsedProviders (params IList[] members)
+ IList /*List<IAnnotationProvider>*/ ExtractUsedProviders (params IList[] members)
{
IList used = new ArrayList ();
if (members == null || members.Length == 0)
return used;
foreach (IList members_list in members)
- foreach (IAnnotationProvider provider in members_list)
+ foreach (IMetadataTokenProvider provider in members_list)
if (Annotations.IsMarked (provider))
used.Add (provider);
diff --git a/mcs/tools/tuner/Mono.Tuner/MoonlightA11yProcessor.cs b/mcs/tools/tuner/Mono.Tuner/MoonlightA11yProcessor.cs
index ad7fe396548..d8d9e54bea8 100644
--- a/mcs/tools/tuner/Mono.Tuner/MoonlightA11yProcessor.cs
+++ b/mcs/tools/tuner/Mono.Tuner/MoonlightA11yProcessor.cs
@@ -28,20 +28,21 @@
using System;
+using System.Linq;
using Mono.Cecil;
using Mono.Linker;
namespace Mono.Tuner {
-
+
public class MoonlightA11yProcessor : InjectSecurityAttributes {
-
+
protected override bool ConditionToProcess ()
{
return true;
}
-
+
protected override void ProcessAssembly (AssemblyDefinition assembly)
{
if (Annotations.GetAction (assembly) != AssemblyAction.Link)
@@ -54,45 +55,45 @@ namespace Mono.Tuner {
// add [SecurityCritical]
AddSecurityAttributes ();
-
+
// convert all public members into internal
MakeApiInternal ();
}
-
+
void MakeApiInternal ()
{
foreach (TypeDefinition type in _assembly.MainModule.Types) {
if (type.IsPublic)
type.IsPublic = false;
- if (type.HasConstructors && !type.Name.EndsWith ("Adapter"))
- foreach (MethodDefinition ctor in type.Constructors)
+ if (type.HasMethods && !type.Name.EndsWith ("Adapter"))
+ foreach (MethodDefinition ctor in type.Methods.Where (m => m.IsConstructor))
if (ctor.IsPublic)
ctor.IsAssembly = true;
if (type.HasMethods)
- foreach (MethodDefinition method in type.Methods)
+ foreach (MethodDefinition method in type.Methods.Where (m => !m.IsConstructor))
if (method.IsPublic)
method.IsAssembly = true;
}
}
-
+
void AddSecurityAttributes ()
{
foreach (TypeDefinition type in _assembly.MainModule.Types) {
AddCriticalAttribute (type);
- if (type.HasConstructors)
- foreach (MethodDefinition ctor in type.Constructors)
+ if (type.HasMethods)
+ foreach (MethodDefinition ctor in type.Methods.Where (m => m.IsConstructor))
AddCriticalAttribute (ctor);
if (type.HasMethods)
- foreach (MethodDefinition method in type.Methods) {
+ foreach (MethodDefinition method in type.Methods.Where (m => !m.IsConstructor)) {
MethodDefinition parent = null;
-
+
//TODO: take in account generic params
if (!method.HasGenericParameters) {
-
+
/*
* we need to scan base methods because the CoreCLR complains about SC attribs added
* to overriden methods whose base (virtual or interface) method is not marked as SC
@@ -112,16 +113,16 @@ namespace Mono.Tuner {
AddCriticalAttribute (method);
}
-
+
}
}
-
+
MethodDefinition GetBaseMethod (TypeDefinition finalType, MethodDefinition final)
{
// both GetOverridenMethod and GetInterfaceMethod return null if there is no base method
return GetOverridenMethod (finalType, final) ?? GetInterfaceMethod (finalType, final);
}
-
+
//note: will not return abstract methods
MethodDefinition GetOverridenMethod (TypeDefinition finalType, MethodDefinition final)
{
@@ -130,11 +131,11 @@ namespace Mono.Tuner {
foreach (MethodDefinition method in baseType.Resolve ().Methods) {
if (!method.IsVirtual || method.Name != final.Name)
continue;
-
+
//TODO: should we discard them?
if (method.IsAbstract)
continue;
-
+
if (HasSameSignature (method, final))
return method;
}
@@ -142,7 +143,7 @@ namespace Mono.Tuner {
}
return null;
}
-
+
MethodDefinition GetInterfaceMethod (TypeDefinition finalType, MethodDefinition final)
{
TypeDefinition baseType = finalType;
@@ -157,12 +158,12 @@ namespace Mono.Tuner {
}
return null;
}
-
+
bool HasSameSignature (MethodDefinition method1, MethodDefinition method2)
{
- if (method1.ReturnType.ReturnType.FullName != method2.ReturnType.ReturnType.FullName)
+ if (method1.ReturnType.FullName != method2.ReturnType.FullName)
return false;
-
+
if (method1.Parameters.Count != method2.Parameters.Count)
return false;
@@ -171,7 +172,7 @@ namespace Mono.Tuner {
method2.Parameters [i].ParameterType.FullName)
return false;
}
-
+
return true;
}
}
diff --git a/mcs/tools/tuner/Mono.Tuner/MoonlightAssemblyStep.cs b/mcs/tools/tuner/Mono.Tuner/MoonlightAssemblyStep.cs
index cba710b88bd..fc98536f52f 100644
--- a/mcs/tools/tuner/Mono.Tuner/MoonlightAssemblyStep.cs
+++ b/mcs/tools/tuner/Mono.Tuner/MoonlightAssemblyStep.cs
@@ -42,13 +42,13 @@ namespace Mono.Tuner {
public void Process (LinkContext context)
{
CustomizePipeline (context.Pipeline);
- ProcessAssemblies (context.GetAssemblies ());
+ ProcessAssemblies (context);
}
- static void ProcessAssemblies (AssemblyDefinition [] assemblies)
+ static void ProcessAssemblies (LinkContext context)
{
- foreach (AssemblyDefinition assembly in assemblies)
- Annotations.SetAction (assembly, AssemblyAction.Link);
+ foreach (AssemblyDefinition assembly in context.GetAssemblies ())
+ context.Annotations.SetAction (assembly, AssemblyAction.Link);
}
protected virtual void CustomizePipeline (Pipeline pipeline)
diff --git a/mcs/tools/tuner/Mono.Tuner/PrintStatus.cs b/mcs/tools/tuner/Mono.Tuner/PrintStatus.cs
index 9380e578dee..374395bac8a 100644
--- a/mcs/tools/tuner/Mono.Tuner/PrintStatus.cs
+++ b/mcs/tools/tuner/Mono.Tuner/PrintStatus.cs
@@ -45,7 +45,7 @@ namespace Mono.Tuner {
if (Annotations.GetAction (assembly) != AssemblyAction.Link)
return;
- Console.WriteLine ("Assembly `{0}' ({1}) tuned", assembly.Name, assembly.MainModule.Image.FileInformation);
+ Console.WriteLine ("Assembly `{0}' ({1}) tuned", assembly.Name, assembly.MainModule.FullyQualifiedName);
if (!DisplayInternalized ())
return;
@@ -63,22 +63,21 @@ namespace Mono.Tuner {
}
}
- static void ProcessType (TypeDefinition type)
+ void ProcessType (TypeDefinition type)
{
ProcessCollection (type.Fields);
- ProcessCollection (type.Constructors);
ProcessCollection (type.Methods);
}
- static void ProcessCollection (ICollection collection)
+ void ProcessCollection (ICollection collection)
{
- foreach (IAnnotationProvider provider in collection)
+ foreach (IMetadataTokenProvider provider in collection)
ProcessProvider (provider);
}
- static void ProcessProvider (IAnnotationProvider provider)
+ void ProcessProvider (IMetadataTokenProvider provider)
{
- if (!TunerAnnotations.IsInternalized (provider))
+ if (!TunerAnnotations.IsInternalized (Context, provider))
return;
Console.WriteLine ("[internalized] {0}", provider);
diff --git a/mcs/tools/tuner/Mono.Tuner/RemoveSerialization.cs b/mcs/tools/tuner/Mono.Tuner/RemoveSerialization.cs
index 13fcc454843..1266c9d31a2 100644
--- a/mcs/tools/tuner/Mono.Tuner/RemoveSerialization.cs
+++ b/mcs/tools/tuner/Mono.Tuner/RemoveSerialization.cs
@@ -54,7 +54,7 @@ namespace Mono.Tuner {
protected override void ProcessAssembly (AssemblyDefinition assembly)
{
- if (assembly.Name.Name == Constants.Corlib)
+ if (assembly.Name.Name == "mscorlib")
return;
if (Annotations.GetAction (assembly) != AssemblyAction.Link)
@@ -86,11 +86,11 @@ namespace Mono.Tuner {
RemoveSerializableFlag (type);
RemoveInterface (type, _ISerializable);
- RemoveConstructor (type, _SerializationInfo, _StreamingContext);
+ RemoveMethod (type, ".ctor", _SerializationInfo, _StreamingContext);
RemoveInterfaceMethod (type, _ISerializable, _GetObjectData, _SerializationInfo, _StreamingContext);
RemoveInterface (type, _IDeserializationCallback);
- RemoveInterfaceMethod (type, _IDeserializationCallback, _OnDeserialization, Constants.Object);
+ RemoveInterfaceMethod (type, _IDeserializationCallback, _OnDeserialization, "System.Object");
RemoveField (type);
}
@@ -128,11 +128,6 @@ namespace Mono.Tuner {
RemoveMethod (type.Methods, name, parameters);
}
- static void RemoveConstructor (TypeDefinition type, params string [] parameters)
- {
- RemoveMethod (type.Constructors, MethodDefinition.Ctor, parameters);
- }
-
static void RemoveMethod (IList container, string name, params string [] parameters)
{
for (int i = 0; i < container.Count; i++) {
diff --git a/mcs/tools/tuner/Mono.Tuner/TunerAnnotations.cs b/mcs/tools/tuner/Mono.Tuner/TunerAnnotations.cs
index 8271fa6e1ae..2107ac4a0f5 100644
--- a/mcs/tools/tuner/Mono.Tuner/TunerAnnotations.cs
+++ b/mcs/tools/tuner/Mono.Tuner/TunerAnnotations.cs
@@ -27,6 +27,7 @@
//
using Mono.Cecil;
+using Mono.Linker;
namespace Mono.Tuner {
@@ -34,14 +35,17 @@ namespace Mono.Tuner {
static readonly object _internalizedKey = new object ();
- public static void Internalized (IAnnotationProvider provider)
+ public static void Internalized (LinkContext context, IMetadataTokenProvider provider)
{
- provider.Annotations [_internalizedKey] = _internalizedKey;
+ var annotations = context.Annotations.GetCustomAnnotations (_internalizedKey);
+ annotations [provider] = _internalizedKey;
}
- public static bool IsInternalized (IAnnotationProvider provider)
+ public static bool IsInternalized (LinkContext context, IMetadataTokenProvider provider)
{
- return provider.Annotations.Contains (_internalizedKey);
+ var annotations = context.Annotations.GetCustomAnnotations (_internalizedKey);
+
+ return annotations.ContainsKey (provider);
}
private TunerAnnotations ()