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