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