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