2007-10-06 Jb Evain <jbevain@novell.com>
[mono.git] / mcs / class / Mono.Cecil / ChangeLog
1 2007-10-06  Jb Evain  <jbevain@novell.com>
2
3         * Mono.Cecil/MethodCallingConvention.cs: Not a [Flag]
4
5 2007-10-05  Jb Evain  <jbevain@novell.com>
6
7         * Mono.Cecil.Cil/OpCode.cs: Change OpCode from struct to class
8         to avoid copying everything everytime.
9
10 2007-09-28  Jb Evain  <jbevain@novell.com>
11
12         * Mono.Cecil/SecurityDeclarationReader.cs:
13                 Adapt patch from Carlo Kok  <ck@remobjects.com>.
14                 Properly read unicode string constants.
15
16         * Mono.Cecil/SecurityDeclarationReader.cs:
17                 Adapt patch from Carlo Kok  <ck@remobjects.com>.
18                 For some MS assemblies, the security declaration contains
19                 one zero byte.
20
21 2007-09-24  Jb Evain  <jbevain@novell.com>
22
23         * Mono.Cecil/ModuleDefinition.cs: after a FullLoad, the symbol
24         reader is not needed anymore.
25
26 2007-09-18  Jb Evain  <jbevain@novell.com>
27
28         * Mono.Cecil.Cil/MethodBody.cs:
29                 Adapt a patch from Ivan <ivanjh@gmail.com>.
30                 Fix cloning of the This parameter.
31
32 2007-09-12  Jb Evain  <jbevain@novell.com>
33
34         * Mono.Cecil/ReflectionReader.cs
35           Mono.Cecil.Signatures/SignatureReader.cs
36           Mono.Cecil.Signatures/TypeSpec.cs
37           Mono.Cecil.Signatures/SignatureWriter.cs:
38                 Deal with custom mods on typespecs.
39
40 2007-09-12  Jb Evain  <jbevain@novell.com>
41
42         * Mono.Cecil.Binary/ImageReader.cs: some 64bits assemblies
43         have a strange header without import tables.
44
45 2007-09-09  Jb Evain  <jbevain@novell.com>
46
47         * Mono.Cecil/GenericContext.cs
48           Mono.Cecil/ReflectionReader.cs
49           Mono.Cecil/DefaultImporter.cs:
50                 Better handling of generic instances of references, where
51                 the number of generic parameters is not known.
52
53 2007-09-06  Jb Evain  <jbevain@novell.com>
54
55         * Mono.Cecil/MethodDefinition: add Is** methods for MethodImplAttributes.
56
57 2007-09-04  Jb Evain  <jbevain@novell.com>
58
59         * Mono.Cecil/ReflectionWriter.cs:
60                 Adapt a patch by Ewout Prangsma <ewout@tallapplications.com>.
61                 Cache the typespec tokens instead of the typespec themselves
62                 because GenericParameters are somethimes considered as typespecs.
63
64 2007-08-28  Jb Evain  <jbevain@novell.com>
65
66         * Mono.Cecil.Cil/CodeWriter.cs
67           Mono.Cecil/ReflectionWriter.cs
68           Mono.Cecil.Cil/SymbolStoreHelper.cs
69           Mono.Cecil.Signatures/SignatureWriter.cs:
70                 Generate proper variables signatures for symbols
71                 stores.
72
73 2007-08-19  Jb Evain  <jbevain@novell.com>
74
75         * Mono.Cecil.Cil/CodeReader.cs:
76                 Deal with generic exceptions.
77
78 2007-08-15  Jb Evain  <jbevain@novell.com>
79
80         * CodeGen/cecil.xml,
81           Mono.Cecil.Cil/OpCodes.cs:
82                 Fix bug spotted by Jesse Jones, ldelem.any has a
83                 stack behavior pop of popref, popi.
84
85 2007-08-15  Jb Evain  <jbevain@novell.com>
86
87         * Mono.Cecil/TypeReference.cs
88           Mono.Cecil/TypeSpecification.cs:
89                 TypeSpecification.Module return the module of the elemen
90                 type now.
91
92 2007-08-13  Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
93
94         * default.build
95           Mono.Cecil/AssemblyInfo.cs:
96                 Ability to pass custom defines to the c# compiler through
97                 the csc.defines property. KEYFILE can be used to force
98                 an AssemblyKeyFile attribute on AssemblyInfo.cs so strongly
99                 signed versions of Mono.Cecil can be produced on .net 1.1,
100                 cf 1.0 and cf 2.0.
101
102 2007-08-13  Jb Evain  <jbevain@novell.com>
103
104         * Mono.Cecil.Cil/CilWorker.cs:
105                 Fix InsertBefore.
106
107 2007-08-06  Jb Evain  <jbevain@novell.com>
108
109         * Mono.Cecil.Cil/CilWorker.cs:
110                 Fix the linked list after an InsertBefore, InsertAfter.
111
112 2007-08-02  Jb Evain  <jbevain@novell.com>
113
114         * Mono.Cecil/GenericParameter.cs
115           Mono.Cecil/FieldDefinition.cs
116           Mono.Cecil/TypeDefinition.cs
117           Mono.Cecil/MethodDefinition.cs
118           Mono.Cecil/EventDefinition.cs
119           Mono.Cecil/PInvokeInfo.cs
120           Mono.Cecil/Resource.cs
121           Mono.Cecil/ParameterDefinition.cs
122           Mono.Cecil/PropertyDefinition.cs:
123
124                 Add Isxxx properties based on the xxxAttributes enums.
125
126 2007-07-23  Raja R Harinath  <rharinath@novell.com>
127
128         Fix 'make warnings'.
129         * Makefile (LIBRARY_PACKAGE): Set to none.
130         (install-local): Remove.
131
132 2007-07-21  Jb Evain  <jbevain@novell.com>
133
134         * Mono.Cecil/TypeReference.cs
135           Mono.Cecil/TypeSpecification.cs:
136                 Add a new GetOriginalType () method.
137
138         * Mono.Cecil/MethodReference.cs
139           Mono.Cecil/MethodSpecification.cs:
140                 Add a new GetOriginalMethod () method.
141
142 2007-07-19  Jb Evain  <jbevain@novell.com>
143
144         * Mono.Cecil/AssemblyFactory.cs
145           Mono.Cecil.Binary/Image.cs:
146                 Update the fileinfo after writing an assembly
147                 to a file.
148
149 2007-07-19  Jb Evain  <jbevain@novell.com>
150
151         * Mono.Cecil/ReflectionReader.cs
152           Mono.Cecil.Cil/CodeReader.cs
153           Mono.Cecil.Signature/SignatureReader.cs:
154                 Better handling of the sentil in the varargs methods.
155
156         * Mono.Cecil/ReflectionReader.cs
157           Mono.Cecil/SentinelType.cs
158           Mono.Cecil.Cil/CodeWriter.cs:
159           Mono.Cecil.Signatures/SignatureReader.cs:
160                 Fix handling of varargs methods.
161
162 2007-07-18  Jb Evain  <jbevain@novell.com>
163
164         * Mono.Cecil.Cil/CodeReader.cs
165           Mono.Cecil.Cil/CodeWriter.cs:
166                 Deal with non-sense instructions that some
167                 obfuscators emit.
168
169         * Mono.Cecil/AggressiveReflectionReader.cs:
170                 Deal with out of range properties.
171         * Mono.Cecil.Metadata/StringsHeap.cs:
172                 Deal with out of range string indexes.
173
174 2007-07-17  Jb Evain  <jbevain@novell.com>
175
176         * Mono.Cecil/AggressiveReflectionReader.cs:
177                 Add some gards against zeroed tokens.
178
179         * Mono.Cecil.Metadata/Utilities.cs:
180                 Return zero instead of throwing on invalid tags.
181                 Allow Cecil to read assemblies partially broken
182                 by some obfuscators.
183
184 2007-07-14  Gert Driesen  <drieseng@users.sourceforge.net>
185
186         * default.build: Fix relative path to key. Avoid use of ugly foreach
187         contruct. Spaces to tabs.
188         * Mono.Cecil.csproj: Fix relative path to key.
189         * standalone.make: Fix relative path to key and config.make.
190
191 2007-07-03  Jb Evain  <jbevain@novell.com>
192
193         * Mono.Cecil/BaseAssemblyResolver.cs:
194                 Expose a way to add default directories
195                 where the assemblies are first looked for.
196
197 2007-06-20  Jb Evain  <jbevain@novell.com>
198
199         * Mono.Cecil/IReferenceImporter.cs => IImporter.cs
200           Mono.Cecil/DefaultReferenceImporter.cs => DefaultImporter.cs
201
202         * Mono.Cecil/ReflectionHelper.cs
203           Mono.Cecil/DefaultReferenceImporter.cs
204           Mono.Cecil/ModuleDefinition.cs:
205                 Move Cecil types import logic into
206                 the DefaultReferenceImporter.
207
208                 Needed by the merger and the extractor.
209
210 2007-06-19  Jb Evain  <jbevain@novell.com>
211
212         * Mono.Cecil.Cil/MethodBody.cs:
213                 Avoid invalid cast by properly simplifying
214                 instructions.
215
216         * Mono.Cecil.Cil/OpCodes.cs:
217           CodeGen/cecil.xml:
218                 leave.s is a macro instruction.
219
220         * Mono.Cecil/TypeDefinition.cs
221           Mono.Cecil/ParameterDefinition.cs:
222                 Fix cloning.
223
224 2007-06-18  Jb Evain  <jbevain@novell.com>
225
226         * Mono.Cecil/ReflectionReader.cs:
227                 Fix custom mods for fields ref.
228
229 2007-06-13  Jb Evain  <jbevain@novell.com>
230
231         Integrated patches by:
232         Paul Apostolescu <papostolescu@fortifysoftware.com>
233
234         * patch3:
235           Mono.Cecil/ReflectionReader.cs
236           Mono.Cecil.Signatures/SignatureWriter.cs:
237                 In named args, objects are encoded as boxed.
238
239         * patch1:
240           Mono.Cecil/IMemberDefinition.cs
241           Mono.Cecil/Constants.cs
242           Mono.Cecil/ReflectionReader.cs
243           Mono.Cecil/AggressiveReflectionReader.cs:
244                 Do not take into account special _Deleted
245                 members.
246
247         * patch6:
248           Mono.Cecil/StructureReader.cs:
249                 Read the flags of the references as well.
250
251         * patch5:
252           Mono.Cecil.Metadata/UserStringsHeap.cs:
253                 Don't bother getting a string from the bytes
254                 if the length is < 2 (0, or 0 + an encoding flag)
255
256         * patch4:
257           Mono.Cecil/ReflectionHelper.cs:
258                 Update the value type flags of types
259                 when they are imported if the type
260                 reference was first seen as a type reference.
261
262         * patch2:
263           Mono.Cecil.Signature/SignatureWriter.cs:
264                 Patch to handle nullref values for types in
265                 custom attributes arguments.
266
267 2007-06-13  Jb Evain  <jbevain@novell.com>
268
269         * Mono.Cecil/StructureWriter.cs,
270           Mono.Cecil/ReflectionWriter.cs:
271                 Revert the on demand creation of memberref.
272
273 2007-06-12  Jb Evain  <jbevain@novell.com>
274
275         * Mono.Cecil/CallSite.cs
276           Mono.Cecil/ModuleReference.cs
277           Mono.Cecil/CustomAttribute.cs
278           Mono.Cecil/AssemblyDefinition.cs
279           Mono.Cecil/SecurityDeclaration.cs
280           Mono.Cecil/AssemblyNameReference.cs
281           Mono.Cecil/MemberReference.cs
282           Mono.Cecil/Resource.cs
283           Mono.Cecil/ParameterReference.cs:
284                 Implement explicitely IAnnotationProvider.
285
286 2007-06-05  Jb Evain  <jbevain@novell.com>
287
288         * Mono.Cecil/AssemblyNameReference.cs:
289                 Cache the fullname when possible.
290
291 2007-05-31  Jb Evain  <jbevain@novell.com>
292
293         * Mono.Cecil/ModuleDefinition.cs:
294                 Add types to the module and members to the context
295                 on inject.
296
297         * Mono.Cecil/BaseAssemblyResolver.cs:
298                 Improve resolve, works for people requiring
299                 .net 1.0 assemblies when they only have 1.1.
300
301 2007-05-30  Jb Evain  <jbevain@novell.com>
302
303         * Mono.Cecil/DefaultAssemblyResolver.cs:
304                 Add a RegisterAssembly method to register an
305                 assembly to the cache without having to resolve it.
306
307         * Mono.Cecil/DefaultReferenceImporter.cs:
308                 Make methods virtual.
309
310         * Mono.Cecil.dll.sources
311           Mono.Cecil.csproj
312           Mono.Cecil/ReflectionHelper.cs
313           Mono.Cecil/IReferenceImporter.cs
314           Mono.Cecil/FieldDefinition.cs
315           Mono.Cecil/CustomAttribute.cs
316           Mono.Cecil/ImportContext.cs
317           Mono.Cecil/NullReferenceImporter.cs
318           Mono.Cecil/MethodDefinition.cs
319           Mono.Cecil/EventDefinition.cs
320           Mono.Cecil/ReflectionController.cs
321           Mono.Cecil/ModuleDefinition.cs
322           Mono.Cecil/GenericContext.cs
323           Mono.Cecil/DefaultReferenceImporter.cs
324           Mono.Cecil/PropertyDefinition.cs:
325                 Provide a IReferenceImporter to customize how
326                 types are injected from an assembly to another.
327
328 2007-05-28  Jb Evain  <jbevain@novell.com>
329
330         * Borrow annotations concept from boo ast node.
331           Should be useful for the linker.
332
333 2007-05-23  Jb Evain  <jbevain@novell.com>
334
335         * Mono.Cecil/StructureWriter.cs
336           Mono.Cecil/ReflectionWriter.cs
337           Mono.Cecil.Cil/CodeWriter.cs:
338                 Emit MemberReferences rows on demand.
339
340 2007-05-16  Jb Evain  <jb@nurv.fr>
341
342         * Mono.Cecil.Binary/ImageReader.cs:
343                 Fix reading of the debug header for
344                 headers half way emitted by .net SRE.
345
346         * Mono.Cecil/BaseAssemblyResolver:
347                 try to resolve unversionned assemblies.
348
349 2007-05-09  Jb Evain  <jb@nurv.fr>
350
351         * Mono.Cecil.Binary/Image.cs:
352                 Throw when rva cannot be resolved.
353
354         * Mono.Cecil.csproj
355           Mono.Cecil.Binary/ExportTable.cs
356           Mono.Cecil.Binary/BaseImageVisitor.cs
357           Mono.Cecil.Binary/ImageReader.cs
358           Mono.Cecil.Binary/IBinaryVisitor.cs
359           Mono.Cecil.Binary/Image.cs
360           Mono.Cecil.Binary/ImageInitializer.cs
361           Mono.Cecil/StructureReader.cs
362           Mono.Cecil/ReflectionWriter.cs:
363                 When present, read the export table, so that people
364                 reading non managed assemblies can use the Mono.Cecil.Binary
365                 stuff.
366
367                 Fix the bug when section name is 8 char long.
368
369                 Based on a patch by Pavel Savara <pavel.savara@gmail.com>.
370
371 2007-04-27  Jb Evain  <jb@nurv.fr>
372
373         * Mono.Cecil/AssemblyNameReference.cs:
374                 Allow the computation of pktoken on CF_2_0.
375
376 2007-04-25  Jb Evain  <jb@nurv.fr>
377
378         * Mono.Cecil/ModuleDefinition.cs
379           Mono.Cecil/ReflectionWriter.cs
380           Mono.Cecil.Cil/ISymbolWriter.cs
381           Mono.Cecil.Signatures/SignatureWriter.cs
382                 Start working on local var debug infos emitting.
383
384 2007-04-08  Jb Evain  <jb@nurv.fr>
385
386         * Mono.Cecil/ParameterAttributes.cs:
387                 ParameterAttributes.None
388
389 2007-03-30  Jb Evain  <jb@nurv.fr>
390
391         * Collections:
392                 Remove uneeded tests as an optimizations.
393                 Based on a suggestion by Carlo Kok <ck@remobjects.com>.
394
395         * Mono.Cecil.Metadata/StringsHeap.cs:
396                 Optimize GetStringAt, patch by:
397                 Carlo Kok <ck@remobjects.com>
398
399 2007-03-22  Jb Evain  <jbevain@gmail.com>
400
401         * Mono.Cecil/AssemblyInfo.cs:
402                 Bump to 0.5.0.0 for the sake of our packagers friends.
403                 Re-Bump to 0.5.0.1.
404
405         * Mono.Cecil/StructureWriter.cs:
406                 Throw a NotSupportedException instead of a NIE
407                 for mixed mode assemblies.
408
409 2007-03-20  Jb Evain  <jbevain@gmail.com>
410
411         * Mono.Cecil.Metadata/MetadataWriter.cs:
412                 Correct epilog for unicode user strings heap.
413
414 2007-03-16  Jb Evain  <jbevain@gmail.com>
415
416         * Mono.Cecil.Cil/CodeReader.cs
417           Mono.Cecil.Cil/MethodBody.cs:
418                 Add a MethodBody.Simplify method to expand
419                 macros.
420
421         * Mono.Cecil.dll.sources
422           Mono.Cecil.csproj
423           Mono.Cecil.Cil/OpCode.cs
424           Mono.Cecil.Cil/OpCodes.cs
425           Mono.Cecil.Cil/Code.cs
426           CodeGen/cecil-gen.rb
427           CodeGen/templates/OpCodes.cs
428           CodeGen/templates/Code.cs:
429                 Add a Code enumeration to simplify working with
430                 OpCodes.
431
432 2007-03-12  Jb Evain  <jbevain@gmail.com>
433
434         * Mono.Cecil.Metadata/UserStringsHeap.cs:
435                 Avoid trailing blank on some systems.
436
437 2007-02-22  Jb Evain  <jbevain@gmail.com>
438
439         * Mono.Cecil/ReflectionWriter.cs:
440                 Deal with sentinels on simple methodrefs.
441
442 2007-02-22  Jb Evain  <jbevain@gmail.com>
443
444         * Mono.Cecil.dll.sources
445           Mono.Cecil.csproj
446           CodeGen/cecil.xml
447           Mono.Cecil.Metadata/ParamPtr.cs
448           Mono.Cecil.Metadata/MethodSpec.cs
449           Mono.Cecil.Metadata/BaseMetadataVisitor.cs
450           Mono.Cecil.Metadata/EventPtr.cs
451           Mono.Cecil.Metadata/MetadataTableReader.cs
452           Mono.Cecil.Metadata/MetadataTableWriter.cs
453           Mono.Cecil.Metadata/MetadataRowReader.cs
454           Mono.Cecil.Metadata/MetadataRowWriter.cs
455           Mono.Cecil.Metadata/PropertyPtr.cs
456           Mono.Cecil.Metadata/FieldPtr.cs
457           Mono.Cecil.Metadata/MethodPtr.cs
458           Mono.Cecil.Metadata/IMetadataVisitor.cs:
459                 Add *Ptr table definitions.
460
461         * Mono.Cecil.dll.sources
462           Mono.Cecil.csproj
463           Mono.Cecil/CallSite.cs
464           Mono.Cecil/IMethodSignature.cs
465           Mono.Cecil/SentinelType.cs
466           Mono.Cecil/FunctionPointerType.cs
467           Mono.Cecil/MethodReference.cs
468           Mono.Cecil/ReflectionReader.cs
469           Mono.Cecil/ReflectionWriter.cs
470           Mono.Cecil.Cil/CodeReader.cs
471           Mono.Cecil.Cil/CodeWriter.cs:
472                 Implement support for writing function pointers.
473                 Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>
474
475         * Mono.Cecil/Constants.cs:
476                 Make it public due to some demands.
477
478 2007-02-21  Jb Evain  <jbevain@gmail.com>
479
480         * Mono.Cecil.Signatures/SignatureReader.cs:
481                 do not read enums if the resolution is not forced until
482                 cecil knows how to write them.
483
484         * Mono.Cecil/ReflectionWriter.cs
485           Mono.Cecil.Signatures/SzArray.cs
486           Mono.Cecil.Signatures/Array.cs
487           Mono.Cecil.Signatures/SignatureReader.cs
488           Mono.Cecil.Signatures/TypeSpec.cs
489           Mono.Cecil.Signatures/SignatureWriter.cs:
490                 handle custom mods on arrays signatures.
491
492         * Mono.Cecil/ReflectionReader.cs:
493                 Handle fields TypeSpecs that have an initial value.
494                 Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>
495
496 2007-01-29  Jb Evain  <jbevain@gmail.com>
497
498         * Mono.Cecil.Metadata/MetadataWriter.cs:
499                 Save a byte ! Yeah !
500
501 2006-12-18  Jb Evain  <jbevain@gmail.com>
502
503         * Mono.Cecil/ReflectionReader.cs:
504                 Fix a bug in reading MemberRef pointing to MethodDef.
505
506 2006-12-16  Jb Evain  <jbevain@gmail.com>
507
508         * Mono.Cecil/StructureReader.cs:
509                 Prevent a NRE if we're reading a multi module
510                 assembly through a stream if a module is not find.
511                 Fix #80273.
512
513 2006-12-07  Jb Evain  <jbevain@gmail.com>
514
515         * Mono.Cecil/ReflectionWriter.cs:
516                 Allow an AssemblyDefinition to be written
517                 more than once.
518
519 2006-12-05  Jb Evain  <jbevain@gmail.com>
520
521         * Mono.Cecil/ReflectionWriter.cs:
522                 Deal with nullref default parameters.
523
524 2006-12-03  Jb Evain  <jbevain@gmail.com>
525
526         * Mono.Cecil/ReflectionWriter.cs:
527                 Handle constant where the parameter is object
528                 and the signature is something else.
529
530 2006-11-27  Jb Evain  <jbevain@gmail.com>
531
532         * Mono.Cecil/TypeDefinitionCollection.cs
533           CodeGen/templates/NamedCollection.cs:
534                 Allow multiple typedefs with the same namespace+name
535                 to be able to read unvalid assemblies.
536
537         * Mono.Cecil/ReflectionReader.cs
538           Mono.Cecil/ReflectionWriter.cs
539           Mono.Cecil.Signatures/PropertySig.cs
540           Mono.Cecil.Signatures/SignatureReader.cs
541           Mono.Cecil.Signatures/SignatureWriter.cs:
542                 - Deal with modifiers on properties.
543                 - Deal with non standard signatures when the byref
544                 flag is placed after the custom modifiers.
545           Mono.Cecil/StructureReader.cs:
546                 - Properly detect wether an assembli is a dll or not.
547
548                 Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>.
549
550 2006-11-25  Jb Evain  <jbevain@gmail.com>
551
552         * Mono.Cecil/ReflectionReader.cs
553           Mono.Cecil/ReflectionWriter.cs
554           Mono.Cecil.Signatures/GenericArg.cs
555           Mono.Cecil.Signatures/GenericInstSignature.cs
556           Mono.Cecil.Signatures/SignatureReader.cs
557           Mono.Cecil.Signatures/SignatureWriter.cs:
558                 Deal with modifiers for generic arguments.
559                 Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>.
560
561         * Mono.Cecil.Binary/ImageWriter.cs:
562                 Fix a bug in writing rsrc sections.
563
564         * Mono.Cecil.Cil/CodeReader.cs:
565                 Do some refactoring.
566
567         * Mono.Cecil.Metadata/MetadataToken.cs:
568                 Add a ctor to get a MetadataToken
569                 from an integer token.
570
571 2006-11-22  Jb Evain  <jbevain@gmail.com>
572
573         * Mono.Cecil.Cil/GuidAttribute.cs:
574                 Fix for CF compilation.
575
576 2006-11-16  Jb Evain  <jbevain@gmail.com>
577
578         * Mono.Cecil/StructureReader.cs:
579                 If an assembly has no managed assembly defined,
580                 consider it as a dll.
581
582 2006-11-08  Jb Evain  <jbevain@gmail.com>
583
584         * Mono.Cecil/BaseAssemblyResolver.cs:
585                 Handles different kind of GAC on Windows.
586
587 2006-11-07  Jb Evain  <jbevain@gmail.com>
588
589         * Mono.Cecil/ReflectionHelper.cs:
590                 Don't import the flags of an assembly name reference.
591
592 2006-11-03  Jb Evain  <jbevain@gmail.com>
593
594         * Mono.Cecil/PropertyDefinition.cs:
595                 Fix property cloning.
596                 Patch by Alex Prudkiy <prudkiy@mail.ru>
597
598 2006-10-26  Jb Evain  <jbevain@gmail.com>
599
600         * Mono.Cecil/ReflectionReader.cs:
601                 Use the proper generic context when reading memberrefs.
602
603 2006-10-11  Jb Evain  <jbevain@gmail.com>
604
605         * Mono.Cecil.Cil/Document.cs:
606                 Complete a little bit.
607
608         * Mono.Cecil/SecurityDeclarationReader.cs:
609                 Get rid of a lot of exceptions when creating the security
610                 attribute.
611
612 2006-10-10  Jb Evain  <jbevain@gmail.com>
613
614         * Mono.Cecil/ReflectionReader.cs:
615           Mono.Cecil/CustomAttribute.cs:
616           Mono.Cecil.Signatures/SignatureReader.cs:
617           Mono.Cecil/SecurityDeclarationReader.cs:
618                 Patch from: Eyal Alaluf  <eyala@mainsoft.com>.
619                 Add support for resolving custom attributes that contain references
620                 to enum in other assemblies.
621
622 2006-10-09  Jb Evain  <jbevain@gmail.com>
623
624         * Mono.Cecil/IRequireResolving.cs
625           Mono.Cecil/CustomAttribute.cs
626           Mono.Cecil/SecurityDeclaration.cs
627           Mono.Cecil/SecurityDeclarationReader.cs
628           Mono.Cecil/AggressiveReflectionReader.cs
629           Mono.Cecil/ReflectionWriter.cs
630           Mono.Cecil/ModuleDefinition.cs:
631                 Introduce the interface IRequireResolving implemented
632                 by CustomAttribute and SecurityDeclaration for when they can't
633                 be read without loading another assembly.
634
635         * Mono.Cecil/SecurityDeclarationReader.cs:
636                 Prevent Cecil to crash when it can not get the type
637                 of the declaration.
638
639 2006-10-04  Eyal Alaluf  <eyala@mainsoft.com>
640
641         * Mono.Cecil/StructureReader.cs:
642                 Visit the module we load when a DLL has more then 1 module.
643           Mono.Cecil/AssemblyNameReference.cs:
644                 Allow "PublicToken=null" when parsing an assembly full name.
645
646 2006-10-03  Jb Evain  <jbevain@gmail.com>
647
648         * Mono.Cecil/BaseAssemblyResolver.cs
649           Mono.Cecil.Binary/ResourceReader.cs:
650                 CompactFramework fix.
651
652 2006-10-02  Jb Evain  <jbevain@gmail.com>
653
654         * implement IList on the named collections.
655
656         * implement the first bits of Win32 resources handling.
657
658         * Mono.Cecil/ReflectionHelper.cs:
659                 It does not make sense to import the assembly flags.
660
661 2006-09-28  Jb Evain  <jbevain@gmail.com>
662
663         * Mono.Cecil/MethodDefinitionCollection.cs
664           Mono.Cecil/ConstructorCollection.cs
665           Mono.Cecil.Cil/InstructionCollection.cs
666           CodeGen/templates/IndexedCollection.cs
667                 Fix StackOverlow.
668
669 2006-09-27  Jb Evain  <jbevain@gmail.com>
670
671         * *Collection.cs: use CollectionBase when possible.
672
673 2006-09-24  Jb Evain  <jbevain@gmail.com>
674
675         * Mono.Cecil/AssemblyFactory.cs
676           Mono.Cecil/ReflectionWriter.cs
677           Mono.Cecil.Cil/ISymbolStoreFactory.cs
678           Mono.Cecil.Cil/SymbolStoreHelper.cs:
679                 Some more work on the debugging infos api.
680
681         * Mono.Cecil/MethodDefinitionCollection.cs
682           Mono.Cecil/ConstructorCollection.cs
683           CodeGen/templates/IndexedCollection.cs:
684                 Fix the GetConstructor/GetMethod methods.
685                 Based on a patch by Jon Chambers.
686
687 2006-09-20  Jb Evain  <jbevain@gmail.com>
688
689         * Mono.Cecil/StructureWriter.cs
690           Mono.Cecil/ModuleDefinition.cs
691           Mono.Cecil/ReflectionWriter.cs
692           Mono.Cecil/AssemblyFactory.cs
693           Mono.Cecil.Cil/ISymbolReader.cs
694           Mono.Cecil.Cil/CodeWriter.cs
695           Mono.Cecil.Cil/ISymbolWriter.cs
696           Mono.Cecil.Cil/SymbolStoreHelper.cs:
697                 Working on the debug infos stuff.
698
699         * Mono.Cecil.Signatures/SignatureReader.cs:
700                 Ensure custom attributes are read when they can be.
701                 Patch by Sebastien Pouliot.
702
703 2006-09-19  Jb Evain  <jbevain@gmail.com>
704
705         * Mono.Cecil/ModuleDefinition.cs
706           Mono.Cecil/ReflectionReader.cs
707           Mono.Cecil/ReflectionWriter.cs
708           Mono.Cecil.Cil/Document.cs
709           Mono.Cecil.Cil/Instruction.cs
710           Mono.Cecil.Cil/SequencePoint.cs
711           Mono.Cecil.Cil/CodeReader.cs
712           Mono.Cecil.Cil/IScopeProvider.cs
713           Mono.Cecil.Cil/ISymbolReader.cs
714           Mono.Cecil.Cil/CodeWriter.cs
715           Mono.Cecil.Cil/ISymbolWriter.cs
716           Mono.Cecil.Cil/IVariableDefinitionProvider.cs
717           Mono.Cecil.Cil/SymbolStoreHelper.cs
718           Mono.Cecil.Cil/ISymbolStoreFactory.cs
719           Mono.Cecil.Cil/ScopeCollection.cs
720           Mono.Cecil.Cil/Scope.cs:
721                 Work on the architecture for debugging infos.
722
723         * Mono.Cecil.dll.sources
724           Mono.Cecil.Cil/Document.cs
725           Mono.Cecil.Cil/IVariableDefinitionProvider.cs
726           Mono.Cecil.Cil/SequencePoint.cs
727           Mono.Cecil.Cil/ScopeCollection.cs
728           Mono.Cecil.Cil/BaseCodeVisitor.cs
729           Mono.Cecil.Cil/CodeReader.cs
730           Mono.Cecil.Cil/IScopeProvider.cs
731           Mono.Cecil.Cil/MethodBody.cs
732           Mono.Cecil.Cil/ICodeVisitor.cs
733           Mono.Cecil.Cil/CodeWriter.cs
734           Mono.Cecil.Cil/Scope.cs
735           Mono.Cecil.Cil/VariableDefinitionCollection.cs
736           CodeGen/cecil.xml:
737                 First bits of the debug infos stuff.
738
739         * Mono.Cecil.Cil/InstructionCollection.cs
740           CodeGen/templates/IndexedCollection.cs:
741                 The outside instruction has an offset of -1.
742
743         * Mono.Cecil.Cil/OpCodes.cs
744           Mono.Cecil.Cil/CodeReader.cs
745           Mono.Cecil.Cil/OpCode.cs
746           CodeGen/templates/OpCodes.cs:
747                 Simpliest way of dealing with different opcodes.
748
749 2006-09-07  Jb Evain  <jbevain@gmail.com>
750
751         * support PE32+ file format.
752
753         * Add an Outside instruction to an InstructionCollection.
754         Cleaner than the old null instruction.
755
756         * Mono.Cecil/MarshalSpec.cs
757           Mono.Cecil/ReflectionReader.cs
758           Mono.Cecil/ReflectionWriter.cs
759           CodeGen/cecil-mig.rb:
760                 Refactor names from Desc to Spec.
761
762         * *Collection.cs:
763                 Remove the unused events stuff.
764
765 2006-08-31  Jb Evain  <jbevain@gmail.com>
766
767         * /!\ Breaking changes:
768                 On the way to Cecil 0.5. Remove meaningless interfaces.
769                 GenericParamAttributes -> GenericParameterAttributes
770                 ParamAttributes -> ParamAttributes
771
772                 I'll provide a migration path with a script.
773
774                 Please do not use this revision, other changes are on the way.
775
776 2006-08-26  Jb Evain  <jbevain@gmail.com>
777
778         * Mono.Cecil/ReflectionReader.cs:
779                 Fix a bug when reading some parameters.
780
781 2006-08-26  Jb Evain  <jbevain@gmail.com>
782
783         * Mono.Cecil.Cil/ReflectionWriter.cs:
784                 Fix the computation of the size of the last opcode in case
785                 of an exception handler is pointing outside the cil stream.
786
787         * Mono.Cecil.Cil/ReflectionWriter.cs:
788                 Don't use seh tiny headers when the size can't fit in a byte.
789
790         * Mono.Cecil.Cil/ReflectionWriter.cs:
791                 Fix a problem in the computation of the stack when the IL
792                 is somewhat strange.
793
794 2006-08-23  Jb Evain  <jbevain@gmail.com>
795
796         * Mono.Cecil/AssemblyInfo.cs:
797                 Cecil 0.4.3 release.
798
799 2006-08-21  Jb Evain  <jbevain@gmail.com>
800
801         * Mono.Cecil.Metadata/MetadataWriter.cs:
802                 Fix a bug in field initial values writing.
803
804         * Mono.Cecil/BaseAssemblyResolver.cs:
805                 Look for assemblies in ./ first
806
807 2006-08-17  Jb Evain  <jbevain@gmail.com>
808
809         * Mono.Cecil/BaseAssemblyResolver.cs:
810                 Resolve the corlib depending on its version.
811
812         * Mono.Cecil/AssemblyName.cs
813           Mono.Cecil/BaseAssemblyResolver.cs:
814                 Implement a AssemblyNameReference.Parse(string)
815
816         * Mono.Cecil/TypeReferenceCollection.cs
817           Mono.Cecil/ExternTypeCollection.cs
818           Mono.Cecil/TypeDefinitionCollection.cs
819           CodeGen/templates/NamedCollectionImplem.cs:
820                 Avoid infinite recursion.
821
822         * Mono.Cecil/BaseAssemblyResolver.sc:
823                 Stay .net 1.1 compatible
824
825 2006-08-16  Jb Evain  <jbevain@gmail.com>
826
827         * Mono.Cecil/IAssemblyResolver.cs
828           Mono.Cecil/BaseAssemblyResolver.cs
829           Mono.Cecil/DefaultAssemblyResolver.cs
830           Mono.Cecil/AssemblyDefinition.cs
831                 Implement an assembly resolver.
832
833         * Mono.Cecil/ReflectionReader.cs:
834                 Fix the initial value reading.
835                 Based on a report and a patch of Roei Erez  <roeie@mainsoft.com>
836
837 2006-08-15  Jb Evain  <jbevain@gmail.com>
838
839         * Mono.Cecil/TypeReferenceCollection.cs
840           Mono.Cecil/ExternTypeCollection.cs
841           Mono.Cecil/TypeDefinitionCollection.cs
842           CodeGen/templates/NamedCollectionImplem.cs:
843                 Fix the CopyTo method.
844
845 2006-07-19  Jb Evain  <jbevain@gmail.com>
846
847         * CodeGen/templates/IIndexedCollection.cs
848           CodeGen/templates/IndexedCollectionImplem.cs
849           Mono.Cecil/IConstructorCollection.cs
850           Mono.Cecil/IMethodDefinitionCollection.cs
851           Mono.Cecil/MethodDefinitionCollection.cs
852           Mono.Cecil/ConstructorCollection.cs:
853                 Add a GetConstructor(bool,ParameterDefinitionCollection) method
854                 required by the linker.
855
856         * Mono.Cecil.Metadata/MetadataReader.cs
857           Mono.Cecil.Metadata/StringsHeap.cs:
858                 Read the string on demand, based on the index.
859                 Needed due to some obfuscators that create a string entry like
860                 xClassName, and make the pointer points to after the x.
861
862 2006-07-03      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
863         * CodeGen/templates/ImageReader.cs
864           Mono.Cecil.Binary/ImageReader.cs:
865                 CompactFramework compatibility.
866
867 2006-07-02      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
868
869         * CodeGen/templates/ImageReader.cs
870           Mono.Cecil.Binary/ImageReader.cs:
871                 Proper FileNotFoundException construction.
872
873         * Mono.Cecil/MethodDefinition.cs
874           Mono.Cecil/IMethod.cs:
875                 Helper properties IsInternalCall and IsRuntime.
876
877 2006-06-21  Jb Evain  <jbevain@gmail.com>
878
879         * Mono.Cecil.Cil/CilWorker.cs:
880                 Fix ldc.i4.s emitting.
881
882 2006-06-13  Jb Evain  <jbevain@gmail.com>
883
884         * Mono.Cecil/ReflectionWriter.cs:
885                 Fix for compiling on CF 1.
886         * Mono.Cecil/StructureReader.cs:
887                 Fix for a "bug" when csc 7.1 emits an assembly
888                 with an assembly row, but no blob heap.
889                 Plus style fix.
890
891 2006-06-08  Jb Evain  <jbevain@gmail.com>
892
893         * Mono.Cecil/IMethod.cs
894           Mono.Cecil/MethodDefinition.cs
895           Mono.Cecil/ReflectionWriter.cs:
896                 Add a public HasBody property.
897
898 2006-06-07  Jb Evain  <jbevain@gmail.com>
899
900         * Mono.Cecil/MethodDefinition.cs
901           Mono.Cecil/ReflectionWriter.cs:
902                 Read and write method bodies only when allowed.
903
904 2006-05-29  Jb Evain  <jbevain@gmail.com>
905
906         * Mono.Cecil/IMethodDefinition.cs
907           Mono.Cecil/MethodDefinition.cs:
908                 Remove the useless CreateBody method.
909
910 2006-05-27  Jb Evain  <jbevain@gmail.com>
911
912         * Mono.Cecil/StructureWriter.cs
913           Mono.Cecil/ReflectionReader.cs
914           Mono.Cecil/MethodDefinition.cs
915           Mono.Cecil.Metadata/MetadataToken.cs
916           Mono.Cecil.Signatures/SignatureReader.cs:
917                 Play better with mixed mode assemblies.
918
919         * Mono.Cecil/SecurityDeclarationReader.cs
920           Mono.Cecil/ReflectionWriter.cs
921           Mono.Cecil.Signatures/SignatureReader.cs:
922                 Read/Write this awful load of crap that is sharepoint.
923
924 2006-05-22  Jb Evain  <jbevain@gmail.com>
925
926         * Mono.Cecil.Cil/CilWorker.cs:
927                 Fix #78479. Patch by David Emsellem.
928
929 2006-05-20  Jb Evain  <jbevain@gmail.com>
930
931         * CodeGen/templates/ImageReader.cs
932           CodeGen/templates/ImageWriter.cs
933           Mono.Cecil/AssemblyFactory.cs
934           Mono.Cecil/StructureWriter.cs
935           Mono.Cecil/Binary/ImageReader.cs
936           Mono.Cecil/Binary/Image.cs
937           Mono.Cecil/Binary/ImageWriter.cs
938           Mono.Cecil.Metadata/MetadataWriter.cs:
939                 Optimize assembly writing.
940                 Add methods to read assemblies from byte arrays.
941
942         * Mono.Cecil/StructureWriter.cs:
943                 Throw an exception when the target is an exe
944                 and no entry point have been setted.
945         * Mono.Cecil/AssemblyFactory.cs:
946                 Add helpers method to defines assemblies.
947         * Mono.Cecil/MethodDefinition.cs:
948                 Set the hasThis flag to the correct value.
949         * Mono.Cecil.Cil/CodeReader.cs:
950                 Remove old comment.
951         * Mono.Xml/SmallXmlParser.cs:
952                 Make private.
953
954 2006-05-18  Jb Evain  <jbevain@gmail.com>
955
956         * CodeGen/templates/MetadataTableReader.cs
957           Mono.Cecil.Metadata/MetadataTableReader.cs
958           Mono.Cecil.Metadata/TableCollection.cs
959           Mono.Cecil.Metadata/TablesHeap.cs:
960                 Optimize a little bit.
961
962         * CodeGen/templates/MetadataTableWriter.cs
963           Mono.Cecil.Metadata/MetadataTableWriter.cs
964           Mono.Cecil.Metadata/TableCollection.cs:
965                 Fix for last changeset.
966
967         * Mono.Cecil.Metadata/RIdAttribute.cs:
968                 deleted.
969
970         * Mono.Cecil/ReflectionReader.cs
971           Mono.Cecil/StructureReader.cs
972           Mono.Cecil/ReflectionWriter.cs
973           Mono.Cecil/AggressiveReflectionReader.cs
974           Mono.Cecil.Cil/CodeReader.cs
975           CodeGen/templates/Utilities.cs
976           CodeGen/templates/MetadataTableReader.cs
977           CodeGen/templates/MetadataTableWriter.cs
978           CodeGen/templates/Table.cs
979           CodeGen/templates/MetadataRowReader.cs
980           CodeGen/templates/MetadataRowWriter.cs
981           Mono.Cecil.Metadata/Assembly.cs
982           Mono.Cecil.Metadata/InterfaceImpl.cs
983           Mono.Cecil.Metadata/PropertyMap.cs
984           Mono.Cecil.Metadata/Constant.cs
985           Mono.Cecil.Metadata/MethodSpec.cs
986           Mono.Cecil.Metadata/DeclSecurity.cs
987           Mono.Cecil.Metadata/TypeDef.cs
988           Mono.Cecil.Metadata/GenericParamConstraint.cs
989           Mono.Cecil.Metadata/MethodImpl.cs
990           Mono.Cecil.Metadata/NestedClass.cs
991           Mono.Cecil.Metadata/MetadataTableReader.cs
992           Mono.Cecil.Metadata/AssemblyRefProcessor.cs
993           Mono.Cecil.Metadata/AssemblyRef.cs
994           Mono.Cecil.Metadata/AssemblyRefOS.cs
995           Mono.Cecil.Metadata/Method.cs
996           Mono.Cecil.Metadata/MetadataTableWriter.cs
997           Mono.Cecil.Metadata/MetadataRowReader.cs
998           Mono.Cecil.Metadata/ExportedType.cs
999           Mono.Cecil.Metadata/CustomAttribute.cs
1000           Mono.Cecil.Metadata/Param.cs
1001           Mono.Cecil.Metadata/ClassLayout.cs
1002           Mono.Cecil.Metadata/MetadataRowWriter.cs
1003           Mono.Cecil.Metadata/Utilities.cs
1004           Mono.Cecil.Metadata/AssemblyOS.cs
1005           Mono.Cecil.Metadata/ModuleRef.cs
1006           Mono.Cecil.Metadata/FieldMarshal.cs
1007           Mono.Cecil.Metadata/GenericParam.cs
1008           Mono.Cecil.Metadata/ImplMap.cs
1009           Mono.Cecil.Metadata/TableCollection.cs
1010           Mono.Cecil.Metadata/TablesHeap.cs
1011           Mono.Cecil.Metadata/TypeRef.cs
1012           Mono.Cecil.Metadata/ManifestResource.cs
1013           Mono.Cecil.Metadata/File.cs
1014           Mono.Cecil.Metadata/EventMap.cs
1015           Mono.Cecil.Metadata/AssemblyProcessor.cs
1016           Mono.Cecil.Metadata/FieldLayout.cs
1017           Mono.Cecil.Metadata/Event.cs
1018           Mono.Cecil.Metadata/Field.cs
1019           Mono.Cecil.Metadata/Property.cs
1020           Mono.Cecil.Metadata/Module.cs
1021           Mono.Cecil.Metadata/MethodSemantics.cs
1022           Mono.Cecil.Metadata/StandAloneSig.cs
1023           Mono.Cecil.Metadata/FieldRVA.cs
1024           Mono.Cecil.Metadata/TypeSpec.cs
1025           Mono.Cecil.Metadata/IMetadataTable.cs
1026           Mono.Cecil.Metadata/MemberRef.cs:
1027                 Fix the way the metadata tables are handled.
1028
1029         * Mono.Cecil.Signatures/SignatureWriter.cs:
1030                 Fix bug in string writing.
1031
1032 2006-05-12  Jb Evain  <jbevain@gmail.com>
1033
1034         * Mono.Cecil/AssemblyInfo.cs:
1035                 Hide the info if Cecil is embedded.
1036
1037 2006-05-09  Jb Evain  <jbevain@gmail.com>
1038
1039         * cecil.build: rename to default.build
1040
1041 2006-05-08  Jb Evain  <jbevain@gmail.com>
1042
1043         * Makefile:
1044                 Sign the assembly.
1045
1046         * cecil.csproj:
1047                 Add an msbuild file.
1048
1049 2006-05-05  Jb Evain  <jbevain@gmail.com>
1050
1051         * Mono.Cecil/AssemblyFactory.cs
1052           Mono.Cecil/StructureReader.cs
1053           Mono.Cecil/ModuleDefinition.cs:
1054                 Add an AssemblyFactory.GetAssemblyManifest method.
1055
1056 2006-05-04  Jb Evain  <jbevain@gmail.com>
1057
1058         * Mono.Cecil/TableComparers.cs:
1059                 TypeDef.Compare: the name is enough against <Module>.
1060
1061         * Mono.Cecil/ReflectionWriter.cs:
1062                 Fix writing of namedargs in custom attributes.
1063
1064 2006-04-26  Jb Evain  <jbevain@gmail.com>
1065
1066         * Mono.Cecil.Signatures/SignatureReader.cs:
1067                 Don't create tons of hashtables.
1068
1069 2006-04-24  Jb Evain  <jbveain@gmail.com>
1070
1071        * Mono.Cecil.Cil/MethodBody.cs:
1072                Fix cloning.
1073
1074 2006-04-21  Jb Evain  <jbevain@gmail.com>
1075
1076         * Mono.Cecil/AssemblyFactory.cs
1077           Mono.Cecil.Binary/MemoryBinaryWriter.cs:
1078                 Use MemoryStream::WriteTo when it's possible.
1079
1080 2006-04-21      Rodrigo B. de Oliveira  <rodrigobamboo@gmail.com>
1081
1082         * Mono.Cecil/SecurityDeclaration.cs
1083           Mono.Cecil/ISecurityDeclaration.cs
1084           Mono.Cecil/SecurityDeclarationCollection.cs
1085           Mono.Cecil/ModuleDefinition.cs:
1086                 Patch by Almann T. Goo (almann.goo@gmail.com) conditionally
1087                 removing references to PermissionSet when compiling for the CompactFramework.
1088
1089         * Mono.Cecil/CompactFrameworkCompatibility.cs:
1090                 System.Security.PermissionSet definition no longer needed.
1091
1092 2006-04-21  Jb Evain  <jbevain@gmail.com>
1093
1094         * *Collection.cs:
1095                 Fix typo in RemoveAt.
1096
1097 2006-04-20  Jb Evain  <jbevain@gmail.com>
1098
1099         * Mono.Cecil/ReflectionWriter.cs:
1100                 Fix writing of complex arrays.
1101                 Now we roundtrip SharpDevelop.
1102
1103         * Mono.Cecil/ReflectionWriter.cs
1104           Mono.Cecil/TableComparers.cs:
1105                 Ensure <Module> will always be the first type.
1106                 Fix roundtrip of Nemerle.
1107
1108 2006-04-19  Jb Evain  <jbevain@gmail.com>
1109
1110         * Mono.Cecil.Cil/CodeWriter.cs:
1111                 Handle the case where an handler points after the last
1112                 instruction. Now we roundtrip db4o.
1113
1114         * Mono.Cecil/IIndexedCollection.cs:
1115           *Collection.cs:
1116                 Make every collection implement an indexed collection.
1117
1118 2006-04-15  Jb Evain  <jbevain@gmail.com>
1119
1120         * Mono.Cecil/CustomAttribute.cs:
1121                 Fix handling of types.
1122
1123 2006-04-11  Jb Evain  <jbevain@gmail.com>
1124
1125         * Mono.Cecil/FieldDefinition.cs
1126           Mono.Cecil/ReflectionReader.cs
1127           Mono.Cecil/TypeDefinition.cs
1128           Mono.Cecil/IField.cs
1129           Mono.Cecil/ITypeDefinition.cs
1130           Mono.Cecil/ReflectionWriter.cs
1131           Mono.Cecil/AggressiveReflectionReader.cs
1132           Mono.Cecil.Cil/IVariable.cs
1133           Mono.Cecil.Cil/MethodBody.cs
1134           Mono.Cecil.Cil/VariableDefinition.cs
1135           Mono.Cecil.Cil/CodeWriter.cs:
1136                 Don't use interfaces internally.
1137
1138         * Mono.Cecil/TypeReference.cs:
1139                 Make TypeReference extend MemberReference.
1140
1141         * Mono.Cecil/Modifiers.cs
1142           Mono.Cecil.Cil/CodeReader.cs
1143           Mono.Cecil.Cil/CodeWriter.cs
1144           Mono.Cecil.Signatures/LocalVarSig.cs
1145           Mono.Cecil.Signatures/SignatureReader.cs:
1146                 Fix modifiers on localvar signatures.
1147                 Fix roundtrip of delphi assemblies.
1148
1149         * Mono.Cecil/CustomAttribute.cs
1150           Mono.Cecil/ReflectionReader.cs
1151           Mono.Cecil/ReflectionWriter.cs
1152           Mono.Cecil.Signatures/SignatureWriter.cs:
1153                 Work on complex custom attributes encoding.
1154
1155         * Mono.Cecil/TableComparers.cs:
1156                 Style.
1157
1158 2006-04-09  Eyal Alaluf  <eyala@mainsoft.com>
1159
1160     * Mono.Cecil/ReflectionReader.cs
1161             Cannot assume that TypeRefs are ordered is such a way that an outer
1162                 class index comes always before all its inner classes.
1163
1164 2006-04-06  Jb Evain  <jbevain@gmail.com>
1165
1166         * Mono.Cecil/ReflectionWriter.cs
1167           Mono.Cecil.Signatures/SignatureWriter.cs:
1168                 Clean up things a little bit prior ending
1169                 custom attribute encoding.
1170
1171         * Mono.Cecil/ReflectionWriter.cs:
1172                 Write custom attributes of parameters
1173                 onyl when all methods have their tokens.
1174
1175         * Mono.Cecil/ReflectionReader.cs
1176           Mono.Cecil/ReflectionWriter.cs
1177           Mono.Cecil/AggressiveReflectionReader.cs:
1178                 Handle custom attributes on generic parameters.
1179
1180 2006-04-05  Jb Evain  <jbevain@gmail.com>
1181
1182         * Mono.Cecil/ReflectionWriter.cs:
1183                 Ensure the param[0] is written when it should be.
1184
1185 2006-04-04  Jb Evain  <jbevain@gmail.com>
1186
1187         * Mono.Cecil/ReflectionHelper.cs:
1188                 Remove an unused hack.
1189
1190         * Mono.Cecil/AssemblyInfo.cs: Go 0.4.1
1191
1192         * Mono.Cecil.Metadata/MetadataHeap.cs
1193           Mono.Cecil.Metadata/MetadataStream.cs:
1194                 Read #- stream has well.
1195
1196         * Mono.Cecil/ReflectionHelper.cs:
1197                 Implement Import stuff for System.Type and SR.*
1198
1199 2006-04-03      Rodrigo B. de Oliveira  <rodrigobamboo@gmail.com>
1200
1201         * Mono.Cecil/SecurityDeclarationReader.cs
1202           Mono.Cecil/TypeReferenceCollection.cs
1203           Mono.Cecil/CompactFrameworkCompatibility.cs
1204           Mono.Cecil/AssemblyFactory.cs
1205           Mono.Cecil/AssemblyName.cs
1206           Mono.Cecil/ExternTypeCollection.cs
1207           Mono.Cecil/TypeDefinitionCollection.cs
1208           CodeGen/templates/NamedCollectionImplem.cs
1209           Mono.Cecil.Metadata/CultureUtils.cs
1210           cecil.build:
1211                 CompactFramework 2.0 support through CF_2_0 compilation symbol.
1212
1213 2006-04-03  Jb Evain  <jbevain@gmail.com>
1214
1215         * Mono.Cecil.dll.sources
1216           Mono.Cecil/GenericParameter.cs
1217           Mono.Cecil/ReflectionHelper.cs
1218           Mono.Cecil/FieldDefinition.cs
1219           Mono.Cecil/CustomAttribute.cs
1220           Mono.Cecil/TypeDefinition.cs
1221           Mono.Cecil/IModuleDefinition.cs
1222           Mono.Cecil/ImportContext.cs
1223           Mono.Cecil/AssemblyName.cs
1224           Mono.Cecil/MethodDefinition.cs
1225           Mono.Cecil/EventDefinition.cs
1226           Mono.Cecil/ModuleDefinition.cs
1227           Mono.Cecil/ReflectionWriter.cs
1228           Mono.Cecil/GenericContext.cs
1229           Mono.Cecil/ParameterDefinition.cs
1230           Mono.Cecil/PropertyDefinition.cs
1231           Mono.Cecil.Cil/MethodBody.cs:
1232                 Work on generic assemblies manipulation via
1233                 import stuff.
1234
1235 2006-03-31  Jb Evain  <jbevain@gmail.com>
1236
1237         * Mono.Cecil/AssemblyFlags.cs:
1238                 Add a Retargetable flag used on the CF.
1239
1240 2006-03-30  Jb Evain  <jbevain@gmail.com>
1241
1242         * Mono.Cecil/SecurityDeclarationReader.cs:
1243                 Don't crash if the declaration is empty.
1244
1245         * Mono.Cecil/ParamAttributes.cs:
1246                 Update the Optional flag.
1247           Mono.Cecil/ReflectionWriter.cs:
1248                 Fix the encoding of nullref.
1249                 Fixes #77959. Based on a patch by
1250                 Armand Du Plessis < armand@dotnet.org.za>
1251
1252 2006-03-29  Jb Evain  <jbevain@gmail.com>
1253
1254         * Mono.Cecil/IHasSecurity.cs
1255           Mono.Cecil/IHasConstant.cs
1256           Mono.Cecil/IHasMarshalSpec.cs:
1257           Mono.Cecil/MethodReturnType.cs
1258           Mono.Cecil/AssemblyDefinition.cs:
1259                 Implement IMetadataTokenProvider.
1260
1261         * Mono.Cecil/StructureReader.cs
1262           Mono.Cecil/ReflectionWriter.cs:
1263                 Use more the token providers.
1264
1265 2006-03-28  Jb Evain  <jbevain@gmail.com>
1266
1267         * Mono.Cecil/ReflectionReader.cs
1268           Mono.Cecil/MarshalDesc.cs
1269           Mono.Cecil/IMarshalSpec.cs
1270           Mono.Cecil/ReflectionWriter.cs:
1271                 Fix round-tripping of assemblies using
1272                 COM stuff.
1273
1274 2006-03-27  Jb Evain  <jbevain@gmail.com>
1275
1276         * Mono.Cecil.Metadata/MetadataToken.cs:
1277                 Override GetHashCode as we override Equals.
1278
1279         * Mono.Cecil/TableComparers.cs:
1280                 Fix the ordering of generic parameters.
1281                 This revision roundtrips C5. Yeah!
1282
1283         * Mono.Cecil/ReflectionWriter.cs:
1284                 Fix method spec "caching"
1285           Mono.Cecil.Cil/OpCode.cs:
1286                 Override ToString ();
1287           Mono.Cecil.Metadata/MetadataToken.cs:
1288                 Implement operator ==
1289
1290         * Mono.Cecil/ReflectionWriter.cs
1291           Mono.Cecil/TableComparers.cs:
1292                 Better handling of generic tables sorting.
1293
1294         * Mono.Cecil/ReflectionWriter.cs
1295           Mono.Cecil/TableComparers.cs:
1296                 Sort generic tables as well.
1297
1298 2006-03-27      Rodrigo B. de Oliveira  <rodrigobamboo@gmail.com>
1299         * Mono.Cecil.Metadata/MetadataWriter.cs:
1300                 Use CompactFramework compatible version of
1301                 System.Convert.ToBase64String.
1302
1303 2006-03-27  Jb Evain  <jbevain@gmail.com>
1304
1305         * Mono.Cecil.dll.sources
1306           Mono.Cecil/GenericParameter.cs
1307           Mono.Cecil/ConstraintCollection.cs
1308           Mono.Cecil/IGenericParameter.cs
1309           Mono.Cecil/IConstraintCollection.cs
1310           CodeGen/cecil.xml:
1311                 Add a ConstraintCollection to be used within
1312                 generic parameters.
1313
1314         * Mono.Cecil/GenericInstanceType.cs:
1315                 Correctly return if the instance is a value type
1316                 or not.
1317
1318 2006-03-25  Jb Evain  <jbevain@gmail.com>
1319
1320         * Mono.Cecil/ModuleDefinition.cs:
1321                 Support the unreadable security declarations
1322                 when converting one to byte [].
1323
1324         * Mono.Cecil/IModuleDefinition.cs
1325           Mono.Cecil/ModuleDefinition.cs
1326           Mono.Cecil/ReflectionWriter.cs:
1327                 Add a FullLoad method on a module.
1328
1329         * Mono.Cecil/StructureWriter.cs
1330           Mono.Cecil/ReflectionWriter.cs:
1331                 Fix a  few bugs in generics type emitting.
1332
1333         * Mono.Cecil.Cil/CodeWriter.cs:
1334                 Cache local sig as well.
1335
1336 2006-03-24  Jb Evain  <jbevain@gmail.com>
1337
1338         * Mono.Cecil/ReflectionWriter.cs:
1339                 Cache method specs as well.
1340
1341         * CodeGen/templates/ImageWriter.cs
1342           Mono.Cecil.Metadata/MetadataWriter.cs
1343           Mono.Cecil.Binary/ImageWriter.cs:
1344                 Replace the foreach char pattern by
1345                 Encoding.GetBytes
1346
1347 2006-03-23  Jb Evain  <jbevain@gmail.com>
1348
1349         * Mono.Cecil/TypeReferenceCollection.cs
1350           Mono.Cecil/ExternTypeCollection.cs
1351           Mono.Cecil/TypeDefinitionCollection.cs
1352           CodeGen/templates/NamedCollectionImplem.cs
1353           CodeGen/templates/ImageReader.cs:
1354                 Ensure type with the same name are added
1355                 to the collection.
1356
1357         * Mono.Cecil.Metadata/MetadataWriter.cs:
1358                 Ensure every blob signature is unique.
1359
1360         * Mono.Cecil/IModuleDefinition.cs
1361           Mono.Cecil/ModuleDefinition.cs:
1362                 Rename method to avoid confusion.
1363
1364 2006-03-22  Jb Evain  <jbevain@gmail.com>
1365
1366         * Mono.Cecil.Cil/CodeWriter.cs:
1367                 Precisely detect whether we emit fat seh or not.
1368
1369         * Mono.Cecil/ReflectionWriter.cs:
1370                 Avoid duplicates in the typespec table.
1371
1372 2006-03-21  Jb Evain  <jbevain@gmail.com>
1373
1374         * Mono.Cecil/ReflectionWriter.cs:
1375                 Correctly write generic parameters.
1376
1377         * Mono.Cecil/SecurityDeclarationReader.cs
1378           Mono.Cecil/SecurityDeclaration.cs
1379           Mono.Cecil/ReflectionWriter.cs:
1380                 Fix for security declarations reading on .net 2.0.
1381
1382         * Mono.Cecil/ReflectionReader.cs
1383           Mono.Cecil/GenericContext.cs:
1384                 Fix test case RoundtripTestFixture.boo.
1385
1386 2006-03-20  Jb Evain  <jbevain@gmail.com>
1387
1388         * Mono.Cecil.Metadata/MetadataReader.cs:
1389                 #Strings heap is utf8, fix #77820.
1390
1391 2006-03-08  Jb Evain  <jbevain@gmail.com>
1392
1393         * CodeGen/cecil-gen-tests.rb
1394           CodeGen/templates/Tests.cs:
1395                 Start of a very small infrastructure to use tests from
1396                 rotor/mono with Cecil.
1397
1398         * Mono.Cecil/IMethod.cs
1399           Mono.Cecil/TypeDefinition.cs
1400           Mono.Cecil/MethodDefinition.cs
1401           Mono.Cecil.Cil/CodeReader.cs
1402           Mono.Cecil.Cil/CodeWriter.cs:
1403                 Add support for the very special case ldarg 0.
1404                 Patch idea by Vladislav Spivak <spivak@mainsoft.com>
1405
1406 2006-03-07  Jb Evain  <jbevain@gmail.com>
1407
1408         * CodeGen/templates/ImageReader.cs
1409           Mono.Cecil/AssemblyFactory.cs
1410           Mono.Cecil/StructureReader.cs
1411           Mono.Cecil.Binary/Image.cs
1412           Mono.Cecil.Binary/ImageReader.cs:
1413                 Allow users to get a loaded image using
1414                 Image.GetImage as they have no access to
1415                 the ImageReader.
1416
1417 2006-03-06  Jb Evain  <jbevain@gmail.com>
1418
1419         * Mono.Cecil.Signatures/SignatureReader.cs:
1420                 Fix array reading in custom attributes.
1421
1422 2006-03-06  Joshua Tauberer <tauberer@for.net>
1423
1424         * Mono.Cecil/TypeAttributes.cs: Fixed typo
1425           in value for Abstract.
1426
1427 2006-02-27  Jb Evain  <jbevain@gmail.com>
1428
1429         * CodeGen/templates/IndexedCollectionImplem.cs
1430           CodeGen/templates/IIndexedCollection.cs
1431           Mono.Cecil.Cil/InstructionCollection.cs
1432           Mono.Cecil.Cil/IInstructionCollection.cs:
1433                 Small API fix, prevent the user from not using
1434                 the CilWorker.
1435
1436         * Mono.Cecil.Cil/CodeReader.cs
1437           Mono.Cecil.Cil/Label.cs:
1438                 Remove Label.
1439
1440         * Mono.Cecil/ReflectionReader.cs:
1441                 Fix typo.
1442
1443 2006-02-20  Jb Evain  <jbevain@gmail.com>
1444
1445         * Mono.Cecil.Signatures/SignatureWriter.cs:
1446                 Fix a bug when a value is null in a custom attribute.
1447
1448 2006-02-20  Sebastien Pouliot  <sebastien@ximian.com>
1449
1450         * Mono.Cecil.Metadata/MetadataWriter.cs:
1451                 Fix GetStrongNameSignatureSize to handle the ECMA pseudo-key.
1452
1453 2006-02-07  Jb Evain  <jbevain@gmail.com>
1454
1455         * Mono.Cecil/AssemblyInfos.cs:
1456                 Tag this version 0.3, as users are happy with it.
1457
1458 2006-01-26  Jb Evain  <jbevain@gmail.com>
1459
1460         * Mono.Cecil/CustomAttribute.cs:
1461                 Fix cloning of non readable attributes.
1462
1463         * Mono.Cecil/ReflectionReader.cs
1464           Mono.Cecil/ReflectionWriter.cs
1465           Mono.Cecil.Signatures/MethodRefSig.cs
1466           Mono.Cecil.Signatures/SignatureWriter.cs
1467           Mono.Cecil.Signatures/MethodDefSig.cs:
1468                 Work on generics.
1469
1470         * Mono.Cecil/ArrayType.cs
1471           Mono.Cecil/ReferenceType.cs
1472           Mono.Cecil/PointerType.cs:
1473                 Fix names of typespecs.
1474
1475         * Mono.Cecil/TypeReferenceCollection.cs
1476           Mono.Cecil/ExternTypeCollection.cs
1477           CodeGen/templates/NamedCollectionImplem.cs:
1478                 Allow multiple key by names in type references.
1479
1480 2006-01-25  Jb Evain  <jbevain@gmail.com>
1481
1482         * Mono.Cecil/AssemblyFactory.cs:
1483                 Don't trap exceptions.
1484
1485         * Mono.Cecil/GenericParameter.cs
1486           Mono.Cecil/IMethod.cs
1487           Mono.Cecil/GenericInstanceType.cs
1488           Mono.Cecil/TypeReference.cs
1489           Mono.Cecil/GenericInstanceMethod.cs
1490           Mono.Cecil/ReflectionReader.cs
1491           Mono.Cecil/TypeDefinition.cs
1492           Mono.Cecil/IGenericArgumentCollection.cs
1493           Mono.Cecil/ITypeReference.cs
1494           Mono.Cecil/IGenericInstance.cs
1495           Mono.Cecil/GenericArgumentCollection.cs
1496           Mono.Cecil/MethodDefinition.cs
1497           Mono.Cecil/MethodReference.cs
1498           Mono.Cecil/ITypeDefinition.cs
1499           Mono.Cecil/IGenericArgumentProvider.cs
1500           Mono.Cecil/ReflectionWriter.cs
1501           Mono.Cecil/GenericContext.cs
1502           CodeGen/cecil.xml:
1503                 Clean the generic api. This is not stable yet.
1504
1505 2006-01-24  Jb Evain  <jbevain@gmail.com>
1506
1507         * Mono.Cecil/ArrayType.cs:
1508                 Bug reported by  Vladislav Spivak (spivak@mainsoft.com).
1509                 Fix a bug in array handling.
1510         * Mono.Cecil/ConstructorCollection.cs
1511           CodeGen/templates/IndexedCollectionImplem.cs:
1512                 Bug reported by Oleg Varchovsky (olegv@mainsoft.com).
1513                 Fix the lookup of constructors.
1514
1515 2006-01-19  Jb Evain  <jbevain@gmail.com>
1516
1517         * Mono.Cecil/AssemblyName.cs:
1518                 Fix computation of public key token.
1519
1520 2006-01-18  Jb Evain  <jbevain@gmail.com>
1521
1522         * Mono.Cecil.Cil/CodeWriter.cs
1523           Mono.Cecil.Metadata/MetadataToken.cs:
1524                 Add an use an ToUInt method and use it.
1525           CodeGen/templates/DebugHeader.cs
1526           Mono.Cecil.Binary/DebugHeader.cs:
1527                 Fix the size of the debug header.
1528
1529         * Mono.Cecil/ModuleReference.cs
1530           Mono.Cecil/AssemblyName.cs
1531           Mono.Cecil/StructureReader.cs
1532           Mono.Cecil/IMetadataScope.cs:
1533                 Make IMetadataScope implement IMetadataTokenProvider.
1534         * Mono.Cecil/ReflectionWriter.cs:
1535                 Fix a typo when saving nested type refs.
1536
1537 2006-01-17  Jb Evain  <jbevain@gmail.com>
1538
1539         * Mono.Cecil/ArrayType.cs
1540           Mono.Cecil/ArrayDimension.cs
1541           Mono.Cecil/ReflectionWriter.cs:
1542                 End arrays support.
1543
1544 2006-01-03  Jb Evain  <jbevain@gmail.com>
1545
1546         * Mono.Cecil/GenericParameter.cs
1547           Mono.Cecil/ReflectionHelper.cs
1548           Mono.Cecil/ReflectionReader.cs
1549           Mono.Cecil/GenericContext.cs:
1550                 Work on generics.
1551
1552 2005-12-31  Jb Evain  <jbevain@gmail.com>
1553
1554         * Mono.Cecil/ReflectionHelper.cs:
1555                 Fix import of type specs.
1556
1557 2005-12-30  Jb Evain  <jbevain@gmail.com>
1558
1559         * CodeGen/templates/ImageReader.cs
1560           Mono.Cecil.Metadata/MetadataReader.cs
1561           Mono.Cecil.Binary/Image.cs
1562           Mono.Cecil.Binary/ImageReader.cs:
1563                 Add support to assemblies where the metadata is defined
1564                 outside of the text section. (c++/cli /safe for instance)
1565
1566 2005-12-23  Jb Evain  <jbevain@gmail.com>
1567
1568         * Mono.Cecil/AssemblyInfo.cs:
1569                 Version 0.2.2.2 devel.
1570
1571         * Mono.Cecil/AssemblyInfo.cs:
1572                 Version 0.2 to be released.
1573
1574         * Mono.Cecil/ReflectionWriter.cs:
1575                 IGenericInstance are typespecs as well.
1576
1577         * Mono.Cecil/ArrayType.cs:
1578                 Add a single dimension in the default ctor.
1579         * Mono.Cecil/ReflectionReader.cs:
1580                 Don't manually add the default dimension as it's done
1581                 int the array type ctor.
1582         * Mono.Cecil/ReflectionHelper.cs:
1583                 Import type specs.
1584
1585 2005-12-22  Jb Evain  <jbevain@gmail.com>
1586
1587         * Mono.Cecil/ReflectionWriter:
1588                 Write pinvoke infos as well.
1589
1590         * Mono.Cecil/ReflectionReader.cs:
1591                 Unsure that primitive value types are viewed as
1592                 value types.
1593
1594         * CodeGen/templates/Section.cs
1595           CodeGen/templates/ImageReader.cs
1596           Mono.Cecil.Metadata/MetadataReader.cs
1597           Mono.Cecil.Binary/Image.cs
1598           Mono.Cecil.Binary/Section.cs
1599           Mono.Cecil.Binary/ImageReader.cs:
1600                 Simplify the way you read binary data whithin
1601                 high level layer.
1602
1603         * Mono.Cecil.Cil/CodeReader.cs:
1604                 Make helper methods public static.
1605         * Mono.Cecil/ReflectionReader.cs:
1606                 Don't try to get the entry point method
1607                 if it don't point on a valid method RID.
1608
1609         * CodeGen/templates/NamedCollectionImplem.cs
1610           Mono.Cecil/ExternTypeCollection.cs
1611           Mono.Cecil/TypeDefinitionCollection.cs
1612           Mono.Cecil/TypeReferenceCollection.cs:
1613                 Don't add existing values.
1614
1615         * Mono.Cecil/ModuleDefinition.cs:
1616                 Protect import from null refs.
1617
1618 2005-12-21  Jb Evain  <jbevain@gmail.com>
1619
1620         * Mono.Cecil/StructureWriter.cs:
1621                 Don't increment pdb age. Not Cecil's job.
1622
1623         * Mono.Cecil.Cil/ICilWorker.cs
1624           Mono.Cecil.Cil/CilWorker.cs:
1625                 Add a new replace method.
1626
1627 2005-12-20  Jb Evain  <jbevain@gmail.com>
1628
1629         * Mono.Cecil/StructureWriter.cs:
1630                 Ensure every assembly reference is processed.
1631
1632         * Mono.Cecil/ReflectionHelper.cs:
1633                 Don't assume the cache is magically loaded.
1634                 Aka: most stupid bug of the year.
1635
1636 2005-12-19  Jb Evain  <jbevain@gmail.com>
1637
1638         * CodeGen/templates/DebugHeader.cs
1639           Mono.Cecil.Binary/DebugHeader.cs
1640           Mono.Cecil.Binary/DebugStoreType.cs:
1641                 New files to store debug header infos.
1642         * Mono.Cecil.dll.sources: updated
1643         * CodeGen/cecil.xml
1644           CodeGen/cecil-gen.rb
1645           Mono.Cecil/StructureWriter.cs
1646           Mono.Cecil.Binary/IBinaryVisitor.cs
1647           Mono.Cecil.Binary/ImageWriter.cs
1648           Mono.Cecil.Binary/Image.cs
1649           Mono.Cecil.Binary/ImageInitializer.cs
1650           Mono.Cecil.Binary/BaseImageVisitor.cs
1651           Mono.Cecil.Binary/ImageReader.cs
1652           Mono.Cecil.Metadata/MetadataWriter.cs:
1653                 Read and write debug header.
1654
1655         * CodeGen/templates/ImageWriter.cs
1656           Mono.Cecil.Binary/ImageWriter.cs:
1657                 Revert revision 54409.
1658
1659 2005-12-14  Jb Evain  <jbevain@gmail.com>
1660
1661         * Mono.Cecil.Cil/ICilWorker.cs
1662           Mono.Cecil.Cil/CilWorker.cs:
1663                 Add a remove method.
1664
1665         * CodeGen/templates/ImageWriter.cs
1666           Mono.Cecil.Binary/ImageWriter.cs:
1667                 Don't allocate potential big arrays here.
1668
1669 2005-12-13  Jb Evain  <jbevain@gmail.com>
1670
1671         * Mono.Cecil.Metadata/MetadataWriter.cs:
1672                 Set the correct version for .net 2 assemblies.
1673                 Correctly write embedded resources.
1674                 Fix #76963.
1675
1676 2005-12-03  Jb Evain  <jbevain@gmail.com>
1677
1678         * Mono.Cecil/MethodSpecification.cs:
1679                 Override the declaring type and the name property to
1680                 match the inner method.
1681         * Mono.Cecil/GenericInstanceType.cs:
1682                 Correctly set the FullName.
1683         * Mono.Cecil/GenericInstanceMethod.cs:
1684                 Style.
1685
1686 2005-12-02  Jb Evain  <jbevain@gmail.com>
1687
1688         * Mono.Cecil/TypeDefinition.cs:
1689                 Fix interface import. Patch by Thomas Gil.
1690
1691 2005-11-24  Jb Evain  <jbevain@gmail.com>
1692
1693         * CodeGen/cecil-gen.rb
1694           CodeGen/templates/MetadataTableReader.cs
1695           CodeGen/templates/PEFileHeader.cs
1696           CodeGen/templates/CLIHeader.cs
1697           CodeGen/templates/PEOptionalHeader.cs
1698           CodeGen/templates/Table.cs
1699           CodeGen/templates/MetadataRowReader.cs
1700           CodeGen/templates/OpCodes.cs
1701           CodeGen/templates/Section.cs
1702           CodeGen/templates/ImageReader.cs:
1703                 Update the codegen engine so that everyone can run it
1704                 without having to install a dependency (eruby).
1705
1706         * Mono.Cecil.Metadata/Utilities.cs: re-codegenerated.
1707
1708 2005-11-23  Jb Evain  <jbevain@gmail.com>
1709
1710         * Mono.Cecil/IGenericArgumentProvider.cs
1711                 Style.
1712         * CodeGen/cecil.xml:
1713                 Mirror Martin's change in the codegen engine.
1714
1715 2005-11-23  Martin Baulig  <martin@ximian.com>
1716
1717         Generics API changes:
1718         TypeReference and MethodReference now contain a
1719         `GenericArguments' property (of type `GenericArgumentCollection')
1720         and `GenericParameters' is moved into TypeDefinition/MethodDefinition.
1721
1722         * Mono.Cecil/IGenericArgumentProvider.cs: New file.
1723         (IGenericArgumentProvider): New public interface.
1724
1725         * Mono.Cecil/IGenericArgumentCollection.cs
1726         (IGenericArgumentCollection.Container): Changed type from
1727         `IGenericInstance' -> `IGenericArgumentProvider'.
1728
1729         * Mono.Cecil/IGenericInstance.cs
1730         (IGenericInstance.Arguments): Renamed to `GenericArguments'.
1731
1732         * Mono.Cecil/ITypeReference.cs
1733         (ITypeReference): Implement `IGenericArgumentProvider' instead of
1734         `IGenericParameterProvider'.
1735
1736         * Mono.Cecil/ITypeDefinition.cs
1737         (ITypeDefinition): Implement `IGenericParameterProvider'.
1738
1739         * Mono.Cecil/IMethod.cs
1740         (IMethodReference): Implement `IGenericArgumentProvider' instead of
1741         `IGenericParameterProvider'.
1742         (IMethodDefinition): Implement `IGenericParameterProvider'.
1743
1744         * Mono.Cecil/TypeReference.cs
1745         (TypeReference.GenericParameters): Removed.
1746         (TypeReference.GenericArguments): New public property.
1747
1748         * Mono.Cecil/TypeDefinition.cs
1749         (TypeDefinition.GenericParameters): New public property.
1750         (TypeDefinition.OnGenericParameterAdded): If a generic parameter
1751         is added, also add it to the `GenericArguments'.
1752
1753         * Mono.Cecil/MethodReference.cs
1754         (MethodReference.GenericParameters): Removed.
1755         (MethodReference.GenericArguments): New public property.
1756
1757         * Mono.Cecil/MethodDefinition.cs
1758         (MethodDefinition.GenericParameters): New public property.
1759         (MethodDefinition.OnGenericParameterAdded): If a generic parameter
1760         is added, also add it to the `GenericArguments'.
1761
1762         * Mono.Cecil/GenericInstanceType.cs
1763         (GenericInstanceType): Removed the `m_arguments' field; we now
1764         inherit the `GenericArguments' property from `TypeReference'.
1765
1766         * Mono.Cecil/GenericInstanceMethod.cs
1767         (GenericInstanceMethod): Removed the `m_arguments' field; we now
1768         inherit the `GenericArguments' property from `MethodReference'.
1769
1770         * Mono.Cecil/GenericContext.cs
1771         (GenericContext): We now operate on type/method references and not
1772         definitions.
1773         (GenericContext.Type): Changed type to `TypeReference'.
1774         (GenericContext.Method): Changed type to `MethodReference'.
1775
1776 2005-11-23  Martin Baulig  <martin@ximian.com>
1777
1778         * Mono.Cecil.Metadata/TokenType.cs: Added `GenericParam'.
1779
1780         * Mono.Cecil.Metadata/Utilities.cs
1781         (GetMetadataToken): In `case CodedIndex.HasCustomAttribute', add
1782         `TokenType.GenericParam'.
1783
1784 2005-11-22  Jb Evain  <jbevain@gmail.com>
1785
1786         * Mono.Cecil/IMethodDefinitionCollection.cs
1787           Mono.Cecil/MethodDefinitionCollection.cs
1788           CodeGen/templates/IndexedCollectionImplem.cs
1789           CodeGen/templates/IIndexedCollection.cs:
1790                 Add a new search method.
1791         * CodeGen/templates/NamedCollectionImplem.cs
1792           Mono.Cecil/TypeReferenceCollection.cs
1793           Mono.Cecil/ExternTypeCollection.cs
1794           Mono.Cecil/TypeDefinitionCollection.cs:
1795                 Style.
1796
1797 2005-11-13      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
1798         * Mono.Cecil/ReflectionReader.cs
1799                 Fix for NRE when reading assemblies with a field initializer
1800                 pointing to a data section
1801                 (TestCases/Regression/OddInt64Initializer.dll).
1802
1803 2005-11-11  Sebastien Pouliot  <sebastien@ximian.com>
1804
1805         * Mono.Cecil.Metadata/MetadataWriter.cs
1806                 Add support for different strongname key size (between 384
1807                 and 16384 bits) as now supported in fx 2.0. Default is still
1808                 1024 bits.
1809
1810 2005-11-10      Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
1811         * Mono.Cecil/CompactFrameworkCompatibility.cs
1812           Mono.Cecil/SecurityDeclarationReader.cs
1813           Mono.Cecil/TypeReferenceCollection.cs
1814           Mono.Cecil/ReflectionReader.cs
1815           Mono.Cecil/AssemblyFactory.cs
1816           Mono.Cecil/AssemblyName.cs
1817           Mono.Cecil/ExternTypeCollection.cs
1818           Mono.Cecil/ModuleDefinition.cs
1819           Mono.Cecil/TypeDefinitionCollection.cs
1820           CodeGen/templates/NamedCollectionImplem.cs
1821           CodeGen/templates/ImageReader.cs
1822           Mono.Cecil.Metadata/MetadataReader.cs
1823           Mono.Cecil.Metadata/MetadataWriter.cs
1824           Mono.Cecil.Metadata/CultureUtils.cs
1825           Mono.Xml/SecurityParser.cs
1826           Mono.Xml/SmallXmlParser.cs
1827           Mono.Cecil.Signatures/SignatureReader.cs
1828           Mono.Cecil.Binary/ImageReader.cs
1829           cecil.build
1830                 Implement support for compiling on the CompactFramework
1831
1832 2005-11-08  Jb Evain  <jbevain@gmail.com>
1833
1834         * Mono.Cecil/GenericInstanceType.cs
1835           Mono.Cecil/TypeReference.cs:
1836                 Fix a regression with 2.0 assemblies.
1837
1838 2005-11-03  Jb Evain  <jbevain@gmail.com>
1839
1840         * Mono.Cecil/CallSite.cs
1841           Mono.Cecil/ReflectionReader.cs
1842           Mono.Cecil/ICallSite.cs
1843           Mono.Cecil.Cil/CodeReader.cs
1844           Mono.Cecil.Cil/CodeWriter.cs
1845           Mono.Cecil.Signatures/SignatureReader.cs
1846           Mono.Cecil.dll.sources:
1847                 Implement support for calli opcodes reading.
1848
1849 2005-11-01  Jb Evain  <jbevain@gmail.com>
1850
1851         * Mono.Cecil/FunctionPointerType.cs
1852           Mono.Cecil/ReflectionReader.cs
1853           Mono.Cecil.Signatures/SignatureReader.cs:
1854                 Work on function pointers.
1855
1856         * Mono.Cecil/AssemblyInfo.cs:
1857                 Increase Cecil SVN version.
1858
1859         * Mono.Cecil/ArrayType.cs
1860           Mono.Cecil/MethodSpecification.cs
1861           Mono.Cecil/TypeSpecification.cs
1862           Mono.Cecil/IMethodSpecification.cs
1863           Mono.Cecil/GenericInstanceType.cs
1864           Mono.Cecil/IGenericInstanceType.cs
1865           Mono.Cecil/GenericInstanceMethod.cs
1866           Mono.Cecil/IModifierType.cs
1867           Mono.Cecil/IPinnedType.cs
1868           Mono.Cecil/ReferenceType.cs
1869           Mono.Cecil/IGenericInstanceMethod.cs
1870           Mono.Cecil/PinnedType.cs
1871           Mono.Cecil/PointerType.cs
1872           Mono.Cecil/IPointerType.cs
1873           Mono.Cecil/IReferenceType.cs
1874           Mono.Cecil/IArrayType.cs
1875           Mono.Cecil/ITypeSpecification.cs
1876           Mono.Cecil/Modifiers.cs
1877           Mono.Cecil.dll.sources:
1878                 Uniformize the specification model.
1879
1880 2005-10-31  Jb Evain  <jbevain@gmail.com>
1881
1882         * AUTHORS,
1883           NEWS,
1884           README,
1885           TODO,
1886           Mono.Cecil/AssemblyInfo.cs:
1887                 Cecil 0.1 release.
1888
1889         * Mono.Cecil/ReflectionReader.cs:
1890                 Force value type property on known core types.
1891
1892 2005-10-28  Jb Evain  <jbevain@gmail.com>
1893
1894         * Mono.Cecil/TypeReference.cs
1895           Mono.Cecil/ReflectionReader.cs
1896           Mono.Cecil/TypeDefinition.cs
1897           Mono.Cecil/ModuleDefinition.cs
1898           Mono.Cecil/ReflectionWriter.cs:
1899                 Uniformize the API.
1900
1901         * Mono.Cecil.Signatures/SignatureWriter.cs:
1902                 Correct a bug in strings encoding in custom attributes.
1903
1904         * CodeGen/templates/ImageWriter.cs
1905           Mono.Cecil.Metadata/MetadataWriter.cs
1906           Mono.Cecil/StructureWriter.cs
1907           Mono.Cecil/ReflectionWriter.cs
1908           Mono.Cecil.Binary/ImageWriter.cs:
1909                 Implement a big of public key management,
1910                 here we reserve space for the strong name
1911                 signature if needed.
1912
1913         * Mono.Cecil/StructureWriter.cs
1914           Mono.Cecil/StructureReader.cs:
1915                 Disable public key writing until
1916                 it is implemented.
1917
1918         * Mono.Cecil/GenericParameter.cs
1919           Mono.Cecil/TypeReference.cs
1920           Mono.Cecil/MethodReference.cs:
1921                 Work on generics writing api.
1922         * Mono.Cecil/ReflectionReader.cs:
1923                 Fix a bug when defining a fresh assembly.
1924
1925         * Mono.Cecil/GenericInstanceType.cs
1926           Mono.Cecil/ReflectionWriter.cs
1927           Mono.Cecil/IGenericParameterProvider.cs
1928           Mono.Cecil.Signatures/Var.cs
1929           Mono.Cecil.Signatures/MVar.cs
1930           Mono.Cecil.Signatures/SignatureReader.cs
1931           Mono.Cecil.Signatures/SignatureWriter.cs
1932           Mono.Cecil.Cil/CodeWriter.cs:
1933                 Work on generics writing.
1934
1935 2005-10-27  Jb Evain  <jbevain@gmail.com>
1936
1937         * Mono.Cecil.Cil/CodeReader.cs
1938           Mono.Cecil.Cil/CilWorker.cs
1939           Mono.Cecil.Cil/CodeWriter.cs
1940           Mono.Cecil.Cil/OpCode.cs:
1941                 Override op == and != on opcodes.
1942
1943         * Mono.Cecil/FieldDefinition.cs
1944           Mono.Cecil/TypeDefinition.cs
1945           Mono.Cecil/MethodDefinition.cs
1946           Mono.Cecil/EventDefinition.cs
1947           Mono.Cecil/PropertyDefinition.cs:
1948                 Fix setters working on attributes.
1949
1950         * Mono.Cecil.Cil/CodeWriter.cs:
1951                 Compute max stack before writing method.
1952
1953         * Mono.Cecil/GenericContext.cs
1954           Mono.Cecil/ReflectionReader.cs
1955           Mono.Cecil.Signatures/SignatureReader.cs:
1956                 Work on generics support.
1957
1958         * CodeGen/cecil.xml
1959           Mono.Cecil/ISecurityDeclarationCollection.cs
1960           Mono.Cecil/SecurityDeclarationCollection.cs:
1961                 Remove the security declaration from the codegen.
1962
1963 2005-10-27  Sebastien Pouliot  <sebastien@ximian.com>
1964
1965         * Mono.Cecil\SecurityDeclaration.cs
1966                 Copy the permission set when cloning.
1967         * Mono.Cecil\SecurityDeclarationCollection.cs
1968                 Ajusted to use an Hashtable, to Union permission sets on
1969                 the same action and to set/unset HasSecurity when needed.
1970         * Mono.Cecil\ModuleDefinition.cs:
1971                 Added TODO (remainder) for complete 2.0 format support.
1972         * Mono.Cecil\ReflectionWriter.cs:
1973                 Move MetadataToken finding outside the loop.
1974         * Mono.Cecil\ISecurityDeclarationCollection.cs:
1975                 Adjust interface.
1976
1977 2005-10-27  Jb Evain  <jbevain@gmail.com>
1978
1979         * Mono.Cecil/TypeDefinition.cs
1980           Mono.Cecil/MethodDefinition.cs:
1981                 Add generics parameters in visitor path.
1982
1983         * Mono.Cecil/GenericParamAttributes.cs:
1984                 Add new constraints flags.
1985
1986 2005-10-22  Jb Evain  <jbevain@gmail.com>
1987
1988         * Mono.Cecil/GenericParameter.cs
1989           Mono.Cecil/ReflectionReader.cs
1990           Mono.Cecil/IGenericParameter.cs
1991           Mono.Cecil/AggressiveReflectionReader.cs
1992           Mono.Cecil/GenericContext.cs:
1993                 Support generic parameters constraints.
1994
1995 2005-10-21  Jb Evain  <jbevain@gmail.com>
1996
1997         * Mono.Cecil/FieldDefinition.cs
1998           Mono.Cecil/CustomAttribute.cs
1999           Mono.Cecil/TypeDefinition.cs
2000           Mono.Cecil/SecurityDeclaration.cs
2001           Mono.Cecil/MethodDefinition.cs
2002           Mono.Cecil/EventDefinition.cs
2003           Mono.Cecil/ParameterDefinition.cs
2004           Mono.Cecil/PropertyDefinition.cs:
2005                 Implement ICloneable.
2006
2007         * Mono.Cecil/IAssemblyDefinition.cs:
2008                 Mirror changes on asm kind.
2009         * Mono.Cecil/StructureReader.cs:
2010                 Fix asm kind detection.
2011
2012         * Mono.Cecil/StructureWriter.cs
2013           Mono.Cecil/ReflectionReader.cs
2014           Mono.Cecil/MethodDefinition.cs
2015           Mono.Cecil/ReflectionWriter.cs:
2016                 Fix regressions.
2017         * Mono.Cecil.Cil/MethodBody.cs:
2018                 Fix method cloning.
2019
2020         * CodeGen/templates/MetadataTableReader.cs
2021           Mono.Cecil.Metadata/MetadataTableReader.cs
2022           Mono.Cecil.Metadata/MetadataReader.cs:
2023                 Add helpers for reading.
2024
2025         * Mono.Cecil/ReflectionReader.cs
2026           Mono.Cecil/MethodDefinition.cs
2027           Mono.Cecil/AggressiveReflectionReader.cs
2028           Mono.Cecil/GenericContext.cs:
2029                 Working on generic parameters reading.
2030                 Still have troubles reading a 2.0 corlib.
2031
2032         * Mono.Cecil/IHasMarshalSpec.cs:
2033                 API fix.
2034
2035         * Mono.Cecil/ParameterDefinition.cs
2036           Mono.Cecil.Cil/VariableDefinition.cs:
2037                 Override ToString.
2038
2039 2005-10-20  Jb Evain  <jbevain@gmail.com>
2040
2041         * Mono.Cecil.Cil/CodeReader.cs
2042           Mono.Cecil.Cil/CodeWriter.cs
2043           Mono.Cecil.Cil/ICilWorker.cs
2044           Mono.Cecil.Cil/CilWorker.cs:
2045                 ShortInlineI operands are signed.
2046                 Spotted by Rodrigo B. de Oliveira.
2047
2048         * CodeGen/templates/OpCodes.cs
2049           Mono.Cecil.Cil/OpCodes.cs:
2050                 Add 2.0 opcodes.
2051
2052         * Mono.Cecil/StructureWriter.cs
2053           Mono.Cecil/AssemblyDefinition.cs
2054           Mono.Cecil/AssemblyFactory.cs
2055           Mono.Cecil/StructureReader.cs
2056           Mono.Cecil/ReflectionWriter.cs:
2057                 Handle the assembly kind in a smoothie way.
2058
2059 2005-10-19  Sebastien Pouliot  <sebastien@ximian.com>
2060
2061         * Mono.Cecil/AssemblyDefinition.cs: Added an override for ToString to
2062         ease debugging.
2063         * Mono.Cecil/ModuleDefinition.cs: Make SecurityDeclaration works with
2064         2.0 assemblies.
2065         * Mono.Cecil/ReflectionReader.cs: Modified BuildSecurityDeclaration
2066         to use the new SecurityDeclarationReader (supporting both formats).
2067         * Mono.Cecil/SecurityAction.cs: Removed actions that were "cutted" out
2068         of 2.0 final.
2069         * Mono.Cecil/SecurityDeclarationReader.cs: New. Handle both the 1.x
2070         and 2.0 formats for reading declarative security.
2071
2072 2005-10-18  Jb Evain  <jbevain@gmail.com>
2073
2074         * Mono.Cecil/GenericParameter.cs:
2075                 A little change before the fix.
2076
2077         * Mono.Cecil/ReflectionHelper.cs
2078           Mono.Cecil/MethodDefinition.cs
2079           Mono.Cecil.Cil/MethodBody.cs:
2080                 Implement method cloning.
2081
2082         * Mono.Cecil/ModuleReference.cs
2083           Mono.Cecil/FieldDefinition.cs
2084           Mono.Cecil/TypeReference.cs
2085           Mono.Cecil/ReflectionReader.cs
2086           Mono.Cecil/TypeDefinition.cs
2087           Mono.Cecil/EventDefinition.cs
2088           Mono.Cecil/ModuleDefinition.cs
2089           Mono.Cecil/FieldReference.cs
2090           Mono.Cecil/ReflectionWriter.cs
2091           Mono.Cecil/PropertyDefinition.cs
2092           Mono.Cecil/AssemblyFactory.cs:
2093                 Small API change.
2094
2095         * Mono.Cecil.Cil/CodeReader.cs:
2096                 Fix variables names.
2097
2098         TODO before 0.1:
2099                 Fix generic parameters,
2100                 generic writing,
2101                 constructor changes (with S.Type and SR.*Info)
2102
2103 2005-10-14  Jb Evain  <jbevain@gmail.com>
2104
2105         Work on generics support.
2106
2107         * CodeGen/cecil.xml: new collections, coded indexes, opcodes.
2108
2109         * Mono.Cecil/IGenericParameterCollection.cs
2110           Mono.Cecil/GenericParameterCollection.cs
2111           Mono.Cecil/IGenericArgumentCollection.cs
2112           Mono.Cecil/GenericArgumentCollection.cs:
2113                 Added new collections.
2114
2115         * Mono.Cecil.Metadata/Utilities.cs: updated.
2116         * Mono.Cecil.Metadata/TokenType.cs: added MethodSpec.
2117
2118         * Mono.Cecil/IGenericParameter.cs
2119           Mono.Cecil/GenericParameter.cs
2120           Mono.Cecil/IGenericParameterConstraints.cs
2121           Mono.Cecil/GenericParameterConstraints.cs
2122           Mono.Cecil/IGenericParameterProvider.cs
2123           Mono.Cecil/IGenericInstance.cs
2124           Mono.Cecil/IGenericInstanceType.cs
2125           Mono.Cecil/GenericInstanceType.cs
2126           Mono.Cecil/IGenericInstanceMethod.cs
2127           Mono.Cecil/GenericInstanceMethod.cs:
2128                 Generics API elements.
2129
2130         * Mono.Cecil/IMethod.cs
2131           Mono.Cecil/MethodReference.cs
2132           Mono.Cecil/ITypeReference.cs
2133           Mono.Cecil/TypeReference.cs:
2134                 Implement IGenericParameterProvider
2135
2136         * Mono.Cecil/ReflectionReader.cs
2137           Mono.Cecil/IReflectionVisitor.cs
2138           Mono.Cecil/BaseReflectionVisitor.cs
2139           Mono.Cecil/StructureReader.cs
2140           Mono.Cecil/AggressiveReflectionReader.cs
2141           Mono.Cecil/MemberReference.cs:
2142                 Support for the new generics elements.
2143
2144         * Mono.Cecil.Signatures/Var.cs
2145           Mono.Cecil.Signatures/MVar.cs
2146           Mono.Cecil.Signatures/GenericInstSignature.cs
2147           Mono.Cecil.Signatures/GenericInst.cs:
2148                 Added file header.
2149
2150         * Mono.Cecil.Signatures/SignatureReader.cs
2151           Mono.Cecil.Signatures/GenericInstSignature.cs
2152           Mono.Cecil.Signatures/MethodDefSig.cs
2153           Mono.Cecil.Signatures/GenericInst.cs
2154           Mono.Cecil.Signatures/MethodSpec.cs
2155           Mono.Cecil/MethodCallingConvention.cs
2156           Mono.Cecil.Cil/CodeReader.cs:
2157                 Added support for generic signatures.
2158
2159         * Mono.Cecil.Cil/OpCodes.cs:
2160                 Add consrained. opcode.
2161
2162         * Mono.Cecil.dll.sources:
2163                 Updated.
2164
2165         Known problems: !!parameters
2166
2167 2005-10-13  Jb Evain  <jbevain@gmail.com>
2168
2169         * Mono.Cecil/ReflectionHelper.cs
2170           Mono.Cecil/FieldDefinition.cs
2171           Mono.Cecil/CustomAttribute.cs
2172           Mono.Cecil/MethodReturnType.cs
2173           Mono.Cecil/TypeDefinition.cs
2174           Mono.Cecil/SecurityDeclaration.cs
2175           Mono.Cecil/MethodDefinition.cs
2176           Mono.Cecil/EventDefinition.cs
2177           Mono.Cecil/ModuleDefinition.cs
2178           Mono.Cecil/ParameterDefinition.cs
2179           Mono.Cecil/IMethodReturnType.cs
2180           Mono.Cecil/PropertyDefinition.cs
2181           Mono.Cecil.Cil/MethodBody.cs:
2182                 Work on the import.
2183         * Mono.Cecil/ITypeParameterType.cs
2184           Mono.Cecil/TypeParameterType.cs:
2185                 Correct the interface.
2186
2187 2005-10-12  Jb Evain  <jbevain@gmail.com>
2188
2189         * Mono.Cecil/EventDefinition.cs
2190           Mono.Cecil/TypeDefinition.cs
2191           Mono.Cecil/ModuleDefinition.cs
2192           Mono.Cecil/ReflectionWriter.cs
2193           Mono.Cecil/PropertyDefinition.cs:
2194                 Small fixes.
2195
2196 2005-09-16  Martin Baulig  <martin@ximian.com>
2197
2198         Added generics support to Cecil.
2199
2200         * Mono.Cecil/IGenericInstType.cs: New file.
2201         * Mono.Cecil/ITypeParameterType.cs: New file.
2202         * Mono.Cecil/IMethodTypeParameterType.cs: New file.
2203
2204         * Mono.Cecil.Metadata/ElementType.cs
2205         (ElementType): Added `Var', `MVar' and `GenericInst'.
2206
2207         * Mono.Cecil.Metadata/Utilities.cs
2208         (Utilities.GetMetadataToken): .NET 2.0 also uses TypeDef's in the
2209         MemberRefParent.
2210
2211         * Mono.Cecil/GenericInstType.cs: New file.
2212         * Mono.Cecil/MethodTypeParameterType.cs: New file.
2213         * Mono.Cecil/TypeParameterType.cs: New file.
2214
2215         * Mono.Cecil.Signatures/Var.cs: New file.
2216         * Mono.Cecil.Signatures/MVar.cs: New file.
2217         * Mono.Cecil.Signatures/GenericInst.cs: New file.
2218         * Mono.Cecil.Signatures/GenericInstSignature.cs: New file.
2219
2220         * Mono.Cecil/ReflectionReader.cs
2221         (ReflectionReader.GetTypeRefFromSig): Add the new types.
2222
2223         * Mono.Cecil.Signatures/SignatureReader.cs
2224         (SignatureReader.ReadType): Add the new types.
2225
2226 2005-10-06  Jb Evain  <jbevain@gmail.com>
2227
2228         * Mono.Cecil/ReflectionHelper.cs
2229           Mono.Cecil/ModuleDefinition.cs:
2230                 Fix a bug in type importing.
2231
2232 2005-10-06  Jb Evain  <jbevain@gmail.com>
2233
2234         * Hopefully, this is the last API change before the release of Cecil 0.1.
2235           Mono.Cecil.Implem has been moved to Mono.Cecil. The interfaces where
2236           very convenient for a reading API, it was far less convenient for a
2237           modification and writing one. The modification API still needs some work,
2238           but this should be easier this way.
2239
2240 2005-09-27  Jb Evain  <jbevain@gmail.com>
2241
2242         * Mono.Cecil.Metadata/MetadataReader.cs:
2243                 Fix resources reading.
2244
2245         * Mono.Cecil.Implem/StructureWriter.cs:
2246                 Correctly set the offset of resources in the manifest.
2247         * Mono.Cecil.Implem/StructureFactories.cs:
2248                 Use correct overrides when creating assembly references.
2249         * Mono.Cecil.Implem/ReflectionFactories:
2250                 Correctly create type references.
2251
2252 2005-09-06  Jb Evain  <jbevain@gmail.com>
2253
2254         * Mono.Cecil/IReflectionFactories.cs
2255           Mono.Cecil.Implem/ReflectionFactories.cs:
2256                 Allow the creation of reference types for methods
2257                 parameters and return types.
2258         * Mono.Cecil.Cil/ICilWorker.cs
2259           Mono.Cecil.Implem/CilWorker.cs
2260           Mono.Cecil.Implem/CodeReader.cs
2261           Mono.Cecil.Implem/CodeWriter.cs:
2262                 Global fix on the handling of parameters in instructions.
2263         * Mono.Cecil.Implem/AssemblyName.cs:
2264                 Correcty write the version of an assembly fullname.
2265                 Spotted by Bruno Cabral.
2266         * Mono.Cecil.Implem/TypeDefinition.cs:
2267                 Set the declaring type of a nested type on add.
2268         * Mono.Cecil.Implem/CustomAttribute.cs
2269           Mono.Cecil.Implem/ReflectionReader.cs
2270           Mono.Cecil.Implem/ReflectionWriter.cs
2271           Mono.Cecil.Implem/AggressiveReflectionReader.cs
2272           Mono.Cecil.Signatures/CustomAttrib.cs
2273           Mono.Cecil.Signatures/SignatureReader.cs:
2274                 Global fix on custom attribute handling. Some
2275                 custom attribute (containing enums) blobs can not be
2276                 decoded.
2277
2278 2005-09-04  Jb Evain  <jbevain@gmail.com>
2279
2280         * Mono.Cecil.Implem/Instruction.cs:
2281                 Add the setter for IInstruction::OpCode.
2282
2283 2005-09-02  Jb Evain  <jbevain@gmail.com>
2284
2285         * Mono.Cecil/ICustomAttribute.cs
2286           Mono.Cecil.Implem/ReflectionFactories.cs
2287           Mono.Cecil.Implem/CustomAttribute.cs
2288           Mono.Cecil.Implem/ReflectionWriter.cs
2289           Mono.Cecil.Signatures/SignatureWriter.cs:
2290                 Prepare the work on custom attributes.
2291         * Mono.Cecil.Cil/IInstruction.cs:
2292                 Let users modify the content of an instruction.
2293         * Mono.Cecil.Implem/StructureReader.cs:
2294                 Do not try to read 2.0 assemblies.
2295
2296 2005-08-28  Jb Evain  <jbevain@gmail.com>
2297
2298         * Mono.Cecil.Metadata/MetadataWriter.cs:
2299                 Write the fields initial value back.
2300                 As of this revision, a round tripped mcs
2301                 can compile Cecil.
2302
2303         * Mono.Cecil.Implem/ReflectionWriter.cs:
2304                 Emit things in proper order.
2305           Mono.Cecil.Implem/CodeReader.cs
2306           Mono.Cecil.Implem/CodeWriter.cs:
2307                 Correct bug with InlineVar opcodes.
2308                 Emit fat body if maxstack is set.
2309
2310         * Mono.Cecil.Implem/CodeWriter.cs:
2311                 Handle null tokens.
2312           Mono.Cecil.Metadata/MetadataWriter.cs:
2313                 Allow one empty string in the userstring heap.
2314
2315         * Mono.Cecil.Implem/ReflectionReader.cs
2316           Mono.Cecil.Implem/ReflectionWriter.cs:
2317                 Strings constant are unicode.
2318
2319         * Mono.Cecil/LoadingType.cs
2320           Mono.Cecil/AssemblyFactory.cs
2321           CodeGen/templates/IndexedCollectionImplem.cs
2322           CodeGen/templates/LzIndexedCollectionImplem.cs
2323           CodeGen/cecil.xml
2324           Mono.Cecil.Implem/InterfaceCollection.cs
2325           Mono.Cecil.Implem/ILazyLoadable.cs
2326           Mono.Cecil.Implem/ExternTypeCollection.cs
2327           Mono.Cecil.Implem/SecurityDeclarationCollection.cs
2328           Mono.Cecil.Implem/ReflectionHelper.cs
2329           Mono.Cecil.Implem/OverrideCollection.cs
2330           Mono.Cecil.Implem/EventDefinitionCollection.cs
2331           Mono.Cecil.Implem/FieldDefinitionCollection.cs
2332           Mono.Cecil.Implem/PropertyDefinitionCollection.cs
2333           Mono.Cecil.Implem/CustomAttributeCollection.cs
2334           Mono.Cecil.Implem/MethodDefinition.cs
2335           Mono.Cecil.Implem/EventDefinition.cs
2336           Mono.Cecil.Implem/FieldDefinition.cs
2337           Mono.Cecil.Implem/ModuleDefinition.cs
2338           Mono.Cecil.Implem/ReflectionController.cs
2339           Mono.Cecil.Implem/TypeReference.cs
2340           Mono.Cecil.Implem/ReflectionReader.cs
2341           Mono.Cecil.Implem/ReflectionWriter.cs
2342           Mono.Cecil.Implem/AssemblyDefinition.cs
2343           Mono.Cecil.Implem/TypeDefinition.cs
2344           Mono.Cecil.Implem/AggressiveReflectionReader.cs
2345           Mono.Cecil.Implem/MethodDefinitionCollection.cs
2346           Mono.Cecil.Implem/LazyReflectionReader.cs
2347           Mono.Cecil.Implem/ParameterDefinition.cs
2348           Mono.Cecil.Implem/PropertyDefinition.cs
2349           Mono.Cecil.Implem/ConstructorCollection.cs
2350           Mono.Cecil.Signatures/SignatureWriter.cs:
2351                 Get rid of the complexity introduced by the
2352                 internal lazy loading.
2353
2354         * Mono.Cecil.Implem/EventDefinition.cs
2355           Mono.Cecil.Implem/PropertyDefinition.cs:
2356                 Fix the behavior of .ToString ().
2357
2358 2005-08-27  Jb Evain  <jbevain@gmail.com>
2359
2360         * Mono.Cecil.Implem/ReflectionWriter.cs:
2361                 Write back custom attributes of modules and assemblies
2362                 as well as their security declaration.
2363         * Mono.Cecil.Implem/CodeWriter.cs:
2364                 Fix branches computation.
2365           Mono.Cecil.Signatures/SignatureReader.cs:
2366                 Disable custom attribute reading cache.
2367
2368         * CodeGen/templates/ImageWriter.cs
2369           Mono.Cecil.Binary/ImageWriter.cs:
2370                 Compute relocations.
2371         * Mono.Cecil.Implem/ReflectionFactories.cs:
2372                 Blah.
2373
2374         * Mono.Cecil.Implem/TablesComparer.cs
2375           Mono.Cecil.Implem/ReflectionWriter.cs:
2376                 Sort all tables that need to be sorted.
2377
2378         * Mono.Cecil.Implem/CodeReader.cs:
2379                 Oops. Add fat exception handlers to the method body.
2380
2381         * CodeGen/templates/ImageWriter.cs
2382           Mono.Cecil.Implem/StructureWriter.cs
2383           Mono.Cecil.Implem/ReflectionWriter.cs
2384           Mono.Cecil.Implem/TypeDefinition.cs
2385           Mono.Cecil.Binary/ImageWriter.cs:
2386                 Correct a few bugs: relocations now works.
2387                 Encode enums in custom attributes.
2388                 Compute memberrefs tokens before visitings types.
2389
2390         * Mono.Cecil.Implem/FieldDefinition.cs:
2391                 Correct a bug that causes null ref due to
2392                 the new api.
2393         * Mono.Cecil.Signatures/SignatureWriter.cs:
2394                 Implement a very little more custom attributes
2395                 writing.
2396
2397 2005-08-26  Jb Evain  <jbevain@gmail.com>
2398
2399         * Mono.Cecil/IMemberReferenceCollection.cs
2400           Mono.Cecil/IReflectionVisitor.cs
2401           Mono.Cecil/IReflectionFactories.cs
2402           Mono.Cecil/BaseReflectionVisitor.cs
2403           Mono.Cecil/IModuleDefinition.cs
2404           CodeGen/cecil.xml
2405           Mono.Cecil.Implem/ReflectionFactories.cs
2406           Mono.Cecil.Implem/ReflectionHelper.cs
2407           Mono.Cecil.Implem/ModuleDefinition.cs
2408           Mono.Cecil.Implem/MemberReferenceCollection.cs
2409           Mono.Cecil.Implem/ReflectionReader.cs
2410           Mono.Cecil.Implem/ReflectionWriter.cs
2411           Mono.Cecil.Implem/ParameterDefinition.cs:
2412                 Handle member references nicely.
2413
2414         * Mono.Cecil/ICustomAttributeProvider.cs
2415           Mono.Cecil/IModuleDefinitionCollection.cs
2416           Mono.Cecil/IReflectionStructureFactories.cs
2417           Mono.Cecil/IInterfaceCollection.cs
2418           Mono.Cecil/IMethod.cs
2419           Mono.Cecil/IReflectionFactories.cs
2420           Mono.Cecil/INestedTypeCollection.cs
2421           Mono.Cecil/ITypeReferenceCollection.cs
2422           Mono.Cecil/IExternTypeCollection.cs
2423           Mono.Cecil/IAssemblyDefinition.cs
2424           Mono.Cecil/ITypeDefinition.cs
2425           Mono.Cecil/ICustomAttribute.cs
2426           Mono.Cecil/IArrayDimensionCollection.cs
2427           Mono.Cecil/TypeFactory.cs
2428           Mono.Cecil/IConstructorCollection.cs
2429           Mono.Cecil/IHasSecurity.cs
2430           Mono.Cecil/IMethodDefinitionCollection.cs
2431           Mono.Cecil/IPropertyDefinitionCollection.cs
2432           Mono.Cecil/IAssemblyNameReferenceCollection.cs
2433           Mono.Cecil/IModuleReferenceCollection.cs
2434           Mono.Cecil/IArrayType.cs
2435           Mono.Cecil/ISecurityDeclarationCollection.cs
2436           Mono.Cecil/IModuleDefinition.cs
2437           Mono.Cecil/IResourceCollection.cs
2438           Mono.Cecil/IParameterDefinitionCollection.cs
2439           Mono.Cecil/IEventDefinitionCollection.cs
2440           Mono.Cecil/ITypeDefinitionCollection.cs
2441           Mono.Cecil/IFieldDefinitionCollection.cs
2442           Mono.Cecil/ICustomAttributeCollection.cs
2443           Mono.Cecil/ISecurityDeclaration.cs
2444           Mono.Cecil/IOverrideCollection.cs
2445           Mono.Cecil/ITypeReference.cs
2446           Mono.Cecil.Cil/IExceptionHandlerCollection.cs
2447           Mono.Cecil.Cil/IVariableDefinitionCollection.cs
2448           Mono.Cecil.Cil/IInstructionCollection.cs
2449           Mono.Cecil.Cil/IMethodBody.cs
2450           CodeGen/cecil-gen-types.rb
2451           CodeGen/templates/ImageWriter.cs
2452           CodeGen/templates/IndexedCollectionImplem.cs
2453           CodeGen/templates/NamedCollectionImplem.cs
2454           CodeGen/templates/IIndexedCollection.cs
2455           CodeGen/templates/LzIndexedCollectionImplem.cs
2456           CodeGen/templates/INamedCollection.cs
2457           CodeGen/templates/LzNamedCollectionImplem.cs
2458           Mono.Cecil.Implem/InterfaceCollection.cs
2459           Mono.Cecil.Implem/AssemblyLinkedResource.cs
2460           Mono.Cecil.Implem/ModuleReferenceCollection.cs
2461           Mono.Cecil.Implem/ExternTypeCollection.cs
2462           Mono.Cecil.Implem/SecurityDeclarationCollection.cs
2463           Mono.Cecil.Implem/ReflectionFactories.cs
2464           Mono.Cecil.Implem/ReflectionHelper.cs
2465           Mono.Cecil.Implem/OverrideCollection.cs
2466           Mono.Cecil.Implem/ArrayDimensionCollection.cs
2467           Mono.Cecil.Implem/EmbeddedResource.cs
2468           Mono.Cecil.Implem/CilWorker.cs
2469           Mono.Cecil.Implem/ParameterDefinitionCollection.cs
2470           Mono.Cecil.Implem/EventDefinitionCollection.cs
2471           Mono.Cecil.Implem/FieldDefinitionCollection.cs
2472           Mono.Cecil.Implem/PropertyDefinitionCollection.cs
2473           Mono.Cecil.Implem/ModuleDefinitionCollection.cs
2474           Mono.Cecil.Implem/CustomAttributeCollection.cs
2475           Mono.Cecil.Implem/VariableDefinitionCollection.cs
2476           Mono.Cecil.Implem/TypeReferenceCollection.cs
2477           Mono.Cecil.Implem/MemberDefinition.cs
2478           Mono.Cecil.Implem/StructureReader.cs
2479           Mono.Cecil.Implem/FunctionPointerType.cs
2480           Mono.Cecil.Implem/MethodDefinition.cs
2481           Mono.Cecil.Implem/EventDefinition.cs
2482           Mono.Cecil.Implem/FieldDefinition.cs
2483           Mono.Cecil.Implem/InstructionCollection.cs
2484           Mono.Cecil.Implem/VariableDefinition.cs
2485           Mono.Cecil.Implem/CustomAttribute.cs
2486           Mono.Cecil.Implem/ModuleDefinition.cs
2487           Mono.Cecil.Implem/MethodReference.cs
2488           Mono.Cecil.Implem/TypeReference.cs
2489           Mono.Cecil.Implem/StructureFactories.cs
2490           Mono.Cecil.Implem/TypeDefinitionCollection.cs
2491           Mono.Cecil.Implem/AssemblyNameReferenceCollection.cs
2492           Mono.Cecil.Implem/ReflectionReader.cs
2493           Mono.Cecil.Implem/MethodReturnType.cs
2494           Mono.Cecil.Implem/MemberReference.cs
2495           Mono.Cecil.Implem/ReflectionWriter.cs
2496           Mono.Cecil.Implem/Resource.cs
2497           Mono.Cecil.Implem/AssemblyDefinition.cs
2498           Mono.Cecil.Implem/TypeDefinition.cs
2499           Mono.Cecil.Implem/AggressiveReflectionReader.cs
2500           Mono.Cecil.Implem/CodeReader.cs
2501           Mono.Cecil.Implem/FieldReference.cs
2502           Mono.Cecil.Implem/MethodDefinitionCollection.cs
2503           Mono.Cecil.Implem/LazyReflectionReader.cs
2504           Mono.Cecil.Implem/LinkedResource.cs
2505           Mono.Cecil.Implem/ParameterDefinition.cs
2506           Mono.Cecil.Implem/PropertyDefinition.cs
2507           Mono.Cecil.Implem/MethodBody.cs
2508           Mono.Cecil.Implem/NestedTypeCollection.cs
2509           Mono.Cecil.Implem/ConstructorCollection.cs
2510           Mono.Cecil.Implem/ResourceCollection.cs
2511           Mono.Cecil.Implem/ExceptionHandlerCollection.cs
2512           Mono.Cecil.Binary/ImageWriter.cs
2513           Mono.Cecil.Binary/ImageReader.cs:
2514                 Fix the writing API before the API freeze. Few things
2515                 are not implemented, see todos.
2516
2517 2005-08-20  Jb Evain  <jbevain@gmail.com>
2518
2519         * Mono.Cecil/ITypeDefinition.cs
2520           Mono.Cecil/IModuleDefinition.cs
2521           Mono.Cecil/ITypeReference.cs
2522           Mono.Cecil.Implem/ReflectionHelper.cs
2523           Mono.Cecil.Implem/ModuleDefinition.cs
2524           Mono.Cecil.Implem/TypeReference.cs
2525           Mono.Cecil.Implem/ReflectionReader.cs
2526           Mono.Cecil.Implem/ReflectionWriter.cs
2527           Mono.Cecil.Implem/TypeDefinition.cs:
2528                 Add way to know if a type reference is a
2529                 value type or not. This hack saved my life.
2530
2531         * Mono.Cecil.Implem/CodeWriter.cs:
2532                 Fix typespec emitting.
2533
2534         * Mono.Cecil/IReflectionVisitor.cs
2535           Mono.Cecil/IMethod.cs
2536           Mono.Cecil/BaseReflectionVisitor.cs
2537           Mono.Cecil/ITypeDefinition.cs
2538           Mono.Cecil/IConstructorCollection.cs
2539           CodeGen/cecil.xml
2540           Mono.Cecil.Implem/MethodDefinition.cs
2541           Mono.Cecil.Implem/ReflectionReader.cs
2542           Mono.Cecil.Implem/ReflectionWriter.cs
2543           Mono.Cecil.Implem/TypeDefinition.cs
2544           Mono.Cecil.Implem/ConstructorCollection.cs:
2545                 Support constructors decently.
2546
2547         * CodeGen/templates/Utilities.cs
2548           Mono.Cecil.Metadata/Utilities.cs:
2549                 Return a null token if the rid of a md token
2550                 is 0. Fix the crash when Mono try to read
2551                 assemblies emitted by Cecil.
2552
2553 2005-08-19  Jb Evain  <jbevain@gmail.com>
2554
2555         * Mono.Cecil.Implem/ReflectionWriter.cs:
2556                 Set the RVA of a method only if it can
2557                 have a body.
2558         * Mono.Cecil.Signatures/SignatureReader.cs:
2559                 Remove debugging stuff.
2560
2561         * Mono.Cecil.Implem/ReflectionReader.cs
2562           Mono.Cecil.Signatures/SignatureReader.cs:
2563                 Fix custom marshaller reading.
2564
2565         * CodeGen/templates/NamedCollectionImplem.cs
2566           CodeGen/templates/LzNamedCollectionImplem.cs
2567           Mono.Cecil.Implem/ExternTypeCollection.cs
2568           Mono.Cecil.Implem/TypeReferenceCollection.cs
2569           Mono.Cecil.Implem/TypeDefinitionCollection.cs
2570           Mono.Cecil.Implem/ReflectionReader.cs
2571           Mono.Cecil.Implem/ReflectionWriter.cs
2572           Mono.Cecil.Implem/TablesComparer.cs
2573           Mono.Cecil.Implem/Constants.cs
2574           Mono.Cecil.Signatures/SignatureWriter.cs:
2575                 Correct bugs in type* tables generations.
2576
2577         * Mono.Cecil/IModuleDefinitionCollection.cs
2578           Mono.Cecil/IInterfaceCollection.cs
2579           Mono.Cecil/INestedTypeCollection.cs
2580           Mono.Cecil/ITypeReferenceCollection.cs
2581           Mono.Cecil/IExternTypeCollection.cs
2582           Mono.Cecil/IArrayDimensionCollection.cs
2583           Mono.Cecil/IMethodDefinitionCollection.cs
2584           Mono.Cecil/IPropertyDefinitionCollection.cs
2585           Mono.Cecil/IAssemblyNameReferenceCollection.cs
2586           Mono.Cecil/IModuleReferenceCollection.cs
2587           Mono.Cecil/ISecurityDeclarationCollection.cs
2588           Mono.Cecil/IResourceCollection.cs
2589           Mono.Cecil/IParameterDefinitionCollection.cs
2590           Mono.Cecil/IEventDefinitionCollection.cs
2591           Mono.Cecil/ITypeDefinitionCollection.cs
2592           Mono.Cecil/IFieldDefinitionCollection.cs
2593           Mono.Cecil/ICustomAttributeCollection.cs
2594           Mono.Cecil/IOverrideCollection.cs
2595           Mono.Cecil.Cil/IExceptionHandlerCollection.cs
2596           Mono.Cecil.Cil/IVariableDefinitionCollection.cs
2597           Mono.Cecil.Cil/IInstructionCollection.cs
2598           CodeGen/templates/IIndexedCollection.cs
2599           CodeGen/templates/INamedCollection.cs
2600           Mono.Cecil.Implem/ReflectionWriter.cs
2601           Mono.Cecil.Binary/SubSystem.cs
2602           Mono.Cecil.Signatures/SignatureWriter.cs:
2603                 On going change to the writing api. Not setter allowed on
2604                 collections. Work on custom attribute encoding. Remove
2605                 the Flags on Subsystem.
2606
2607         * Mono.Cecil.dll.sources
2608           Mono.Cecil.Implem/ReflectionHelper.cs
2609           Mono.Cecil.Implem/TypeReference.cs
2610           Mono.Cecil.Implem/ReflectionReader.cs
2611           Mono.Cecil.Implem/ReflectionWriter.cs
2612           Mono.Cecil.Implem/TypeDefinition.cs
2613           Mono.Cecil.Implem/TablesComparer.cs
2614           Mono.Cecil.Signatures/SignatureReader.cs:
2615                 Fix the build.
2616                 Stop to prefix typeref by the scope.
2617                 Cecil will have buggy behaviour if it have to handle
2618                 two typeref with the same namespace+name, but for the
2619                 moment, let it like that.
2620
2621         * Mono.Cecil/INestedTypeCollection.cs
2622           Mono.Cecil/IModuleReference.cs
2623           Mono.Cecil/ITypeReferenceCollection.cs
2624           Mono.Cecil/IAssemblyName.cs
2625           Mono.Cecil/IExternTypeCollection.cs
2626           Mono.Cecil/IMetadataScope.cs
2627           Mono.Cecil/IModuleDefinition.cs
2628           Mono.Cecil/IResourceCollection.cs
2629           Mono.Cecil/ITypeDefinitionCollection.cs
2630           CodeGen/templates/NamedCollectionImplem.cs
2631           CodeGen/templates/INamedCollection.cs
2632           CodeGen/templates/LzNamedCollectionImplem.cs
2633           CodeGen/cecil.xml
2634           Mono.Cecil.Metadata/RowCollection.cs
2635           Mono.Cecil.Metadata/MetadataWriter.cs
2636           Mono.Cecil.Metadata/MetadataToken.cs
2637           Mono.Cecil.Implem/TablesComparer.cs
2638           Mono.Cecil.Implem/ExternTypeCollection.cs
2639           Mono.Cecil.Implem/ReflectionHelper.cs
2640           Mono.Cecil.Implem/TypeReferenceCollection.cs
2641           Mono.Cecil.Implem/StructureReader.cs
2642           Mono.Cecil.Implem/StructureWriter.cs
2643           Mono.Cecil.Implem/ModuleDefinition.cs
2644           Mono.Cecil.Implem/TypeReference.cs
2645           Mono.Cecil.Implem/TypeDefinitionCollection.cs
2646           Mono.Cecil.Implem/ReflectionReader.cs
2647           Mono.Cecil.Implem/ReflectionWriter.cs
2648           Mono.Cecil.Implem/TypeDefinition.cs
2649           Mono.Cecil.Implem/CodeReader.cs
2650           Mono.Cecil.Implem/CodeWriter.cs
2651           Mono.Cecil.Implem/Constants.cs
2652           Mono.Cecil.Implem/NestedTypeCollection.cs
2653           Mono.Cecil.Implem/ResourceCollection.cs
2654           Mono.Cecil.Signatures/SignatureReader.cs
2655           Mono.Cecil.Signatures/SignatureWriter.cs:
2656                 Correct some part of the API.
2657                 Correct tons of bugs in the writing layer.
2658
2659 2005-08-17  Jb Evain  <jbevain@gmail.com>
2660
2661         * Mono.Cecil/IField.cs
2662           CodeGen/cecil.xml
2663           Mono.Cecil.Metadata/MetadataReader.cs
2664           Mono.Cecil.Metadata/MetadataWriter.cs
2665           Mono.Cecil.Implem/ReflectionHelper.cs
2666           Mono.Cecil.Implem/StructureReader.cs
2667           Mono.Cecil.Implem/FieldDefinition.cs
2668           Mono.Cecil.Implem/BaseReflectionReader.cs
2669           Mono.Cecil.Implem/ReflectionReader.cs
2670           Mono.Cecil.Implem/ReflectionWriter.cs
2671           Mono.Cecil.Implem/TypeDefinition.cs
2672           Mono.Cecil.Implem/AggressiveReflectionReader.cs
2673           Mono.Cecil.Implem/CodeReader.cs
2674           Mono.Cecil.Implem/IDetailReader.cs
2675           Mono.Cecil.Implem/CodeWriter.cs
2676           Mono.Cecil.Implem/LazyReflectionReader.cs
2677           Mono.Cecil.Signatures/SignatureWriter.cs:
2678                 Work on the working layer. Implement field initial
2679                 data. Bugs.
2680
2681 2005-08-16  Jb Evain  <jbevain@gmail.com>
2682
2683         * Mono.Cecil.Implem/ReflectionWriter.cs
2684           Mono.Cecil.Implem/CodeWriter.cs
2685           Mono.Cecil.Signatures/SignatureReader.cs:
2686                 Implement local var sig writing.
2687
2688         * Mono.Cecil.Implem/ArrayType.cs:
2689                 Style.
2690           Mono.Cecil.Implem/ParameterDefinition.cs:
2691                 Correct a bug in module obtention.
2692           Mono.Cecil.Signatures/SignatureReader.cs:
2693                 Correct a bug in arrays's signature reading.
2694
2695         * Mono.Cecil.dll.sources
2696           Mono.Cecil/IReflectionVisitor.cs
2697           Mono.Cecil/IModuleDefinitionCollection.cs
2698           Mono.Cecil/IInterfaceCollection.cs
2699           Mono.Cecil/IProperty.cs
2700           Mono.Cecil/BaseReflectionVisitor.cs
2701           Mono.Cecil/INestedTypeCollection.cs
2702           Mono.Cecil/ITypeReferenceCollection.cs
2703           Mono.Cecil/IParameter.cs
2704           Mono.Cecil/IExternTypeCollection.cs
2705           Mono.Cecil/IField.cs
2706           Mono.Cecil/IArrayDimensionCollection.cs
2707           Mono.Cecil/IMethodDefinitionCollection.cs
2708           Mono.Cecil/IPropertyDefinitionCollection.cs
2709           Mono.Cecil/IAssemblyNameReferenceCollection.cs
2710           Mono.Cecil/IModuleReferenceCollection.cs
2711           Mono.Cecil/IHasConstant.cs
2712           Mono.Cecil/ISecurityDeclarationCollection.cs
2713           Mono.Cecil/IMetadataTokenProvider.cs
2714           Mono.Cecil/IModuleDefinition.cs
2715           Mono.Cecil/BaseStructureVisitor.cs
2716           Mono.Cecil/IResourceCollection.cs
2717           Mono.Cecil/IParameterDefinitionCollection.cs
2718           Mono.Cecil/IEventDefinitionCollection.cs
2719           Mono.Cecil/ITypeDefinitionCollection.cs
2720           Mono.Cecil/IFieldDefinitionCollection.cs
2721           Mono.Cecil/ICustomAttributeCollection.cs
2722           Mono.Cecil/IOverrideCollection.cs
2723           Mono.Cecil.Cil/IExceptionHandlerCollection.cs
2724           Mono.Cecil.Cil/IVariableDefinitionCollection.cs
2725           Mono.Cecil.Cil/IInstructionCollection.cs
2726           CodeGen/cecil-gen.rb
2727           CodeGen/cecil-gen-types.rb
2728           CodeGen/templates/IndexedCollectionImplem.cs
2729           CodeGen/templates/NamedCollectionImplem.cs
2730           CodeGen/templates/IIndexedCollection.cs
2731           CodeGen/templates/LzIndexedCollectionImplem.cs
2732           CodeGen/templates/INamedCollection.cs
2733           CodeGen/templates/LzNamedCollectionImplem.cs
2734           CodeGen/cecil.xml
2735           Mono.Cecil.Metadata/MetadataRowWriter.cs
2736           Mono.Cecil.Metadata/MetadataWriter.cs
2737           Mono.Cecil.Implem/InterfaceCollection.cs
2738           Mono.Cecil.Implem/ModuleReferenceCollection.cs
2739           Mono.Cecil.Implem/ExternTypeCollection.cs
2740           Mono.Cecil.Implem/SecurityDeclarationCollection.cs
2741           Mono.Cecil.Implem/OverrideCollection.cs
2742           Mono.Cecil.Implem/ParameterDefinitionCollection.cs
2743           Mono.Cecil.Implem/EventDefinitionCollection.cs
2744           Mono.Cecil.Implem/FieldDefinitionCollection.cs
2745           Mono.Cecil.Implem/PropertyDefinitionCollection.cs
2746           Mono.Cecil.Implem/ModuleDefinitionCollection.cs
2747           Mono.Cecil.Implem/CustomAttributeCollection.cs
2748           Mono.Cecil.Implem/VariableDefinitionCollection.cs
2749           Mono.Cecil.Implem/TypeReferenceCollection.cs
2750           Mono.Cecil.Implem/StructureReader.cs
2751           Mono.Cecil.Implem/MethodDefinition.cs
2752           Mono.Cecil.Implem/EventDefinition.cs
2753           Mono.Cecil.Implem/FieldDefinition.cs
2754           Mono.Cecil.Implem/InstructionCollection.cs
2755           Mono.Cecil.Implem/StructureWriter.cs
2756           Mono.Cecil.Implem/ModuleDefinition.cs
2757           Mono.Cecil.Implem/MethodReference.cs
2758           Mono.Cecil.Implem/TypeReference.cs
2759           Mono.Cecil.Implem/TypeDefinitionCollection.cs
2760           Mono.Cecil.Implem/AssemblyNameReferenceCollection.cs
2761           Mono.Cecil.Implem/ReflectionReader.cs
2762           Mono.Cecil.Implem/MethodReturnType.cs
2763           Mono.Cecil.Implem/ReflectionWriter.cs
2764           Mono.Cecil.Implem/AssemblyDefinition.cs
2765           Mono.Cecil.Implem/TypeDefinition.cs
2766           Mono.Cecil.Implem/AggressiveReflectionReader.cs
2767           Mono.Cecil.Implem/MethodDefinitionCollection.cs
2768           Mono.Cecil.Implem/CodeWriter.cs
2769           Mono.Cecil.Implem/LazyReflectionReader.cs
2770           Mono.Cecil.Implem/ParameterDefinition.cs
2771           Mono.Cecil.Implem/PropertyDefinition.cs
2772           Mono.Cecil.Implem/NestedTypeCollection.cs
2773           Mono.Cecil.Implem/ResourceCollection.cs
2774           Mono.Cecil.Implem/ExceptionHandlerCollection.cs
2775           Mono.Cecil.Signatures/SignatureReader.cs
2776           Mono.Cecil.Signatures/SignatureWriter.cs:
2777                 Working on the writing layer.
2778                 Begin to fix brokens part of the API.
2779
2780 2005-08-15  Jb Evain  <jbevain@gmail.com>
2781
2782         * Mono.Cecil/ITypeDefinition.cs
2783           CodeGen/templates/MetadataTableReader.cs
2784           CodeGen/templates/PEFileHeader.cs
2785           CodeGen/templates/ImageWriter.cs
2786           CodeGen/templates/CLIHeader.cs
2787           CodeGen/templates/PEOptionalHeader.cs
2788           CodeGen/templates/MetadataTableWriter.cs
2789           CodeGen/templates/Table.cs
2790           CodeGen/templates/MetadataRowReader.cs
2791           CodeGen/templates/BaseMetadataVisitor.cs
2792           CodeGen/templates/Section.cs
2793           CodeGen/templates/MetadataRowWriter.cs
2794           CodeGen/templates/ImageReader.cs
2795           CodeGen/templates/IMetadataVisitor.cs
2796           Mono.Cecil.Metadata/Assembly.cs
2797           Mono.Cecil.Metadata/PropertyMap.cs
2798           Mono.Cecil.Metadata/InterfaceImpl.cs
2799           Mono.Cecil.Metadata/MetadataInitializer.cs
2800           Mono.Cecil.Metadata/Constant.cs
2801           Mono.Cecil.Metadata/MethodSpec.cs
2802           Mono.Cecil.Metadata/BaseMetadataVisitor.cs
2803           Mono.Cecil.Metadata/DeclSecurity.cs
2804           Mono.Cecil.Metadata/TypeDef.cs
2805           Mono.Cecil.Metadata/MethodImpl.cs
2806           Mono.Cecil.Metadata/GenericParamConstraint.cs
2807           Mono.Cecil.Metadata/NestedClass.cs
2808           Mono.Cecil.Metadata/MetadataTableReader.cs
2809           Mono.Cecil.Metadata/AssemblyRefProcessor.cs
2810           Mono.Cecil.Metadata/AssemblyRef.cs
2811           Mono.Cecil.Metadata/AssemblyRefOS.cs
2812           Mono.Cecil.Metadata/Method.cs
2813           Mono.Cecil.Metadata/RowCollection.cs
2814           Mono.Cecil.Metadata/MetadataTableWriter.cs
2815           Mono.Cecil.Metadata/StringsHeap.cs
2816           Mono.Cecil.Metadata/MetadataRowReader.cs
2817           Mono.Cecil.Metadata/ExportedType.cs
2818           Mono.Cecil.Metadata/CustomAttribute.cs
2819           Mono.Cecil.Metadata/Param.cs
2820           Mono.Cecil.Metadata/MetadataReader.cs
2821           Mono.Cecil.Metadata/ClassLayout.cs
2822           Mono.Cecil.Metadata/MetadataRowWriter.cs
2823           Mono.Cecil.Metadata/BlobHeap.cs
2824           Mono.Cecil.Metadata/MetadataWriter.cs
2825           Mono.Cecil.Metadata/AssemblyOS.cs
2826           Mono.Cecil.Metadata/ModuleRef.cs
2827           Mono.Cecil.Metadata/MetadataRoot.cs
2828           Mono.Cecil.Metadata/UserStringsHeap.cs
2829           Mono.Cecil.Metadata/FieldMarshal.cs
2830           Mono.Cecil.Metadata/GenericParam.cs
2831           Mono.Cecil.Metadata/ImplMap.cs
2832           Mono.Cecil.Metadata/TableCollection.cs
2833           Mono.Cecil.Metadata/TablesHeap.cs
2834           Mono.Cecil.Metadata/MetadataStreamCollection.cs
2835           Mono.Cecil.Metadata/ManifestResource.cs
2836           Mono.Cecil.Metadata/TypeRef.cs
2837           Mono.Cecil.Metadata/AssemblyProcessor.cs
2838           Mono.Cecil.Metadata/EventMap.cs
2839           Mono.Cecil.Metadata/File.cs
2840           Mono.Cecil.Metadata/Event.cs
2841           Mono.Cecil.Metadata/FieldLayout.cs
2842           Mono.Cecil.Metadata/Field.cs
2843           Mono.Cecil.Metadata/Property.cs
2844           Mono.Cecil.Metadata/Module.cs
2845           Mono.Cecil.Metadata/GuidHeap.cs
2846           Mono.Cecil.Metadata/MethodSemantics.cs
2847           Mono.Cecil.Metadata/StandAloneSig.cs
2848           Mono.Cecil.Metadata/MetadataStream.cs
2849           Mono.Cecil.Metadata/FieldRVA.cs
2850           Mono.Cecil.Metadata/TypeSpec.cs
2851           Mono.Cecil.Metadata/MemberRef.cs
2852           Mono.Cecil.Metadata/IMetadataVisitor.cs
2853           Mono.Cecil.Implem/TypeDefinition.cs
2854           Mono.Cecil.Signatures/MethodRefSig.cs
2855           Mono.Cecil.Signatures/SignatureReader.cs
2856           Mono.Cecil.Signatures/FieldSig.cs
2857           Mono.Cecil.Signatures/PropertySig.cs
2858           Mono.Cecil.Signatures/ISignatureVisitor.cs
2859           Mono.Cecil.Signatures/SignatureWriter.cs
2860           Mono.Cecil.Signatures/MethodDefSig.cs
2861           Mono.Cecil.Signatures/LocalVarSig.cs
2862           Mono.Cecil.Binary/PEFileHeader.cs
2863           Mono.Cecil.Binary/IBinaryVisitor.cs
2864           Mono.Cecil.Binary/ImageWriter.cs
2865           Mono.Cecil.Binary/CLIHeader.cs
2866           Mono.Cecil.Binary/SectionCollection.cs
2867           Mono.Cecil.Binary/Image.cs
2868           Mono.Cecil.Binary/PEOptionalHeader.cs
2869           Mono.Cecil.Binary/ImageInitializer.cs
2870           Mono.Cecil.Binary/Imports.cs
2871           Mono.Cecil.Binary/BaseImageVisitor.cs
2872           Mono.Cecil.Binary/DOSHeader.cs
2873           Mono.Cecil.Binary/Section.cs
2874           Mono.Cecil.Binary/ImageReader.cs:
2875                 Apply the new visitor model to the rest of Cecil.
2876
2877         * Mono.Cecil/IReflectionVisitor.cs
2878           Mono.Cecil/BaseReflectionVisitor.cs
2879           Mono.Cecil/IReflectionStructureVisitor.cs
2880           Mono.Cecil/BaseStructureVisitor.cs
2881           Mono.Cecil.Cil/BaseCodeVisitor.cs
2882           Mono.Cecil.Cil/ICodeVisitor.cs
2883           CodeGen/cecil-gen.rb
2884           CodeGen/cecil-gen-types.rb
2885           CodeGen/templates/IndexedCollectionImplem.cs
2886           CodeGen/templates/NamedCollectionImplem.cs
2887           CodeGen/templates/LzIndexedCollectionImplem.cs
2888           CodeGen/templates/LzNamedCollectionImplem.cs
2889           CodeGen/cecil.xml
2890           Mono.Cecil.Implem/InterfaceCollection.cs
2891           Mono.Cecil.Implem/AssemblyLinkedResource.cs
2892           Mono.Cecil.Implem/ModuleReferenceCollection.cs
2893           Mono.Cecil.Implem/AssemblyName.cs
2894           Mono.Cecil.Implem/Instruction.cs
2895           Mono.Cecil.Implem/ExternTypeCollection.cs
2896           Mono.Cecil.Implem/MarshalDesc.cs
2897           Mono.Cecil.Implem/SecurityDeclarationCollection.cs
2898           Mono.Cecil.Implem/OverrideCollection.cs
2899           Mono.Cecil.Implem/ExceptionHandler.cs
2900           Mono.Cecil.Implem/EmbeddedResource.cs
2901           Mono.Cecil.Implem/ModuleReference.cs
2902           Mono.Cecil.Implem/ParameterDefinitionCollection.cs
2903           Mono.Cecil.Implem/EventDefinitionCollection.cs
2904           Mono.Cecil.Implem/FieldDefinitionCollection.cs
2905           Mono.Cecil.Implem/PropertyDefinitionCollection.cs
2906           Mono.Cecil.Implem/ModuleDefinitionCollection.cs
2907           Mono.Cecil.Implem/CustomAttributeCollection.cs
2908           Mono.Cecil.Implem/VariableDefinitionCollection.cs
2909           Mono.Cecil.Implem/TypeReferenceCollection.cs
2910           Mono.Cecil.Implem/StructureReader.cs
2911           Mono.Cecil.Implem/MethodDefinition.cs
2912           Mono.Cecil.Implem/EventDefinition.cs
2913           Mono.Cecil.Implem/FieldDefinition.cs
2914           Mono.Cecil.Implem/InstructionCollection.cs
2915           Mono.Cecil.Implem/StructureWriter.cs
2916           Mono.Cecil.Implem/ModuleDefinition.cs
2917           Mono.Cecil.Implem/CustomAttribute.cs
2918           Mono.Cecil.Implem/VariableDefinition.cs
2919           Mono.Cecil.Implem/TypeReference.cs
2920           Mono.Cecil.Implem/TypeDefinitionCollection.cs
2921           Mono.Cecil.Implem/AssemblyNameReferenceCollection.cs
2922           Mono.Cecil.Implem/ReflectionReader.cs
2923           Mono.Cecil.Implem/ReflectionWriter.cs
2924           Mono.Cecil.Implem/PInvokeInfo.cs
2925           Mono.Cecil.Implem/AssemblyDefinition.cs
2926           Mono.Cecil.Implem/TypeDefinition.cs
2927           Mono.Cecil.Implem/CodeReader.cs
2928           Mono.Cecil.Implem/AggressiveReflectionReader.cs
2929           Mono.Cecil.Implem/MethodDefinitionCollection.cs
2930           Mono.Cecil.Implem/CodeWriter.cs
2931           Mono.Cecil.Implem/SecurityDeclaration.cs
2932           Mono.Cecil.Implem/LazyReflectionReader.cs
2933           Mono.Cecil.Implem/LinkedResource.cs
2934           Mono.Cecil.Implem/ParameterDefinition.cs
2935           Mono.Cecil.Implem/PropertyDefinition.cs
2936           Mono.Cecil.Implem/MethodBody.cs
2937           Mono.Cecil.Implem/NestedTypeCollection.cs
2938           Mono.Cecil.Implem/ResourceCollection.cs
2939           Mono.Cecil.Implem/ExceptionHandlerCollection.cs:
2940                 BIG changes in the visitor object model. Last one
2941                 was causing ambiguous calls, and does not provides
2942                 differences between an interface and a typedef for
2943                 instance. This is corrected by suffixing the visit
2944                 method by the name of what it is visiting, and by
2945                 configuring some collection to stop the propagation
2946                 of the visitor.
2947
2948         * Mono.Cecil/ITypeDefinition.cs
2949           Mono.Cecil/IArrayType.cs
2950           CodeGen/templates/Utilities.cs
2951           Mono.Cecil.Metadata/Utilities.cs
2952           Mono.Cecil.Implem/ArrayType.cs
2953           Mono.Cecil.Implem/TypeReference.cs
2954           Mono.Cecil.Implem/ReflectionWriter.cs
2955           Mono.Cecil.Implem/TypeDefinition.cs
2956           Mono.Cecil.Implem/CodeWriter.cs
2957           Mono.Cecil.Implem/Constants.cs
2958           Mono.Cecil.Signatures/MarshalSig.cs:
2959                 Work on the writing layer goes on.
2960
2961 2005-08-14  Jb Evain  <jbevain@gmail.com>
2962
2963         * Mono.Cecil/NativeType.cs
2964           Mono.Cecil.Signatures/MarshalSig.cs
2965           Mono.Cecil.Signatures/SignatureWriter.cs
2966           Mono.Cecil.Signatures/Signature.cs:
2967                 Work on signature writing.
2968           Mono.Cecil.Implem/MethodDefinition.cs
2969           Mono.Cecil.Implem/TypeDefinition.cs:
2970                 Correct bugs in setting the hasThis field.
2971
2972         * CodeGen/templates/ImageWriter.cs
2973           Mono.Cecil.Binary/templates/ImageWriter.cs
2974           Mono.Cecil/AssemblyKind.cs:
2975                 Make assemblies executable on win32.
2976           Mono.Cecil.Implem/TypeDefinition.cs:
2977                 Mark new fields as loaded.
2978           Mono.Cecil.Implem/ReflectionWriter.cs:
2979                 Correct the style to patch provided by
2980                 Sebastien Ros  <s.ros@evaluant.com>
2981
2982 2005-08-13  Jb Evain  <jbevain@gmail.com>
2983
2984         * Mono.Cecil/IMethod.cs
2985           Mono.Cecil/ITypeDefinition.cs
2986           Mono.Cecil/IModuleDefinition.cs
2987           Mono.Cecil.Cil/OpCode.cs
2988           Mono.Cecil.Cil/ICilWorker.cs
2989           CodeGen/templates/ImageReader.cs
2990           Mono.Cecil.Metadata/MetadataReader.cs
2991           Mono.Cecil.Metadata/MetadataWriter.cs
2992           Mono.Cecil.Metadata/MetadataRoot.cs
2993           Mono.Cecil.Implem/ReflectionHelper.cs
2994           Mono.Cecil.Implem/CilWorker.cs
2995           Mono.Cecil.Implem/StructureReader.cs
2996           Mono.Cecil.Implem/MethodDefinition.cs
2997           Mono.Cecil.Implem/StructureWriter.cs
2998           Mono.Cecil.Implem/ModuleDefinition.cs
2999           Mono.Cecil.Implem/MethodReference.cs
3000           Mono.Cecil.Implem/ReflectionReader.cs
3001           Mono.Cecil.Implem/ReflectionWriter.cs
3002           Mono.Cecil.Implem/TypeDefinition.cs
3003           Mono.Cecil.Implem/CodeReader.cs
3004           Mono.Cecil.Implem/CodeWriter.cs
3005           Mono.Cecil.Implem/Constants.cs
3006           Mono.Cecil.Implem/ParameterDefinition.cs
3007           Mono.Cecil.Implem/MethodBody.cs
3008           Mono.Cecil.Binary/ImageReader.cs
3009           Mono.Cecil.Binary/MemoryBinaryWriter.cs
3010           Mono.Cecil.Signatures/SignatureReader.cs
3011           Mono.Cecil.Signatures/SignatureWriter.cs:
3012                 On going work on the writing layer.
3013
3014         * Mono.Cecil.Signatures/SignatureReader.cs:
3015                 Fix a bug when reading chars inside a custom
3016                 attribute signature.
3017
3018 2005-08-12  Jb Evain  <jbevain@gmail.com>
3019
3020         * Mono.Cecil/AssemblyFactory.cs
3021           CodeGen/templates/ImageWriter.cs
3022           CodeGen/templates/MetadataTableWriter.cs
3023           CodeGen/templates/MetadataRowWriter.cs
3024           Mono.Cecil.Metadata/MetadataTableWriter.cs
3025           Mono.Cecil.Metadata/MetadataRowWriter.cs
3026           Mono.Cecil.Metadata/MetadataWriter.cs
3027           Mono.Cecil.Implem/StructureWriter.cs
3028           Mono.Cecil.Binary/ImageWriter.cs
3029           Mono.Cecil.Binary/MemoryBinaryWriter.cs:
3030                 Use a custom binary writer instead of the old one.
3031
3032         * Mono.Cecil/IMethod.cs
3033           Mono.Cecil.Cil/BaseCodeVisitor.cs
3034           Mono.Cecil.Cil/MethodHeader.cs
3035           Mono.Cecil.Cil/ICodeVisitor.cs
3036           Mono.Cecil.Implem/Instruction.cs
3037           Mono.Cecil.Implem/MethodDefinition.cs
3038           Mono.Cecil.Implem/FieldDefinition.cs
3039           Mono.Cecil.Implem/ReflectionWriter.cs
3040           Mono.Cecil.Implem/CodeReader.cs
3041           Mono.Cecil.Implem/CodeWriter.cs
3042           Mono.Cecil.Implem/MethodBody.cs:
3043                 Ongoing work on the writing layer.
3044
3045         * CodeGen/templates/Utilities.cs
3046           CodeGen/templates/NamedCollectionImplem.cs
3047           CodeGen/templates/MetadataRowWriter.cs
3048           CodeGen/templates/LzNamedCollectionImplem.cs
3049           CodeGen/cecil.xml
3050           Mono.Cecil/IMethod.cs
3051           Mono.Cecil/IAssemblyName.cs
3052           Mono.Cecil/IModuleDefinition.cs
3053           Mono.Cecil/AssemblyFactory.cs
3054           Mono.Cecil.Metadata/MetadataRowWriter.cs
3055           Mono.Cecil.Metadata/Utilities.cs
3056           Mono.Cecil.Implem/ReflectionHelper.cs
3057           Mono.Cecil.Implem/StructureReader.cs
3058           Mono.Cecil.Implem/MethodDefinition.cs
3059           Mono.Cecil.Implem/EventDefinition.cs
3060           Mono.Cecil.Implem/FieldDefinition.cs
3061           Mono.Cecil.Implem/StructureWriter.cs
3062           Mono.Cecil.Implem/ModuleDefinition.cs
3063           Mono.Cecil.Implem/MethodReference.cs
3064           Mono.Cecil.Implem/TypeDefinitionCollection.cs
3065           Mono.Cecil.Implem/ReflectionReader.cs
3066           Mono.Cecil.Implem/ReflectionWriter.cs
3067           Mono.Cecil.Implem/TypeDefinition.cs
3068           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3069           Mono.Cecil.Implem/Constants.cs
3070           Mono.Cecil.Implem/ParameterDefinition.cs
3071           Mono.Cecil.Implem/PropertyDefinition.cs
3072           Mono.Cecil.Signatures/SignatureWriter.cs:
3073                 Ongoing work on the writing layer.
3074                 Some fixes to the reading layer as well.
3075
3076 2005-08-11  Jb Evain  <jbevain@gmail.com>
3077
3078         * Mono.Cecil.Signatures/SignatureReader.cs:
3079                 Read Array signatures correctly.
3080
3081         * Mono.Cecil/IMethodSignature.cs:
3082                 Remove the setted for the return type.
3083         * Mono.Cecil.Implem/CilWorker.cs:
3084                 Fix the build. Me idiot!
3085         * Mono.Cecil.Implem/Constants.cs:
3086                 Remove unexisting type Variant.
3087         * Mono.Cecil.Implem/ReflectionHelper.cs:
3088                 Complete the helper.
3089
3090 2005-08-10  Jb Evain  <jbevain@gmail.com>
3091
3092         * Mono.Cecil.Cil/IMethodBody.cs
3093           Mono.Cecil.Cil/ICilEmitter.cs
3094           Mono.Cecil.Cil/ICilWorker.cs
3095           Mono.Cecil.Implem/CilWorker.cs
3096           Mono.Cecil.Implem/ReflectionWriter.cs
3097           Mono.Cecil.Implem/MethodBody.cs
3098           Mono.Cecil.Implem/CilEmitter.cs
3099           Mono.Cecil.Signatures/SignatureReader.cs
3100           Mono.Cecil.Signatures/SignatureWriter.cs:
3101                 Prepare the api for the cil emitting.
3102
3103         * CodeGen/templates/Utilities.cs
3104           CodeGen/templates/MetadataRowReader.cs
3105           CodeGen/templates/MetadataRowWriter.cs
3106           Mono.Cecil.Metadata/Utilities.cs
3107           Mono.Cecil.Metadata/MetadataRowReader.cs
3108           Mono.Cecil.Metadata/MetadataRowWriter.cs:
3109                 Fix the build on .net, i was using a sugar
3110                 syntax for delegates that csc does not understand.
3111                 Remove the coded index cache from the static class
3112                 Utilities, and add one per row visitor.
3113
3114         * Mono.Cecil/IMethodReturnType.cs
3115           Mono.Cecil.Implem/MethodReturnType.cs
3116           Mono.Cecil.Implem/ReflectionReader.cs
3117           Mono.Cecil.Implem/ParameterDefinition.cs:
3118                 Make IMethodReturn type inherits IHasMarshalSpec so
3119                 that users can read marshaling info for return types,
3120                 and implement it.
3121
3122         * CodeGen/templates/ImageWriter.cs
3123           Mono.Cecil.Binary/ImageWriter.cs
3124           Mono.Cecil.Metadata/MetadataWriter.cs
3125           Mono.Cecil.Implem/ReflectionWriter.cs:
3126                 Cecil now emits assemblies understood by the .net clr.
3127
3128 2005-08-09  Jb Evain  <jbevain@gmail.com>
3129
3130         * Mono.Cecil/AssemblyKind.cs
3131           CodeGen/templates/ImageWriter.cs
3132           CodeGen/templates/ImageReader.cs
3133           Mono.Cecil.Metadata/MetadataWriter.cs
3134           Mono.Cecil.Binary/ImageWriter.cs
3135           Mono.Cecil.Binary/ImageInitializer.cs
3136           Mono.Cecil.Binary/ImageReader.cs:
3137                 Lots of little fixes. Now dumpbin is coherent
3138                 compared with an assembly emitted with csc or mcs
3139                 but still not yet compatible with .net.
3140
3141         * Mono.Cecil.Signatures/SignatureReader.cs:
3142                 Fix an array out of range while trying to read
3143                 fixed arrays signatures
3144
3145         * CodeGen/templates/ImageWriter.cs
3146           Mono.Cecil.Metadata/MetadataReader.cs
3147           Mono.Cecil.Metadata/MetadataWriter.cs
3148           Mono.Cecil.Implem/AssemblyName.cs
3149           Mono.Cecil.Implem/StructureReader.cs
3150           Mono.Cecil.Implem/ReflectionWriter.cs
3151           Mono.Cecil.Binary/ImageCharacteristics.cs
3152           Mono.Cecil.Binary/ImageWriter.cs
3153           Mono.Cecil.Binary/Image.cs:
3154                 Cecil now emits assemblies that are understood
3155                 by Mono and Cecil itself. Still have troubles
3156                 with Msft CLR.
3157
3158 2005-08-08  Jb Evain  <jbevain@gmail.com>
3159
3160         * CodeGen/cecil-gen.rb
3161           CodeGen/templates/MetadataTableReader.cs
3162           CodeGen/templates/ImageWriter.cs
3163           CodeGen/templates/MetadataTableWriter.cs
3164           CodeGen/templates/BaseMetadataVisitor.cs
3165           CodeGen/templates/MetadataRowReader.cs
3166           CodeGen/templates/MetadataRowWriter.cs
3167           CodeGen/cecil.xml
3168           Mono.Cecil.Metadata/MetadataInitializer.cs
3169           Mono.Cecil.Metadata/BaseMetadataVisitor.cs
3170           Mono.Cecil.Metadata/MetadataTableReader.cs
3171           Mono.Cecil.Metadata/MetadataTableWriter.cs
3172           Mono.Cecil.Metadata/MetadataRowReader.cs
3173           Mono.Cecil.Metadata/MetadataRowWriter.cs
3174           Mono.Cecil.Metadata/MetadataWriter.cs
3175           Mono.Cecil.Binary/ImageWriter.cs
3176           Mono.Cecil.Binary/CLIHeader.cs
3177           Mono.Cecil.Binary/ImageInitializer.cs:
3178                 The writing layer almost works.
3179
3180         * Mono.Cecil/AssemblyKind.cs
3181           Mono.Cecil/TargetRuntime.cs
3182           Mono.Cecil.dll.sources:
3183                 Add thoses enumes to control assembly writing.
3184         * Mono.Cecil/AssemblyFactory.cs
3185           Mono.Cecil/IReflectionVisitor.cs
3186           Mono.Cecil/BaseReflectionVisitor.cs
3187           Mono.Cecil/IAssemblyDefinition.cs
3188           Mono.Cecil/IReflectionStructureVisitor.cs
3189           Mono.Cecil/BaseStructureVisitor.cs
3190           CodeGen/templates/ImageWriter.cs
3191           CodeGen/templates/MetadataTableWriter.cs
3192           CodeGen/templates/MetadataRowWriter.cs
3193           CodeGen/templates/LzNamedCollectionImplem.cs
3194           Mono.Cecil.Metadata/MetadataInitializer.cs
3195           Mono.Cecil.Metadata/MetadataTableWriter.cs
3196           Mono.Cecil.Metadata/MetadataRowWriter.cs
3197           Mono.Cecil.Metadata/MetadataWriter.cs
3198           Mono.Cecil.Metadata/MetadataStreamCollection.cs
3199           Mono.Cecil.Implem/AssemblyName.cs
3200           Mono.Cecil.Implem/StructureWriter.cs
3201           Mono.Cecil.Implem/ModuleDefinition.cs
3202           Mono.Cecil.Implem/TypeDefinitionCollection.cs
3203           Mono.Cecil.Implem/ReflectionWriter.cs
3204           Mono.Cecil.Implem/AssemblyDefinition.cs
3205           Mono.Cecil.Binary/ImageWriter.cs
3206           Mono.Cecil.Binary/ImageInitializer.cs
3207           Mono.Cecil.Binary/Imports.cs:
3208                 Things are now plugged. SaveAssembly will now emits
3209                 a binary file. A broken file, but heh, at least it does.
3210
3211 2005-08-07  Jb Evain  <jbevain@gmail.com>
3212
3213         * CodeGen/templates/ImageReader.cs
3214           CodeGen/templates/ImageWriter.cs
3215           CodeGen/templates/IMetadataVisitor.cs
3216           Mono.Cecil.Binary/ImageReader.cs
3217           Mono.Cecil.Binary/ImageWriter.cs
3218           Mono.Cecil.Metadata/IMetadataVisitor.cs
3219           Mono.Cecil.Metadata/BaseMetadataVisitor.cs
3220           Mono.Cecil.Metadata/MetadataReader.cs
3221           Mono.Cecil.Metadata/MetadataWriter.cs
3222           Mono.Cecil.Metadata/MetadataStreamCollection.cs:
3223                 Simplify IMetadataVisitor.
3224                 Work on the writing layer, closer to have something testable
3225                 than ever.
3226
3227         * CodeGen/cecil.xml
3228           CodeGen/templates/ImageWriter.cs
3229           Mono.Cecil.Metadata/MetadataWriter.cs
3230           Mono.Cecil.Binary/PEOptionalHeader.cs
3231           Mono.Cecil.Binary/ImageWriter.cs
3232           Mono.Cecil.Binary/Imports.cs:
3233                 don't stop don't stop come ON!
3234
3235         * CodeGen/templates/ImageWriter.cs
3236           CodeGen/templates/ImageReader.cs
3237           CodeGen/templates/Section.cs
3238           Mono.Cecil.Binary/Image.cs
3239           Mono.Cecil.Binary/ImageReader.cs
3240           Mono.Cecil.Binary/ImageInitializer.cs
3241           Mono.Cecil.Binary/ImageWriter.cs
3242           Mono.Cecil.Binary/Section.cs
3243           Mono.Cecil.Metadata/MetadataReader.cs
3244           Mono.Cecil.Metadata/MetadataWriter.cs
3245           Mono.Cecil.Implem/StructureReader.cs
3246           Mono.Cecil.Implem/StructureWriter.cs
3247           Mono.Cecil.Implem/CodeWriter.cs:
3248                 Some writing layer love.
3249
3250         * CodeGen/templates/ImageWriter.cs
3251           CodeGen/templates/ImageReader.cs
3252           Mono.Cecil.Binary/Imports.cs
3253           Mono.Cecil.Binary/ImageReader.cs
3254           Mono.Cecil.Binary/ImageInitializer.cs
3255           Mono.Cecil.Binary/ImageWriter.cs:
3256                 Read an write correctly the Hint/Name table
3257                 at the end of the .text section.
3258
3259         * CodeGen/templates/ImageWriter.cs
3260           Mono.Cecil.Metadata/MetadataWriter.cs
3261           Mono.Cecil.Binary/ImageWriter.cs
3262           Mono.Cecil.Binary/ImageInitializer.cs:
3263                 More writing layer stuff.
3264
3265 2005-08-06  Jb Evain  <jbevain@gmail.com>
3266
3267         * CodeGen/templates/ImageWriter.cs
3268           CodeGen/templates/MetadataTableWriter.cs
3269           Mono.Cecil.Metadata/MetadataInitializer.cs
3270           Mono.Cecil.Metadata/MetadataTableWriter.cs
3271           Mono.Cecil.Metadata/StringsHeap.cs
3272           Mono.Cecil.Metadata/BlobHeap.cs
3273           Mono.Cecil.Metadata/MetadataWriter.cs
3274           Mono.Cecil.Metadata/UserStringsHeap.cs
3275           Mono.Cecil.Metadata/TableCollection.cs
3276           Mono.Cecil.Metadata/TablesHeap.cs
3277           Mono.Cecil.Metadata/MetadataHeap.cs
3278           Mono.Cecil.Metadata/GuidHeap.cs
3279           Mono.Cecil.Metadata/MetadataStream.cs
3280           Mono.Cecil.Implem/StructureWriter.cs
3281           Mono.Cecil.Implem/ReflectionWriter.cs
3282           Mono.Cecil.Implem/CodeWriter.cs
3283           Mono.Cecil.Binary/ImageWriter.cs
3284           Mono.Cecil.Binary/ImageInitializer.cs:
3285                 Playing lego with bricks from the writing layer.
3286
3287         * Mono.Cecil.dll.sources:
3288                 Updated.
3289         * CodeGen/templates/CLIHeader.cs
3290           CodeGen/templates/PEOptionalHeader.cs
3291                 Blah.
3292         * CodeGen/cecil.xml
3293           Mono.Cecil.Binary/CLIHeader.cs
3294           Mono.Cecil.Binary/PEOptionalHeader.cs:
3295           Mono.Cecil.Binary/PEFileHeader.cs
3296                 On going work on the writing layer
3297
3298         * CodeGen/templates/ImageWriter.cs
3299           CodeGen/templates/ImageReader.cs
3300           Mono.Cecil.Binary/BaseImageVisitor.cs
3301           Mono.Cecil.Binary/ImageReader.cs
3302           Mono.Cecil.Binary/ImageInitializer.cs
3303           Mono.Cecil.Binary/ImageWriter.cs
3304           Mono.Cecil.Metadata/BaseMetadataVisitor.cs
3305           Mono.Cecil.Metadata/MetadataReader.cs
3306           Mono.Cecil.Metadata/MetadataInitializer.cs
3307           Mono.Cecil.Metadata/MetadataWriter.cs
3308           Mono.Cecil.Metadata/MetadataStream.cs
3309           Mono.Cecil.Implem/ReflectionWriter.cs
3310           Mono.Cecil.Implem/CodeWriter.cs:
3311                 Add helpers visitor.
3312                 On going work on the writing layer.
3313
3314         * CodeGen/templates/Utilities.cs
3315           CodeGen/templates/MetadataRowReader.cs
3316           CodeGen/templates/MetadataRowWriter.cs
3317           Mono.Cecil.Metadata/StringsHeap.cs
3318           Mono.Cecil.Metadata/MetadataRowReader.cs
3319           Mono.Cecil.Metadata/MetadataRowWriter.cs
3320           Mono.Cecil.Metadata/MetadataReader.cs
3321           Mono.Cecil.Metadata/Utilities.cs
3322           Mono.Cecil.Metadata/BlobHeap.cs
3323           Mono.Cecil.Metadata/MetadataWriter.cs
3324           Mono.Cecil.Metadata/MetadataHeap.cd
3325           Mono.Cecil.Metadata/GuidHeap.cs:
3326                 On going work on the writing layer.
3327
3328         * CodeGen/templates/MetadataTableWriter.cs
3329           Mono.Cecil.Metadata/MetadataTableWriter.cs
3330           Mono.Cecil.Metadata/MetadataWriter.cs:
3331                 On going work on the writing layer.
3332         * Mono.Cecil.Implem/StructureWriter.cs:
3333                 Correctly override methods
3334         * CodeGen/templates/MetadataRowWriter.cs
3335           Mono.Cecil.Metadata/MetadataRowWriter.cs
3336           Mono.Cecil.Implem/ReflectionWriter.cs:
3337                 Fix build warnings.
3338
3339         * Mono.Cecil/IResource.cs
3340           Mono.Cecil.Implem/AssemblyLinkedResource.cs
3341           Mono.Cecil.Implem/EmbeddedResource.cs
3342           Mono.Cecil.Implem/LinkedResource.cs
3343           Mono.Cecil.Implem/Resource.cs:
3344                 Rename field Attributes to Flags for the sake of consistency.
3345         * Mono.Cecil.Metadata/MetadataWriter.cs
3346           Mono.Cecil.Implem/ReflectionWriter.cs
3347           Mono.Cecil.Implem/StructureWriter.cs:
3348                 On going work on the writing layer.
3349         * Mono.Cecil.Implem/StructureReader.cs:
3350                 Style.
3351
3352         * Mono.Cecil/IAssemblyName.cs
3353           Mono.Cecil.Implem/AssemblyName.cs
3354           Mono.Cecil.Implem/StructureReader.cs:
3355                 Add an AssemblyFlag property to an IAssemblyNameReference,
3356                 implement it, and read it.
3357
3358 2005-08-04  Jb Evain  <jbevain@gmail.com>
3359
3360         * Mono.Cecil.Implem/ReflectionReader.cs:
3361                 set a correct name to nameless parameters
3362
3363         * Mono.Cecil.Signatures/SignatureReader.cs:
3364                 don't crash on null custom attributes
3365
3366 2005-08-03  Jb Evain  <jbevain@gmail.com>
3367
3368         * CodeGen/templates/OpCodes.cs
3369           Mono.Cecil.Cil/OpCodes.cs
3370           Mono.Cecil.Cil/OpCode.cs:
3371                 Revert modifications to reduce code. OpCodes::.ctors were
3372                 not called.
3373
3374         * Mono.Cecil.Implem/ReflectionReader.cs:
3375                 Make sure parameters are read even if there is no
3376                 corresponding Param row. Thanks Cesar for the hint.
3377
3378         * Mono.Cecil.Metadata/MetadataWriter.cs
3379           Mono.Cecil.Metadata/UserStringsHeap.cs
3380           Mono.Cecil.Metadata/GuidHeap.cs
3381           Mono.Cecil.Implem/CodeReader.cs:
3382                 On going work on the writing layer
3383
3384         * CodeGen/cecil-gen.rb
3385           CodeGen/cecil-gen-sources.rb
3386                 make executable
3387         * *.*: set svn:eol-style to native
3388
3389         * Mono.Cecil/BaseStructureVisitor.cs
3390           Mono.Cecil/BaseReflectionVisitor.cs
3391           Mono.Cecil.Implem/BaseReflectionReader.cs:
3392                 Add empty visitors for the sake of simplicity
3393         * Mono.Cecil.Implem/StructureReader.cs
3394           Mono.Cecil.Implem/ReflectionReader.cs:
3395                 Inherit new visitors
3396
3397 2005-08-03  Jb Evain  <jbevain@gmail.com>
3398
3399         * Mono.Cecil.Implem/ReflectionReader.cs
3400           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3401           Mono.Cecil.Implem/LazyReflectionReader.cs
3402           Mono.Cecil.Implem/CodeReader.cs:
3403                 Modify and add helpers to avoid lots of casts.
3404                 Correct a bug in custom attributes attribution.
3405
3406 2005-08-02  Jb Evain  <jbevain@gmail.com>
3407
3408         * Mono.Cecil.Signatures/TypeSpec.cs:
3409                 Don't restrain the SigType
3410         * Mono.Cecil.Implem/AggressiveReflectionReader.cs:
3411                 Set PInvokeInfos on the correct method
3412
3413 2005-07-30  Jb Evain  <jbevain@gmail.com>
3414
3415         * CodeGen/cecil-gen.rb
3416           CodeGen/cecil-gen-sources.rb:
3417                 make them executable
3418         * CodeGen/cecil-gen-types: style
3419         * CodeGen/templates/ImageWriter.cs
3420           Mono.Cecil.Binary/ImageWriter.cs:
3421                 Prelimimary work on assembly writing
3422
3423 2005-07-29  Jb Evain  <jbevain@gmail.com>
3424
3425         * CodeGen/cecil-gen-types.rb
3426           CodeGen/templates/MetadataTableWriter.cs
3427           CodeGen/templates/MetadataRowWriter.cs
3428           Mono.Cecil/AssemblyFactory.cs
3429           Mono.Cecil.Metadata/MetadataTableWriter.cs
3430           Mono.Cecil.Metadata/MetadataRowWriter.cs
3431           Mono.Cecil.Implem/StructureWriter.cs
3432           Mono.Cecil.Implem/ReflectionWriter.cs:
3433                 Preliminary work on assembly writing
3434
3435 2005-07-28  Jb Evain  <jbevain@gmail.com>
3436
3437         * Mono.Cecil/AssemblyFactory.cs
3438           Mono.Cecil.Implem/StructureWriter.cs
3439                 Preliminary work on assembly writing
3440
3441         * Mono.Cecil/IMetadataTokenProvider.cs
3442           Mono.Cecil/IMember.cs
3443           Mono.Cecil/IParameter.cs:
3444                 Add a MetadataToken property on searchable items
3445         * Mono.Cecil.Metadata/MetadataToken.cs:
3446                 Add a factory method to create token from row number
3447         * Mono.Cecil.Implem/TypeReference.cs
3448           Mono.Cecil.Implem/MemberReference.cs
3449           Mono.Cecil.Implem/ParameterDefinition.cs:
3450                 Implement the token property
3451         * Mono.Cecil.Implem/ReflectionReader.cs
3452           Mono.Cecil.Implem/AggressiveReflectionReader.cs
3453           Mono.Cecil.Implem/LazyReflectionReader.cs:
3454                 Set the token property on reading
3455         * Mono.Cecil/IModuleDefinition.cs
3456           Mono.Cecil.Implem/ModuleDefinition.cs
3457           Mono.Cecil.Implem/ReflectionReader.cs:
3458                 Add methods to lookup items from their tokens
3459
3460 2005-07-27  Jb Evain  <jbevain@gmail.com>
3461
3462         * CodeGen/templates/OpCodes.cs
3463           Mono.Cecil.Cil/OpCodes.cs
3464           Mono.Cecil.Cil/OpCode.cs:
3465                 Changes to reduce the size of the cache ctor
3466
3467 2005-07-22  Raja R Harinath  <rharinath@novell.com>
3468
3469         * Makefile (MCS): Allow compiler to be overriden.
3470
3471 2005-07-21  Todd Berman  <tberman@off.net>
3472
3473         * configure: Add a small stub configure (stolen from mcs) to set the
3474         prefix.
3475         * mono-cecil.pc.in: Add a mono-cecil.pc.in to allow for installation
3476         according to the new "Libraries with Unstable API" Wiki documentation.
3477         * Makefile: Add an install an a mono-cecil.pc target to allow for
3478         installation and creation of the pc file.
3479
3480 2005-07-14  Jb Evain  <jbevain@gmail.com>
3481
3482         * CodeGen/templates/ImageReader.cs
3483           Mono.Cecil.Binary/IBinaryVisitor.cs
3484           Mono.Cecil.Binary/Image.cs
3485           Mono.Cecil.Binary/ImageInitializer.cs
3486           Mono.Cecil.Binary/Imports.cs
3487           Mono.Cecil.Binary/ImageReader.cs:
3488                 Read Imports Tables
3489
3490 2005-07-14  Jb Evain  <jbevain@gmail.com>
3491
3492         * CodeGen/cecil-gen.rb:
3493                 make codegen works on ruby 1.8.2
3494         * CodeGen/templates/*.cs
3495           Mono.Cecil.Metadata/*.cs:
3496                 style
3497
3498 2005-07-13  Jb Evain  <jbevain@gmail.com>
3499
3500         * Mono.Cecil.Implem/VariableDefinition.cs:
3501                 set the index field
3502
3503 2005-07-13  Jb Evain  <jbevain@gmail.com>
3504
3505         * Mono.Cecil.dll.sources: regenerated
3506         * Mono.Cecil.Signatures/SignatureReader.cs:
3507                 Fix compilation warnings
3508         * Mono.Cecil/IArrayType.cs
3509           Mono.Cecil.Implem/ArrayType.cs:
3510                 Add Rank helper property
3511         * Mono.Cecil/ITypeDefinition.cs
3512           Mono.Cecil.Implem/TypeDefinition.cs:
3513                 Add Constructors helper property
3514
3515 2005-07-11  Jb Evain  <jbevain@gmail.com>
3516
3517         * Mono.Cecil/IMethod.cs
3518           Mono.Cecil.Implem/Instruction.cs
3519           Mono.Cecil.Implem/ExceptionHandler.cs
3520           Mono.Cecil.Implem/MethodDefinition.cs
3521           Mono.Cecil.Implem/Label.cs
3522           Mono.Cecil.Implem/CodeReader.cs
3523           Mono.Cecil.Implem/MethodBody.cs
3524           Mono.Cecil.Implem/CilEmitter.cs
3525           Mono.Cecil.Cil/ILabel.cs
3526           Mono.Cecil.Cil/IInstruction.cs
3527           Mono.Cecil.Cil/IExceptionHandler.cs
3528           Mono.Cecil.Cil/IMethodBody.cs
3529           Mono.Cecil.Cil/ICilEmitter.cs:
3530                 Preliminary changes on the instruction model before
3531                 changing of latptop
3532
3533 2005-07-08  Jb Evain  <jbevain@gmail.com>
3534
3535    * Every generated files: use \n instead of \r\n
3536
3537 2005-07-07  Jb Evain  <jbevain@gmail.com>
3538
3539         * *.*: use Mono coding conventions
3540         * Mono.Xml/*.*: update Mono.Xml from corlib
3541         * Mono.Cecil.Metadata/CultureUtils.cs:
3542                 Ensure that Cecil works under Mono
3543
3544 2005-07-02  Jb Evain  <jbevain@gmail.com>
3545
3546         * Mono.Cecil/IMethod.cs
3547           Mono.Cecil/IProperty.cs
3548           Mono.Cecil/IEvent.cs
3549           Mono.Cecil/IField.cs
3550           Mono.Cecil/ITypeDefinition.cs
3551           Mono.Cecil.Implem/MethodDefinition.cs
3552           Mono.Cecil.Implem/PropertyDefinition.cs
3553           Mono.Cecil.Implem/EventDefinition.cs
3554           Mono.Cecil.Implem/FieldDefinition.cs
3555           Mono.Cecil.Implem/TypeDefinition.cs:
3556                 Add some funky sugar attributes,
3557                 more to come
3558
3559 2005-07-01  Jb Evain  <jbevain@gmail.com>
3560
3561         * CodeGen/cecil-gen.rb,
3562           CodeGen/templates/MetadataTableWriter.cs,
3563           CodeGen/templates/MetadataRowWriter.cs,
3564           Mono.Cecil.Metadata/MetadataTableWriter.cs,
3565           Mono.Cecil.Metadata/MetadataRowWriter.cs,
3566           Mono.Cecil.Metadata/MetadataWriter.cs:
3567                 Add metadata writing visitors
3568         * Mono.Cecil.Metadata/CultureUtils.cs:
3569                 Be sure to use every possible culture infos.
3570         * Mono.Cecil.Cil/IVariable.cs,
3571           Mono.Cecil.Implem/VariableDefinition.cs,
3572           Mono.Cecil.Implem/CodeReader.cs,
3573           Mono.Cecil.Implem/CilEmitter.cs:
3574                 Add an index property to local variables
3575         * Mono.Cecil.Metadata/MetadataReader.cs,
3576           Mono.Cecil.Metadata/MetadataRowReader.cs,
3577           CodeGen/templates/MetadataRowReader.cs,
3578           Mono.Cecil.Metadata/TablesHeap.cs:
3579                 Handles null heaps
3580         * Mono.Cecil.Implem/StructureWriter.cs,
3581           Mono.Cecil.Implem/ReflectionController.cs,
3582           Mono.Cecil.Implem/ReflectionWriter.cs:
3583                 Assemble writing classes
3584
3585 2005-06-28  Jb Evain  <jbevain@gmail.com>
3586
3587         * Mono.Cecil.Implem/ReflectionReader.cs: style
3588         * Mono.Cecil.Implem/LazyReflectionReader.cs:
3589                 read the last property as well.
3590
3591 2005-06-21  Jb Evain  <jbevain@gmail.com>
3592
3593         * Mono.Cecil.Implem/ReflectionReader.cs: Correct a bug that prevents
3594                 assemblies to be readed if they have an entrypoint. Suggestion by
3595                 Mario Sopena
3596         * Mono.Cecil.Implem/CodeReader.cs: Use sbyte not to lose negatives
3597                 offsets. Suggestion by Vladislav Spivak
3598         * CodeGen/cecil.xml,
3599           Mono.Cecil.Cil/OpCodes.cs,
3600           Mono.Cecil.Cil/StackBehaviour.cs: Add an PopAll enumeration value
3601                 for StackBehaviour, and set the StackBehaviourPop property for
3602                 leave and leave.s opcodes to it. Suggested by Vladislav Spivak
3603
3604 2005-06-12  Jb Evain  <jbevain@gmail.com>
3605
3606         * Mono.Cecil.Implem/TypeDefinition.cs: Set the declaring type
3607                 to this when defining a nested type.
3608
3609 2005-06-07  Jb Evain  <jbevain@gmail.com>
3610
3611         * Mono.Cecil.dll.sources,
3612         * CodeGen/cecil.xml,
3613         * Mono.Cecil/IReflectionVisitor.cs,
3614         * Mono.Cecil/INestedTypeCollection.cs,
3615         * Mono.Cecil/ITypeDefinition,
3616         * Mono.Cecil.Implem/ReflectionReader.cs,
3617         * Mono.Cecil.Implem/ReflectionWriter.cs,
3618         * Mono.Cecil.Implem/TypeDefinition.cs,
3619         * Mono.Cecil.Implem/NestedTypeCollection:
3620                 Add a collection of nested types for type definition
3621
3622         * Mono.Cecil.Implem/ModuleDefinition.cs: simplify type creation
3623
3624 2005-06-07  Jb Evain  <jbevain@gmail.com>
3625
3626         * ChangeLog: Cecil has now ChangeLogs. Let use them.