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