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