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