CompactFramework compilation fixes
[mono.git] / mcs / class / Mono.Cecil / ChangeLog
index ae5fd9c73ec9eccab4ad5075f8a007eee6bc9cef..5756c663c2e9e32dfa1d237ea84e6e1973df9521 100644 (file)
@@ -1,3 +1,289 @@
+2008-10-17     Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
+
+       * Mono.Cecil/ConstructorCollection.cs
+       * Mono.Cecil.Binary/ImageReader.cs:
+               Compact Framework compilation fixes.
+       
+2008-10-14  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil/SecurityDeclarationReader.cs: protect against
+       wrongly formatted security attributes.
+
+2008-10-12  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Mono.Cecil.Cil/SymbolStoreHelper.cs: Change two "static readonly"
+       fields into const.
+       [Found using Gendarme PreferLiteralOverInitOnlyFieldsRule]
+
+2008-10-11  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Mono.Cecil/ConstructorCollection.cs: Fix a NRE if a null parameter
+       is provided to one of the GetConstructor overloads.
+
+2008-10-07  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil/ReflectionReader.cs: don't cache generic typespecs,
+       as some compiler reuse generic instance signatures with different
+       generic contexts.
+
+2008-10-01  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil.dll.sources
+       * Mono.Cecil.csproj
+       * Mono.Cecil/AssemblyStripper.cs
+       * Mono.Cecil.Cil/CodeWriter.cs
+       * Mono.Cecil.Metadata/MetadataWriter.cs: add a new AssemblyStripper
+       class to be used by a tool to empty method bodies for assemblies
+       that have been AOTed.
+
+2008-09-29  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil/GenericParameter.cs: override TypeReference.Scope.
+
+2008-09-25  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil.Binary/MemoryBinaryWriter.cs: Make sure QuadAlign
+       properly enlarge the memory stream if needed.
+       Patch by Regis Vaquette <rvaquette@yahoo.fr>.
+
+2008-09-18  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil/ReflectionReader.cs (GetModifierType): protect against
+       zero rids.
+
+2008-09-15  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil.Signatures/SignatureReader.cs: fix regression
+       in reading custom mods.
+
+2008-09-04  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil.Signatures/SignatureReader.cs: better read modifiers on
+       return types and parameters.
+
+2008-09-02  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil.Metadata/UserStringsHeap.cs: fix reading of some unicode fu.
+
+2008-09-02  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil/MethodAttributes.cs: add CheckAccessOnOverride.
+       * Mono.Cecil/MethodDefinition.cs: add IsCheckAccessOnOverride.
+
+2008-09-02  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil/GenericParameter.cs: fix Has*Constraint properties.
+
+2008-09-02  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil/SecurityDeclarationReader.cs: fix reading
+       multiple permissions. Patch by Carsten Keutmann.
+
+2008-09-01  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil/ReflectionReader.cs: properly compose mod and byref types
+       for parameters and return types.
+       Based on a patch by Carlo Kok <ck@remobjects.com>
+
+2008-09-01  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil.Signatures/SignatureReader.cs: Avoid a crash
+       when looking for an enumeration definition when the assembly
+       could not be resolved. Patch by Carlo Kok <ck@remobjects.com>
+
+2008-09-01  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil/ReflectionWriter.cs: fix for writing null string
+       constants. Patch by Ewout Prangsma <ewout@tallapplications.com>.
+
+2008-06-28  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Mono.Cecil.dll.sources
+       * Mono.Xml/MiniParser.cs:
+               Remove MiniParser as it is no more required (replaced by
+               SmallXmlParser) and save a few KB in the binary size
+
+       * Mono.Xml/SecurityParser.cs
+       * Mono.Xml/SmallXmlParser.cs:
+               Seal non-visible classes.
+               [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
+
+       * Mono.Cecil.Signatures/GenericArg.cs:
+               Seal non-visible classes.
+               [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
+
+       * Mono.Cecil.Binary/CopyImageVisitor.cs
+       * Mono.Cecil.Binary/ImageInitializer.cs
+       * Mono.Cecil.Binary/ImageReader.cs
+       * Mono.Cecil.Binary/ImageWriter.cs
+       * Mono.Cecil.Binary/ResourceReader.cs
+       * Mono.Cecil.Binary/ResourceWriter.cs:
+               Seal non-visible classes.
+               [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
+
+       * Mono.Cecil.Metadata/CultureUtils.cs
+       * Mono.Cecil.Metadata/MetadataInitializer.cs
+       * Mono.Cecil.Metadata/MetadataReader.cs
+       * Mono.Cecil.Metadata/MetadataRowReader.cs
+       * Mono.Cecil.Metadata/MetadataRowWriter.cs
+       * Mono.Cecil.Metadata/MetadataTableReader.cs
+       * Mono.Cecil.Metadata/Utilities.cs:
+               Seal non-visible classes.
+               [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
+
+       * Mono.Cecil.Cil/CodeReader.cs
+       * Mono.Cecil.Cil/OpCodeNames.cs
+       * Mono.Cecil.Cil/CodeWriter.cs
+       * Mono.Cecil.Cil/SymbolStoreHelper.cs:
+               Seal non-visible classes.
+               [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
+
+       * Mono.Cecil/SecurityDeclarationReader.cs
+       * Mono.Cecil/NullReferenceImporter.cs
+       * Mono.Cecil/TableComparers.cs:
+               Seal non-visible classes.
+               [Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]
+
+       * Mono.Cecil/AssemblyNameReference.cs:
+               Use String.Length > 0 instead of comparing to String.Empty
+               [Found using Gendarme CompareWithEmptyStringEfficientlyRule]
+
+       * Mono.Cecil.Metadata/MetadataToken.cs:
+               Add a private Equals(MetadataToken) method. This allows the
+               existing operators (== and !=) to avoid boxing, since they
+               will prefer it to the Equals(object) method.
+               [Found using Gendarme ImplementEqualsTypeRule]
+
+       * Mono.Cecil.Cil/GuidAttribute.cs:
+               Seal attribute class
+               [Found using Gendarme AvoidUnsealedConcreteAttributesRule]
+
+       * Mono.Cecil.Signatures/SignatureWriter.cs:
+               Fix typo.
+               [Found using Gendarme AvoidUnneededUnboxingRule]
+
+2008-06-06  Jb Evain  <jbevain@novell.com>
+
+       * CodeGen/cecil.xml: constrained. is of type InlineType.
+       * Mono.Cecil.Cil/OpCodes.cs: re-generate.
+
+2008-05-14  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil/ReflectionWriter.cs:
+               Only create the GenericParameterConstraint table if needed.
+               Patch by Richard Flamsholt <richard.flamsholt@gmail.com>.
+
+       * Mono.Cecil.Cil/MethodBody.cs:
+               Fix typo in switch cloning. Patch by
+               Rune Glerup <rune.glerup@gmail.com>.
+
+2008-05-06  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil.Signatures/CustomMod.cs:
+               Introduce a EmptyCustomMod static field.
+       * Mono.Cecil/ReflectionWriter.cs
+       * Mono.Cecil.Signatures/SignatureReader.cs:
+               Use EmptyCustomMod instead of instanciating
+               empty arrays of CustomMod.
+               Based on a patch by Carlo Kok <ck@remobjects.com>.
+
+       * Mono.Cecil.Metadata/MetadataRowReader.cs
+       * Mono.Cecil.Metadata/MetadataRowWriter.cs:
+               Cache row counters delegates.
+               Based on a patch by Carlo Kok <ck@remobjects.com>.
+
+       * Mono.Cecil/TypeDefinition.cs
+       * Mono.Cecil/MethodDefinition.cs
+       * Mono.Cecil/DefaultImporter.cs
+       * Mono.Cecil/ReflectionHelper.cs:
+               Restore the generic context values instead of blindly
+               overriding them. Based on a patch by Dzintars Avots.
+
+       * Mono.Cecil/MarshalSpec.cs (CloneInto): add new method
+       to clone MarshalSpec into a new container.
+
+       * Mono.Cecil/ParameterDefinition.cs (Clone):
+       * Mono.Cecil/FieldDefinition.cs (Clone):
+       Use the new MarshalSpec.CloneInto method.
+       Based on a patch by Dzintars Avots <davots@coverity.com>.
+
+       * Mono.Cecil/MethodDefinition.cs (Clone): fix cloning of
+       return types when they don't have a parameter.
+       Patch by Dzintars Avots <davots@coverity.com>.
+
+       * Mono.Cecil.Cil/CodeWriter.cs (ComputeMaxStack): compute max
+       stack more precisely. Based on a patch by Daniel Grunwald,
+       Contains code from Cecil.FlowAnalysis.
+
+       * Mono.Cecil.Cil/MethodBody.cs (Clone): make sure the
+       instruction linked list is properly constructed.
+
+2008-04-19  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Mono.Cecil.Cil/CodeReader.cs:
+       * Mono.Cecil.Cil/ISymbolReader.cs:
+               Move reading of debugging symbols where it's possible to
+               reuse the existing Hashtable (offset, Instruction) in
+               the debugging libraries. Change interface to allow
+               passing the Hashtable.
+
+2008-04-15  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Mono.Cecil.csproj
+       * Mono.Cecil.dll.sources:
+               Add Mono.Cecil.Cil/OpCodeNames.cs to the build.
+
+       * Mono.Cecil.Cil/OpCodeNames.cs
+       * Mono.Cecil.Cil/OpCode.cs
+       * Mono.Cecil.Cil/OpCodes.cs:
+               Reduce the OpCode struct size to 8 bytes (instead of 36).
+               Based on the SRE.OpCode code found in corlib.
+
+2008-04-13  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Mono.Cecil/AssemblyDefinition.cs:
+               Short circut loop when module is found.
+
+2008-04-08  Jb Evain  <jbevain@novell.com>
+
+       * Mono.Cecil/SecurityDeclaration.cs
+         Mono.Cecil/SecurityDeclarationReader.cs:
+               Implement resolving of SecurityDeclarations.
+
+2008-03-31  Jb Evain  <jbevain@novell.com>
+
+       Integrate patches from Dzintars Avots <davots@coverity.com>
+
+       * Mono.Cecil/GenericParameter.cs
+         Mono.Cecil/TypeDefinition.cs
+         Mono.Cecil/DefaultImporter.cs
+         Mono.Cecil/MethodDefinition.cs:
+               Fix generic parameter cloning to avoid issues when
+               the constraint reference the parameter itself.
+
+       * Mono.Cecil/MethodBody.cs (Clone): deals with switches.
+
+       * Mono.Cecil/MethodBody.cs (Clone): clone the name of
+       the local variables.
+
+2008-03-30  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Mono.Cecil/ReflectionReader.cs:
+               Avoid creating a BinaryReader+MemoryStream on LE archs for
+               GetConstant. Saves about 400KB for Gendarme.
+               Avoid a BinaryReader creation in GetConstant which saves
+               about 50KB for Gendarme.
+       * Mono.Cecil.Metadata/GuidHeap.cs:
+               Compute ideal capacity for Hashtable. Avoid memory allocation
+               if a single GUID is present (which is the case for all of
+               Mono 2.0 assemblies). Saves a whole 2KB for Gendarme ;-)
+       * Mono.Cecil.Binary/Image.cs:
+               Add internal GetSectionAtVirtualAddress to avoid creating
+               BinaryReader in some cases.
+       * Mono.Cecil.Binary/ResourceReader.cs:
+               Avoid a BinaryReader creation in SetInitialValue which saves
+               about 3000KB for Gendarme.
+
 2008-03-08  Jb Evain  <jbevain@novell.com>
 
        * Mono.Cecil.Binary/CopyImageVisitor.cs: