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