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