GenericParameter.cs: override Module properly
[mcs.git] / class / Mono.Cecil / ChangeLog
blob98e3786d0e544157f5cd5af74c8fe530e1dddb32
1 2010-04-11  Jb Evain  <jbevain@novell.com>
3         * Mono.Cecil/GenericParameter.cs: override Module properly.
5 2010-03-29  Jb Evain  <jbevain@novell.com>
7         * Mono.Cecil/AssemblyStripper.cs: optimize.
9 2010-02-13  Jb Evain  <jbevain@novell.com>
11         * Mono.Cecil/ReflectionReader.cs: don't cache everything
12         that is context dependent.
13         Based on a patch by Frank Laub  <frank.laub@gmail.com>
15 2010-02-13  Jb Evain  <jbevain@novell.com>
17         * Mono.Cecil/MethodReturnType.cs: avoid creating an
18         inner parameter if not necessary.
20 2010-02-13  Jb Evain  <jbevain@novell.com>
22         * TypeAttributes.cs: add Forwarder flag.
24 2010-02-12  Jb Evain  <jbevain@novell.com>
26         * AssemblyStripper.cs: properly set the rva of methods with
27         no body.
29 2010-01-06      Rodrigo B. de Oliveira <rodrigo@unity.com>
31         * Mono.Cecil.csproj
32           Mono.Cecil/NameObjectCollectionBase.cs
33           Mono.Cecil/BaseAssemblyResolver.cs
34           Mono.Cecil/DefaultAssemblyResolver.cs:
35                 support for compiling Mono.Cecil without
36                 any references to System.dll using the newly introduced
37                 "Debug - No System.dll" configuration in Mono.Cecil.csproj;
39 2009-12-14  Sebastien Pouliot  <sebastien at ximian.com>
41         * Mono.Cecil/BaseAssemblyResolver.cs: Update to .net fx 4 beta2
42         version number and reduce code duplication.
44 2009-10-25  Jb Evain  <jbevain@novell.com>
46         * Mono.Cecil/BaseAssemblyResolver.cs
47           Mono.Cecil/StructureReader.cs
48           Mono.Cecil.Metadata/MetadataWriter.cs:
49                 update .net 4.0 version to beta 2.
51 2009-08-18  Michael Hutchinson  <mhutchinson@novell.com>
53         * Mono.Cecil/BaseAssemblyResolver.cs: Search GACs specified in the
54           MONO_GAC_PREFIX environment variable.
56 2009-08-06  Jb Evain  <jbevain@novell.com>
58         * Mono.Cecil/BaseAssemblyResolver.cs:
59         Do not crash when the GAC folder can't be found.
61 2009-07-28  Jb Evain  <jbevain@novell.com>
63         * Mono.Cecil/AssemblyStripper.cs: Make all methods share
64         the same body.
66 2009-07-16  Jb Evain  <jbevain@novell.com>
68         * Mono.Cecil/AssemblyFactory.cs
69         * Mono.Cecil.Metadata/MetadataWriter.cs
70         * Mono.Cecil.Binary/ImageWriter.cs:
71                 Support for properly writing 4.0 dlls.
72                 Patch by Carlo Kok  <ck@remobjects.com>.
74 2009-06-05  Jb Evain  <jbevain@novell.com>
76         * Mono.Cecil/BaseAssemblyResolver.cs: properly look for the 4.0 corlib
77         when running on Mono.
79 2009-06-03  Jb Evain  <jbevain@novell.com>
81         * Mono.Cecil/MetadataResolver.cs: add support for resolving from
82         a ModuleReference.
84 2009-06-03  Jb Evain  <jbevain@novell.com>
86         * Mono.Cecil/BaseAssemblyResolver.cs: look for 4.0.0.0 assemblies.
88 2009-05-21  Jb Evain  <jbevain@novell.com>
90         * Mono.Cecil/ReflectionReader.cs: add support for type forwarders.
92 2009-05-19  Jb Evain  <jbevain@novell.com>
94         * Mono.Cecil/TargetRuntime.cs
95         * Mono.Cecil/StructureReader.cs
96         * Mono.Cecil.Metadata/MetadataWriter.cs:
97                 add support for .net 4.0 detection.
99 2009-04-30  Jb Evain  <jbevain@novell.com>
101         * Mono.Cecil.Signatures/SignatureReader.cs: fix reading out extra mods.
103 2009-04-21  Jb Evain  <jbevain@novell.com>
105         * Mono.Cecil.Cil/SymbolStoreHelper.cs: look for the assembly in the GAC
106         as well if it's not local.
108 2009-04-03  Jb Evain  <jbevain@novell.com>
110         * Mono.Cecil.Metadata/BlobHeap.cs
111         * Mono.Cecil.Metadata/MetadataWriter.cs:
112                 do a better job at emitting a blob heap.
114 2009-04-01  Jb Evain  <jbevain@novell.com>
116         * Mono.Cecil/ModuleDefinition.cs (Import): add overloads
117         taking a MethodDefinition as a generic context.
119 2009-04-01  Jb Evain  <jbevain@novell.com>
121         * Mono.Cecil/ReflectionHelper.cs: throw proper exception
122         when importing in an invalid context.
124 2009-03-12  Jb Evain  <jbevain@novell.com>
126         * Mono.Cecil/AssemblyStripper.cs (PatchHeap): don't crash
127         if the assembly doesn't contain a specific metadata heap.
129 2009-03-04  Jb Evain  <jbevain@novell.com>
131         * Mono.Cecil/StructureWriter.cs: properly set the metadata tokens
132         of newly emitted modules and assemblies. Fix #480729.
134 2009-01-28  Jb Evain  <jbevain@novell.com>
136         * Mono.Cecil/MetadataResolver.cs:
137                 Add new MetadataResolver.
139         * Mono.Cecil/GenericParameter.cs
140           Mono.Cecil/FieldDefinition.cs
141           Mono.Cecil/TypeReference.cs
142           Mono.Cecil/GenericInstanceMethod.cs
143           Mono.Cecil/IMemberDefinition.cs
144           Mono.Cecil/TypeDefinition.cs
145           Mono.Cecil/PropertyReference.cs
146           Mono.Cecil/EventReference.cs
147           Mono.Cecil/MethodDefinition.cs
148           Mono.Cecil/EventDefinition.cs
149           Mono.Cecil/ModuleDefinition.cs
150           Mono.Cecil/MethodReference.cs
151           Mono.Cecil/FieldReference.cs
152           Mono.Cecil/ParameterDefinition.cs
153           Mono.Cecil/PropertyDefinition.cs
154           Mono.Cecil/ParameterReference.cs
155           Mono.Cecil.Cil/VariableReference.cs
156           Mono.Cecil.Cil/VariableDefinition.cs:
157                 Add Resolve to Definition methods on References.
159         * Mono.Cecil.dll.sources, Mono.Cecil.csproj: add MetadataResolver.cs
161 2009-01-05  Jb Evain  <jbevain@novell.com>
163         * Mono.Cecil/ReflectionHelper.cs
164         * Mono.Cecil/DefaultImporter.cs:
165                 Adjust references's generic parameter count on import.
167 2009-01-05  Sebastien Pouliot  <sebastien at ximian.com>
169         * CodeReader.cs: Do not call VisitVariableDefinitionCollection
170         unless LocalVarToken is different from zero.
171         * CodeWriter.cs: Use HasVariables and HasExceptionHandlers.
172         Write zero, not TokenType.Signature, for LocalVarToken if no
173         variable is defined. That should fix the problem with unsign
174         * Mono.Cecil.Cil/MethodBody.cs: Add HasExceptionHandlers,
175         HasVariables and HasScopes to avoid creating empty collections
176         inside Cecil. There is no HasInstruction because there's always
177         something if MethodDefinition.HasBody is true (i.e. a MethodBody
178         exists). [re-apply r1222198]
180 2008-12-29  Sebastien Pouliot  <sebastien@ximian.com>
182         * Mono.Cecil/MethodReturnType.cs: Override ToString so we can, by
183         default, display something useful about the return type.
185 2008-12-29  Sebastien Pouliot  <sebastien@ximian.com>
187         * Mono.Cecil/GenericInstanceMethod.cs,
188         * Mono.Cecil/GenericInstanceType.cs,
189         * Mono.Cecil/IGenericInstance.cs: Introduce HasGenericArguments into
190         the interface and implement it inside GenericInstance[Method|Type]
192 2008-12-16  Jb Evain  <jbevain@novell.com>
194         * Mono.Cecil.Signatures/SignatureReader.cs: fix reading of wrong
195         modifiers.
197 2008-12-01  Sebastien Pouliot  <sebastien@ximian.com>
199         * Mono.Cecil.Signatures/CustomAttrib.cs: Define reusable Empty
200         arrays for both FixedArg and NamedArg.
201         * Mono.Cecil.Signatures/SignatureReader.cs: Avoid creating empty
202         ParameterDefinitionCollection on constructors. Use the new Empty
203         arrays when possible.
205 2008-12-01  Sebastien Pouliot  <sebastien@ximian.com>
207         * Mono.Cecil/MethodReference.cs: Make HasParameters virtual
208         * Mono.Cecil/MethodSpecification.cs: Override HasParameters to make
209         sure we're tracking the same object as the Parameters property does.
210         * Mono.Cecil/PropertyDefinition.cs: Implement HasParameters based on
211         the GetMethod, SetMethod or its own parameter collection.
212         * Mono.Cecil/PropertyReference.cs: Add abstract HasParameters property
214 2008-11-27  Jb Evain  <jbevain@novell.com>
216         * Mono.Cecil/ExternTypeCollection.cs: don't attach types as they
217         are already attached to the current module.
219 2008-11-22  Sebastien Pouliot  <sebastien@ximian.com>
221         * Mono.Cecil/GenericParameter.cs,
222         * Mono.Cecil/ICustomAttributeProvider.cs,
223         * Mono.Cecil/CallSite.cs,
224         * Mono.Cecil/IMethodSignature.cs,
225         * Mono.Cecil/FunctionPointerType.cs,
226         * Mono.Cecil/FieldDefinition.cs,
227         * Mono.Cecil/TypeReference.cs,
228         * Mono.Cecil/GenericInstanceMethod.cs,
229         * Mono.Cecil/IHasSecurity.cs,
230         * Mono.Cecil/MethodReturnType.cs,
231         * Mono.Cecil/AssemblyDefinition.cs,
232         * Mono.Cecil/TypeDefinition.cs,
233         * Mono.Cecil/MethodDefinition.cs,
234         * Mono.Cecil/EventDefinition.cs,
235         * Mono.Cecil/ModuleDefinition.cs,
236         * Mono.Cecil/MethodReference.cs,
237         * Mono.Cecil/ReflectionWriter.cs,
238         * Mono.Cecil/ParameterDefinition.cs,
239         * Mono.Cecil/PropertyDefinition.cs,
240         * Mono.Cecil/IGenericParameterProvider.cs:
241                 Add boolean Has{x} properties so Cecil consumers are able
242                 to avoid the lazy allocations that would be made for an
243                 empty {x}. Use the Has{x} properties inside Cecil (some
244                 cases might be missing).
246 2008-11-16  Sebastien Pouliot  <sebastien@ximian.com>
248         * Mono.Cecil/TypeDefinition.cs (IsValueType): Inline the call to
249         IsEnum and remove the double null check being done.
251 2008-11-14  Jb Evain  <jbevain@novell.com>
253         * Mono.Cecil/ParameterAttributes.cs: add Retval and Lcid.
254         * Mono.Cecil/ParameterDefinition.cs: add Is* property accordingly.
256 2008-11-12  Jb Evain  <jbevain@novell.com>
258         * Mono.Cecil.Signatures/SignatureReader.cs: properly construct
259         TypeReferences when reading them from custom attributes data.
261 2008-11-11  Jb Evain  <jbevain@novell.com>
263         * Mono.Cecil/ReflectionReader.cs (AddTypeRef):
264         protect against invalid token.
266 2008-11-11  Jb Evain  <jbevain@novell.com>
268         * Mono.Cecil.Cil/CodeWriter.cs: fix writing of catch handlers
269         of a generic exception type.
271 2008-11-06  Jb Evain  <jbevain@novell.com>
273         * Mono.Cecil.Metadata/MetadataWriter.cs: properly clean
274         the runtime image in case we're unsigning an assembly.
276 2008-11-01  Jb Evain  <jbevain@novell.com>
278         * Mono.Cecil.Binary/RuntimeImage.cs: add [Flags] attribute.
279         Fixes #440574.
281 2008-10-27  Jb Evain  <jbevain@novell.com>
283         * Mono.Cecil/AssemblyInfo.cs: bump version.
285 2008-10-27  Zoltan Varga  <vargaz@gmail.com>
287         * Mono.Cecil/AssemblyStripper.cs: Strip locals info too.
289 2008-10-17  Jb Evain  <jbevain@novell.com>
291         * Mono.Cecil/ReflectionWriter.cs: remove dead code.
292         * Mono.Cecil.Cil/ISymbolWriter.cs: simplify Write method.
294 2008-10-17      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
296         * Mono.Cecil.Cil/CodeWriter.cs
297         * Mono.Cecil.Cil/MethodBody.cs:
298                 mcs-cecil-local-var-1.diff patch enabling better handling of local
299                 variable debugging information applied.
300                 Patch by Juerg Billeter <j@bitron.ch>
302 2008-10-17      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
304         * Mono.Cecil/ConstructorCollection.cs
305         * Mono.Cecil.Binary/ImageReader.cs:
306                 Compact Framework compilation fixes.
308 2008-10-14  Jb Evain  <jbevain@novell.com>
310         * Mono.Cecil/SecurityDeclarationReader.cs: protect against
311         wrongly formatted security attributes.
313 2008-10-12  Sebastien Pouliot  <sebastien@ximian.com>
315         * Mono.Cecil.Cil/SymbolStoreHelper.cs: Change two "static readonly"
316         fields into const.
317         [Found using Gendarme PreferLiteralOverInitOnlyFieldsRule]
319 2008-10-11  Sebastien Pouliot  <sebastien@ximian.com>
321         * Mono.Cecil/ConstructorCollection.cs: Fix a NRE if a null parameter
322         is provided to one of the GetConstructor overloads.
324 2008-10-07  Jb Evain  <jbevain@novell.com>
326         * Mono.Cecil/ReflectionReader.cs: don't cache generic typespecs,
327         as some compiler reuse generic instance signatures with different
328         generic contexts.
330 2008-10-01  Jb Evain  <jbevain@novell.com>
332         * Mono.Cecil.dll.sources
333         * Mono.Cecil.csproj
334         * Mono.Cecil/AssemblyStripper.cs
335         * Mono.Cecil.Cil/CodeWriter.cs
336         * Mono.Cecil.Metadata/MetadataWriter.cs: add a new AssemblyStripper
337         class to be used by a tool to empty method bodies for assemblies
338         that have been AOTed.
340 2008-09-29  Jb Evain  <jbevain@novell.com>
342         * Mono.Cecil/GenericParameter.cs: override TypeReference.Scope.
344 2008-09-25  Jb Evain  <jbevain@novell.com>
346         * Mono.Cecil.Binary/MemoryBinaryWriter.cs: Make sure QuadAlign
347         properly enlarge the memory stream if needed.
348         Patch by Regis Vaquette <rvaquette@yahoo.fr>.
350 2008-09-18  Jb Evain  <jbevain@novell.com>
352         * Mono.Cecil/ReflectionReader.cs (GetModifierType): protect against
353         zero rids.
355 2008-09-15  Jb Evain  <jbevain@novell.com>
357         * Mono.Cecil.Signatures/SignatureReader.cs: fix regression
358         in reading custom mods.
360 2008-09-04  Jb Evain  <jbevain@novell.com>
362         * Mono.Cecil.Signatures/SignatureReader.cs: better read modifiers on
363         return types and parameters.
365 2008-09-02  Jb Evain  <jbevain@novell.com>
367         * Mono.Cecil.Metadata/UserStringsHeap.cs: fix reading of some unicode fu.
369 2008-09-02  Jb Evain  <jbevain@novell.com>
371         * Mono.Cecil/MethodAttributes.cs: add CheckAccessOnOverride.
372         * Mono.Cecil/MethodDefinition.cs: add IsCheckAccessOnOverride.
374 2008-09-02  Jb Evain  <jbevain@novell.com>
376         * Mono.Cecil/GenericParameter.cs: fix Has*Constraint properties.
378 2008-09-02  Jb Evain  <jbevain@novell.com>
380         * Mono.Cecil/SecurityDeclarationReader.cs: fix reading
381         multiple permissions. Patch by Carsten Keutmann.
383 2008-09-01  Jb Evain  <jbevain@novell.com>
385         * Mono.Cecil/ReflectionReader.cs: properly compose mod and byref types
386         for parameters and return types.
387         Based on a patch by Carlo Kok <ck@remobjects.com>
389 2008-09-01  Jb Evain  <jbevain@novell.com>
391         * Mono.Cecil.Signatures/SignatureReader.cs: Avoid a crash
392         when looking for an enumeration definition when the assembly
393         could not be resolved. Patch by Carlo Kok <ck@remobjects.com>
395 2008-09-01  Jb Evain  <jbevain@novell.com>
397         * Mono.Cecil/ReflectionWriter.cs: fix for writing null string
398         constants. Patch by Ewout Prangsma <ewout@tallapplications.com>.
400 2008-06-28  Sebastien Pouliot  <sebastien@ximian.com>
402         * Mono.Cecil.dll.sources
403         * Mono.Xml/MiniParser.cs:
404                 Remove MiniParser as it is no more required (replaced by
405                 SmallXmlParser) and save a few KB in the binary size
407         * Mono.Xml/SecurityParser.cs
408         * Mono.Xml/SmallXmlParser.cs:
409                 Seal non-visible classes.
410                 [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
412         * Mono.Cecil.Signatures/GenericArg.cs:
413                 Seal non-visible classes.
414                 [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
416         * Mono.Cecil.Binary/CopyImageVisitor.cs
417         * Mono.Cecil.Binary/ImageInitializer.cs
418         * Mono.Cecil.Binary/ImageReader.cs
419         * Mono.Cecil.Binary/ImageWriter.cs
420         * Mono.Cecil.Binary/ResourceReader.cs
421         * Mono.Cecil.Binary/ResourceWriter.cs:
422                 Seal non-visible classes.
423                 [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
425         * Mono.Cecil.Metadata/CultureUtils.cs
426         * Mono.Cecil.Metadata/MetadataInitializer.cs
427         * Mono.Cecil.Metadata/MetadataReader.cs
428         * Mono.Cecil.Metadata/MetadataRowReader.cs
429         * Mono.Cecil.Metadata/MetadataRowWriter.cs
430         * Mono.Cecil.Metadata/MetadataTableReader.cs
431         * Mono.Cecil.Metadata/Utilities.cs:
432                 Seal non-visible classes.
433                 [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
435         * Mono.Cecil.Cil/CodeReader.cs
436         * Mono.Cecil.Cil/OpCodeNames.cs
437         * Mono.Cecil.Cil/CodeWriter.cs
438         * Mono.Cecil.Cil/SymbolStoreHelper.cs:
439                 Seal non-visible classes.
440                 [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
442         * Mono.Cecil/SecurityDeclarationReader.cs
443         * Mono.Cecil/NullReferenceImporter.cs
444         * Mono.Cecil/TableComparers.cs:
445                 Seal non-visible classes.
446                 [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
448         * Mono.Cecil/AssemblyNameReference.cs:
449                 Use String.Length > 0 instead of comparing to String.Empty
450                 [Found using Gendarme CompareWithEmptyStringEfficientlyRule]
452         * Mono.Cecil.Metadata/MetadataToken.cs:
453                 Add a private Equals(MetadataToken) method. This allows the
454                 existing operators (== and !=) to avoid boxing, since they
455                 will prefer it to the Equals(object) method.
456                 [Found using Gendarme ImplementEqualsTypeRule]
458         * Mono.Cecil.Cil/GuidAttribute.cs:
459                 Seal attribute class
460                 [Found using Gendarme AvoidUnsealedConcreteAttributesRule]
462         * Mono.Cecil.Signatures/SignatureWriter.cs:
463                 Fix typo.
464                 [Found using Gendarme AvoidUnneededUnboxingRule]
466 2008-06-06  Jb Evain  <jbevain@novell.com>
468         * CodeGen/cecil.xml: constrained. is of type InlineType.
469         * Mono.Cecil.Cil/OpCodes.cs: re-generate.
471 2008-05-14  Jb Evain  <jbevain@novell.com>
473         * Mono.Cecil/ReflectionWriter.cs:
474                 Only create the GenericParameterConstraint table if needed.
475                 Patch by Richard Flamsholt <richard.flamsholt@gmail.com>.
477         * Mono.Cecil.Cil/MethodBody.cs:
478                 Fix typo in switch cloning. Patch by
479                 Rune Glerup <rune.glerup@gmail.com>.
481 2008-05-06  Jb Evain  <jbevain@novell.com>
483         * Mono.Cecil.Signatures/CustomMod.cs:
484                 Introduce a EmptyCustomMod static field.
485         * Mono.Cecil/ReflectionWriter.cs
486         * Mono.Cecil.Signatures/SignatureReader.cs:
487                 Use EmptyCustomMod instead of instanciating
488                 empty arrays of CustomMod.
489                 Based on a patch by Carlo Kok <ck@remobjects.com>.
491         * Mono.Cecil.Metadata/MetadataRowReader.cs
492         * Mono.Cecil.Metadata/MetadataRowWriter.cs:
493                 Cache row counters delegates.
494                 Based on a patch by Carlo Kok <ck@remobjects.com>.
496         * Mono.Cecil/TypeDefinition.cs
497         * Mono.Cecil/MethodDefinition.cs
498         * Mono.Cecil/DefaultImporter.cs
499         * Mono.Cecil/ReflectionHelper.cs:
500                 Restore the generic context values instead of blindly
501                 overriding them. Based on a patch by Dzintars Avots.
503         * Mono.Cecil/MarshalSpec.cs (CloneInto): add new method
504         to clone MarshalSpec into a new container.
506         * Mono.Cecil/ParameterDefinition.cs (Clone):
507         * Mono.Cecil/FieldDefinition.cs (Clone):
508         Use the new MarshalSpec.CloneInto method.
509         Based on a patch by Dzintars Avots <davots@coverity.com>.
511         * Mono.Cecil/MethodDefinition.cs (Clone): fix cloning of
512         return types when they don't have a parameter.
513         Patch by Dzintars Avots <davots@coverity.com>.
515         * Mono.Cecil.Cil/CodeWriter.cs (ComputeMaxStack): compute max
516         stack more precisely. Based on a patch by Daniel Grunwald,
517         Contains code from Cecil.FlowAnalysis.
519         * Mono.Cecil.Cil/MethodBody.cs (Clone): make sure the
520         instruction linked list is properly constructed.
522 2008-04-19  Sebastien Pouliot  <sebastien@ximian.com>
524         * Mono.Cecil.Cil/CodeReader.cs:
525         * Mono.Cecil.Cil/ISymbolReader.cs:
526                 Move reading of debugging symbols where it's possible to
527                 reuse the existing Hashtable (offset, Instruction) in
528                 the debugging libraries. Change interface to allow
529                 passing the Hashtable.
531 2008-04-15  Sebastien Pouliot  <sebastien@ximian.com>
533         * Mono.Cecil.csproj
534         * Mono.Cecil.dll.sources:
535                 Add Mono.Cecil.Cil/OpCodeNames.cs to the build.
537         * Mono.Cecil.Cil/OpCodeNames.cs
538         * Mono.Cecil.Cil/OpCode.cs
539         * Mono.Cecil.Cil/OpCodes.cs:
540                 Reduce the OpCode struct size to 8 bytes (instead of 36).
541                 Based on the SRE.OpCode code found in corlib.
543 2008-04-13  Sebastien Pouliot  <sebastien@ximian.com>
545         * Mono.Cecil/AssemblyDefinition.cs:
546                 Short circut loop when module is found.
548 2008-04-08  Jb Evain  <jbevain@novell.com>
550         * Mono.Cecil/SecurityDeclaration.cs
551           Mono.Cecil/SecurityDeclarationReader.cs:
552                 Implement resolving of SecurityDeclarations.
554 2008-03-31  Jb Evain  <jbevain@novell.com>
556         Integrate patches from Dzintars Avots <davots@coverity.com>
558         * Mono.Cecil/GenericParameter.cs
559           Mono.Cecil/TypeDefinition.cs
560           Mono.Cecil/DefaultImporter.cs
561           Mono.Cecil/MethodDefinition.cs:
562                 Fix generic parameter cloning to avoid issues when
563                 the constraint reference the parameter itself.
565         * Mono.Cecil/MethodBody.cs (Clone): deals with switches.
567         * Mono.Cecil/MethodBody.cs (Clone): clone the name of
568         the local variables.
570 2008-03-30  Sebastien Pouliot  <sebastien@ximian.com>
572         * Mono.Cecil/ReflectionReader.cs:
573                 Avoid creating a BinaryReader+MemoryStream on LE archs for
574                 GetConstant. Saves about 400KB for Gendarme.
575                 Avoid a BinaryReader creation in GetConstant which saves
576                 about 50KB for Gendarme.
577         * Mono.Cecil.Metadata/GuidHeap.cs:
578                 Compute ideal capacity for Hashtable. Avoid memory allocation
579                 if a single GUID is present (which is the case for all of
580                 Mono 2.0 assemblies). Saves a whole 2KB for Gendarme ;-)
581         * Mono.Cecil.Binary/Image.cs:
582                 Add internal GetSectionAtVirtualAddress to avoid creating
583                 BinaryReader in some cases.
584         * Mono.Cecil.Binary/ResourceReader.cs:
585                 Avoid a BinaryReader creation in SetInitialValue which saves
586                 about 3000KB for Gendarme.
588 2008-03-08  Jb Evain  <jbevain@novell.com>
590         * Mono.Cecil.Binary/CopyImageVisitor.cs:
591                 Copy the cliheaders flags over the new assembly.
592                 Patch by Oleksiy Gapotchenko <alex.s.gap@gmail.com>
594 2008-03-08  Sebastien Pouliot  <sebastien@ximian.com>
596         * Mono.Cecil.Cil/CodeReader.cs:
597                 Use one and only Hashtable for caching instructions offsets.
598                 Save tons of precious memory.
600 2008-03-08  Sebastien Pouliot  <sebastien@ximian.com>
602         * Mono.Cecil.Cil/OpCode.cs
603         * Mono.Cecil.Binary/RVA.cs
604         * Mono.Cecil.Binary/DataDirectory.cs:
605                 Avoid boxing/unboxing when == or != operators are used.
606                 Results in significant memory savings for Gendarme.
608 2008-03-08  Jb Evain  <jbevain@novell.com>
610         * Mono.Cecil/ReflectionReader.cs:
611                 Protect from malformed RIDs.
612         * Mono.Cecil/AggressiveReflectionReader.cs:
613                 Create the m_events and m_properties tables
614                 even if they contains 0 elements.
616 2008-02-26  Jb Evain  <jbevain@novell.com>
618         * Mono.Cecil.Binary/ImageReader.cs:
619                 Avoid throwing non desired exceptions.
621 2008-02-25  Jb Evain  <jbevain@novell.com>
623         * Mono.Cecil/ReflectionReader.cs:
624                 Avoid throwing in case a constant
625                 is of type object.
627 2008-02-19  Jb Evain  <jbevain@novell.com>
629         * Mono.Cecil/DefaultImporter.cs:
630                 Add support for importing function pointers. Based on a
631                 patch by Andrea Carlo Ornstein <andrea.ornstein@st.com>.
633         * Mono.Cecil/ModuleDefinition.cs:
634                 Add a Inject(FieldDef) overload for symmetry.
635                 Patch by Andrea Carlo Ornstein <andrea.ornstein@st.com>.
637 2008-02-16  Jb Evain  <jbevain@novell.com>
639         * CodeGen/templates/MetadataRowReader.cs
640           CodeGen/templates/Utilities.cs
641           CodeGen/templates/MetadataRowWriter.cs
642           Mono.Cecil.Metadata/MetadataRowReader.cs
643           Mono.Cecil.Metadata/MetadataRowWriter.cs
644           Mono.Cecil.Metadata/Utilities.cs:
645                 Use a good old traditional array instead of an
646                 Hashtable. Based on a patch by Carlo Kok <ck@remobjects.com>.
648 2008-02-07  Jb Evain  <jbevain@novell.com>
650         * Mono.Cecil/BaseAssemblyResolver.cs:
651                 deal with 2.1 corlib on Mono.
653 2008-02-07  Jb Evain  <jbevain@novell.com>
655         * Mono.Cecil/MethodDefinition.cs:
656                 add last Is method for semantics property.
658 2008-02-05  Jb Evain  <jbevain@novell.com>
660         * Mono.Cecil/TypeDefinition.cs:
661                 System.Enum by itself is not a value type.
662                 Fix #351879.
664         * Mono.Cecil.Signatures/SignatureReader.cs:
665                 Properly read fnptr local variables. Fix #358507.
667         * Mono.Cecil.Binary/DefaultImporter.cs:
668                 Import modifiers and sentinels, patch from:
669                 Andrea Carlo Ornstein <andrea.ornstein@st.com>
671 2008-02-04  Jb Evain  <jbevain@novell.com>
673         * Mono.Cecil.Binary/CLIHeader.cs
674           Mono.Cecil.Binary/ImageWriter.cs
675           Mono.Cecil.Metadata/MetadataWriter.cs:
676                 emit the proper cli header version for 1.1 and 2.0 cases.
678         * Mono.Cecil.Cil/CilWorker.cs: add callsite overloads.
680 2008-01-10  Jb Evain  <jbevain@novell.com>
682         * Mono.Cecil/ReflectionHelper.cs: deal with complex arrays.
684 2008-01-07  Jb Evain  <jbevain@novell.com>
686         * Mono.Cecil.Cil/CilWorker.cs:
687                 Allow ldarg.s/ldloc.s/stloc.s to take a byte
688                 instead of the actual parameter or variable. Fix #350606.
690 2008-01-07  Jb Evain  <jbevain@novell.com>
692         * Mono.Cecil/ArrayType.cs:
693                 Add a constructor with the array rank. Fix #351924.
694                 Based on a patch by Rolf Kvinge <rkvinge@novell.com>.
696 2008-01-04  Jb Evain  <jbevain@novell.com>
698         * Mono.Cecil.Cil/CilWorker.cs:
699                 Allow ldarg/ldloc/stloc to take a integer
700                 instead of the actual parameter or variable. Fix #350606.
702 2008-01-04  Jb Evain  <jbevain@novell.com>
704         * Mono.Cecil/DefaultImporter.cs:
705           Mono.Cecil/ReflectionHelper.cs:
706                 Properly import nested types. Fix #351133.
708 2008-01-03  Jb Evain  <jbevain@novell.com>
710         * Mono.Cecil/ReflectionWriter.cs:
711                 Properly emit null type constants. Fix #351141.
712                 Patch by Rolf Kvinge <rkvinge@novell.com>.
714 2007-12-30  Jb Evain  <jbevain@novell.com>
716         * Mono.Cecil.Cil/CilWorker.cs:
717                 Check for null arguments. Fix #350857.
719 2007-12-21  Jb Evain  <jbevain@novell.com>
721         * Mono.Cecil/ReflectionReader.cs
722           Mono.Cecil/AggressiveReflectionReader.cs
723           Mono.Cecil.Signatures/SignatureReader.cs:
724                 Don't crash on force resolve for nested arrays
725                 in custom attributes.
727 2007-12-17  Jb Evain  <jbevain@novell.com>
729         * Mono.Cecil/IMemberDefinition.cs: make IMemberDefinition
730         implement ICustomAttributeProvider.
732 2007-12-15  Jb Evain  <jbevain@novell.com>
734         * Mono.Cecil.Binary/AggressiveReflectionReader.cs: protect
735         against zeroed tokens.
737 2007-12-15  Jb Evain  <jbevain@novell.com>
739         * Mono.Cecil.Binary/ImageReader.cs: fix crash when reading
740         some non .net binaries.
742 2007-11-22  Sebastien Pouliot  <sebastien@ximian.com>
744         * Mono.Cecil/SecurityDeclarationReader.cs:      Change default read
745         value to true. Fix reading 2.0 security declaration format used by
746         MS compilers (#343553).
748 2007-11-15      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
750         * Mono.Cecil.Cil/MethodBody.cs:
751                 Fixed Optimize for ldc_i4
753 2007-11-15      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
755         * Mono.Cecil.Cil/DocumentLanguage.cs
756           Mono.Cecil.Cil/DocumentLanguageVendor.cs:
757                 Compact Framework support by using Guid(string) if CF_2_0 is defined
759 2007-11-01  Jb Evain  <jbevain@novell.com>
761         * Mono.Cecil/MethodReturnType.cs: based on a patch by
762         Ivan <ivanjh@gmail.com>. Fix for cloning methods with
763         marshalers on return type.
765 2007-10-31  Jb Evain  <jbevain@novell.com>
767         * Mono.Cecil.Binary/ImageReader.cs: fix for the case where
768         the export table export zero functions.
770 2007-10-18  Jb Evain  <jbevain@novell.com>
772         * Mono.Cecil.Cil/MethodBody.cs: Add an Optimize method which
773         is the opposite of Simplify. Based on a patch by Carlo.
775         * Mono.Cecil.Cil/CodeWriter.cs: don't care about reducing MaxStack.
777 2007-10-11  Jb Evain  <jbevain@novell.com>
779         * Mono.Cecil/TypeReference.cs: add a IsNested helper property.
781         * Mono.Cecil/ReflectionWriter.cs
782           Mono.Cecil.Signatures/SignatureWriter.cs:
783                 Integrate patch for Carlo, start working on enum writing
784                 in custom attribute.
786 2007-10-09  Nestor Salceda  <nestor.salceda@gmail.com>
788         * mono-cecil.pc.in:  Updated the version number.
790 2007-10-09  Jb Evain  <jbevain@novell.com>
792         * Mono.Cecil.Cil/Instruction.cs
793           Mono.Cecil.Cil/CodeWriter.cs:
794                 Move CodeWriter.GetSize (Instruction) to Instruction.
796         Integration of patches from Carlo Kok <ck@remobjects.com>:
798         * Mono.Cecil.Cil/Document.cs
799           Mono.Cecil.Cil/DocumentType.cs
800           Mono.Cecil.Cil/DocumentLanguage.cs
801           Mono.Cecil.Cil/DocumentLanguageVendor.cs:
802                 Use plain guids for Document properties so it's easy
803                 for third party document providers to use their own.
805         * Mono.Cecil/ParameterDefinition.cs:
806                 Clean or set the HasFieldMarshal flag when setting
807                 MarshalSpecs on parameters.
809         * Mono.Cecil/AssemblyNameReference.cs:
810                 Protect against null culture.
812         * Mono.Cecil/FieldDefinition.cs:
813                 Clean or set the HasFieldMarshal flag when setting
814                 MarshalSpecs on fields.
816         * Mono.Cecil/GenericInstanceType.cs:
817                 Properly initialize the IsValueType from the element type.
819 2007-10-09  Jb Evain  <jbevain@novell.com>
821         * Mono.Cecil/ReflectionWriter.cs: check for duplicates
822         in the MemberRef row.
824 2007-10-08  Sebastien Pouliot  <sebastien@ximian.com>
826         * standalone.make: Revert changes so standalone Cecil (in SVN) can
827         be built using this Makefile (required for Gendarme);
828         * README: Update build and bug instructions.
830 2007-10-07  Jb Evain  <jbevain@novell.com>
832         * Mono.Cecil/BaseAssemblyResolver.cs: first lookup assemblies
833         in the specified directories before trying the framework dir.
835 2007-10-06  Jb Evain  <jbevain@novell.com>
837         * Mono.Cecil.Cil/OpCode.cs: make that a struct again, it
838         make the 2.1 profile explode. Will investigate why.
840 2007-10-06  Jb Evain  <jbevain@novell.com>
842         * Mono.Cecil/MethodCallingConvention.cs: Not a [Flag]
844 2007-10-05  Jb Evain  <jbevain@novell.com>
846         * Mono.Cecil.Cil/OpCode.cs: Change OpCode from struct to class
847         to avoid copying everything everytime.
849 2007-09-28  Jb Evain  <jbevain@novell.com>
851         * Mono.Cecil/SecurityDeclarationReader.cs:
852                 Adapt patch from Carlo Kok  <ck@remobjects.com>.
853                 Properly read unicode string constants.
855         * Mono.Cecil/SecurityDeclarationReader.cs:
856                 Adapt patch from Carlo Kok  <ck@remobjects.com>.
857                 For some MS assemblies, the security declaration contains
858                 one zero byte.
860 2007-09-24  Jb Evain  <jbevain@novell.com>
862         * Mono.Cecil/ModuleDefinition.cs: after a FullLoad, the symbol
863         reader is not needed anymore.
865 2007-09-18  Jb Evain  <jbevain@novell.com>
867         * Mono.Cecil.Cil/MethodBody.cs:
868                 Adapt a patch from Ivan <ivanjh@gmail.com>.
869                 Fix cloning of the This parameter.
871 2007-09-12  Jb Evain  <jbevain@novell.com>
873         * Mono.Cecil/ReflectionReader.cs
874           Mono.Cecil.Signatures/SignatureReader.cs
875           Mono.Cecil.Signatures/TypeSpec.cs
876           Mono.Cecil.Signatures/SignatureWriter.cs:
877                 Deal with custom mods on typespecs.
879 2007-09-12  Jb Evain  <jbevain@novell.com>
881         * Mono.Cecil.Binary/ImageReader.cs: some 64bits assemblies
882         have a strange header without import tables.
884 2007-09-09  Jb Evain  <jbevain@novell.com>
886         * Mono.Cecil/GenericContext.cs
887           Mono.Cecil/ReflectionReader.cs
888           Mono.Cecil/DefaultImporter.cs:
889                 Better handling of generic instances of references, where
890                 the number of generic parameters is not known.
892 2007-09-06  Jb Evain  <jbevain@novell.com>
894         * Mono.Cecil/MethodDefinition: add Is** methods for MethodImplAttributes.
896 2007-09-04  Jb Evain  <jbevain@novell.com>
898         * Mono.Cecil/ReflectionWriter.cs:
899                 Adapt a patch by Ewout Prangsma <ewout@tallapplications.com>.
900                 Cache the typespec tokens instead of the typespec themselves
901                 because GenericParameters are somethimes considered as typespecs.
903 2007-08-28  Jb Evain  <jbevain@novell.com>
905         * Mono.Cecil.Cil/CodeWriter.cs
906           Mono.Cecil/ReflectionWriter.cs
907           Mono.Cecil.Cil/SymbolStoreHelper.cs
908           Mono.Cecil.Signatures/SignatureWriter.cs:
909                 Generate proper variables signatures for symbols
910                 stores.
912 2007-08-19  Jb Evain  <jbevain@novell.com>
914         * Mono.Cecil.Cil/CodeReader.cs:
915                 Deal with generic exceptions.
917 2007-08-15  Jb Evain  <jbevain@novell.com>
919         * CodeGen/cecil.xml,
920           Mono.Cecil.Cil/OpCodes.cs:
921                 Fix bug spotted by Jesse Jones, ldelem.any has a
922                 stack behavior pop of popref, popi.
924 2007-08-15  Jb Evain  <jbevain@novell.com>
926         * Mono.Cecil/TypeReference.cs
927           Mono.Cecil/TypeSpecification.cs:
928                 TypeSpecification.Module return the module of the elemen
929                 type now.
931 2007-08-13  Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
933         * default.build
934           Mono.Cecil/AssemblyInfo.cs:
935                 Ability to pass custom defines to the c# compiler through
936                 the csc.defines property. KEYFILE can be used to force
937                 an AssemblyKeyFile attribute on AssemblyInfo.cs so strongly
938                 signed versions of Mono.Cecil can be produced on .net 1.1,
939                 cf 1.0 and cf 2.0.
941 2007-08-13  Jb Evain  <jbevain@novell.com>
943         * Mono.Cecil.Cil/CilWorker.cs:
944                 Fix InsertBefore.
946 2007-08-06  Jb Evain  <jbevain@novell.com>
948         * Mono.Cecil.Cil/CilWorker.cs:
949                 Fix the linked list after an InsertBefore, InsertAfter.
951 2007-08-02  Jb Evain  <jbevain@novell.com>
953         * Mono.Cecil/GenericParameter.cs
954           Mono.Cecil/FieldDefinition.cs
955           Mono.Cecil/TypeDefinition.cs
956           Mono.Cecil/MethodDefinition.cs
957           Mono.Cecil/EventDefinition.cs
958           Mono.Cecil/PInvokeInfo.cs
959           Mono.Cecil/Resource.cs
960           Mono.Cecil/ParameterDefinition.cs
961           Mono.Cecil/PropertyDefinition.cs:
963                 Add Isxxx properties based on the xxxAttributes enums.
965 2007-07-23  Raja R Harinath  <rharinath@novell.com>
967         Fix 'make warnings'.
968         * Makefile (LIBRARY_PACKAGE): Set to none.
969         (install-local): Remove.
971 2007-07-21  Jb Evain  <jbevain@novell.com>
973         * Mono.Cecil/TypeReference.cs
974           Mono.Cecil/TypeSpecification.cs:
975                 Add a new GetOriginalType () method.
977         * Mono.Cecil/MethodReference.cs
978           Mono.Cecil/MethodSpecification.cs:
979                 Add a new GetOriginalMethod () method.
981 2007-07-19  Jb Evain  <jbevain@novell.com>
983         * Mono.Cecil/AssemblyFactory.cs
984           Mono.Cecil.Binary/Image.cs:
985                 Update the fileinfo after writing an assembly
986                 to a file.
988 2007-07-19  Jb Evain  <jbevain@novell.com>
990         * Mono.Cecil/ReflectionReader.cs
991           Mono.Cecil.Cil/CodeReader.cs
992           Mono.Cecil.Signature/SignatureReader.cs:
993                 Better handling of the sentil in the varargs methods.
995         * Mono.Cecil/ReflectionReader.cs
996           Mono.Cecil/SentinelType.cs
997           Mono.Cecil.Cil/CodeWriter.cs:
998           Mono.Cecil.Signatures/SignatureReader.cs:
999                 Fix handling of varargs methods.
1001 2007-07-18  Jb Evain  <jbevain@novell.com>
1003         * Mono.Cecil.Cil/CodeReader.cs
1004           Mono.Cecil.Cil/CodeWriter.cs:
1005                 Deal with non-sense instructions that some
1006                 obfuscators emit.
1008         * Mono.Cecil/AggressiveReflectionReader.cs:
1009                 Deal with out of range properties.
1010         * Mono.Cecil.Metadata/StringsHeap.cs:
1011                 Deal with out of range string indexes.
1013 2007-07-17  Jb Evain  <jbevain@novell.com>
1015         * Mono.Cecil/AggressiveReflectionReader.cs:
1016                 Add some gards against zeroed tokens.
1018         * Mono.Cecil.Metadata/Utilities.cs:
1019                 Return zero instead of throwing on invalid tags.
1020                 Allow Cecil to read assemblies partially broken
1021                 by some obfuscators.
1023 2007-07-14  Gert Driesen  <drieseng@users.sourceforge.net>
1025         * default.build: Fix relative path to key. Avoid use of ugly foreach
1026         contruct. Spaces to tabs.
1027         * Mono.Cecil.csproj: Fix relative path to key.
1028         * standalone.make: Fix relative path to key and config.make.
1030 2007-07-03  Jb Evain  <jbevain@novell.com>
1032         * Mono.Cecil/BaseAssemblyResolver.cs:
1033                 Expose a way to add default directories
1034                 where the assemblies are first looked for.
1036 2007-06-20  Jb Evain  <jbevain@novell.com>
1038         * Mono.Cecil/IReferenceImporter.cs => IImporter.cs
1039           Mono.Cecil/DefaultReferenceImporter.cs => DefaultImporter.cs
1041         * Mono.Cecil/ReflectionHelper.cs
1042           Mono.Cecil/DefaultReferenceImporter.cs
1043           Mono.Cecil/ModuleDefinition.cs:
1044                 Move Cecil types import logic into
1045                 the DefaultReferenceImporter.
1047                 Needed by the merger and the extractor.
1049 2007-06-19  Jb Evain  <jbevain@novell.com>
1051         * Mono.Cecil.Cil/MethodBody.cs:
1052                 Avoid invalid cast by properly simplifying
1053                 instructions.
1055         * Mono.Cecil.Cil/OpCodes.cs:
1056           CodeGen/cecil.xml:
1057                 leave.s is a macro instruction.
1059         * Mono.Cecil/TypeDefinition.cs
1060           Mono.Cecil/ParameterDefinition.cs:
1061                 Fix cloning.
1063 2007-06-18  Jb Evain  <jbevain@novell.com>
1065         * Mono.Cecil/ReflectionReader.cs:
1066                 Fix custom mods for fields ref.
1068 2007-06-13  Jb Evain  <jbevain@novell.com>
1070         Integrated patches by:
1071         Paul Apostolescu <papostolescu@fortifysoftware.com>
1073         * patch3:
1074           Mono.Cecil/ReflectionReader.cs
1075           Mono.Cecil.Signatures/SignatureWriter.cs:
1076                 In named args, objects are encoded as boxed.
1078         * patch1:
1079           Mono.Cecil/IMemberDefinition.cs
1080           Mono.Cecil/Constants.cs
1081           Mono.Cecil/ReflectionReader.cs
1082           Mono.Cecil/AggressiveReflectionReader.cs:
1083                 Do not take into account special _Deleted
1084                 members.
1086         * patch6:
1087           Mono.Cecil/StructureReader.cs:
1088                 Read the flags of the references as well.
1090         * patch5:
1091           Mono.Cecil.Metadata/UserStringsHeap.cs:
1092                 Don't bother getting a string from the bytes
1093                 if the length is < 2 (0, or 0 + an encoding flag)
1095         * patch4:
1096           Mono.Cecil/ReflectionHelper.cs:
1097                 Update the value type flags of types
1098                 when they are imported if the type
1099                 reference was first seen as a type reference.
1101         * patch2:
1102           Mono.Cecil.Signature/SignatureWriter.cs:
1103                 Patch to handle nullref values for types in
1104                 custom attributes arguments.
1106 2007-06-13  Jb Evain  <jbevain@novell.com>
1108         * Mono.Cecil/StructureWriter.cs,
1109           Mono.Cecil/ReflectionWriter.cs:
1110                 Revert the on demand creation of memberref.
1112 2007-06-12  Jb Evain  <jbevain@novell.com>
1114         * Mono.Cecil/CallSite.cs
1115           Mono.Cecil/ModuleReference.cs
1116           Mono.Cecil/CustomAttribute.cs
1117           Mono.Cecil/AssemblyDefinition.cs
1118           Mono.Cecil/SecurityDeclaration.cs
1119           Mono.Cecil/AssemblyNameReference.cs
1120           Mono.Cecil/MemberReference.cs
1121           Mono.Cecil/Resource.cs
1122           Mono.Cecil/ParameterReference.cs:
1123                 Implement explicitely IAnnotationProvider.
1125 2007-06-05  Jb Evain  <jbevain@novell.com>
1127         * Mono.Cecil/AssemblyNameReference.cs:
1128                 Cache the fullname when possible.
1130 2007-05-31  Jb Evain  <jbevain@novell.com>
1132         * Mono.Cecil/ModuleDefinition.cs:
1133                 Add types to the module and members to the context
1134                 on inject.
1136         * Mono.Cecil/BaseAssemblyResolver.cs:
1137                 Improve resolve, works for people requiring
1138                 .net 1.0 assemblies when they only have 1.1.
1140 2007-05-30  Jb Evain  <jbevain@novell.com>
1142         * Mono.Cecil/DefaultAssemblyResolver.cs:
1143                 Add a RegisterAssembly method to register an
1144                 assembly to the cache without having to resolve it.
1146         * Mono.Cecil/DefaultReferenceImporter.cs:
1147                 Make methods virtual.
1149         * Mono.Cecil.dll.sources
1150           Mono.Cecil.csproj
1151           Mono.Cecil/ReflectionHelper.cs
1152           Mono.Cecil/IReferenceImporter.cs
1153           Mono.Cecil/FieldDefinition.cs
1154           Mono.Cecil/CustomAttribute.cs
1155           Mono.Cecil/ImportContext.cs
1156           Mono.Cecil/NullReferenceImporter.cs
1157           Mono.Cecil/MethodDefinition.cs
1158           Mono.Cecil/EventDefinition.cs
1159           Mono.Cecil/ReflectionController.cs
1160           Mono.Cecil/ModuleDefinition.cs
1161           Mono.Cecil/GenericContext.cs
1162           Mono.Cecil/DefaultReferenceImporter.cs
1163           Mono.Cecil/PropertyDefinition.cs:
1164                 Provide a IReferenceImporter to customize how
1165                 types are injected from an assembly to another.
1167 2007-05-28  Jb Evain  <jbevain@novell.com>
1169         * Borrow annotations concept from boo ast node.
1170           Should be useful for the linker.
1172 2007-05-23  Jb Evain  <jbevain@novell.com>
1174         * Mono.Cecil/StructureWriter.cs
1175           Mono.Cecil/ReflectionWriter.cs
1176           Mono.Cecil.Cil/CodeWriter.cs:
1177                 Emit MemberReferences rows on demand.
1179 2007-05-16  Jb Evain  <jb@nurv.fr>
1181         * Mono.Cecil.Binary/ImageReader.cs:
1182                 Fix reading of the debug header for
1183                 headers half way emitted by .net SRE.
1185         * Mono.Cecil/BaseAssemblyResolver:
1186                 try to resolve unversionned assemblies.
1188 2007-05-09  Jb Evain  <jb@nurv.fr>
1190         * Mono.Cecil.Binary/Image.cs:
1191                 Throw when rva cannot be resolved.
1193         * Mono.Cecil.csproj
1194           Mono.Cecil.Binary/ExportTable.cs
1195           Mono.Cecil.Binary/BaseImageVisitor.cs
1196           Mono.Cecil.Binary/ImageReader.cs
1197           Mono.Cecil.Binary/IBinaryVisitor.cs
1198           Mono.Cecil.Binary/Image.cs
1199           Mono.Cecil.Binary/ImageInitializer.cs
1200           Mono.Cecil/StructureReader.cs
1201           Mono.Cecil/ReflectionWriter.cs:
1202                 When present, read the export table, so that people
1203                 reading non managed assemblies can use the Mono.Cecil.Binary
1204                 stuff.
1206                 Fix the bug when section name is 8 char long.
1208                 Based on a patch by Pavel Savara <pavel.savara@gmail.com>.
1210 2007-04-27  Jb Evain  <jb@nurv.fr>
1212         * Mono.Cecil/AssemblyNameReference.cs:
1213                 Allow the computation of pktoken on CF_2_0.
1215 2007-04-25  Jb Evain  <jb@nurv.fr>
1217         * Mono.Cecil/ModuleDefinition.cs
1218           Mono.Cecil/ReflectionWriter.cs
1219           Mono.Cecil.Cil/ISymbolWriter.cs
1220           Mono.Cecil.Signatures/SignatureWriter.cs
1221                 Start working on local var debug infos emitting.
1223 2007-04-08  Jb Evain  <jb@nurv.fr>
1225         * Mono.Cecil/ParameterAttributes.cs:
1226                 ParameterAttributes.None
1228 2007-03-30  Jb Evain  <jb@nurv.fr>
1230         * Collections:
1231                 Remove uneeded tests as an optimizations.
1232                 Based on a suggestion by Carlo Kok <ck@remobjects.com>.
1234         * Mono.Cecil.Metadata/StringsHeap.cs:
1235                 Optimize GetStringAt, patch by:
1236                 Carlo Kok <ck@remobjects.com>
1238 2007-03-22  Jb Evain  <jbevain@gmail.com>
1240         * Mono.Cecil/AssemblyInfo.cs:
1241                 Bump to 0.5.0.0 for the sake of our packagers friends.
1242                 Re-Bump to 0.5.0.1.
1244         * Mono.Cecil/StructureWriter.cs:
1245                 Throw a NotSupportedException instead of a NIE
1246                 for mixed mode assemblies.
1248 2007-03-20  Jb Evain  <jbevain@gmail.com>
1250         * Mono.Cecil.Metadata/MetadataWriter.cs:
1251                 Correct epilog for unicode user strings heap.
1253 2007-03-16  Jb Evain  <jbevain@gmail.com>
1255         * Mono.Cecil.Cil/CodeReader.cs
1256           Mono.Cecil.Cil/MethodBody.cs:
1257                 Add a MethodBody.Simplify method to expand
1258                 macros.
1260         * Mono.Cecil.dll.sources
1261           Mono.Cecil.csproj
1262           Mono.Cecil.Cil/OpCode.cs
1263           Mono.Cecil.Cil/OpCodes.cs
1264           Mono.Cecil.Cil/Code.cs
1265           CodeGen/cecil-gen.rb
1266           CodeGen/templates/OpCodes.cs
1267           CodeGen/templates/Code.cs:
1268                 Add a Code enumeration to simplify working with
1269                 OpCodes.
1271 2007-03-12  Jb Evain  <jbevain@gmail.com>
1273         * Mono.Cecil.Metadata/UserStringsHeap.cs:
1274                 Avoid trailing blank on some systems.
1276 2007-02-22  Jb Evain  <jbevain@gmail.com>
1278         * Mono.Cecil/ReflectionWriter.cs:
1279                 Deal with sentinels on simple methodrefs.
1281 2007-02-22  Jb Evain  <jbevain@gmail.com>
1283         * Mono.Cecil.dll.sources
1284           Mono.Cecil.csproj
1285           CodeGen/cecil.xml
1286           Mono.Cecil.Metadata/ParamPtr.cs
1287           Mono.Cecil.Metadata/MethodSpec.cs
1288           Mono.Cecil.Metadata/BaseMetadataVisitor.cs
1289           Mono.Cecil.Metadata/EventPtr.cs
1290           Mono.Cecil.Metadata/MetadataTableReader.cs
1291           Mono.Cecil.Metadata/MetadataTableWriter.cs
1292           Mono.Cecil.Metadata/MetadataRowReader.cs
1293           Mono.Cecil.Metadata/MetadataRowWriter.cs
1294           Mono.Cecil.Metadata/PropertyPtr.cs
1295           Mono.Cecil.Metadata/FieldPtr.cs
1296           Mono.Cecil.Metadata/MethodPtr.cs
1297           Mono.Cecil.Metadata/IMetadataVisitor.cs:
1298                 Add *Ptr table definitions.
1300         * Mono.Cecil.dll.sources
1301           Mono.Cecil.csproj
1302           Mono.Cecil/CallSite.cs
1303           Mono.Cecil/IMethodSignature.cs
1304           Mono.Cecil/SentinelType.cs
1305           Mono.Cecil/FunctionPointerType.cs
1306           Mono.Cecil/MethodReference.cs
1307           Mono.Cecil/ReflectionReader.cs
1308           Mono.Cecil/ReflectionWriter.cs
1309           Mono.Cecil.Cil/CodeReader.cs
1310           Mono.Cecil.Cil/CodeWriter.cs:
1311                 Implement support for writing function pointers.
1312                 Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>
1314         * Mono.Cecil/Constants.cs:
1315                 Make it public due to some demands.
1317 2007-02-21  Jb Evain  <jbevain@gmail.com>
1319         * Mono.Cecil.Signatures/SignatureReader.cs:
1320                 do not read enums if the resolution is not forced until
1321                 cecil knows how to write them.
1323         * Mono.Cecil/ReflectionWriter.cs
1324           Mono.Cecil.Signatures/SzArray.cs
1325           Mono.Cecil.Signatures/Array.cs
1326           Mono.Cecil.Signatures/SignatureReader.cs
1327           Mono.Cecil.Signatures/TypeSpec.cs
1328           Mono.Cecil.Signatures/SignatureWriter.cs:
1329                 handle custom mods on arrays signatures.
1331         * Mono.Cecil/ReflectionReader.cs:
1332                 Handle fields TypeSpecs that have an initial value.
1333                 Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>
1335 2007-01-29  Jb Evain  <jbevain@gmail.com>
1337         * Mono.Cecil.Metadata/MetadataWriter.cs:
1338                 Save a byte ! Yeah !
1340 2006-12-18  Jb Evain  <jbevain@gmail.com>
1342         * Mono.Cecil/ReflectionReader.cs:
1343                 Fix a bug in reading MemberRef pointing to MethodDef.
1345 2006-12-16  Jb Evain  <jbevain@gmail.com>
1347         * Mono.Cecil/StructureReader.cs:
1348                 Prevent a NRE if we're reading a multi module
1349                 assembly through a stream if a module is not find.
1350                 Fix #80273.
1352 2006-12-07  Jb Evain  <jbevain@gmail.com>
1354         * Mono.Cecil/ReflectionWriter.cs:
1355                 Allow an AssemblyDefinition to be written
1356                 more than once.
1358 2006-12-05  Jb Evain  <jbevain@gmail.com>
1360         * Mono.Cecil/ReflectionWriter.cs:
1361                 Deal with nullref default parameters.
1363 2006-12-03  Jb Evain  <jbevain@gmail.com>
1365         * Mono.Cecil/ReflectionWriter.cs:
1366                 Handle constant where the parameter is object
1367                 and the signature is something else.
1369 2006-11-27  Jb Evain  <jbevain@gmail.com>
1371         * Mono.Cecil/TypeDefinitionCollection.cs
1372           CodeGen/templates/NamedCollection.cs:
1373                 Allow multiple typedefs with the same namespace+name
1374                 to be able to read unvalid assemblies.
1376         * Mono.Cecil/ReflectionReader.cs
1377           Mono.Cecil/ReflectionWriter.cs
1378           Mono.Cecil.Signatures/PropertySig.cs
1379           Mono.Cecil.Signatures/SignatureReader.cs
1380           Mono.Cecil.Signatures/SignatureWriter.cs:
1381                 - Deal with modifiers on properties.
1382                 - Deal with non standard signatures when the byref
1383                 flag is placed after the custom modifiers.
1384           Mono.Cecil/StructureReader.cs:
1385                 - Properly detect wether an assembli is a dll or not.
1387                 Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>.
1389 2006-11-25  Jb Evain  <jbevain@gmail.com>
1391         * Mono.Cecil/ReflectionReader.cs
1392           Mono.Cecil/ReflectionWriter.cs
1393           Mono.Cecil.Signatures/GenericArg.cs
1394           Mono.Cecil.Signatures/GenericInstSignature.cs
1395           Mono.Cecil.Signatures/SignatureReader.cs
1396           Mono.Cecil.Signatures/SignatureWriter.cs:
1397                 Deal with modifiers for generic arguments.
1398                 Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>.
1400         * Mono.Cecil.Binary/ImageWriter.cs:
1401                 Fix a bug in writing rsrc sections.
1403         * Mono.Cecil.Cil/CodeReader.cs:
1404                 Do some refactoring.
1406         * Mono.Cecil.Metadata/MetadataToken.cs:
1407                 Add a ctor to get a MetadataToken
1408                 from an integer token.
1410 2006-11-22  Jb Evain  <jbevain@gmail.com>
1412         * Mono.Cecil.Cil/GuidAttribute.cs:
1413                 Fix for CF compilation.
1415 2006-11-16  Jb Evain  <jbevain@gmail.com>
1417         * Mono.Cecil/StructureReader.cs:
1418                 If an assembly has no managed assembly defined,
1419                 consider it as a dll.
1421 2006-11-08  Jb Evain  <jbevain@gmail.com>
1423         * Mono.Cecil/BaseAssemblyResolver.cs:
1424                 Handles different kind of GAC on Windows.
1426 2006-11-07  Jb Evain  <jbevain@gmail.com>
1428         * Mono.Cecil/ReflectionHelper.cs:
1429                 Don't import the flags of an assembly name reference.
1431 2006-11-03  Jb Evain  <jbevain@gmail.com>
1433         * Mono.Cecil/PropertyDefinition.cs:
1434                 Fix property cloning.
1435                 Patch by Alex Prudkiy <prudkiy@mail.ru>
1437 2006-10-26  Jb Evain  <jbevain@gmail.com>
1439         * Mono.Cecil/ReflectionReader.cs:
1440                 Use the proper generic context when reading memberrefs.
1442 2006-10-11  Jb Evain  <jbevain@gmail.com>
1444         * Mono.Cecil.Cil/Document.cs:
1445                 Complete a little bit.
1447         * Mono.Cecil/SecurityDeclarationReader.cs:
1448                 Get rid of a lot of exceptions when creating the security
1449                 attribute.
1451 2006-10-10  Jb Evain  <jbevain@gmail.com>
1453         * Mono.Cecil/ReflectionReader.cs:
1454           Mono.Cecil/CustomAttribute.cs:
1455           Mono.Cecil.Signatures/SignatureReader.cs:
1456           Mono.Cecil/SecurityDeclarationReader.cs:
1457                 Patch from: Eyal Alaluf  <eyala@mainsoft.com>.
1458                 Add support for resolving custom attributes that contain references
1459                 to enum in other assemblies.
1461 2006-10-09  Jb Evain  <jbevain@gmail.com>
1463         * Mono.Cecil/IRequireResolving.cs
1464           Mono.Cecil/CustomAttribute.cs
1465           Mono.Cecil/SecurityDeclaration.cs
1466           Mono.Cecil/SecurityDeclarationReader.cs
1467           Mono.Cecil/AggressiveReflectionReader.cs
1468           Mono.Cecil/ReflectionWriter.cs
1469           Mono.Cecil/ModuleDefinition.cs:
1470                 Introduce the interface IRequireResolving implemented
1471                 by CustomAttribute and SecurityDeclaration for when they can't
1472                 be read without loading another assembly.
1474         * Mono.Cecil/SecurityDeclarationReader.cs:
1475                 Prevent Cecil to crash when it can not get the type
1476                 of the declaration.
1478 2006-10-04  Eyal Alaluf  <eyala@mainsoft.com>
1480         * Mono.Cecil/StructureReader.cs:
1481                 Visit the module we load when a DLL has more then 1 module.
1482           Mono.Cecil/AssemblyNameReference.cs:
1483                 Allow "PublicToken=null" when parsing an assembly full name.
1485 2006-10-03  Jb Evain  <jbevain@gmail.com>
1487         * Mono.Cecil/BaseAssemblyResolver.cs
1488           Mono.Cecil.Binary/ResourceReader.cs:
1489                 CompactFramework fix.
1491 2006-10-02  Jb Evain  <jbevain@gmail.com>
1493         * implement IList on the named collections.
1495         * implement the first bits of Win32 resources handling.
1497         * Mono.Cecil/ReflectionHelper.cs:
1498                 It does not make sense to import the assembly flags.
1500 2006-09-28  Jb Evain  <jbevain@gmail.com>
1502         * Mono.Cecil/MethodDefinitionCollection.cs
1503           Mono.Cecil/ConstructorCollection.cs
1504           Mono.Cecil.Cil/InstructionCollection.cs
1505           CodeGen/templates/IndexedCollection.cs
1506                 Fix StackOverlow.
1508 2006-09-27  Jb Evain  <jbevain@gmail.com>
1510         * *Collection.cs: use CollectionBase when possible.
1512 2006-09-24  Jb Evain  <jbevain@gmail.com>
1514         * Mono.Cecil/AssemblyFactory.cs
1515           Mono.Cecil/ReflectionWriter.cs
1516           Mono.Cecil.Cil/ISymbolStoreFactory.cs
1517           Mono.Cecil.Cil/SymbolStoreHelper.cs:
1518                 Some more work on the debugging infos api.
1520         * Mono.Cecil/MethodDefinitionCollection.cs
1521           Mono.Cecil/ConstructorCollection.cs
1522           CodeGen/templates/IndexedCollection.cs:
1523                 Fix the GetConstructor/GetMethod methods.
1524                 Based on a patch by Jon Chambers.
1526 2006-09-20  Jb Evain  <jbevain@gmail.com>
1528         * Mono.Cecil/StructureWriter.cs
1529           Mono.Cecil/ModuleDefinition.cs
1530           Mono.Cecil/ReflectionWriter.cs
1531           Mono.Cecil/AssemblyFactory.cs
1532           Mono.Cecil.Cil/ISymbolReader.cs
1533           Mono.Cecil.Cil/CodeWriter.cs
1534           Mono.Cecil.Cil/ISymbolWriter.cs
1535           Mono.Cecil.Cil/SymbolStoreHelper.cs:
1536                 Working on the debug infos stuff.
1538         * Mono.Cecil.Signatures/SignatureReader.cs:
1539                 Ensure custom attributes are read when they can be.
1540                 Patch by Sebastien Pouliot.
1542 2006-09-19  Jb Evain  <jbevain@gmail.com>
1544         * Mono.Cecil/ModuleDefinition.cs
1545           Mono.Cecil/ReflectionReader.cs
1546           Mono.Cecil/ReflectionWriter.cs
1547           Mono.Cecil.Cil/Document.cs
1548           Mono.Cecil.Cil/Instruction.cs
1549           Mono.Cecil.Cil/SequencePoint.cs
1550           Mono.Cecil.Cil/CodeReader.cs
1551           Mono.Cecil.Cil/IScopeProvider.cs
1552           Mono.Cecil.Cil/ISymbolReader.cs
1553           Mono.Cecil.Cil/CodeWriter.cs
1554           Mono.Cecil.Cil/ISymbolWriter.cs
1555           Mono.Cecil.Cil/IVariableDefinitionProvider.cs
1556           Mono.Cecil.Cil/SymbolStoreHelper.cs
1557           Mono.Cecil.Cil/ISymbolStoreFactory.cs
1558           Mono.Cecil.Cil/ScopeCollection.cs
1559           Mono.Cecil.Cil/Scope.cs:
1560                 Work on the architecture for debugging infos.
1562         * Mono.Cecil.dll.sources
1563           Mono.Cecil.Cil/Document.cs
1564           Mono.Cecil.Cil/IVariableDefinitionProvider.cs
1565           Mono.Cecil.Cil/SequencePoint.cs
1566           Mono.Cecil.Cil/ScopeCollection.cs
1567           Mono.Cecil.Cil/BaseCodeVisitor.cs
1568           Mono.Cecil.Cil/CodeReader.cs
1569           Mono.Cecil.Cil/IScopeProvider.cs
1570           Mono.Cecil.Cil/MethodBody.cs
1571           Mono.Cecil.Cil/ICodeVisitor.cs
1572           Mono.Cecil.Cil/CodeWriter.cs
1573           Mono.Cecil.Cil/Scope.cs
1574           Mono.Cecil.Cil/VariableDefinitionCollection.cs
1575           CodeGen/cecil.xml:
1576                 First bits of the debug infos stuff.
1578         * Mono.Cecil.Cil/InstructionCollection.cs
1579           CodeGen/templates/IndexedCollection.cs:
1580                 The outside instruction has an offset of -1.
1582         * Mono.Cecil.Cil/OpCodes.cs
1583           Mono.Cecil.Cil/CodeReader.cs
1584           Mono.Cecil.Cil/OpCode.cs
1585           CodeGen/templates/OpCodes.cs:
1586                 Simpliest way of dealing with different opcodes.
1588 2006-09-07  Jb Evain  <jbevain@gmail.com>
1590         * support PE32+ file format.
1592         * Add an Outside instruction to an InstructionCollection.
1593         Cleaner than the old null instruction.
1595         * Mono.Cecil/MarshalSpec.cs
1596           Mono.Cecil/ReflectionReader.cs
1597           Mono.Cecil/ReflectionWriter.cs
1598           CodeGen/cecil-mig.rb:
1599                 Refactor names from Desc to Spec.
1601         * *Collection.cs:
1602                 Remove the unused events stuff.
1604 2006-08-31  Jb Evain  <jbevain@gmail.com>
1606         * /!\ Breaking changes:
1607                 On the way to Cecil 0.5. Remove meaningless interfaces.
1608                 GenericParamAttributes -> GenericParameterAttributes
1609                 ParamAttributes -> ParamAttributes
1611                 I'll provide a migration path with a script.
1613                 Please do not use this revision, other changes are on the way.
1615 2006-08-26  Jb Evain  <jbevain@gmail.com>
1617         * Mono.Cecil/ReflectionReader.cs:
1618                 Fix a bug when reading some parameters.
1620 2006-08-26  Jb Evain  <jbevain@gmail.com>
1622         * Mono.Cecil.Cil/ReflectionWriter.cs:
1623                 Fix the computation of the size of the last opcode in case
1624                 of an exception handler is pointing outside the cil stream.
1626         * Mono.Cecil.Cil/ReflectionWriter.cs:
1627                 Don't use seh tiny headers when the size can't fit in a byte.
1629         * Mono.Cecil.Cil/ReflectionWriter.cs:
1630                 Fix a problem in the computation of the stack when the IL
1631                 is somewhat strange.
1633 2006-08-23  Jb Evain  <jbevain@gmail.com>
1635         * Mono.Cecil/AssemblyInfo.cs:
1636                 Cecil 0.4.3 release.
1638 2006-08-21  Jb Evain  <jbevain@gmail.com>
1640         * Mono.Cecil.Metadata/MetadataWriter.cs:
1641                 Fix a bug in field initial values writing.
1643         * Mono.Cecil/BaseAssemblyResolver.cs:
1644                 Look for assemblies in ./ first
1646 2006-08-17  Jb Evain  <jbevain@gmail.com>
1648         * Mono.Cecil/BaseAssemblyResolver.cs:
1649                 Resolve the corlib depending on its version.
1651         * Mono.Cecil/AssemblyName.cs
1652           Mono.Cecil/BaseAssemblyResolver.cs:
1653                 Implement a AssemblyNameReference.Parse(string)
1655         * Mono.Cecil/TypeReferenceCollection.cs
1656           Mono.Cecil/ExternTypeCollection.cs
1657           Mono.Cecil/TypeDefinitionCollection.cs
1658           CodeGen/templates/NamedCollectionImplem.cs:
1659                 Avoid infinite recursion.
1661         * Mono.Cecil/BaseAssemblyResolver.sc:
1662                 Stay .net 1.1 compatible
1664 2006-08-16  Jb Evain  <jbevain@gmail.com>
1666         * Mono.Cecil/IAssemblyResolver.cs
1667           Mono.Cecil/BaseAssemblyResolver.cs
1668           Mono.Cecil/DefaultAssemblyResolver.cs
1669           Mono.Cecil/AssemblyDefinition.cs
1670                 Implement an assembly resolver.
1672         * Mono.Cecil/ReflectionReader.cs:
1673                 Fix the initial value reading.
1674                 Based on a report and a patch of Roei Erez  <roeie@mainsoft.com>
1676 2006-08-15  Jb Evain  <jbevain@gmail.com>
1678         * Mono.Cecil/TypeReferenceCollection.cs
1679           Mono.Cecil/ExternTypeCollection.cs
1680           Mono.Cecil/TypeDefinitionCollection.cs
1681           CodeGen/templates/NamedCollectionImplem.cs:
1682                 Fix the CopyTo method.
1684 2006-07-19  Jb Evain  <jbevain@gmail.com>
1686         * CodeGen/templates/IIndexedCollection.cs
1687           CodeGen/templates/IndexedCollectionImplem.cs
1688           Mono.Cecil/IConstructorCollection.cs
1689           Mono.Cecil/IMethodDefinitionCollection.cs
1690           Mono.Cecil/MethodDefinitionCollection.cs
1691           Mono.Cecil/ConstructorCollection.cs:
1692                 Add a GetConstructor(bool,ParameterDefinitionCollection) method
1693                 required by the linker.
1695         * Mono.Cecil.Metadata/MetadataReader.cs
1696           Mono.Cecil.Metadata/StringsHeap.cs:
1697                 Read the string on demand, based on the index.
1698                 Needed due to some obfuscators that create a string entry like
1699                 xClassName, and make the pointer points to after the x.
1701 2006-07-03      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
1702         * CodeGen/templates/ImageReader.cs
1703           Mono.Cecil.Binary/ImageReader.cs:
1704                 CompactFramework compatibility.
1706 2006-07-02      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
1708         * CodeGen/templates/ImageReader.cs
1709           Mono.Cecil.Binary/ImageReader.cs:
1710                 Proper FileNotFoundException construction.
1712         * Mono.Cecil/MethodDefinition.cs
1713           Mono.Cecil/IMethod.cs:
1714                 Helper properties IsInternalCall and IsRuntime.
1716 2006-06-21  Jb Evain  <jbevain@gmail.com>
1718         * Mono.Cecil.Cil/CilWorker.cs:
1719                 Fix ldc.i4.s emitting.
1721 2006-06-13  Jb Evain  <jbevain@gmail.com>
1723         * Mono.Cecil/ReflectionWriter.cs:
1724                 Fix for compiling on CF 1.
1725         * Mono.Cecil/StructureReader.cs:
1726                 Fix for a "bug" when csc 7.1 emits an assembly
1727                 with an assembly row, but no blob heap.
1728                 Plus style fix.
1730 2006-06-08  Jb Evain  <jbevain@gmail.com>
1732         * Mono.Cecil/IMethod.cs
1733           Mono.Cecil/MethodDefinition.cs
1734           Mono.Cecil/ReflectionWriter.cs:
1735                 Add a public HasBody property.
1737 2006-06-07  Jb Evain  <jbevain@gmail.com>
1739         * Mono.Cecil/MethodDefinition.cs
1740           Mono.Cecil/ReflectionWriter.cs:
1741                 Read and write method bodies only when allowed.
1743 2006-05-29  Jb Evain  <jbevain@gmail.com>
1745         * Mono.Cecil/IMethodDefinition.cs
1746           Mono.Cecil/MethodDefinition.cs:
1747                 Remove the useless CreateBody method.
1749 2006-05-27  Jb Evain  <jbevain@gmail.com>
1751         * Mono.Cecil/StructureWriter.cs
1752           Mono.Cecil/ReflectionReader.cs
1753           Mono.Cecil/MethodDefinition.cs
1754           Mono.Cecil.Metadata/MetadataToken.cs
1755           Mono.Cecil.Signatures/SignatureReader.cs:
1756                 Play better with mixed mode assemblies.
1758         * Mono.Cecil/SecurityDeclarationReader.cs
1759           Mono.Cecil/ReflectionWriter.cs
1760           Mono.Cecil.Signatures/SignatureReader.cs:
1761                 Read/Write this awful load of crap that is sharepoint.
1763 2006-05-22  Jb Evain  <jbevain@gmail.com>
1765         * Mono.Cecil.Cil/CilWorker.cs:
1766                 Fix #78479. Patch by David Emsellem.
1768 2006-05-20  Jb Evain  <jbevain@gmail.com>
1770         * CodeGen/templates/ImageReader.cs
1771           CodeGen/templates/ImageWriter.cs
1772           Mono.Cecil/AssemblyFactory.cs
1773           Mono.Cecil/StructureWriter.cs
1774           Mono.Cecil/Binary/ImageReader.cs
1775           Mono.Cecil/Binary/Image.cs
1776           Mono.Cecil/Binary/ImageWriter.cs
1777           Mono.Cecil.Metadata/MetadataWriter.cs:
1778                 Optimize assembly writing.
1779                 Add methods to read assemblies from byte arrays.
1781         * Mono.Cecil/StructureWriter.cs:
1782                 Throw an exception when the target is an exe
1783                 and no entry point have been setted.
1784         * Mono.Cecil/AssemblyFactory.cs:
1785                 Add helpers method to defines assemblies.
1786         * Mono.Cecil/MethodDefinition.cs:
1787                 Set the hasThis flag to the correct value.
1788         * Mono.Cecil.Cil/CodeReader.cs:
1789                 Remove old comment.
1790         * Mono.Xml/SmallXmlParser.cs:
1791                 Make private.
1793 2006-05-18  Jb Evain  <jbevain@gmail.com>
1795         * CodeGen/templates/MetadataTableReader.cs
1796           Mono.Cecil.Metadata/MetadataTableReader.cs
1797           Mono.Cecil.Metadata/TableCollection.cs
1798           Mono.Cecil.Metadata/TablesHeap.cs:
1799                 Optimize a little bit.
1801         * CodeGen/templates/MetadataTableWriter.cs
1802           Mono.Cecil.Metadata/MetadataTableWriter.cs
1803           Mono.Cecil.Metadata/TableCollection.cs:
1804                 Fix for last changeset.
1806         * Mono.Cecil.Metadata/RIdAttribute.cs:
1807                 deleted.
1809         * Mono.Cecil/ReflectionReader.cs
1810           Mono.Cecil/StructureReader.cs
1811           Mono.Cecil/ReflectionWriter.cs
1812           Mono.Cecil/AggressiveReflectionReader.cs
1813           Mono.Cecil.Cil/CodeReader.cs
1814           CodeGen/templates/Utilities.cs
1815           CodeGen/templates/MetadataTableReader.cs
1816           CodeGen/templates/MetadataTableWriter.cs
1817           CodeGen/templates/Table.cs
1818           CodeGen/templates/MetadataRowReader.cs
1819           CodeGen/templates/MetadataRowWriter.cs
1820           Mono.Cecil.Metadata/Assembly.cs
1821           Mono.Cecil.Metadata/InterfaceImpl.cs
1822           Mono.Cecil.Metadata/PropertyMap.cs
1823           Mono.Cecil.Metadata/Constant.cs
1824           Mono.Cecil.Metadata/MethodSpec.cs
1825           Mono.Cecil.Metadata/DeclSecurity.cs
1826           Mono.Cecil.Metadata/TypeDef.cs
1827           Mono.Cecil.Metadata/GenericParamConstraint.cs
1828           Mono.Cecil.Metadata/MethodImpl.cs
1829           Mono.Cecil.Metadata/NestedClass.cs
1830           Mono.Cecil.Metadata/MetadataTableReader.cs
1831           Mono.Cecil.Metadata/AssemblyRefProcessor.cs
1832           Mono.Cecil.Metadata/AssemblyRef.cs
1833           Mono.Cecil.Metadata/AssemblyRefOS.cs
1834           Mono.Cecil.Metadata/Method.cs
1835           Mono.Cecil.Metadata/MetadataTableWriter.cs
1836           Mono.Cecil.Metadata/MetadataRowReader.cs
1837           Mono.Cecil.Metadata/ExportedType.cs
1838           Mono.Cecil.Metadata/CustomAttribute.cs
1839           Mono.Cecil.Metadata/Param.cs
1840           Mono.Cecil.Metadata/ClassLayout.cs
1841           Mono.Cecil.Metadata/MetadataRowWriter.cs
1842           Mono.Cecil.Metadata/Utilities.cs
1843           Mono.Cecil.Metadata/AssemblyOS.cs
1844           Mono.Cecil.Metadata/ModuleRef.cs
1845           Mono.Cecil.Metadata/FieldMarshal.cs
1846           Mono.Cecil.Metadata/GenericParam.cs
1847           Mono.Cecil.Metadata/ImplMap.cs
1848           Mono.Cecil.Metadata/TableCollection.cs
1849           Mono.Cecil.Metadata/TablesHeap.cs
1850           Mono.Cecil.Metadata/TypeRef.cs
1851           Mono.Cecil.Metadata/ManifestResource.cs
1852           Mono.Cecil.Metadata/File.cs
1853           Mono.Cecil.Metadata/EventMap.cs
1854           Mono.Cecil.Metadata/AssemblyProcessor.cs
1855           Mono.Cecil.Metadata/FieldLayout.cs
1856           Mono.Cecil.Metadata/Event.cs
1857           Mono.Cecil.Metadata/Field.cs
1858           Mono.Cecil.Metadata/Property.cs
1859           Mono.Cecil.Metadata/Module.cs
1860           Mono.Cecil.Metadata/MethodSemantics.cs
1861           Mono.Cecil.Metadata/StandAloneSig.cs
1862           Mono.Cecil.Metadata/FieldRVA.cs
1863           Mono.Cecil.Metadata/TypeSpec.cs
1864           Mono.Cecil.Metadata/IMetadataTable.cs
1865           Mono.Cecil.Metadata/MemberRef.cs:
1866                 Fix the way the metadata tables are handled.
1868         * Mono.Cecil.Signatures/SignatureWriter.cs:
1869                 Fix bug in string writing.
1871 2006-05-12  Jb Evain  <jbevain@gmail.com>
1873         * Mono.Cecil/AssemblyInfo.cs:
1874                 Hide the info if Cecil is embedded.
1876 2006-05-09  Jb Evain  <jbevain@gmail.com>
1878         * cecil.build: rename to default.build
1880 2006-05-08  Jb Evain  <jbevain@gmail.com>
1882         * Makefile:
1883                 Sign the assembly.
1885         * cecil.csproj:
1886                 Add an msbuild file.
1888 2006-05-05  Jb Evain  <jbevain@gmail.com>
1890         * Mono.Cecil/AssemblyFactory.cs
1891           Mono.Cecil/StructureReader.cs
1892           Mono.Cecil/ModuleDefinition.cs:
1893                 Add an AssemblyFactory.GetAssemblyManifest method.
1895 2006-05-04  Jb Evain  <jbevain@gmail.com>
1897         * Mono.Cecil/TableComparers.cs:
1898                 TypeDef.Compare: the name is enough against <Module>.
1900         * Mono.Cecil/ReflectionWriter.cs:
1901                 Fix writing of namedargs in custom attributes.
1903 2006-04-26  Jb Evain  <jbevain@gmail.com>
1905         * Mono.Cecil.Signatures/SignatureReader.cs:
1906                 Don't create tons of hashtables.
1908 2006-04-24  Jb Evain  <jbveain@gmail.com>
1910        * Mono.Cecil.Cil/MethodBody.cs:
1911                Fix cloning.
1913 2006-04-21  Jb Evain  <jbevain@gmail.com>
1915         * Mono.Cecil/AssemblyFactory.cs
1916           Mono.Cecil.Binary/MemoryBinaryWriter.cs:
1917                 Use MemoryStream::WriteTo when it's possible.
1919 2006-04-21      Rodrigo B. de Oliveira  <rodrigobamboo@gmail.com>
1921         * Mono.Cecil/SecurityDeclaration.cs
1922           Mono.Cecil/ISecurityDeclaration.cs
1923           Mono.Cecil/SecurityDeclarationCollection.cs
1924           Mono.Cecil/ModuleDefinition.cs:
1925                 Patch by Almann T. Goo (almann.goo@gmail.com) conditionally
1926                 removing references to PermissionSet when compiling for the CompactFramework.
1928         * Mono.Cecil/CompactFrameworkCompatibility.cs:
1929                 System.Security.PermissionSet definition no longer needed.
1931 2006-04-21  Jb Evain  <jbevain@gmail.com>
1933         * *Collection.cs:
1934                 Fix typo in RemoveAt.
1936 2006-04-20  Jb Evain  <jbevain@gmail.com>
1938         * Mono.Cecil/ReflectionWriter.cs:
1939                 Fix writing of complex arrays.
1940                 Now we roundtrip SharpDevelop.
1942         * Mono.Cecil/ReflectionWriter.cs
1943           Mono.Cecil/TableComparers.cs:
1944                 Ensure <Module> will always be the first type.
1945                 Fix roundtrip of Nemerle.
1947 2006-04-19  Jb Evain  <jbevain@gmail.com>
1949         * Mono.Cecil.Cil/CodeWriter.cs:
1950                 Handle the case where an handler points after the last
1951                 instruction. Now we roundtrip db4o.
1953         * Mono.Cecil/IIndexedCollection.cs:
1954           *Collection.cs:
1955                 Make every collection implement an indexed collection.
1957 2006-04-15  Jb Evain  <jbevain@gmail.com>
1959         * Mono.Cecil/CustomAttribute.cs:
1960                 Fix handling of types.
1962 2006-04-11  Jb Evain  <jbevain@gmail.com>
1964         * Mono.Cecil/FieldDefinition.cs
1965           Mono.Cecil/ReflectionReader.cs
1966           Mono.Cecil/TypeDefinition.cs
1967           Mono.Cecil/IField.cs
1968           Mono.Cecil/ITypeDefinition.cs
1969           Mono.Cecil/ReflectionWriter.cs
1970           Mono.Cecil/AggressiveReflectionReader.cs
1971           Mono.Cecil.Cil/IVariable.cs
1972           Mono.Cecil.Cil/MethodBody.cs
1973           Mono.Cecil.Cil/VariableDefinition.cs
1974           Mono.Cecil.Cil/CodeWriter.cs:
1975                 Don't use interfaces internally.
1977         * Mono.Cecil/TypeReference.cs:
1978                 Make TypeReference extend MemberReference.
1980         * Mono.Cecil/Modifiers.cs
1981           Mono.Cecil.Cil/CodeReader.cs
1982           Mono.Cecil.Cil/CodeWriter.cs
1983           Mono.Cecil.Signatures/LocalVarSig.cs
1984           Mono.Cecil.Signatures/SignatureReader.cs:
1985                 Fix modifiers on localvar signatures.
1986                 Fix roundtrip of delphi assemblies.
1988         * Mono.Cecil/CustomAttribute.cs
1989           Mono.Cecil/ReflectionReader.cs
1990           Mono.Cecil/ReflectionWriter.cs
1991           Mono.Cecil.Signatures/SignatureWriter.cs:
1992                 Work on complex custom attributes encoding.
1994         * Mono.Cecil/TableComparers.cs:
1995                 Style.
1997 2006-04-09  Eyal Alaluf  <eyala@mainsoft.com>
1999     * Mono.Cecil/ReflectionReader.cs
2000             Cannot assume that TypeRefs are ordered is such a way that an outer
2001                 class index comes always before all its inner classes.
2003 2006-04-06  Jb Evain  <jbevain@gmail.com>
2005         * Mono.Cecil/ReflectionWriter.cs
2006           Mono.Cecil.Signatures/SignatureWriter.cs:
2007                 Clean up things a little bit prior ending
2008                 custom attribute encoding.
2010         * Mono.Cecil/ReflectionWriter.cs:
2011                 Write custom attributes of parameters
2012                 onyl when all methods have their tokens.
2014         * Mono.Cecil/ReflectionReader.cs
2015           Mono.Cecil/ReflectionWriter.cs
2016           Mono.Cecil/AggressiveReflectionReader.cs:
2017                 Handle custom attributes on generic parameters.
2019 2006-04-05  Jb Evain  <jbevain@gmail.com>
2021         * Mono.Cecil/ReflectionWriter.cs:
2022                 Ensure the param[0] is written when it should be.
2024 2006-04-04  Jb Evain  <jbevain@gmail.com>
2026         * Mono.Cecil/ReflectionHelper.cs:
2027                 Remove an unused hack.
2029         * Mono.Cecil/AssemblyInfo.cs: Go 0.4.1
2031         * Mono.Cecil.Metadata/MetadataHeap.cs
2032           Mono.Cecil.Metadata/MetadataStream.cs:
2033                 Read #- stream has well.
2035         * Mono.Cecil/ReflectionHelper.cs:
2036                 Implement Import stuff for System.Type and SR.*
2038 2006-04-03      Rodrigo B. de Oliveira  <rodrigobamboo@gmail.com>
2040         * Mono.Cecil/SecurityDeclarationReader.cs
2041           Mono.Cecil/TypeReferenceCollection.cs
2042           Mono.Cecil/CompactFrameworkCompatibility.cs
2043           Mono.Cecil/AssemblyFactory.cs
2044           Mono.Cecil/AssemblyName.cs
2045           Mono.Cecil/ExternTypeCollection.cs
2046           Mono.Cecil/TypeDefinitionCollection.cs
2047           CodeGen/templates/NamedCollectionImplem.cs
2048           Mono.Cecil.Metadata/CultureUtils.cs
2049           cecil.build:
2050                 CompactFramework 2.0 support through CF_2_0 compilation symbol.
2052 2006-04-03  Jb Evain  <jbevain@gmail.com>
2054         * Mono.Cecil.dll.sources
2055           Mono.Cecil/GenericParameter.cs
2056           Mono.Cecil/ReflectionHelper.cs
2057           Mono.Cecil/FieldDefinition.cs
2058           Mono.Cecil/CustomAttribute.cs
2059           Mono.Cecil/TypeDefinition.cs
2060           Mono.Cecil/IModuleDefinition.cs
2061           Mono.Cecil/ImportContext.cs
2062           Mono.Cecil/AssemblyName.cs
2063           Mono.Cecil/MethodDefinition.cs
2064           Mono.Cecil/EventDefinition.cs
2065           Mono.Cecil/ModuleDefinition.cs
2066           Mono.Cecil/ReflectionWriter.cs
2067           Mono.Cecil/GenericContext.cs
2068           Mono.Cecil/ParameterDefinition.cs
2069           Mono.Cecil/PropertyDefinition.cs
2070           Mono.Cecil.Cil/MethodBody.cs:
2071                 Work on generic assemblies manipulation via
2072                 import stuff.
2074 2006-03-31  Jb Evain  <jbevain@gmail.com>
2076         * Mono.Cecil/AssemblyFlags.cs:
2077                 Add a Retargetable flag used on the CF.
2079 2006-03-30  Jb Evain  <jbevain@gmail.com>
2081         * Mono.Cecil/SecurityDeclarationReader.cs:
2082                 Don't crash if the declaration is empty.
2084         * Mono.Cecil/ParamAttributes.cs:
2085                 Update the Optional flag.
2086           Mono.Cecil/ReflectionWriter.cs:
2087                 Fix the encoding of nullref.
2088                 Fixes #77959. Based on a patch by
2089                 Armand Du Plessis < armand@dotnet.org.za>
2091 2006-03-29  Jb Evain  <jbevain@gmail.com>
2093         * Mono.Cecil/IHasSecurity.cs
2094           Mono.Cecil/IHasConstant.cs
2095           Mono.Cecil/IHasMarshalSpec.cs:
2096           Mono.Cecil/MethodReturnType.cs
2097           Mono.Cecil/AssemblyDefinition.cs:
2098                 Implement IMetadataTokenProvider.
2100         * Mono.Cecil/StructureReader.cs
2101           Mono.Cecil/ReflectionWriter.cs:
2102                 Use more the token providers.
2104 2006-03-28  Jb Evain  <jbevain@gmail.com>
2106         * Mono.Cecil/ReflectionReader.cs
2107           Mono.Cecil/MarshalDesc.cs
2108           Mono.Cecil/IMarshalSpec.cs
2109           Mono.Cecil/ReflectionWriter.cs:
2110                 Fix round-tripping of assemblies using
2111                 COM stuff.
2113 2006-03-27  Jb Evain  <jbevain@gmail.com>
2115         * Mono.Cecil.Metadata/MetadataToken.cs:
2116                 Override GetHashCode as we override Equals.
2118         * Mono.Cecil/TableComparers.cs:
2119                 Fix the ordering of generic parameters.
2120                 This revision roundtrips C5. Yeah!
2122         * Mono.Cecil/ReflectionWriter.cs:
2123                 Fix method spec "caching"
2124           Mono.Cecil.Cil/OpCode.cs:
2125                 Override ToString ();
2126           Mono.Cecil.Metadata/MetadataToken.cs:
2127                 Implement operator ==
2129         * Mono.Cecil/ReflectionWriter.cs
2130           Mono.Cecil/TableComparers.cs:
2131                 Better handling of generic tables sorting.
2133         * Mono.Cecil/ReflectionWriter.cs
2134           Mono.Cecil/TableComparers.cs:
2135                 Sort generic tables as well.
2137 2006-03-27      Rodrigo B. de Oliveira  <rodrigobamboo@gmail.com>
2138         * Mono.Cecil.Metadata/MetadataWriter.cs:
2139                 Use CompactFramework compatible version of
2140                 System.Convert.ToBase64String.
2142 2006-03-27  Jb Evain  <jbevain@gmail.com>
2144         * Mono.Cecil.dll.sources
2145           Mono.Cecil/GenericParameter.cs
2146           Mono.Cecil/ConstraintCollection.cs
2147           Mono.Cecil/IGenericParameter.cs
2148           Mono.Cecil/IConstraintCollection.cs
2149           CodeGen/cecil.xml:
2150                 Add a ConstraintCollection to be used within
2151                 generic parameters.
2153         * Mono.Cecil/GenericInstanceType.cs:
2154                 Correctly return if the instance is a value type
2155                 or not.
2157 2006-03-25  Jb Evain  <jbevain@gmail.com>
2159         * Mono.Cecil/ModuleDefinition.cs:
2160                 Support the unreadable security declarations
2161                 when converting one to byte [].
2163         * Mono.Cecil/IModuleDefinition.cs
2164           Mono.Cecil/ModuleDefinition.cs
2165           Mono.Cecil/ReflectionWriter.cs:
2166                 Add a FullLoad method on a module.
2168         * Mono.Cecil/StructureWriter.cs
2169           Mono.Cecil/ReflectionWriter.cs:
2170                 Fix a  few bugs in generics type emitting.
2172         * Mono.Cecil.Cil/CodeWriter.cs:
2173                 Cache local sig as well.
2175 2006-03-24  Jb Evain  <jbevain@gmail.com>
2177         * Mono.Cecil/ReflectionWriter.cs:
2178                 Cache method specs as well.
2180         * CodeGen/templates/ImageWriter.cs
2181           Mono.Cecil.Metadata/MetadataWriter.cs
2182           Mono.Cecil.Binary/ImageWriter.cs:
2183                 Replace the foreach char pattern by
2184                 Encoding.GetBytes
2186 2006-03-23  Jb Evain  <jbevain@gmail.com>
2188         * Mono.Cecil/TypeReferenceCollection.cs
2189           Mono.Cecil/ExternTypeCollection.cs
2190           Mono.Cecil/TypeDefinitionCollection.cs
2191           CodeGen/templates/NamedCollectionImplem.cs
2192           CodeGen/templates/ImageReader.cs:
2193                 Ensure type with the same name are added
2194                 to the collection.
2196         * Mono.Cecil.Metadata/MetadataWriter.cs:
2197                 Ensure every blob signature is unique.
2199         * Mono.Cecil/IModuleDefinition.cs
2200           Mono.Cecil/ModuleDefinition.cs:
2201                 Rename method to avoid confusion.
2203 2006-03-22  Jb Evain  <jbevain@gmail.com>
2205         * Mono.Cecil.Cil/CodeWriter.cs:
2206                 Precisely detect whether we emit fat seh or not.
2208         * Mono.Cecil/ReflectionWriter.cs:
2209                 Avoid duplicates in the typespec table.
2211 2006-03-21  Jb Evain  <jbevain@gmail.com>
2213         * Mono.Cecil/ReflectionWriter.cs:
2214                 Correctly write generic parameters.
2216         * Mono.Cecil/SecurityDeclarationReader.cs
2217           Mono.Cecil/SecurityDeclaration.cs
2218           Mono.Cecil/ReflectionWriter.cs:
2219                 Fix for security declarations reading on .net 2.0.
2221         * Mono.Cecil/ReflectionReader.cs
2222           Mono.Cecil/GenericContext.cs:
2223                 Fix test case RoundtripTestFixture.boo.
2225 2006-03-20  Jb Evain  <jbevain@gmail.com>
2227         * Mono.Cecil.Metadata/MetadataReader.cs:
2228                 #Strings heap is utf8, fix #77820.
2230 2006-03-08  Jb Evain  <jbevain@gmail.com>
2232         * CodeGen/cecil-gen-tests.rb
2233           CodeGen/templates/Tests.cs:
2234                 Start of a very small infrastructure to use tests from
2235                 rotor/mono with Cecil.
2237         * Mono.Cecil/IMethod.cs
2238           Mono.Cecil/TypeDefinition.cs
2239           Mono.Cecil/MethodDefinition.cs
2240           Mono.Cecil.Cil/CodeReader.cs
2241           Mono.Cecil.Cil/CodeWriter.cs:
2242                 Add support for the very special case ldarg 0.
2243                 Patch idea by Vladislav Spivak <spivak@mainsoft.com>
2245 2006-03-07  Jb Evain  <jbevain@gmail.com>
2247         * CodeGen/templates/ImageReader.cs
2248           Mono.Cecil/AssemblyFactory.cs
2249           Mono.Cecil/StructureReader.cs
2250           Mono.Cecil.Binary/Image.cs
2251           Mono.Cecil.Binary/ImageReader.cs:
2252                 Allow users to get a loaded image using
2253                 Image.GetImage as they have no access to
2254                 the ImageReader.
2256 2006-03-06  Jb Evain  <jbevain@gmail.com>
2258         * Mono.Cecil.Signatures/SignatureReader.cs:
2259                 Fix array reading in custom attributes.
2261 2006-03-06  Joshua Tauberer <tauberer@for.net>
2263         * Mono.Cecil/TypeAttributes.cs: Fixed typo
2264           in value for Abstract.
2266 2006-02-27  Jb Evain  <jbevain@gmail.com>
2268         * CodeGen/templates/IndexedCollectionImplem.cs
2269           CodeGen/templates/IIndexedCollection.cs
2270           Mono.Cecil.Cil/InstructionCollection.cs
2271           Mono.Cecil.Cil/IInstructionCollection.cs:
2272                 Small API fix, prevent the user from not using
2273                 the CilWorker.
2275         * Mono.Cecil.Cil/CodeReader.cs
2276           Mono.Cecil.Cil/Label.cs:
2277                 Remove Label.
2279         * Mono.Cecil/ReflectionReader.cs:
2280                 Fix typo.
2282 2006-02-20  Jb Evain  <jbevain@gmail.com>
2284         * Mono.Cecil.Signatures/SignatureWriter.cs:
2285                 Fix a bug when a value is null in a custom attribute.
2287 2006-02-20  Sebastien Pouliot  <sebastien@ximian.com>
2289         * Mono.Cecil.Metadata/MetadataWriter.cs:
2290                 Fix GetStrongNameSignatureSize to handle the ECMA pseudo-key.
2292 2006-02-07  Jb Evain  <jbevain@gmail.com>
2294         * Mono.Cecil/AssemblyInfos.cs:
2295                 Tag this version 0.3, as users are happy with it.
2297 2006-01-26  Jb Evain  <jbevain@gmail.com>
2299         * Mono.Cecil/CustomAttribute.cs:
2300                 Fix cloning of non readable attributes.
2302         * Mono.Cecil/ReflectionReader.cs
2303           Mono.Cecil/ReflectionWriter.cs
2304           Mono.Cecil.Signatures/MethodRefSig.cs
2305           Mono.Cecil.Signatures/SignatureWriter.cs
2306           Mono.Cecil.Signatures/MethodDefSig.cs:
2307                 Work on generics.
2309         * Mono.Cecil/ArrayType.cs
2310           Mono.Cecil/ReferenceType.cs
2311           Mono.Cecil/PointerType.cs:
2312                 Fix names of typespecs.
2314         * Mono.Cecil/TypeReferenceCollection.cs
2315           Mono.Cecil/ExternTypeCollection.cs
2316           CodeGen/templates/NamedCollectionImplem.cs:
2317                 Allow multiple key by names in type references.
2319 2006-01-25  Jb Evain  <jbevain@gmail.com>
2321         * Mono.Cecil/AssemblyFactory.cs:
2322                 Don't trap exceptions.
2324         * Mono.Cecil/GenericParameter.cs
2325           Mono.Cecil/IMethod.cs
2326           Mono.Cecil/GenericInstanceType.cs
2327           Mono.Cecil/TypeReference.cs
2328           Mono.Cecil/GenericInstanceMethod.cs
2329           Mono.Cecil/ReflectionReader.cs
2330           Mono.Cecil/TypeDefinition.cs
2331           Mono.Cecil/IGenericArgumentCollection.cs
2332           Mono.Cecil/ITypeReference.cs
2333           Mono.Cecil/IGenericInstance.cs
2334           Mono.Cecil/GenericArgumentCollection.cs
2335           Mono.Cecil/MethodDefinition.cs
2336           Mono.Cecil/MethodReference.cs
2337           Mono.Cecil/ITypeDefinition.cs
2338           Mono.Cecil/IGenericArgumentProvider.cs
2339           Mono.Cecil/ReflectionWriter.cs
2340           Mono.Cecil/GenericContext.cs
2341           CodeGen/cecil.xml:
2342                 Clean the generic api. This is not stable yet.
2344 2006-01-24  Jb Evain  <jbevain@gmail.com>
2346         * Mono.Cecil/ArrayType.cs:
2347                 Bug reported by  Vladislav Spivak (spivak@mainsoft.com).
2348                 Fix a bug in array handling.
2349         * Mono.Cecil/ConstructorCollection.cs
2350           CodeGen/templates/IndexedCollectionImplem.cs:
2351                 Bug reported by Oleg Varchovsky (olegv@mainsoft.com).
2352                 Fix the lookup of constructors.
2354 2006-01-19  Jb Evain  <jbevain@gmail.com>
2356         * Mono.Cecil/AssemblyName.cs:
2357                 Fix computation of public key token.
2359 2006-01-18  Jb Evain  <jbevain@gmail.com>
2361         * Mono.Cecil.Cil/CodeWriter.cs
2362           Mono.Cecil.Metadata/MetadataToken.cs:
2363                 Add an use an ToUInt method and use it.
2364           CodeGen/templates/DebugHeader.cs
2365           Mono.Cecil.Binary/DebugHeader.cs:
2366                 Fix the size of the debug header.
2368         * Mono.Cecil/ModuleReference.cs
2369           Mono.Cecil/AssemblyName.cs
2370           Mono.Cecil/StructureReader.cs
2371           Mono.Cecil/IMetadataScope.cs:
2372                 Make IMetadataScope implement IMetadataTokenProvider.
2373         * Mono.Cecil/ReflectionWriter.cs:
2374                 Fix a typo when saving nested type refs.
2376 2006-01-17  Jb Evain  <jbevain@gmail.com>
2378         * Mono.Cecil/ArrayType.cs
2379           Mono.Cecil/ArrayDimension.cs
2380           Mono.Cecil/ReflectionWriter.cs:
2381                 End arrays support.
2383 2006-01-03  Jb Evain  <jbevain@gmail.com>
2385         * Mono.Cecil/GenericParameter.cs
2386           Mono.Cecil/ReflectionHelper.cs
2387           Mono.Cecil/ReflectionReader.cs
2388           Mono.Cecil/GenericContext.cs:
2389                 Work on generics.
2391 2005-12-31  Jb Evain  <jbevain@gmail.com>
2393         * Mono.Cecil/ReflectionHelper.cs:
2394                 Fix import of type specs.
2396 2005-12-30  Jb Evain  <jbevain@gmail.com>
2398         * CodeGen/templates/ImageReader.cs
2399           Mono.Cecil.Metadata/MetadataReader.cs
2400           Mono.Cecil.Binary/Image.cs
2401           Mono.Cecil.Binary/ImageReader.cs:
2402                 Add support to assemblies where the metadata is defined
2403                 outside of the text section. (c++/cli /safe for instance)
2405 2005-12-23  Jb Evain  <jbevain@gmail.com>
2407         * Mono.Cecil/AssemblyInfo.cs:
2408                 Version 0.2.2.2 devel.
2410         * Mono.Cecil/AssemblyInfo.cs:
2411                 Version 0.2 to be released.
2413         * Mono.Cecil/ReflectionWriter.cs:
2414                 IGenericInstance are typespecs as well.
2416         * Mono.Cecil/ArrayType.cs:
2417                 Add a single dimension in the default ctor.
2418         * Mono.Cecil/ReflectionReader.cs:
2419                 Don't manually add the default dimension as it's done
2420                 int the array type ctor.
2421         * Mono.Cecil/ReflectionHelper.cs:
2422                 Import type specs.
2424 2005-12-22  Jb Evain  <jbevain@gmail.com>
2426         * Mono.Cecil/ReflectionWriter:
2427                 Write pinvoke infos as well.
2429         * Mono.Cecil/ReflectionReader.cs:
2430                 Unsure that primitive value types are viewed as
2431                 value types.
2433         * CodeGen/templates/Section.cs
2434           CodeGen/templates/ImageReader.cs
2435           Mono.Cecil.Metadata/MetadataReader.cs
2436           Mono.Cecil.Binary/Image.cs
2437           Mono.Cecil.Binary/Section.cs
2438           Mono.Cecil.Binary/ImageReader.cs:
2439                 Simplify the way you read binary data whithin
2440                 high level layer.
2442         * Mono.Cecil.Cil/CodeReader.cs:
2443                 Make helper methods public static.
2444         * Mono.Cecil/ReflectionReader.cs:
2445                 Don't try to get the entry point method
2446                 if it don't point on a valid method RID.
2448         * CodeGen/templates/NamedCollectionImplem.cs
2449           Mono.Cecil/ExternTypeCollection.cs
2450           Mono.Cecil/TypeDefinitionCollection.cs
2451           Mono.Cecil/TypeReferenceCollection.cs:
2452                 Don't add existing values.
2454         * Mono.Cecil/ModuleDefinition.cs:
2455                 Protect import from null refs.
2457 2005-12-21  Jb Evain  <jbevain@gmail.com>
2459         * Mono.Cecil/StructureWriter.cs:
2460                 Don't increment pdb age. Not Cecil's job.
2462         * Mono.Cecil.Cil/ICilWorker.cs
2463           Mono.Cecil.Cil/CilWorker.cs:
2464                 Add a new replace method.
2466 2005-12-20  Jb Evain  <jbevain@gmail.com>
2468         * Mono.Cecil/StructureWriter.cs:
2469                 Ensure every assembly reference is processed.
2471         * Mono.Cecil/ReflectionHelper.cs:
2472                 Don't assume the cache is magically loaded.
2473                 Aka: most stupid bug of the year.
2475 2005-12-19  Jb Evain  <jbevain@gmail.com>
2477         * CodeGen/templates/DebugHeader.cs
2478           Mono.Cecil.Binary/DebugHeader.cs
2479           Mono.Cecil.Binary/DebugStoreType.cs:
2480                 New files to store debug header infos.
2481         * Mono.Cecil.dll.sources: updated
2482         * CodeGen/cecil.xml
2483           CodeGen/cecil-gen.rb
2484           Mono.Cecil/StructureWriter.cs
2485           Mono.Cecil.Binary/IBinaryVisitor.cs
2486           Mono.Cecil.Binary/ImageWriter.cs
2487           Mono.Cecil.Binary/Image.cs
2488           Mono.Cecil.Binary/ImageInitializer.cs
2489           Mono.Cecil.Binary/BaseImageVisitor.cs
2490           Mono.Cecil.Binary/ImageReader.cs
2491           Mono.Cecil.Metadata/MetadataWriter.cs:
2492                 Read and write debug header.
2494         * CodeGen/templates/ImageWriter.cs
2495           Mono.Cecil.Binary/ImageWriter.cs:
2496                 Revert revision 54409.
2498 2005-12-14  Jb Evain  <jbevain@gmail.com>
2500         * Mono.Cecil.Cil/ICilWorker.cs
2501           Mono.Cecil.Cil/CilWorker.cs:
2502                 Add a remove method.
2504         * CodeGen/templates/ImageWriter.cs
2505           Mono.Cecil.Binary/ImageWriter.cs:
2506                 Don't allocate potential big arrays here.
2508 2005-12-13  Jb Evain  <jbevain@gmail.com>
2510         * Mono.Cecil.Metadata/MetadataWriter.cs:
2511                 Set the correct version for .net 2 assemblies.
2512                 Correctly write embedded resources.
2513                 Fix #76963.
2515 2005-12-03  Jb Evain  <jbevain@gmail.com>
2517         * Mono.Cecil/MethodSpecification.cs:
2518                 Override the declaring type and the name property to
2519                 match the inner method.
2520         * Mono.Cecil/GenericInstanceType.cs:
2521                 Correctly set the FullName.
2522         * Mono.Cecil/GenericInstanceMethod.cs:
2523                 Style.
2525 2005-12-02  Jb Evain  <jbevain@gmail.com>
2527         * Mono.Cecil/TypeDefinition.cs:
2528                 Fix interface import. Patch by Thomas Gil.
2530 2005-11-24  Jb Evain  <jbevain@gmail.com>
2532         * CodeGen/cecil-gen.rb
2533           CodeGen/templates/MetadataTableReader.cs
2534           CodeGen/templates/PEFileHeader.cs
2535           CodeGen/templates/CLIHeader.cs
2536           CodeGen/templates/PEOptionalHeader.cs
2537           CodeGen/templates/Table.cs
2538           CodeGen/templates/MetadataRowReader.cs
2539           CodeGen/templates/OpCodes.cs
2540           CodeGen/templates/Section.cs
2541           CodeGen/templates/ImageReader.cs:
2542                 Update the codegen engine so that everyone can run it
2543                 without having to install a dependency (eruby).
2545         * Mono.Cecil.Metadata/Utilities.cs: re-codegenerated.
2547 2005-11-23  Jb Evain  <jbevain@gmail.com>
2549         * Mono.Cecil/IGenericArgumentProvider.cs
2550                 Style.
2551         * CodeGen/cecil.xml:
2552                 Mirror Martin's change in the codegen engine.
2554 2005-11-23  Martin Baulig  <martin@ximian.com>
2556         Generics API changes:
2557         TypeReference and MethodReference now contain a
2558         `GenericArguments' property (of type `GenericArgumentCollection')
2559         and `GenericParameters' is moved into TypeDefinition/MethodDefinition.
2561         * Mono.Cecil/IGenericArgumentProvider.cs: New file.
2562         (IGenericArgumentProvider): New public interface.
2564         * Mono.Cecil/IGenericArgumentCollection.cs
2565         (IGenericArgumentCollection.Container): Changed type from
2566         `IGenericInstance' -> `IGenericArgumentProvider'.
2568         * Mono.Cecil/IGenericInstance.cs
2569         (IGenericInstance.Arguments): Renamed to `GenericArguments'.
2571         * Mono.Cecil/ITypeReference.cs
2572         (ITypeReference): Implement `IGenericArgumentProvider' instead of
2573         `IGenericParameterProvider'.
2575         * Mono.Cecil/ITypeDefinition.cs
2576         (ITypeDefinition): Implement `IGenericParameterProvider'.
2578         * Mono.Cecil/IMethod.cs
2579         (IMethodReference): Implement `IGenericArgumentProvider' instead of
2580         `IGenericParameterProvider'.
2581         (IMethodDefinition): Implement `IGenericParameterProvider'.
2583         * Mono.Cecil/TypeReference.cs
2584         (TypeReference.GenericParameters): Removed.
2585         (TypeReference.GenericArguments): New public property.
2587         * Mono.Cecil/TypeDefinition.cs
2588         (TypeDefinition.GenericParameters): New public property.
2589         (TypeDefinition.OnGenericParameterAdded): If a generic parameter
2590         is added, also add it to the `GenericArguments'.
2592         * Mono.Cecil/MethodReference.cs
2593         (MethodReference.GenericParameters): Removed.
2594         (MethodReference.GenericArguments): New public property.
2596         * Mono.Cecil/MethodDefinition.cs
2597         (MethodDefinition.GenericParameters): New public property.
2598         (MethodDefinition.OnGenericParameterAdded): If a generic parameter
2599         is added, also add it to the `GenericArguments'.
2601         * Mono.Cecil/GenericInstanceType.cs
2602         (GenericInstanceType): Removed the `m_arguments' field; we now
2603         inherit the `GenericArguments' property from `TypeReference'.
2605         * Mono.Cecil/GenericInstanceMethod.cs
2606         (GenericInstanceMethod): Removed the `m_arguments' field; we now
2607         inherit the `GenericArguments' property from `MethodReference'.
2609         * Mono.Cecil/GenericContext.cs
2610         (GenericContext): We now operate on type/method references and not
2611         definitions.
2612         (GenericContext.Type): Changed type to `TypeReference'.
2613         (GenericContext.Method): Changed type to `MethodReference'.
2615 2005-11-23  Martin Baulig  <martin@ximian.com>
2617         * Mono.Cecil.Metadata/TokenType.cs: Added `GenericParam'.
2619         * Mono.Cecil.Metadata/Utilities.cs
2620         (GetMetadataToken): In `case CodedIndex.HasCustomAttribute', add
2621         `TokenType.GenericParam'.
2623 2005-11-22  Jb Evain  <jbevain@gmail.com>
2625         * Mono.Cecil/IMethodDefinitionCollection.cs
2626           Mono.Cecil/MethodDefinitionCollection.cs
2627           CodeGen/templates/IndexedCollectionImplem.cs
2628           CodeGen/templates/IIndexedCollection.cs:
2629                 Add a new search method.
2630         * CodeGen/templates/NamedCollectionImplem.cs
2631           Mono.Cecil/TypeReferenceCollection.cs
2632           Mono.Cecil/ExternTypeCollection.cs
2633           Mono.Cecil/TypeDefinitionCollection.cs:
2634                 Style.
2636 2005-11-13      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
2637         * Mono.Cecil/ReflectionReader.cs
2638                 Fix for NRE when reading assemblies with a field initializer
2639                 pointing to a data section
2640                 (TestCases/Regression/OddInt64Initializer.dll).
2642 2005-11-11  Sebastien Pouliot  <sebastien@ximian.com>
2644         * Mono.Cecil.Metadata/MetadataWriter.cs
2645                 Add support for different strongname key size (between 384
2646                 and 16384 bits) as now supported in fx 2.0. Default is still
2647                 1024 bits.
2649 2005-11-10      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
2650         * Mono.Cecil/CompactFrameworkCompatibility.cs
2651           Mono.Cecil/SecurityDeclarationReader.cs
2652           Mono.Cecil/TypeReferenceCollection.cs
2653           Mono.Cecil/ReflectionReader.cs
2654           Mono.Cecil/AssemblyFactory.cs
2655           Mono.Cecil/AssemblyName.cs
2656           Mono.Cecil/ExternTypeCollection.cs
2657           Mono.Cecil/ModuleDefinition.cs
2658           Mono.Cecil/TypeDefinitionCollection.cs
2659           CodeGen/templates/NamedCollectionImplem.cs
2660           CodeGen/templates/ImageReader.cs
2661           Mono.Cecil.Metadata/MetadataReader.cs
2662           Mono.Cecil.Metadata/MetadataWriter.cs
2663           Mono.Cecil.Metadata/CultureUtils.cs
2664           Mono.Xml/SecurityParser.cs
2665           Mono.Xml/SmallXmlParser.cs
2666           Mono.Cecil.Signatures/SignatureReader.cs
2667           Mono.Cecil.Binary/ImageReader.cs
2668           cecil.build
2669                 Implement support for compiling on the CompactFramework
2671 2005-11-08  Jb Evain  <jbevain@gmail.com>
2673         * Mono.Cecil/GenericInstanceType.cs
2674           Mono.Cecil/TypeReference.cs:
2675                 Fix a regression with 2.0 assemblies.
2677 2005-11-03  Jb Evain  <jbevain@gmail.com>
2679         * Mono.Cecil/CallSite.cs
2680           Mono.Cecil/ReflectionReader.cs
2681           Mono.Cecil/ICallSite.cs
2682           Mono.Cecil.Cil/CodeReader.cs
2683           Mono.Cecil.Cil/CodeWriter.cs
2684           Mono.Cecil.Signatures/SignatureReader.cs
2685           Mono.Cecil.dll.sources:
2686                 Implement support for calli opcodes reading.
2688 2005-11-01  Jb Evain  <jbevain@gmail.com>
2690         * Mono.Cecil/FunctionPointerType.cs
2691           Mono.Cecil/ReflectionReader.cs
2692           Mono.Cecil.Signatures/SignatureReader.cs:
2693                 Work on function pointers.
2695         * Mono.Cecil/AssemblyInfo.cs:
2696                 Increase Cecil SVN version.
2698         * Mono.Cecil/ArrayType.cs
2699           Mono.Cecil/MethodSpecification.cs
2700           Mono.Cecil/TypeSpecification.cs
2701           Mono.Cecil/IMethodSpecification.cs
2702           Mono.Cecil/GenericInstanceType.cs
2703           Mono.Cecil/IGenericInstanceType.cs
2704           Mono.Cecil/GenericInstanceMethod.cs
2705           Mono.Cecil/IModifierType.cs
2706           Mono.Cecil/IPinnedType.cs
2707           Mono.Cecil/ReferenceType.cs
2708           Mono.Cecil/IGenericInstanceMethod.cs
2709           Mono.Cecil/PinnedType.cs
2710           Mono.Cecil/PointerType.cs
2711           Mono.Cecil/IPointerType.cs
2712           Mono.Cecil/IReferenceType.cs
2713           Mono.Cecil/IArrayType.cs
2714           Mono.Cecil/ITypeSpecification.cs
2715           Mono.Cecil/Modifiers.cs
2716           Mono.Cecil.dll.sources:
2717                 Uniformize the specification model.
2719 2005-10-31  Jb Evain  <jbevain@gmail.com>
2721         * AUTHORS,
2722           NEWS,
2723           README,
2724           TODO,
2725           Mono.Cecil/AssemblyInfo.cs:
2726                 Cecil 0.1 release.
2728         * Mono.Cecil/ReflectionReader.cs:
2729                 Force value type property on known core types.
2731 2005-10-28  Jb Evain  <jbevain@gmail.com>
2733         * Mono.Cecil/TypeReference.cs
2734           Mono.Cecil/ReflectionReader.cs
2735           Mono.Cecil/TypeDefinition.cs
2736           Mono.Cecil/ModuleDefinition.cs
2737           Mono.Cecil/ReflectionWriter.cs:
2738                 Uniformize the API.
2740         * Mono.Cecil.Signatures/SignatureWriter.cs:
2741                 Correct a bug in strings encoding in custom attributes.
2743         * CodeGen/templates/ImageWriter.cs
2744           Mono.Cecil.Metadata/MetadataWriter.cs
2745           Mono.Cecil/StructureWriter.cs
2746           Mono.Cecil/ReflectionWriter.cs
2747           Mono.Cecil.Binary/ImageWriter.cs:
2748                 Implement a big of public key management,
2749                 here we reserve space for the strong name
2750                 signature if needed.
2752         * Mono.Cecil/StructureWriter.cs
2753           Mono.Cecil/StructureReader.cs:
2754                 Disable public key writing until
2755                 it is implemented.
2757         * Mono.Cecil/GenericParameter.cs
2758           Mono.Cecil/TypeReference.cs
2759           Mono.Cecil/MethodReference.cs:
2760                 Work on generics writing api.
2761         * Mono.Cecil/ReflectionReader.cs:
2762                 Fix a bug when defining a fresh assembly.
2764         * Mono.Cecil/GenericInstanceType.cs
2765           Mono.Cecil/ReflectionWriter.cs
2766           Mono.Cecil/IGenericParameterProvider.cs
2767           Mono.Cecil.Signatures/Var.cs
2768           Mono.Cecil.Signatures/MVar.cs
2769           Mono.Cecil.Signatures/SignatureReader.cs
2770           Mono.Cecil.Signatures/SignatureWriter.cs
2771           Mono.Cecil.Cil/CodeWriter.cs:
2772                 Work on generics writing.
2774 2005-10-27  Jb Evain  <jbevain@gmail.com>
2776         * Mono.Cecil.Cil/CodeReader.cs
2777           Mono.Cecil.Cil/CilWorker.cs
2778           Mono.Cecil.Cil/CodeWriter.cs
2779           Mono.Cecil.Cil/OpCode.cs:
2780                 Override op == and != on opcodes.
2782         * Mono.Cecil/FieldDefinition.cs
2783           Mono.Cecil/TypeDefinition.cs
2784           Mono.Cecil/MethodDefinition.cs
2785           Mono.Cecil/EventDefinition.cs
2786           Mono.Cecil/PropertyDefinition.cs:
2787                 Fix setters working on attributes.
2789         * Mono.Cecil.Cil/CodeWriter.cs:
2790                 Compute max stack before writing method.
2792         * Mono.Cecil/GenericContext.cs
2793           Mono.Cecil/ReflectionReader.cs
2794           Mono.Cecil.Signatures/SignatureReader.cs:
2795                 Work on generics support.
2797         * CodeGen/cecil.xml
2798           Mono.Cecil/ISecurityDeclarationCollection.cs
2799           Mono.Cecil/SecurityDeclarationCollection.cs:
2800                 Remove the security declaration from the codegen.
2802 2005-10-27  Sebastien Pouliot  <sebastien@ximian.com>
2804         * Mono.Cecil\SecurityDeclaration.cs
2805                 Copy the permission set when cloning.
2806         * Mono.Cecil\SecurityDeclarationCollection.cs
2807                 Ajusted to use an Hashtable, to Union permission sets on
2808                 the same action and to set/unset HasSecurity when needed.
2809         * Mono.Cecil\ModuleDefinition.cs:
2810                 Added TODO (remainder) for complete 2.0 format support.
2811         * Mono.Cecil\ReflectionWriter.cs:
2812                 Move MetadataToken finding outside the loop.
2813         * Mono.Cecil\ISecurityDeclarationCollection.cs:
2814                 Adjust interface.
2816 2005-10-27  Jb Evain  <jbevain@gmail.com>
2818         * Mono.Cecil/TypeDefinition.cs
2819           Mono.Cecil/MethodDefinition.cs:
2820                 Add generics parameters in visitor path.
2822         * Mono.Cecil/GenericParamAttributes.cs:
2823                 Add new constraints flags.
2825 2005-10-22  Jb Evain  <jbevain@gmail.com>
2827         * Mono.Cecil/GenericParameter.cs
2828           Mono.Cecil/ReflectionReader.cs
2829           Mono.Cecil/IGenericParameter.cs
2830           Mono.Cecil/AggressiveReflectionReader.cs
2831           Mono.Cecil/GenericContext.cs:
2832                 Support generic parameters constraints.
2834 2005-10-21  Jb Evain  <jbevain@gmail.com>
2836         * Mono.Cecil/FieldDefinition.cs
2837           Mono.Cecil/CustomAttribute.cs
2838           Mono.Cecil/TypeDefinition.cs
2839           Mono.Cecil/SecurityDeclaration.cs
2840           Mono.Cecil/MethodDefinition.cs
2841           Mono.Cecil/EventDefinition.cs
2842           Mono.Cecil/ParameterDefinition.cs
2843           Mono.Cecil/PropertyDefinition.cs:
2844                 Implement ICloneable.
2846         * Mono.Cecil/IAssemblyDefinition.cs:
2847                 Mirror changes on asm kind.
2848         * Mono.Cecil/StructureReader.cs:
2849                 Fix asm kind detection.
2851         * Mono.Cecil/StructureWriter.cs
2852           Mono.Cecil/ReflectionReader.cs
2853           Mono.Cecil/MethodDefinition.cs
2854           Mono.Cecil/ReflectionWriter.cs:
2855                 Fix regressions.
2856         * Mono.Cecil.Cil/MethodBody.cs:
2857                 Fix method cloning.
2859         * CodeGen/templates/MetadataTableReader.cs
2860           Mono.Cecil.Metadata/MetadataTableReader.cs
2861           Mono.Cecil.Metadata/MetadataReader.cs:
2862                 Add helpers for reading.
2864         * Mono.Cecil/ReflectionReader.cs
2865           Mono.Cecil/MethodDefinition.cs
2866           Mono.Cecil/AggressiveReflectionReader.cs
2867           Mono.Cecil/GenericContext.cs:
2868                 Working on generic parameters reading.
2869                 Still have troubles reading a 2.0 corlib.
2871         * Mono.Cecil/IHasMarshalSpec.cs:
2872                 API fix.
2874         * Mono.Cecil/ParameterDefinition.cs
2875           Mono.Cecil.Cil/VariableDefinition.cs:
2876                 Override ToString.
2878 2005-10-20  Jb Evain  <jbevain@gmail.com>
2880         * Mono.Cecil.Cil/CodeReader.cs
2881           Mono.Cecil.Cil/CodeWriter.cs
2882           Mono.Cecil.Cil/ICilWorker.cs
2883           Mono.Cecil.Cil/CilWorker.cs:
2884                 ShortInlineI operands are signed.
2885                 Spotted by Rodrigo B. de Oliveira.
2887         * CodeGen/templates/OpCodes.cs
2888           Mono.Cecil.Cil/OpCodes.cs:
2889                 Add 2.0 opcodes.
2891         * Mono.Cecil/StructureWriter.cs
2892           Mono.Cecil/AssemblyDefinition.cs
2893           Mono.Cecil/AssemblyFactory.cs
2894           Mono.Cecil/StructureReader.cs
2895           Mono.Cecil/ReflectionWriter.cs:
2896                 Handle the assembly kind in a smoothie way.
2898 2005-10-19  Sebastien Pouliot  <sebastien@ximian.com>
2900         * Mono.Cecil/AssemblyDefinition.cs: Added an override for ToString to
2901         ease debugging.
2902         * Mono.Cecil/ModuleDefinition.cs: Make SecurityDeclaration works with
2903         2.0 assemblies.
2904         * Mono.Cecil/ReflectionReader.cs: Modified BuildSecurityDeclaration
2905         to use the new SecurityDeclarationReader (supporting both formats).
2906         * Mono.Cecil/SecurityAction.cs: Removed actions that were "cutted" out
2907         of 2.0 final.
2908         * Mono.Cecil/SecurityDeclarationReader.cs: New. Handle both the 1.x
2909         and 2.0 formats for reading declarative security.
2911 2005-10-18  Jb Evain  <jbevain@gmail.com>
2913         * Mono.Cecil/GenericParameter.cs:
2914                 A little change before the fix.
2916         * Mono.Cecil/ReflectionHelper.cs
2917           Mono.Cecil/MethodDefinition.cs
2918           Mono.Cecil.Cil/MethodBody.cs:
2919                 Implement method cloning.
2921         * Mono.Cecil/ModuleReference.cs
2922           Mono.Cecil/FieldDefinition.cs
2923           Mono.Cecil/TypeReference.cs
2924           Mono.Cecil/ReflectionReader.cs
2925           Mono.Cecil/TypeDefinition.cs
2926           Mono.Cecil/EventDefinition.cs
2927           Mono.Cecil/ModuleDefinition.cs
2928           Mono.Cecil/FieldReference.cs
2929           Mono.Cecil/ReflectionWriter.cs
2930           Mono.Cecil/PropertyDefinition.cs
2931           Mono.Cecil/AssemblyFactory.cs:
2932                 Small API change.
2934         * Mono.Cecil.Cil/CodeReader.cs:
2935                 Fix variables names.
2937         TODO before 0.1:
2938                 Fix generic parameters,
2939                 generic writing,
2940                 constructor changes (with S.Type and SR.*Info)
2942 2005-10-14  Jb Evain  <jbevain@gmail.com>
2944         Work on generics support.
2946         * CodeGen/cecil.xml: new collections, coded indexes, opcodes.
2948         * Mono.Cecil/IGenericParameterCollection.cs
2949           Mono.Cecil/GenericParameterCollection.cs
2950           Mono.Cecil/IGenericArgumentCollection.cs
2951           Mono.Cecil/GenericArgumentCollection.cs:
2952                 Added new collections.
2954         * Mono.Cecil.Metadata/Utilities.cs: updated.
2955         * Mono.Cecil.Metadata/TokenType.cs: added MethodSpec.
2957         * Mono.Cecil/IGenericParameter.cs
2958           Mono.Cecil/GenericParameter.cs
2959           Mono.Cecil/IGenericParameterConstraints.cs
2960           Mono.Cecil/GenericParameterConstraints.cs
2961           Mono.Cecil/IGenericParameterProvider.cs
2962           Mono.Cecil/IGenericInstance.cs
2963           Mono.Cecil/IGenericInstanceType.cs
2964           Mono.Cecil/GenericInstanceType.cs
2965           Mono.Cecil/IGenericInstanceMethod.cs
2966           Mono.Cecil/GenericInstanceMethod.cs:
2967                 Generics API elements.
2969         * Mono.Cecil/IMethod.cs
2970           Mono.Cecil/MethodReference.cs
2971           Mono.Cecil/ITypeReference.cs
2972           Mono.Cecil/TypeReference.cs:
2973                 Implement IGenericParameterProvider
2975         * Mono.Cecil/ReflectionReader.cs
2976           Mono.Cecil/IReflectionVisitor.cs
2977           Mono.Cecil/BaseReflectionVisitor.cs
2978           Mono.Cecil/StructureReader.cs
2979           Mono.Cecil/AggressiveReflectionReader.cs
2980           Mono.Cecil/MemberReference.cs:
2981                 Support for the new generics elements.
2983         * Mono.Cecil.Signatures/Var.cs
2984           Mono.Cecil.Signatures/MVar.cs
2985           Mono.Cecil.Signatures/GenericInstSignature.cs
2986           Mono.Cecil.Signatures/GenericInst.cs:
2987                 Added file header.
2989         * Mono.Cecil.Signatures/SignatureReader.cs
2990           Mono.Cecil.Signatures/GenericInstSignature.cs
2991           Mono.Cecil.Signatures/MethodDefSig.cs
2992           Mono.Cecil.Signatures/GenericInst.cs
2993           Mono.Cecil.Signatures/MethodSpec.cs
2994           Mono.Cecil/MethodCallingConvention.cs
2995           Mono.Cecil.Cil/CodeReader.cs:
2996                 Added support for generic signatures.
2998         * Mono.Cecil.Cil/OpCodes.cs:
2999                 Add consrained. opcode.
3001         * Mono.Cecil.dll.sources:
3002                 Updated.
3004         Known problems: !!parameters
3006 2005-10-13  Jb Evain  <jbevain@gmail.com>
3008         * Mono.Cecil/ReflectionHelper.cs
3009           Mono.Cecil/FieldDefinition.cs
3010           Mono.Cecil/CustomAttribute.cs
3011           Mono.Cecil/MethodReturnType.cs
3012           Mono.Cecil/TypeDefinition.cs
3013           Mono.Cecil/SecurityDeclaration.cs
3014           Mono.Cecil/MethodDefinition.cs
3015           Mono.Cecil/EventDefinition.cs
3016           Mono.Cecil/ModuleDefinition.cs
3017           Mono.Cecil/ParameterDefinition.cs
3018           Mono.Cecil/IMethodReturnType.cs
3019           Mono.Cecil/PropertyDefinition.cs
3020           Mono.Cecil.Cil/MethodBody.cs:
3021                 Work on the import.
3022         * Mono.Cecil/ITypeParameterType.cs
3023           Mono.Cecil/TypeParameterType.cs:
3024                 Correct the interface.
3026 2005-10-12  Jb Evain  <jbevain@gmail.com>
3028         * Mono.Cecil/EventDefinition.cs
3029           Mono.Cecil/TypeDefinition.cs
3030           Mono.Cecil/ModuleDefinition.cs
3031           Mono.Cecil/ReflectionWriter.cs
3032           Mono.Cecil/PropertyDefinition.cs:
3033                 Small fixes.
3035 2005-09-16  Martin Baulig  <martin@ximian.com>
3037         Added generics support to Cecil.
3039         * Mono.Cecil/IGenericInstType.cs: New file.
3040         * Mono.Cecil/ITypeParameterType.cs: New file.
3041         * Mono.Cecil/IMethodTypeParameterType.cs: New file.
3043         * Mono.Cecil.Metadata/ElementType.cs
3044         (ElementType): Added `Var', `MVar' and `GenericInst'.
3046         * Mono.Cecil.Metadata/Utilities.cs
3047         (Utilities.GetMetadataToken): .NET 2.0 also uses TypeDef's in the
3048         MemberRefParent.
3050         * Mono.Cecil/GenericInstType.cs: New file.
3051         * Mono.Cecil/MethodTypeParameterType.cs: New file.
3052         * Mono.Cecil/TypeParameterType.cs: New file.
3054         * Mono.Cecil.Signatures/Var.cs: New file.
3055         * Mono.Cecil.Signatures/MVar.cs: New file.
3056         * Mono.Cecil.Signatures/GenericInst.cs: New file.
3057         * Mono.Cecil.Signatures/GenericInstSignature.cs: New file.
3059         * Mono.Cecil/ReflectionReader.cs
3060         (ReflectionReader.GetTypeRefFromSig): Add the new types.
3062         * Mono.Cecil.Signatures/SignatureReader.cs
3063         (SignatureReader.ReadType): Add the new types.
3065 2005-10-06  Jb Evain  <jbevain@gmail.com>
3067         * Mono.Cecil/ReflectionHelper.cs
3068           Mono.Cecil/ModuleDefinition.cs:
3069                 Fix a bug in type importing.
3071 2005-10-06  Jb Evain  <jbevain@gmail.com>
3073         * Hopefully, this is the last API change before the release of Cecil 0.1.
3074           Mono.Cecil.Implem has been moved to Mono.Cecil. The interfaces where
3075           very convenient for a reading API, it was far less convenient for a
3076           modification and writing one. The modification API still needs some work,
3077           but this should be easier this way.
3079 2005-09-27  Jb Evain  <jbevain@gmail.com>
3081         * Mono.Cecil.Metadata/MetadataReader.cs:
3082                 Fix resources reading.
3084         * Mono.Cecil.Implem/StructureWriter.cs:
3085                 Correctly set the offset of resources in the manifest.
3086         * Mono.Cecil.Implem/StructureFactories.cs:
3087                 Use correct overrides when creating assembly references.
3088         * Mono.Cecil.Implem/ReflectionFactories:
3089                 Correctly create type references.
3091 2005-09-06  Jb Evain  <jbevain@gmail.com>
3093         * Mono.Cecil/IReflectionFactories.cs
3094           Mono.Cecil.Implem/ReflectionFactories.cs:
3095                 Allow the creation of reference types for methods
3096                 parameters and return types.
3097         * Mono.Cecil.Cil/ICilWorker.cs
3098           Mono.Cecil.Implem/CilWorker.cs
3099           Mono.Cecil.Implem/CodeReader.cs
3100           Mono.Cecil.Implem/CodeWriter.cs:
3101                 Global fix on the handling of parameters in instructions.
3102         * Mono.Cecil.Implem/AssemblyName.cs:
3103                 Correcty write the version of an assembly fullname.
3104                 Spotted by Bruno Cabral.
3105         * Mono.Cecil.Implem/TypeDefinition.cs:
3106                 Set the declaring type of a nested type on add.
3107         * Mono.Cecil.Implem/CustomAttribute.cs
3108           Mono.Cecil.Implem/ReflectionReader.cs
3109           Mono.Cecil.Implem/ReflectionWriter.cs
3110           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3111           Mono.Cecil.Signatures/CustomAttrib.cs
3112           Mono.Cecil.Signatures/SignatureReader.cs:
3113                 Global fix on custom attribute handling. Some
3114                 custom attribute (containing enums) blobs can not be
3115                 decoded.
3117 2005-09-04  Jb Evain  <jbevain@gmail.com>
3119         * Mono.Cecil.Implem/Instruction.cs:
3120                 Add the setter for IInstruction::OpCode.
3122 2005-09-02  Jb Evain  <jbevain@gmail.com>
3124         * Mono.Cecil/ICustomAttribute.cs
3125           Mono.Cecil.Implem/ReflectionFactories.cs
3126           Mono.Cecil.Implem/CustomAttribute.cs
3127           Mono.Cecil.Implem/ReflectionWriter.cs
3128           Mono.Cecil.Signatures/SignatureWriter.cs:
3129                 Prepare the work on custom attributes.
3130         * Mono.Cecil.Cil/IInstruction.cs:
3131                 Let users modify the content of an instruction.
3132         * Mono.Cecil.Implem/StructureReader.cs:
3133                 Do not try to read 2.0 assemblies.
3135 2005-08-28  Jb Evain  <jbevain@gmail.com>
3137         * Mono.Cecil.Metadata/MetadataWriter.cs:
3138                 Write the fields initial value back.
3139                 As of this revision, a round tripped mcs
3140                 can compile Cecil.
3142         * Mono.Cecil.Implem/ReflectionWriter.cs:
3143                 Emit things in proper order.
3144           Mono.Cecil.Implem/CodeReader.cs
3145           Mono.Cecil.Implem/CodeWriter.cs:
3146                 Correct bug with InlineVar opcodes.
3147                 Emit fat body if maxstack is set.
3149         * Mono.Cecil.Implem/CodeWriter.cs:
3150                 Handle null tokens.
3151           Mono.Cecil.Metadata/MetadataWriter.cs:
3152                 Allow one empty string in the userstring heap.
3154         * Mono.Cecil.Implem/ReflectionReader.cs
3155           Mono.Cecil.Implem/ReflectionWriter.cs:
3156                 Strings constant are unicode.
3158         * Mono.Cecil/LoadingType.cs
3159           Mono.Cecil/AssemblyFactory.cs
3160           CodeGen/templates/IndexedCollectionImplem.cs
3161           CodeGen/templates/LzIndexedCollectionImplem.cs
3162           CodeGen/cecil.xml
3163           Mono.Cecil.Implem/InterfaceCollection.cs
3164           Mono.Cecil.Implem/ILazyLoadable.cs
3165           Mono.Cecil.Implem/ExternTypeCollection.cs
3166           Mono.Cecil.Implem/SecurityDeclarationCollection.cs
3167           Mono.Cecil.Implem/ReflectionHelper.cs
3168           Mono.Cecil.Implem/OverrideCollection.cs
3169           Mono.Cecil.Implem/EventDefinitionCollection.cs
3170           Mono.Cecil.Implem/FieldDefinitionCollection.cs
3171           Mono.Cecil.Implem/PropertyDefinitionCollection.cs
3172           Mono.Cecil.Implem/CustomAttributeCollection.cs
3173           Mono.Cecil.Implem/MethodDefinition.cs
3174           Mono.Cecil.Implem/EventDefinition.cs
3175           Mono.Cecil.Implem/FieldDefinition.cs
3176           Mono.Cecil.Implem/ModuleDefinition.cs
3177           Mono.Cecil.Implem/ReflectionController.cs
3178           Mono.Cecil.Implem/TypeReference.cs
3179           Mono.Cecil.Implem/ReflectionReader.cs
3180           Mono.Cecil.Implem/ReflectionWriter.cs
3181           Mono.Cecil.Implem/AssemblyDefinition.cs
3182           Mono.Cecil.Implem/TypeDefinition.cs
3183           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3184           Mono.Cecil.Implem/MethodDefinitionCollection.cs
3185           Mono.Cecil.Implem/LazyReflectionReader.cs
3186           Mono.Cecil.Implem/ParameterDefinition.cs
3187           Mono.Cecil.Implem/PropertyDefinition.cs
3188           Mono.Cecil.Implem/ConstructorCollection.cs
3189           Mono.Cecil.Signatures/SignatureWriter.cs:
3190                 Get rid of the complexity introduced by the
3191                 internal lazy loading.
3193         * Mono.Cecil.Implem/EventDefinition.cs
3194           Mono.Cecil.Implem/PropertyDefinition.cs:
3195                 Fix the behavior of .ToString ().
3197 2005-08-27  Jb Evain  <jbevain@gmail.com>
3199         * Mono.Cecil.Implem/ReflectionWriter.cs:
3200                 Write back custom attributes of modules and assemblies
3201                 as well as their security declaration.
3202         * Mono.Cecil.Implem/CodeWriter.cs:
3203                 Fix branches computation.
3204           Mono.Cecil.Signatures/SignatureReader.cs:
3205                 Disable custom attribute reading cache.
3207         * CodeGen/templates/ImageWriter.cs
3208           Mono.Cecil.Binary/ImageWriter.cs:
3209                 Compute relocations.
3210         * Mono.Cecil.Implem/ReflectionFactories.cs:
3211                 Blah.
3213         * Mono.Cecil.Implem/TablesComparer.cs
3214           Mono.Cecil.Implem/ReflectionWriter.cs:
3215                 Sort all tables that need to be sorted.
3217         * Mono.Cecil.Implem/CodeReader.cs:
3218                 Oops. Add fat exception handlers to the method body.
3220         * CodeGen/templates/ImageWriter.cs
3221           Mono.Cecil.Implem/StructureWriter.cs
3222           Mono.Cecil.Implem/ReflectionWriter.cs
3223           Mono.Cecil.Implem/TypeDefinition.cs
3224           Mono.Cecil.Binary/ImageWriter.cs:
3225                 Correct a few bugs: relocations now works.
3226                 Encode enums in custom attributes.
3227                 Compute memberrefs tokens before visitings types.
3229         * Mono.Cecil.Implem/FieldDefinition.cs:
3230                 Correct a bug that causes null ref due to
3231                 the new api.
3232         * Mono.Cecil.Signatures/SignatureWriter.cs:
3233                 Implement a very little more custom attributes
3234                 writing.
3236 2005-08-26  Jb Evain  <jbevain@gmail.com>
3238         * Mono.Cecil/IMemberReferenceCollection.cs
3239           Mono.Cecil/IReflectionVisitor.cs
3240           Mono.Cecil/IReflectionFactories.cs
3241           Mono.Cecil/BaseReflectionVisitor.cs
3242           Mono.Cecil/IModuleDefinition.cs
3243           CodeGen/cecil.xml
3244           Mono.Cecil.Implem/ReflectionFactories.cs
3245           Mono.Cecil.Implem/ReflectionHelper.cs
3246           Mono.Cecil.Implem/ModuleDefinition.cs
3247           Mono.Cecil.Implem/MemberReferenceCollection.cs
3248           Mono.Cecil.Implem/ReflectionReader.cs
3249           Mono.Cecil.Implem/ReflectionWriter.cs
3250           Mono.Cecil.Implem/ParameterDefinition.cs:
3251                 Handle member references nicely.
3253         * Mono.Cecil/ICustomAttributeProvider.cs
3254           Mono.Cecil/IModuleDefinitionCollection.cs
3255           Mono.Cecil/IReflectionStructureFactories.cs
3256           Mono.Cecil/IInterfaceCollection.cs
3257           Mono.Cecil/IMethod.cs
3258           Mono.Cecil/IReflectionFactories.cs
3259           Mono.Cecil/INestedTypeCollection.cs
3260           Mono.Cecil/ITypeReferenceCollection.cs
3261           Mono.Cecil/IExternTypeCollection.cs
3262           Mono.Cecil/IAssemblyDefinition.cs
3263           Mono.Cecil/ITypeDefinition.cs
3264           Mono.Cecil/ICustomAttribute.cs
3265           Mono.Cecil/IArrayDimensionCollection.cs
3266           Mono.Cecil/TypeFactory.cs
3267           Mono.Cecil/IConstructorCollection.cs
3268           Mono.Cecil/IHasSecurity.cs
3269           Mono.Cecil/IMethodDefinitionCollection.cs
3270           Mono.Cecil/IPropertyDefinitionCollection.cs
3271           Mono.Cecil/IAssemblyNameReferenceCollection.cs
3272           Mono.Cecil/IModuleReferenceCollection.cs
3273           Mono.Cecil/IArrayType.cs
3274           Mono.Cecil/ISecurityDeclarationCollection.cs
3275           Mono.Cecil/IModuleDefinition.cs
3276           Mono.Cecil/IResourceCollection.cs
3277           Mono.Cecil/IParameterDefinitionCollection.cs
3278           Mono.Cecil/IEventDefinitionCollection.cs
3279           Mono.Cecil/ITypeDefinitionCollection.cs
3280           Mono.Cecil/IFieldDefinitionCollection.cs
3281           Mono.Cecil/ICustomAttributeCollection.cs
3282           Mono.Cecil/ISecurityDeclaration.cs
3283           Mono.Cecil/IOverrideCollection.cs
3284           Mono.Cecil/ITypeReference.cs
3285           Mono.Cecil.Cil/IExceptionHandlerCollection.cs
3286           Mono.Cecil.Cil/IVariableDefinitionCollection.cs
3287           Mono.Cecil.Cil/IInstructionCollection.cs
3288           Mono.Cecil.Cil/IMethodBody.cs
3289           CodeGen/cecil-gen-types.rb
3290           CodeGen/templates/ImageWriter.cs
3291           CodeGen/templates/IndexedCollectionImplem.cs
3292           CodeGen/templates/NamedCollectionImplem.cs
3293           CodeGen/templates/IIndexedCollection.cs
3294           CodeGen/templates/LzIndexedCollectionImplem.cs
3295           CodeGen/templates/INamedCollection.cs
3296           CodeGen/templates/LzNamedCollectionImplem.cs
3297           Mono.Cecil.Implem/InterfaceCollection.cs
3298           Mono.Cecil.Implem/AssemblyLinkedResource.cs
3299           Mono.Cecil.Implem/ModuleReferenceCollection.cs
3300           Mono.Cecil.Implem/ExternTypeCollection.cs
3301           Mono.Cecil.Implem/SecurityDeclarationCollection.cs
3302           Mono.Cecil.Implem/ReflectionFactories.cs
3303           Mono.Cecil.Implem/ReflectionHelper.cs
3304           Mono.Cecil.Implem/OverrideCollection.cs
3305           Mono.Cecil.Implem/ArrayDimensionCollection.cs
3306           Mono.Cecil.Implem/EmbeddedResource.cs
3307           Mono.Cecil.Implem/CilWorker.cs
3308           Mono.Cecil.Implem/ParameterDefinitionCollection.cs
3309           Mono.Cecil.Implem/EventDefinitionCollection.cs
3310           Mono.Cecil.Implem/FieldDefinitionCollection.cs
3311           Mono.Cecil.Implem/PropertyDefinitionCollection.cs
3312           Mono.Cecil.Implem/ModuleDefinitionCollection.cs
3313           Mono.Cecil.Implem/CustomAttributeCollection.cs
3314           Mono.Cecil.Implem/VariableDefinitionCollection.cs
3315           Mono.Cecil.Implem/TypeReferenceCollection.cs
3316           Mono.Cecil.Implem/MemberDefinition.cs
3317           Mono.Cecil.Implem/StructureReader.cs
3318           Mono.Cecil.Implem/FunctionPointerType.cs
3319           Mono.Cecil.Implem/MethodDefinition.cs
3320           Mono.Cecil.Implem/EventDefinition.cs
3321           Mono.Cecil.Implem/FieldDefinition.cs
3322           Mono.Cecil.Implem/InstructionCollection.cs
3323           Mono.Cecil.Implem/VariableDefinition.cs
3324           Mono.Cecil.Implem/CustomAttribute.cs
3325           Mono.Cecil.Implem/ModuleDefinition.cs
3326           Mono.Cecil.Implem/MethodReference.cs
3327           Mono.Cecil.Implem/TypeReference.cs
3328           Mono.Cecil.Implem/StructureFactories.cs
3329           Mono.Cecil.Implem/TypeDefinitionCollection.cs
3330           Mono.Cecil.Implem/AssemblyNameReferenceCollection.cs
3331           Mono.Cecil.Implem/ReflectionReader.cs
3332           Mono.Cecil.Implem/MethodReturnType.cs
3333           Mono.Cecil.Implem/MemberReference.cs
3334           Mono.Cecil.Implem/ReflectionWriter.cs
3335           Mono.Cecil.Implem/Resource.cs
3336           Mono.Cecil.Implem/AssemblyDefinition.cs
3337           Mono.Cecil.Implem/TypeDefinition.cs
3338           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3339           Mono.Cecil.Implem/CodeReader.cs
3340           Mono.Cecil.Implem/FieldReference.cs
3341           Mono.Cecil.Implem/MethodDefinitionCollection.cs
3342           Mono.Cecil.Implem/LazyReflectionReader.cs
3343           Mono.Cecil.Implem/LinkedResource.cs
3344           Mono.Cecil.Implem/ParameterDefinition.cs
3345           Mono.Cecil.Implem/PropertyDefinition.cs
3346           Mono.Cecil.Implem/MethodBody.cs
3347           Mono.Cecil.Implem/NestedTypeCollection.cs
3348           Mono.Cecil.Implem/ConstructorCollection.cs
3349           Mono.Cecil.Implem/ResourceCollection.cs
3350           Mono.Cecil.Implem/ExceptionHandlerCollection.cs
3351           Mono.Cecil.Binary/ImageWriter.cs
3352           Mono.Cecil.Binary/ImageReader.cs:
3353                 Fix the writing API before the API freeze. Few things
3354                 are not implemented, see todos.
3356 2005-08-20  Jb Evain  <jbevain@gmail.com>
3358         * Mono.Cecil/ITypeDefinition.cs
3359           Mono.Cecil/IModuleDefinition.cs
3360           Mono.Cecil/ITypeReference.cs
3361           Mono.Cecil.Implem/ReflectionHelper.cs
3362           Mono.Cecil.Implem/ModuleDefinition.cs
3363           Mono.Cecil.Implem/TypeReference.cs
3364           Mono.Cecil.Implem/ReflectionReader.cs
3365           Mono.Cecil.Implem/ReflectionWriter.cs
3366           Mono.Cecil.Implem/TypeDefinition.cs:
3367                 Add way to know if a type reference is a
3368                 value type or not. This hack saved my life.
3370         * Mono.Cecil.Implem/CodeWriter.cs:
3371                 Fix typespec emitting.
3373         * Mono.Cecil/IReflectionVisitor.cs
3374           Mono.Cecil/IMethod.cs
3375           Mono.Cecil/BaseReflectionVisitor.cs
3376           Mono.Cecil/ITypeDefinition.cs
3377           Mono.Cecil/IConstructorCollection.cs
3378           CodeGen/cecil.xml
3379           Mono.Cecil.Implem/MethodDefinition.cs
3380           Mono.Cecil.Implem/ReflectionReader.cs
3381           Mono.Cecil.Implem/ReflectionWriter.cs
3382           Mono.Cecil.Implem/TypeDefinition.cs
3383           Mono.Cecil.Implem/ConstructorCollection.cs:
3384                 Support constructors decently.
3386         * CodeGen/templates/Utilities.cs
3387           Mono.Cecil.Metadata/Utilities.cs:
3388                 Return a null token if the rid of a md token
3389                 is 0. Fix the crash when Mono try to read
3390                 assemblies emitted by Cecil.
3392 2005-08-19  Jb Evain  <jbevain@gmail.com>
3394         * Mono.Cecil.Implem/ReflectionWriter.cs:
3395                 Set the RVA of a method only if it can
3396                 have a body.
3397         * Mono.Cecil.Signatures/SignatureReader.cs:
3398                 Remove debugging stuff.
3400         * Mono.Cecil.Implem/ReflectionReader.cs
3401           Mono.Cecil.Signatures/SignatureReader.cs:
3402                 Fix custom marshaller reading.
3404         * CodeGen/templates/NamedCollectionImplem.cs
3405           CodeGen/templates/LzNamedCollectionImplem.cs
3406           Mono.Cecil.Implem/ExternTypeCollection.cs
3407           Mono.Cecil.Implem/TypeReferenceCollection.cs
3408           Mono.Cecil.Implem/TypeDefinitionCollection.cs
3409           Mono.Cecil.Implem/ReflectionReader.cs
3410           Mono.Cecil.Implem/ReflectionWriter.cs
3411           Mono.Cecil.Implem/TablesComparer.cs
3412           Mono.Cecil.Implem/Constants.cs
3413           Mono.Cecil.Signatures/SignatureWriter.cs:
3414                 Correct bugs in type* tables generations.
3416         * Mono.Cecil/IModuleDefinitionCollection.cs
3417           Mono.Cecil/IInterfaceCollection.cs
3418           Mono.Cecil/INestedTypeCollection.cs
3419           Mono.Cecil/ITypeReferenceCollection.cs
3420           Mono.Cecil/IExternTypeCollection.cs
3421           Mono.Cecil/IArrayDimensionCollection.cs
3422           Mono.Cecil/IMethodDefinitionCollection.cs
3423           Mono.Cecil/IPropertyDefinitionCollection.cs
3424           Mono.Cecil/IAssemblyNameReferenceCollection.cs
3425           Mono.Cecil/IModuleReferenceCollection.cs
3426           Mono.Cecil/ISecurityDeclarationCollection.cs
3427           Mono.Cecil/IResourceCollection.cs
3428           Mono.Cecil/IParameterDefinitionCollection.cs
3429           Mono.Cecil/IEventDefinitionCollection.cs
3430           Mono.Cecil/ITypeDefinitionCollection.cs
3431           Mono.Cecil/IFieldDefinitionCollection.cs
3432           Mono.Cecil/ICustomAttributeCollection.cs
3433           Mono.Cecil/IOverrideCollection.cs
3434           Mono.Cecil.Cil/IExceptionHandlerCollection.cs
3435           Mono.Cecil.Cil/IVariableDefinitionCollection.cs
3436           Mono.Cecil.Cil/IInstructionCollection.cs
3437           CodeGen/templates/IIndexedCollection.cs
3438           CodeGen/templates/INamedCollection.cs
3439           Mono.Cecil.Implem/ReflectionWriter.cs
3440           Mono.Cecil.Binary/SubSystem.cs
3441           Mono.Cecil.Signatures/SignatureWriter.cs:
3442                 On going change to the writing api. Not setter allowed on
3443                 collections. Work on custom attribute encoding. Remove
3444                 the Flags on Subsystem.
3446         * Mono.Cecil.dll.sources
3447           Mono.Cecil.Implem/ReflectionHelper.cs
3448           Mono.Cecil.Implem/TypeReference.cs
3449           Mono.Cecil.Implem/ReflectionReader.cs
3450           Mono.Cecil.Implem/ReflectionWriter.cs
3451           Mono.Cecil.Implem/TypeDefinition.cs
3452           Mono.Cecil.Implem/TablesComparer.cs
3453           Mono.Cecil.Signatures/SignatureReader.cs:
3454                 Fix the build.
3455                 Stop to prefix typeref by the scope.
3456                 Cecil will have buggy behaviour if it have to handle
3457                 two typeref with the same namespace+name, but for the
3458                 moment, let it like that.
3460         * Mono.Cecil/INestedTypeCollection.cs
3461           Mono.Cecil/IModuleReference.cs
3462           Mono.Cecil/ITypeReferenceCollection.cs
3463           Mono.Cecil/IAssemblyName.cs
3464           Mono.Cecil/IExternTypeCollection.cs
3465           Mono.Cecil/IMetadataScope.cs
3466           Mono.Cecil/IModuleDefinition.cs
3467           Mono.Cecil/IResourceCollection.cs
3468           Mono.Cecil/ITypeDefinitionCollection.cs
3469           CodeGen/templates/NamedCollectionImplem.cs
3470           CodeGen/templates/INamedCollection.cs
3471           CodeGen/templates/LzNamedCollectionImplem.cs
3472           CodeGen/cecil.xml
3473           Mono.Cecil.Metadata/RowCollection.cs
3474           Mono.Cecil.Metadata/MetadataWriter.cs
3475           Mono.Cecil.Metadata/MetadataToken.cs
3476           Mono.Cecil.Implem/TablesComparer.cs
3477           Mono.Cecil.Implem/ExternTypeCollection.cs
3478           Mono.Cecil.Implem/ReflectionHelper.cs
3479           Mono.Cecil.Implem/TypeReferenceCollection.cs
3480           Mono.Cecil.Implem/StructureReader.cs
3481           Mono.Cecil.Implem/StructureWriter.cs
3482           Mono.Cecil.Implem/ModuleDefinition.cs
3483           Mono.Cecil.Implem/TypeReference.cs
3484           Mono.Cecil.Implem/TypeDefinitionCollection.cs
3485           Mono.Cecil.Implem/ReflectionReader.cs
3486           Mono.Cecil.Implem/ReflectionWriter.cs
3487           Mono.Cecil.Implem/TypeDefinition.cs
3488           Mono.Cecil.Implem/CodeReader.cs
3489           Mono.Cecil.Implem/CodeWriter.cs
3490           Mono.Cecil.Implem/Constants.cs
3491           Mono.Cecil.Implem/NestedTypeCollection.cs
3492           Mono.Cecil.Implem/ResourceCollection.cs
3493           Mono.Cecil.Signatures/SignatureReader.cs
3494           Mono.Cecil.Signatures/SignatureWriter.cs:
3495                 Correct some part of the API.
3496                 Correct tons of bugs in the writing layer.
3498 2005-08-17  Jb Evain  <jbevain@gmail.com>
3500         * Mono.Cecil/IField.cs
3501           CodeGen/cecil.xml
3502           Mono.Cecil.Metadata/MetadataReader.cs
3503           Mono.Cecil.Metadata/MetadataWriter.cs
3504           Mono.Cecil.Implem/ReflectionHelper.cs
3505           Mono.Cecil.Implem/StructureReader.cs
3506           Mono.Cecil.Implem/FieldDefinition.cs
3507           Mono.Cecil.Implem/BaseReflectionReader.cs
3508           Mono.Cecil.Implem/ReflectionReader.cs
3509           Mono.Cecil.Implem/ReflectionWriter.cs
3510           Mono.Cecil.Implem/TypeDefinition.cs
3511           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3512           Mono.Cecil.Implem/CodeReader.cs
3513           Mono.Cecil.Implem/IDetailReader.cs
3514           Mono.Cecil.Implem/CodeWriter.cs
3515           Mono.Cecil.Implem/LazyReflectionReader.cs
3516           Mono.Cecil.Signatures/SignatureWriter.cs:
3517                 Work on the working layer. Implement field initial
3518                 data. Bugs.
3520 2005-08-16  Jb Evain  <jbevain@gmail.com>
3522         * Mono.Cecil.Implem/ReflectionWriter.cs
3523           Mono.Cecil.Implem/CodeWriter.cs
3524           Mono.Cecil.Signatures/SignatureReader.cs:
3525                 Implement local var sig writing.
3527         * Mono.Cecil.Implem/ArrayType.cs:
3528                 Style.
3529           Mono.Cecil.Implem/ParameterDefinition.cs:
3530                 Correct a bug in module obtention.
3531           Mono.Cecil.Signatures/SignatureReader.cs:
3532                 Correct a bug in arrays's signature reading.
3534         * Mono.Cecil.dll.sources
3535           Mono.Cecil/IReflectionVisitor.cs
3536           Mono.Cecil/IModuleDefinitionCollection.cs
3537           Mono.Cecil/IInterfaceCollection.cs
3538           Mono.Cecil/IProperty.cs
3539           Mono.Cecil/BaseReflectionVisitor.cs
3540           Mono.Cecil/INestedTypeCollection.cs
3541           Mono.Cecil/ITypeReferenceCollection.cs
3542           Mono.Cecil/IParameter.cs
3543           Mono.Cecil/IExternTypeCollection.cs
3544           Mono.Cecil/IField.cs
3545           Mono.Cecil/IArrayDimensionCollection.cs
3546           Mono.Cecil/IMethodDefinitionCollection.cs
3547           Mono.Cecil/IPropertyDefinitionCollection.cs
3548           Mono.Cecil/IAssemblyNameReferenceCollection.cs
3549           Mono.Cecil/IModuleReferenceCollection.cs
3550           Mono.Cecil/IHasConstant.cs
3551           Mono.Cecil/ISecurityDeclarationCollection.cs
3552           Mono.Cecil/IMetadataTokenProvider.cs
3553           Mono.Cecil/IModuleDefinition.cs
3554           Mono.Cecil/BaseStructureVisitor.cs
3555           Mono.Cecil/IResourceCollection.cs
3556           Mono.Cecil/IParameterDefinitionCollection.cs
3557           Mono.Cecil/IEventDefinitionCollection.cs
3558           Mono.Cecil/ITypeDefinitionCollection.cs
3559           Mono.Cecil/IFieldDefinitionCollection.cs
3560           Mono.Cecil/ICustomAttributeCollection.cs
3561           Mono.Cecil/IOverrideCollection.cs
3562           Mono.Cecil.Cil/IExceptionHandlerCollection.cs
3563           Mono.Cecil.Cil/IVariableDefinitionCollection.cs
3564           Mono.Cecil.Cil/IInstructionCollection.cs
3565           CodeGen/cecil-gen.rb
3566           CodeGen/cecil-gen-types.rb
3567           CodeGen/templates/IndexedCollectionImplem.cs
3568           CodeGen/templates/NamedCollectionImplem.cs
3569           CodeGen/templates/IIndexedCollection.cs
3570           CodeGen/templates/LzIndexedCollectionImplem.cs
3571           CodeGen/templates/INamedCollection.cs
3572           CodeGen/templates/LzNamedCollectionImplem.cs
3573           CodeGen/cecil.xml
3574           Mono.Cecil.Metadata/MetadataRowWriter.cs
3575           Mono.Cecil.Metadata/MetadataWriter.cs
3576           Mono.Cecil.Implem/InterfaceCollection.cs
3577           Mono.Cecil.Implem/ModuleReferenceCollection.cs
3578           Mono.Cecil.Implem/ExternTypeCollection.cs
3579           Mono.Cecil.Implem/SecurityDeclarationCollection.cs
3580           Mono.Cecil.Implem/OverrideCollection.cs
3581           Mono.Cecil.Implem/ParameterDefinitionCollection.cs
3582           Mono.Cecil.Implem/EventDefinitionCollection.cs
3583           Mono.Cecil.Implem/FieldDefinitionCollection.cs
3584           Mono.Cecil.Implem/PropertyDefinitionCollection.cs
3585           Mono.Cecil.Implem/ModuleDefinitionCollection.cs
3586           Mono.Cecil.Implem/CustomAttributeCollection.cs
3587           Mono.Cecil.Implem/VariableDefinitionCollection.cs
3588           Mono.Cecil.Implem/TypeReferenceCollection.cs
3589           Mono.Cecil.Implem/StructureReader.cs
3590           Mono.Cecil.Implem/MethodDefinition.cs
3591           Mono.Cecil.Implem/EventDefinition.cs
3592           Mono.Cecil.Implem/FieldDefinition.cs
3593           Mono.Cecil.Implem/InstructionCollection.cs
3594           Mono.Cecil.Implem/StructureWriter.cs
3595           Mono.Cecil.Implem/ModuleDefinition.cs
3596           Mono.Cecil.Implem/MethodReference.cs
3597           Mono.Cecil.Implem/TypeReference.cs
3598           Mono.Cecil.Implem/TypeDefinitionCollection.cs
3599           Mono.Cecil.Implem/AssemblyNameReferenceCollection.cs
3600           Mono.Cecil.Implem/ReflectionReader.cs
3601           Mono.Cecil.Implem/MethodReturnType.cs
3602           Mono.Cecil.Implem/ReflectionWriter.cs
3603           Mono.Cecil.Implem/AssemblyDefinition.cs
3604           Mono.Cecil.Implem/TypeDefinition.cs
3605           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3606           Mono.Cecil.Implem/MethodDefinitionCollection.cs
3607           Mono.Cecil.Implem/CodeWriter.cs
3608           Mono.Cecil.Implem/LazyReflectionReader.cs
3609           Mono.Cecil.Implem/ParameterDefinition.cs
3610           Mono.Cecil.Implem/PropertyDefinition.cs
3611           Mono.Cecil.Implem/NestedTypeCollection.cs
3612           Mono.Cecil.Implem/ResourceCollection.cs
3613           Mono.Cecil.Implem/ExceptionHandlerCollection.cs
3614           Mono.Cecil.Signatures/SignatureReader.cs
3615           Mono.Cecil.Signatures/SignatureWriter.cs:
3616                 Working on the writing layer.
3617                 Begin to fix brokens part of the API.
3619 2005-08-15  Jb Evain  <jbevain@gmail.com>
3621         * Mono.Cecil/ITypeDefinition.cs
3622           CodeGen/templates/MetadataTableReader.cs
3623           CodeGen/templates/PEFileHeader.cs
3624           CodeGen/templates/ImageWriter.cs
3625           CodeGen/templates/CLIHeader.cs
3626           CodeGen/templates/PEOptionalHeader.cs
3627           CodeGen/templates/MetadataTableWriter.cs
3628           CodeGen/templates/Table.cs
3629           CodeGen/templates/MetadataRowReader.cs
3630           CodeGen/templates/BaseMetadataVisitor.cs
3631           CodeGen/templates/Section.cs
3632           CodeGen/templates/MetadataRowWriter.cs
3633           CodeGen/templates/ImageReader.cs
3634           CodeGen/templates/IMetadataVisitor.cs
3635           Mono.Cecil.Metadata/Assembly.cs
3636           Mono.Cecil.Metadata/PropertyMap.cs
3637           Mono.Cecil.Metadata/InterfaceImpl.cs
3638           Mono.Cecil.Metadata/MetadataInitializer.cs
3639           Mono.Cecil.Metadata/Constant.cs
3640           Mono.Cecil.Metadata/MethodSpec.cs
3641           Mono.Cecil.Metadata/BaseMetadataVisitor.cs
3642           Mono.Cecil.Metadata/DeclSecurity.cs
3643           Mono.Cecil.Metadata/TypeDef.cs
3644           Mono.Cecil.Metadata/MethodImpl.cs
3645           Mono.Cecil.Metadata/GenericParamConstraint.cs
3646           Mono.Cecil.Metadata/NestedClass.cs
3647           Mono.Cecil.Metadata/MetadataTableReader.cs
3648           Mono.Cecil.Metadata/AssemblyRefProcessor.cs
3649           Mono.Cecil.Metadata/AssemblyRef.cs
3650           Mono.Cecil.Metadata/AssemblyRefOS.cs
3651           Mono.Cecil.Metadata/Method.cs
3652           Mono.Cecil.Metadata/RowCollection.cs
3653           Mono.Cecil.Metadata/MetadataTableWriter.cs
3654           Mono.Cecil.Metadata/StringsHeap.cs
3655           Mono.Cecil.Metadata/MetadataRowReader.cs
3656           Mono.Cecil.Metadata/ExportedType.cs
3657           Mono.Cecil.Metadata/CustomAttribute.cs
3658           Mono.Cecil.Metadata/Param.cs
3659           Mono.Cecil.Metadata/MetadataReader.cs
3660           Mono.Cecil.Metadata/ClassLayout.cs
3661           Mono.Cecil.Metadata/MetadataRowWriter.cs
3662           Mono.Cecil.Metadata/BlobHeap.cs
3663           Mono.Cecil.Metadata/MetadataWriter.cs
3664           Mono.Cecil.Metadata/AssemblyOS.cs
3665           Mono.Cecil.Metadata/ModuleRef.cs
3666           Mono.Cecil.Metadata/MetadataRoot.cs
3667           Mono.Cecil.Metadata/UserStringsHeap.cs
3668           Mono.Cecil.Metadata/FieldMarshal.cs
3669           Mono.Cecil.Metadata/GenericParam.cs
3670           Mono.Cecil.Metadata/ImplMap.cs
3671           Mono.Cecil.Metadata/TableCollection.cs
3672           Mono.Cecil.Metadata/TablesHeap.cs
3673           Mono.Cecil.Metadata/MetadataStreamCollection.cs
3674           Mono.Cecil.Metadata/ManifestResource.cs
3675           Mono.Cecil.Metadata/TypeRef.cs
3676           Mono.Cecil.Metadata/AssemblyProcessor.cs
3677           Mono.Cecil.Metadata/EventMap.cs
3678           Mono.Cecil.Metadata/File.cs
3679           Mono.Cecil.Metadata/Event.cs
3680           Mono.Cecil.Metadata/FieldLayout.cs
3681           Mono.Cecil.Metadata/Field.cs
3682           Mono.Cecil.Metadata/Property.cs
3683           Mono.Cecil.Metadata/Module.cs
3684           Mono.Cecil.Metadata/GuidHeap.cs
3685           Mono.Cecil.Metadata/MethodSemantics.cs
3686           Mono.Cecil.Metadata/StandAloneSig.cs
3687           Mono.Cecil.Metadata/MetadataStream.cs
3688           Mono.Cecil.Metadata/FieldRVA.cs
3689           Mono.Cecil.Metadata/TypeSpec.cs
3690           Mono.Cecil.Metadata/MemberRef.cs
3691           Mono.Cecil.Metadata/IMetadataVisitor.cs
3692           Mono.Cecil.Implem/TypeDefinition.cs
3693           Mono.Cecil.Signatures/MethodRefSig.cs
3694           Mono.Cecil.Signatures/SignatureReader.cs
3695           Mono.Cecil.Signatures/FieldSig.cs
3696           Mono.Cecil.Signatures/PropertySig.cs
3697           Mono.Cecil.Signatures/ISignatureVisitor.cs
3698           Mono.Cecil.Signatures/SignatureWriter.cs
3699           Mono.Cecil.Signatures/MethodDefSig.cs
3700           Mono.Cecil.Signatures/LocalVarSig.cs
3701           Mono.Cecil.Binary/PEFileHeader.cs
3702           Mono.Cecil.Binary/IBinaryVisitor.cs
3703           Mono.Cecil.Binary/ImageWriter.cs
3704           Mono.Cecil.Binary/CLIHeader.cs
3705           Mono.Cecil.Binary/SectionCollection.cs
3706           Mono.Cecil.Binary/Image.cs
3707           Mono.Cecil.Binary/PEOptionalHeader.cs
3708           Mono.Cecil.Binary/ImageInitializer.cs
3709           Mono.Cecil.Binary/Imports.cs
3710           Mono.Cecil.Binary/BaseImageVisitor.cs
3711           Mono.Cecil.Binary/DOSHeader.cs
3712           Mono.Cecil.Binary/Section.cs
3713           Mono.Cecil.Binary/ImageReader.cs:
3714                 Apply the new visitor model to the rest of Cecil.
3716         * Mono.Cecil/IReflectionVisitor.cs
3717           Mono.Cecil/BaseReflectionVisitor.cs
3718           Mono.Cecil/IReflectionStructureVisitor.cs
3719           Mono.Cecil/BaseStructureVisitor.cs
3720           Mono.Cecil.Cil/BaseCodeVisitor.cs
3721           Mono.Cecil.Cil/ICodeVisitor.cs
3722           CodeGen/cecil-gen.rb
3723           CodeGen/cecil-gen-types.rb
3724           CodeGen/templates/IndexedCollectionImplem.cs
3725           CodeGen/templates/NamedCollectionImplem.cs
3726           CodeGen/templates/LzIndexedCollectionImplem.cs
3727           CodeGen/templates/LzNamedCollectionImplem.cs
3728           CodeGen/cecil.xml
3729           Mono.Cecil.Implem/InterfaceCollection.cs
3730           Mono.Cecil.Implem/AssemblyLinkedResource.cs
3731           Mono.Cecil.Implem/ModuleReferenceCollection.cs
3732           Mono.Cecil.Implem/AssemblyName.cs
3733           Mono.Cecil.Implem/Instruction.cs
3734           Mono.Cecil.Implem/ExternTypeCollection.cs
3735           Mono.Cecil.Implem/MarshalDesc.cs
3736           Mono.Cecil.Implem/SecurityDeclarationCollection.cs
3737           Mono.Cecil.Implem/OverrideCollection.cs
3738           Mono.Cecil.Implem/ExceptionHandler.cs
3739           Mono.Cecil.Implem/EmbeddedResource.cs
3740           Mono.Cecil.Implem/ModuleReference.cs
3741           Mono.Cecil.Implem/ParameterDefinitionCollection.cs
3742           Mono.Cecil.Implem/EventDefinitionCollection.cs
3743           Mono.Cecil.Implem/FieldDefinitionCollection.cs
3744           Mono.Cecil.Implem/PropertyDefinitionCollection.cs
3745           Mono.Cecil.Implem/ModuleDefinitionCollection.cs
3746           Mono.Cecil.Implem/CustomAttributeCollection.cs
3747           Mono.Cecil.Implem/VariableDefinitionCollection.cs
3748           Mono.Cecil.Implem/TypeReferenceCollection.cs
3749           Mono.Cecil.Implem/StructureReader.cs
3750           Mono.Cecil.Implem/MethodDefinition.cs
3751           Mono.Cecil.Implem/EventDefinition.cs
3752           Mono.Cecil.Implem/FieldDefinition.cs
3753           Mono.Cecil.Implem/InstructionCollection.cs
3754           Mono.Cecil.Implem/StructureWriter.cs
3755           Mono.Cecil.Implem/ModuleDefinition.cs
3756           Mono.Cecil.Implem/CustomAttribute.cs
3757           Mono.Cecil.Implem/VariableDefinition.cs
3758           Mono.Cecil.Implem/TypeReference.cs
3759           Mono.Cecil.Implem/TypeDefinitionCollection.cs
3760           Mono.Cecil.Implem/AssemblyNameReferenceCollection.cs
3761           Mono.Cecil.Implem/ReflectionReader.cs
3762           Mono.Cecil.Implem/ReflectionWriter.cs
3763           Mono.Cecil.Implem/PInvokeInfo.cs
3764           Mono.Cecil.Implem/AssemblyDefinition.cs
3765           Mono.Cecil.Implem/TypeDefinition.cs
3766           Mono.Cecil.Implem/CodeReader.cs
3767           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3768           Mono.Cecil.Implem/MethodDefinitionCollection.cs
3769           Mono.Cecil.Implem/CodeWriter.cs
3770           Mono.Cecil.Implem/SecurityDeclaration.cs
3771           Mono.Cecil.Implem/LazyReflectionReader.cs
3772           Mono.Cecil.Implem/LinkedResource.cs
3773           Mono.Cecil.Implem/ParameterDefinition.cs
3774           Mono.Cecil.Implem/PropertyDefinition.cs
3775           Mono.Cecil.Implem/MethodBody.cs
3776           Mono.Cecil.Implem/NestedTypeCollection.cs
3777           Mono.Cecil.Implem/ResourceCollection.cs
3778           Mono.Cecil.Implem/ExceptionHandlerCollection.cs:
3779                 BIG changes in the visitor object model. Last one
3780                 was causing ambiguous calls, and does not provides
3781                 differences between an interface and a typedef for
3782                 instance. This is corrected by suffixing the visit
3783                 method by the name of what it is visiting, and by
3784                 configuring some collection to stop the propagation
3785                 of the visitor.
3787         * Mono.Cecil/ITypeDefinition.cs
3788           Mono.Cecil/IArrayType.cs
3789           CodeGen/templates/Utilities.cs
3790           Mono.Cecil.Metadata/Utilities.cs
3791           Mono.Cecil.Implem/ArrayType.cs
3792           Mono.Cecil.Implem/TypeReference.cs
3793           Mono.Cecil.Implem/ReflectionWriter.cs
3794           Mono.Cecil.Implem/TypeDefinition.cs
3795           Mono.Cecil.Implem/CodeWriter.cs
3796           Mono.Cecil.Implem/Constants.cs
3797           Mono.Cecil.Signatures/MarshalSig.cs:
3798                 Work on the writing layer goes on.
3800 2005-08-14  Jb Evain  <jbevain@gmail.com>
3802         * Mono.Cecil/NativeType.cs
3803           Mono.Cecil.Signatures/MarshalSig.cs
3804           Mono.Cecil.Signatures/SignatureWriter.cs
3805           Mono.Cecil.Signatures/Signature.cs:
3806                 Work on signature writing.
3807           Mono.Cecil.Implem/MethodDefinition.cs
3808           Mono.Cecil.Implem/TypeDefinition.cs:
3809                 Correct bugs in setting the hasThis field.
3811         * CodeGen/templates/ImageWriter.cs
3812           Mono.Cecil.Binary/templates/ImageWriter.cs
3813           Mono.Cecil/AssemblyKind.cs:
3814                 Make assemblies executable on win32.
3815           Mono.Cecil.Implem/TypeDefinition.cs:
3816                 Mark new fields as loaded.
3817           Mono.Cecil.Implem/ReflectionWriter.cs:
3818                 Correct the style to patch provided by
3819                 Sebastien Ros  <s.ros@evaluant.com>
3821 2005-08-13  Jb Evain  <jbevain@gmail.com>
3823         * Mono.Cecil/IMethod.cs
3824           Mono.Cecil/ITypeDefinition.cs
3825           Mono.Cecil/IModuleDefinition.cs
3826           Mono.Cecil.Cil/OpCode.cs
3827           Mono.Cecil.Cil/ICilWorker.cs
3828           CodeGen/templates/ImageReader.cs
3829           Mono.Cecil.Metadata/MetadataReader.cs
3830           Mono.Cecil.Metadata/MetadataWriter.cs
3831           Mono.Cecil.Metadata/MetadataRoot.cs
3832           Mono.Cecil.Implem/ReflectionHelper.cs
3833           Mono.Cecil.Implem/CilWorker.cs
3834           Mono.Cecil.Implem/StructureReader.cs
3835           Mono.Cecil.Implem/MethodDefinition.cs
3836           Mono.Cecil.Implem/StructureWriter.cs
3837           Mono.Cecil.Implem/ModuleDefinition.cs
3838           Mono.Cecil.Implem/MethodReference.cs
3839           Mono.Cecil.Implem/ReflectionReader.cs
3840           Mono.Cecil.Implem/ReflectionWriter.cs
3841           Mono.Cecil.Implem/TypeDefinition.cs
3842           Mono.Cecil.Implem/CodeReader.cs
3843           Mono.Cecil.Implem/CodeWriter.cs
3844           Mono.Cecil.Implem/Constants.cs
3845           Mono.Cecil.Implem/ParameterDefinition.cs
3846           Mono.Cecil.Implem/MethodBody.cs
3847           Mono.Cecil.Binary/ImageReader.cs
3848           Mono.Cecil.Binary/MemoryBinaryWriter.cs
3849           Mono.Cecil.Signatures/SignatureReader.cs
3850           Mono.Cecil.Signatures/SignatureWriter.cs:
3851                 On going work on the writing layer.
3853         * Mono.Cecil.Signatures/SignatureReader.cs:
3854                 Fix a bug when reading chars inside a custom
3855                 attribute signature.
3857 2005-08-12  Jb Evain  <jbevain@gmail.com>
3859         * Mono.Cecil/AssemblyFactory.cs
3860           CodeGen/templates/ImageWriter.cs
3861           CodeGen/templates/MetadataTableWriter.cs
3862           CodeGen/templates/MetadataRowWriter.cs
3863           Mono.Cecil.Metadata/MetadataTableWriter.cs
3864           Mono.Cecil.Metadata/MetadataRowWriter.cs
3865           Mono.Cecil.Metadata/MetadataWriter.cs
3866           Mono.Cecil.Implem/StructureWriter.cs
3867           Mono.Cecil.Binary/ImageWriter.cs
3868           Mono.Cecil.Binary/MemoryBinaryWriter.cs:
3869                 Use a custom binary writer instead of the old one.
3871         * Mono.Cecil/IMethod.cs
3872           Mono.Cecil.Cil/BaseCodeVisitor.cs
3873           Mono.Cecil.Cil/MethodHeader.cs
3874           Mono.Cecil.Cil/ICodeVisitor.cs
3875           Mono.Cecil.Implem/Instruction.cs
3876           Mono.Cecil.Implem/MethodDefinition.cs
3877           Mono.Cecil.Implem/FieldDefinition.cs
3878           Mono.Cecil.Implem/ReflectionWriter.cs
3879           Mono.Cecil.Implem/CodeReader.cs
3880           Mono.Cecil.Implem/CodeWriter.cs
3881           Mono.Cecil.Implem/MethodBody.cs:
3882                 Ongoing work on the writing layer.
3884         * CodeGen/templates/Utilities.cs
3885           CodeGen/templates/NamedCollectionImplem.cs
3886           CodeGen/templates/MetadataRowWriter.cs
3887           CodeGen/templates/LzNamedCollectionImplem.cs
3888           CodeGen/cecil.xml
3889           Mono.Cecil/IMethod.cs
3890           Mono.Cecil/IAssemblyName.cs
3891           Mono.Cecil/IModuleDefinition.cs
3892           Mono.Cecil/AssemblyFactory.cs
3893           Mono.Cecil.Metadata/MetadataRowWriter.cs
3894           Mono.Cecil.Metadata/Utilities.cs
3895           Mono.Cecil.Implem/ReflectionHelper.cs
3896           Mono.Cecil.Implem/StructureReader.cs
3897           Mono.Cecil.Implem/MethodDefinition.cs
3898           Mono.Cecil.Implem/EventDefinition.cs
3899           Mono.Cecil.Implem/FieldDefinition.cs
3900           Mono.Cecil.Implem/StructureWriter.cs
3901           Mono.Cecil.Implem/ModuleDefinition.cs
3902           Mono.Cecil.Implem/MethodReference.cs
3903           Mono.Cecil.Implem/TypeDefinitionCollection.cs
3904           Mono.Cecil.Implem/ReflectionReader.cs
3905           Mono.Cecil.Implem/ReflectionWriter.cs
3906           Mono.Cecil.Implem/TypeDefinition.cs
3907           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3908           Mono.Cecil.Implem/Constants.cs
3909           Mono.Cecil.Implem/ParameterDefinition.cs
3910           Mono.Cecil.Implem/PropertyDefinition.cs
3911           Mono.Cecil.Signatures/SignatureWriter.cs:
3912                 Ongoing work on the writing layer.
3913                 Some fixes to the reading layer as well.
3915 2005-08-11  Jb Evain  <jbevain@gmail.com>
3917         * Mono.Cecil.Signatures/SignatureReader.cs:
3918                 Read Array signatures correctly.
3920         * Mono.Cecil/IMethodSignature.cs:
3921                 Remove the setted for the return type.
3922         * Mono.Cecil.Implem/CilWorker.cs:
3923                 Fix the build. Me idiot!
3924         * Mono.Cecil.Implem/Constants.cs:
3925                 Remove unexisting type Variant.
3926         * Mono.Cecil.Implem/ReflectionHelper.cs:
3927                 Complete the helper.
3929 2005-08-10  Jb Evain  <jbevain@gmail.com>
3931         * Mono.Cecil.Cil/IMethodBody.cs
3932           Mono.Cecil.Cil/ICilEmitter.cs
3933           Mono.Cecil.Cil/ICilWorker.cs
3934           Mono.Cecil.Implem/CilWorker.cs
3935           Mono.Cecil.Implem/ReflectionWriter.cs
3936           Mono.Cecil.Implem/MethodBody.cs
3937           Mono.Cecil.Implem/CilEmitter.cs
3938           Mono.Cecil.Signatures/SignatureReader.cs
3939           Mono.Cecil.Signatures/SignatureWriter.cs:
3940                 Prepare the api for the cil emitting.
3942         * CodeGen/templates/Utilities.cs
3943           CodeGen/templates/MetadataRowReader.cs
3944           CodeGen/templates/MetadataRowWriter.cs
3945           Mono.Cecil.Metadata/Utilities.cs
3946           Mono.Cecil.Metadata/MetadataRowReader.cs
3947           Mono.Cecil.Metadata/MetadataRowWriter.cs:
3948                 Fix the build on .net, i was using a sugar
3949                 syntax for delegates that csc does not understand.
3950                 Remove the coded index cache from the static class
3951                 Utilities, and add one per row visitor.
3953         * Mono.Cecil/IMethodReturnType.cs
3954           Mono.Cecil.Implem/MethodReturnType.cs
3955           Mono.Cecil.Implem/ReflectionReader.cs
3956           Mono.Cecil.Implem/ParameterDefinition.cs:
3957                 Make IMethodReturn type inherits IHasMarshalSpec so
3958                 that users can read marshaling info for return types,
3959                 and implement it.
3961         * CodeGen/templates/ImageWriter.cs
3962           Mono.Cecil.Binary/ImageWriter.cs
3963           Mono.Cecil.Metadata/MetadataWriter.cs
3964           Mono.Cecil.Implem/ReflectionWriter.cs:
3965                 Cecil now emits assemblies understood by the .net clr.
3967 2005-08-09  Jb Evain  <jbevain@gmail.com>
3969         * Mono.Cecil/AssemblyKind.cs
3970           CodeGen/templates/ImageWriter.cs
3971           CodeGen/templates/ImageReader.cs
3972           Mono.Cecil.Metadata/MetadataWriter.cs
3973           Mono.Cecil.Binary/ImageWriter.cs
3974           Mono.Cecil.Binary/ImageInitializer.cs
3975           Mono.Cecil.Binary/ImageReader.cs:
3976                 Lots of little fixes. Now dumpbin is coherent
3977                 compared with an assembly emitted with csc or mcs
3978                 but still not yet compatible with .net.
3980         * Mono.Cecil.Signatures/SignatureReader.cs:
3981                 Fix an array out of range while trying to read
3982                 fixed arrays signatures
3984         * CodeGen/templates/ImageWriter.cs
3985           Mono.Cecil.Metadata/MetadataReader.cs
3986           Mono.Cecil.Metadata/MetadataWriter.cs
3987           Mono.Cecil.Implem/AssemblyName.cs
3988           Mono.Cecil.Implem/StructureReader.cs
3989           Mono.Cecil.Implem/ReflectionWriter.cs
3990           Mono.Cecil.Binary/ImageCharacteristics.cs
3991           Mono.Cecil.Binary/ImageWriter.cs
3992           Mono.Cecil.Binary/Image.cs:
3993                 Cecil now emits assemblies that are understood
3994                 by Mono and Cecil itself. Still have troubles
3995                 with Msft CLR.
3997 2005-08-08  Jb Evain  <jbevain@gmail.com>
3999         * CodeGen/cecil-gen.rb
4000           CodeGen/templates/MetadataTableReader.cs
4001           CodeGen/templates/ImageWriter.cs
4002           CodeGen/templates/MetadataTableWriter.cs
4003           CodeGen/templates/BaseMetadataVisitor.cs
4004           CodeGen/templates/MetadataRowReader.cs
4005           CodeGen/templates/MetadataRowWriter.cs
4006           CodeGen/cecil.xml
4007           Mono.Cecil.Metadata/MetadataInitializer.cs
4008           Mono.Cecil.Metadata/BaseMetadataVisitor.cs
4009           Mono.Cecil.Metadata/MetadataTableReader.cs
4010           Mono.Cecil.Metadata/MetadataTableWriter.cs
4011           Mono.Cecil.Metadata/MetadataRowReader.cs
4012           Mono.Cecil.Metadata/MetadataRowWriter.cs
4013           Mono.Cecil.Metadata/MetadataWriter.cs
4014           Mono.Cecil.Binary/ImageWriter.cs
4015           Mono.Cecil.Binary/CLIHeader.cs
4016           Mono.Cecil.Binary/ImageInitializer.cs:
4017                 The writing layer almost works.
4019         * Mono.Cecil/AssemblyKind.cs
4020           Mono.Cecil/TargetRuntime.cs
4021           Mono.Cecil.dll.sources:
4022                 Add thoses enumes to control assembly writing.
4023         * Mono.Cecil/AssemblyFactory.cs
4024           Mono.Cecil/IReflectionVisitor.cs
4025           Mono.Cecil/BaseReflectionVisitor.cs
4026           Mono.Cecil/IAssemblyDefinition.cs
4027           Mono.Cecil/IReflectionStructureVisitor.cs
4028           Mono.Cecil/BaseStructureVisitor.cs
4029           CodeGen/templates/ImageWriter.cs
4030           CodeGen/templates/MetadataTableWriter.cs
4031           CodeGen/templates/MetadataRowWriter.cs
4032           CodeGen/templates/LzNamedCollectionImplem.cs
4033           Mono.Cecil.Metadata/MetadataInitializer.cs
4034           Mono.Cecil.Metadata/MetadataTableWriter.cs
4035           Mono.Cecil.Metadata/MetadataRowWriter.cs
4036           Mono.Cecil.Metadata/MetadataWriter.cs
4037           Mono.Cecil.Metadata/MetadataStreamCollection.cs
4038           Mono.Cecil.Implem/AssemblyName.cs
4039           Mono.Cecil.Implem/StructureWriter.cs
4040           Mono.Cecil.Implem/ModuleDefinition.cs
4041           Mono.Cecil.Implem/TypeDefinitionCollection.cs
4042           Mono.Cecil.Implem/ReflectionWriter.cs
4043           Mono.Cecil.Implem/AssemblyDefinition.cs
4044           Mono.Cecil.Binary/ImageWriter.cs
4045           Mono.Cecil.Binary/ImageInitializer.cs
4046           Mono.Cecil.Binary/Imports.cs:
4047                 Things are now plugged. SaveAssembly will now emits
4048                 a binary file. A broken file, but heh, at least it does.
4050 2005-08-07  Jb Evain  <jbevain@gmail.com>
4052         * CodeGen/templates/ImageReader.cs
4053           CodeGen/templates/ImageWriter.cs
4054           CodeGen/templates/IMetadataVisitor.cs
4055           Mono.Cecil.Binary/ImageReader.cs
4056           Mono.Cecil.Binary/ImageWriter.cs
4057           Mono.Cecil.Metadata/IMetadataVisitor.cs
4058           Mono.Cecil.Metadata/BaseMetadataVisitor.cs
4059           Mono.Cecil.Metadata/MetadataReader.cs
4060           Mono.Cecil.Metadata/MetadataWriter.cs
4061           Mono.Cecil.Metadata/MetadataStreamCollection.cs:
4062                 Simplify IMetadataVisitor.
4063                 Work on the writing layer, closer to have something testable
4064                 than ever.
4066         * CodeGen/cecil.xml
4067           CodeGen/templates/ImageWriter.cs
4068           Mono.Cecil.Metadata/MetadataWriter.cs
4069           Mono.Cecil.Binary/PEOptionalHeader.cs
4070           Mono.Cecil.Binary/ImageWriter.cs
4071           Mono.Cecil.Binary/Imports.cs:
4072                 don't stop don't stop come ON!
4074         * CodeGen/templates/ImageWriter.cs
4075           CodeGen/templates/ImageReader.cs
4076           CodeGen/templates/Section.cs
4077           Mono.Cecil.Binary/Image.cs
4078           Mono.Cecil.Binary/ImageReader.cs
4079           Mono.Cecil.Binary/ImageInitializer.cs
4080           Mono.Cecil.Binary/ImageWriter.cs
4081           Mono.Cecil.Binary/Section.cs
4082           Mono.Cecil.Metadata/MetadataReader.cs
4083           Mono.Cecil.Metadata/MetadataWriter.cs
4084           Mono.Cecil.Implem/StructureReader.cs
4085           Mono.Cecil.Implem/StructureWriter.cs
4086           Mono.Cecil.Implem/CodeWriter.cs:
4087                 Some writing layer love.
4089         * CodeGen/templates/ImageWriter.cs
4090           CodeGen/templates/ImageReader.cs
4091           Mono.Cecil.Binary/Imports.cs
4092           Mono.Cecil.Binary/ImageReader.cs
4093           Mono.Cecil.Binary/ImageInitializer.cs
4094           Mono.Cecil.Binary/ImageWriter.cs:
4095                 Read an write correctly the Hint/Name table
4096                 at the end of the .text section.
4098         * CodeGen/templates/ImageWriter.cs
4099           Mono.Cecil.Metadata/MetadataWriter.cs
4100           Mono.Cecil.Binary/ImageWriter.cs
4101           Mono.Cecil.Binary/ImageInitializer.cs:
4102                 More writing layer stuff.
4104 2005-08-06  Jb Evain  <jbevain@gmail.com>
4106         * CodeGen/templates/ImageWriter.cs
4107           CodeGen/templates/MetadataTableWriter.cs
4108           Mono.Cecil.Metadata/MetadataInitializer.cs
4109           Mono.Cecil.Metadata/MetadataTableWriter.cs
4110           Mono.Cecil.Metadata/StringsHeap.cs
4111           Mono.Cecil.Metadata/BlobHeap.cs
4112           Mono.Cecil.Metadata/MetadataWriter.cs
4113           Mono.Cecil.Metadata/UserStringsHeap.cs
4114           Mono.Cecil.Metadata/TableCollection.cs
4115           Mono.Cecil.Metadata/TablesHeap.cs
4116           Mono.Cecil.Metadata/MetadataHeap.cs
4117           Mono.Cecil.Metadata/GuidHeap.cs
4118           Mono.Cecil.Metadata/MetadataStream.cs
4119           Mono.Cecil.Implem/StructureWriter.cs
4120           Mono.Cecil.Implem/ReflectionWriter.cs
4121           Mono.Cecil.Implem/CodeWriter.cs
4122           Mono.Cecil.Binary/ImageWriter.cs
4123           Mono.Cecil.Binary/ImageInitializer.cs:
4124                 Playing lego with bricks from the writing layer.
4126         * Mono.Cecil.dll.sources:
4127                 Updated.
4128         * CodeGen/templates/CLIHeader.cs
4129           CodeGen/templates/PEOptionalHeader.cs
4130                 Blah.
4131         * CodeGen/cecil.xml
4132           Mono.Cecil.Binary/CLIHeader.cs
4133           Mono.Cecil.Binary/PEOptionalHeader.cs:
4134           Mono.Cecil.Binary/PEFileHeader.cs
4135                 On going work on the writing layer
4137         * CodeGen/templates/ImageWriter.cs
4138           CodeGen/templates/ImageReader.cs
4139           Mono.Cecil.Binary/BaseImageVisitor.cs
4140           Mono.Cecil.Binary/ImageReader.cs
4141           Mono.Cecil.Binary/ImageInitializer.cs
4142           Mono.Cecil.Binary/ImageWriter.cs
4143           Mono.Cecil.Metadata/BaseMetadataVisitor.cs
4144           Mono.Cecil.Metadata/MetadataReader.cs
4145           Mono.Cecil.Metadata/MetadataInitializer.cs
4146           Mono.Cecil.Metadata/MetadataWriter.cs
4147           Mono.Cecil.Metadata/MetadataStream.cs
4148           Mono.Cecil.Implem/ReflectionWriter.cs
4149           Mono.Cecil.Implem/CodeWriter.cs:
4150                 Add helpers visitor.
4151                 On going work on the writing layer.
4153         * CodeGen/templates/Utilities.cs
4154           CodeGen/templates/MetadataRowReader.cs
4155           CodeGen/templates/MetadataRowWriter.cs
4156           Mono.Cecil.Metadata/StringsHeap.cs
4157           Mono.Cecil.Metadata/MetadataRowReader.cs
4158           Mono.Cecil.Metadata/MetadataRowWriter.cs
4159           Mono.Cecil.Metadata/MetadataReader.cs
4160           Mono.Cecil.Metadata/Utilities.cs
4161           Mono.Cecil.Metadata/BlobHeap.cs
4162           Mono.Cecil.Metadata/MetadataWriter.cs
4163           Mono.Cecil.Metadata/MetadataHeap.cd
4164           Mono.Cecil.Metadata/GuidHeap.cs:
4165                 On going work on the writing layer.
4167         * CodeGen/templates/MetadataTableWriter.cs
4168           Mono.Cecil.Metadata/MetadataTableWriter.cs
4169           Mono.Cecil.Metadata/MetadataWriter.cs:
4170                 On going work on the writing layer.
4171         * Mono.Cecil.Implem/StructureWriter.cs:
4172                 Correctly override methods
4173         * CodeGen/templates/MetadataRowWriter.cs
4174           Mono.Cecil.Metadata/MetadataRowWriter.cs
4175           Mono.Cecil.Implem/ReflectionWriter.cs:
4176                 Fix build warnings.
4178         * Mono.Cecil/IResource.cs
4179           Mono.Cecil.Implem/AssemblyLinkedResource.cs
4180           Mono.Cecil.Implem/EmbeddedResource.cs
4181           Mono.Cecil.Implem/LinkedResource.cs
4182           Mono.Cecil.Implem/Resource.cs:
4183                 Rename field Attributes to Flags for the sake of consistency.
4184         * Mono.Cecil.Metadata/MetadataWriter.cs
4185           Mono.Cecil.Implem/ReflectionWriter.cs
4186           Mono.Cecil.Implem/StructureWriter.cs:
4187                 On going work on the writing layer.
4188         * Mono.Cecil.Implem/StructureReader.cs:
4189                 Style.
4191         * Mono.Cecil/IAssemblyName.cs
4192           Mono.Cecil.Implem/AssemblyName.cs
4193           Mono.Cecil.Implem/StructureReader.cs:
4194                 Add an AssemblyFlag property to an IAssemblyNameReference,
4195                 implement it, and read it.
4197 2005-08-04  Jb Evain  <jbevain@gmail.com>
4199         * Mono.Cecil.Implem/ReflectionReader.cs:
4200                 set a correct name to nameless parameters
4202         * Mono.Cecil.Signatures/SignatureReader.cs:
4203                 don't crash on null custom attributes
4205 2005-08-03  Jb Evain  <jbevain@gmail.com>
4207         * CodeGen/templates/OpCodes.cs
4208           Mono.Cecil.Cil/OpCodes.cs
4209           Mono.Cecil.Cil/OpCode.cs:
4210                 Revert modifications to reduce code. OpCodes::.ctors were
4211                 not called.
4213         * Mono.Cecil.Implem/ReflectionReader.cs:
4214                 Make sure parameters are read even if there is no
4215                 corresponding Param row. Thanks Cesar for the hint.
4217         * Mono.Cecil.Metadata/MetadataWriter.cs
4218           Mono.Cecil.Metadata/UserStringsHeap.cs
4219           Mono.Cecil.Metadata/GuidHeap.cs
4220           Mono.Cecil.Implem/CodeReader.cs:
4221                 On going work on the writing layer
4223         * CodeGen/cecil-gen.rb
4224           CodeGen/cecil-gen-sources.rb
4225                 make executable
4226         * *.*: set svn:eol-style to native
4228         * Mono.Cecil/BaseStructureVisitor.cs
4229           Mono.Cecil/BaseReflectionVisitor.cs
4230           Mono.Cecil.Implem/BaseReflectionReader.cs:
4231                 Add empty visitors for the sake of simplicity
4232         * Mono.Cecil.Implem/StructureReader.cs
4233           Mono.Cecil.Implem/ReflectionReader.cs:
4234                 Inherit new visitors
4236 2005-08-03  Jb Evain  <jbevain@gmail.com>
4238         * Mono.Cecil.Implem/ReflectionReader.cs
4239           Mono.Cecil.Implem/AggressiveReflectionReader.cs
4240           Mono.Cecil.Implem/LazyReflectionReader.cs
4241           Mono.Cecil.Implem/CodeReader.cs:
4242                 Modify and add helpers to avoid lots of casts.
4243                 Correct a bug in custom attributes attribution.
4245 2005-08-02  Jb Evain  <jbevain@gmail.com>
4247         * Mono.Cecil.Signatures/TypeSpec.cs:
4248                 Don't restrain the SigType
4249         * Mono.Cecil.Implem/AggressiveReflectionReader.cs:
4250                 Set PInvokeInfos on the correct method
4252 2005-07-30  Jb Evain  <jbevain@gmail.com>
4254         * CodeGen/cecil-gen.rb
4255           CodeGen/cecil-gen-sources.rb:
4256                 make them executable
4257         * CodeGen/cecil-gen-types: style
4258         * CodeGen/templates/ImageWriter.cs
4259           Mono.Cecil.Binary/ImageWriter.cs:
4260                 Prelimimary work on assembly writing
4262 2005-07-29  Jb Evain  <jbevain@gmail.com>
4264         * CodeGen/cecil-gen-types.rb
4265           CodeGen/templates/MetadataTableWriter.cs
4266           CodeGen/templates/MetadataRowWriter.cs
4267           Mono.Cecil/AssemblyFactory.cs
4268           Mono.Cecil.Metadata/MetadataTableWriter.cs
4269           Mono.Cecil.Metadata/MetadataRowWriter.cs
4270           Mono.Cecil.Implem/StructureWriter.cs
4271           Mono.Cecil.Implem/ReflectionWriter.cs:
4272                 Preliminary work on assembly writing
4274 2005-07-28  Jb Evain  <jbevain@gmail.com>
4276         * Mono.Cecil/AssemblyFactory.cs
4277           Mono.Cecil.Implem/StructureWriter.cs
4278                 Preliminary work on assembly writing
4280         * Mono.Cecil/IMetadataTokenProvider.cs
4281           Mono.Cecil/IMember.cs
4282           Mono.Cecil/IParameter.cs:
4283                 Add a MetadataToken property on searchable items
4284         * Mono.Cecil.Metadata/MetadataToken.cs:
4285                 Add a factory method to create token from row number
4286         * Mono.Cecil.Implem/TypeReference.cs
4287           Mono.Cecil.Implem/MemberReference.cs
4288           Mono.Cecil.Implem/ParameterDefinition.cs:
4289                 Implement the token property
4290         * Mono.Cecil.Implem/ReflectionReader.cs
4291           Mono.Cecil.Implem/AggressiveReflectionReader.cs
4292           Mono.Cecil.Implem/LazyReflectionReader.cs:
4293                 Set the token property on reading
4294         * Mono.Cecil/IModuleDefinition.cs
4295           Mono.Cecil.Implem/ModuleDefinition.cs
4296           Mono.Cecil.Implem/ReflectionReader.cs:
4297                 Add methods to lookup items from their tokens
4299 2005-07-27  Jb Evain  <jbevain@gmail.com>
4301         * CodeGen/templates/OpCodes.cs
4302           Mono.Cecil.Cil/OpCodes.cs
4303           Mono.Cecil.Cil/OpCode.cs:
4304                 Changes to reduce the size of the cache ctor
4306 2005-07-22  Raja R Harinath  <rharinath@novell.com>
4308         * Makefile (MCS): Allow compiler to be overriden.
4310 2005-07-21  Todd Berman  <tberman@off.net>
4312         * configure: Add a small stub configure (stolen from mcs) to set the
4313         prefix.
4314         * mono-cecil.pc.in: Add a mono-cecil.pc.in to allow for installation
4315         according to the new "Libraries with Unstable API" Wiki documentation.
4316         * Makefile: Add an install an a mono-cecil.pc target to allow for
4317         installation and creation of the pc file.
4319 2005-07-14  Jb Evain  <jbevain@gmail.com>
4321         * CodeGen/templates/ImageReader.cs
4322           Mono.Cecil.Binary/IBinaryVisitor.cs
4323           Mono.Cecil.Binary/Image.cs
4324           Mono.Cecil.Binary/ImageInitializer.cs
4325           Mono.Cecil.Binary/Imports.cs
4326           Mono.Cecil.Binary/ImageReader.cs:
4327                 Read Imports Tables
4329 2005-07-14  Jb Evain  <jbevain@gmail.com>
4331         * CodeGen/cecil-gen.rb:
4332                 make codegen works on ruby 1.8.2
4333         * CodeGen/templates/*.cs
4334           Mono.Cecil.Metadata/*.cs:
4335                 style
4337 2005-07-13  Jb Evain  <jbevain@gmail.com>
4339         * Mono.Cecil.Implem/VariableDefinition.cs:
4340                 set the index field
4342 2005-07-13  Jb Evain  <jbevain@gmail.com>
4344         * Mono.Cecil.dll.sources: regenerated
4345         * Mono.Cecil.Signatures/SignatureReader.cs:
4346                 Fix compilation warnings
4347         * Mono.Cecil/IArrayType.cs
4348           Mono.Cecil.Implem/ArrayType.cs:
4349                 Add Rank helper property
4350         * Mono.Cecil/ITypeDefinition.cs
4351           Mono.Cecil.Implem/TypeDefinition.cs:
4352                 Add Constructors helper property
4354 2005-07-11  Jb Evain  <jbevain@gmail.com>
4356         * Mono.Cecil/IMethod.cs
4357           Mono.Cecil.Implem/Instruction.cs
4358           Mono.Cecil.Implem/ExceptionHandler.cs
4359           Mono.Cecil.Implem/MethodDefinition.cs
4360           Mono.Cecil.Implem/Label.cs
4361           Mono.Cecil.Implem/CodeReader.cs
4362           Mono.Cecil.Implem/MethodBody.cs
4363           Mono.Cecil.Implem/CilEmitter.cs
4364           Mono.Cecil.Cil/ILabel.cs
4365           Mono.Cecil.Cil/IInstruction.cs
4366           Mono.Cecil.Cil/IExceptionHandler.cs
4367           Mono.Cecil.Cil/IMethodBody.cs
4368           Mono.Cecil.Cil/ICilEmitter.cs:
4369                 Preliminary changes on the instruction model before
4370                 changing of latptop
4372 2005-07-08  Jb Evain  <jbevain@gmail.com>
4374    * Every generated files: use \n instead of \r\n
4376 2005-07-07  Jb Evain  <jbevain@gmail.com>
4378         * *.*: use Mono coding conventions
4379         * Mono.Xml/*.*: update Mono.Xml from corlib
4380         * Mono.Cecil.Metadata/CultureUtils.cs:
4381                 Ensure that Cecil works under Mono
4383 2005-07-02  Jb Evain  <jbevain@gmail.com>
4385         * Mono.Cecil/IMethod.cs
4386           Mono.Cecil/IProperty.cs
4387           Mono.Cecil/IEvent.cs
4388           Mono.Cecil/IField.cs
4389           Mono.Cecil/ITypeDefinition.cs
4390           Mono.Cecil.Implem/MethodDefinition.cs
4391           Mono.Cecil.Implem/PropertyDefinition.cs
4392           Mono.Cecil.Implem/EventDefinition.cs
4393           Mono.Cecil.Implem/FieldDefinition.cs
4394           Mono.Cecil.Implem/TypeDefinition.cs:
4395                 Add some funky sugar attributes,
4396                 more to come
4398 2005-07-01  Jb Evain  <jbevain@gmail.com>
4400         * CodeGen/cecil-gen.rb,
4401           CodeGen/templates/MetadataTableWriter.cs,
4402           CodeGen/templates/MetadataRowWriter.cs,
4403           Mono.Cecil.Metadata/MetadataTableWriter.cs,
4404           Mono.Cecil.Metadata/MetadataRowWriter.cs,
4405           Mono.Cecil.Metadata/MetadataWriter.cs:
4406                 Add metadata writing visitors
4407         * Mono.Cecil.Metadata/CultureUtils.cs:
4408                 Be sure to use every possible culture infos.
4409         * Mono.Cecil.Cil/IVariable.cs,
4410           Mono.Cecil.Implem/VariableDefinition.cs,
4411           Mono.Cecil.Implem/CodeReader.cs,
4412           Mono.Cecil.Implem/CilEmitter.cs:
4413                 Add an index property to local variables
4414         * Mono.Cecil.Metadata/MetadataReader.cs,
4415           Mono.Cecil.Metadata/MetadataRowReader.cs,
4416           CodeGen/templates/MetadataRowReader.cs,
4417           Mono.Cecil.Metadata/TablesHeap.cs:
4418                 Handles null heaps
4419         * Mono.Cecil.Implem/StructureWriter.cs,
4420           Mono.Cecil.Implem/ReflectionController.cs,
4421           Mono.Cecil.Implem/ReflectionWriter.cs:
4422                 Assemble writing classes
4424 2005-06-28  Jb Evain  <jbevain@gmail.com>
4426         * Mono.Cecil.Implem/ReflectionReader.cs: style
4427         * Mono.Cecil.Implem/LazyReflectionReader.cs:
4428                 read the last property as well.
4430 2005-06-21  Jb Evain  <jbevain@gmail.com>
4432         * Mono.Cecil.Implem/ReflectionReader.cs: Correct a bug that prevents
4433                 assemblies to be readed if they have an entrypoint. Suggestion by
4434                 Mario Sopena
4435         * Mono.Cecil.Implem/CodeReader.cs: Use sbyte not to lose negatives
4436                 offsets. Suggestion by Vladislav Spivak
4437         * CodeGen/cecil.xml,
4438           Mono.Cecil.Cil/OpCodes.cs,
4439           Mono.Cecil.Cil/StackBehaviour.cs: Add an PopAll enumeration value
4440                 for StackBehaviour, and set the StackBehaviourPop property for
4441                 leave and leave.s opcodes to it. Suggested by Vladislav Spivak
4443 2005-06-12  Jb Evain  <jbevain@gmail.com>
4445         * Mono.Cecil.Implem/TypeDefinition.cs: Set the declaring type
4446                 to this when defining a nested type.
4448 2005-06-07  Jb Evain  <jbevain@gmail.com>
4450         * Mono.Cecil.dll.sources,
4451         * CodeGen/cecil.xml,
4452         * Mono.Cecil/IReflectionVisitor.cs,
4453         * Mono.Cecil/INestedTypeCollection.cs,
4454         * Mono.Cecil/ITypeDefinition,
4455         * Mono.Cecil.Implem/ReflectionReader.cs,
4456         * Mono.Cecil.Implem/ReflectionWriter.cs,
4457         * Mono.Cecil.Implem/TypeDefinition.cs,
4458         * Mono.Cecil.Implem/NestedTypeCollection:
4459                 Add a collection of nested types for type definition
4461         * Mono.Cecil.Implem/ModuleDefinition.cs: simplify type creation
4463 2005-06-07  Jb Evain  <jbevain@gmail.com>
4465         * ChangeLog: Cecil has now ChangeLogs. Let use them.