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