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