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