2008-01-10 Jb Evain * Mono.Cecil/ReflectionHelper.cs: deal with complex arrays. 2008-01-07 Jb Evain * 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 * Mono.Cecil/ArrayType.cs: Add a constructor with the array rank. Fix #351924. Based on a patch by Rolf Kvinge . 2008-01-04 Jb Evain * 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 * Mono.Cecil/DefaultImporter.cs: Mono.Cecil/ReflectionHelper.cs: Properly import nested types. Fix #351133. 2008-01-03 Jb Evain * Mono.Cecil/ReflectionWriter.cs: Properly emit null type constants. Fix #351141. Patch by Rolf Kvinge . 2007-12-30 Jb Evain * Mono.Cecil.Cil/CilWorker.cs: Check for null arguments. Fix #350857. 2007-12-21 Jb Evain * 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 * Mono.Cecil/IMemberDefinition.cs: make IMemberDefinition implement ICustomAttributeProvider. 2007-12-15 Jb Evain * Mono.Cecil.Binary/AggressiveReflectionReader.cs: protect against zeroed tokens. 2007-12-15 Jb Evain * Mono.Cecil.Binary/ImageReader.cs: fix crash when reading some non .net binaries. 2007-11-22 Sebastien Pouliot * 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 * Mono.Cecil.Cil/MethodBody.cs: Fixed Optimize for ldc_i4 2007-11-15 Rodrigo B. de Oliveira * 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 * Mono.Cecil/MethodReturnType.cs: based on a patch by Ivan . Fix for cloning methods with marshalers on return type. 2007-10-31 Jb Evain * Mono.Cecil.Binary/ImageReader.cs: fix for the case where the export table export zero functions. 2007-10-18 Jb Evain * 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 * 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 * mono-cecil.pc.in: Updated the version number. 2007-10-09 Jb Evain * Mono.Cecil.Cil/Instruction.cs Mono.Cecil.Cil/CodeWriter.cs: Move CodeWriter.GetSize (Instruction) to Instruction. Integration of patches from Carlo Kok : * 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 * Mono.Cecil/ReflectionWriter.cs: check for duplicates in the MemberRef row. 2007-10-08 Sebastien Pouliot * 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 * Mono.Cecil/BaseAssemblyResolver.cs: first lookup assemblies in the specified directories before trying the framework dir. 2007-10-06 Jb Evain * 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 * Mono.Cecil/MethodCallingConvention.cs: Not a [Flag] 2007-10-05 Jb Evain * Mono.Cecil.Cil/OpCode.cs: Change OpCode from struct to class to avoid copying everything everytime. 2007-09-28 Jb Evain * Mono.Cecil/SecurityDeclarationReader.cs: Adapt patch from Carlo Kok . Properly read unicode string constants. * Mono.Cecil/SecurityDeclarationReader.cs: Adapt patch from Carlo Kok . For some MS assemblies, the security declaration contains one zero byte. 2007-09-24 Jb Evain * Mono.Cecil/ModuleDefinition.cs: after a FullLoad, the symbol reader is not needed anymore. 2007-09-18 Jb Evain * Mono.Cecil.Cil/MethodBody.cs: Adapt a patch from Ivan . Fix cloning of the This parameter. 2007-09-12 Jb Evain * 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 * Mono.Cecil.Binary/ImageReader.cs: some 64bits assemblies have a strange header without import tables. 2007-09-09 Jb Evain * 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 * Mono.Cecil/MethodDefinition: add Is** methods for MethodImplAttributes. 2007-09-04 Jb Evain * Mono.Cecil/ReflectionWriter.cs: Adapt a patch by Ewout Prangsma . Cache the typespec tokens instead of the typespec themselves because GenericParameters are somethimes considered as typespecs. 2007-08-28 Jb Evain * 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 * Mono.Cecil.Cil/CodeReader.cs: Deal with generic exceptions. 2007-08-15 Jb Evain * 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 * 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 * 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 * Mono.Cecil.Cil/CilWorker.cs: Fix InsertBefore. 2007-08-06 Jb Evain * Mono.Cecil.Cil/CilWorker.cs: Fix the linked list after an InsertBefore, InsertAfter. 2007-08-02 Jb Evain * 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 Fix 'make warnings'. * Makefile (LIBRARY_PACKAGE): Set to none. (install-local): Remove. 2007-07-21 Jb Evain * 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 * Mono.Cecil/AssemblyFactory.cs Mono.Cecil.Binary/Image.cs: Update the fileinfo after writing an assembly to a file. 2007-07-19 Jb Evain * 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 * 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 * 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 * 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 * Mono.Cecil/BaseAssemblyResolver.cs: Expose a way to add default directories where the assemblies are first looked for. 2007-06-20 Jb Evain * 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 * 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 * Mono.Cecil/ReflectionReader.cs: Fix custom mods for fields ref. 2007-06-13 Jb Evain Integrated patches by: Paul Apostolescu * 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 * Mono.Cecil/StructureWriter.cs, Mono.Cecil/ReflectionWriter.cs: Revert the on demand creation of memberref. 2007-06-12 Jb Evain * 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 * Mono.Cecil/AssemblyNameReference.cs: Cache the fullname when possible. 2007-05-31 Jb Evain * 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 * 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 * Borrow annotations concept from boo ast node. Should be useful for the linker. 2007-05-23 Jb Evain * Mono.Cecil/StructureWriter.cs Mono.Cecil/ReflectionWriter.cs Mono.Cecil.Cil/CodeWriter.cs: Emit MemberReferences rows on demand. 2007-05-16 Jb Evain * 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 * 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 . 2007-04-27 Jb Evain * Mono.Cecil/AssemblyNameReference.cs: Allow the computation of pktoken on CF_2_0. 2007-04-25 Jb Evain * 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 * Mono.Cecil/ParameterAttributes.cs: ParameterAttributes.None 2007-03-30 Jb Evain * Collections: Remove uneeded tests as an optimizations. Based on a suggestion by Carlo Kok . * Mono.Cecil.Metadata/StringsHeap.cs: Optimize GetStringAt, patch by: Carlo Kok 2007-03-22 Jb Evain * 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 * Mono.Cecil.Metadata/MetadataWriter.cs: Correct epilog for unicode user strings heap. 2007-03-16 Jb Evain * 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 * Mono.Cecil.Metadata/UserStringsHeap.cs: Avoid trailing blank on some systems. 2007-02-22 Jb Evain * Mono.Cecil/ReflectionWriter.cs: Deal with sentinels on simple methodrefs. 2007-02-22 Jb Evain * 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 * Mono.Cecil/Constants.cs: Make it public due to some demands. 2007-02-21 Jb Evain * 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 2007-01-29 Jb Evain * Mono.Cecil.Metadata/MetadataWriter.cs: Save a byte ! Yeah ! 2006-12-18 Jb Evain * Mono.Cecil/ReflectionReader.cs: Fix a bug in reading MemberRef pointing to MethodDef. 2006-12-16 Jb Evain * 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 * Mono.Cecil/ReflectionWriter.cs: Allow an AssemblyDefinition to be written more than once. 2006-12-05 Jb Evain * Mono.Cecil/ReflectionWriter.cs: Deal with nullref default parameters. 2006-12-03 Jb Evain * Mono.Cecil/ReflectionWriter.cs: Handle constant where the parameter is object and the signature is something else. 2006-11-27 Jb Evain * 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 . 2006-11-25 Jb Evain * 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 . * 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 * Mono.Cecil.Cil/GuidAttribute.cs: Fix for CF compilation. 2006-11-16 Jb Evain * Mono.Cecil/StructureReader.cs: If an assembly has no managed assembly defined, consider it as a dll. 2006-11-08 Jb Evain * Mono.Cecil/BaseAssemblyResolver.cs: Handles different kind of GAC on Windows. 2006-11-07 Jb Evain * Mono.Cecil/ReflectionHelper.cs: Don't import the flags of an assembly name reference. 2006-11-03 Jb Evain * Mono.Cecil/PropertyDefinition.cs: Fix property cloning. Patch by Alex Prudkiy 2006-10-26 Jb Evain * Mono.Cecil/ReflectionReader.cs: Use the proper generic context when reading memberrefs. 2006-10-11 Jb Evain * 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 * Mono.Cecil/ReflectionReader.cs: Mono.Cecil/CustomAttribute.cs: Mono.Cecil.Signatures/SignatureReader.cs: Mono.Cecil/SecurityDeclarationReader.cs: Patch from: Eyal Alaluf . Add support for resolving custom attributes that contain references to enum in other assemblies. 2006-10-09 Jb Evain * 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 * 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 * Mono.Cecil/BaseAssemblyResolver.cs Mono.Cecil.Binary/ResourceReader.cs: CompactFramework fix. 2006-10-02 Jb Evain * 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 * Mono.Cecil/MethodDefinitionCollection.cs Mono.Cecil/ConstructorCollection.cs Mono.Cecil.Cil/InstructionCollection.cs CodeGen/templates/IndexedCollection.cs Fix StackOverlow. 2006-09-27 Jb Evain * *Collection.cs: use CollectionBase when possible. 2006-09-24 Jb Evain * 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 * 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 * 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 * 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 * /!\ 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 * Mono.Cecil/ReflectionReader.cs: Fix a bug when reading some parameters. 2006-08-26 Jb Evain * 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 * Mono.Cecil/AssemblyInfo.cs: Cecil 0.4.3 release. 2006-08-21 Jb Evain * 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 * 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 * 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 2006-08-15 Jb Evain * 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 * 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 * CodeGen/templates/ImageReader.cs Mono.Cecil.Binary/ImageReader.cs: CompactFramework compatibility. 2006-07-02 Rodrigo B. de Oliveira * 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 * Mono.Cecil.Cil/CilWorker.cs: Fix ldc.i4.s emitting. 2006-06-13 Jb Evain * 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 * Mono.Cecil/IMethod.cs Mono.Cecil/MethodDefinition.cs Mono.Cecil/ReflectionWriter.cs: Add a public HasBody property. 2006-06-07 Jb Evain * Mono.Cecil/MethodDefinition.cs Mono.Cecil/ReflectionWriter.cs: Read and write method bodies only when allowed. 2006-05-29 Jb Evain * Mono.Cecil/IMethodDefinition.cs Mono.Cecil/MethodDefinition.cs: Remove the useless CreateBody method. 2006-05-27 Jb Evain * 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 * Mono.Cecil.Cil/CilWorker.cs: Fix #78479. Patch by David Emsellem. 2006-05-20 Jb Evain * 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 * 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 * Mono.Cecil/AssemblyInfo.cs: Hide the info if Cecil is embedded. 2006-05-09 Jb Evain * cecil.build: rename to default.build 2006-05-08 Jb Evain * Makefile: Sign the assembly. * cecil.csproj: Add an msbuild file. 2006-05-05 Jb Evain * Mono.Cecil/AssemblyFactory.cs Mono.Cecil/StructureReader.cs Mono.Cecil/ModuleDefinition.cs: Add an AssemblyFactory.GetAssemblyManifest method. 2006-05-04 Jb Evain * Mono.Cecil/TableComparers.cs: TypeDef.Compare: the name is enough against . * Mono.Cecil/ReflectionWriter.cs: Fix writing of namedargs in custom attributes. 2006-04-26 Jb Evain * Mono.Cecil.Signatures/SignatureReader.cs: Don't create tons of hashtables. 2006-04-24 Jb Evain * Mono.Cecil.Cil/MethodBody.cs: Fix cloning. 2006-04-21 Jb Evain * Mono.Cecil/AssemblyFactory.cs Mono.Cecil.Binary/MemoryBinaryWriter.cs: Use MemoryStream::WriteTo when it's possible. 2006-04-21 Rodrigo B. de Oliveira * 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 * *Collection.cs: Fix typo in RemoveAt. 2006-04-20 Jb Evain * Mono.Cecil/ReflectionWriter.cs: Fix writing of complex arrays. Now we roundtrip SharpDevelop. * Mono.Cecil/ReflectionWriter.cs Mono.Cecil/TableComparers.cs: Ensure will always be the first type. Fix roundtrip of Nemerle. 2006-04-19 Jb Evain * 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 * Mono.Cecil/CustomAttribute.cs: Fix handling of types. 2006-04-11 Jb Evain * 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 * 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 * 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 * Mono.Cecil/ReflectionWriter.cs: Ensure the param[0] is written when it should be. 2006-04-04 Jb Evain * 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 * 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 * 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 * Mono.Cecil/AssemblyFlags.cs: Add a Retargetable flag used on the CF. 2006-03-30 Jb Evain * 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 * 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 * 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 * 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 * Mono.Cecil.Metadata/MetadataWriter.cs: Use CompactFramework compatible version of System.Convert.ToBase64String. 2006-03-27 Jb Evain * 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 * 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 * 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 * 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 * 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 * 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 * Mono.Cecil.Metadata/MetadataReader.cs: #Strings heap is utf8, fix #77820. 2006-03-08 Jb Evain * 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 2006-03-07 Jb Evain * 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 * Mono.Cecil.Signatures/SignatureReader.cs: Fix array reading in custom attributes. 2006-03-06 Joshua Tauberer * Mono.Cecil/TypeAttributes.cs: Fixed typo in value for Abstract. 2006-02-27 Jb Evain * 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 * Mono.Cecil.Signatures/SignatureWriter.cs: Fix a bug when a value is null in a custom attribute. 2006-02-20 Sebastien Pouliot * Mono.Cecil.Metadata/MetadataWriter.cs: Fix GetStrongNameSignatureSize to handle the ECMA pseudo-key. 2006-02-07 Jb Evain * Mono.Cecil/AssemblyInfos.cs: Tag this version 0.3, as users are happy with it. 2006-01-26 Jb Evain * 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 * 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 * 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 * Mono.Cecil/AssemblyName.cs: Fix computation of public key token. 2006-01-18 Jb Evain * 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 * Mono.Cecil/ArrayType.cs Mono.Cecil/ArrayDimension.cs Mono.Cecil/ReflectionWriter.cs: End arrays support. 2006-01-03 Jb Evain * Mono.Cecil/GenericParameter.cs Mono.Cecil/ReflectionHelper.cs Mono.Cecil/ReflectionReader.cs Mono.Cecil/GenericContext.cs: Work on generics. 2005-12-31 Jb Evain * Mono.Cecil/ReflectionHelper.cs: Fix import of type specs. 2005-12-30 Jb Evain * 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 * 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 * 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 * 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 * 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 * 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 * 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 * Mono.Cecil.Metadata/MetadataWriter.cs: Set the correct version for .net 2 assemblies. Correctly write embedded resources. Fix #76963. 2005-12-03 Jb Evain * 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 * Mono.Cecil/TypeDefinition.cs: Fix interface import. Patch by Thomas Gil. 2005-11-24 Jb Evain * 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 * Mono.Cecil/IGenericArgumentProvider.cs Style. * CodeGen/cecil.xml: Mirror Martin's change in the codegen engine. 2005-11-23 Martin Baulig 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 * 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 * 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 * 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 * 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 * 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 * Mono.Cecil/GenericInstanceType.cs Mono.Cecil/TypeReference.cs: Fix a regression with 2.0 assemblies. 2005-11-03 Jb Evain * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 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 * 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 * 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 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 * Mono.Cecil/ReflectionHelper.cs Mono.Cecil/ModuleDefinition.cs: Fix a bug in type importing. 2005-10-06 Jb Evain * 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 * 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 * 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 * Mono.Cecil.Implem/Instruction.cs: Add the setter for IInstruction::OpCode. 2005-09-02 Jb Evain * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 2005-08-13 Jb Evain * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * Makefile (MCS): Allow compiler to be overriden. 2005-07-21 Todd Berman * 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 * 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 * 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 * Mono.Cecil.Implem/VariableDefinition.cs: set the index field 2005-07-13 Jb Evain * 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 * 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 * Every generated files: use \n instead of \r\n 2005-07-07 Jb Evain * *.*: 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 * 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 * 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 * Mono.Cecil.Implem/ReflectionReader.cs: style * Mono.Cecil.Implem/LazyReflectionReader.cs: read the last property as well. 2005-06-21 Jb Evain * 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 * Mono.Cecil.Implem/TypeDefinition.cs: Set the declaring type to this when defining a nested type. 2005-06-07 Jb Evain * 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 * ChangeLog: Cecil has now ChangeLogs. Let use them.