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