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