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