2010-04-23 Jb Evain <jbevain@novell.com>
[mcs.git] / class / Mono.Cecil / ChangeLog
blob140b0ea12905acbcf840cd9d1f11533e84c5127b
1 2010-04-23  Jb Evain  <jbevain@novell.com>
3         * Mono.Cecil/ReflectionWriter.cs: fix writing of exported types.
5 2010-04-19  Sebastien Pouliot  <sebastien at ximian.com>
7         * Mono.Cecil/ReflectionWriter.cs: Partial (forwarders) fix for
8         writing ExternTypes (needed for tuning ML4 correctly)
10 2010-04-11  Jb Evain  <jbevain@novell.com>
12         * Mono.Cecil/GenericParameter.cs: override Module properly.
14 2010-03-29  Jb Evain  <jbevain@novell.com>
16         * Mono.Cecil/AssemblyStripper.cs: optimize.
18 2010-02-13  Jb Evain  <jbevain@novell.com>
20         * Mono.Cecil/ReflectionReader.cs: don't cache everything
21         that is context dependent.
22         Based on a patch by Frank Laub  <frank.laub@gmail.com>
24 2010-02-13  Jb Evain  <jbevain@novell.com>
26         * Mono.Cecil/MethodReturnType.cs: avoid creating an
27         inner parameter if not necessary.
29 2010-02-13  Jb Evain  <jbevain@novell.com>
31         * TypeAttributes.cs: add Forwarder flag.
33 2010-02-12  Jb Evain  <jbevain@novell.com>
35         * AssemblyStripper.cs: properly set the rva of methods with
36         no body.
38 2010-01-06      Rodrigo B. de Oliveira <rodrigo@unity.com>
40         * Mono.Cecil.csproj
41           Mono.Cecil/NameObjectCollectionBase.cs
42           Mono.Cecil/BaseAssemblyResolver.cs
43           Mono.Cecil/DefaultAssemblyResolver.cs:
44                 support for compiling Mono.Cecil without
45                 any references to System.dll using the newly introduced
46                 "Debug - No System.dll" configuration in Mono.Cecil.csproj;
48 2009-12-14  Sebastien Pouliot  <sebastien at ximian.com>
50         * Mono.Cecil/BaseAssemblyResolver.cs: Update to .net fx 4 beta2
51         version number and reduce code duplication.
53 2009-10-25  Jb Evain  <jbevain@novell.com>
55         * Mono.Cecil/BaseAssemblyResolver.cs
56           Mono.Cecil/StructureReader.cs
57           Mono.Cecil.Metadata/MetadataWriter.cs:
58                 update .net 4.0 version to beta 2.
60 2009-08-18  Michael Hutchinson  <mhutchinson@novell.com>
62         * Mono.Cecil/BaseAssemblyResolver.cs: Search GACs specified in the
63           MONO_GAC_PREFIX environment variable.
65 2009-08-06  Jb Evain  <jbevain@novell.com>
67         * Mono.Cecil/BaseAssemblyResolver.cs:
68         Do not crash when the GAC folder can't be found.
70 2009-07-28  Jb Evain  <jbevain@novell.com>
72         * Mono.Cecil/AssemblyStripper.cs: Make all methods share
73         the same body.
75 2009-07-16  Jb Evain  <jbevain@novell.com>
77         * Mono.Cecil/AssemblyFactory.cs
78         * Mono.Cecil.Metadata/MetadataWriter.cs
79         * Mono.Cecil.Binary/ImageWriter.cs:
80                 Support for properly writing 4.0 dlls.
81                 Patch by Carlo Kok  <ck@remobjects.com>.
83 2009-06-05  Jb Evain  <jbevain@novell.com>
85         * Mono.Cecil/BaseAssemblyResolver.cs: properly look for the 4.0 corlib
86         when running on Mono.
88 2009-06-03  Jb Evain  <jbevain@novell.com>
90         * Mono.Cecil/MetadataResolver.cs: add support for resolving from
91         a ModuleReference.
93 2009-06-03  Jb Evain  <jbevain@novell.com>
95         * Mono.Cecil/BaseAssemblyResolver.cs: look for 4.0.0.0 assemblies.
97 2009-05-21  Jb Evain  <jbevain@novell.com>
99         * Mono.Cecil/ReflectionReader.cs: add support for type forwarders.
101 2009-05-19  Jb Evain  <jbevain@novell.com>
103         * Mono.Cecil/TargetRuntime.cs
104         * Mono.Cecil/StructureReader.cs
105         * Mono.Cecil.Metadata/MetadataWriter.cs:
106                 add support for .net 4.0 detection.
108 2009-04-30  Jb Evain  <jbevain@novell.com>
110         * Mono.Cecil.Signatures/SignatureReader.cs: fix reading out extra mods.
112 2009-04-21  Jb Evain  <jbevain@novell.com>
114         * Mono.Cecil.Cil/SymbolStoreHelper.cs: look for the assembly in the GAC
115         as well if it's not local.
117 2009-04-03  Jb Evain  <jbevain@novell.com>
119         * Mono.Cecil.Metadata/BlobHeap.cs
120         * Mono.Cecil.Metadata/MetadataWriter.cs:
121                 do a better job at emitting a blob heap.
123 2009-04-01  Jb Evain  <jbevain@novell.com>
125         * Mono.Cecil/ModuleDefinition.cs (Import): add overloads
126         taking a MethodDefinition as a generic context.
128 2009-04-01  Jb Evain  <jbevain@novell.com>
130         * Mono.Cecil/ReflectionHelper.cs: throw proper exception
131         when importing in an invalid context.
133 2009-03-12  Jb Evain  <jbevain@novell.com>
135         * Mono.Cecil/AssemblyStripper.cs (PatchHeap): don't crash
136         if the assembly doesn't contain a specific metadata heap.
138 2009-03-04  Jb Evain  <jbevain@novell.com>
140         * Mono.Cecil/StructureWriter.cs: properly set the metadata tokens
141         of newly emitted modules and assemblies. Fix #480729.
143 2009-01-28  Jb Evain  <jbevain@novell.com>
145         * Mono.Cecil/MetadataResolver.cs:
146                 Add new MetadataResolver.
148         * Mono.Cecil/GenericParameter.cs
149           Mono.Cecil/FieldDefinition.cs
150           Mono.Cecil/TypeReference.cs
151           Mono.Cecil/GenericInstanceMethod.cs
152           Mono.Cecil/IMemberDefinition.cs
153           Mono.Cecil/TypeDefinition.cs
154           Mono.Cecil/PropertyReference.cs
155           Mono.Cecil/EventReference.cs
156           Mono.Cecil/MethodDefinition.cs
157           Mono.Cecil/EventDefinition.cs
158           Mono.Cecil/ModuleDefinition.cs
159           Mono.Cecil/MethodReference.cs
160           Mono.Cecil/FieldReference.cs
161           Mono.Cecil/ParameterDefinition.cs
162           Mono.Cecil/PropertyDefinition.cs
163           Mono.Cecil/ParameterReference.cs
164           Mono.Cecil.Cil/VariableReference.cs
165           Mono.Cecil.Cil/VariableDefinition.cs:
166                 Add Resolve to Definition methods on References.
168         * Mono.Cecil.dll.sources, Mono.Cecil.csproj: add MetadataResolver.cs
170 2009-01-05  Jb Evain  <jbevain@novell.com>
172         * Mono.Cecil/ReflectionHelper.cs
173         * Mono.Cecil/DefaultImporter.cs:
174                 Adjust references's generic parameter count on import.
176 2009-01-05  Sebastien Pouliot  <sebastien at ximian.com>
178         * CodeReader.cs: Do not call VisitVariableDefinitionCollection
179         unless LocalVarToken is different from zero.
180         * CodeWriter.cs: Use HasVariables and HasExceptionHandlers.
181         Write zero, not TokenType.Signature, for LocalVarToken if no
182         variable is defined. That should fix the problem with unsign
183         * Mono.Cecil.Cil/MethodBody.cs: Add HasExceptionHandlers,
184         HasVariables and HasScopes to avoid creating empty collections
185         inside Cecil. There is no HasInstruction because there's always
186         something if MethodDefinition.HasBody is true (i.e. a MethodBody
187         exists). [re-apply r1222198]
189 2008-12-29  Sebastien Pouliot  <sebastien@ximian.com>
191         * Mono.Cecil/MethodReturnType.cs: Override ToString so we can, by
192         default, display something useful about the return type.
194 2008-12-29  Sebastien Pouliot  <sebastien@ximian.com>
196         * Mono.Cecil/GenericInstanceMethod.cs,
197         * Mono.Cecil/GenericInstanceType.cs,
198         * Mono.Cecil/IGenericInstance.cs: Introduce HasGenericArguments into
199         the interface and implement it inside GenericInstance[Method|Type]
201 2008-12-16  Jb Evain  <jbevain@novell.com>
203         * Mono.Cecil.Signatures/SignatureReader.cs: fix reading of wrong
204         modifiers.
206 2008-12-01  Sebastien Pouliot  <sebastien@ximian.com>
208         * Mono.Cecil.Signatures/CustomAttrib.cs: Define reusable Empty
209         arrays for both FixedArg and NamedArg.
210         * Mono.Cecil.Signatures/SignatureReader.cs: Avoid creating empty
211         ParameterDefinitionCollection on constructors. Use the new Empty
212         arrays when possible.
214 2008-12-01  Sebastien Pouliot  <sebastien@ximian.com>
216         * Mono.Cecil/MethodReference.cs: Make HasParameters virtual
217         * Mono.Cecil/MethodSpecification.cs: Override HasParameters to make
218         sure we're tracking the same object as the Parameters property does.
219         * Mono.Cecil/PropertyDefinition.cs: Implement HasParameters based on
220         the GetMethod, SetMethod or its own parameter collection.
221         * Mono.Cecil/PropertyReference.cs: Add abstract HasParameters property
223 2008-11-27  Jb Evain  <jbevain@novell.com>
225         * Mono.Cecil/ExternTypeCollection.cs: don't attach types as they
226         are already attached to the current module.
228 2008-11-22  Sebastien Pouliot  <sebastien@ximian.com>
230         * Mono.Cecil/GenericParameter.cs,
231         * Mono.Cecil/ICustomAttributeProvider.cs,
232         * Mono.Cecil/CallSite.cs,
233         * Mono.Cecil/IMethodSignature.cs,
234         * Mono.Cecil/FunctionPointerType.cs,
235         * Mono.Cecil/FieldDefinition.cs,
236         * Mono.Cecil/TypeReference.cs,
237         * Mono.Cecil/GenericInstanceMethod.cs,
238         * Mono.Cecil/IHasSecurity.cs,
239         * Mono.Cecil/MethodReturnType.cs,
240         * Mono.Cecil/AssemblyDefinition.cs,
241         * Mono.Cecil/TypeDefinition.cs,
242         * Mono.Cecil/MethodDefinition.cs,
243         * Mono.Cecil/EventDefinition.cs,
244         * Mono.Cecil/ModuleDefinition.cs,
245         * Mono.Cecil/MethodReference.cs,
246         * Mono.Cecil/ReflectionWriter.cs,
247         * Mono.Cecil/ParameterDefinition.cs,
248         * Mono.Cecil/PropertyDefinition.cs,
249         * Mono.Cecil/IGenericParameterProvider.cs:
250                 Add boolean Has{x} properties so Cecil consumers are able
251                 to avoid the lazy allocations that would be made for an
252                 empty {x}. Use the Has{x} properties inside Cecil (some
253                 cases might be missing).
255 2008-11-16  Sebastien Pouliot  <sebastien@ximian.com>
257         * Mono.Cecil/TypeDefinition.cs (IsValueType): Inline the call to
258         IsEnum and remove the double null check being done.
260 2008-11-14  Jb Evain  <jbevain@novell.com>
262         * Mono.Cecil/ParameterAttributes.cs: add Retval and Lcid.
263         * Mono.Cecil/ParameterDefinition.cs: add Is* property accordingly.
265 2008-11-12  Jb Evain  <jbevain@novell.com>
267         * Mono.Cecil.Signatures/SignatureReader.cs: properly construct
268         TypeReferences when reading them from custom attributes data.
270 2008-11-11  Jb Evain  <jbevain@novell.com>
272         * Mono.Cecil/ReflectionReader.cs (AddTypeRef):
273         protect against invalid token.
275 2008-11-11  Jb Evain  <jbevain@novell.com>
277         * Mono.Cecil.Cil/CodeWriter.cs: fix writing of catch handlers
278         of a generic exception type.
280 2008-11-06  Jb Evain  <jbevain@novell.com>
282         * Mono.Cecil.Metadata/MetadataWriter.cs: properly clean
283         the runtime image in case we're unsigning an assembly.
285 2008-11-01  Jb Evain  <jbevain@novell.com>
287         * Mono.Cecil.Binary/RuntimeImage.cs: add [Flags] attribute.
288         Fixes #440574.
290 2008-10-27  Jb Evain  <jbevain@novell.com>
292         * Mono.Cecil/AssemblyInfo.cs: bump version.
294 2008-10-27  Zoltan Varga  <vargaz@gmail.com>
296         * Mono.Cecil/AssemblyStripper.cs: Strip locals info too.
298 2008-10-17  Jb Evain  <jbevain@novell.com>
300         * Mono.Cecil/ReflectionWriter.cs: remove dead code.
301         * Mono.Cecil.Cil/ISymbolWriter.cs: simplify Write method.
303 2008-10-17      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
305         * Mono.Cecil.Cil/CodeWriter.cs
306         * Mono.Cecil.Cil/MethodBody.cs:
307                 mcs-cecil-local-var-1.diff patch enabling better handling of local
308                 variable debugging information applied.
309                 Patch by Juerg Billeter <j@bitron.ch>
311 2008-10-17      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
313         * Mono.Cecil/ConstructorCollection.cs
314         * Mono.Cecil.Binary/ImageReader.cs:
315                 Compact Framework compilation fixes.
317 2008-10-14  Jb Evain  <jbevain@novell.com>
319         * Mono.Cecil/SecurityDeclarationReader.cs: protect against
320         wrongly formatted security attributes.
322 2008-10-12  Sebastien Pouliot  <sebastien@ximian.com>
324         * Mono.Cecil.Cil/SymbolStoreHelper.cs: Change two "static readonly"
325         fields into const.
326         [Found using Gendarme PreferLiteralOverInitOnlyFieldsRule]
328 2008-10-11  Sebastien Pouliot  <sebastien@ximian.com>
330         * Mono.Cecil/ConstructorCollection.cs: Fix a NRE if a null parameter
331         is provided to one of the GetConstructor overloads.
333 2008-10-07  Jb Evain  <jbevain@novell.com>
335         * Mono.Cecil/ReflectionReader.cs: don't cache generic typespecs,
336         as some compiler reuse generic instance signatures with different
337         generic contexts.
339 2008-10-01  Jb Evain  <jbevain@novell.com>
341         * Mono.Cecil.dll.sources
342         * Mono.Cecil.csproj
343         * Mono.Cecil/AssemblyStripper.cs
344         * Mono.Cecil.Cil/CodeWriter.cs
345         * Mono.Cecil.Metadata/MetadataWriter.cs: add a new AssemblyStripper
346         class to be used by a tool to empty method bodies for assemblies
347         that have been AOTed.
349 2008-09-29  Jb Evain  <jbevain@novell.com>
351         * Mono.Cecil/GenericParameter.cs: override TypeReference.Scope.
353 2008-09-25  Jb Evain  <jbevain@novell.com>
355         * Mono.Cecil.Binary/MemoryBinaryWriter.cs: Make sure QuadAlign
356         properly enlarge the memory stream if needed.
357         Patch by Regis Vaquette <rvaquette@yahoo.fr>.
359 2008-09-18  Jb Evain  <jbevain@novell.com>
361         * Mono.Cecil/ReflectionReader.cs (GetModifierType): protect against
362         zero rids.
364 2008-09-15  Jb Evain  <jbevain@novell.com>
366         * Mono.Cecil.Signatures/SignatureReader.cs: fix regression
367         in reading custom mods.
369 2008-09-04  Jb Evain  <jbevain@novell.com>
371         * Mono.Cecil.Signatures/SignatureReader.cs: better read modifiers on
372         return types and parameters.
374 2008-09-02  Jb Evain  <jbevain@novell.com>
376         * Mono.Cecil.Metadata/UserStringsHeap.cs: fix reading of some unicode fu.
378 2008-09-02  Jb Evain  <jbevain@novell.com>
380         * Mono.Cecil/MethodAttributes.cs: add CheckAccessOnOverride.
381         * Mono.Cecil/MethodDefinition.cs: add IsCheckAccessOnOverride.
383 2008-09-02  Jb Evain  <jbevain@novell.com>
385         * Mono.Cecil/GenericParameter.cs: fix Has*Constraint properties.
387 2008-09-02  Jb Evain  <jbevain@novell.com>
389         * Mono.Cecil/SecurityDeclarationReader.cs: fix reading
390         multiple permissions. Patch by Carsten Keutmann.
392 2008-09-01  Jb Evain  <jbevain@novell.com>
394         * Mono.Cecil/ReflectionReader.cs: properly compose mod and byref types
395         for parameters and return types.
396         Based on a patch by Carlo Kok <ck@remobjects.com>
398 2008-09-01  Jb Evain  <jbevain@novell.com>
400         * Mono.Cecil.Signatures/SignatureReader.cs: Avoid a crash
401         when looking for an enumeration definition when the assembly
402         could not be resolved. Patch by Carlo Kok <ck@remobjects.com>
404 2008-09-01  Jb Evain  <jbevain@novell.com>
406         * Mono.Cecil/ReflectionWriter.cs: fix for writing null string
407         constants. Patch by Ewout Prangsma <ewout@tallapplications.com>.
409 2008-06-28  Sebastien Pouliot  <sebastien@ximian.com>
411         * Mono.Cecil.dll.sources
412         * Mono.Xml/MiniParser.cs:
413                 Remove MiniParser as it is no more required (replaced by
414                 SmallXmlParser) and save a few KB in the binary size
416         * Mono.Xml/SecurityParser.cs
417         * Mono.Xml/SmallXmlParser.cs:
418                 Seal non-visible classes.
419                 [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
421         * Mono.Cecil.Signatures/GenericArg.cs:
422                 Seal non-visible classes.
423                 [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
425         * Mono.Cecil.Binary/CopyImageVisitor.cs
426         * Mono.Cecil.Binary/ImageInitializer.cs
427         * Mono.Cecil.Binary/ImageReader.cs
428         * Mono.Cecil.Binary/ImageWriter.cs
429         * Mono.Cecil.Binary/ResourceReader.cs
430         * Mono.Cecil.Binary/ResourceWriter.cs:
431                 Seal non-visible classes.
432                 [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
434         * Mono.Cecil.Metadata/CultureUtils.cs
435         * Mono.Cecil.Metadata/MetadataInitializer.cs
436         * Mono.Cecil.Metadata/MetadataReader.cs
437         * Mono.Cecil.Metadata/MetadataRowReader.cs
438         * Mono.Cecil.Metadata/MetadataRowWriter.cs
439         * Mono.Cecil.Metadata/MetadataTableReader.cs
440         * Mono.Cecil.Metadata/Utilities.cs:
441                 Seal non-visible classes.
442                 [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
444         * Mono.Cecil.Cil/CodeReader.cs
445         * Mono.Cecil.Cil/OpCodeNames.cs
446         * Mono.Cecil.Cil/CodeWriter.cs
447         * Mono.Cecil.Cil/SymbolStoreHelper.cs:
448                 Seal non-visible classes.
449                 [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
451         * Mono.Cecil/SecurityDeclarationReader.cs
452         * Mono.Cecil/NullReferenceImporter.cs
453         * Mono.Cecil/TableComparers.cs:
454                 Seal non-visible classes.
455                 [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
457         * Mono.Cecil/AssemblyNameReference.cs:
458                 Use String.Length > 0 instead of comparing to String.Empty
459                 [Found using Gendarme CompareWithEmptyStringEfficientlyRule]
461         * Mono.Cecil.Metadata/MetadataToken.cs:
462                 Add a private Equals(MetadataToken) method. This allows the
463                 existing operators (== and !=) to avoid boxing, since they
464                 will prefer it to the Equals(object) method.
465                 [Found using Gendarme ImplementEqualsTypeRule]
467         * Mono.Cecil.Cil/GuidAttribute.cs:
468                 Seal attribute class
469                 [Found using Gendarme AvoidUnsealedConcreteAttributesRule]
471         * Mono.Cecil.Signatures/SignatureWriter.cs:
472                 Fix typo.
473                 [Found using Gendarme AvoidUnneededUnboxingRule]
475 2008-06-06  Jb Evain  <jbevain@novell.com>
477         * CodeGen/cecil.xml: constrained. is of type InlineType.
478         * Mono.Cecil.Cil/OpCodes.cs: re-generate.
480 2008-05-14  Jb Evain  <jbevain@novell.com>
482         * Mono.Cecil/ReflectionWriter.cs:
483                 Only create the GenericParameterConstraint table if needed.
484                 Patch by Richard Flamsholt <richard.flamsholt@gmail.com>.
486         * Mono.Cecil.Cil/MethodBody.cs:
487                 Fix typo in switch cloning. Patch by
488                 Rune Glerup <rune.glerup@gmail.com>.
490 2008-05-06  Jb Evain  <jbevain@novell.com>
492         * Mono.Cecil.Signatures/CustomMod.cs:
493                 Introduce a EmptyCustomMod static field.
494         * Mono.Cecil/ReflectionWriter.cs
495         * Mono.Cecil.Signatures/SignatureReader.cs:
496                 Use EmptyCustomMod instead of instanciating
497                 empty arrays of CustomMod.
498                 Based on a patch by Carlo Kok <ck@remobjects.com>.
500         * Mono.Cecil.Metadata/MetadataRowReader.cs
501         * Mono.Cecil.Metadata/MetadataRowWriter.cs:
502                 Cache row counters delegates.
503                 Based on a patch by Carlo Kok <ck@remobjects.com>.
505         * Mono.Cecil/TypeDefinition.cs
506         * Mono.Cecil/MethodDefinition.cs
507         * Mono.Cecil/DefaultImporter.cs
508         * Mono.Cecil/ReflectionHelper.cs:
509                 Restore the generic context values instead of blindly
510                 overriding them. Based on a patch by Dzintars Avots.
512         * Mono.Cecil/MarshalSpec.cs (CloneInto): add new method
513         to clone MarshalSpec into a new container.
515         * Mono.Cecil/ParameterDefinition.cs (Clone):
516         * Mono.Cecil/FieldDefinition.cs (Clone):
517         Use the new MarshalSpec.CloneInto method.
518         Based on a patch by Dzintars Avots <davots@coverity.com>.
520         * Mono.Cecil/MethodDefinition.cs (Clone): fix cloning of
521         return types when they don't have a parameter.
522         Patch by Dzintars Avots <davots@coverity.com>.
524         * Mono.Cecil.Cil/CodeWriter.cs (ComputeMaxStack): compute max
525         stack more precisely. Based on a patch by Daniel Grunwald,
526         Contains code from Cecil.FlowAnalysis.
528         * Mono.Cecil.Cil/MethodBody.cs (Clone): make sure the
529         instruction linked list is properly constructed.
531 2008-04-19  Sebastien Pouliot  <sebastien@ximian.com>
533         * Mono.Cecil.Cil/CodeReader.cs:
534         * Mono.Cecil.Cil/ISymbolReader.cs:
535                 Move reading of debugging symbols where it's possible to
536                 reuse the existing Hashtable (offset, Instruction) in
537                 the debugging libraries. Change interface to allow
538                 passing the Hashtable.
540 2008-04-15  Sebastien Pouliot  <sebastien@ximian.com>
542         * Mono.Cecil.csproj
543         * Mono.Cecil.dll.sources:
544                 Add Mono.Cecil.Cil/OpCodeNames.cs to the build.
546         * Mono.Cecil.Cil/OpCodeNames.cs
547         * Mono.Cecil.Cil/OpCode.cs
548         * Mono.Cecil.Cil/OpCodes.cs:
549                 Reduce the OpCode struct size to 8 bytes (instead of 36).
550                 Based on the SRE.OpCode code found in corlib.
552 2008-04-13  Sebastien Pouliot  <sebastien@ximian.com>
554         * Mono.Cecil/AssemblyDefinition.cs:
555                 Short circut loop when module is found.
557 2008-04-08  Jb Evain  <jbevain@novell.com>
559         * Mono.Cecil/SecurityDeclaration.cs
560           Mono.Cecil/SecurityDeclarationReader.cs:
561                 Implement resolving of SecurityDeclarations.
563 2008-03-31  Jb Evain  <jbevain@novell.com>
565         Integrate patches from Dzintars Avots <davots@coverity.com>
567         * Mono.Cecil/GenericParameter.cs
568           Mono.Cecil/TypeDefinition.cs
569           Mono.Cecil/DefaultImporter.cs
570           Mono.Cecil/MethodDefinition.cs:
571                 Fix generic parameter cloning to avoid issues when
572                 the constraint reference the parameter itself.
574         * Mono.Cecil/MethodBody.cs (Clone): deals with switches.
576         * Mono.Cecil/MethodBody.cs (Clone): clone the name of
577         the local variables.
579 2008-03-30  Sebastien Pouliot  <sebastien@ximian.com>
581         * Mono.Cecil/ReflectionReader.cs:
582                 Avoid creating a BinaryReader+MemoryStream on LE archs for
583                 GetConstant. Saves about 400KB for Gendarme.
584                 Avoid a BinaryReader creation in GetConstant which saves
585                 about 50KB for Gendarme.
586         * Mono.Cecil.Metadata/GuidHeap.cs:
587                 Compute ideal capacity for Hashtable. Avoid memory allocation
588                 if a single GUID is present (which is the case for all of
589                 Mono 2.0 assemblies). Saves a whole 2KB for Gendarme ;-)
590         * Mono.Cecil.Binary/Image.cs:
591                 Add internal GetSectionAtVirtualAddress to avoid creating
592                 BinaryReader in some cases.
593         * Mono.Cecil.Binary/ResourceReader.cs:
594                 Avoid a BinaryReader creation in SetInitialValue which saves
595                 about 3000KB for Gendarme.
597 2008-03-08  Jb Evain  <jbevain@novell.com>
599         * Mono.Cecil.Binary/CopyImageVisitor.cs:
600                 Copy the cliheaders flags over the new assembly.
601                 Patch by Oleksiy Gapotchenko <alex.s.gap@gmail.com>
603 2008-03-08  Sebastien Pouliot  <sebastien@ximian.com>
605         * Mono.Cecil.Cil/CodeReader.cs:
606                 Use one and only Hashtable for caching instructions offsets.
607                 Save tons of precious memory.
609 2008-03-08  Sebastien Pouliot  <sebastien@ximian.com>
611         * Mono.Cecil.Cil/OpCode.cs
612         * Mono.Cecil.Binary/RVA.cs
613         * Mono.Cecil.Binary/DataDirectory.cs:
614                 Avoid boxing/unboxing when == or != operators are used.
615                 Results in significant memory savings for Gendarme.
617 2008-03-08  Jb Evain  <jbevain@novell.com>
619         * Mono.Cecil/ReflectionReader.cs:
620                 Protect from malformed RIDs.
621         * Mono.Cecil/AggressiveReflectionReader.cs:
622                 Create the m_events and m_properties tables
623                 even if they contains 0 elements.
625 2008-02-26  Jb Evain  <jbevain@novell.com>
627         * Mono.Cecil.Binary/ImageReader.cs:
628                 Avoid throwing non desired exceptions.
630 2008-02-25  Jb Evain  <jbevain@novell.com>
632         * Mono.Cecil/ReflectionReader.cs:
633                 Avoid throwing in case a constant
634                 is of type object.
636 2008-02-19  Jb Evain  <jbevain@novell.com>
638         * Mono.Cecil/DefaultImporter.cs:
639                 Add support for importing function pointers. Based on a
640                 patch by Andrea Carlo Ornstein <andrea.ornstein@st.com>.
642         * Mono.Cecil/ModuleDefinition.cs:
643                 Add a Inject(FieldDef) overload for symmetry.
644                 Patch by Andrea Carlo Ornstein <andrea.ornstein@st.com>.
646 2008-02-16  Jb Evain  <jbevain@novell.com>
648         * CodeGen/templates/MetadataRowReader.cs
649           CodeGen/templates/Utilities.cs
650           CodeGen/templates/MetadataRowWriter.cs
651           Mono.Cecil.Metadata/MetadataRowReader.cs
652           Mono.Cecil.Metadata/MetadataRowWriter.cs
653           Mono.Cecil.Metadata/Utilities.cs:
654                 Use a good old traditional array instead of an
655                 Hashtable. Based on a patch by Carlo Kok <ck@remobjects.com>.
657 2008-02-07  Jb Evain  <jbevain@novell.com>
659         * Mono.Cecil/BaseAssemblyResolver.cs:
660                 deal with 2.1 corlib on Mono.
662 2008-02-07  Jb Evain  <jbevain@novell.com>
664         * Mono.Cecil/MethodDefinition.cs:
665                 add last Is method for semantics property.
667 2008-02-05  Jb Evain  <jbevain@novell.com>
669         * Mono.Cecil/TypeDefinition.cs:
670                 System.Enum by itself is not a value type.
671                 Fix #351879.
673         * Mono.Cecil.Signatures/SignatureReader.cs:
674                 Properly read fnptr local variables. Fix #358507.
676         * Mono.Cecil.Binary/DefaultImporter.cs:
677                 Import modifiers and sentinels, patch from:
678                 Andrea Carlo Ornstein <andrea.ornstein@st.com>
680 2008-02-04  Jb Evain  <jbevain@novell.com>
682         * Mono.Cecil.Binary/CLIHeader.cs
683           Mono.Cecil.Binary/ImageWriter.cs
684           Mono.Cecil.Metadata/MetadataWriter.cs:
685                 emit the proper cli header version for 1.1 and 2.0 cases.
687         * Mono.Cecil.Cil/CilWorker.cs: add callsite overloads.
689 2008-01-10  Jb Evain  <jbevain@novell.com>
691         * Mono.Cecil/ReflectionHelper.cs: deal with complex arrays.
693 2008-01-07  Jb Evain  <jbevain@novell.com>
695         * Mono.Cecil.Cil/CilWorker.cs:
696                 Allow ldarg.s/ldloc.s/stloc.s to take a byte
697                 instead of the actual parameter or variable. Fix #350606.
699 2008-01-07  Jb Evain  <jbevain@novell.com>
701         * Mono.Cecil/ArrayType.cs:
702                 Add a constructor with the array rank. Fix #351924.
703                 Based on a patch by Rolf Kvinge <rkvinge@novell.com>.
705 2008-01-04  Jb Evain  <jbevain@novell.com>
707         * Mono.Cecil.Cil/CilWorker.cs:
708                 Allow ldarg/ldloc/stloc to take a integer
709                 instead of the actual parameter or variable. Fix #350606.
711 2008-01-04  Jb Evain  <jbevain@novell.com>
713         * Mono.Cecil/DefaultImporter.cs:
714           Mono.Cecil/ReflectionHelper.cs:
715                 Properly import nested types. Fix #351133.
717 2008-01-03  Jb Evain  <jbevain@novell.com>
719         * Mono.Cecil/ReflectionWriter.cs:
720                 Properly emit null type constants. Fix #351141.
721                 Patch by Rolf Kvinge <rkvinge@novell.com>.
723 2007-12-30  Jb Evain  <jbevain@novell.com>
725         * Mono.Cecil.Cil/CilWorker.cs:
726                 Check for null arguments. Fix #350857.
728 2007-12-21  Jb Evain  <jbevain@novell.com>
730         * Mono.Cecil/ReflectionReader.cs
731           Mono.Cecil/AggressiveReflectionReader.cs
732           Mono.Cecil.Signatures/SignatureReader.cs:
733                 Don't crash on force resolve for nested arrays
734                 in custom attributes.
736 2007-12-17  Jb Evain  <jbevain@novell.com>
738         * Mono.Cecil/IMemberDefinition.cs: make IMemberDefinition
739         implement ICustomAttributeProvider.
741 2007-12-15  Jb Evain  <jbevain@novell.com>
743         * Mono.Cecil.Binary/AggressiveReflectionReader.cs: protect
744         against zeroed tokens.
746 2007-12-15  Jb Evain  <jbevain@novell.com>
748         * Mono.Cecil.Binary/ImageReader.cs: fix crash when reading
749         some non .net binaries.
751 2007-11-22  Sebastien Pouliot  <sebastien@ximian.com>
753         * Mono.Cecil/SecurityDeclarationReader.cs:      Change default read
754         value to true. Fix reading 2.0 security declaration format used by
755         MS compilers (#343553).
757 2007-11-15      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
759         * Mono.Cecil.Cil/MethodBody.cs:
760                 Fixed Optimize for ldc_i4
762 2007-11-15      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
764         * Mono.Cecil.Cil/DocumentLanguage.cs
765           Mono.Cecil.Cil/DocumentLanguageVendor.cs:
766                 Compact Framework support by using Guid(string) if CF_2_0 is defined
768 2007-11-01  Jb Evain  <jbevain@novell.com>
770         * Mono.Cecil/MethodReturnType.cs: based on a patch by
771         Ivan <ivanjh@gmail.com>. Fix for cloning methods with
772         marshalers on return type.
774 2007-10-31  Jb Evain  <jbevain@novell.com>
776         * Mono.Cecil.Binary/ImageReader.cs: fix for the case where
777         the export table export zero functions.
779 2007-10-18  Jb Evain  <jbevain@novell.com>
781         * Mono.Cecil.Cil/MethodBody.cs: Add an Optimize method which
782         is the opposite of Simplify. Based on a patch by Carlo.
784         * Mono.Cecil.Cil/CodeWriter.cs: don't care about reducing MaxStack.
786 2007-10-11  Jb Evain  <jbevain@novell.com>
788         * Mono.Cecil/TypeReference.cs: add a IsNested helper property.
790         * Mono.Cecil/ReflectionWriter.cs
791           Mono.Cecil.Signatures/SignatureWriter.cs:
792                 Integrate patch for Carlo, start working on enum writing
793                 in custom attribute.
795 2007-10-09  Nestor Salceda  <nestor.salceda@gmail.com>
797         * mono-cecil.pc.in:  Updated the version number.
799 2007-10-09  Jb Evain  <jbevain@novell.com>
801         * Mono.Cecil.Cil/Instruction.cs
802           Mono.Cecil.Cil/CodeWriter.cs:
803                 Move CodeWriter.GetSize (Instruction) to Instruction.
805         Integration of patches from Carlo Kok <ck@remobjects.com>:
807         * Mono.Cecil.Cil/Document.cs
808           Mono.Cecil.Cil/DocumentType.cs
809           Mono.Cecil.Cil/DocumentLanguage.cs
810           Mono.Cecil.Cil/DocumentLanguageVendor.cs:
811                 Use plain guids for Document properties so it's easy
812                 for third party document providers to use their own.
814         * Mono.Cecil/ParameterDefinition.cs:
815                 Clean or set the HasFieldMarshal flag when setting
816                 MarshalSpecs on parameters.
818         * Mono.Cecil/AssemblyNameReference.cs:
819                 Protect against null culture.
821         * Mono.Cecil/FieldDefinition.cs:
822                 Clean or set the HasFieldMarshal flag when setting
823                 MarshalSpecs on fields.
825         * Mono.Cecil/GenericInstanceType.cs:
826                 Properly initialize the IsValueType from the element type.
828 2007-10-09  Jb Evain  <jbevain@novell.com>
830         * Mono.Cecil/ReflectionWriter.cs: check for duplicates
831         in the MemberRef row.
833 2007-10-08  Sebastien Pouliot  <sebastien@ximian.com>
835         * standalone.make: Revert changes so standalone Cecil (in SVN) can
836         be built using this Makefile (required for Gendarme);
837         * README: Update build and bug instructions.
839 2007-10-07  Jb Evain  <jbevain@novell.com>
841         * Mono.Cecil/BaseAssemblyResolver.cs: first lookup assemblies
842         in the specified directories before trying the framework dir.
844 2007-10-06  Jb Evain  <jbevain@novell.com>
846         * Mono.Cecil.Cil/OpCode.cs: make that a struct again, it
847         make the 2.1 profile explode. Will investigate why.
849 2007-10-06  Jb Evain  <jbevain@novell.com>
851         * Mono.Cecil/MethodCallingConvention.cs: Not a [Flag]
853 2007-10-05  Jb Evain  <jbevain@novell.com>
855         * Mono.Cecil.Cil/OpCode.cs: Change OpCode from struct to class
856         to avoid copying everything everytime.
858 2007-09-28  Jb Evain  <jbevain@novell.com>
860         * Mono.Cecil/SecurityDeclarationReader.cs:
861                 Adapt patch from Carlo Kok  <ck@remobjects.com>.
862                 Properly read unicode string constants.
864         * Mono.Cecil/SecurityDeclarationReader.cs:
865                 Adapt patch from Carlo Kok  <ck@remobjects.com>.
866                 For some MS assemblies, the security declaration contains
867                 one zero byte.
869 2007-09-24  Jb Evain  <jbevain@novell.com>
871         * Mono.Cecil/ModuleDefinition.cs: after a FullLoad, the symbol
872         reader is not needed anymore.
874 2007-09-18  Jb Evain  <jbevain@novell.com>
876         * Mono.Cecil.Cil/MethodBody.cs:
877                 Adapt a patch from Ivan <ivanjh@gmail.com>.
878                 Fix cloning of the This parameter.
880 2007-09-12  Jb Evain  <jbevain@novell.com>
882         * Mono.Cecil/ReflectionReader.cs
883           Mono.Cecil.Signatures/SignatureReader.cs
884           Mono.Cecil.Signatures/TypeSpec.cs
885           Mono.Cecil.Signatures/SignatureWriter.cs:
886                 Deal with custom mods on typespecs.
888 2007-09-12  Jb Evain  <jbevain@novell.com>
890         * Mono.Cecil.Binary/ImageReader.cs: some 64bits assemblies
891         have a strange header without import tables.
893 2007-09-09  Jb Evain  <jbevain@novell.com>
895         * Mono.Cecil/GenericContext.cs
896           Mono.Cecil/ReflectionReader.cs
897           Mono.Cecil/DefaultImporter.cs:
898                 Better handling of generic instances of references, where
899                 the number of generic parameters is not known.
901 2007-09-06  Jb Evain  <jbevain@novell.com>
903         * Mono.Cecil/MethodDefinition: add Is** methods for MethodImplAttributes.
905 2007-09-04  Jb Evain  <jbevain@novell.com>
907         * Mono.Cecil/ReflectionWriter.cs:
908                 Adapt a patch by Ewout Prangsma <ewout@tallapplications.com>.
909                 Cache the typespec tokens instead of the typespec themselves
910                 because GenericParameters are somethimes considered as typespecs.
912 2007-08-28  Jb Evain  <jbevain@novell.com>
914         * Mono.Cecil.Cil/CodeWriter.cs
915           Mono.Cecil/ReflectionWriter.cs
916           Mono.Cecil.Cil/SymbolStoreHelper.cs
917           Mono.Cecil.Signatures/SignatureWriter.cs:
918                 Generate proper variables signatures for symbols
919                 stores.
921 2007-08-19  Jb Evain  <jbevain@novell.com>
923         * Mono.Cecil.Cil/CodeReader.cs:
924                 Deal with generic exceptions.
926 2007-08-15  Jb Evain  <jbevain@novell.com>
928         * CodeGen/cecil.xml,
929           Mono.Cecil.Cil/OpCodes.cs:
930                 Fix bug spotted by Jesse Jones, ldelem.any has a
931                 stack behavior pop of popref, popi.
933 2007-08-15  Jb Evain  <jbevain@novell.com>
935         * Mono.Cecil/TypeReference.cs
936           Mono.Cecil/TypeSpecification.cs:
937                 TypeSpecification.Module return the module of the elemen
938                 type now.
940 2007-08-13  Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
942         * default.build
943           Mono.Cecil/AssemblyInfo.cs:
944                 Ability to pass custom defines to the c# compiler through
945                 the csc.defines property. KEYFILE can be used to force
946                 an AssemblyKeyFile attribute on AssemblyInfo.cs so strongly
947                 signed versions of Mono.Cecil can be produced on .net 1.1,
948                 cf 1.0 and cf 2.0.
950 2007-08-13  Jb Evain  <jbevain@novell.com>
952         * Mono.Cecil.Cil/CilWorker.cs:
953                 Fix InsertBefore.
955 2007-08-06  Jb Evain  <jbevain@novell.com>
957         * Mono.Cecil.Cil/CilWorker.cs:
958                 Fix the linked list after an InsertBefore, InsertAfter.
960 2007-08-02  Jb Evain  <jbevain@novell.com>
962         * Mono.Cecil/GenericParameter.cs
963           Mono.Cecil/FieldDefinition.cs
964           Mono.Cecil/TypeDefinition.cs
965           Mono.Cecil/MethodDefinition.cs
966           Mono.Cecil/EventDefinition.cs
967           Mono.Cecil/PInvokeInfo.cs
968           Mono.Cecil/Resource.cs
969           Mono.Cecil/ParameterDefinition.cs
970           Mono.Cecil/PropertyDefinition.cs:
972                 Add Isxxx properties based on the xxxAttributes enums.
974 2007-07-23  Raja R Harinath  <rharinath@novell.com>
976         Fix 'make warnings'.
977         * Makefile (LIBRARY_PACKAGE): Set to none.
978         (install-local): Remove.
980 2007-07-21  Jb Evain  <jbevain@novell.com>
982         * Mono.Cecil/TypeReference.cs
983           Mono.Cecil/TypeSpecification.cs:
984                 Add a new GetOriginalType () method.
986         * Mono.Cecil/MethodReference.cs
987           Mono.Cecil/MethodSpecification.cs:
988                 Add a new GetOriginalMethod () method.
990 2007-07-19  Jb Evain  <jbevain@novell.com>
992         * Mono.Cecil/AssemblyFactory.cs
993           Mono.Cecil.Binary/Image.cs:
994                 Update the fileinfo after writing an assembly
995                 to a file.
997 2007-07-19  Jb Evain  <jbevain@novell.com>
999         * Mono.Cecil/ReflectionReader.cs
1000           Mono.Cecil.Cil/CodeReader.cs
1001           Mono.Cecil.Signature/SignatureReader.cs:
1002                 Better handling of the sentil in the varargs methods.
1004         * Mono.Cecil/ReflectionReader.cs
1005           Mono.Cecil/SentinelType.cs
1006           Mono.Cecil.Cil/CodeWriter.cs:
1007           Mono.Cecil.Signatures/SignatureReader.cs:
1008                 Fix handling of varargs methods.
1010 2007-07-18  Jb Evain  <jbevain@novell.com>
1012         * Mono.Cecil.Cil/CodeReader.cs
1013           Mono.Cecil.Cil/CodeWriter.cs:
1014                 Deal with non-sense instructions that some
1015                 obfuscators emit.
1017         * Mono.Cecil/AggressiveReflectionReader.cs:
1018                 Deal with out of range properties.
1019         * Mono.Cecil.Metadata/StringsHeap.cs:
1020                 Deal with out of range string indexes.
1022 2007-07-17  Jb Evain  <jbevain@novell.com>
1024         * Mono.Cecil/AggressiveReflectionReader.cs:
1025                 Add some gards against zeroed tokens.
1027         * Mono.Cecil.Metadata/Utilities.cs:
1028                 Return zero instead of throwing on invalid tags.
1029                 Allow Cecil to read assemblies partially broken
1030                 by some obfuscators.
1032 2007-07-14  Gert Driesen  <drieseng@users.sourceforge.net>
1034         * default.build: Fix relative path to key. Avoid use of ugly foreach
1035         contruct. Spaces to tabs.
1036         * Mono.Cecil.csproj: Fix relative path to key.
1037         * standalone.make: Fix relative path to key and config.make.
1039 2007-07-03  Jb Evain  <jbevain@novell.com>
1041         * Mono.Cecil/BaseAssemblyResolver.cs:
1042                 Expose a way to add default directories
1043                 where the assemblies are first looked for.
1045 2007-06-20  Jb Evain  <jbevain@novell.com>
1047         * Mono.Cecil/IReferenceImporter.cs => IImporter.cs
1048           Mono.Cecil/DefaultReferenceImporter.cs => DefaultImporter.cs
1050         * Mono.Cecil/ReflectionHelper.cs
1051           Mono.Cecil/DefaultReferenceImporter.cs
1052           Mono.Cecil/ModuleDefinition.cs:
1053                 Move Cecil types import logic into
1054                 the DefaultReferenceImporter.
1056                 Needed by the merger and the extractor.
1058 2007-06-19  Jb Evain  <jbevain@novell.com>
1060         * Mono.Cecil.Cil/MethodBody.cs:
1061                 Avoid invalid cast by properly simplifying
1062                 instructions.
1064         * Mono.Cecil.Cil/OpCodes.cs:
1065           CodeGen/cecil.xml:
1066                 leave.s is a macro instruction.
1068         * Mono.Cecil/TypeDefinition.cs
1069           Mono.Cecil/ParameterDefinition.cs:
1070                 Fix cloning.
1072 2007-06-18  Jb Evain  <jbevain@novell.com>
1074         * Mono.Cecil/ReflectionReader.cs:
1075                 Fix custom mods for fields ref.
1077 2007-06-13  Jb Evain  <jbevain@novell.com>
1079         Integrated patches by:
1080         Paul Apostolescu <papostolescu@fortifysoftware.com>
1082         * patch3:
1083           Mono.Cecil/ReflectionReader.cs
1084           Mono.Cecil.Signatures/SignatureWriter.cs:
1085                 In named args, objects are encoded as boxed.
1087         * patch1:
1088           Mono.Cecil/IMemberDefinition.cs
1089           Mono.Cecil/Constants.cs
1090           Mono.Cecil/ReflectionReader.cs
1091           Mono.Cecil/AggressiveReflectionReader.cs:
1092                 Do not take into account special _Deleted
1093                 members.
1095         * patch6:
1096           Mono.Cecil/StructureReader.cs:
1097                 Read the flags of the references as well.
1099         * patch5:
1100           Mono.Cecil.Metadata/UserStringsHeap.cs:
1101                 Don't bother getting a string from the bytes
1102                 if the length is < 2 (0, or 0 + an encoding flag)
1104         * patch4:
1105           Mono.Cecil/ReflectionHelper.cs:
1106                 Update the value type flags of types
1107                 when they are imported if the type
1108                 reference was first seen as a type reference.
1110         * patch2:
1111           Mono.Cecil.Signature/SignatureWriter.cs:
1112                 Patch to handle nullref values for types in
1113                 custom attributes arguments.
1115 2007-06-13  Jb Evain  <jbevain@novell.com>
1117         * Mono.Cecil/StructureWriter.cs,
1118           Mono.Cecil/ReflectionWriter.cs:
1119                 Revert the on demand creation of memberref.
1121 2007-06-12  Jb Evain  <jbevain@novell.com>
1123         * Mono.Cecil/CallSite.cs
1124           Mono.Cecil/ModuleReference.cs
1125           Mono.Cecil/CustomAttribute.cs
1126           Mono.Cecil/AssemblyDefinition.cs
1127           Mono.Cecil/SecurityDeclaration.cs
1128           Mono.Cecil/AssemblyNameReference.cs
1129           Mono.Cecil/MemberReference.cs
1130           Mono.Cecil/Resource.cs
1131           Mono.Cecil/ParameterReference.cs:
1132                 Implement explicitely IAnnotationProvider.
1134 2007-06-05  Jb Evain  <jbevain@novell.com>
1136         * Mono.Cecil/AssemblyNameReference.cs:
1137                 Cache the fullname when possible.
1139 2007-05-31  Jb Evain  <jbevain@novell.com>
1141         * Mono.Cecil/ModuleDefinition.cs:
1142                 Add types to the module and members to the context
1143                 on inject.
1145         * Mono.Cecil/BaseAssemblyResolver.cs:
1146                 Improve resolve, works for people requiring
1147                 .net 1.0 assemblies when they only have 1.1.
1149 2007-05-30  Jb Evain  <jbevain@novell.com>
1151         * Mono.Cecil/DefaultAssemblyResolver.cs:
1152                 Add a RegisterAssembly method to register an
1153                 assembly to the cache without having to resolve it.
1155         * Mono.Cecil/DefaultReferenceImporter.cs:
1156                 Make methods virtual.
1158         * Mono.Cecil.dll.sources
1159           Mono.Cecil.csproj
1160           Mono.Cecil/ReflectionHelper.cs
1161           Mono.Cecil/IReferenceImporter.cs
1162           Mono.Cecil/FieldDefinition.cs
1163           Mono.Cecil/CustomAttribute.cs
1164           Mono.Cecil/ImportContext.cs
1165           Mono.Cecil/NullReferenceImporter.cs
1166           Mono.Cecil/MethodDefinition.cs
1167           Mono.Cecil/EventDefinition.cs
1168           Mono.Cecil/ReflectionController.cs
1169           Mono.Cecil/ModuleDefinition.cs
1170           Mono.Cecil/GenericContext.cs
1171           Mono.Cecil/DefaultReferenceImporter.cs
1172           Mono.Cecil/PropertyDefinition.cs:
1173                 Provide a IReferenceImporter to customize how
1174                 types are injected from an assembly to another.
1176 2007-05-28  Jb Evain  <jbevain@novell.com>
1178         * Borrow annotations concept from boo ast node.
1179           Should be useful for the linker.
1181 2007-05-23  Jb Evain  <jbevain@novell.com>
1183         * Mono.Cecil/StructureWriter.cs
1184           Mono.Cecil/ReflectionWriter.cs
1185           Mono.Cecil.Cil/CodeWriter.cs:
1186                 Emit MemberReferences rows on demand.
1188 2007-05-16  Jb Evain  <jb@nurv.fr>
1190         * Mono.Cecil.Binary/ImageReader.cs:
1191                 Fix reading of the debug header for
1192                 headers half way emitted by .net SRE.
1194         * Mono.Cecil/BaseAssemblyResolver:
1195                 try to resolve unversionned assemblies.
1197 2007-05-09  Jb Evain  <jb@nurv.fr>
1199         * Mono.Cecil.Binary/Image.cs:
1200                 Throw when rva cannot be resolved.
1202         * Mono.Cecil.csproj
1203           Mono.Cecil.Binary/ExportTable.cs
1204           Mono.Cecil.Binary/BaseImageVisitor.cs
1205           Mono.Cecil.Binary/ImageReader.cs
1206           Mono.Cecil.Binary/IBinaryVisitor.cs
1207           Mono.Cecil.Binary/Image.cs
1208           Mono.Cecil.Binary/ImageInitializer.cs
1209           Mono.Cecil/StructureReader.cs
1210           Mono.Cecil/ReflectionWriter.cs:
1211                 When present, read the export table, so that people
1212                 reading non managed assemblies can use the Mono.Cecil.Binary
1213                 stuff.
1215                 Fix the bug when section name is 8 char long.
1217                 Based on a patch by Pavel Savara <pavel.savara@gmail.com>.
1219 2007-04-27  Jb Evain  <jb@nurv.fr>
1221         * Mono.Cecil/AssemblyNameReference.cs:
1222                 Allow the computation of pktoken on CF_2_0.
1224 2007-04-25  Jb Evain  <jb@nurv.fr>
1226         * Mono.Cecil/ModuleDefinition.cs
1227           Mono.Cecil/ReflectionWriter.cs
1228           Mono.Cecil.Cil/ISymbolWriter.cs
1229           Mono.Cecil.Signatures/SignatureWriter.cs
1230                 Start working on local var debug infos emitting.
1232 2007-04-08  Jb Evain  <jb@nurv.fr>
1234         * Mono.Cecil/ParameterAttributes.cs:
1235                 ParameterAttributes.None
1237 2007-03-30  Jb Evain  <jb@nurv.fr>
1239         * Collections:
1240                 Remove uneeded tests as an optimizations.
1241                 Based on a suggestion by Carlo Kok <ck@remobjects.com>.
1243         * Mono.Cecil.Metadata/StringsHeap.cs:
1244                 Optimize GetStringAt, patch by:
1245                 Carlo Kok <ck@remobjects.com>
1247 2007-03-22  Jb Evain  <jbevain@gmail.com>
1249         * Mono.Cecil/AssemblyInfo.cs:
1250                 Bump to 0.5.0.0 for the sake of our packagers friends.
1251                 Re-Bump to 0.5.0.1.
1253         * Mono.Cecil/StructureWriter.cs:
1254                 Throw a NotSupportedException instead of a NIE
1255                 for mixed mode assemblies.
1257 2007-03-20  Jb Evain  <jbevain@gmail.com>
1259         * Mono.Cecil.Metadata/MetadataWriter.cs:
1260                 Correct epilog for unicode user strings heap.
1262 2007-03-16  Jb Evain  <jbevain@gmail.com>
1264         * Mono.Cecil.Cil/CodeReader.cs
1265           Mono.Cecil.Cil/MethodBody.cs:
1266                 Add a MethodBody.Simplify method to expand
1267                 macros.
1269         * Mono.Cecil.dll.sources
1270           Mono.Cecil.csproj
1271           Mono.Cecil.Cil/OpCode.cs
1272           Mono.Cecil.Cil/OpCodes.cs
1273           Mono.Cecil.Cil/Code.cs
1274           CodeGen/cecil-gen.rb
1275           CodeGen/templates/OpCodes.cs
1276           CodeGen/templates/Code.cs:
1277                 Add a Code enumeration to simplify working with
1278                 OpCodes.
1280 2007-03-12  Jb Evain  <jbevain@gmail.com>
1282         * Mono.Cecil.Metadata/UserStringsHeap.cs:
1283                 Avoid trailing blank on some systems.
1285 2007-02-22  Jb Evain  <jbevain@gmail.com>
1287         * Mono.Cecil/ReflectionWriter.cs:
1288                 Deal with sentinels on simple methodrefs.
1290 2007-02-22  Jb Evain  <jbevain@gmail.com>
1292         * Mono.Cecil.dll.sources
1293           Mono.Cecil.csproj
1294           CodeGen/cecil.xml
1295           Mono.Cecil.Metadata/ParamPtr.cs
1296           Mono.Cecil.Metadata/MethodSpec.cs
1297           Mono.Cecil.Metadata/BaseMetadataVisitor.cs
1298           Mono.Cecil.Metadata/EventPtr.cs
1299           Mono.Cecil.Metadata/MetadataTableReader.cs
1300           Mono.Cecil.Metadata/MetadataTableWriter.cs
1301           Mono.Cecil.Metadata/MetadataRowReader.cs
1302           Mono.Cecil.Metadata/MetadataRowWriter.cs
1303           Mono.Cecil.Metadata/PropertyPtr.cs
1304           Mono.Cecil.Metadata/FieldPtr.cs
1305           Mono.Cecil.Metadata/MethodPtr.cs
1306           Mono.Cecil.Metadata/IMetadataVisitor.cs:
1307                 Add *Ptr table definitions.
1309         * Mono.Cecil.dll.sources
1310           Mono.Cecil.csproj
1311           Mono.Cecil/CallSite.cs
1312           Mono.Cecil/IMethodSignature.cs
1313           Mono.Cecil/SentinelType.cs
1314           Mono.Cecil/FunctionPointerType.cs
1315           Mono.Cecil/MethodReference.cs
1316           Mono.Cecil/ReflectionReader.cs
1317           Mono.Cecil/ReflectionWriter.cs
1318           Mono.Cecil.Cil/CodeReader.cs
1319           Mono.Cecil.Cil/CodeWriter.cs:
1320                 Implement support for writing function pointers.
1321                 Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>
1323         * Mono.Cecil/Constants.cs:
1324                 Make it public due to some demands.
1326 2007-02-21  Jb Evain  <jbevain@gmail.com>
1328         * Mono.Cecil.Signatures/SignatureReader.cs:
1329                 do not read enums if the resolution is not forced until
1330                 cecil knows how to write them.
1332         * Mono.Cecil/ReflectionWriter.cs
1333           Mono.Cecil.Signatures/SzArray.cs
1334           Mono.Cecil.Signatures/Array.cs
1335           Mono.Cecil.Signatures/SignatureReader.cs
1336           Mono.Cecil.Signatures/TypeSpec.cs
1337           Mono.Cecil.Signatures/SignatureWriter.cs:
1338                 handle custom mods on arrays signatures.
1340         * Mono.Cecil/ReflectionReader.cs:
1341                 Handle fields TypeSpecs that have an initial value.
1342                 Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>
1344 2007-01-29  Jb Evain  <jbevain@gmail.com>
1346         * Mono.Cecil.Metadata/MetadataWriter.cs:
1347                 Save a byte ! Yeah !
1349 2006-12-18  Jb Evain  <jbevain@gmail.com>
1351         * Mono.Cecil/ReflectionReader.cs:
1352                 Fix a bug in reading MemberRef pointing to MethodDef.
1354 2006-12-16  Jb Evain  <jbevain@gmail.com>
1356         * Mono.Cecil/StructureReader.cs:
1357                 Prevent a NRE if we're reading a multi module
1358                 assembly through a stream if a module is not find.
1359                 Fix #80273.
1361 2006-12-07  Jb Evain  <jbevain@gmail.com>
1363         * Mono.Cecil/ReflectionWriter.cs:
1364                 Allow an AssemblyDefinition to be written
1365                 more than once.
1367 2006-12-05  Jb Evain  <jbevain@gmail.com>
1369         * Mono.Cecil/ReflectionWriter.cs:
1370                 Deal with nullref default parameters.
1372 2006-12-03  Jb Evain  <jbevain@gmail.com>
1374         * Mono.Cecil/ReflectionWriter.cs:
1375                 Handle constant where the parameter is object
1376                 and the signature is something else.
1378 2006-11-27  Jb Evain  <jbevain@gmail.com>
1380         * Mono.Cecil/TypeDefinitionCollection.cs
1381           CodeGen/templates/NamedCollection.cs:
1382                 Allow multiple typedefs with the same namespace+name
1383                 to be able to read unvalid assemblies.
1385         * Mono.Cecil/ReflectionReader.cs
1386           Mono.Cecil/ReflectionWriter.cs
1387           Mono.Cecil.Signatures/PropertySig.cs
1388           Mono.Cecil.Signatures/SignatureReader.cs
1389           Mono.Cecil.Signatures/SignatureWriter.cs:
1390                 - Deal with modifiers on properties.
1391                 - Deal with non standard signatures when the byref
1392                 flag is placed after the custom modifiers.
1393           Mono.Cecil/StructureReader.cs:
1394                 - Properly detect wether an assembli is a dll or not.
1396                 Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>.
1398 2006-11-25  Jb Evain  <jbevain@gmail.com>
1400         * Mono.Cecil/ReflectionReader.cs
1401           Mono.Cecil/ReflectionWriter.cs
1402           Mono.Cecil.Signatures/GenericArg.cs
1403           Mono.Cecil.Signatures/GenericInstSignature.cs
1404           Mono.Cecil.Signatures/SignatureReader.cs
1405           Mono.Cecil.Signatures/SignatureWriter.cs:
1406                 Deal with modifiers for generic arguments.
1407                 Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>.
1409         * Mono.Cecil.Binary/ImageWriter.cs:
1410                 Fix a bug in writing rsrc sections.
1412         * Mono.Cecil.Cil/CodeReader.cs:
1413                 Do some refactoring.
1415         * Mono.Cecil.Metadata/MetadataToken.cs:
1416                 Add a ctor to get a MetadataToken
1417                 from an integer token.
1419 2006-11-22  Jb Evain  <jbevain@gmail.com>
1421         * Mono.Cecil.Cil/GuidAttribute.cs:
1422                 Fix for CF compilation.
1424 2006-11-16  Jb Evain  <jbevain@gmail.com>
1426         * Mono.Cecil/StructureReader.cs:
1427                 If an assembly has no managed assembly defined,
1428                 consider it as a dll.
1430 2006-11-08  Jb Evain  <jbevain@gmail.com>
1432         * Mono.Cecil/BaseAssemblyResolver.cs:
1433                 Handles different kind of GAC on Windows.
1435 2006-11-07  Jb Evain  <jbevain@gmail.com>
1437         * Mono.Cecil/ReflectionHelper.cs:
1438                 Don't import the flags of an assembly name reference.
1440 2006-11-03  Jb Evain  <jbevain@gmail.com>
1442         * Mono.Cecil/PropertyDefinition.cs:
1443                 Fix property cloning.
1444                 Patch by Alex Prudkiy <prudkiy@mail.ru>
1446 2006-10-26  Jb Evain  <jbevain@gmail.com>
1448         * Mono.Cecil/ReflectionReader.cs:
1449                 Use the proper generic context when reading memberrefs.
1451 2006-10-11  Jb Evain  <jbevain@gmail.com>
1453         * Mono.Cecil.Cil/Document.cs:
1454                 Complete a little bit.
1456         * Mono.Cecil/SecurityDeclarationReader.cs:
1457                 Get rid of a lot of exceptions when creating the security
1458                 attribute.
1460 2006-10-10  Jb Evain  <jbevain@gmail.com>
1462         * Mono.Cecil/ReflectionReader.cs:
1463           Mono.Cecil/CustomAttribute.cs:
1464           Mono.Cecil.Signatures/SignatureReader.cs:
1465           Mono.Cecil/SecurityDeclarationReader.cs:
1466                 Patch from: Eyal Alaluf  <eyala@mainsoft.com>.
1467                 Add support for resolving custom attributes that contain references
1468                 to enum in other assemblies.
1470 2006-10-09  Jb Evain  <jbevain@gmail.com>
1472         * Mono.Cecil/IRequireResolving.cs
1473           Mono.Cecil/CustomAttribute.cs
1474           Mono.Cecil/SecurityDeclaration.cs
1475           Mono.Cecil/SecurityDeclarationReader.cs
1476           Mono.Cecil/AggressiveReflectionReader.cs
1477           Mono.Cecil/ReflectionWriter.cs
1478           Mono.Cecil/ModuleDefinition.cs:
1479                 Introduce the interface IRequireResolving implemented
1480                 by CustomAttribute and SecurityDeclaration for when they can't
1481                 be read without loading another assembly.
1483         * Mono.Cecil/SecurityDeclarationReader.cs:
1484                 Prevent Cecil to crash when it can not get the type
1485                 of the declaration.
1487 2006-10-04  Eyal Alaluf  <eyala@mainsoft.com>
1489         * Mono.Cecil/StructureReader.cs:
1490                 Visit the module we load when a DLL has more then 1 module.
1491           Mono.Cecil/AssemblyNameReference.cs:
1492                 Allow "PublicToken=null" when parsing an assembly full name.
1494 2006-10-03  Jb Evain  <jbevain@gmail.com>
1496         * Mono.Cecil/BaseAssemblyResolver.cs
1497           Mono.Cecil.Binary/ResourceReader.cs:
1498                 CompactFramework fix.
1500 2006-10-02  Jb Evain  <jbevain@gmail.com>
1502         * implement IList on the named collections.
1504         * implement the first bits of Win32 resources handling.
1506         * Mono.Cecil/ReflectionHelper.cs:
1507                 It does not make sense to import the assembly flags.
1509 2006-09-28  Jb Evain  <jbevain@gmail.com>
1511         * Mono.Cecil/MethodDefinitionCollection.cs
1512           Mono.Cecil/ConstructorCollection.cs
1513           Mono.Cecil.Cil/InstructionCollection.cs
1514           CodeGen/templates/IndexedCollection.cs
1515                 Fix StackOverlow.
1517 2006-09-27  Jb Evain  <jbevain@gmail.com>
1519         * *Collection.cs: use CollectionBase when possible.
1521 2006-09-24  Jb Evain  <jbevain@gmail.com>
1523         * Mono.Cecil/AssemblyFactory.cs
1524           Mono.Cecil/ReflectionWriter.cs
1525           Mono.Cecil.Cil/ISymbolStoreFactory.cs
1526           Mono.Cecil.Cil/SymbolStoreHelper.cs:
1527                 Some more work on the debugging infos api.
1529         * Mono.Cecil/MethodDefinitionCollection.cs
1530           Mono.Cecil/ConstructorCollection.cs
1531           CodeGen/templates/IndexedCollection.cs:
1532                 Fix the GetConstructor/GetMethod methods.
1533                 Based on a patch by Jon Chambers.
1535 2006-09-20  Jb Evain  <jbevain@gmail.com>
1537         * Mono.Cecil/StructureWriter.cs
1538           Mono.Cecil/ModuleDefinition.cs
1539           Mono.Cecil/ReflectionWriter.cs
1540           Mono.Cecil/AssemblyFactory.cs
1541           Mono.Cecil.Cil/ISymbolReader.cs
1542           Mono.Cecil.Cil/CodeWriter.cs
1543           Mono.Cecil.Cil/ISymbolWriter.cs
1544           Mono.Cecil.Cil/SymbolStoreHelper.cs:
1545                 Working on the debug infos stuff.
1547         * Mono.Cecil.Signatures/SignatureReader.cs:
1548                 Ensure custom attributes are read when they can be.
1549                 Patch by Sebastien Pouliot.
1551 2006-09-19  Jb Evain  <jbevain@gmail.com>
1553         * Mono.Cecil/ModuleDefinition.cs
1554           Mono.Cecil/ReflectionReader.cs
1555           Mono.Cecil/ReflectionWriter.cs
1556           Mono.Cecil.Cil/Document.cs
1557           Mono.Cecil.Cil/Instruction.cs
1558           Mono.Cecil.Cil/SequencePoint.cs
1559           Mono.Cecil.Cil/CodeReader.cs
1560           Mono.Cecil.Cil/IScopeProvider.cs
1561           Mono.Cecil.Cil/ISymbolReader.cs
1562           Mono.Cecil.Cil/CodeWriter.cs
1563           Mono.Cecil.Cil/ISymbolWriter.cs
1564           Mono.Cecil.Cil/IVariableDefinitionProvider.cs
1565           Mono.Cecil.Cil/SymbolStoreHelper.cs
1566           Mono.Cecil.Cil/ISymbolStoreFactory.cs
1567           Mono.Cecil.Cil/ScopeCollection.cs
1568           Mono.Cecil.Cil/Scope.cs:
1569                 Work on the architecture for debugging infos.
1571         * Mono.Cecil.dll.sources
1572           Mono.Cecil.Cil/Document.cs
1573           Mono.Cecil.Cil/IVariableDefinitionProvider.cs
1574           Mono.Cecil.Cil/SequencePoint.cs
1575           Mono.Cecil.Cil/ScopeCollection.cs
1576           Mono.Cecil.Cil/BaseCodeVisitor.cs
1577           Mono.Cecil.Cil/CodeReader.cs
1578           Mono.Cecil.Cil/IScopeProvider.cs
1579           Mono.Cecil.Cil/MethodBody.cs
1580           Mono.Cecil.Cil/ICodeVisitor.cs
1581           Mono.Cecil.Cil/CodeWriter.cs
1582           Mono.Cecil.Cil/Scope.cs
1583           Mono.Cecil.Cil/VariableDefinitionCollection.cs
1584           CodeGen/cecil.xml:
1585                 First bits of the debug infos stuff.
1587         * Mono.Cecil.Cil/InstructionCollection.cs
1588           CodeGen/templates/IndexedCollection.cs:
1589                 The outside instruction has an offset of -1.
1591         * Mono.Cecil.Cil/OpCodes.cs
1592           Mono.Cecil.Cil/CodeReader.cs
1593           Mono.Cecil.Cil/OpCode.cs
1594           CodeGen/templates/OpCodes.cs:
1595                 Simpliest way of dealing with different opcodes.
1597 2006-09-07  Jb Evain  <jbevain@gmail.com>
1599         * support PE32+ file format.
1601         * Add an Outside instruction to an InstructionCollection.
1602         Cleaner than the old null instruction.
1604         * Mono.Cecil/MarshalSpec.cs
1605           Mono.Cecil/ReflectionReader.cs
1606           Mono.Cecil/ReflectionWriter.cs
1607           CodeGen/cecil-mig.rb:
1608                 Refactor names from Desc to Spec.
1610         * *Collection.cs:
1611                 Remove the unused events stuff.
1613 2006-08-31  Jb Evain  <jbevain@gmail.com>
1615         * /!\ Breaking changes:
1616                 On the way to Cecil 0.5. Remove meaningless interfaces.
1617                 GenericParamAttributes -> GenericParameterAttributes
1618                 ParamAttributes -> ParamAttributes
1620                 I'll provide a migration path with a script.
1622                 Please do not use this revision, other changes are on the way.
1624 2006-08-26  Jb Evain  <jbevain@gmail.com>
1626         * Mono.Cecil/ReflectionReader.cs:
1627                 Fix a bug when reading some parameters.
1629 2006-08-26  Jb Evain  <jbevain@gmail.com>
1631         * Mono.Cecil.Cil/ReflectionWriter.cs:
1632                 Fix the computation of the size of the last opcode in case
1633                 of an exception handler is pointing outside the cil stream.
1635         * Mono.Cecil.Cil/ReflectionWriter.cs:
1636                 Don't use seh tiny headers when the size can't fit in a byte.
1638         * Mono.Cecil.Cil/ReflectionWriter.cs:
1639                 Fix a problem in the computation of the stack when the IL
1640                 is somewhat strange.
1642 2006-08-23  Jb Evain  <jbevain@gmail.com>
1644         * Mono.Cecil/AssemblyInfo.cs:
1645                 Cecil 0.4.3 release.
1647 2006-08-21  Jb Evain  <jbevain@gmail.com>
1649         * Mono.Cecil.Metadata/MetadataWriter.cs:
1650                 Fix a bug in field initial values writing.
1652         * Mono.Cecil/BaseAssemblyResolver.cs:
1653                 Look for assemblies in ./ first
1655 2006-08-17  Jb Evain  <jbevain@gmail.com>
1657         * Mono.Cecil/BaseAssemblyResolver.cs:
1658                 Resolve the corlib depending on its version.
1660         * Mono.Cecil/AssemblyName.cs
1661           Mono.Cecil/BaseAssemblyResolver.cs:
1662                 Implement a AssemblyNameReference.Parse(string)
1664         * Mono.Cecil/TypeReferenceCollection.cs
1665           Mono.Cecil/ExternTypeCollection.cs
1666           Mono.Cecil/TypeDefinitionCollection.cs
1667           CodeGen/templates/NamedCollectionImplem.cs:
1668                 Avoid infinite recursion.
1670         * Mono.Cecil/BaseAssemblyResolver.sc:
1671                 Stay .net 1.1 compatible
1673 2006-08-16  Jb Evain  <jbevain@gmail.com>
1675         * Mono.Cecil/IAssemblyResolver.cs
1676           Mono.Cecil/BaseAssemblyResolver.cs
1677           Mono.Cecil/DefaultAssemblyResolver.cs
1678           Mono.Cecil/AssemblyDefinition.cs
1679                 Implement an assembly resolver.
1681         * Mono.Cecil/ReflectionReader.cs:
1682                 Fix the initial value reading.
1683                 Based on a report and a patch of Roei Erez  <roeie@mainsoft.com>
1685 2006-08-15  Jb Evain  <jbevain@gmail.com>
1687         * Mono.Cecil/TypeReferenceCollection.cs
1688           Mono.Cecil/ExternTypeCollection.cs
1689           Mono.Cecil/TypeDefinitionCollection.cs
1690           CodeGen/templates/NamedCollectionImplem.cs:
1691                 Fix the CopyTo method.
1693 2006-07-19  Jb Evain  <jbevain@gmail.com>
1695         * CodeGen/templates/IIndexedCollection.cs
1696           CodeGen/templates/IndexedCollectionImplem.cs
1697           Mono.Cecil/IConstructorCollection.cs
1698           Mono.Cecil/IMethodDefinitionCollection.cs
1699           Mono.Cecil/MethodDefinitionCollection.cs
1700           Mono.Cecil/ConstructorCollection.cs:
1701                 Add a GetConstructor(bool,ParameterDefinitionCollection) method
1702                 required by the linker.
1704         * Mono.Cecil.Metadata/MetadataReader.cs
1705           Mono.Cecil.Metadata/StringsHeap.cs:
1706                 Read the string on demand, based on the index.
1707                 Needed due to some obfuscators that create a string entry like
1708                 xClassName, and make the pointer points to after the x.
1710 2006-07-03      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
1711         * CodeGen/templates/ImageReader.cs
1712           Mono.Cecil.Binary/ImageReader.cs:
1713                 CompactFramework compatibility.
1715 2006-07-02      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
1717         * CodeGen/templates/ImageReader.cs
1718           Mono.Cecil.Binary/ImageReader.cs:
1719                 Proper FileNotFoundException construction.
1721         * Mono.Cecil/MethodDefinition.cs
1722           Mono.Cecil/IMethod.cs:
1723                 Helper properties IsInternalCall and IsRuntime.
1725 2006-06-21  Jb Evain  <jbevain@gmail.com>
1727         * Mono.Cecil.Cil/CilWorker.cs:
1728                 Fix ldc.i4.s emitting.
1730 2006-06-13  Jb Evain  <jbevain@gmail.com>
1732         * Mono.Cecil/ReflectionWriter.cs:
1733                 Fix for compiling on CF 1.
1734         * Mono.Cecil/StructureReader.cs:
1735                 Fix for a "bug" when csc 7.1 emits an assembly
1736                 with an assembly row, but no blob heap.
1737                 Plus style fix.
1739 2006-06-08  Jb Evain  <jbevain@gmail.com>
1741         * Mono.Cecil/IMethod.cs
1742           Mono.Cecil/MethodDefinition.cs
1743           Mono.Cecil/ReflectionWriter.cs:
1744                 Add a public HasBody property.
1746 2006-06-07  Jb Evain  <jbevain@gmail.com>
1748         * Mono.Cecil/MethodDefinition.cs
1749           Mono.Cecil/ReflectionWriter.cs:
1750                 Read and write method bodies only when allowed.
1752 2006-05-29  Jb Evain  <jbevain@gmail.com>
1754         * Mono.Cecil/IMethodDefinition.cs
1755           Mono.Cecil/MethodDefinition.cs:
1756                 Remove the useless CreateBody method.
1758 2006-05-27  Jb Evain  <jbevain@gmail.com>
1760         * Mono.Cecil/StructureWriter.cs
1761           Mono.Cecil/ReflectionReader.cs
1762           Mono.Cecil/MethodDefinition.cs
1763           Mono.Cecil.Metadata/MetadataToken.cs
1764           Mono.Cecil.Signatures/SignatureReader.cs:
1765                 Play better with mixed mode assemblies.
1767         * Mono.Cecil/SecurityDeclarationReader.cs
1768           Mono.Cecil/ReflectionWriter.cs
1769           Mono.Cecil.Signatures/SignatureReader.cs:
1770                 Read/Write this awful load of crap that is sharepoint.
1772 2006-05-22  Jb Evain  <jbevain@gmail.com>
1774         * Mono.Cecil.Cil/CilWorker.cs:
1775                 Fix #78479. Patch by David Emsellem.
1777 2006-05-20  Jb Evain  <jbevain@gmail.com>
1779         * CodeGen/templates/ImageReader.cs
1780           CodeGen/templates/ImageWriter.cs
1781           Mono.Cecil/AssemblyFactory.cs
1782           Mono.Cecil/StructureWriter.cs
1783           Mono.Cecil/Binary/ImageReader.cs
1784           Mono.Cecil/Binary/Image.cs
1785           Mono.Cecil/Binary/ImageWriter.cs
1786           Mono.Cecil.Metadata/MetadataWriter.cs:
1787                 Optimize assembly writing.
1788                 Add methods to read assemblies from byte arrays.
1790         * Mono.Cecil/StructureWriter.cs:
1791                 Throw an exception when the target is an exe
1792                 and no entry point have been setted.
1793         * Mono.Cecil/AssemblyFactory.cs:
1794                 Add helpers method to defines assemblies.
1795         * Mono.Cecil/MethodDefinition.cs:
1796                 Set the hasThis flag to the correct value.
1797         * Mono.Cecil.Cil/CodeReader.cs:
1798                 Remove old comment.
1799         * Mono.Xml/SmallXmlParser.cs:
1800                 Make private.
1802 2006-05-18  Jb Evain  <jbevain@gmail.com>
1804         * CodeGen/templates/MetadataTableReader.cs
1805           Mono.Cecil.Metadata/MetadataTableReader.cs
1806           Mono.Cecil.Metadata/TableCollection.cs
1807           Mono.Cecil.Metadata/TablesHeap.cs:
1808                 Optimize a little bit.
1810         * CodeGen/templates/MetadataTableWriter.cs
1811           Mono.Cecil.Metadata/MetadataTableWriter.cs
1812           Mono.Cecil.Metadata/TableCollection.cs:
1813                 Fix for last changeset.
1815         * Mono.Cecil.Metadata/RIdAttribute.cs:
1816                 deleted.
1818         * Mono.Cecil/ReflectionReader.cs
1819           Mono.Cecil/StructureReader.cs
1820           Mono.Cecil/ReflectionWriter.cs
1821           Mono.Cecil/AggressiveReflectionReader.cs
1822           Mono.Cecil.Cil/CodeReader.cs
1823           CodeGen/templates/Utilities.cs
1824           CodeGen/templates/MetadataTableReader.cs
1825           CodeGen/templates/MetadataTableWriter.cs
1826           CodeGen/templates/Table.cs
1827           CodeGen/templates/MetadataRowReader.cs
1828           CodeGen/templates/MetadataRowWriter.cs
1829           Mono.Cecil.Metadata/Assembly.cs
1830           Mono.Cecil.Metadata/InterfaceImpl.cs
1831           Mono.Cecil.Metadata/PropertyMap.cs
1832           Mono.Cecil.Metadata/Constant.cs
1833           Mono.Cecil.Metadata/MethodSpec.cs
1834           Mono.Cecil.Metadata/DeclSecurity.cs
1835           Mono.Cecil.Metadata/TypeDef.cs
1836           Mono.Cecil.Metadata/GenericParamConstraint.cs
1837           Mono.Cecil.Metadata/MethodImpl.cs
1838           Mono.Cecil.Metadata/NestedClass.cs
1839           Mono.Cecil.Metadata/MetadataTableReader.cs
1840           Mono.Cecil.Metadata/AssemblyRefProcessor.cs
1841           Mono.Cecil.Metadata/AssemblyRef.cs
1842           Mono.Cecil.Metadata/AssemblyRefOS.cs
1843           Mono.Cecil.Metadata/Method.cs
1844           Mono.Cecil.Metadata/MetadataTableWriter.cs
1845           Mono.Cecil.Metadata/MetadataRowReader.cs
1846           Mono.Cecil.Metadata/ExportedType.cs
1847           Mono.Cecil.Metadata/CustomAttribute.cs
1848           Mono.Cecil.Metadata/Param.cs
1849           Mono.Cecil.Metadata/ClassLayout.cs
1850           Mono.Cecil.Metadata/MetadataRowWriter.cs
1851           Mono.Cecil.Metadata/Utilities.cs
1852           Mono.Cecil.Metadata/AssemblyOS.cs
1853           Mono.Cecil.Metadata/ModuleRef.cs
1854           Mono.Cecil.Metadata/FieldMarshal.cs
1855           Mono.Cecil.Metadata/GenericParam.cs
1856           Mono.Cecil.Metadata/ImplMap.cs
1857           Mono.Cecil.Metadata/TableCollection.cs
1858           Mono.Cecil.Metadata/TablesHeap.cs
1859           Mono.Cecil.Metadata/TypeRef.cs
1860           Mono.Cecil.Metadata/ManifestResource.cs
1861           Mono.Cecil.Metadata/File.cs
1862           Mono.Cecil.Metadata/EventMap.cs
1863           Mono.Cecil.Metadata/AssemblyProcessor.cs
1864           Mono.Cecil.Metadata/FieldLayout.cs
1865           Mono.Cecil.Metadata/Event.cs
1866           Mono.Cecil.Metadata/Field.cs
1867           Mono.Cecil.Metadata/Property.cs
1868           Mono.Cecil.Metadata/Module.cs
1869           Mono.Cecil.Metadata/MethodSemantics.cs
1870           Mono.Cecil.Metadata/StandAloneSig.cs
1871           Mono.Cecil.Metadata/FieldRVA.cs
1872           Mono.Cecil.Metadata/TypeSpec.cs
1873           Mono.Cecil.Metadata/IMetadataTable.cs
1874           Mono.Cecil.Metadata/MemberRef.cs:
1875                 Fix the way the metadata tables are handled.
1877         * Mono.Cecil.Signatures/SignatureWriter.cs:
1878                 Fix bug in string writing.
1880 2006-05-12  Jb Evain  <jbevain@gmail.com>
1882         * Mono.Cecil/AssemblyInfo.cs:
1883                 Hide the info if Cecil is embedded.
1885 2006-05-09  Jb Evain  <jbevain@gmail.com>
1887         * cecil.build: rename to default.build
1889 2006-05-08  Jb Evain  <jbevain@gmail.com>
1891         * Makefile:
1892                 Sign the assembly.
1894         * cecil.csproj:
1895                 Add an msbuild file.
1897 2006-05-05  Jb Evain  <jbevain@gmail.com>
1899         * Mono.Cecil/AssemblyFactory.cs
1900           Mono.Cecil/StructureReader.cs
1901           Mono.Cecil/ModuleDefinition.cs:
1902                 Add an AssemblyFactory.GetAssemblyManifest method.
1904 2006-05-04  Jb Evain  <jbevain@gmail.com>
1906         * Mono.Cecil/TableComparers.cs:
1907                 TypeDef.Compare: the name is enough against <Module>.
1909         * Mono.Cecil/ReflectionWriter.cs:
1910                 Fix writing of namedargs in custom attributes.
1912 2006-04-26  Jb Evain  <jbevain@gmail.com>
1914         * Mono.Cecil.Signatures/SignatureReader.cs:
1915                 Don't create tons of hashtables.
1917 2006-04-24  Jb Evain  <jbveain@gmail.com>
1919        * Mono.Cecil.Cil/MethodBody.cs:
1920                Fix cloning.
1922 2006-04-21  Jb Evain  <jbevain@gmail.com>
1924         * Mono.Cecil/AssemblyFactory.cs
1925           Mono.Cecil.Binary/MemoryBinaryWriter.cs:
1926                 Use MemoryStream::WriteTo when it's possible.
1928 2006-04-21      Rodrigo B. de Oliveira  <rodrigobamboo@gmail.com>
1930         * Mono.Cecil/SecurityDeclaration.cs
1931           Mono.Cecil/ISecurityDeclaration.cs
1932           Mono.Cecil/SecurityDeclarationCollection.cs
1933           Mono.Cecil/ModuleDefinition.cs:
1934                 Patch by Almann T. Goo (almann.goo@gmail.com) conditionally
1935                 removing references to PermissionSet when compiling for the CompactFramework.
1937         * Mono.Cecil/CompactFrameworkCompatibility.cs:
1938                 System.Security.PermissionSet definition no longer needed.
1940 2006-04-21  Jb Evain  <jbevain@gmail.com>
1942         * *Collection.cs:
1943                 Fix typo in RemoveAt.
1945 2006-04-20  Jb Evain  <jbevain@gmail.com>
1947         * Mono.Cecil/ReflectionWriter.cs:
1948                 Fix writing of complex arrays.
1949                 Now we roundtrip SharpDevelop.
1951         * Mono.Cecil/ReflectionWriter.cs
1952           Mono.Cecil/TableComparers.cs:
1953                 Ensure <Module> will always be the first type.
1954                 Fix roundtrip of Nemerle.
1956 2006-04-19  Jb Evain  <jbevain@gmail.com>
1958         * Mono.Cecil.Cil/CodeWriter.cs:
1959                 Handle the case where an handler points after the last
1960                 instruction. Now we roundtrip db4o.
1962         * Mono.Cecil/IIndexedCollection.cs:
1963           *Collection.cs:
1964                 Make every collection implement an indexed collection.
1966 2006-04-15  Jb Evain  <jbevain@gmail.com>
1968         * Mono.Cecil/CustomAttribute.cs:
1969                 Fix handling of types.
1971 2006-04-11  Jb Evain  <jbevain@gmail.com>
1973         * Mono.Cecil/FieldDefinition.cs
1974           Mono.Cecil/ReflectionReader.cs
1975           Mono.Cecil/TypeDefinition.cs
1976           Mono.Cecil/IField.cs
1977           Mono.Cecil/ITypeDefinition.cs
1978           Mono.Cecil/ReflectionWriter.cs
1979           Mono.Cecil/AggressiveReflectionReader.cs
1980           Mono.Cecil.Cil/IVariable.cs
1981           Mono.Cecil.Cil/MethodBody.cs
1982           Mono.Cecil.Cil/VariableDefinition.cs
1983           Mono.Cecil.Cil/CodeWriter.cs:
1984                 Don't use interfaces internally.
1986         * Mono.Cecil/TypeReference.cs:
1987                 Make TypeReference extend MemberReference.
1989         * Mono.Cecil/Modifiers.cs
1990           Mono.Cecil.Cil/CodeReader.cs
1991           Mono.Cecil.Cil/CodeWriter.cs
1992           Mono.Cecil.Signatures/LocalVarSig.cs
1993           Mono.Cecil.Signatures/SignatureReader.cs:
1994                 Fix modifiers on localvar signatures.
1995                 Fix roundtrip of delphi assemblies.
1997         * Mono.Cecil/CustomAttribute.cs
1998           Mono.Cecil/ReflectionReader.cs
1999           Mono.Cecil/ReflectionWriter.cs
2000           Mono.Cecil.Signatures/SignatureWriter.cs:
2001                 Work on complex custom attributes encoding.
2003         * Mono.Cecil/TableComparers.cs:
2004                 Style.
2006 2006-04-09  Eyal Alaluf  <eyala@mainsoft.com>
2008     * Mono.Cecil/ReflectionReader.cs
2009             Cannot assume that TypeRefs are ordered is such a way that an outer
2010                 class index comes always before all its inner classes.
2012 2006-04-06  Jb Evain  <jbevain@gmail.com>
2014         * Mono.Cecil/ReflectionWriter.cs
2015           Mono.Cecil.Signatures/SignatureWriter.cs:
2016                 Clean up things a little bit prior ending
2017                 custom attribute encoding.
2019         * Mono.Cecil/ReflectionWriter.cs:
2020                 Write custom attributes of parameters
2021                 onyl when all methods have their tokens.
2023         * Mono.Cecil/ReflectionReader.cs
2024           Mono.Cecil/ReflectionWriter.cs
2025           Mono.Cecil/AggressiveReflectionReader.cs:
2026                 Handle custom attributes on generic parameters.
2028 2006-04-05  Jb Evain  <jbevain@gmail.com>
2030         * Mono.Cecil/ReflectionWriter.cs:
2031                 Ensure the param[0] is written when it should be.
2033 2006-04-04  Jb Evain  <jbevain@gmail.com>
2035         * Mono.Cecil/ReflectionHelper.cs:
2036                 Remove an unused hack.
2038         * Mono.Cecil/AssemblyInfo.cs: Go 0.4.1
2040         * Mono.Cecil.Metadata/MetadataHeap.cs
2041           Mono.Cecil.Metadata/MetadataStream.cs:
2042                 Read #- stream has well.
2044         * Mono.Cecil/ReflectionHelper.cs:
2045                 Implement Import stuff for System.Type and SR.*
2047 2006-04-03      Rodrigo B. de Oliveira  <rodrigobamboo@gmail.com>
2049         * Mono.Cecil/SecurityDeclarationReader.cs
2050           Mono.Cecil/TypeReferenceCollection.cs
2051           Mono.Cecil/CompactFrameworkCompatibility.cs
2052           Mono.Cecil/AssemblyFactory.cs
2053           Mono.Cecil/AssemblyName.cs
2054           Mono.Cecil/ExternTypeCollection.cs
2055           Mono.Cecil/TypeDefinitionCollection.cs
2056           CodeGen/templates/NamedCollectionImplem.cs
2057           Mono.Cecil.Metadata/CultureUtils.cs
2058           cecil.build:
2059                 CompactFramework 2.0 support through CF_2_0 compilation symbol.
2061 2006-04-03  Jb Evain  <jbevain@gmail.com>
2063         * Mono.Cecil.dll.sources
2064           Mono.Cecil/GenericParameter.cs
2065           Mono.Cecil/ReflectionHelper.cs
2066           Mono.Cecil/FieldDefinition.cs
2067           Mono.Cecil/CustomAttribute.cs
2068           Mono.Cecil/TypeDefinition.cs
2069           Mono.Cecil/IModuleDefinition.cs
2070           Mono.Cecil/ImportContext.cs
2071           Mono.Cecil/AssemblyName.cs
2072           Mono.Cecil/MethodDefinition.cs
2073           Mono.Cecil/EventDefinition.cs
2074           Mono.Cecil/ModuleDefinition.cs
2075           Mono.Cecil/ReflectionWriter.cs
2076           Mono.Cecil/GenericContext.cs
2077           Mono.Cecil/ParameterDefinition.cs
2078           Mono.Cecil/PropertyDefinition.cs
2079           Mono.Cecil.Cil/MethodBody.cs:
2080                 Work on generic assemblies manipulation via
2081                 import stuff.
2083 2006-03-31  Jb Evain  <jbevain@gmail.com>
2085         * Mono.Cecil/AssemblyFlags.cs:
2086                 Add a Retargetable flag used on the CF.
2088 2006-03-30  Jb Evain  <jbevain@gmail.com>
2090         * Mono.Cecil/SecurityDeclarationReader.cs:
2091                 Don't crash if the declaration is empty.
2093         * Mono.Cecil/ParamAttributes.cs:
2094                 Update the Optional flag.
2095           Mono.Cecil/ReflectionWriter.cs:
2096                 Fix the encoding of nullref.
2097                 Fixes #77959. Based on a patch by
2098                 Armand Du Plessis < armand@dotnet.org.za>
2100 2006-03-29  Jb Evain  <jbevain@gmail.com>
2102         * Mono.Cecil/IHasSecurity.cs
2103           Mono.Cecil/IHasConstant.cs
2104           Mono.Cecil/IHasMarshalSpec.cs:
2105           Mono.Cecil/MethodReturnType.cs
2106           Mono.Cecil/AssemblyDefinition.cs:
2107                 Implement IMetadataTokenProvider.
2109         * Mono.Cecil/StructureReader.cs
2110           Mono.Cecil/ReflectionWriter.cs:
2111                 Use more the token providers.
2113 2006-03-28  Jb Evain  <jbevain@gmail.com>
2115         * Mono.Cecil/ReflectionReader.cs
2116           Mono.Cecil/MarshalDesc.cs
2117           Mono.Cecil/IMarshalSpec.cs
2118           Mono.Cecil/ReflectionWriter.cs:
2119                 Fix round-tripping of assemblies using
2120                 COM stuff.
2122 2006-03-27  Jb Evain  <jbevain@gmail.com>
2124         * Mono.Cecil.Metadata/MetadataToken.cs:
2125                 Override GetHashCode as we override Equals.
2127         * Mono.Cecil/TableComparers.cs:
2128                 Fix the ordering of generic parameters.
2129                 This revision roundtrips C5. Yeah!
2131         * Mono.Cecil/ReflectionWriter.cs:
2132                 Fix method spec "caching"
2133           Mono.Cecil.Cil/OpCode.cs:
2134                 Override ToString ();
2135           Mono.Cecil.Metadata/MetadataToken.cs:
2136                 Implement operator ==
2138         * Mono.Cecil/ReflectionWriter.cs
2139           Mono.Cecil/TableComparers.cs:
2140                 Better handling of generic tables sorting.
2142         * Mono.Cecil/ReflectionWriter.cs
2143           Mono.Cecil/TableComparers.cs:
2144                 Sort generic tables as well.
2146 2006-03-27      Rodrigo B. de Oliveira  <rodrigobamboo@gmail.com>
2147         * Mono.Cecil.Metadata/MetadataWriter.cs:
2148                 Use CompactFramework compatible version of
2149                 System.Convert.ToBase64String.
2151 2006-03-27  Jb Evain  <jbevain@gmail.com>
2153         * Mono.Cecil.dll.sources
2154           Mono.Cecil/GenericParameter.cs
2155           Mono.Cecil/ConstraintCollection.cs
2156           Mono.Cecil/IGenericParameter.cs
2157           Mono.Cecil/IConstraintCollection.cs
2158           CodeGen/cecil.xml:
2159                 Add a ConstraintCollection to be used within
2160                 generic parameters.
2162         * Mono.Cecil/GenericInstanceType.cs:
2163                 Correctly return if the instance is a value type
2164                 or not.
2166 2006-03-25  Jb Evain  <jbevain@gmail.com>
2168         * Mono.Cecil/ModuleDefinition.cs:
2169                 Support the unreadable security declarations
2170                 when converting one to byte [].
2172         * Mono.Cecil/IModuleDefinition.cs
2173           Mono.Cecil/ModuleDefinition.cs
2174           Mono.Cecil/ReflectionWriter.cs:
2175                 Add a FullLoad method on a module.
2177         * Mono.Cecil/StructureWriter.cs
2178           Mono.Cecil/ReflectionWriter.cs:
2179                 Fix a  few bugs in generics type emitting.
2181         * Mono.Cecil.Cil/CodeWriter.cs:
2182                 Cache local sig as well.
2184 2006-03-24  Jb Evain  <jbevain@gmail.com>
2186         * Mono.Cecil/ReflectionWriter.cs:
2187                 Cache method specs as well.
2189         * CodeGen/templates/ImageWriter.cs
2190           Mono.Cecil.Metadata/MetadataWriter.cs
2191           Mono.Cecil.Binary/ImageWriter.cs:
2192                 Replace the foreach char pattern by
2193                 Encoding.GetBytes
2195 2006-03-23  Jb Evain  <jbevain@gmail.com>
2197         * Mono.Cecil/TypeReferenceCollection.cs
2198           Mono.Cecil/ExternTypeCollection.cs
2199           Mono.Cecil/TypeDefinitionCollection.cs
2200           CodeGen/templates/NamedCollectionImplem.cs
2201           CodeGen/templates/ImageReader.cs:
2202                 Ensure type with the same name are added
2203                 to the collection.
2205         * Mono.Cecil.Metadata/MetadataWriter.cs:
2206                 Ensure every blob signature is unique.
2208         * Mono.Cecil/IModuleDefinition.cs
2209           Mono.Cecil/ModuleDefinition.cs:
2210                 Rename method to avoid confusion.
2212 2006-03-22  Jb Evain  <jbevain@gmail.com>
2214         * Mono.Cecil.Cil/CodeWriter.cs:
2215                 Precisely detect whether we emit fat seh or not.
2217         * Mono.Cecil/ReflectionWriter.cs:
2218                 Avoid duplicates in the typespec table.
2220 2006-03-21  Jb Evain  <jbevain@gmail.com>
2222         * Mono.Cecil/ReflectionWriter.cs:
2223                 Correctly write generic parameters.
2225         * Mono.Cecil/SecurityDeclarationReader.cs
2226           Mono.Cecil/SecurityDeclaration.cs
2227           Mono.Cecil/ReflectionWriter.cs:
2228                 Fix for security declarations reading on .net 2.0.
2230         * Mono.Cecil/ReflectionReader.cs
2231           Mono.Cecil/GenericContext.cs:
2232                 Fix test case RoundtripTestFixture.boo.
2234 2006-03-20  Jb Evain  <jbevain@gmail.com>
2236         * Mono.Cecil.Metadata/MetadataReader.cs:
2237                 #Strings heap is utf8, fix #77820.
2239 2006-03-08  Jb Evain  <jbevain@gmail.com>
2241         * CodeGen/cecil-gen-tests.rb
2242           CodeGen/templates/Tests.cs:
2243                 Start of a very small infrastructure to use tests from
2244                 rotor/mono with Cecil.
2246         * Mono.Cecil/IMethod.cs
2247           Mono.Cecil/TypeDefinition.cs
2248           Mono.Cecil/MethodDefinition.cs
2249           Mono.Cecil.Cil/CodeReader.cs
2250           Mono.Cecil.Cil/CodeWriter.cs:
2251                 Add support for the very special case ldarg 0.
2252                 Patch idea by Vladislav Spivak <spivak@mainsoft.com>
2254 2006-03-07  Jb Evain  <jbevain@gmail.com>
2256         * CodeGen/templates/ImageReader.cs
2257           Mono.Cecil/AssemblyFactory.cs
2258           Mono.Cecil/StructureReader.cs
2259           Mono.Cecil.Binary/Image.cs
2260           Mono.Cecil.Binary/ImageReader.cs:
2261                 Allow users to get a loaded image using
2262                 Image.GetImage as they have no access to
2263                 the ImageReader.
2265 2006-03-06  Jb Evain  <jbevain@gmail.com>
2267         * Mono.Cecil.Signatures/SignatureReader.cs:
2268                 Fix array reading in custom attributes.
2270 2006-03-06  Joshua Tauberer <tauberer@for.net>
2272         * Mono.Cecil/TypeAttributes.cs: Fixed typo
2273           in value for Abstract.
2275 2006-02-27  Jb Evain  <jbevain@gmail.com>
2277         * CodeGen/templates/IndexedCollectionImplem.cs
2278           CodeGen/templates/IIndexedCollection.cs
2279           Mono.Cecil.Cil/InstructionCollection.cs
2280           Mono.Cecil.Cil/IInstructionCollection.cs:
2281                 Small API fix, prevent the user from not using
2282                 the CilWorker.
2284         * Mono.Cecil.Cil/CodeReader.cs
2285           Mono.Cecil.Cil/Label.cs:
2286                 Remove Label.
2288         * Mono.Cecil/ReflectionReader.cs:
2289                 Fix typo.
2291 2006-02-20  Jb Evain  <jbevain@gmail.com>
2293         * Mono.Cecil.Signatures/SignatureWriter.cs:
2294                 Fix a bug when a value is null in a custom attribute.
2296 2006-02-20  Sebastien Pouliot  <sebastien@ximian.com>
2298         * Mono.Cecil.Metadata/MetadataWriter.cs:
2299                 Fix GetStrongNameSignatureSize to handle the ECMA pseudo-key.
2301 2006-02-07  Jb Evain  <jbevain@gmail.com>
2303         * Mono.Cecil/AssemblyInfos.cs:
2304                 Tag this version 0.3, as users are happy with it.
2306 2006-01-26  Jb Evain  <jbevain@gmail.com>
2308         * Mono.Cecil/CustomAttribute.cs:
2309                 Fix cloning of non readable attributes.
2311         * Mono.Cecil/ReflectionReader.cs
2312           Mono.Cecil/ReflectionWriter.cs
2313           Mono.Cecil.Signatures/MethodRefSig.cs
2314           Mono.Cecil.Signatures/SignatureWriter.cs
2315           Mono.Cecil.Signatures/MethodDefSig.cs:
2316                 Work on generics.
2318         * Mono.Cecil/ArrayType.cs
2319           Mono.Cecil/ReferenceType.cs
2320           Mono.Cecil/PointerType.cs:
2321                 Fix names of typespecs.
2323         * Mono.Cecil/TypeReferenceCollection.cs
2324           Mono.Cecil/ExternTypeCollection.cs
2325           CodeGen/templates/NamedCollectionImplem.cs:
2326                 Allow multiple key by names in type references.
2328 2006-01-25  Jb Evain  <jbevain@gmail.com>
2330         * Mono.Cecil/AssemblyFactory.cs:
2331                 Don't trap exceptions.
2333         * Mono.Cecil/GenericParameter.cs
2334           Mono.Cecil/IMethod.cs
2335           Mono.Cecil/GenericInstanceType.cs
2336           Mono.Cecil/TypeReference.cs
2337           Mono.Cecil/GenericInstanceMethod.cs
2338           Mono.Cecil/ReflectionReader.cs
2339           Mono.Cecil/TypeDefinition.cs
2340           Mono.Cecil/IGenericArgumentCollection.cs
2341           Mono.Cecil/ITypeReference.cs
2342           Mono.Cecil/IGenericInstance.cs
2343           Mono.Cecil/GenericArgumentCollection.cs
2344           Mono.Cecil/MethodDefinition.cs
2345           Mono.Cecil/MethodReference.cs
2346           Mono.Cecil/ITypeDefinition.cs
2347           Mono.Cecil/IGenericArgumentProvider.cs
2348           Mono.Cecil/ReflectionWriter.cs
2349           Mono.Cecil/GenericContext.cs
2350           CodeGen/cecil.xml:
2351                 Clean the generic api. This is not stable yet.
2353 2006-01-24  Jb Evain  <jbevain@gmail.com>
2355         * Mono.Cecil/ArrayType.cs:
2356                 Bug reported by  Vladislav Spivak (spivak@mainsoft.com).
2357                 Fix a bug in array handling.
2358         * Mono.Cecil/ConstructorCollection.cs
2359           CodeGen/templates/IndexedCollectionImplem.cs:
2360                 Bug reported by Oleg Varchovsky (olegv@mainsoft.com).
2361                 Fix the lookup of constructors.
2363 2006-01-19  Jb Evain  <jbevain@gmail.com>
2365         * Mono.Cecil/AssemblyName.cs:
2366                 Fix computation of public key token.
2368 2006-01-18  Jb Evain  <jbevain@gmail.com>
2370         * Mono.Cecil.Cil/CodeWriter.cs
2371           Mono.Cecil.Metadata/MetadataToken.cs:
2372                 Add an use an ToUInt method and use it.
2373           CodeGen/templates/DebugHeader.cs
2374           Mono.Cecil.Binary/DebugHeader.cs:
2375                 Fix the size of the debug header.
2377         * Mono.Cecil/ModuleReference.cs
2378           Mono.Cecil/AssemblyName.cs
2379           Mono.Cecil/StructureReader.cs
2380           Mono.Cecil/IMetadataScope.cs:
2381                 Make IMetadataScope implement IMetadataTokenProvider.
2382         * Mono.Cecil/ReflectionWriter.cs:
2383                 Fix a typo when saving nested type refs.
2385 2006-01-17  Jb Evain  <jbevain@gmail.com>
2387         * Mono.Cecil/ArrayType.cs
2388           Mono.Cecil/ArrayDimension.cs
2389           Mono.Cecil/ReflectionWriter.cs:
2390                 End arrays support.
2392 2006-01-03  Jb Evain  <jbevain@gmail.com>
2394         * Mono.Cecil/GenericParameter.cs
2395           Mono.Cecil/ReflectionHelper.cs
2396           Mono.Cecil/ReflectionReader.cs
2397           Mono.Cecil/GenericContext.cs:
2398                 Work on generics.
2400 2005-12-31  Jb Evain  <jbevain@gmail.com>
2402         * Mono.Cecil/ReflectionHelper.cs:
2403                 Fix import of type specs.
2405 2005-12-30  Jb Evain  <jbevain@gmail.com>
2407         * CodeGen/templates/ImageReader.cs
2408           Mono.Cecil.Metadata/MetadataReader.cs
2409           Mono.Cecil.Binary/Image.cs
2410           Mono.Cecil.Binary/ImageReader.cs:
2411                 Add support to assemblies where the metadata is defined
2412                 outside of the text section. (c++/cli /safe for instance)
2414 2005-12-23  Jb Evain  <jbevain@gmail.com>
2416         * Mono.Cecil/AssemblyInfo.cs:
2417                 Version 0.2.2.2 devel.
2419         * Mono.Cecil/AssemblyInfo.cs:
2420                 Version 0.2 to be released.
2422         * Mono.Cecil/ReflectionWriter.cs:
2423                 IGenericInstance are typespecs as well.
2425         * Mono.Cecil/ArrayType.cs:
2426                 Add a single dimension in the default ctor.
2427         * Mono.Cecil/ReflectionReader.cs:
2428                 Don't manually add the default dimension as it's done
2429                 int the array type ctor.
2430         * Mono.Cecil/ReflectionHelper.cs:
2431                 Import type specs.
2433 2005-12-22  Jb Evain  <jbevain@gmail.com>
2435         * Mono.Cecil/ReflectionWriter:
2436                 Write pinvoke infos as well.
2438         * Mono.Cecil/ReflectionReader.cs:
2439                 Unsure that primitive value types are viewed as
2440                 value types.
2442         * CodeGen/templates/Section.cs
2443           CodeGen/templates/ImageReader.cs
2444           Mono.Cecil.Metadata/MetadataReader.cs
2445           Mono.Cecil.Binary/Image.cs
2446           Mono.Cecil.Binary/Section.cs
2447           Mono.Cecil.Binary/ImageReader.cs:
2448                 Simplify the way you read binary data whithin
2449                 high level layer.
2451         * Mono.Cecil.Cil/CodeReader.cs:
2452                 Make helper methods public static.
2453         * Mono.Cecil/ReflectionReader.cs:
2454                 Don't try to get the entry point method
2455                 if it don't point on a valid method RID.
2457         * CodeGen/templates/NamedCollectionImplem.cs
2458           Mono.Cecil/ExternTypeCollection.cs
2459           Mono.Cecil/TypeDefinitionCollection.cs
2460           Mono.Cecil/TypeReferenceCollection.cs:
2461                 Don't add existing values.
2463         * Mono.Cecil/ModuleDefinition.cs:
2464                 Protect import from null refs.
2466 2005-12-21  Jb Evain  <jbevain@gmail.com>
2468         * Mono.Cecil/StructureWriter.cs:
2469                 Don't increment pdb age. Not Cecil's job.
2471         * Mono.Cecil.Cil/ICilWorker.cs
2472           Mono.Cecil.Cil/CilWorker.cs:
2473                 Add a new replace method.
2475 2005-12-20  Jb Evain  <jbevain@gmail.com>
2477         * Mono.Cecil/StructureWriter.cs:
2478                 Ensure every assembly reference is processed.
2480         * Mono.Cecil/ReflectionHelper.cs:
2481                 Don't assume the cache is magically loaded.
2482                 Aka: most stupid bug of the year.
2484 2005-12-19  Jb Evain  <jbevain@gmail.com>
2486         * CodeGen/templates/DebugHeader.cs
2487           Mono.Cecil.Binary/DebugHeader.cs
2488           Mono.Cecil.Binary/DebugStoreType.cs:
2489                 New files to store debug header infos.
2490         * Mono.Cecil.dll.sources: updated
2491         * CodeGen/cecil.xml
2492           CodeGen/cecil-gen.rb
2493           Mono.Cecil/StructureWriter.cs
2494           Mono.Cecil.Binary/IBinaryVisitor.cs
2495           Mono.Cecil.Binary/ImageWriter.cs
2496           Mono.Cecil.Binary/Image.cs
2497           Mono.Cecil.Binary/ImageInitializer.cs
2498           Mono.Cecil.Binary/BaseImageVisitor.cs
2499           Mono.Cecil.Binary/ImageReader.cs
2500           Mono.Cecil.Metadata/MetadataWriter.cs:
2501                 Read and write debug header.
2503         * CodeGen/templates/ImageWriter.cs
2504           Mono.Cecil.Binary/ImageWriter.cs:
2505                 Revert revision 54409.
2507 2005-12-14  Jb Evain  <jbevain@gmail.com>
2509         * Mono.Cecil.Cil/ICilWorker.cs
2510           Mono.Cecil.Cil/CilWorker.cs:
2511                 Add a remove method.
2513         * CodeGen/templates/ImageWriter.cs
2514           Mono.Cecil.Binary/ImageWriter.cs:
2515                 Don't allocate potential big arrays here.
2517 2005-12-13  Jb Evain  <jbevain@gmail.com>
2519         * Mono.Cecil.Metadata/MetadataWriter.cs:
2520                 Set the correct version for .net 2 assemblies.
2521                 Correctly write embedded resources.
2522                 Fix #76963.
2524 2005-12-03  Jb Evain  <jbevain@gmail.com>
2526         * Mono.Cecil/MethodSpecification.cs:
2527                 Override the declaring type and the name property to
2528                 match the inner method.
2529         * Mono.Cecil/GenericInstanceType.cs:
2530                 Correctly set the FullName.
2531         * Mono.Cecil/GenericInstanceMethod.cs:
2532                 Style.
2534 2005-12-02  Jb Evain  <jbevain@gmail.com>
2536         * Mono.Cecil/TypeDefinition.cs:
2537                 Fix interface import. Patch by Thomas Gil.
2539 2005-11-24  Jb Evain  <jbevain@gmail.com>
2541         * CodeGen/cecil-gen.rb
2542           CodeGen/templates/MetadataTableReader.cs
2543           CodeGen/templates/PEFileHeader.cs
2544           CodeGen/templates/CLIHeader.cs
2545           CodeGen/templates/PEOptionalHeader.cs
2546           CodeGen/templates/Table.cs
2547           CodeGen/templates/MetadataRowReader.cs
2548           CodeGen/templates/OpCodes.cs
2549           CodeGen/templates/Section.cs
2550           CodeGen/templates/ImageReader.cs:
2551                 Update the codegen engine so that everyone can run it
2552                 without having to install a dependency (eruby).
2554         * Mono.Cecil.Metadata/Utilities.cs: re-codegenerated.
2556 2005-11-23  Jb Evain  <jbevain@gmail.com>
2558         * Mono.Cecil/IGenericArgumentProvider.cs
2559                 Style.
2560         * CodeGen/cecil.xml:
2561                 Mirror Martin's change in the codegen engine.
2563 2005-11-23  Martin Baulig  <martin@ximian.com>
2565         Generics API changes:
2566         TypeReference and MethodReference now contain a
2567         `GenericArguments' property (of type `GenericArgumentCollection')
2568         and `GenericParameters' is moved into TypeDefinition/MethodDefinition.
2570         * Mono.Cecil/IGenericArgumentProvider.cs: New file.
2571         (IGenericArgumentProvider): New public interface.
2573         * Mono.Cecil/IGenericArgumentCollection.cs
2574         (IGenericArgumentCollection.Container): Changed type from
2575         `IGenericInstance' -> `IGenericArgumentProvider'.
2577         * Mono.Cecil/IGenericInstance.cs
2578         (IGenericInstance.Arguments): Renamed to `GenericArguments'.
2580         * Mono.Cecil/ITypeReference.cs
2581         (ITypeReference): Implement `IGenericArgumentProvider' instead of
2582         `IGenericParameterProvider'.
2584         * Mono.Cecil/ITypeDefinition.cs
2585         (ITypeDefinition): Implement `IGenericParameterProvider'.
2587         * Mono.Cecil/IMethod.cs
2588         (IMethodReference): Implement `IGenericArgumentProvider' instead of
2589         `IGenericParameterProvider'.
2590         (IMethodDefinition): Implement `IGenericParameterProvider'.
2592         * Mono.Cecil/TypeReference.cs
2593         (TypeReference.GenericParameters): Removed.
2594         (TypeReference.GenericArguments): New public property.
2596         * Mono.Cecil/TypeDefinition.cs
2597         (TypeDefinition.GenericParameters): New public property.
2598         (TypeDefinition.OnGenericParameterAdded): If a generic parameter
2599         is added, also add it to the `GenericArguments'.
2601         * Mono.Cecil/MethodReference.cs
2602         (MethodReference.GenericParameters): Removed.
2603         (MethodReference.GenericArguments): New public property.
2605         * Mono.Cecil/MethodDefinition.cs
2606         (MethodDefinition.GenericParameters): New public property.
2607         (MethodDefinition.OnGenericParameterAdded): If a generic parameter
2608         is added, also add it to the `GenericArguments'.
2610         * Mono.Cecil/GenericInstanceType.cs
2611         (GenericInstanceType): Removed the `m_arguments' field; we now
2612         inherit the `GenericArguments' property from `TypeReference'.
2614         * Mono.Cecil/GenericInstanceMethod.cs
2615         (GenericInstanceMethod): Removed the `m_arguments' field; we now
2616         inherit the `GenericArguments' property from `MethodReference'.
2618         * Mono.Cecil/GenericContext.cs
2619         (GenericContext): We now operate on type/method references and not
2620         definitions.
2621         (GenericContext.Type): Changed type to `TypeReference'.
2622         (GenericContext.Method): Changed type to `MethodReference'.
2624 2005-11-23  Martin Baulig  <martin@ximian.com>
2626         * Mono.Cecil.Metadata/TokenType.cs: Added `GenericParam'.
2628         * Mono.Cecil.Metadata/Utilities.cs
2629         (GetMetadataToken): In `case CodedIndex.HasCustomAttribute', add
2630         `TokenType.GenericParam'.
2632 2005-11-22  Jb Evain  <jbevain@gmail.com>
2634         * Mono.Cecil/IMethodDefinitionCollection.cs
2635           Mono.Cecil/MethodDefinitionCollection.cs
2636           CodeGen/templates/IndexedCollectionImplem.cs
2637           CodeGen/templates/IIndexedCollection.cs:
2638                 Add a new search method.
2639         * CodeGen/templates/NamedCollectionImplem.cs
2640           Mono.Cecil/TypeReferenceCollection.cs
2641           Mono.Cecil/ExternTypeCollection.cs
2642           Mono.Cecil/TypeDefinitionCollection.cs:
2643                 Style.
2645 2005-11-13      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
2646         * Mono.Cecil/ReflectionReader.cs
2647                 Fix for NRE when reading assemblies with a field initializer
2648                 pointing to a data section
2649                 (TestCases/Regression/OddInt64Initializer.dll).
2651 2005-11-11  Sebastien Pouliot  <sebastien@ximian.com>
2653         * Mono.Cecil.Metadata/MetadataWriter.cs
2654                 Add support for different strongname key size (between 384
2655                 and 16384 bits) as now supported in fx 2.0. Default is still
2656                 1024 bits.
2658 2005-11-10      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
2659         * Mono.Cecil/CompactFrameworkCompatibility.cs
2660           Mono.Cecil/SecurityDeclarationReader.cs
2661           Mono.Cecil/TypeReferenceCollection.cs
2662           Mono.Cecil/ReflectionReader.cs
2663           Mono.Cecil/AssemblyFactory.cs
2664           Mono.Cecil/AssemblyName.cs
2665           Mono.Cecil/ExternTypeCollection.cs
2666           Mono.Cecil/ModuleDefinition.cs
2667           Mono.Cecil/TypeDefinitionCollection.cs
2668           CodeGen/templates/NamedCollectionImplem.cs
2669           CodeGen/templates/ImageReader.cs
2670           Mono.Cecil.Metadata/MetadataReader.cs
2671           Mono.Cecil.Metadata/MetadataWriter.cs
2672           Mono.Cecil.Metadata/CultureUtils.cs
2673           Mono.Xml/SecurityParser.cs
2674           Mono.Xml/SmallXmlParser.cs
2675           Mono.Cecil.Signatures/SignatureReader.cs
2676           Mono.Cecil.Binary/ImageReader.cs
2677           cecil.build
2678                 Implement support for compiling on the CompactFramework
2680 2005-11-08  Jb Evain  <jbevain@gmail.com>
2682         * Mono.Cecil/GenericInstanceType.cs
2683           Mono.Cecil/TypeReference.cs:
2684                 Fix a regression with 2.0 assemblies.
2686 2005-11-03  Jb Evain  <jbevain@gmail.com>
2688         * Mono.Cecil/CallSite.cs
2689           Mono.Cecil/ReflectionReader.cs
2690           Mono.Cecil/ICallSite.cs
2691           Mono.Cecil.Cil/CodeReader.cs
2692           Mono.Cecil.Cil/CodeWriter.cs
2693           Mono.Cecil.Signatures/SignatureReader.cs
2694           Mono.Cecil.dll.sources:
2695                 Implement support for calli opcodes reading.
2697 2005-11-01  Jb Evain  <jbevain@gmail.com>
2699         * Mono.Cecil/FunctionPointerType.cs
2700           Mono.Cecil/ReflectionReader.cs
2701           Mono.Cecil.Signatures/SignatureReader.cs:
2702                 Work on function pointers.
2704         * Mono.Cecil/AssemblyInfo.cs:
2705                 Increase Cecil SVN version.
2707         * Mono.Cecil/ArrayType.cs
2708           Mono.Cecil/MethodSpecification.cs
2709           Mono.Cecil/TypeSpecification.cs
2710           Mono.Cecil/IMethodSpecification.cs
2711           Mono.Cecil/GenericInstanceType.cs
2712           Mono.Cecil/IGenericInstanceType.cs
2713           Mono.Cecil/GenericInstanceMethod.cs
2714           Mono.Cecil/IModifierType.cs
2715           Mono.Cecil/IPinnedType.cs
2716           Mono.Cecil/ReferenceType.cs
2717           Mono.Cecil/IGenericInstanceMethod.cs
2718           Mono.Cecil/PinnedType.cs
2719           Mono.Cecil/PointerType.cs
2720           Mono.Cecil/IPointerType.cs
2721           Mono.Cecil/IReferenceType.cs
2722           Mono.Cecil/IArrayType.cs
2723           Mono.Cecil/ITypeSpecification.cs
2724           Mono.Cecil/Modifiers.cs
2725           Mono.Cecil.dll.sources:
2726                 Uniformize the specification model.
2728 2005-10-31  Jb Evain  <jbevain@gmail.com>
2730         * AUTHORS,
2731           NEWS,
2732           README,
2733           TODO,
2734           Mono.Cecil/AssemblyInfo.cs:
2735                 Cecil 0.1 release.
2737         * Mono.Cecil/ReflectionReader.cs:
2738                 Force value type property on known core types.
2740 2005-10-28  Jb Evain  <jbevain@gmail.com>
2742         * Mono.Cecil/TypeReference.cs
2743           Mono.Cecil/ReflectionReader.cs
2744           Mono.Cecil/TypeDefinition.cs
2745           Mono.Cecil/ModuleDefinition.cs
2746           Mono.Cecil/ReflectionWriter.cs:
2747                 Uniformize the API.
2749         * Mono.Cecil.Signatures/SignatureWriter.cs:
2750                 Correct a bug in strings encoding in custom attributes.
2752         * CodeGen/templates/ImageWriter.cs
2753           Mono.Cecil.Metadata/MetadataWriter.cs
2754           Mono.Cecil/StructureWriter.cs
2755           Mono.Cecil/ReflectionWriter.cs
2756           Mono.Cecil.Binary/ImageWriter.cs:
2757                 Implement a big of public key management,
2758                 here we reserve space for the strong name
2759                 signature if needed.
2761         * Mono.Cecil/StructureWriter.cs
2762           Mono.Cecil/StructureReader.cs:
2763                 Disable public key writing until
2764                 it is implemented.
2766         * Mono.Cecil/GenericParameter.cs
2767           Mono.Cecil/TypeReference.cs
2768           Mono.Cecil/MethodReference.cs:
2769                 Work on generics writing api.
2770         * Mono.Cecil/ReflectionReader.cs:
2771                 Fix a bug when defining a fresh assembly.
2773         * Mono.Cecil/GenericInstanceType.cs
2774           Mono.Cecil/ReflectionWriter.cs
2775           Mono.Cecil/IGenericParameterProvider.cs
2776           Mono.Cecil.Signatures/Var.cs
2777           Mono.Cecil.Signatures/MVar.cs
2778           Mono.Cecil.Signatures/SignatureReader.cs
2779           Mono.Cecil.Signatures/SignatureWriter.cs
2780           Mono.Cecil.Cil/CodeWriter.cs:
2781                 Work on generics writing.
2783 2005-10-27  Jb Evain  <jbevain@gmail.com>
2785         * Mono.Cecil.Cil/CodeReader.cs
2786           Mono.Cecil.Cil/CilWorker.cs
2787           Mono.Cecil.Cil/CodeWriter.cs
2788           Mono.Cecil.Cil/OpCode.cs:
2789                 Override op == and != on opcodes.
2791         * Mono.Cecil/FieldDefinition.cs
2792           Mono.Cecil/TypeDefinition.cs
2793           Mono.Cecil/MethodDefinition.cs
2794           Mono.Cecil/EventDefinition.cs
2795           Mono.Cecil/PropertyDefinition.cs:
2796                 Fix setters working on attributes.
2798         * Mono.Cecil.Cil/CodeWriter.cs:
2799                 Compute max stack before writing method.
2801         * Mono.Cecil/GenericContext.cs
2802           Mono.Cecil/ReflectionReader.cs
2803           Mono.Cecil.Signatures/SignatureReader.cs:
2804                 Work on generics support.
2806         * CodeGen/cecil.xml
2807           Mono.Cecil/ISecurityDeclarationCollection.cs
2808           Mono.Cecil/SecurityDeclarationCollection.cs:
2809                 Remove the security declaration from the codegen.
2811 2005-10-27  Sebastien Pouliot  <sebastien@ximian.com>
2813         * Mono.Cecil\SecurityDeclaration.cs
2814                 Copy the permission set when cloning.
2815         * Mono.Cecil\SecurityDeclarationCollection.cs
2816                 Ajusted to use an Hashtable, to Union permission sets on
2817                 the same action and to set/unset HasSecurity when needed.
2818         * Mono.Cecil\ModuleDefinition.cs:
2819                 Added TODO (remainder) for complete 2.0 format support.
2820         * Mono.Cecil\ReflectionWriter.cs:
2821                 Move MetadataToken finding outside the loop.
2822         * Mono.Cecil\ISecurityDeclarationCollection.cs:
2823                 Adjust interface.
2825 2005-10-27  Jb Evain  <jbevain@gmail.com>
2827         * Mono.Cecil/TypeDefinition.cs
2828           Mono.Cecil/MethodDefinition.cs:
2829                 Add generics parameters in visitor path.
2831         * Mono.Cecil/GenericParamAttributes.cs:
2832                 Add new constraints flags.
2834 2005-10-22  Jb Evain  <jbevain@gmail.com>
2836         * Mono.Cecil/GenericParameter.cs
2837           Mono.Cecil/ReflectionReader.cs
2838           Mono.Cecil/IGenericParameter.cs
2839           Mono.Cecil/AggressiveReflectionReader.cs
2840           Mono.Cecil/GenericContext.cs:
2841                 Support generic parameters constraints.
2843 2005-10-21  Jb Evain  <jbevain@gmail.com>
2845         * Mono.Cecil/FieldDefinition.cs
2846           Mono.Cecil/CustomAttribute.cs
2847           Mono.Cecil/TypeDefinition.cs
2848           Mono.Cecil/SecurityDeclaration.cs
2849           Mono.Cecil/MethodDefinition.cs
2850           Mono.Cecil/EventDefinition.cs
2851           Mono.Cecil/ParameterDefinition.cs
2852           Mono.Cecil/PropertyDefinition.cs:
2853                 Implement ICloneable.
2855         * Mono.Cecil/IAssemblyDefinition.cs:
2856                 Mirror changes on asm kind.
2857         * Mono.Cecil/StructureReader.cs:
2858                 Fix asm kind detection.
2860         * Mono.Cecil/StructureWriter.cs
2861           Mono.Cecil/ReflectionReader.cs
2862           Mono.Cecil/MethodDefinition.cs
2863           Mono.Cecil/ReflectionWriter.cs:
2864                 Fix regressions.
2865         * Mono.Cecil.Cil/MethodBody.cs:
2866                 Fix method cloning.
2868         * CodeGen/templates/MetadataTableReader.cs
2869           Mono.Cecil.Metadata/MetadataTableReader.cs
2870           Mono.Cecil.Metadata/MetadataReader.cs:
2871                 Add helpers for reading.
2873         * Mono.Cecil/ReflectionReader.cs
2874           Mono.Cecil/MethodDefinition.cs
2875           Mono.Cecil/AggressiveReflectionReader.cs
2876           Mono.Cecil/GenericContext.cs:
2877                 Working on generic parameters reading.
2878                 Still have troubles reading a 2.0 corlib.
2880         * Mono.Cecil/IHasMarshalSpec.cs:
2881                 API fix.
2883         * Mono.Cecil/ParameterDefinition.cs
2884           Mono.Cecil.Cil/VariableDefinition.cs:
2885                 Override ToString.
2887 2005-10-20  Jb Evain  <jbevain@gmail.com>
2889         * Mono.Cecil.Cil/CodeReader.cs
2890           Mono.Cecil.Cil/CodeWriter.cs
2891           Mono.Cecil.Cil/ICilWorker.cs
2892           Mono.Cecil.Cil/CilWorker.cs:
2893                 ShortInlineI operands are signed.
2894                 Spotted by Rodrigo B. de Oliveira.
2896         * CodeGen/templates/OpCodes.cs
2897           Mono.Cecil.Cil/OpCodes.cs:
2898                 Add 2.0 opcodes.
2900         * Mono.Cecil/StructureWriter.cs
2901           Mono.Cecil/AssemblyDefinition.cs
2902           Mono.Cecil/AssemblyFactory.cs
2903           Mono.Cecil/StructureReader.cs
2904           Mono.Cecil/ReflectionWriter.cs:
2905                 Handle the assembly kind in a smoothie way.
2907 2005-10-19  Sebastien Pouliot  <sebastien@ximian.com>
2909         * Mono.Cecil/AssemblyDefinition.cs: Added an override for ToString to
2910         ease debugging.
2911         * Mono.Cecil/ModuleDefinition.cs: Make SecurityDeclaration works with
2912         2.0 assemblies.
2913         * Mono.Cecil/ReflectionReader.cs: Modified BuildSecurityDeclaration
2914         to use the new SecurityDeclarationReader (supporting both formats).
2915         * Mono.Cecil/SecurityAction.cs: Removed actions that were "cutted" out
2916         of 2.0 final.
2917         * Mono.Cecil/SecurityDeclarationReader.cs: New. Handle both the 1.x
2918         and 2.0 formats for reading declarative security.
2920 2005-10-18  Jb Evain  <jbevain@gmail.com>
2922         * Mono.Cecil/GenericParameter.cs:
2923                 A little change before the fix.
2925         * Mono.Cecil/ReflectionHelper.cs
2926           Mono.Cecil/MethodDefinition.cs
2927           Mono.Cecil.Cil/MethodBody.cs:
2928                 Implement method cloning.
2930         * Mono.Cecil/ModuleReference.cs
2931           Mono.Cecil/FieldDefinition.cs
2932           Mono.Cecil/TypeReference.cs
2933           Mono.Cecil/ReflectionReader.cs
2934           Mono.Cecil/TypeDefinition.cs
2935           Mono.Cecil/EventDefinition.cs
2936           Mono.Cecil/ModuleDefinition.cs
2937           Mono.Cecil/FieldReference.cs
2938           Mono.Cecil/ReflectionWriter.cs
2939           Mono.Cecil/PropertyDefinition.cs
2940           Mono.Cecil/AssemblyFactory.cs:
2941                 Small API change.
2943         * Mono.Cecil.Cil/CodeReader.cs:
2944                 Fix variables names.
2946         TODO before 0.1:
2947                 Fix generic parameters,
2948                 generic writing,
2949                 constructor changes (with S.Type and SR.*Info)
2951 2005-10-14  Jb Evain  <jbevain@gmail.com>
2953         Work on generics support.
2955         * CodeGen/cecil.xml: new collections, coded indexes, opcodes.
2957         * Mono.Cecil/IGenericParameterCollection.cs
2958           Mono.Cecil/GenericParameterCollection.cs
2959           Mono.Cecil/IGenericArgumentCollection.cs
2960           Mono.Cecil/GenericArgumentCollection.cs:
2961                 Added new collections.
2963         * Mono.Cecil.Metadata/Utilities.cs: updated.
2964         * Mono.Cecil.Metadata/TokenType.cs: added MethodSpec.
2966         * Mono.Cecil/IGenericParameter.cs
2967           Mono.Cecil/GenericParameter.cs
2968           Mono.Cecil/IGenericParameterConstraints.cs
2969           Mono.Cecil/GenericParameterConstraints.cs
2970           Mono.Cecil/IGenericParameterProvider.cs
2971           Mono.Cecil/IGenericInstance.cs
2972           Mono.Cecil/IGenericInstanceType.cs
2973           Mono.Cecil/GenericInstanceType.cs
2974           Mono.Cecil/IGenericInstanceMethod.cs
2975           Mono.Cecil/GenericInstanceMethod.cs:
2976                 Generics API elements.
2978         * Mono.Cecil/IMethod.cs
2979           Mono.Cecil/MethodReference.cs
2980           Mono.Cecil/ITypeReference.cs
2981           Mono.Cecil/TypeReference.cs:
2982                 Implement IGenericParameterProvider
2984         * Mono.Cecil/ReflectionReader.cs
2985           Mono.Cecil/IReflectionVisitor.cs
2986           Mono.Cecil/BaseReflectionVisitor.cs
2987           Mono.Cecil/StructureReader.cs
2988           Mono.Cecil/AggressiveReflectionReader.cs
2989           Mono.Cecil/MemberReference.cs:
2990                 Support for the new generics elements.
2992         * Mono.Cecil.Signatures/Var.cs
2993           Mono.Cecil.Signatures/MVar.cs
2994           Mono.Cecil.Signatures/GenericInstSignature.cs
2995           Mono.Cecil.Signatures/GenericInst.cs:
2996                 Added file header.
2998         * Mono.Cecil.Signatures/SignatureReader.cs
2999           Mono.Cecil.Signatures/GenericInstSignature.cs
3000           Mono.Cecil.Signatures/MethodDefSig.cs
3001           Mono.Cecil.Signatures/GenericInst.cs
3002           Mono.Cecil.Signatures/MethodSpec.cs
3003           Mono.Cecil/MethodCallingConvention.cs
3004           Mono.Cecil.Cil/CodeReader.cs:
3005                 Added support for generic signatures.
3007         * Mono.Cecil.Cil/OpCodes.cs:
3008                 Add consrained. opcode.
3010         * Mono.Cecil.dll.sources:
3011                 Updated.
3013         Known problems: !!parameters
3015 2005-10-13  Jb Evain  <jbevain@gmail.com>
3017         * Mono.Cecil/ReflectionHelper.cs
3018           Mono.Cecil/FieldDefinition.cs
3019           Mono.Cecil/CustomAttribute.cs
3020           Mono.Cecil/MethodReturnType.cs
3021           Mono.Cecil/TypeDefinition.cs
3022           Mono.Cecil/SecurityDeclaration.cs
3023           Mono.Cecil/MethodDefinition.cs
3024           Mono.Cecil/EventDefinition.cs
3025           Mono.Cecil/ModuleDefinition.cs
3026           Mono.Cecil/ParameterDefinition.cs
3027           Mono.Cecil/IMethodReturnType.cs
3028           Mono.Cecil/PropertyDefinition.cs
3029           Mono.Cecil.Cil/MethodBody.cs:
3030                 Work on the import.
3031         * Mono.Cecil/ITypeParameterType.cs
3032           Mono.Cecil/TypeParameterType.cs:
3033                 Correct the interface.
3035 2005-10-12  Jb Evain  <jbevain@gmail.com>
3037         * Mono.Cecil/EventDefinition.cs
3038           Mono.Cecil/TypeDefinition.cs
3039           Mono.Cecil/ModuleDefinition.cs
3040           Mono.Cecil/ReflectionWriter.cs
3041           Mono.Cecil/PropertyDefinition.cs:
3042                 Small fixes.
3044 2005-09-16  Martin Baulig  <martin@ximian.com>
3046         Added generics support to Cecil.
3048         * Mono.Cecil/IGenericInstType.cs: New file.
3049         * Mono.Cecil/ITypeParameterType.cs: New file.
3050         * Mono.Cecil/IMethodTypeParameterType.cs: New file.
3052         * Mono.Cecil.Metadata/ElementType.cs
3053         (ElementType): Added `Var', `MVar' and `GenericInst'.
3055         * Mono.Cecil.Metadata/Utilities.cs
3056         (Utilities.GetMetadataToken): .NET 2.0 also uses TypeDef's in the
3057         MemberRefParent.
3059         * Mono.Cecil/GenericInstType.cs: New file.
3060         * Mono.Cecil/MethodTypeParameterType.cs: New file.
3061         * Mono.Cecil/TypeParameterType.cs: New file.
3063         * Mono.Cecil.Signatures/Var.cs: New file.
3064         * Mono.Cecil.Signatures/MVar.cs: New file.
3065         * Mono.Cecil.Signatures/GenericInst.cs: New file.
3066         * Mono.Cecil.Signatures/GenericInstSignature.cs: New file.
3068         * Mono.Cecil/ReflectionReader.cs
3069         (ReflectionReader.GetTypeRefFromSig): Add the new types.
3071         * Mono.Cecil.Signatures/SignatureReader.cs
3072         (SignatureReader.ReadType): Add the new types.
3074 2005-10-06  Jb Evain  <jbevain@gmail.com>
3076         * Mono.Cecil/ReflectionHelper.cs
3077           Mono.Cecil/ModuleDefinition.cs:
3078                 Fix a bug in type importing.
3080 2005-10-06  Jb Evain  <jbevain@gmail.com>
3082         * Hopefully, this is the last API change before the release of Cecil 0.1.
3083           Mono.Cecil.Implem has been moved to Mono.Cecil. The interfaces where
3084           very convenient for a reading API, it was far less convenient for a
3085           modification and writing one. The modification API still needs some work,
3086           but this should be easier this way.
3088 2005-09-27  Jb Evain  <jbevain@gmail.com>
3090         * Mono.Cecil.Metadata/MetadataReader.cs:
3091                 Fix resources reading.
3093         * Mono.Cecil.Implem/StructureWriter.cs:
3094                 Correctly set the offset of resources in the manifest.
3095         * Mono.Cecil.Implem/StructureFactories.cs:
3096                 Use correct overrides when creating assembly references.
3097         * Mono.Cecil.Implem/ReflectionFactories:
3098                 Correctly create type references.
3100 2005-09-06  Jb Evain  <jbevain@gmail.com>
3102         * Mono.Cecil/IReflectionFactories.cs
3103           Mono.Cecil.Implem/ReflectionFactories.cs:
3104                 Allow the creation of reference types for methods
3105                 parameters and return types.
3106         * Mono.Cecil.Cil/ICilWorker.cs
3107           Mono.Cecil.Implem/CilWorker.cs
3108           Mono.Cecil.Implem/CodeReader.cs
3109           Mono.Cecil.Implem/CodeWriter.cs:
3110                 Global fix on the handling of parameters in instructions.
3111         * Mono.Cecil.Implem/AssemblyName.cs:
3112                 Correcty write the version of an assembly fullname.
3113                 Spotted by Bruno Cabral.
3114         * Mono.Cecil.Implem/TypeDefinition.cs:
3115                 Set the declaring type of a nested type on add.
3116         * Mono.Cecil.Implem/CustomAttribute.cs
3117           Mono.Cecil.Implem/ReflectionReader.cs
3118           Mono.Cecil.Implem/ReflectionWriter.cs
3119           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3120           Mono.Cecil.Signatures/CustomAttrib.cs
3121           Mono.Cecil.Signatures/SignatureReader.cs:
3122                 Global fix on custom attribute handling. Some
3123                 custom attribute (containing enums) blobs can not be
3124                 decoded.
3126 2005-09-04  Jb Evain  <jbevain@gmail.com>
3128         * Mono.Cecil.Implem/Instruction.cs:
3129                 Add the setter for IInstruction::OpCode.
3131 2005-09-02  Jb Evain  <jbevain@gmail.com>
3133         * Mono.Cecil/ICustomAttribute.cs
3134           Mono.Cecil.Implem/ReflectionFactories.cs
3135           Mono.Cecil.Implem/CustomAttribute.cs
3136           Mono.Cecil.Implem/ReflectionWriter.cs
3137           Mono.Cecil.Signatures/SignatureWriter.cs:
3138                 Prepare the work on custom attributes.
3139         * Mono.Cecil.Cil/IInstruction.cs:
3140                 Let users modify the content of an instruction.
3141         * Mono.Cecil.Implem/StructureReader.cs:
3142                 Do not try to read 2.0 assemblies.
3144 2005-08-28  Jb Evain  <jbevain@gmail.com>
3146         * Mono.Cecil.Metadata/MetadataWriter.cs:
3147                 Write the fields initial value back.
3148                 As of this revision, a round tripped mcs
3149                 can compile Cecil.
3151         * Mono.Cecil.Implem/ReflectionWriter.cs:
3152                 Emit things in proper order.
3153           Mono.Cecil.Implem/CodeReader.cs
3154           Mono.Cecil.Implem/CodeWriter.cs:
3155                 Correct bug with InlineVar opcodes.
3156                 Emit fat body if maxstack is set.
3158         * Mono.Cecil.Implem/CodeWriter.cs:
3159                 Handle null tokens.
3160           Mono.Cecil.Metadata/MetadataWriter.cs:
3161                 Allow one empty string in the userstring heap.
3163         * Mono.Cecil.Implem/ReflectionReader.cs
3164           Mono.Cecil.Implem/ReflectionWriter.cs:
3165                 Strings constant are unicode.
3167         * Mono.Cecil/LoadingType.cs
3168           Mono.Cecil/AssemblyFactory.cs
3169           CodeGen/templates/IndexedCollectionImplem.cs
3170           CodeGen/templates/LzIndexedCollectionImplem.cs
3171           CodeGen/cecil.xml
3172           Mono.Cecil.Implem/InterfaceCollection.cs
3173           Mono.Cecil.Implem/ILazyLoadable.cs
3174           Mono.Cecil.Implem/ExternTypeCollection.cs
3175           Mono.Cecil.Implem/SecurityDeclarationCollection.cs
3176           Mono.Cecil.Implem/ReflectionHelper.cs
3177           Mono.Cecil.Implem/OverrideCollection.cs
3178           Mono.Cecil.Implem/EventDefinitionCollection.cs
3179           Mono.Cecil.Implem/FieldDefinitionCollection.cs
3180           Mono.Cecil.Implem/PropertyDefinitionCollection.cs
3181           Mono.Cecil.Implem/CustomAttributeCollection.cs
3182           Mono.Cecil.Implem/MethodDefinition.cs
3183           Mono.Cecil.Implem/EventDefinition.cs
3184           Mono.Cecil.Implem/FieldDefinition.cs
3185           Mono.Cecil.Implem/ModuleDefinition.cs
3186           Mono.Cecil.Implem/ReflectionController.cs
3187           Mono.Cecil.Implem/TypeReference.cs
3188           Mono.Cecil.Implem/ReflectionReader.cs
3189           Mono.Cecil.Implem/ReflectionWriter.cs
3190           Mono.Cecil.Implem/AssemblyDefinition.cs
3191           Mono.Cecil.Implem/TypeDefinition.cs
3192           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3193           Mono.Cecil.Implem/MethodDefinitionCollection.cs
3194           Mono.Cecil.Implem/LazyReflectionReader.cs
3195           Mono.Cecil.Implem/ParameterDefinition.cs
3196           Mono.Cecil.Implem/PropertyDefinition.cs
3197           Mono.Cecil.Implem/ConstructorCollection.cs
3198           Mono.Cecil.Signatures/SignatureWriter.cs:
3199                 Get rid of the complexity introduced by the
3200                 internal lazy loading.
3202         * Mono.Cecil.Implem/EventDefinition.cs
3203           Mono.Cecil.Implem/PropertyDefinition.cs:
3204                 Fix the behavior of .ToString ().
3206 2005-08-27  Jb Evain  <jbevain@gmail.com>
3208         * Mono.Cecil.Implem/ReflectionWriter.cs:
3209                 Write back custom attributes of modules and assemblies
3210                 as well as their security declaration.
3211         * Mono.Cecil.Implem/CodeWriter.cs:
3212                 Fix branches computation.
3213           Mono.Cecil.Signatures/SignatureReader.cs:
3214                 Disable custom attribute reading cache.
3216         * CodeGen/templates/ImageWriter.cs
3217           Mono.Cecil.Binary/ImageWriter.cs:
3218                 Compute relocations.
3219         * Mono.Cecil.Implem/ReflectionFactories.cs:
3220                 Blah.
3222         * Mono.Cecil.Implem/TablesComparer.cs
3223           Mono.Cecil.Implem/ReflectionWriter.cs:
3224                 Sort all tables that need to be sorted.
3226         * Mono.Cecil.Implem/CodeReader.cs:
3227                 Oops. Add fat exception handlers to the method body.
3229         * CodeGen/templates/ImageWriter.cs
3230           Mono.Cecil.Implem/StructureWriter.cs
3231           Mono.Cecil.Implem/ReflectionWriter.cs
3232           Mono.Cecil.Implem/TypeDefinition.cs
3233           Mono.Cecil.Binary/ImageWriter.cs:
3234                 Correct a few bugs: relocations now works.
3235                 Encode enums in custom attributes.
3236                 Compute memberrefs tokens before visitings types.
3238         * Mono.Cecil.Implem/FieldDefinition.cs:
3239                 Correct a bug that causes null ref due to
3240                 the new api.
3241         * Mono.Cecil.Signatures/SignatureWriter.cs:
3242                 Implement a very little more custom attributes
3243                 writing.
3245 2005-08-26  Jb Evain  <jbevain@gmail.com>
3247         * Mono.Cecil/IMemberReferenceCollection.cs
3248           Mono.Cecil/IReflectionVisitor.cs
3249           Mono.Cecil/IReflectionFactories.cs
3250           Mono.Cecil/BaseReflectionVisitor.cs
3251           Mono.Cecil/IModuleDefinition.cs
3252           CodeGen/cecil.xml
3253           Mono.Cecil.Implem/ReflectionFactories.cs
3254           Mono.Cecil.Implem/ReflectionHelper.cs
3255           Mono.Cecil.Implem/ModuleDefinition.cs
3256           Mono.Cecil.Implem/MemberReferenceCollection.cs
3257           Mono.Cecil.Implem/ReflectionReader.cs
3258           Mono.Cecil.Implem/ReflectionWriter.cs
3259           Mono.Cecil.Implem/ParameterDefinition.cs:
3260                 Handle member references nicely.
3262         * Mono.Cecil/ICustomAttributeProvider.cs
3263           Mono.Cecil/IModuleDefinitionCollection.cs
3264           Mono.Cecil/IReflectionStructureFactories.cs
3265           Mono.Cecil/IInterfaceCollection.cs
3266           Mono.Cecil/IMethod.cs
3267           Mono.Cecil/IReflectionFactories.cs
3268           Mono.Cecil/INestedTypeCollection.cs
3269           Mono.Cecil/ITypeReferenceCollection.cs
3270           Mono.Cecil/IExternTypeCollection.cs
3271           Mono.Cecil/IAssemblyDefinition.cs
3272           Mono.Cecil/ITypeDefinition.cs
3273           Mono.Cecil/ICustomAttribute.cs
3274           Mono.Cecil/IArrayDimensionCollection.cs
3275           Mono.Cecil/TypeFactory.cs
3276           Mono.Cecil/IConstructorCollection.cs
3277           Mono.Cecil/IHasSecurity.cs
3278           Mono.Cecil/IMethodDefinitionCollection.cs
3279           Mono.Cecil/IPropertyDefinitionCollection.cs
3280           Mono.Cecil/IAssemblyNameReferenceCollection.cs
3281           Mono.Cecil/IModuleReferenceCollection.cs
3282           Mono.Cecil/IArrayType.cs
3283           Mono.Cecil/ISecurityDeclarationCollection.cs
3284           Mono.Cecil/IModuleDefinition.cs
3285           Mono.Cecil/IResourceCollection.cs
3286           Mono.Cecil/IParameterDefinitionCollection.cs
3287           Mono.Cecil/IEventDefinitionCollection.cs
3288           Mono.Cecil/ITypeDefinitionCollection.cs
3289           Mono.Cecil/IFieldDefinitionCollection.cs
3290           Mono.Cecil/ICustomAttributeCollection.cs
3291           Mono.Cecil/ISecurityDeclaration.cs
3292           Mono.Cecil/IOverrideCollection.cs
3293           Mono.Cecil/ITypeReference.cs
3294           Mono.Cecil.Cil/IExceptionHandlerCollection.cs
3295           Mono.Cecil.Cil/IVariableDefinitionCollection.cs
3296           Mono.Cecil.Cil/IInstructionCollection.cs
3297           Mono.Cecil.Cil/IMethodBody.cs
3298           CodeGen/cecil-gen-types.rb
3299           CodeGen/templates/ImageWriter.cs
3300           CodeGen/templates/IndexedCollectionImplem.cs
3301           CodeGen/templates/NamedCollectionImplem.cs
3302           CodeGen/templates/IIndexedCollection.cs
3303           CodeGen/templates/LzIndexedCollectionImplem.cs
3304           CodeGen/templates/INamedCollection.cs
3305           CodeGen/templates/LzNamedCollectionImplem.cs
3306           Mono.Cecil.Implem/InterfaceCollection.cs
3307           Mono.Cecil.Implem/AssemblyLinkedResource.cs
3308           Mono.Cecil.Implem/ModuleReferenceCollection.cs
3309           Mono.Cecil.Implem/ExternTypeCollection.cs
3310           Mono.Cecil.Implem/SecurityDeclarationCollection.cs
3311           Mono.Cecil.Implem/ReflectionFactories.cs
3312           Mono.Cecil.Implem/ReflectionHelper.cs
3313           Mono.Cecil.Implem/OverrideCollection.cs
3314           Mono.Cecil.Implem/ArrayDimensionCollection.cs
3315           Mono.Cecil.Implem/EmbeddedResource.cs
3316           Mono.Cecil.Implem/CilWorker.cs
3317           Mono.Cecil.Implem/ParameterDefinitionCollection.cs
3318           Mono.Cecil.Implem/EventDefinitionCollection.cs
3319           Mono.Cecil.Implem/FieldDefinitionCollection.cs
3320           Mono.Cecil.Implem/PropertyDefinitionCollection.cs
3321           Mono.Cecil.Implem/ModuleDefinitionCollection.cs
3322           Mono.Cecil.Implem/CustomAttributeCollection.cs
3323           Mono.Cecil.Implem/VariableDefinitionCollection.cs
3324           Mono.Cecil.Implem/TypeReferenceCollection.cs
3325           Mono.Cecil.Implem/MemberDefinition.cs
3326           Mono.Cecil.Implem/StructureReader.cs
3327           Mono.Cecil.Implem/FunctionPointerType.cs
3328           Mono.Cecil.Implem/MethodDefinition.cs
3329           Mono.Cecil.Implem/EventDefinition.cs
3330           Mono.Cecil.Implem/FieldDefinition.cs
3331           Mono.Cecil.Implem/InstructionCollection.cs
3332           Mono.Cecil.Implem/VariableDefinition.cs
3333           Mono.Cecil.Implem/CustomAttribute.cs
3334           Mono.Cecil.Implem/ModuleDefinition.cs
3335           Mono.Cecil.Implem/MethodReference.cs
3336           Mono.Cecil.Implem/TypeReference.cs
3337           Mono.Cecil.Implem/StructureFactories.cs
3338           Mono.Cecil.Implem/TypeDefinitionCollection.cs
3339           Mono.Cecil.Implem/AssemblyNameReferenceCollection.cs
3340           Mono.Cecil.Implem/ReflectionReader.cs
3341           Mono.Cecil.Implem/MethodReturnType.cs
3342           Mono.Cecil.Implem/MemberReference.cs
3343           Mono.Cecil.Implem/ReflectionWriter.cs
3344           Mono.Cecil.Implem/Resource.cs
3345           Mono.Cecil.Implem/AssemblyDefinition.cs
3346           Mono.Cecil.Implem/TypeDefinition.cs
3347           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3348           Mono.Cecil.Implem/CodeReader.cs
3349           Mono.Cecil.Implem/FieldReference.cs
3350           Mono.Cecil.Implem/MethodDefinitionCollection.cs
3351           Mono.Cecil.Implem/LazyReflectionReader.cs
3352           Mono.Cecil.Implem/LinkedResource.cs
3353           Mono.Cecil.Implem/ParameterDefinition.cs
3354           Mono.Cecil.Implem/PropertyDefinition.cs
3355           Mono.Cecil.Implem/MethodBody.cs
3356           Mono.Cecil.Implem/NestedTypeCollection.cs
3357           Mono.Cecil.Implem/ConstructorCollection.cs
3358           Mono.Cecil.Implem/ResourceCollection.cs
3359           Mono.Cecil.Implem/ExceptionHandlerCollection.cs
3360           Mono.Cecil.Binary/ImageWriter.cs
3361           Mono.Cecil.Binary/ImageReader.cs:
3362                 Fix the writing API before the API freeze. Few things
3363                 are not implemented, see todos.
3365 2005-08-20  Jb Evain  <jbevain@gmail.com>
3367         * Mono.Cecil/ITypeDefinition.cs
3368           Mono.Cecil/IModuleDefinition.cs
3369           Mono.Cecil/ITypeReference.cs
3370           Mono.Cecil.Implem/ReflectionHelper.cs
3371           Mono.Cecil.Implem/ModuleDefinition.cs
3372           Mono.Cecil.Implem/TypeReference.cs
3373           Mono.Cecil.Implem/ReflectionReader.cs
3374           Mono.Cecil.Implem/ReflectionWriter.cs
3375           Mono.Cecil.Implem/TypeDefinition.cs:
3376                 Add way to know if a type reference is a
3377                 value type or not. This hack saved my life.
3379         * Mono.Cecil.Implem/CodeWriter.cs:
3380                 Fix typespec emitting.
3382         * Mono.Cecil/IReflectionVisitor.cs
3383           Mono.Cecil/IMethod.cs
3384           Mono.Cecil/BaseReflectionVisitor.cs
3385           Mono.Cecil/ITypeDefinition.cs
3386           Mono.Cecil/IConstructorCollection.cs
3387           CodeGen/cecil.xml
3388           Mono.Cecil.Implem/MethodDefinition.cs
3389           Mono.Cecil.Implem/ReflectionReader.cs
3390           Mono.Cecil.Implem/ReflectionWriter.cs
3391           Mono.Cecil.Implem/TypeDefinition.cs
3392           Mono.Cecil.Implem/ConstructorCollection.cs:
3393                 Support constructors decently.
3395         * CodeGen/templates/Utilities.cs
3396           Mono.Cecil.Metadata/Utilities.cs:
3397                 Return a null token if the rid of a md token
3398                 is 0. Fix the crash when Mono try to read
3399                 assemblies emitted by Cecil.
3401 2005-08-19  Jb Evain  <jbevain@gmail.com>
3403         * Mono.Cecil.Implem/ReflectionWriter.cs:
3404                 Set the RVA of a method only if it can
3405                 have a body.
3406         * Mono.Cecil.Signatures/SignatureReader.cs:
3407                 Remove debugging stuff.
3409         * Mono.Cecil.Implem/ReflectionReader.cs
3410           Mono.Cecil.Signatures/SignatureReader.cs:
3411                 Fix custom marshaller reading.
3413         * CodeGen/templates/NamedCollectionImplem.cs
3414           CodeGen/templates/LzNamedCollectionImplem.cs
3415           Mono.Cecil.Implem/ExternTypeCollection.cs
3416           Mono.Cecil.Implem/TypeReferenceCollection.cs
3417           Mono.Cecil.Implem/TypeDefinitionCollection.cs
3418           Mono.Cecil.Implem/ReflectionReader.cs
3419           Mono.Cecil.Implem/ReflectionWriter.cs
3420           Mono.Cecil.Implem/TablesComparer.cs
3421           Mono.Cecil.Implem/Constants.cs
3422           Mono.Cecil.Signatures/SignatureWriter.cs:
3423                 Correct bugs in type* tables generations.
3425         * Mono.Cecil/IModuleDefinitionCollection.cs
3426           Mono.Cecil/IInterfaceCollection.cs
3427           Mono.Cecil/INestedTypeCollection.cs
3428           Mono.Cecil/ITypeReferenceCollection.cs
3429           Mono.Cecil/IExternTypeCollection.cs
3430           Mono.Cecil/IArrayDimensionCollection.cs
3431           Mono.Cecil/IMethodDefinitionCollection.cs
3432           Mono.Cecil/IPropertyDefinitionCollection.cs
3433           Mono.Cecil/IAssemblyNameReferenceCollection.cs
3434           Mono.Cecil/IModuleReferenceCollection.cs
3435           Mono.Cecil/ISecurityDeclarationCollection.cs
3436           Mono.Cecil/IResourceCollection.cs
3437           Mono.Cecil/IParameterDefinitionCollection.cs
3438           Mono.Cecil/IEventDefinitionCollection.cs
3439           Mono.Cecil/ITypeDefinitionCollection.cs
3440           Mono.Cecil/IFieldDefinitionCollection.cs
3441           Mono.Cecil/ICustomAttributeCollection.cs
3442           Mono.Cecil/IOverrideCollection.cs
3443           Mono.Cecil.Cil/IExceptionHandlerCollection.cs
3444           Mono.Cecil.Cil/IVariableDefinitionCollection.cs
3445           Mono.Cecil.Cil/IInstructionCollection.cs
3446           CodeGen/templates/IIndexedCollection.cs
3447           CodeGen/templates/INamedCollection.cs
3448           Mono.Cecil.Implem/ReflectionWriter.cs
3449           Mono.Cecil.Binary/SubSystem.cs
3450           Mono.Cecil.Signatures/SignatureWriter.cs:
3451                 On going change to the writing api. Not setter allowed on
3452                 collections. Work on custom attribute encoding. Remove
3453                 the Flags on Subsystem.
3455         * Mono.Cecil.dll.sources
3456           Mono.Cecil.Implem/ReflectionHelper.cs
3457           Mono.Cecil.Implem/TypeReference.cs
3458           Mono.Cecil.Implem/ReflectionReader.cs
3459           Mono.Cecil.Implem/ReflectionWriter.cs
3460           Mono.Cecil.Implem/TypeDefinition.cs
3461           Mono.Cecil.Implem/TablesComparer.cs
3462           Mono.Cecil.Signatures/SignatureReader.cs:
3463                 Fix the build.
3464                 Stop to prefix typeref by the scope.
3465                 Cecil will have buggy behaviour if it have to handle
3466                 two typeref with the same namespace+name, but for the
3467                 moment, let it like that.
3469         * Mono.Cecil/INestedTypeCollection.cs
3470           Mono.Cecil/IModuleReference.cs
3471           Mono.Cecil/ITypeReferenceCollection.cs
3472           Mono.Cecil/IAssemblyName.cs
3473           Mono.Cecil/IExternTypeCollection.cs
3474           Mono.Cecil/IMetadataScope.cs
3475           Mono.Cecil/IModuleDefinition.cs
3476           Mono.Cecil/IResourceCollection.cs
3477           Mono.Cecil/ITypeDefinitionCollection.cs
3478           CodeGen/templates/NamedCollectionImplem.cs
3479           CodeGen/templates/INamedCollection.cs
3480           CodeGen/templates/LzNamedCollectionImplem.cs
3481           CodeGen/cecil.xml
3482           Mono.Cecil.Metadata/RowCollection.cs
3483           Mono.Cecil.Metadata/MetadataWriter.cs
3484           Mono.Cecil.Metadata/MetadataToken.cs
3485           Mono.Cecil.Implem/TablesComparer.cs
3486           Mono.Cecil.Implem/ExternTypeCollection.cs
3487           Mono.Cecil.Implem/ReflectionHelper.cs
3488           Mono.Cecil.Implem/TypeReferenceCollection.cs
3489           Mono.Cecil.Implem/StructureReader.cs
3490           Mono.Cecil.Implem/StructureWriter.cs
3491           Mono.Cecil.Implem/ModuleDefinition.cs
3492           Mono.Cecil.Implem/TypeReference.cs
3493           Mono.Cecil.Implem/TypeDefinitionCollection.cs
3494           Mono.Cecil.Implem/ReflectionReader.cs
3495           Mono.Cecil.Implem/ReflectionWriter.cs
3496           Mono.Cecil.Implem/TypeDefinition.cs
3497           Mono.Cecil.Implem/CodeReader.cs
3498           Mono.Cecil.Implem/CodeWriter.cs
3499           Mono.Cecil.Implem/Constants.cs
3500           Mono.Cecil.Implem/NestedTypeCollection.cs
3501           Mono.Cecil.Implem/ResourceCollection.cs
3502           Mono.Cecil.Signatures/SignatureReader.cs
3503           Mono.Cecil.Signatures/SignatureWriter.cs:
3504                 Correct some part of the API.
3505                 Correct tons of bugs in the writing layer.
3507 2005-08-17  Jb Evain  <jbevain@gmail.com>
3509         * Mono.Cecil/IField.cs
3510           CodeGen/cecil.xml
3511           Mono.Cecil.Metadata/MetadataReader.cs
3512           Mono.Cecil.Metadata/MetadataWriter.cs
3513           Mono.Cecil.Implem/ReflectionHelper.cs
3514           Mono.Cecil.Implem/StructureReader.cs
3515           Mono.Cecil.Implem/FieldDefinition.cs
3516           Mono.Cecil.Implem/BaseReflectionReader.cs
3517           Mono.Cecil.Implem/ReflectionReader.cs
3518           Mono.Cecil.Implem/ReflectionWriter.cs
3519           Mono.Cecil.Implem/TypeDefinition.cs
3520           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3521           Mono.Cecil.Implem/CodeReader.cs
3522           Mono.Cecil.Implem/IDetailReader.cs
3523           Mono.Cecil.Implem/CodeWriter.cs
3524           Mono.Cecil.Implem/LazyReflectionReader.cs
3525           Mono.Cecil.Signatures/SignatureWriter.cs:
3526                 Work on the working layer. Implement field initial
3527                 data. Bugs.
3529 2005-08-16  Jb Evain  <jbevain@gmail.com>
3531         * Mono.Cecil.Implem/ReflectionWriter.cs
3532           Mono.Cecil.Implem/CodeWriter.cs
3533           Mono.Cecil.Signatures/SignatureReader.cs:
3534                 Implement local var sig writing.
3536         * Mono.Cecil.Implem/ArrayType.cs:
3537                 Style.
3538           Mono.Cecil.Implem/ParameterDefinition.cs:
3539                 Correct a bug in module obtention.
3540           Mono.Cecil.Signatures/SignatureReader.cs:
3541                 Correct a bug in arrays's signature reading.
3543         * Mono.Cecil.dll.sources
3544           Mono.Cecil/IReflectionVisitor.cs
3545           Mono.Cecil/IModuleDefinitionCollection.cs
3546           Mono.Cecil/IInterfaceCollection.cs
3547           Mono.Cecil/IProperty.cs
3548           Mono.Cecil/BaseReflectionVisitor.cs
3549           Mono.Cecil/INestedTypeCollection.cs
3550           Mono.Cecil/ITypeReferenceCollection.cs
3551           Mono.Cecil/IParameter.cs
3552           Mono.Cecil/IExternTypeCollection.cs
3553           Mono.Cecil/IField.cs
3554           Mono.Cecil/IArrayDimensionCollection.cs
3555           Mono.Cecil/IMethodDefinitionCollection.cs
3556           Mono.Cecil/IPropertyDefinitionCollection.cs
3557           Mono.Cecil/IAssemblyNameReferenceCollection.cs
3558           Mono.Cecil/IModuleReferenceCollection.cs
3559           Mono.Cecil/IHasConstant.cs
3560           Mono.Cecil/ISecurityDeclarationCollection.cs
3561           Mono.Cecil/IMetadataTokenProvider.cs
3562           Mono.Cecil/IModuleDefinition.cs
3563           Mono.Cecil/BaseStructureVisitor.cs
3564           Mono.Cecil/IResourceCollection.cs
3565           Mono.Cecil/IParameterDefinitionCollection.cs
3566           Mono.Cecil/IEventDefinitionCollection.cs
3567           Mono.Cecil/ITypeDefinitionCollection.cs
3568           Mono.Cecil/IFieldDefinitionCollection.cs
3569           Mono.Cecil/ICustomAttributeCollection.cs
3570           Mono.Cecil/IOverrideCollection.cs
3571           Mono.Cecil.Cil/IExceptionHandlerCollection.cs
3572           Mono.Cecil.Cil/IVariableDefinitionCollection.cs
3573           Mono.Cecil.Cil/IInstructionCollection.cs
3574           CodeGen/cecil-gen.rb
3575           CodeGen/cecil-gen-types.rb
3576           CodeGen/templates/IndexedCollectionImplem.cs
3577           CodeGen/templates/NamedCollectionImplem.cs
3578           CodeGen/templates/IIndexedCollection.cs
3579           CodeGen/templates/LzIndexedCollectionImplem.cs
3580           CodeGen/templates/INamedCollection.cs
3581           CodeGen/templates/LzNamedCollectionImplem.cs
3582           CodeGen/cecil.xml
3583           Mono.Cecil.Metadata/MetadataRowWriter.cs
3584           Mono.Cecil.Metadata/MetadataWriter.cs
3585           Mono.Cecil.Implem/InterfaceCollection.cs
3586           Mono.Cecil.Implem/ModuleReferenceCollection.cs
3587           Mono.Cecil.Implem/ExternTypeCollection.cs
3588           Mono.Cecil.Implem/SecurityDeclarationCollection.cs
3589           Mono.Cecil.Implem/OverrideCollection.cs
3590           Mono.Cecil.Implem/ParameterDefinitionCollection.cs
3591           Mono.Cecil.Implem/EventDefinitionCollection.cs
3592           Mono.Cecil.Implem/FieldDefinitionCollection.cs
3593           Mono.Cecil.Implem/PropertyDefinitionCollection.cs
3594           Mono.Cecil.Implem/ModuleDefinitionCollection.cs
3595           Mono.Cecil.Implem/CustomAttributeCollection.cs
3596           Mono.Cecil.Implem/VariableDefinitionCollection.cs
3597           Mono.Cecil.Implem/TypeReferenceCollection.cs
3598           Mono.Cecil.Implem/StructureReader.cs
3599           Mono.Cecil.Implem/MethodDefinition.cs
3600           Mono.Cecil.Implem/EventDefinition.cs
3601           Mono.Cecil.Implem/FieldDefinition.cs
3602           Mono.Cecil.Implem/InstructionCollection.cs
3603           Mono.Cecil.Implem/StructureWriter.cs
3604           Mono.Cecil.Implem/ModuleDefinition.cs
3605           Mono.Cecil.Implem/MethodReference.cs
3606           Mono.Cecil.Implem/TypeReference.cs
3607           Mono.Cecil.Implem/TypeDefinitionCollection.cs
3608           Mono.Cecil.Implem/AssemblyNameReferenceCollection.cs
3609           Mono.Cecil.Implem/ReflectionReader.cs
3610           Mono.Cecil.Implem/MethodReturnType.cs
3611           Mono.Cecil.Implem/ReflectionWriter.cs
3612           Mono.Cecil.Implem/AssemblyDefinition.cs
3613           Mono.Cecil.Implem/TypeDefinition.cs
3614           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3615           Mono.Cecil.Implem/MethodDefinitionCollection.cs
3616           Mono.Cecil.Implem/CodeWriter.cs
3617           Mono.Cecil.Implem/LazyReflectionReader.cs
3618           Mono.Cecil.Implem/ParameterDefinition.cs
3619           Mono.Cecil.Implem/PropertyDefinition.cs
3620           Mono.Cecil.Implem/NestedTypeCollection.cs
3621           Mono.Cecil.Implem/ResourceCollection.cs
3622           Mono.Cecil.Implem/ExceptionHandlerCollection.cs
3623           Mono.Cecil.Signatures/SignatureReader.cs
3624           Mono.Cecil.Signatures/SignatureWriter.cs:
3625                 Working on the writing layer.
3626                 Begin to fix brokens part of the API.
3628 2005-08-15  Jb Evain  <jbevain@gmail.com>
3630         * Mono.Cecil/ITypeDefinition.cs
3631           CodeGen/templates/MetadataTableReader.cs
3632           CodeGen/templates/PEFileHeader.cs
3633           CodeGen/templates/ImageWriter.cs
3634           CodeGen/templates/CLIHeader.cs
3635           CodeGen/templates/PEOptionalHeader.cs
3636           CodeGen/templates/MetadataTableWriter.cs
3637           CodeGen/templates/Table.cs
3638           CodeGen/templates/MetadataRowReader.cs
3639           CodeGen/templates/BaseMetadataVisitor.cs
3640           CodeGen/templates/Section.cs
3641           CodeGen/templates/MetadataRowWriter.cs
3642           CodeGen/templates/ImageReader.cs
3643           CodeGen/templates/IMetadataVisitor.cs
3644           Mono.Cecil.Metadata/Assembly.cs
3645           Mono.Cecil.Metadata/PropertyMap.cs
3646           Mono.Cecil.Metadata/InterfaceImpl.cs
3647           Mono.Cecil.Metadata/MetadataInitializer.cs
3648           Mono.Cecil.Metadata/Constant.cs
3649           Mono.Cecil.Metadata/MethodSpec.cs
3650           Mono.Cecil.Metadata/BaseMetadataVisitor.cs
3651           Mono.Cecil.Metadata/DeclSecurity.cs
3652           Mono.Cecil.Metadata/TypeDef.cs
3653           Mono.Cecil.Metadata/MethodImpl.cs
3654           Mono.Cecil.Metadata/GenericParamConstraint.cs
3655           Mono.Cecil.Metadata/NestedClass.cs
3656           Mono.Cecil.Metadata/MetadataTableReader.cs
3657           Mono.Cecil.Metadata/AssemblyRefProcessor.cs
3658           Mono.Cecil.Metadata/AssemblyRef.cs
3659           Mono.Cecil.Metadata/AssemblyRefOS.cs
3660           Mono.Cecil.Metadata/Method.cs
3661           Mono.Cecil.Metadata/RowCollection.cs
3662           Mono.Cecil.Metadata/MetadataTableWriter.cs
3663           Mono.Cecil.Metadata/StringsHeap.cs
3664           Mono.Cecil.Metadata/MetadataRowReader.cs
3665           Mono.Cecil.Metadata/ExportedType.cs
3666           Mono.Cecil.Metadata/CustomAttribute.cs
3667           Mono.Cecil.Metadata/Param.cs
3668           Mono.Cecil.Metadata/MetadataReader.cs
3669           Mono.Cecil.Metadata/ClassLayout.cs
3670           Mono.Cecil.Metadata/MetadataRowWriter.cs
3671           Mono.Cecil.Metadata/BlobHeap.cs
3672           Mono.Cecil.Metadata/MetadataWriter.cs
3673           Mono.Cecil.Metadata/AssemblyOS.cs
3674           Mono.Cecil.Metadata/ModuleRef.cs
3675           Mono.Cecil.Metadata/MetadataRoot.cs
3676           Mono.Cecil.Metadata/UserStringsHeap.cs
3677           Mono.Cecil.Metadata/FieldMarshal.cs
3678           Mono.Cecil.Metadata/GenericParam.cs
3679           Mono.Cecil.Metadata/ImplMap.cs
3680           Mono.Cecil.Metadata/TableCollection.cs
3681           Mono.Cecil.Metadata/TablesHeap.cs
3682           Mono.Cecil.Metadata/MetadataStreamCollection.cs
3683           Mono.Cecil.Metadata/ManifestResource.cs
3684           Mono.Cecil.Metadata/TypeRef.cs
3685           Mono.Cecil.Metadata/AssemblyProcessor.cs
3686           Mono.Cecil.Metadata/EventMap.cs
3687           Mono.Cecil.Metadata/File.cs
3688           Mono.Cecil.Metadata/Event.cs
3689           Mono.Cecil.Metadata/FieldLayout.cs
3690           Mono.Cecil.Metadata/Field.cs
3691           Mono.Cecil.Metadata/Property.cs
3692           Mono.Cecil.Metadata/Module.cs
3693           Mono.Cecil.Metadata/GuidHeap.cs
3694           Mono.Cecil.Metadata/MethodSemantics.cs
3695           Mono.Cecil.Metadata/StandAloneSig.cs
3696           Mono.Cecil.Metadata/MetadataStream.cs
3697           Mono.Cecil.Metadata/FieldRVA.cs
3698           Mono.Cecil.Metadata/TypeSpec.cs
3699           Mono.Cecil.Metadata/MemberRef.cs
3700           Mono.Cecil.Metadata/IMetadataVisitor.cs
3701           Mono.Cecil.Implem/TypeDefinition.cs
3702           Mono.Cecil.Signatures/MethodRefSig.cs
3703           Mono.Cecil.Signatures/SignatureReader.cs
3704           Mono.Cecil.Signatures/FieldSig.cs
3705           Mono.Cecil.Signatures/PropertySig.cs
3706           Mono.Cecil.Signatures/ISignatureVisitor.cs
3707           Mono.Cecil.Signatures/SignatureWriter.cs
3708           Mono.Cecil.Signatures/MethodDefSig.cs
3709           Mono.Cecil.Signatures/LocalVarSig.cs
3710           Mono.Cecil.Binary/PEFileHeader.cs
3711           Mono.Cecil.Binary/IBinaryVisitor.cs
3712           Mono.Cecil.Binary/ImageWriter.cs
3713           Mono.Cecil.Binary/CLIHeader.cs
3714           Mono.Cecil.Binary/SectionCollection.cs
3715           Mono.Cecil.Binary/Image.cs
3716           Mono.Cecil.Binary/PEOptionalHeader.cs
3717           Mono.Cecil.Binary/ImageInitializer.cs
3718           Mono.Cecil.Binary/Imports.cs
3719           Mono.Cecil.Binary/BaseImageVisitor.cs
3720           Mono.Cecil.Binary/DOSHeader.cs
3721           Mono.Cecil.Binary/Section.cs
3722           Mono.Cecil.Binary/ImageReader.cs:
3723                 Apply the new visitor model to the rest of Cecil.
3725         * Mono.Cecil/IReflectionVisitor.cs
3726           Mono.Cecil/BaseReflectionVisitor.cs
3727           Mono.Cecil/IReflectionStructureVisitor.cs
3728           Mono.Cecil/BaseStructureVisitor.cs
3729           Mono.Cecil.Cil/BaseCodeVisitor.cs
3730           Mono.Cecil.Cil/ICodeVisitor.cs
3731           CodeGen/cecil-gen.rb
3732           CodeGen/cecil-gen-types.rb
3733           CodeGen/templates/IndexedCollectionImplem.cs
3734           CodeGen/templates/NamedCollectionImplem.cs
3735           CodeGen/templates/LzIndexedCollectionImplem.cs
3736           CodeGen/templates/LzNamedCollectionImplem.cs
3737           CodeGen/cecil.xml
3738           Mono.Cecil.Implem/InterfaceCollection.cs
3739           Mono.Cecil.Implem/AssemblyLinkedResource.cs
3740           Mono.Cecil.Implem/ModuleReferenceCollection.cs
3741           Mono.Cecil.Implem/AssemblyName.cs
3742           Mono.Cecil.Implem/Instruction.cs
3743           Mono.Cecil.Implem/ExternTypeCollection.cs
3744           Mono.Cecil.Implem/MarshalDesc.cs
3745           Mono.Cecil.Implem/SecurityDeclarationCollection.cs
3746           Mono.Cecil.Implem/OverrideCollection.cs
3747           Mono.Cecil.Implem/ExceptionHandler.cs
3748           Mono.Cecil.Implem/EmbeddedResource.cs
3749           Mono.Cecil.Implem/ModuleReference.cs
3750           Mono.Cecil.Implem/ParameterDefinitionCollection.cs
3751           Mono.Cecil.Implem/EventDefinitionCollection.cs
3752           Mono.Cecil.Implem/FieldDefinitionCollection.cs
3753           Mono.Cecil.Implem/PropertyDefinitionCollection.cs
3754           Mono.Cecil.Implem/ModuleDefinitionCollection.cs
3755           Mono.Cecil.Implem/CustomAttributeCollection.cs
3756           Mono.Cecil.Implem/VariableDefinitionCollection.cs
3757           Mono.Cecil.Implem/TypeReferenceCollection.cs
3758           Mono.Cecil.Implem/StructureReader.cs
3759           Mono.Cecil.Implem/MethodDefinition.cs
3760           Mono.Cecil.Implem/EventDefinition.cs
3761           Mono.Cecil.Implem/FieldDefinition.cs
3762           Mono.Cecil.Implem/InstructionCollection.cs
3763           Mono.Cecil.Implem/StructureWriter.cs
3764           Mono.Cecil.Implem/ModuleDefinition.cs
3765           Mono.Cecil.Implem/CustomAttribute.cs
3766           Mono.Cecil.Implem/VariableDefinition.cs
3767           Mono.Cecil.Implem/TypeReference.cs
3768           Mono.Cecil.Implem/TypeDefinitionCollection.cs
3769           Mono.Cecil.Implem/AssemblyNameReferenceCollection.cs
3770           Mono.Cecil.Implem/ReflectionReader.cs
3771           Mono.Cecil.Implem/ReflectionWriter.cs
3772           Mono.Cecil.Implem/PInvokeInfo.cs
3773           Mono.Cecil.Implem/AssemblyDefinition.cs
3774           Mono.Cecil.Implem/TypeDefinition.cs
3775           Mono.Cecil.Implem/CodeReader.cs
3776           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3777           Mono.Cecil.Implem/MethodDefinitionCollection.cs
3778           Mono.Cecil.Implem/CodeWriter.cs
3779           Mono.Cecil.Implem/SecurityDeclaration.cs
3780           Mono.Cecil.Implem/LazyReflectionReader.cs
3781           Mono.Cecil.Implem/LinkedResource.cs
3782           Mono.Cecil.Implem/ParameterDefinition.cs
3783           Mono.Cecil.Implem/PropertyDefinition.cs
3784           Mono.Cecil.Implem/MethodBody.cs
3785           Mono.Cecil.Implem/NestedTypeCollection.cs
3786           Mono.Cecil.Implem/ResourceCollection.cs
3787           Mono.Cecil.Implem/ExceptionHandlerCollection.cs:
3788                 BIG changes in the visitor object model. Last one
3789                 was causing ambiguous calls, and does not provides
3790                 differences between an interface and a typedef for
3791                 instance. This is corrected by suffixing the visit
3792                 method by the name of what it is visiting, and by
3793                 configuring some collection to stop the propagation
3794                 of the visitor.
3796         * Mono.Cecil/ITypeDefinition.cs
3797           Mono.Cecil/IArrayType.cs
3798           CodeGen/templates/Utilities.cs
3799           Mono.Cecil.Metadata/Utilities.cs
3800           Mono.Cecil.Implem/ArrayType.cs
3801           Mono.Cecil.Implem/TypeReference.cs
3802           Mono.Cecil.Implem/ReflectionWriter.cs
3803           Mono.Cecil.Implem/TypeDefinition.cs
3804           Mono.Cecil.Implem/CodeWriter.cs
3805           Mono.Cecil.Implem/Constants.cs
3806           Mono.Cecil.Signatures/MarshalSig.cs:
3807                 Work on the writing layer goes on.
3809 2005-08-14  Jb Evain  <jbevain@gmail.com>
3811         * Mono.Cecil/NativeType.cs
3812           Mono.Cecil.Signatures/MarshalSig.cs
3813           Mono.Cecil.Signatures/SignatureWriter.cs
3814           Mono.Cecil.Signatures/Signature.cs:
3815                 Work on signature writing.
3816           Mono.Cecil.Implem/MethodDefinition.cs
3817           Mono.Cecil.Implem/TypeDefinition.cs:
3818                 Correct bugs in setting the hasThis field.
3820         * CodeGen/templates/ImageWriter.cs
3821           Mono.Cecil.Binary/templates/ImageWriter.cs
3822           Mono.Cecil/AssemblyKind.cs:
3823                 Make assemblies executable on win32.
3824           Mono.Cecil.Implem/TypeDefinition.cs:
3825                 Mark new fields as loaded.
3826           Mono.Cecil.Implem/ReflectionWriter.cs:
3827                 Correct the style to patch provided by
3828                 Sebastien Ros  <s.ros@evaluant.com>
3830 2005-08-13  Jb Evain  <jbevain@gmail.com>
3832         * Mono.Cecil/IMethod.cs
3833           Mono.Cecil/ITypeDefinition.cs
3834           Mono.Cecil/IModuleDefinition.cs
3835           Mono.Cecil.Cil/OpCode.cs
3836           Mono.Cecil.Cil/ICilWorker.cs
3837           CodeGen/templates/ImageReader.cs
3838           Mono.Cecil.Metadata/MetadataReader.cs
3839           Mono.Cecil.Metadata/MetadataWriter.cs
3840           Mono.Cecil.Metadata/MetadataRoot.cs
3841           Mono.Cecil.Implem/ReflectionHelper.cs
3842           Mono.Cecil.Implem/CilWorker.cs
3843           Mono.Cecil.Implem/StructureReader.cs
3844           Mono.Cecil.Implem/MethodDefinition.cs
3845           Mono.Cecil.Implem/StructureWriter.cs
3846           Mono.Cecil.Implem/ModuleDefinition.cs
3847           Mono.Cecil.Implem/MethodReference.cs
3848           Mono.Cecil.Implem/ReflectionReader.cs
3849           Mono.Cecil.Implem/ReflectionWriter.cs
3850           Mono.Cecil.Implem/TypeDefinition.cs
3851           Mono.Cecil.Implem/CodeReader.cs
3852           Mono.Cecil.Implem/CodeWriter.cs
3853           Mono.Cecil.Implem/Constants.cs
3854           Mono.Cecil.Implem/ParameterDefinition.cs
3855           Mono.Cecil.Implem/MethodBody.cs
3856           Mono.Cecil.Binary/ImageReader.cs
3857           Mono.Cecil.Binary/MemoryBinaryWriter.cs
3858           Mono.Cecil.Signatures/SignatureReader.cs
3859           Mono.Cecil.Signatures/SignatureWriter.cs:
3860                 On going work on the writing layer.
3862         * Mono.Cecil.Signatures/SignatureReader.cs:
3863                 Fix a bug when reading chars inside a custom
3864                 attribute signature.
3866 2005-08-12  Jb Evain  <jbevain@gmail.com>
3868         * Mono.Cecil/AssemblyFactory.cs
3869           CodeGen/templates/ImageWriter.cs
3870           CodeGen/templates/MetadataTableWriter.cs
3871           CodeGen/templates/MetadataRowWriter.cs
3872           Mono.Cecil.Metadata/MetadataTableWriter.cs
3873           Mono.Cecil.Metadata/MetadataRowWriter.cs
3874           Mono.Cecil.Metadata/MetadataWriter.cs
3875           Mono.Cecil.Implem/StructureWriter.cs
3876           Mono.Cecil.Binary/ImageWriter.cs
3877           Mono.Cecil.Binary/MemoryBinaryWriter.cs:
3878                 Use a custom binary writer instead of the old one.
3880         * Mono.Cecil/IMethod.cs
3881           Mono.Cecil.Cil/BaseCodeVisitor.cs
3882           Mono.Cecil.Cil/MethodHeader.cs
3883           Mono.Cecil.Cil/ICodeVisitor.cs
3884           Mono.Cecil.Implem/Instruction.cs
3885           Mono.Cecil.Implem/MethodDefinition.cs
3886           Mono.Cecil.Implem/FieldDefinition.cs
3887           Mono.Cecil.Implem/ReflectionWriter.cs
3888           Mono.Cecil.Implem/CodeReader.cs
3889           Mono.Cecil.Implem/CodeWriter.cs
3890           Mono.Cecil.Implem/MethodBody.cs:
3891                 Ongoing work on the writing layer.
3893         * CodeGen/templates/Utilities.cs
3894           CodeGen/templates/NamedCollectionImplem.cs
3895           CodeGen/templates/MetadataRowWriter.cs
3896           CodeGen/templates/LzNamedCollectionImplem.cs
3897           CodeGen/cecil.xml
3898           Mono.Cecil/IMethod.cs
3899           Mono.Cecil/IAssemblyName.cs
3900           Mono.Cecil/IModuleDefinition.cs
3901           Mono.Cecil/AssemblyFactory.cs
3902           Mono.Cecil.Metadata/MetadataRowWriter.cs
3903           Mono.Cecil.Metadata/Utilities.cs
3904           Mono.Cecil.Implem/ReflectionHelper.cs
3905           Mono.Cecil.Implem/StructureReader.cs
3906           Mono.Cecil.Implem/MethodDefinition.cs
3907           Mono.Cecil.Implem/EventDefinition.cs
3908           Mono.Cecil.Implem/FieldDefinition.cs
3909           Mono.Cecil.Implem/StructureWriter.cs
3910           Mono.Cecil.Implem/ModuleDefinition.cs
3911           Mono.Cecil.Implem/MethodReference.cs
3912           Mono.Cecil.Implem/TypeDefinitionCollection.cs
3913           Mono.Cecil.Implem/ReflectionReader.cs
3914           Mono.Cecil.Implem/ReflectionWriter.cs
3915           Mono.Cecil.Implem/TypeDefinition.cs
3916           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3917           Mono.Cecil.Implem/Constants.cs
3918           Mono.Cecil.Implem/ParameterDefinition.cs
3919           Mono.Cecil.Implem/PropertyDefinition.cs
3920           Mono.Cecil.Signatures/SignatureWriter.cs:
3921                 Ongoing work on the writing layer.
3922                 Some fixes to the reading layer as well.
3924 2005-08-11  Jb Evain  <jbevain@gmail.com>
3926         * Mono.Cecil.Signatures/SignatureReader.cs:
3927                 Read Array signatures correctly.
3929         * Mono.Cecil/IMethodSignature.cs:
3930                 Remove the setted for the return type.
3931         * Mono.Cecil.Implem/CilWorker.cs:
3932                 Fix the build. Me idiot!
3933         * Mono.Cecil.Implem/Constants.cs:
3934                 Remove unexisting type Variant.
3935         * Mono.Cecil.Implem/ReflectionHelper.cs:
3936                 Complete the helper.
3938 2005-08-10  Jb Evain  <jbevain@gmail.com>
3940         * Mono.Cecil.Cil/IMethodBody.cs
3941           Mono.Cecil.Cil/ICilEmitter.cs
3942           Mono.Cecil.Cil/ICilWorker.cs
3943           Mono.Cecil.Implem/CilWorker.cs
3944           Mono.Cecil.Implem/ReflectionWriter.cs
3945           Mono.Cecil.Implem/MethodBody.cs
3946           Mono.Cecil.Implem/CilEmitter.cs
3947           Mono.Cecil.Signatures/SignatureReader.cs
3948           Mono.Cecil.Signatures/SignatureWriter.cs:
3949                 Prepare the api for the cil emitting.
3951         * CodeGen/templates/Utilities.cs
3952           CodeGen/templates/MetadataRowReader.cs
3953           CodeGen/templates/MetadataRowWriter.cs
3954           Mono.Cecil.Metadata/Utilities.cs
3955           Mono.Cecil.Metadata/MetadataRowReader.cs
3956           Mono.Cecil.Metadata/MetadataRowWriter.cs:
3957                 Fix the build on .net, i was using a sugar
3958                 syntax for delegates that csc does not understand.
3959                 Remove the coded index cache from the static class
3960                 Utilities, and add one per row visitor.
3962         * Mono.Cecil/IMethodReturnType.cs
3963           Mono.Cecil.Implem/MethodReturnType.cs
3964           Mono.Cecil.Implem/ReflectionReader.cs
3965           Mono.Cecil.Implem/ParameterDefinition.cs:
3966                 Make IMethodReturn type inherits IHasMarshalSpec so
3967                 that users can read marshaling info for return types,
3968                 and implement it.
3970         * CodeGen/templates/ImageWriter.cs
3971           Mono.Cecil.Binary/ImageWriter.cs
3972           Mono.Cecil.Metadata/MetadataWriter.cs
3973           Mono.Cecil.Implem/ReflectionWriter.cs:
3974                 Cecil now emits assemblies understood by the .net clr.
3976 2005-08-09  Jb Evain  <jbevain@gmail.com>
3978         * Mono.Cecil/AssemblyKind.cs
3979           CodeGen/templates/ImageWriter.cs
3980           CodeGen/templates/ImageReader.cs
3981           Mono.Cecil.Metadata/MetadataWriter.cs
3982           Mono.Cecil.Binary/ImageWriter.cs
3983           Mono.Cecil.Binary/ImageInitializer.cs
3984           Mono.Cecil.Binary/ImageReader.cs:
3985                 Lots of little fixes. Now dumpbin is coherent
3986                 compared with an assembly emitted with csc or mcs
3987                 but still not yet compatible with .net.
3989         * Mono.Cecil.Signatures/SignatureReader.cs:
3990                 Fix an array out of range while trying to read
3991                 fixed arrays signatures
3993         * CodeGen/templates/ImageWriter.cs
3994           Mono.Cecil.Metadata/MetadataReader.cs
3995           Mono.Cecil.Metadata/MetadataWriter.cs
3996           Mono.Cecil.Implem/AssemblyName.cs
3997           Mono.Cecil.Implem/StructureReader.cs
3998           Mono.Cecil.Implem/ReflectionWriter.cs
3999           Mono.Cecil.Binary/ImageCharacteristics.cs
4000           Mono.Cecil.Binary/ImageWriter.cs
4001           Mono.Cecil.Binary/Image.cs:
4002                 Cecil now emits assemblies that are understood
4003                 by Mono and Cecil itself. Still have troubles
4004                 with Msft CLR.
4006 2005-08-08  Jb Evain  <jbevain@gmail.com>
4008         * CodeGen/cecil-gen.rb
4009           CodeGen/templates/MetadataTableReader.cs
4010           CodeGen/templates/ImageWriter.cs
4011           CodeGen/templates/MetadataTableWriter.cs
4012           CodeGen/templates/BaseMetadataVisitor.cs
4013           CodeGen/templates/MetadataRowReader.cs
4014           CodeGen/templates/MetadataRowWriter.cs
4015           CodeGen/cecil.xml
4016           Mono.Cecil.Metadata/MetadataInitializer.cs
4017           Mono.Cecil.Metadata/BaseMetadataVisitor.cs
4018           Mono.Cecil.Metadata/MetadataTableReader.cs
4019           Mono.Cecil.Metadata/MetadataTableWriter.cs
4020           Mono.Cecil.Metadata/MetadataRowReader.cs
4021           Mono.Cecil.Metadata/MetadataRowWriter.cs
4022           Mono.Cecil.Metadata/MetadataWriter.cs
4023           Mono.Cecil.Binary/ImageWriter.cs
4024           Mono.Cecil.Binary/CLIHeader.cs
4025           Mono.Cecil.Binary/ImageInitializer.cs:
4026                 The writing layer almost works.
4028         * Mono.Cecil/AssemblyKind.cs
4029           Mono.Cecil/TargetRuntime.cs
4030           Mono.Cecil.dll.sources:
4031                 Add thoses enumes to control assembly writing.
4032         * Mono.Cecil/AssemblyFactory.cs
4033           Mono.Cecil/IReflectionVisitor.cs
4034           Mono.Cecil/BaseReflectionVisitor.cs
4035           Mono.Cecil/IAssemblyDefinition.cs
4036           Mono.Cecil/IReflectionStructureVisitor.cs
4037           Mono.Cecil/BaseStructureVisitor.cs
4038           CodeGen/templates/ImageWriter.cs
4039           CodeGen/templates/MetadataTableWriter.cs
4040           CodeGen/templates/MetadataRowWriter.cs
4041           CodeGen/templates/LzNamedCollectionImplem.cs
4042           Mono.Cecil.Metadata/MetadataInitializer.cs
4043           Mono.Cecil.Metadata/MetadataTableWriter.cs
4044           Mono.Cecil.Metadata/MetadataRowWriter.cs
4045           Mono.Cecil.Metadata/MetadataWriter.cs
4046           Mono.Cecil.Metadata/MetadataStreamCollection.cs
4047           Mono.Cecil.Implem/AssemblyName.cs
4048           Mono.Cecil.Implem/StructureWriter.cs
4049           Mono.Cecil.Implem/ModuleDefinition.cs
4050           Mono.Cecil.Implem/TypeDefinitionCollection.cs
4051           Mono.Cecil.Implem/ReflectionWriter.cs
4052           Mono.Cecil.Implem/AssemblyDefinition.cs
4053           Mono.Cecil.Binary/ImageWriter.cs
4054           Mono.Cecil.Binary/ImageInitializer.cs
4055           Mono.Cecil.Binary/Imports.cs:
4056                 Things are now plugged. SaveAssembly will now emits
4057                 a binary file. A broken file, but heh, at least it does.
4059 2005-08-07  Jb Evain  <jbevain@gmail.com>
4061         * CodeGen/templates/ImageReader.cs
4062           CodeGen/templates/ImageWriter.cs
4063           CodeGen/templates/IMetadataVisitor.cs
4064           Mono.Cecil.Binary/ImageReader.cs
4065           Mono.Cecil.Binary/ImageWriter.cs
4066           Mono.Cecil.Metadata/IMetadataVisitor.cs
4067           Mono.Cecil.Metadata/BaseMetadataVisitor.cs
4068           Mono.Cecil.Metadata/MetadataReader.cs
4069           Mono.Cecil.Metadata/MetadataWriter.cs
4070           Mono.Cecil.Metadata/MetadataStreamCollection.cs:
4071                 Simplify IMetadataVisitor.
4072                 Work on the writing layer, closer to have something testable
4073                 than ever.
4075         * CodeGen/cecil.xml
4076           CodeGen/templates/ImageWriter.cs
4077           Mono.Cecil.Metadata/MetadataWriter.cs
4078           Mono.Cecil.Binary/PEOptionalHeader.cs
4079           Mono.Cecil.Binary/ImageWriter.cs
4080           Mono.Cecil.Binary/Imports.cs:
4081                 don't stop don't stop come ON!
4083         * CodeGen/templates/ImageWriter.cs
4084           CodeGen/templates/ImageReader.cs
4085           CodeGen/templates/Section.cs
4086           Mono.Cecil.Binary/Image.cs
4087           Mono.Cecil.Binary/ImageReader.cs
4088           Mono.Cecil.Binary/ImageInitializer.cs
4089           Mono.Cecil.Binary/ImageWriter.cs
4090           Mono.Cecil.Binary/Section.cs
4091           Mono.Cecil.Metadata/MetadataReader.cs
4092           Mono.Cecil.Metadata/MetadataWriter.cs
4093           Mono.Cecil.Implem/StructureReader.cs
4094           Mono.Cecil.Implem/StructureWriter.cs
4095           Mono.Cecil.Implem/CodeWriter.cs:
4096                 Some writing layer love.
4098         * CodeGen/templates/ImageWriter.cs
4099           CodeGen/templates/ImageReader.cs
4100           Mono.Cecil.Binary/Imports.cs
4101           Mono.Cecil.Binary/ImageReader.cs
4102           Mono.Cecil.Binary/ImageInitializer.cs
4103           Mono.Cecil.Binary/ImageWriter.cs:
4104                 Read an write correctly the Hint/Name table
4105                 at the end of the .text section.
4107         * CodeGen/templates/ImageWriter.cs
4108           Mono.Cecil.Metadata/MetadataWriter.cs
4109           Mono.Cecil.Binary/ImageWriter.cs
4110           Mono.Cecil.Binary/ImageInitializer.cs:
4111                 More writing layer stuff.
4113 2005-08-06  Jb Evain  <jbevain@gmail.com>
4115         * CodeGen/templates/ImageWriter.cs
4116           CodeGen/templates/MetadataTableWriter.cs
4117           Mono.Cecil.Metadata/MetadataInitializer.cs
4118           Mono.Cecil.Metadata/MetadataTableWriter.cs
4119           Mono.Cecil.Metadata/StringsHeap.cs
4120           Mono.Cecil.Metadata/BlobHeap.cs
4121           Mono.Cecil.Metadata/MetadataWriter.cs
4122           Mono.Cecil.Metadata/UserStringsHeap.cs
4123           Mono.Cecil.Metadata/TableCollection.cs
4124           Mono.Cecil.Metadata/TablesHeap.cs
4125           Mono.Cecil.Metadata/MetadataHeap.cs
4126           Mono.Cecil.Metadata/GuidHeap.cs
4127           Mono.Cecil.Metadata/MetadataStream.cs
4128           Mono.Cecil.Implem/StructureWriter.cs
4129           Mono.Cecil.Implem/ReflectionWriter.cs
4130           Mono.Cecil.Implem/CodeWriter.cs
4131           Mono.Cecil.Binary/ImageWriter.cs
4132           Mono.Cecil.Binary/ImageInitializer.cs:
4133                 Playing lego with bricks from the writing layer.
4135         * Mono.Cecil.dll.sources:
4136                 Updated.
4137         * CodeGen/templates/CLIHeader.cs
4138           CodeGen/templates/PEOptionalHeader.cs
4139                 Blah.
4140         * CodeGen/cecil.xml
4141           Mono.Cecil.Binary/CLIHeader.cs
4142           Mono.Cecil.Binary/PEOptionalHeader.cs:
4143           Mono.Cecil.Binary/PEFileHeader.cs
4144                 On going work on the writing layer
4146         * CodeGen/templates/ImageWriter.cs
4147           CodeGen/templates/ImageReader.cs
4148           Mono.Cecil.Binary/BaseImageVisitor.cs
4149           Mono.Cecil.Binary/ImageReader.cs
4150           Mono.Cecil.Binary/ImageInitializer.cs
4151           Mono.Cecil.Binary/ImageWriter.cs
4152           Mono.Cecil.Metadata/BaseMetadataVisitor.cs
4153           Mono.Cecil.Metadata/MetadataReader.cs
4154           Mono.Cecil.Metadata/MetadataInitializer.cs
4155           Mono.Cecil.Metadata/MetadataWriter.cs
4156           Mono.Cecil.Metadata/MetadataStream.cs
4157           Mono.Cecil.Implem/ReflectionWriter.cs
4158           Mono.Cecil.Implem/CodeWriter.cs:
4159                 Add helpers visitor.
4160                 On going work on the writing layer.
4162         * CodeGen/templates/Utilities.cs
4163           CodeGen/templates/MetadataRowReader.cs
4164           CodeGen/templates/MetadataRowWriter.cs
4165           Mono.Cecil.Metadata/StringsHeap.cs
4166           Mono.Cecil.Metadata/MetadataRowReader.cs
4167           Mono.Cecil.Metadata/MetadataRowWriter.cs
4168           Mono.Cecil.Metadata/MetadataReader.cs
4169           Mono.Cecil.Metadata/Utilities.cs
4170           Mono.Cecil.Metadata/BlobHeap.cs
4171           Mono.Cecil.Metadata/MetadataWriter.cs
4172           Mono.Cecil.Metadata/MetadataHeap.cd
4173           Mono.Cecil.Metadata/GuidHeap.cs:
4174                 On going work on the writing layer.
4176         * CodeGen/templates/MetadataTableWriter.cs
4177           Mono.Cecil.Metadata/MetadataTableWriter.cs
4178           Mono.Cecil.Metadata/MetadataWriter.cs:
4179                 On going work on the writing layer.
4180         * Mono.Cecil.Implem/StructureWriter.cs:
4181                 Correctly override methods
4182         * CodeGen/templates/MetadataRowWriter.cs
4183           Mono.Cecil.Metadata/MetadataRowWriter.cs
4184           Mono.Cecil.Implem/ReflectionWriter.cs:
4185                 Fix build warnings.
4187         * Mono.Cecil/IResource.cs
4188           Mono.Cecil.Implem/AssemblyLinkedResource.cs
4189           Mono.Cecil.Implem/EmbeddedResource.cs
4190           Mono.Cecil.Implem/LinkedResource.cs
4191           Mono.Cecil.Implem/Resource.cs:
4192                 Rename field Attributes to Flags for the sake of consistency.
4193         * Mono.Cecil.Metadata/MetadataWriter.cs
4194           Mono.Cecil.Implem/ReflectionWriter.cs
4195           Mono.Cecil.Implem/StructureWriter.cs:
4196                 On going work on the writing layer.
4197         * Mono.Cecil.Implem/StructureReader.cs:
4198                 Style.
4200         * Mono.Cecil/IAssemblyName.cs
4201           Mono.Cecil.Implem/AssemblyName.cs
4202           Mono.Cecil.Implem/StructureReader.cs:
4203                 Add an AssemblyFlag property to an IAssemblyNameReference,
4204                 implement it, and read it.
4206 2005-08-04  Jb Evain  <jbevain@gmail.com>
4208         * Mono.Cecil.Implem/ReflectionReader.cs:
4209                 set a correct name to nameless parameters
4211         * Mono.Cecil.Signatures/SignatureReader.cs:
4212                 don't crash on null custom attributes
4214 2005-08-03  Jb Evain  <jbevain@gmail.com>
4216         * CodeGen/templates/OpCodes.cs
4217           Mono.Cecil.Cil/OpCodes.cs
4218           Mono.Cecil.Cil/OpCode.cs:
4219                 Revert modifications to reduce code. OpCodes::.ctors were
4220                 not called.
4222         * Mono.Cecil.Implem/ReflectionReader.cs:
4223                 Make sure parameters are read even if there is no
4224                 corresponding Param row. Thanks Cesar for the hint.
4226         * Mono.Cecil.Metadata/MetadataWriter.cs
4227           Mono.Cecil.Metadata/UserStringsHeap.cs
4228           Mono.Cecil.Metadata/GuidHeap.cs
4229           Mono.Cecil.Implem/CodeReader.cs:
4230                 On going work on the writing layer
4232         * CodeGen/cecil-gen.rb
4233           CodeGen/cecil-gen-sources.rb
4234                 make executable
4235         * *.*: set svn:eol-style to native
4237         * Mono.Cecil/BaseStructureVisitor.cs
4238           Mono.Cecil/BaseReflectionVisitor.cs
4239           Mono.Cecil.Implem/BaseReflectionReader.cs:
4240                 Add empty visitors for the sake of simplicity
4241         * Mono.Cecil.Implem/StructureReader.cs
4242           Mono.Cecil.Implem/ReflectionReader.cs:
4243                 Inherit new visitors
4245 2005-08-03  Jb Evain  <jbevain@gmail.com>
4247         * Mono.Cecil.Implem/ReflectionReader.cs
4248           Mono.Cecil.Implem/AggressiveReflectionReader.cs
4249           Mono.Cecil.Implem/LazyReflectionReader.cs
4250           Mono.Cecil.Implem/CodeReader.cs:
4251                 Modify and add helpers to avoid lots of casts.
4252                 Correct a bug in custom attributes attribution.
4254 2005-08-02  Jb Evain  <jbevain@gmail.com>
4256         * Mono.Cecil.Signatures/TypeSpec.cs:
4257                 Don't restrain the SigType
4258         * Mono.Cecil.Implem/AggressiveReflectionReader.cs:
4259                 Set PInvokeInfos on the correct method
4261 2005-07-30  Jb Evain  <jbevain@gmail.com>
4263         * CodeGen/cecil-gen.rb
4264           CodeGen/cecil-gen-sources.rb:
4265                 make them executable
4266         * CodeGen/cecil-gen-types: style
4267         * CodeGen/templates/ImageWriter.cs
4268           Mono.Cecil.Binary/ImageWriter.cs:
4269                 Prelimimary work on assembly writing
4271 2005-07-29  Jb Evain  <jbevain@gmail.com>
4273         * CodeGen/cecil-gen-types.rb
4274           CodeGen/templates/MetadataTableWriter.cs
4275           CodeGen/templates/MetadataRowWriter.cs
4276           Mono.Cecil/AssemblyFactory.cs
4277           Mono.Cecil.Metadata/MetadataTableWriter.cs
4278           Mono.Cecil.Metadata/MetadataRowWriter.cs
4279           Mono.Cecil.Implem/StructureWriter.cs
4280           Mono.Cecil.Implem/ReflectionWriter.cs:
4281                 Preliminary work on assembly writing
4283 2005-07-28  Jb Evain  <jbevain@gmail.com>
4285         * Mono.Cecil/AssemblyFactory.cs
4286           Mono.Cecil.Implem/StructureWriter.cs
4287                 Preliminary work on assembly writing
4289         * Mono.Cecil/IMetadataTokenProvider.cs
4290           Mono.Cecil/IMember.cs
4291           Mono.Cecil/IParameter.cs:
4292                 Add a MetadataToken property on searchable items
4293         * Mono.Cecil.Metadata/MetadataToken.cs:
4294                 Add a factory method to create token from row number
4295         * Mono.Cecil.Implem/TypeReference.cs
4296           Mono.Cecil.Implem/MemberReference.cs
4297           Mono.Cecil.Implem/ParameterDefinition.cs:
4298                 Implement the token property
4299         * Mono.Cecil.Implem/ReflectionReader.cs
4300           Mono.Cecil.Implem/AggressiveReflectionReader.cs
4301           Mono.Cecil.Implem/LazyReflectionReader.cs:
4302                 Set the token property on reading
4303         * Mono.Cecil/IModuleDefinition.cs
4304           Mono.Cecil.Implem/ModuleDefinition.cs
4305           Mono.Cecil.Implem/ReflectionReader.cs:
4306                 Add methods to lookup items from their tokens
4308 2005-07-27  Jb Evain  <jbevain@gmail.com>
4310         * CodeGen/templates/OpCodes.cs
4311           Mono.Cecil.Cil/OpCodes.cs
4312           Mono.Cecil.Cil/OpCode.cs:
4313                 Changes to reduce the size of the cache ctor
4315 2005-07-22  Raja R Harinath  <rharinath@novell.com>
4317         * Makefile (MCS): Allow compiler to be overriden.
4319 2005-07-21  Todd Berman  <tberman@off.net>
4321         * configure: Add a small stub configure (stolen from mcs) to set the
4322         prefix.
4323         * mono-cecil.pc.in: Add a mono-cecil.pc.in to allow for installation
4324         according to the new "Libraries with Unstable API" Wiki documentation.
4325         * Makefile: Add an install an a mono-cecil.pc target to allow for
4326         installation and creation of the pc file.
4328 2005-07-14  Jb Evain  <jbevain@gmail.com>
4330         * CodeGen/templates/ImageReader.cs
4331           Mono.Cecil.Binary/IBinaryVisitor.cs
4332           Mono.Cecil.Binary/Image.cs
4333           Mono.Cecil.Binary/ImageInitializer.cs
4334           Mono.Cecil.Binary/Imports.cs
4335           Mono.Cecil.Binary/ImageReader.cs:
4336                 Read Imports Tables
4338 2005-07-14  Jb Evain  <jbevain@gmail.com>
4340         * CodeGen/cecil-gen.rb:
4341                 make codegen works on ruby 1.8.2
4342         * CodeGen/templates/*.cs
4343           Mono.Cecil.Metadata/*.cs:
4344                 style
4346 2005-07-13  Jb Evain  <jbevain@gmail.com>
4348         * Mono.Cecil.Implem/VariableDefinition.cs:
4349                 set the index field
4351 2005-07-13  Jb Evain  <jbevain@gmail.com>
4353         * Mono.Cecil.dll.sources: regenerated
4354         * Mono.Cecil.Signatures/SignatureReader.cs:
4355                 Fix compilation warnings
4356         * Mono.Cecil/IArrayType.cs
4357           Mono.Cecil.Implem/ArrayType.cs:
4358                 Add Rank helper property
4359         * Mono.Cecil/ITypeDefinition.cs
4360           Mono.Cecil.Implem/TypeDefinition.cs:
4361                 Add Constructors helper property
4363 2005-07-11  Jb Evain  <jbevain@gmail.com>
4365         * Mono.Cecil/IMethod.cs
4366           Mono.Cecil.Implem/Instruction.cs
4367           Mono.Cecil.Implem/ExceptionHandler.cs
4368           Mono.Cecil.Implem/MethodDefinition.cs
4369           Mono.Cecil.Implem/Label.cs
4370           Mono.Cecil.Implem/CodeReader.cs
4371           Mono.Cecil.Implem/MethodBody.cs
4372           Mono.Cecil.Implem/CilEmitter.cs
4373           Mono.Cecil.Cil/ILabel.cs
4374           Mono.Cecil.Cil/IInstruction.cs
4375           Mono.Cecil.Cil/IExceptionHandler.cs
4376           Mono.Cecil.Cil/IMethodBody.cs
4377           Mono.Cecil.Cil/ICilEmitter.cs:
4378                 Preliminary changes on the instruction model before
4379                 changing of latptop
4381 2005-07-08  Jb Evain  <jbevain@gmail.com>
4383    * Every generated files: use \n instead of \r\n
4385 2005-07-07  Jb Evain  <jbevain@gmail.com>
4387         * *.*: use Mono coding conventions
4388         * Mono.Xml/*.*: update Mono.Xml from corlib
4389         * Mono.Cecil.Metadata/CultureUtils.cs:
4390                 Ensure that Cecil works under Mono
4392 2005-07-02  Jb Evain  <jbevain@gmail.com>
4394         * Mono.Cecil/IMethod.cs
4395           Mono.Cecil/IProperty.cs
4396           Mono.Cecil/IEvent.cs
4397           Mono.Cecil/IField.cs
4398           Mono.Cecil/ITypeDefinition.cs
4399           Mono.Cecil.Implem/MethodDefinition.cs
4400           Mono.Cecil.Implem/PropertyDefinition.cs
4401           Mono.Cecil.Implem/EventDefinition.cs
4402           Mono.Cecil.Implem/FieldDefinition.cs
4403           Mono.Cecil.Implem/TypeDefinition.cs:
4404                 Add some funky sugar attributes,
4405                 more to come
4407 2005-07-01  Jb Evain  <jbevain@gmail.com>
4409         * CodeGen/cecil-gen.rb,
4410           CodeGen/templates/MetadataTableWriter.cs,
4411           CodeGen/templates/MetadataRowWriter.cs,
4412           Mono.Cecil.Metadata/MetadataTableWriter.cs,
4413           Mono.Cecil.Metadata/MetadataRowWriter.cs,
4414           Mono.Cecil.Metadata/MetadataWriter.cs:
4415                 Add metadata writing visitors
4416         * Mono.Cecil.Metadata/CultureUtils.cs:
4417                 Be sure to use every possible culture infos.
4418         * Mono.Cecil.Cil/IVariable.cs,
4419           Mono.Cecil.Implem/VariableDefinition.cs,
4420           Mono.Cecil.Implem/CodeReader.cs,
4421           Mono.Cecil.Implem/CilEmitter.cs:
4422                 Add an index property to local variables
4423         * Mono.Cecil.Metadata/MetadataReader.cs,
4424           Mono.Cecil.Metadata/MetadataRowReader.cs,
4425           CodeGen/templates/MetadataRowReader.cs,
4426           Mono.Cecil.Metadata/TablesHeap.cs:
4427                 Handles null heaps
4428         * Mono.Cecil.Implem/StructureWriter.cs,
4429           Mono.Cecil.Implem/ReflectionController.cs,
4430           Mono.Cecil.Implem/ReflectionWriter.cs:
4431                 Assemble writing classes
4433 2005-06-28  Jb Evain  <jbevain@gmail.com>
4435         * Mono.Cecil.Implem/ReflectionReader.cs: style
4436         * Mono.Cecil.Implem/LazyReflectionReader.cs:
4437                 read the last property as well.
4439 2005-06-21  Jb Evain  <jbevain@gmail.com>
4441         * Mono.Cecil.Implem/ReflectionReader.cs: Correct a bug that prevents
4442                 assemblies to be readed if they have an entrypoint. Suggestion by
4443                 Mario Sopena
4444         * Mono.Cecil.Implem/CodeReader.cs: Use sbyte not to lose negatives
4445                 offsets. Suggestion by Vladislav Spivak
4446         * CodeGen/cecil.xml,
4447           Mono.Cecil.Cil/OpCodes.cs,
4448           Mono.Cecil.Cil/StackBehaviour.cs: Add an PopAll enumeration value
4449                 for StackBehaviour, and set the StackBehaviourPop property for
4450                 leave and leave.s opcodes to it. Suggested by Vladislav Spivak
4452 2005-06-12  Jb Evain  <jbevain@gmail.com>
4454         * Mono.Cecil.Implem/TypeDefinition.cs: Set the declaring type
4455                 to this when defining a nested type.
4457 2005-06-07  Jb Evain  <jbevain@gmail.com>
4459         * Mono.Cecil.dll.sources,
4460         * CodeGen/cecil.xml,
4461         * Mono.Cecil/IReflectionVisitor.cs,
4462         * Mono.Cecil/INestedTypeCollection.cs,
4463         * Mono.Cecil/ITypeDefinition,
4464         * Mono.Cecil.Implem/ReflectionReader.cs,
4465         * Mono.Cecil.Implem/ReflectionWriter.cs,
4466         * Mono.Cecil.Implem/TypeDefinition.cs,
4467         * Mono.Cecil.Implem/NestedTypeCollection:
4468                 Add a collection of nested types for type definition
4470         * Mono.Cecil.Implem/ModuleDefinition.cs: simplify type creation
4472 2005-06-07  Jb Evain  <jbevain@gmail.com>
4474         * ChangeLog: Cecil has now ChangeLogs. Let use them.