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