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