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