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