2008-09-23 Marek Safar <marek.safar@gmail.com>
[mono.git] / mcs / class / corlib / System.Reflection.Emit / ChangeLog
index c2a07397a4de533ac6ef73d863de717587ed7d23..9bde1e97d93fa44dbe7b770e0226ba706b8d1921 100644 (file)
@@ -1,3 +1,204 @@
+2008-09-23  Marek Safar  <marek.safar@gmail.com>
+
+       * ModuleBuilder.cs: Fixed NRE when default symbol writer cannot be
+       loaded. 
+2008-09-16  Jb Evain  <jbevain@novell.com>
+
+       * AssemblyBuilder.cs (AddTypeForwarder): correctly grow the
+       type_forwarders array, to make that work for more than one
+       type forwarder. Managed part of the fix for #422929.
+
+2008-09-04  Marek Safar  <marek.safar@gmail.com>
+
+       * TypeBuilder.cs: Add mcs specific SetCharSet method.
+
+2008-08-12  Zoltan Varga  <vargaz@gmail.com>
+
+       * TypeBuilder.cs (CreateType): Avoid creating a default ctor if the
+       type has a constructor defined using DefineMethod. Fixes #416632.
+
+2008-07-25  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * TypeBuilder.cs (GetMethod): Allow created TypeBuilders
+       to be used.
+
+2008-07-23  Marek Safar  <marek.safar@gmail.com>
+                       Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * TypeBuilder.cs (GetMethod): A fix for #408933
+
+2008-07-22  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * MethodOnTypeBuilderInst.cs: Change visibility of the parent
+       MethodBuilder to internal.
+
+2008-07-22  Zoltan Varga  <vargaz@gmail.com>
+
+       * CustomAttributeBuilder.cs (get_umarshal): Add support for all 
+       MarshalAsAttribute fields to fix the build.
+       
+       * CustomAttributeBuilder.cs (get_umarshal): Decode enums properly.
+
+2008-07-21  Marek Safar  <marek.safar@gmail.com>
+
+       * ParameterBuilder.cs, CustomAttributeBuilder.cs: Check for
+       UnmanagedType.ByValArray to be used only on fields.
+
+2008-07-16  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * MethodOnTypeBuilderInst.cs: Special case all methods
+       under compiler context as needed by mcs. 
+
+       * MethodBuilder.cs: Change the visibility of some fields
+       to internal so MethodOnTypeBuilderInst can use it.
+
+2008-07-11  Marek Safar  <marek.safar@gmail.com>
+
+       * ModuleBuilder.cs: Couple of micro optimizations.
+
+2008-07-03  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
+
+       * SignatureHelper.cs: Fix parameter names
+       * ModuleBuilder.cs: Fix parameter names
+
+2008-06-18 Rodrigo Kumpera <rkumpera@novell.com>
+
+       * TypeBuilder.cs (IsAssignableTo): Fixed check for interfaces
+       defined on parent. Based on Geoff's Norton patch.
+       Fixes #349194.
+
+2008-06-12  Marek Safar  <marek.safar@gmail.com>
+
+       * MethodBuilder.cs: Removed SetGenericMethodSignature.
+
+2008-06-06  Jb Evain  <jbevain@novell.com>
+
+       * OpCodes.cs: OpCode constrained. is of type InlineType.
+
+2008-05-18  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TypeBuilder.cs (IsAssignableTo): When an interface is passed as
+       argument and the TypeBuilder has been created, also check if parent
+       can be assigned to type.
+
+2008-05-15  Zoltan Varga  <vargaz@gmail.com>
+
+       * TypeBuilder.cs (.ctor): Convert a null parent to typeof (object) here, not just
+       in CreateType (). Fixes #389171.
+
+2008-05-11  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * FieldBuilder.cs: Added null check for type.
+       * TypeBuilder.cs: For enums, construct UnderlyingSystemType when
+       first instance field is defined instead of having to lookup it up on
+       demand. Avoid cast in IsCompilerContext.
+
+2008-05-11  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TypeBuilder.cs: Use Assembly.FullName instead of AssemblyName.
+       In UnderlyingSystemType, return UnderlyingSystemType of created type
+       when available. For an enum, UnderlyingSystemType is the type of the
+       first instance field. If no instance field is available, throw an
+       InvalidOperationException. Retain original behavior when operating in
+       compiler context.
+       * ConstructorBuilder.cs: Moved implementation of GetParameters to
+       GetParametersInternal to allow it to be used internally when type is
+       not yet created.
+       * CustomAttributeBuilder.cs: Added GetParameters method that uses
+       GetParametersInternal on ConstructorBuilder, and use it where
+       necessary.      
+
+2008-05-03  Zoltan Varga  <vargaz@gmail.com>
+
+       * ConstructorBuilder.cs: Revert the throw not_created () change as it causes
+       vbnc bootstrap to fail. Fixes #386419.
+
+2008-05-01  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ConstructorBuilder.cs: Switch arguments for AORE.
+
+2008-04-30  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ModuleBuilder.cs (DefineType): Do not perform lookup of in cache if
+       name is null to allow correct exception to be thrown (in TypeBuilder
+       ctor).
+       * TypeBuilder: Moved name argument check to TypeBuilder ctor. Modified
+       ArgumentException parameter names to match MS. Removed duplicate check
+       for data length from DefineInitializedData. Modified check_name to
+       only throw when first character is null char.
+       * ConstructorBuilder.cs (GetParameters): Throw NotSupportedException
+       (2.0) or InvalidOperationException (1.0) when type is not yet created
+       and we're not in compiler context. Return empty array when no
+       parameters are defined.
+       (MethodHandle): Always throw NotSupportedException.
+       (DefineParameter): Prevent NRE when parameters is null.
+       (GetCustomAttributes): When not in compiler context, always throw
+       NotSupportedException.
+       * ConstructorOnTypeBuilderInst.cs: Delegate to ConstructorBuilder
+       where possible. Fixed ContainsGenericParameters and IsGenericMethod
+       to always return false. In MethodBase.Invoke, throw an
+       InvalidOperationException instead of NIE.
+
+2008-04-26  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * MethodOnTypeBuilderInst.cs: Added overrides for ReturnType and 
+       GetGenericMethodDefinition. Implement GetGenericArgument,
+       IsGenericMethod(Definition). Throw NotSupportedException instead of
+       NotImplementedException.
+
+2008-04-26  Jb Evain  <jbevain@novell.com>
+
+       * ILGenerator.cs, AssemblyBuilder.cs, TypeBuilder.cs:
+       replace usages of new Type [0] by Type.EmptyTypes.
+       Found with Gendarme.
+
+2008-04-22  Zoltan Varga  <vargaz@gmail.com>
+
+       * MethodOnTypeBuilderInst.cs ConstructorOnTypeBuilderInst: New files.
+
+2008-03-29  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * AssemblyBuilder.cs: Added enum that determines the type of the
+       native (version) resource. Added fields for holding the native
+       resource type and the version culture. The versioninfo_culture was
+       introduced to hold the original culture of the assembly, since
+       the AssemblyCultureAttribute should only affect the language of the
+       versioninfo block when not used in compiler context. Move constructin
+       of native version info to DefineVersionInfoResourceImpl to allow
+       attributes to affect the versioninfo after DefineVersionInfoResource
+       has been invoked. Allow ArgumentException for invalid culture string
+       to bubble up. In compiler context, use FileVersion as default value
+       for ProductionVersion.
+
+2008-03-14  Zoltan Varga  <vargaz@gmail.com>
+
+       * FieldOnTypeBuilderInst.cs: New file.
+
+2008-03-11  Marek Safar  <marek.safar@gmail.com>
+
+       * MethodBuilder.cs (GetGenericArguments): Returns Type.EmptyType.
+
+2008-03-06  Zoltan Varga  <vargaz@gmail.com>
+
+       * AssemblyBuilder.cs: Define GetManifestModule () for net 2.0 bootstrap too.
+
+       * DynamicMethod.cs: Create a dynamic assembly to hold the anon hosted methods.
+       
+       * DynamicMethod.cs: Add net 3.5 ctor overloads.
+
+       * ModuleBuilder.cs (RegisterToken): New icall.
+
+       * MethodBuilder.cs (ctor): Call ModuleBuilder.RegisterToken (), so the token gets
+       added to the internal hash table. Fixes #367668.
+
+       * ConstructorBuilder.cs: Ditto.
+       
+2008-03-06  Jb Evain  <jbevain@novell.com>
+
+        * SignatureHelper.cs (GetMethodSigHelper): if returnType
+        is null, use typeof (void) instead. Fixes #367663.
+
 2008-03-03 Rodrigo Kumpera <rkumpera@novell.com>
 
        * MethodBuilder.cs (check_override): Added, verify if this method has explicit