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