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