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