2004-11-04 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / corlib / System.Reflection.Emit / ChangeLog
index edcd4c4022bc5e13c7f30e1d73fb5851ce462abb..d4f660aae5ea2e6bff6370aa31a1c1bfc8a453cd 100644 (file)
@@ -1,3 +1,390 @@
+2004-11-04  Zoltan Varga  <vargaz@freemail.hu>
+
+       * TypeBuilder.cs: Make some members work if the type is created since
+       MS does this.
+
+2004-10-30  Zoltan Varga  <vargaz@freemail.hu>
+
+       * CustomAttributeBuilder.cs: Check that arguments are not 
+       multi-dimensional arrays.
+
+2004-10-12  Martin Baulig  <martin@ximian.com>
+
+       * TypeBuilder.cs (TypeBuilder.setup_generic_class): Renamed to
+       create_generic_class() and added a new setup_generic_class().
+       (TypeBuilder.DefineGenericParameters): Call setup_generic_class()
+       before creating the type parameters.
+
+2004-10-11  Martin Baulig  <martin@ximian.com>
+
+       * TypeBuilder.cs (TypeBuilder.generic_container): New private field.
+
+       * MethodBuilder.cs (MethodBuilder.generic_container): New private field.
+
+       * GenericTypeParameterBuilder.cs
+       (GenericTypeParameterBuilder.GetGenericTypeParameterConstraints):
+       Return `Type.EmptyTypes' instead of an array of `typeof (object)'.      
+
+2004-10-08  Zoltan Varga  <vargaz@freemail.hu>
+
+       * ModuleBuilder.cs: Create global type after creation.
+
+2004-10-06  Zoltan Varga  <vargaz@freemail.hu>
+
+       * ModuleBuilder.cs (GetTypes): Fix length of returned array. Fixes
+       #65931.
+
+2004-10-04  Zoltan Varga  <vargaz@freemail.hu>
+
+       * ModuleBuilder.cs (DefineType): Check for duplicate type names. Fixes
+       #65988.
+
+2004-10-03  Zoltan Varga  <vargaz@freemail.hu>
+
+       * AssemblyBuilderAccess.cs: Remove [Flags].
+
+       * PackingSize.cs: Add new 2.0 members. Remove [Flags].
+
+       * AssemblyBuilder.cs: Add net 2.0 Save method.
+
+       * LocalBuilder.cs: Make this inherit from LocalVariableInfo under
+       net 2.0. Reorganize fields so the layout visible to the runtime is the
+       same under 1.0 and 2.0. Add 2.0 properties.
+
+2004-10-02  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TypeBuilder.cs: throw NotSupportedException when defining default
+       ctor if parent type does not have default ctor
+
+2004-09-30  Zoltan Varga  <vargaz@freemail.hu>
+
+       * TypeBuilder.cs: Make 'created' field visible to the runtime.
+
+2004-09-28  Martin Baulig  <martin@ximian.com>
+
+       * GenericTypeParameterBuilder.cs
+       (GenericTypeParameterBuilder.ContainsGenericParameters): Return
+       true here; System.Type.ContainsGenericParameters returns true when
+       called on a type parameter, so let's do the same here.
+
+2004-09-27  Zoltan Varga  <vargaz@freemail.hu>
+
+       * ConstructorBuilder.cs: Add 2.0 GetILGenerator(size) method.
+
+2004-09-26  Zoltan Varga  <vargaz@freemail.hu>
+
+       * UnmanagedMarshal.cs: Add ToMarshalAsAttribute method.
+
+2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
+
+       * TypeBuilder.cs: Add IsCreated method.
+
+2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
+
+       * FieldBuilder.cs: Add dummy GetFieldOffset method.
+
+2004-09-24  Martin Baulig  <martin@ximian.com>
+
+       * GenericTypeParameterBuilder.cs
+       (GenericTypeParameterBuilder.GetGenericParameterConstraints): Override.
+
+2004-09-23  Zoltan Varga  <vargaz@freemail.hu>
+
+       * DynamicMethod.cs: Add MetadataToken property and tweak Module property.
+
+2004-09-23  Martin Baulig  <martin@ximian.com>
+
+       * GenericTypeParameterBuilder.cs
+       (GenericTypeParameterBuilder.SetGenericParameterAttributes): New
+       public method, replaces the old Mono_* hacks.
+
+2004-09-20  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * AssemblyBuilder.cs: Fixed assembly-level permissions. I don't know 
+       why I splitted them all into individual entries when only a single set
+       is accepted for each security action :(.
+
+2004-09-17  Zoltan Varga  <vargaz@freemail.hu>
+
+       * CustomAttributeBuilder.cs: Applied patch from Marcus Urban
+       (mathpup@mylinuxisp.com). Add support for defining custom
+       marshallers by calling SetCustomAttribute.      
+
+2004-09-16  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * AssemblyBuilder.cs: Keep a copy of the 3 permission set as an array
+       of RefEmitPermissionSet. This will allow to reuse existing 
+       functionalities already present in the runtime.
+
+2004-09-12  Marek Safar  <marek.safar@seznam.cz>
+
+       * TypeBuilder.cs: Do not create default constructor for
+       static classes.
+
+2004-09-09  Zoltan Varga  <vargaz@freemail.hu>
+
+       * TypeBuilder.cs: Set the table_idx of the global type to 1.
+
+       * ModuleBuilder.cs: Save the main module of the assembly even if it is 
+       transient.
+
+2004-09-02 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * LocalBuilder.cs: another s.ioe
+
+2004-09-02 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * ModuleBuilder.cs: dont throw an S.IOE for debugging stuff.
+       makes sre apps work
+
+2004-09-02  Martin Baulig  <martin@ximian.com>
+
+       * MethodBuilder.cs (MethodBuilder.GetParameters): Throw a
+       NotSupportedException() until the type has been fully created.
+
+2004-09-01  Martin Baulig  <martin@ximian.com>
+
+       * IMonoSymbolWriter.cs: Removed.
+
+       * ModuleBuilder.cs, LocalBuilder.cs, ILGenerator.cs: Removed the
+       old debugging code.
+
+2004-08-13  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * AssemblyBuilder.cs: (Partly) Fix delay-signing issue (#56621) when 
+       MCS is used on the MS runtime (other part of the fix is for MCS).
+
+2004-08-11  Marek Safar  <marek.safar@seznam.cz>
+
+       * AssemblyBuilder.cs: Added AddPermissionRequests method
+       used be mcs for SecurityPermissionAttribute handling.
+
+2004-08-08  Zoltan Varga  <vargaz@freemail.hu>
+
+       * EnumBuilder.cs: Call setup_enum_type () in the constructor. Fixes
+       #62237.
+
+2004-08-07  Jackson Harper  <jackson@ximian.com>
+
+       * AssemblyBuilder.cs: "neutral" culture is invariant culture
+       (String.Empty).
+
+2004-08-07  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * OpCodes.cs : csc complains CS1034 Line cannot exceed 2046 characters.
+
+2004-08-05  Duncan Mak  <duncan@ximian.com>
+
+       * OpCodes.cs (TakesSingleByteArgument): Add this back.
+
+2004-08-05  Duncan Mak  <duncan@ximian.com>    
+
+       This patch is based on an idea of Ben's to reduce the code size
+       in MCS. 
+
+       * OpCodes.cs: Instead pushing the data onto the stack when each
+       OpCode is initialized, pack the data into 2 ints and store only
+       that.  Furthermore, the names of each OpCode are stored in a
+       separate string array in the new OpCodeNames class.
+
+       * OpCodeNames.cs: The names of each OpCode are moved here to delay
+       the initialization of the strings, as they are not used frequently.
+
+       * OpCode.cs: Rewrote this to take in everything as 2 ints.
+
+2004-07-29  Martin Baulig  <martin@ximian.com>
+
+       * ILGenerator.cs (ILGenerator.Mono_GetCurrentOffset): New static
+       internal method.
+
+       * ModuleBuilder.cs (ModuleBuilder.Mono_GetGuid): New static
+       internal method.
+
+2004-07-24  Martin Baulig  <martin@ximian.com>
+
+       * TypeBuilder.cs (TypeBuilder.UnspecifiedTypeSize): Set this to 0
+       and initialize it to 0 everywhere.
+
+2004-07-22  Martin Baulig  <martin@ximian.com>
+
+       * ILGenerator.cs (ILGenerator.BeginFaultBlock): Implemented.
+
+2004-07-07  Miguel de Icaza  <miguel@ximian.com>
+
+       * LocalBuilder.cs: Remove MakePinned, we are now going to use
+       ILGenerator.DeclaraLocal that takes the `bool pinned' argument. 
+
+       * ILGenerator.cs (DeclareLocal): Add `pinned' version of the
+       method on the 2.0 profile.
+
+2004-07-02  Zoltan Varga  <vargaz@freemail.hu>
+
+       * EnumBuilder.cs (CreateType): Call a new icall to set the internal
+       type field. Fixes #59833.
+
+Thu Jun 24 15:33:04 CEST 2004 Paolo Molaro <lupus@ximian.com>
+
+       * ParameterBuilder.cs: implement SetConstant ().
+
+Wed Jun 23 15:40:48 CEST 2004 Paolo Molaro <lupus@ximian.com>
+
+       * TypeBuilder.cs: handle properly the case when SetParent() 
+       is called (requires an updated runtime, too bug#60474).
+
+Wed Jun 23 14:20:47 CEST 2004 Paolo Molaro <lupus@ximian.com>
+
+       * EnumBuilder.cs, TypeBuilder.cs: patch from Gert Driesen
+       to implement EnumBuilder (slightly tweaked).
+
+2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
+
+       * MethodRental.cs: fixed value of JitOnDemand
+
+2004-06-09  Gert Driesen <drieseng@users.sourceforge.net>
+
+       * FieldBuilder.cs: fixed implementation to match MS.NET,
+       meaning throw InvalidOperationException for methods that
+       should not be allowed to execute when type has been
+       created, and throw NotSupportedException for methods and
+       properties that should not be called on FieldBuilder
+
+2004-06-09  Gert Driesen <drieseng@users.sourceforge.net>
+
+        * MethodBuilder.cs: move check to see if type has already 
+       been created up, to match MS.NET behaviour. Fix GetHashCode 
+       (removed TODO)
+
+2004-06-09  Gert Driesen <drieseng@users.sourceforge.net>
+
+        * MethodRental.cs: Added check for method size
+
+2004-06-08  Martin Baulig  <martin@ximian.com>
+
+       * ILGenerator.cs (TokenGenerator.GetToken): Added overloaded
+       version which takes a MethodInfo and a Type[].
+       (IlGenerator.EmitCall): When emitting a call to a varargs method,
+       use the new GetToken() to pass the optional argument types to the
+       runtime.
+
+       * ModuleBuilder.cs (ModuleBuilder.getMethodToken): New interncall.
+
+2004-05-29  Gert Driesen (drieseng@users.sourceforge.net)
+
+       * AssemblyBuilder.cs: removed extra method, fixes public API
+       compatibility with MS.NET
+       * TypeBuilder.cs: removed extra method, fixes public API
+       compatibility with MS.NET
+
+2004-05-28  Jackson Harper  <jackson@ximian.com>
+
+       * CustomAttributeBuilder.cs: GetBlob now takes a ref to the
+       assembly so it can encode type names properly.
+       
+2004-05-25  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * MethodBuilder.cs: Now use FastNewGuidArray to create new random 
+       Guids without using CryptoConfig. Speed up for MCS.
+
+2004-05-14  Zoltan Varga  <vargaz@freemail.hu>
+
+       * MethodBuilder.cs: Add Equals and GetHashCode.
+
+       * TypeBuilder.cs: Add IsSubclassOf.
+
+2004-05-13  Zoltan Varga  <vargaz@freemail.hu>
+
+       * AssemblyBuilder.cs: Make extra methods internal. mcs was changed
+       to handle this a long time ago.
+
+       * TypeBuilder.cs: Add IsAssignableFrom and IsInstanceOfType.
+       
+       * TypeBuilder.cs MethodBuilder.cs ConstructorBuilder.cs: Implement
+       ToString ().
+
+       * TypeBuilder.cs (ToString): Make this consistent with MS.NET.
+
+2004-05-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * OpCodes.cs: Refactored to avoid the static constructor
+
+2004-05-10  Gert Driesen (drieseng@users.sourceforge.net)
+       * AssemblyBuilder.cs: fixed warning
+       * MethodRental.cs: added private default ctror to match MS.NET
+
+2004-05-03 Lluis Sanches Gual  <lluis@ximian.com>
+
+       * ModuleBuilder.cs: Use name const to load the debugger assembly.
+
+2004-05-01  Todd Berman  <tberman@sevenl.net>
+
+       * ModuleBuilder.cs: Load the proper assembly for a gac-only install.
+
+2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * ILGenerator.cs, ModuleBuilder.cs: readonlyificate.
+
+2004-04-28  Zoltan Varga  <vargaz@freemail.hu>
+
+       * MethodRental.cs: New file.
+
+2004-04-28  Raja R Harinath  <rharinath@novell.com>
+
+       * TypeBuilder.cs (SetCustomAttribute): Handle the presence of the
+       full type name in the data stream.  This is emitted for value
+       types by the Mono runtime.
+
+2004-04-23  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ConstructorBuilder.cs, DynamicMethod.cs, EnumBuilder.cs,
+         GenericTypeParameterBuilder.cs, MethodBuilder.cs, ModuleBuilder.cs,
+         OpCodes.cs, TypeBuilder.cs :
+         The fix should be easier ;)
+
+2004-04-23  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ConstructorBuilder.cs, DynamicMethod.cs, EnumBuilder.cs,
+         GenericTypeParameterBuilder.cs, MethodBuilder.cs, ModuleBuilder.cs,
+         OpCodes.cs, TypeBuilder.cs :
+         NET_2_0 related build fix.
+
+2004-04-07  Martin Baulig  <martin@ximian.com>
+
+       * GenericTypeParameterBuilder.cs
+       (Mono_SetReferenceTypeConstraint): New public method.
+       (Mono_SetValueTypeConstraint): New public method.
+
+2004-04-07  Bernie Solomon  <bernard@ugsolutions.com>
+
+       * MethodBuilder.cs, TypeBuilder.cs: always have 
+       slot for generic_params for consistent offsets.
+
+2004-04-07  Martin Baulig  <martin@ximian.com>
+
+       * GenericTypeParameterBuilder.cs
+       (Mono_SetConstructorConstraint): New public method.     
+
+2004-04-07  Martin Baulig  <martin@ximian.com>
+
+       * GenericTypeParameterBuilder.cs: New file.
+
+       * TypeBuilder.cs (TypeBuilder.DefineGenericParameters): New public
+       method.  This is the new public API.
+       (TypeBuilder.DefineGenericParameter): Removed.
+       (TypeBuilder.SetGenericParameterConstraints): Removed.
+
+       * MethodBuilder.cs (MethodBuilder.DefineGenericParameters): New public
+       method.  This is the new public API.
+       (MethodBuilder.DefineGenericParameter): Removed.
+       (MethodBuilder.SetGenericParameterConstraints): Removed.
+
+2004-04-01  Martin Baulig  <martin@ximian.com>
+
+       * OpCodes.cs (OpCodes.Constrained): New opcode.
+
+2004-04-01 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * LocalBuilder.cs: Fix pinned support.
+
 2004-03-30  Martin Baulig  <martin@ximian.com>
 
        * TypeBuilder.cs (TypeBuilder.SetGenericParameterConstraints):