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