2010-04-01 Jb Evain <jbevain@novell.com>
[mcs.git] / class / corlib / System.Reflection / ChangeLog
bloba33c6ca314bae162aac158ac8ab5b56dc9e9a3eb
1 2010-04-01  Jb Evain  <jbevain@novell.com>
3         * Module.cs: make Module abstract on net_4_0.
5 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
7         * Module.cs:
8         * MonoModule.cs: Implement MetadataToken, FullyQualifiedName,
9         ModuleVersionId, MDStreamVersion, ScopeName,
10         Name, Assembly.
12 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
14         * Module.cs:
15         * MonoModule.cs: Implement GetSignerCertificate and
16         GetTypes.
18 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
20         * Module.cs:
21         * MonoModule.cs: Implement ResolveMember, ResolveMethod,
22         ResolveString, ResolveType, ResolveSignature and
23         GetMethods.
25 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
27         * Module.cs:
28         * MonoModule.cs: Implement GetField, GetFields,
29         GetMethodImpl, GetPEKind, GetType, IsDefined and
30         ResolveField.
32 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
34         * Module.cs:
35         * MonoModule.cs: Implement GetCustomAttributesData.
37 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
39         * Module.cs:
40         * MonoModule.cs: Implement GetCustomAttributes.
42 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
44         * Module.cs:
45         * MonoModule.cs: Implement FindTypes.
47 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
49         * Assembly.cs: Raise the right exception.
51 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
53         * Module.cs: Make .ctor protected under v4.
54         * MonoModule.cs: Implement IsResource.
56 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
58         * Module.cs: Make it a partial class under !v4.
60         * MonoModule.cs: New type that exists only under
61         v4. Under v2 it is a part of Module.
63         This is the initial setup to make v4 Module an
64         abstract type where all methods raise exceptions.
66 2010-03-30  Jb Evain  <jbevain@novell.com>
68         * MonoAssembly.cs: make MonoAssembly non public.
70 2010-03-30  Jb Evain  <jbevain@novell.com>
72         * Binder.cs (BindToMethod): fix the case where we bind to a method
73         with only one params parameter and that no args are given.
75 2010-03-30  Jb Evain  <jbevain@novell.com>
77         * Binder.cs: when invoking a params method, pack the params
78         arguments before doing the actual invocation.
80         Fixes #591877
82 2010-03-26 Rodrigo Kumpera  <rkumpera@novell.com>
84         * Assembly.cs: Add IsDynamic.
86 2010-03-26 Rodrigo Kumpera  <rkumpera@novell.com>
88         * MonoAssembly.cs:
89         * Assembly.cs: Add missing MonoTODO.
91 2010-03-26 Rodrigo Kumpera  <rkumpera@novell.com>
93         * Assembly.cs: Add v4 ==, != and GetHashCode ()
95 2010-03-25 Rodrigo Kumpera  <rkumpera@novell.com>
97         * Assembly.cs: Add v4 obsolete attribute.
99 2010-03-25 Rodrigo Kumpera  <rkumpera@novell.com>
101         * Assembly.cs:
102         * MonoAssembly.cs: Move a dozen methods from Assembly.cs
103         to MonoAssembly.cs, so they can either be the concrete impl
104         on v4 of the only impl on v2.
105         Add to Assembly.cs versions that throws NotImplementedException.
106         Mask Assembly.cs as abstract.
108 2010-03-24 Rodrigo Kumpera  <rkumpera@novell.com>
110         * Assembly.cs: Make it a partial class under !v4.
112         * MonoAssembly.cs: New type that exists only under
113         v4. Under v2 it is a part of Assembly.
115         This is the initial setup to make v4 Assembly an
116         abstract type where all methods raise exceptions.
118 2010-03-24  Rolf Bjarne Kvinge  <RKvinge@novell.com>
120         * MethodInfo.cs: Exclude IsGenericMethod* and ContainsGenericParameters
121         from moonlight too.
123 2010-03-16  Jb Evain  <jbevain@novell.com>
125         * Assembly.cs: use MOONLIGHT symbol to
126         disambiguate MonoTouch and Moonlight code.
128 2010-03-07 Rodrigo Kumpera  <rkumpera@novell.com>
130         * EventInfo.cs: Some v4 adjustments.
132 2010-03-07 Rodrigo Kumpera  <rkumpera@novell.com>
134         * MethodInfo.cs: New v4 stuff.
136 2010-03-07 Rodrigo Kumpera  <rkumpera@novell.com>
138         * ManifestResourceInfo.cs: New v4 .ctor.
140 2010-02-28 Rodrigo Kumpera  <rkumpera@novell.com>
142         * CustomAttributeData.cs:
143         * ExceptionHandlingClause.cs:
144         * LocalVariableInfo.cs: Add some v4 bits.
146 2010-02-26 Rodrigo Kumpera  <rkumpera@novell.com>
148         * PropertyInfo.cs: Small hack to avoid having cor-compare
149         flagging Get(Raw)ConstantValue as not implemented.
151 2010-02-24 Rodrigo Kumpera  <rkumpera@novell.com>
153         * MethodBody.cs: Add v4 bits.
155 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
157         * MethodBody.cs: Add v4 bits.
159 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
161         * MethodBase.cs: Add some v4 bits.
163 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
165         * MemberInfo.cs: Add GetCustomAttributesData.
167         * Assembly.cs:
168         * MemberInfo.cs:
169         * Module.cs:
170         * MonoEvent.cs:
171         * MonoField.cs:
172         * MonoMethod.cs:
173         * MonoProperty.cs:
174         * ParameterInfo.cs: Implement GetCustomAttributesData.
176 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
178         * MemberInfo.cs: Add some v4 bits.
180 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
182         * MethodImplAttributes.cs: Add NoOptimization flag.
184 2010-02-11  Marek Habersack  <mhabersack@novell.com>
186         * ConstructorInfo.cs, EventInfo.cs, FieldInfo.cs: fix 4.0 equality
187         and inequality operators by casting the passed parameters to
188         object. Failing to do so leads to infinite recursion calling the
189         operator.
191 2010-02-10 Rodrigo Kumpera  <rkumpera@novell.com>
193         * FieldInfo.cs: Add some v4 bits.
195 2010-02-10 Rodrigo Kumpera  <rkumpera@novell.com>
197         * EventInfo.cs: Add some v4 bits.
199 2010-02-10 Rodrigo Kumpera  <rkumpera@novell.com>
201         * ConstructorInfo.cs: Add some v4 bits.
203 2010-02-10 Rodrigo Kumpera  <rkumpera@novell.com>
205         * PropertyInfo.cs: Remove a pair of MonoTODO.
207         * MonoProperty.cs: Implement GetConstantValue and GetRawConstantValue.
209 2010-02-05 Rodrigo Kumpera  <rkumpera@novell.com>
211         * MonoMethod.cs (GetParameters): Must return a copy instead of the interned array.
213         * MonoMethod.cs (Invoke): Skip array clone in GetParameters.
215         * MonoProperty.cs (GetIndexParameters): Properly handle write-only indexed properties.
216         Return a ParameterInfo object bound to the properly and not to the method.
218         * ParameterInfo.cs: Add new constructor that copies all fields but Member.
220         * ParameterInfo.cs (MetadataToken): Properly handle tokens of non-method members.
222 2010-01-31  Zoltan Varga  <vargaz@gmail.com>
224         * MonoGenericClass.cs: Fix a warning.
226 2010-01-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
228         * Assembly.cs: GetSatelliteAssembly: Ask LoadSatellite to not throw
229         exceptions, since we ignore them anyway.
231 2010-01-05 Rodrigo Kumpera  <rkumpera@novell.com>
233         * ParameterInfo.cs (DefaultProperty): Fix small typo.
235 2010-01-05 Rodrigo Kumpera  <rkumpera@novell.com>
237         * ParameterInfo.cs (DefaultProperty): Add support for DateTime defaults.
239         * ParameterInfo.cs: Implements RawDefaultProperty.
241 2009-12-17 Rodrigo Kumpera  <rkumpera@novell.com>
243         * MonoGenericClass.cs (GetMethods): When the GTD is not a typebuilder,
244         calling GetMethods on it will return everything we need so no need to
245         do the crazy loop.
246         The returned methods might contains some that are not from a generic type
247         so we need to guard against this as well.
249         * MonoGenericClass.cs (GetMethodsInternal): Guard against methods that don't
250         belong to a GTD as well.
252 2009-12-14 Rodrigo Kumpera  <rkumpera@novell.com>
254         * MonoGenericClass.cs: Remove IsByRef hack.
256 2009-12-14 Rodrigo Kumpera  <rkumpera@novell.com>
258         * MonoGenericClass.cs (format_name): Avoid calling AssemblyQualifiedName as mcs DynamicObject
259         doesn't implement it.
261 2009-12-12 Rodrigo Kumpera  <rkumpera@novell.com>
263         * MonoGenericClass.cs: Remove useless field.
265 2009-12-12 Rodrigo Kumpera  <rkumpera@novell.com>
267         * MonoGenericClass.cs: Change it to support a non-sre generic type
268         definition.
270 2009-12-10 Rodrigo Kumpera  <rkumpera@novell.com>
272         * MonoGenericClass.cs: Add new register_with_runtime icall to make
273         sure that a managed code instantiated MGC will be returned when
274         the generic instantiation happens in unmanaged code.
275         
276         This is a temporary workaround while Type::MakeGenericType doesn't
277         handle user types properly.
279 2009-12-10 Rodrigo Kumpera  <rkumpera@novell.com>
281         * MonoGenericClass.cs: Make this class inherit from Type instead of
282         MonoType. Implement some missing methods and make sure we can still
283         be used as a byref type.
285 2009-12-08 Rodrigo Kumpera  <rkumpera@novell.com>
287         * MonoMethod.cs (MakeGenericMethod): If any of the arguments is
288         a non system type, inflate to a MethodOnTypeBuilderInst.
290 2009-12-08 Rodrigo Kumpera  <rkumpera@novell.com>
292         * ParameterInfo.cs: Add constructor that takes an array of ParameterInfo
293         objects.
295 2009-12-08 Rodrigo Kumpera  <rkumpera@novell.com>
297         * MonoGenericClass.cs: Implement IsCompilerContext property and replace
298         all checks to use it.
300 2009-12-04 Rodrigo Kumpera  <rkumpera@novell.com>
302         * MonoGenericClass.cs (InflateType): Add a type argument parameter and
303         make this function static. Now it can inflate types using the context
304         of any type.
306 2009-12-02  Jb Evain  <jbevain@novell.com>
308         * Assembly.cs: disable warning about Assembly overriding
309         Equals but not GetHashCode. That's sadly how it's in .net.
311 2009-12-02  Jb Evain  <jbevain@novell.com>
313         * MethodInfo.cs: add an internal virtual GetBaseMethod
314         returning the immediate predecessor in the inheritance chain.
315         * MonoMethod.cs: modify the get_base_definition icall to take
316         a boolean indicating that we want the immediate base method
317         or the original method definition and rename it to
318         get_base_method. Implement GetBaseMethod with it.
320 2009-11-21  Miguel de Icaza  <miguel@novell.com>
322         * Assembly.cs: Implement missing method.
324 2009-11-03  Marek Habersack  <mhabersack@novell.com>
326         * Assembly.cs: GetSatelliteAssembly must catch
327         AppDomain.LoadSatellite FileNotFoundException and attempt to load
328         satellites from subdirectories of current assembly's
329         directory. Fixes bug #548768
331 2009-10-30  Sebastien Pouliot  <sebastien@ximian.com>
333         * MonoMethod.cs: Remove CAS check in MonoCMethod.Invoke (just 
334         like it was done for MonoMethod.Invoke sister method)
336 2009-10-26  Sebastien Pouliot  <sebastien@ximian.com>
338         * Assembly.cs: Share code between GetSatelliteAssembly and 
339         GetSatelliteAssemblyNoThrow. For Moonlight ensure both 
340         GetManifestResourceStream and GetSatelliteAssembly don't load
341         anything "below" the assembly path.
343 2009-10-20  Sebastien Pouliot  <sebastien@ximian.com>
345         * MonoProperty.cs: Reduce code duplication and the number of direct
346         calls to icalls (affecting the number of SecuritySafeCritical in
347         Moonlight)
349 2009-10-19  Sebastien Pouliot  <sebastien@ximian.com>
351         * MonoEvent.cs: Reduce code duplication and the number of direct
352         calls to icalls (affecting the number of SecuritySafeCritical in
353         Moonlight)
355 2009-10-18  Sebastien Pouliot  <sebastien@ximian.com>
357         * MethodBase.cs: Reduce code duplication and the number of direct
358         calls to icalls (affecting the number of SecuritySafeCritical in
359         Moonlight)
361 2009-10-17  Sebastien Pouliot  <sebastien@ximian.com>
363         * MonoMethod.cs: Reduce code duplication and the number of direct
364         calls to icalls (affecting the number of SecuritySafeCritical in
365         Moonlight)
367 2009-09-22  Sebastien Pouliot  <sebastien@ximian.com>
369         * Assembly.cs: Remove Evidence and GlobalAssemblyCache 
370         properties for NET_2_1
372 2009-09-19  Sebastien Pouliot  <sebastien@ximian.com>
374         * TargetException.cs, TargetInvocationException.cs,
375         TargetParameterCountException.cs: Inherit from Exception for 
376         NET_2_1 since ApplicationException does not exists
378 2009-09-18  Sebastien Pouliot  <sebastien@ximian.com>
380         * Assembly.cs, Module.cs: Avoid imperative CAS checks for NET_2_1
382 2009-08-18  Zoltan Varga  <vargaz@gmail.com>
384         * MonoGenericClass.cs: Use StringComparison.Ordinal when calling
385         String.EndsWith ().
387 2009-08-07 Rodrigo Kumpera  <rkumpera@novell.com>
389         * MonoGenericClass.cs: Implement almost all methods required
390         to move to inherit from System.Type. The only missing methods
391         are Is(Array|Pointer|ByRef)Impl and GetElementType since the
392         runtime still generates weird instances for generics instances
393         of non-SRE types with SRE types as generic arguments.
395 2009-08-06 Rodrigo Kumpera  <rkumpera@novell.com>
397         * MonoGenericClass.cs (InflateType): Add support to inflate
398         generic method arguments.
400         * MonoGenericClass.cs (GetMethod): Remove restriction
401         with generic methods.
403 2009-08-05 Rodrigo Kumpera  <rkumpera@novell.com>
405         * MonoGenericClass.cs (FullName): mcs depends that FullName
406         doesn't return null for instantiations over generic params
407         of type builders. We special case this under compiler context.
409 2009-08-05 Rodrigo Kumpera  <rkumpera@novell.com>
411         * MonoGenericClass.cs: Remove Is(Array|Pointer|ByRef)Impl
412         and GetElementType since the runtime still produces instances
413         of MonoGenericClass for those types.
415 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
417         * MonoGenericClass.cs: Implement more methods from MonoType.
418         Done with all type name related properties.
420 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
422         * MonoGenericClass.cs: Implement Is*Impl methods to simply
423         return false.
425 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
427         * MonoGenericClass.cs: Implement Make(Array,ByRef,Pointer) using the
428         new managed types.
430 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
432         * MonoGenericClass.cs (InflateType): Implement it in terms of managed
433         code and kill the corresponding icall.
435 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
437         * MonoGenericClass.cs: Add type_arguments field and constructor
438         that initializes it.
440 2009-08-03 Rodrigo Kumpera  <rkumpera@novell.com>
442         * MonoGenericClass.cs (initialize): Remember the number
443         of events available at initialization time. This is required as
444         mcs expect this behavior under compiler context that new events
445         are not returned for an instance that was inflated before.
447         * MonoGenericClass.cs: Kill GetEvents_internal and implement it
448         in terms of managed code.
450 2009-07-30  Zoltan Varga  <vargaz@gmail.com>
452         * FieldInfo.cs: Throw an exception if internal_from_handle_type ()
453         returns null. Fixes #525733.
455 2009-07-29 Rodrigo Kumpera  <rkumpera@novell.com>
457         * MonoGenericClass.cs (initialize): Call TypeBuilder::GetConstructorsInternal
458         since the public version throws.
460 2008-07-29  Marek Safar  <marek.safar@gmail.com>
462         * MonoGenericClass.cs: Removed one IsCompilerContext hack.
464 2009-07-27 Rodrigo Kumpera  <rkumpera@novell.com>
466         * Assembly.cs (GetType): Throw if name is empty.
468 2009-07-27 Rodrigo Kumpera  <rkumpera@novell.com>
470         * EventInfo (RemoveEventHandler): Throw InvalidOperationException if the
471         event remove method is not visible.
473 2009-07-27 Rodrigo Kumpera  <rkumpera@novell.com>
475         * EventInfo (AddEventHandler): Throw TargetException if target is not cast
476         compatible.
478         * EventInfo (AddEventHandler): Throw InvalidOperationException if the
479         event add method is not visible.
481         * EventInfo (AddEventHandler): Throw TargetException if source is null
482         and the event is not static.
484 2009-07-24 Rodrigo Kumpera  <rkumpera@novell.com>
486         * MonoGenericClass.cs (GetParentType): Implement using managed code.
488 2009-07-24 Rodrigo Kumpera  <rkumpera@novell.com>
490         * MonoGenericClass.cs: Make all icalls private. Kill GetInterfaces_internal.
491         Add a workaround for a GetField under compiler context.
493 2009-07-24 Rodrigo Kumpera  <rkumpera@novell.com>
495         * MonoGenericClass.cs (GetMethod): Use the new code always. Don't
496         accept MethodOnTypeBuilderInst under compiler context.
498         * MonoGenericClass.cs (GetField): Use the new code always.
500         * MonoGenericClass.cs: Make a bunch of methods raise NotSupportedException
501         when not under compiler context. Remove some dead code.
503 2009-07-23 Rodrigo Kumpera  <rkumpera@novell.com>
505         * MonoGenericClass.cs: Kill GetConstructors_internal and implement it
506         all in terms of managed code.
508         * MonoGenericClass.cs: Return instances of ConstructorOnTypeBuilderInst
509         under bootstrap profile.
511 2009-07-23 Rodrigo Kumpera  <rkumpera@novell.com>
513         * MonoGenericClass.cs: Kill GetFields_internal and implement it
514         all in terms of managed code.
516 2009-07-23 Rodrigo Kumpera  <rkumpera@novell.com>
518         * MonoGenericClass.cs: Kill GetMethods_internal and implement it
519         all in terms of managed code.
521 2009-07-22 Rodrigo Kumpera  <rkumpera@novell.com>
523         * MonoGenericClass.cs: Kill GetProperties_internal and implement it
524         all in terms of managed code.
526 2009-07-12  Gert Driesen  <drieseng@users.sourceforge.net>
528         * Binder.cs: Only allow a type to match its byref version for
529         BindToMethod (and not for SelectMethod).
531 2009-07-11  Zoltan Varga  <vargaz@gmail.com>
533         * Binder.cs: Allow conversion of IntPtr to pointer types.
535 2009-07-10  Zoltan Varga  <vargaz@gmail.com>
537         * Binder.cs (check_arguments): Allow a type to match its byref version.
538         Fixes #520690.
540 2009-06-12  Zoltan Varga  <vargaz@gmail.com>
542         * ParameterInfo.cs (DefaultValue): Add support for decimals, their default
543         value is encoded using a custom attribute.
545 2009-05-02  Sebastien Pouliot  <sebastien@ximian.com>
547         * Assembly.cs: Exclude CAS-specific code for NET_2_1
549 2009-04-30  Sebastien Pouliot  <sebastien@ximian.com>
551         * Module.cs: Exclude GetSignerCertificate (Authenticode related) 
552         from NET_2_1
553         * StrongNameKeyPair.cs: Adapt to work with only RSAManaged when 
554         built for NET_2_1, i.e. remove use of RSACryptoServiceProvider
556 2009-03-26  Zoltan Varga  <vargaz@gmail.com>
558         * MonoMethod.cs: Add a 'member' argument to the get_parameter_info () icall.
560 2009-03-03  Matthew Metnetsky  <matthew@cowarthill.com>
562         * MonoMethod.cs: within Invoke only change types if BindingFlags.ExactBinding isn't set
564         * MonoMethod.cs: within Invoke ensure arg types match ParameterInfo types before
565         calling InvokeInternal
567 2009-03-20  Sebastien Pouliot  <sebastien@ximian.com>
569         * EventInfo.cs, MonoProperty.cs: Ensure the delegate optimization 
570         works correctly, i.e. throw the right exception, with Moonlight.
572 2009-03-11  Zoltan Varga  <vargaz@gmail.com>
574         * Binder.cs: Allow conversions from T to T?. Fixes #484294.
576 2008-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
578         * EventInfo.cs: Apply similar trick to the one in MonoProperty to speed up
579         AddEventHandler.
581 2008-02-28  Rodrigo Kumpera  <rkumpera@novell.com>
583         * MonoProperty.cs (GetValue): Don't use the delegate optimization for valuetypes.
585 2008-02-26  Rodrigo Kumpera  <rkumpera@novell.com>
587         * MonoProperty.cs (GetValue): Optimize getters for properties without arguments.
589 2008-02-26  Rodrigo Kumpera  <rkumpera@novell.com>
591         * MonoProperty.cs (GetValue): Optimize getters for properties without arguments.
592         The optimization is to create a pair of chained delegates that duplicate the workings
593         on MethodBase::Invoke without all the aditional overhead and without doing two
594         managed/native transitions.
596         Simple Getter performance is up to 17x faster.
598         This patch reduces contention on domain and domain jit code hash locks, which
599         can be very hot on asp.net applications.
601 2008-02-21  Jb Evain  <jbevain@novell.com>
603         * Module.cs: add a new virtual GetModuleVersionId method,
604         and make the properties .MvId and ModuleVersionId call it.
605         This way, we can override it in ModuleBuilder.
606         Part of the fix for #471302.
608 2008-02-03  Rodrigo Kumpera  <rkumpera@novell.com>
610         * MonoMethod.cs: Fix the 1.1 build.
612 2008-02-02  Rodrigo Kumpera  <rkumpera@novell.com>
614         * MonoMethod.cs (ToString): Fix the representation of non primitive structs.
616 2008-02-02  Rodrigo Kumpera  <rkumpera@novell.com>
618         * MonoMethod.cs (ToString): Fix representation of pointer types.
620         Fixes #409583.
622 2009-01-24  Zoltan Varga  <vargaz@gmail.com>
624         * MonoGenericClass.cs: Fix warnings.
626 2009-01-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
628         * Assembly.cs: add new LoadSatelliteAssemblyNoThrow method and use the
629         new LoadSatellite() in AppDomain.
631 2009-01-09  Zoltan Varga  <vargaz@gmail.com>
633         * CustomAttributeData.cs (ToString): Applied patch from Leszek Ciesielski
634         <skolima@gmail.com>. Use DeclaringType.FullName instead of DeclaringType.Name.
635         Fixes #464830.
637 2008-11-17  Rodrigo Kumpera  <rkumpera@novell.com>
639         * MonoField.cs (GetValue): Don't check for open generic types if the field
640         is a constant.
642 2008-11-11  Rodrigo Kumpera  <rkumpera@novell.com>
644         * Module.cs (ResolveMethod): Use internal method 
645         GetMethodFromHandleNoGenericCheck to avoid the generic type
646         limitation of GetMethodFromHandle.
648         Fixes #443763.
650 2008-10-02 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
652         * MonoMethod.cs: throw a MemberAccessException when
653         trying to invoke a constructor creating an instance of an abstract
654         class. Return null when an instance of an object was passed as a
655         parameter when invoking a .ctor. Fixes bug #324185.
657 2008-09-07  Zoltan Varga  <vargaz@gmail.com>
659         * MonoField.cs: Add check to GetValue/SetValue () to avoid crashes when it is
660         called on fields of open types. Fixes #424077.
662 2008-08-12  Gert Driesen  <drieseng@users.sourceforge.net>
664         * ReflectionSerializationHolder.cs: Removed.
665         * common.src: Removed.
667 2008-08-04  Atsushi Enomoto  <atsushi@ximian.com>
669         * Assembly.cs : return UnmanagedMemoryStream from 
670           GetManifestResourceStream(). Fixed bug #322241.
672 2008-07-30  Rodrigo Kumpera  <rkumpera@novell.com>
674         * MonoGenericClass.cs (InflateType): Guard against null types.
675         Fixes #412965.
677 2008-07-23  Marek Safar  <marek.safar@gmail.com>
679         * MethodBase.cs (GetMethodFromHandle): Needed for bootraping.
681 2008-07-22  Rodrigo Kumpera  <rkumpera@novell.com>
683         * MonoGenericClass.cs (GetMethod): Under compiler mode allow
684         MethodOnTypeBuilderInst to be used..
686 2008-07-17  Rodrigo Kumpera  <rkumpera@novell.com>
688         * MonoGenericClass.cs (GetMethod): Revert to old code
689         path as the new one broke System.Core.
691 2008-07-16  Rodrigo Kumpera  <rkumpera@novell.com>
693         * MonoGenericClass.cs (GetMethod): Use the new codepath for compiler
694         context.
696         * MonoGenericClass.cs: New InflateType method, used to inflate
697         managed types.
699 2008-07-11  Marek Safar  <marek.safar@gmail.com>
701         * MonoGenericClass.cs (GetField): Put back removed code.
703 2008-07-04  Rodrigo Kumpera  <rkumpera@novell.com>
705         * MethodBase.cs (GetMethodFromHandle): Fix a warning in
706         the 1.0 build.
708 2008-07-04  Rodrigo Kumpera  <rkumpera@n ovell.com>
710         * MethodBase.cs (GetMethodFromHandle): Extract an internal version
711         of this function that doesn't perform the generic class check.
712         This method is required to fix the Delegate regression that fixing
713         #377324 caused.
715 2008-06-25  Rodrigo Kumpera  <rkumpera@n ovell.com>
717         * MethodBase.cs (GetMethodFromHandle): Check if the icall returns null
718         and fail. This is part of the fix for #377324.
720 2008-06-19  Marek Safar  <marek.safar@gmail.com>
722         * MonoGenericClass.cs (GetConstructor): Put back removed code due to obscure
723         System.Reflection.MonoGenericCMethod.
725 2008-06-19  Kornel Pal  <kornelpal@gmail.com>
727         * Module.cs: Add internal GetHINSTANCE.
729 2008-06-02  Ivan N. Zlatev  <contact@i-nz.net>
731         * Binder.cs, MonoGenericClass.cs: For property reflection we should 
732         strictly match the return type if available.
734 2008-05-16  Zoltan Varga  <vargaz@gmail.com>
736         * MonoGenericClass.cs (GetConstructor): Remove some old code, as the new code
737         seems to work fine.
738         (GetField): Ditto.
740 2008-05-05  Zoltan Varga  <vargaz@gmail.com>
742         * FieldInfo.cs (GetFieldFromHandle): Add an argument check for an invalid handle.
744         * MethodBase.cs (GetMethodFromHandle): Ditto. Fixes #386641.
746 2008-04-30  Gert Driesen  <drieseng@users.sourceforge.net>
748         * ParameterInfo.cs: Name must default to null if no ParameterBuilder
749         is supplied.
751 2008-04-22  Zoltan Varga  <vargaz@gmail.com>
753         * MonoGenericClass.cs (GetMethod): Construct a MethodOnTypeBuilderInst object
754         instead of using GetCorrespondingInflatedMethod. This is needed so this class can
755         reflect the changes made to the builder after initialize () has been called.
756         Fixes #381547 and #354759.
757         (GetConstructor): Ditto.
759 2008-04-16  Zoltan Varga  <vargaz@gmail.com>
761         * Binder.cs: Applied patch from Yves Bastide (doc.formatique@gmail.com). Add 
762         support for converting integers to enums. Fixes #380361.
764 ?2008-04-02  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
766         * IReflect.cs
767         * MethodInfo.cs: Fix parameter names
769 2008-03-31  Mark Probst  <mark.probst@gmail.com>
771         * MonoMethod.cs: Don't do CAS security checks in Invoke for 2.1
772         profile.
774 2008-03-25  Zoltan Varga  <vargaz@gmail.com>
776         * MonoCMethod.cs (Invoke): Avoid a crash if this is called on a ctor of an open
777         generic type. Fixes #373459.
778         
779         * MonoMethod.cs (InternalInvoke): Add an out 'exc' argument used to distinguish
780         exceptions thrown by the icall from the exceptions thrown by the wrapped method.
781         Fixes #373448.
783 2008-03-17  Marek Safar  <marek.safar@gmail.com>
785         * MonoMethod.cs (ToString): Print VarArgs argument.
787 2008-03-14  Zoltan Varga  <vargaz@gmail.com>
789         * MonoGenericClass.cs (GetField): Construct a FieldOnTypeBuilderInst object
790         instead of using GetCorrespondingInflatedField. This is needed so this class can
791         reflect the changes made to the type builder after initialize () has been called.
793         * Binder.cs (ChangeType): Add support for Char->Double/Single conversations. Fixes
794         #367655.
796 2008-03-10  Gert Driesen  <drieseng@users.sourceforge.net>
798         * Assembly.cs (GetFile): Fixed exception messages and param name.
800 2008-03-06  Zoltan Varga  <vargaz@gmail.com>
802         * Assembly.cs: Define GetManifestModule () for net 2.0 bootstrap as well.
804 2008-02-26  Ivan N. Zlatev  <contact@i-nz.net>
806         * MonoProperty.cs: MS ignores the inherit parameter and defaults to false
807         for GetCustomAttributes.
808         [Fixes bugs #324472 and #322464]
810 2008-02-20  Zoltan Varga  <vargaz@gmail.com>
812         * AssemblyName.cs (ReferenceMatchesDefinition): Add error checking and some 
813         simple cases required by ikvm.
815 2008-02-18  Zoltan Varga  <vargaz@gmail.com>
817         * CustomAttributeTypedArgument.cs (.ctor): Convert arrays into a collection of
818         CustomAttributeTypedArguments to match MS.
820 2008-02-10  Gert Driesen  <drieseng@users.sourceforge.net>
822         * Assembly.cs: Use icall for ToString/FullName. Fixes bug #318231.
824 2008-02-02  Gert Driesen  <drieseng@users.sourceforge.net>
826         * MonoMethod.cs (MakeGenericMethod): Modified argument name to match
827         MS. When one of the types is null, throw ArgumentNullException instead
828         of ArgumentException.
829         * MethodInfo.cs (MakeGenericMethod): Modified argument name to match
830         MS.
832 2008-01-29  Zoltan Varga  <vargaz@gmail.com>
834         * Assembly.cs: Make GetTypes () virtual so it can be overriden by AssemblyBuilder.
835         
836         * Assembly.cs: Make GetModulesInternal () virtual so it can be overriden by
837         AssemblyBuilder.
839 2008-01-22  Zoltan Varga  <vargaz@gmail.com>
841         * MonoGenericClass.cs: Make this NET 2.0 only.
842         
843         * MonoGenericClass.cs (Initialize): Simplify this a bit and add comments for this
844         class.
846 2008-01-20  Gert Driesen  <drieseng@users.sourceforge.net>
848         * AssemblyName.cs: Added support for Retargetable spec in FullName.
850 2008-01-17  Zoltan Varga  <vargaz@gmail.com>
852         * Assembly.cs AssemblyFlagsAttribute.cs ICustomAttributeProvider.cs
853         MemberInfo.cs FieldInfo.cs DefaultMemberAttribute.cs 
854         CustomAttributeNamedArgument.cs TargetException.cs MethodInfo.cs
855         IReflect.cs CustomAttributeTypedArgument.cs Module.cs: Change some parameter
856         names to match MS.
858 2008-01-15  Jb Evain  <jbevain@novell.com>
860         * MonoMethod.cs (MakeGenericMethod): check for null values
861         in the types arguments. Fixes #353849.
863 2008-01-06  Sebastien Pouliot  <sebastien@ximian.com>
865         * Assembly.cs: Fix typo in setter found with Gendarme (was used in a
866         single place, AppDomain, and set to true so it never caused a problem)
868 2008-01-04  Gert Driesen  <drieseng@users.sourceforge.net>
870         * AssemblyName.cs: Fixed default value for ProcessorArchitecture to
871         match MS. On 2.0 profile, return zero-length in FullName is no name
872         is set, and throw a SecurityException in FullName and GetPublicKeyToken
873         if a public key is set with no corresponding public key token. 
874         Fixed FullName to also include PublicKeyToken spec with "null" value
875         if public key is empty byte array. Fixed corlib part of bug #351057.
876         In SetPublicKey, modify Flags accordingly. On the 2.0 profile, verify
877         the public key when the public key token is computed.
879 2007-12-26  Zoltan Varga  <vargaz@gmail.com>
881         * Assembly.cs (GetSatelliteAssembly): Search in the assembly directory as well.
882         Fixes ##345627.
884 2007-12-03  Zoltan Varga  <vargaz@gmail.com>
886         * MonoField.cs: Implement GetRawConstantValue ().
888 2007-11-24  Marek Habersack  <mhabersack@novell.com>
890         * CustomAttributeTypedArgument.cs: value can be null in ToString.
892 2007-11-16  Zoltan Varga  <vargaz@gmail.com>
894         * Assembly.cs (GetFiles): Include the assembly itself as the first entry.
896 2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
898         * AssemblyName.cs : remove extraneous MonoTODO.
900 2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
902         * ExceptionHandlingClause.cs : implemented ToString().
904 2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
906         * MethodBase.cs : (Invoke) removed extra interface implementation.
908 2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
910         * StrongNameKeyPair.cs : implemented 2.0 runtime serialization stuff.
912 2007-11-05  Mark Probst  <mark.probst@gmail.com>
914         * Binder.cs: Treat matches with different argument types as
915         ambiguous, too.  Fixes #324998.
917 2007-11-01  Zoltan Varga  <vargaz@gmail.com>
919         * Binder.cs: Avoid returning a method with a ParamArray attribute when a normal
920         method exists. Fixes #338266.
922 2007-10-30  Zoltan Varga  <vargaz@gmail.com>
924         * Binder.cs: Applied patch from Mario A Chavez <mario.chavez@gmail.com>. Add
925         support for binding to methods with ParamArray attribute. Fixes #336841.
927 2007-10-27  Zoltan Varga  <vargaz@gmail.com>
929         * MonoGenericClass.cs: Override GetPropertyImpl too.
931 2007-10-24  Atsushi Enomoto  <atsushi@ximian.com>
933         * Assembly.cs : include ReflectionOnlyLoad() as part of 2.0
934           bootstrap build.
936 2007-09-23  Zoltan Varga  <vargaz@gmail.com>
938         * Assembly.cs (GetManifestModule): New virtual method overridden by 
939         AssemblyBuilder.
941 2007-09-17  Gert Driesen  <drieseng@users.sourceforge.net>
943         * Assembly.cs: In GetManifestResourceStream, throw ANE with type as
944         paramname when both name and type are null. Use String.Length to check
945         for zero-length string.
947 2007-09-11  Mark Probst  <mark.probst@gmail.com>
949         * MonoMethod.cs: Catch and re-throw MethodAccessException from
950         InternalInvoke for CoreCLR security.
952 Thu Sep 6 19:49:34 CEST 2007 Paolo Molaro <lupus@ximian.com>
954         * MonoMethod.cs: name is used as a cache: provide an icall to get the
955         name from the runtime.
957 2007-08-23  Robert Jordan  <robertj@gmx.net>
959         * MemberInfoSerializationHolder.cs: created from
960         ReflectionSerializationHolder to match MS (fixes bug #80761).
961         Add support for fields, events, properties and generic methods.
963         * MonoMethod.cs (GetObjectData): handle generic arguments.
965         * MonoGenericMethod.cs: mark as [Serializable].
967         * MonoProperty.cs (GetObjectData): implemented.
969         * MonoField.cs: ditto.
971         * MonoEvent.cs: ditto.
973 2007-07-19  Atsushi Enomoto  <atsushi@ximian.com>
975         * MonoMethod.cs : parameter types should be fixed as well.
977 2007-07-19  Atsushi Enomoto  <atsushi@ximian.com>
979         * MonoMethod.cs : ToString() did not show correct return type when
980           it is generic.
982 2007-07-15  Zoltan Varga  <vargaz@gmail.com>
984         * FieldInfo.cs: Implement GetOptional/RequiredCustomModifiers ().
986         * MethodInfo.cs: Remove an unneccesary MonoTODO.
988         * Module.cs: Implement ResolveSignature.
990 2007-07-14  Zoltan Varga  <vargaz@gmail.com>
992         * Module.cs: Implement the generic versions of the ResolveXXX methods.
994 2007-07-10  Zoltan Varga  <vargaz@gmail.com>
996         * Module.cs: Add new internal method GetMDStreamVersion ().
998 2007-07-09  Atsushi Enomoto  <atsushi@ximian.com>
1000         * CustomAttributeNamedArgument.cs, CustomAttributeTypedArgument.cs:
1001           added missing operator == and !=.
1003 2007-07-04  Atsushi Enomoto  <atsushi@ximian.com>
1005         * CustomAttributeNamedArgument.cs CustomAttributeTypedArgument.cs
1006           CustomAttributeData.cs : implemented Equals() and GetHashCode().
1007         * Missing.cs : ISerializable.
1008         * AssemblyName.cs : ReferenceMatchesDefinition() stub.
1009         * Module.cs : missing method stubs with generic type/method args.
1010         * ExceptionHandlingClause.cs : ToString() stub.
1011         * MethodBase.cs TypeDelegator.cs ModuleResolveEventHandler.cs
1012           TypeFilter.cs MemberFilter.cs
1013           FieldInfo.cs ParameterInfo.cs MethodInfo.cs :
1014           miscellaneous cosmetic API fixes.
1016 Tue May 8 13:04:35 CEST 2007 Paolo Molaro <lupus@ximian.com>
1018         * FieldInfo.cs, MethodBase.cs: implemented new GetFieldFromHandle and
1019         GetMethodFromHandle overloads (bug #78637).
1021 2007-05-07  Zoltan Varga  <vargaz@gmail.com>
1023         * MonoMethod.cs (Invoke): Fix a warning.
1024         
1025         * MonoMethod.cs (Invoke): Don't wrap ThreadAbortException inside a 
1026         TargetInvocationException on the 2.0 profile. Fixes #81538.
1028 2007-04-09  Alp Toker  <alp@atoker.com>
1030         * MonoMethod.cs: Use StringBuilder for the entire ToString() methods
1031         to reduce allocations and increase performance.
1033 2007-04-09  Alp Toker  <alp@atoker.com>
1035         * MonoMethod.cs: Use StringBuilder for parms in ToString() methods.
1037 2007-04-09  Alp Toker  <alp@atoker.com>
1039         * MethodBase.cs: IsGenericMethodDefinition() and IsGenericMethod()
1040         should return false, not throw NotSupportedException. This matches MS
1041         behaviour and introduces simplifications in subclasses.
1042         * MonoMethod.cs: MonoCMethod: Remove redundant overrides.
1044 2007-03-05  Peter Dettman <peter.dettman@iinet.net.au>
1046         * Binder.cs: The patch changes Binder.Default.GetBetterMethod to
1047         prefer methods in subclasses if the arg types can't disambiguate
1048         them.
1050         Also fixes a typo in the CallingConventions comparison.
1052 2007-03-01  Alp Toker  <alp@atoker.com>
1054         * FieldInfo.cs:
1055         Add GetFieldFromHandle() 2.0 overload stub (NotImplemented).
1057 2007-03-01  Alp Toker  <alp@atoker.com>
1059         * MethodBase.cs: Add missing ComVisible attr.
1060         Add GetMethodFromHandle() 2.0 overload stub (NotImplemented).
1062 2006-12-30  Marek Safar  <marek.safar@gmail.com>
1064         * MonoProperty.cs: Cache frequently used properties.
1066 Thu Dec 14 13:50:48 CET 2006 Paolo Molaro <lupus@ximian.com>
1068         * *.cs: added missing Serializable attributes.
1070 Thu Dec 14 12:52:27 CET 2006 Paolo Molaro <lupus@ximian.com>
1072         * MonoProperty.cs, ParameterInfo.cs, PropertyInfo.cs:
1073         GetRequiredCustomModifiers()/GetOptionalCustomModifiers()
1074         implementations.
1076 Tue Dec 12 20:35:10 CET 2006 Paolo Molaro <lupus@ximian.com>
1078         * MethodBase.cs: added missing ComVisible attr.
1079         * MethodInfo.cs: added a few missing methods that we implement
1080         in derived classes.
1082 Tue Dec 12 19:45:26 CET 2006 Paolo Molaro <lupus@ximian.com>
1084         * MonoEvent.cs: correctly obey the nonPublic flag in GetOtherMethods ().
1085         * EventInfo.cs: remove NotImpl exception from GetOtherMethods ().
1087 2006-10-19  Gert Driesen  <drieseng@users.sourceforge.net>
1089         * AssemblyName.cs: Revert change where filename was not converted to
1090         absolute path before passing it to Assembly.InternalGetAssemblyName
1091         as the CodeBase is not set in that case.
1093 2006-10-17  Kornel Pal  <kornelpal@gmail.com>
1095         * FieldInfo.cs: Added GetRawConstantValue (). Note that throwing a
1096           NotSupportedException is the proper implementation.
1097         * ParameterInfo.cs: Use Attributes in Is... properties on profile 2.0
1098           that is expected by subclasses.
1100 2006-10-14  Gert Driesen  <drieseng@users.sourceforge.net>
1102         * AssemblyName.cs: No need to convert filename to absolute path before
1103         passing it to Assembly.InternalGetAssemblyName. This allows our
1104         exception messages to be better match those of MS.
1106 2006-09-29  Jb Evain  <jbevain@gmail.com>
1108         * MonoFieldInfo.cs: throw a FieldAccessException when setting a literal field.
1110 2006-09-02  Zoltan Varga  <vargaz@gmail.com>
1112         * ParameterInfo.cs MethodInfo.cs MonoMethod.cs: Applied patch from 
1113         Peter Dettman (peter.dettman@iinet.net.au). Implement ReturnParameter
1114         property.
1116         * Binder.cs (ReorderParameters): Really fix this.
1117         
1118         * Binder.cs (ReorderParameters): Fix this method. Fixes #79120.
1120 2006-09-01  Raja R Harinath  <rharinath@novell.com>
1122         * MonoMethod.cs (ToString): Update to handle change in byref type names.
1124 2006-08-08  Gert Driesen  <drieseng@users.sourceforge.net>
1126         * Assembly.cs: On 2.0 profile, throw FileNotFoundException for
1127         linked resources in GetManifestResourceStream when assembly is
1128         loaded from byte array.
1130 2006-07-12  Zoltan Varga  <vargaz@gmail.com>
1132         * MonoMethod.cs (ContainsGenericParameters): Implement.
1133         
1134         * MonoMethod.cs (Invoke): Prevent invoking of open generic methods.
1136 2006-07-09  Gert Driesen  <drieseng@users.sourceforge.net>
1138         * Assembly.cs: When assembly is loaded from byte array, return null
1139         for linked resources in GetManifestResourceStream. Fixes bug #78468.
1141 2006-07-09  Zoltan Varga  <vargaz@gmail.com>
1143         * Binder.cs: Add back the support for BindingFlags.ExactBinding. Fixes #78592.
1145 2006-06-30  Zoltan Varga  <vargaz@gmail.com>
1147         * Binder.cs: Comment out the ExactBinding stuff for the release as it breaks some 
1148         gtk# apps.
1150 2006-06-07  Zoltan Varga  <vargaz@gmail.com>
1152         * Binder.cs: Add support for BindingFlags.ExactBinding. Fixes #78592.
1154 2006-05-28  Gert Driesen  <drieseng@users.sourceforge.net>
1156         * MethodBase.cs: GetMethodBody should not throw ArgumentException for
1157         a method with no IL body. Fixes bug #78522.
1159 2006-05-10  Zoltan Varga  <vargaz@gmail.com>
1161         * Module.cs (GetMethod): Update after the changes to Type.GetMethod ().
1163 2006-05-08  Atsushi Enomoto  <atsushi@ximian.com>
1165         * Binder.cs : (Default.SelectMethod)
1166           don't throw AmbiguousMatchException when one of conflicting method
1167           matches weakly. Fixed bug #42547.
1169 2006-05-08  Atsushi Enomoto  <atsushi@ximian.com>
1171         * Binder.cs : (Default.BindToMethod) reorder parameters based
1172           on namedParameters. Fixed bug #41691.
1174 2006-05-03  Jb Evain  <jbevain@gmail.com>
1176         * MonoField.cs (GetValue,SetValue): throw a TargetException
1177         when the field is non static and the target is null.
1179 2006-03-12  Zoltan Varga  <vargaz@gmail.com>
1181         * Binder.cs: Applied patch from Ben to fix #74947.
1183 2006-03-01  Miguel de Icaza  <miguel@novell.com>
1185         * Assembly.cs: Cache the AssemblyName, patch from Tambet.  This
1186         reduces the memory usage during remoting.
1188 2006-02-16  Martin Baulig  <martin@ximian.com>
1190         * FieldInfo.cs (FieldInfo.Mono_GetGenericFieldDefinition): Removed.
1192 2006-02-15  Martin Baulig  <martin@ximian.com>
1194         * MethodBase.cs (MethodBase.GetGenericMethodDefinition): Removed.
1195         (MethodBase.Mono_IsInflatedMethod): Removed.
1196         (MethodBase.HasGenericParameters): Removed.
1198         * MethodInfo.cs (MethodInfo.GetGenericMethodDefinition): Moved
1199         here from MethodBase.
1201         * MonoMethod.cs
1202         (MonoMethod.IsGenericMethodDefinition): This is now an icall.
1203         (MonoMethod.IsGenericMethod): Likewise.
1205 2006-02-14  Martin Baulig  <martin@ximian.com>
1207         * MonoMethod.cs
1208         (MonoCMethod.IsGenericMethod): Override this and return false; the
1209         MS runtime doesn't throw an exception here.
1211 2006-02-08  Martin Baulig  <martin@ximian.com>
1213         * MonoGenericClass.cs (MonoGenericClass.IsAssignableFrom):
1214         Override and implement this; fixes #77395.      
1216 2006-02-07  Martin Baulig  <martin@ximian.com>
1218         * MonoMethod.cs
1219         (MonoMethod.IsGenericMethod): Only return true for "real" generic
1220         methods and not for arbitrary instantiated methods.
1221         (MonoMethod.IsGenericMethodDefinition): Only return true for
1222         generic method definitions, but not for instantiated generic
1223         methods.  This is no longer an interncall.  Fixes #77466.
1225 2006-02-03  Zoltan Varga  <vargaz@gmail.com>
1227         * MethodBase.cs MonoMethod.cs: Implement IsGenericMethod property.
1228         Fixes #77460.
1230 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com>
1232         * Assembly.cs: Fixed #75950. The icall has been changed to accept a 
1233         boolean so it can return a non-escaped code base.
1235 2005-11-16  Atsushi Enomoto  <atsushi@ximian.com>
1237         * MonoMethod.cs : made MakeGenericMethod() indirect icall to
1238           MakeGenericMethod_impl() and raise an error when it returns null.
1240 2005-11-15  Zoltan Varga  <vargaz@gmail.com>
1242         * Module.cs: Add MDStreamVersion property.
1244         * Assembly.cs AssemblyNameFlags.cs FieldInfo.cs PropertyInfo.cs 
1245         CustomAttributeData.cs PortableExecutableKinds.cs 
1246         ObfuscateAssemblyAttribute.cs Module.cs ObfuscationAttribute.cs: Net 2.0 RTM
1247         updates.
1249 2005-11-11  Marek Safar  <marek.safar@seznam.cz>
1251         * MethodBase.cs, TypeDelegator.cs: Reflect Type changes.
1253 2005-10-30  Zoltan Varga  <vargaz@freemail.hu>
1255         * FieldInfo.cs: Add an internal UMarshal property which can by
1256         overriden in FieldBuilder.
1258 2005-10-26  Atsushi Enomoto  <atsushi@ximian.com>
1260         * MonoMethod.cs : (ToString) add suffix " ByRef" for byref parameters.
1261           Fixed bug #76541.
1263 2005-10-04  Martin Baulig  <martin@ximian.com>
1265         * MonoGenericClass.cs (MonoGenericClass.GetParentType): Changed
1266         return type from `MonoGenericClass to `Type'.
1268 2005-09-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1270         * AssemblyName.cs: Add ParseName internal call, to parse
1271         long format assembly names. 
1272         
1273 2005-09-25  Sebastien Pouliot  <sebastien@ximian.com>
1275         * MonoProperty.cs: Invoke throws a SecurityException but GetValue must
1276         throw TargetInvocationException with the SecurityException as an inner
1277         exception. See CAS unit tests for System.Web.dll.
1279 2005-09-20  Martin Baulig  <martin@ximian.com>
1281         * Assembly.cs: Removed some unused debugger icalls.
1283 2005-09-17  Zoltan Varga  <vargaz@freemail.hu>
1285         * Module.cs: Remove obsolete Mvid property.
1287 2005-09-09  Martin Baulig  <martin@ximian.com>
1289         Reflect latest API changes in the August CTP.
1291         * MethodBase.cs (MethodBase.MakeGenericMethod): Removed.
1293         * MethodInfo.cs (MethodInfo.MakeGenericMethod): Added here.
1295 2005-09-08  Sebastien Pouliot  <sebastien@ximian.com>
1297         * AssemblyName.cs: Apply second half of Chris Micacchi's patch
1299 2005-09-07  Miguel de Icaza  <miguel@novell.com>
1301         * AssemblyName.cs: Apply patch from Chris Micacchi to serialize
1302         the keyToken as "_PublicKeyToken".
1304 2005-09-05  Martin Baulig  <martin@ximian.com>
1306         Reflect latest API changes in the August CTP.
1308         * GenericParameterAttributes.cs: Here.
1310         * MethodBase.cs (MethodBase.BindGenericParameters): Renamed to
1311         MakeGenericMethod().    
1313 2005-09-05  Martin Baulig  <martin@ximian.com>
1315         * Assembly.cs (MonoDebugger_GetMethodToken): Don't take an
1316         `Assembly' argument.
1318 2005-08-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1320         * Assembly.cs: made GetManifestResourceInternal internal. Fixes the
1321         build.
1323 2005-08-05  Gert Driesen <drieseng@users.sourceforge.net>
1325         * Assembly.cs: Added GetType() method in 1.1 to match MS.NET.
1326         * ConstructorInfo.cs: Added GetType() method in 1.1 to match
1327         MS.NET, implemented _ConstructorInfo.
1328         * EventInfo.cs: Added GetType() method in 1.1 to match MS.NET,
1329         implemented _EventInfo.
1330         * FieldInfo.cs: Added GetType() method in 1.1 to match MS.NET,
1331         implemented _FieldInfo.
1332         * MemberInfo.cs: Added GetType() method in 1.1 to match MS.NET,
1333         implemented _MemberInfo.
1334         * MethodBase.cs: Added GetType() method in 1.1 to match MS.NET,
1335         implemented _MethodBase.
1336         * MethodInfo.cs: Added GetType() method in 1.1 to match MS.NET,
1337         implemented _MethodInfo.
1338         * PropertyInfo.cs: Added GetType() method in 1.1 to match MS.NET,
1339         implemented _PropertyInfo.
1340         * TypeAttributes.cs: CustomFormatMask and CustomFormatClass should
1341         only be exposed in 2.0 profile.
1343 2005-07-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1345         * CustomAttributeTypedArgument: Return the name of the
1346         enum if the type is an enum in ToString ().
1347         
1348 2005-06-21  Sebastien Pouliot  <sebastien@ximian.com>
1350         * Assembly.cs: Create a copy of the evidences and add an instance of 
1351         PermissionRequestEvidence to it before resolution. This way the PRE
1352         won't be present when asking for evidences later. Removed debugging 
1353         code.
1355 2005-06-13  Michal Moskal <malekith@nemerle.org>
1356         
1357         * MonoGenericClass.cs: Don't use MethodHandle in GetMethod/GetConstructor,
1358         since it now throws on MethodBuilders. Don't use FieldHandle in
1359         GetField (throws on FieldBuilder) - just use the name.
1361 2005-06-15  Sebastien Pouliot  <sebastien@ximian.com>
1363         * Assembly.cs, AssemblyName.cs, ConstructorInfo.cs, EventInfo.cs,
1364         FieldInfo.cs, MemberInfo.cs, MethodBase.cs, MethodInfo.cs, Module.cs,
1365         ParameterInfo.cs, PropertyInfo.cs: Added some missing interfaces and
1366         attributes that were added in 1.1 SP1 or 2.0 beta2.
1368 2005-06-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1370         * Binder.cs: null is ok for a value type. Fixes bug #75241.
1372 2005-06-14  Sebastien Pouliot  <sebastien@ximian.com>
1374         * Assembly.cs: UnprotectedGetName is now virtual to allow for more
1375         initialization in AssemblyBuilder. The [Granted|Refused]PermissionSet
1376         now use the ResolvingPolicyLevel to support the policy 
1377         FullTrustAssemblies during resolution.
1378         * AssemblyName.cs: Return null instead of "new byte [0]" if no public
1379         key is available.
1381 2005-06-09  Kamil Skalski <nazgul@nemerle.org>
1382         * MonoGenericClass.cs: Add overrides of Get{Method,Constructor,Field} 
1383         for obtaining instanciated *Info objects from non-instanciated counterparts
1386 2005-06-09  Zoltan Varga  <vargaz@freemail.hu>
1388         * CustomAttributeData.cs EventInfo.cs Assembly.cs: Updates for net 2.0 beta 2.
1390         * *.cs: Updates for net 2.0 beta 2.
1392 2005-06-07  Zoltan Varga  <vargaz@freemail.hu>
1394         * *.cs: Updates for net 2.0 beta 2.
1396 2005-06-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1398         * CustomAttributeData.cs: Implemented.
1400         * CustomAttributeDataNamedArgument.cs: Implemented.
1402         * CustomAttrbuteDataTypedArgument.cs: Implemented.
1403         
1404 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
1406         * Assembly.cs ExceptionHandlingClause.cs: Fix build.
1408         * ProcessorArchitecture.cs: New file.
1410         * ExceptionHandlingClause.cs: Update after ExceptionHandlingClauseFlags name change.
1412         * *.cs: Updates for net 2.0 beta 2.
1414         * *.cs: Add net 2.0 ComVisibleAttribute.
1416 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1418         * Assembly.cs: if the assembly is loaded from a byte array, Location
1419         returns "". Fixes bug #74958.
1421 2005-06-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1423         * AssemblyName.cs: Changes to support the creation of version
1424         instance from icalls. This change also helps to keep the
1425         AssemblyName tests running fine.
1426         
1427 2005-05-26  Ben Maurer  <bmaurer@ximian.com>
1429         * Binder.cs: Avoid double checked locking and lock on typeof by
1430         doing init of the default binder in the cctor.
1432 2005-05-25  Zoltan Varga  <vargaz@freemail.hu>
1434         * Assembly.cs: Avoid security checks if Assembly.Location is "".
1436 2005-05-20  Zoltan Varga  <vargaz@freemail.hu>
1438         * TypeDelegator.cs: Implement some methods.
1439         
1440         * TypeDelegator.cs: Revert this as it breaks the build.
1442         * TypeDelegator.cs: Implement some methods.
1444 2005-05-19  Satya Sudha K  <ksathyasudha@novell.com>
1445             Raja R Harinath  <rharinath@novell.com>
1447         * Missing.cs (Missing.Value): Initialize.
1449 2005-05-17  Lluis Sanchez Gual  <lluis@novell.com>
1451         * Binder.cs: Use IsInstanceOfType instead of IsAssignableFrom
1452         since GetType() may not return the correct type if the object is
1453         a remoting proxy. This fixes bug #74933.
1455 2005-05-13  Zoltan Varga  <vargaz@freemail.hu>
1457         * MonoField.cs: Applied patch from Opened by Michael Meeks (michael@ximian.com). Improve exception message on binding failures.
1459 2005-05-09  Lluis Sanchez Gual  <lluis@novell.com>
1461         * MonoField.cs: Added a Clone method. This is needed for serialization.
1463 2005-05-07  Ben Maurer  <bmaurer@ximian.com>
1465         * MonoEvent.cs (Get*Method): Handle nonPublic. Fixes #64191.
1467 2005-05-06  Zoltan Varga  <vargaz@freemail.hu>
1469         * Module.cs: Update for beta 2.
1471         * CustomAttributeData.cs MethodBody.cs: Remove CLSCompliant (false) attributes.
1473 2004-05-03  Lluis Sanchez  <lluis@ximian.com>
1475         * Assembly.cs: Don't remove version and culture information from
1476         the name, since it will be used by load_with_partial_name.
1478 2005-04-14  Sebastien Pouliot  <sebastien@ximian.com>
1480         * Assembly.cs: Added some CAS security to avoid returning restricted
1481         information to partially truster callers (e.g. code base). Added new
1482         methods to get the Evidence and AssemblyName so that the security
1483         runtime can bootstrap itself (without calling itself).
1485 2005-04-14  Sebastien Pouliot  <sebastien@ximian.com>
1487         * Assembly.cs: Added missing null check in GetObjectData.
1489 2005-04-04  Sebastien Pouliot  <sebastien@ximian.com>
1491         * AssemblyName.cs: Added a demand for SerializationFormatter on
1492         GetObjectData method.
1494 2005-04-04  Sebastien Pouliot  <sebastien@ximian.com> 
1496         * AssemblyName.cs: Implemented EscapedCodeBase using the copy of 
1497         System.Uri (System.dll) located in Mono.Security.Uri. Added missing
1498         null check in GetObjectData.
1499         * Module.cs: Added a FileIOPermission for PathDiscovery on 
1500         FullyQualifiedName property (but not on Name property like MS).
1501         Added missing null check in GetObjectData.
1502         * StrongNameKeyPair.cs: Added demands for unmanaged code to all
1503         constructors (as we do not want partially trusted code to create
1504         strongnamed assemblies).
1506 2005-03-30  Zoltan Varga  <vargaz@freemail.hu>
1508         * Binder.cs (check_type): Fix byref support. Fixes #73972.
1510 2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
1512         * MemberInfo.cs: Add an InheritanceDemand for Unrestricted on class.
1513         * Module.cs: Add a LinkDemand for SerializationFormatter on 
1514         GetObjectData method.
1516 2005-03-16  Sebastien Pouliot  <sebastien@ximian.com>
1518         * Assembly.cs: Implemented EscapedCodeBase using the copy of 
1519         System.Uri (System.dll) located in Mono.Security.Uri. Fix bug #73663.
1521 2005-03-11  Sebastien Pouliot  <sebastien@ximian.com>
1523         * MonoMethod.cs: Promote a LinkDemand (if present) to a full Demand 
1524         (i.e. stack walk) when reflection is being used to invoke a method.
1526 2005-02-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1528         * Assembly.cs: LoadFrom: Change signature to support reflection only
1529         methods; ReflectionOnlyLoad, ReflectionOnlyLoadFrom 2.0 methods
1530         implemented; InvalidOperationException's re-thrown by CreateInstance.
1531         Also ReflectionOnly 2.0 property added.
1533         * MonoMethod.cs: InvalidOperationException's are re-thrown when calling 
1534         Invoke method on reflection only assemblies.
1535         
1536 2005-02-22  Raja R Harinath  <rharinath@novell.com>
1538         * FieldInfo.cs (GetFieldOffset): Make 'virtual' rather than
1539         'abstract' so that this class can be derived outside of corlib.
1541 2005-02-16  Miguel de Icaza  <miguel@novell.com>
1543         * MonoEvent.cs: Put new methods here.
1545         * EventInfo.cs: Move the methods GetCustomAttributes, and
1546         IsDefined from EventInfo to MonoEvent.
1548         Remove the methods that were not supposed to be exposed: Name,
1549         ReflectedType, DeclaringType.
1551 2005-02-12  Chris Toshok  <toshok@ximian.com>
1553         * Assembly.cs: Correct the type of MonoDebugger_MakeArrayType.
1555 2005-02-12  Ben Maurer  <bmaurer@ximian.com>
1557         * Binder.cs (SelectProperty): Use -1 as the dummy `I don't know
1558         how many types' value.
1560 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
1562         * Assembly.cs: Fix warning.
1564 2005-02-10  Martin Baulig  <martin@ximian.com>
1566         * Module.cs (MonoDebugger_ResolveType): New internal method.
1568         * Assembly.cs (MonoDebugger_MakeArrayType): New internal method.
1569         (MonoDebugger_GetTypeToken): New internal method.
1571 2005-02-10  Martin Baulig  <martin@ximian.com>
1573         * Assembly.cs (MonoDebugger_GetMethodIndex): New internal method.
1575 2005-02-10  Marek Safar  <marek.safar@seznam.cz>
1577         * Assembly.cs,
1578         * ConstructorInfo.cs,
1579         * EventInfo.cs,
1580         * FieldInfo.cs,
1581         * MemberInfo.cs,
1582         * MethodBase.cs,
1583         * MethodInfo.cs,
1584         * PropertyInfo.cs: ClassInterfaceType is None.
1586 Thu Feb 3 15:22:55 CET 2005 Paolo Molaro <lupus@ximian.com>
1588         * Module.cs: removed the finalizer and the now unused Close() icall.
1590 2005-01-21  Sebastien Pouliot  <sebastien@ximian.com>
1592         * Assembly.cs: Fixed add for ModuleResolve.
1594 2005-01-19  Zoltan Varga  <vargaz@freemail.hu>
1596         * LocalVariableInfo.cs: Add ToString method.
1598         * ExceptionHandlingClause.cs: Implement this.
1600 2005-01-18  Zoltan Varga  <vargaz@freemail.hu>
1602         * MethodBase.cs MonoMethod.cs: Hopefully fix the build.
1604         * MethodBase.cs MonoMethod.cs: Implement 2.0 GetMethodBody ().
1606 2005-01-03  Martin Baulig  <martin@ximian.com>
1608         * MonoGenericMethod.cs
1609         (MonoGenericMethod.get_reflected_type): Removed.
1610         (MonoGenericMethod.ReflectedType): Make this an icall.
1611         (MonoGenericCMethod.ReflectedType): Likewise.   
1613 2004-12-29  Martin Baulig  <martin@ximian.com>
1615         * MonoGenericMethod.cs: New file.
1617 2004-12-21  Sebastien Pouliot  <sebastien@ximian.com> 
1619         * Assembly.cs: Added private LoadAssemblyPermissions to get the 
1620         declarative security permission sets (minimum, optional and refused)
1621         for the assembly.
1623 2004-12-20  Sebastien Pouliot  <sebastien@ximian.com>
1625         * Assembly.cs: Removed old Demand support (moved in System.Security).
1627 2004-12-16  Zoltan Varga  <vargaz@freemail.hu>
1629         * CustomAttributeData.cs MethodBody.cs: Reenable some 2.0 code now that
1630         the gmcs bugs blocking them are fixed.
1632 2004-12-08  Zoltan Varga  <vargaz@freemail.hu>
1634         * Assembly.cs: Move corlib_internal field to AssemblyBuilder.
1636 2004-12-06  Zoltan Varga  <vargaz@freemail.hu>
1638         * Assembly.cs: Add corlib_internal field.
1640 2004-11-30  Martin Baulig  <martin@ximian.com>
1642         * MonoGenericInst.cs: Renamed to MonoGenericClass.cs and also
1643         renamed the class from `MonoGenericInst' to `MonoGenericClass'.
1645 2004-11-05  Zoltan Varga  <vargaz@freemail.hu>
1647         * AssemblyName.cs (FullName): Omit default values from full name.
1649         * Assembly.cs: Implement GetFiles (bool).
1651         * Binder.cs: Add support for byref types. Fixes #69140.
1653 2004-10-12  Martin Baulig  <martin@ximian.com>
1655         * MonoGenericInst.cs (MonoGenericInst): Call initialize() just
1656         before calling the *_internal() methods.
1658 2004-10-12  Zoltan Varga  <vargaz@freemail.hu>
1660         * MethodBody.cs: Implement this.
1662 2004-10-08  Zoltan Varga  <vargaz@freemail.hu>
1664         * Module.cs: Handle the case when the global type does not exists.
1666 2004-10-03  Zoltan Varga  <vargaz@freemail.hu>
1668         * LocalVariableInfo.cs: Reorganize fields so LocalBuilder can inherit
1669         from this class.
1671 2004-09-28  Zoltan Varga  <vargaz@freemail.hu>
1673         * PropertyInfo.cs (OptionalCustomModifiers): Add [MonoTODO].
1675         * PropertyInfo.cs: Add stub for GetConstantValue ().    
1677         * ParameterInfo.cs (marshalAs): Make this private.
1679         * Module.cs (ModuleHandle): Add [CLSCompliant(false)].
1681         * LocalVariableInfo.cs MethodBody.cs: Disable default constructor.
1683         * ExceptionHandlingClause.cs: Disable default constructor.
1685 2004-09-27  Zoltan Varga  <vargaz@freemail.hu>
1687         * CustomAttributeData.cs CustomAttributeTypedArgument.cs 
1688         CustomAttributeNamedArgument.cs: New files.
1690         * MethodBody.cs LocalVariableInfo.cs ExceptionHandlingClause.cs
1691         ExceptionHandlingClauseFlags.cs: New files.
1693 2004-09-26  Zoltan Varga  <vargaz@freemail.hu>
1695         * FieldInfo.cs: Add support for returning MarshalAsAttribute.
1697         * ParameterInfo.cs: Add marshalAs field, add support for returning
1698         MarshalAsAttribute.
1700 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
1702         * Module.cs: Add new 2.0 GetMethods and GetFields methods.
1704         * ParameterInfo.cs: Add GetPseudoCustomAttributes () method.
1706 2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
1708         * MonoField.cs: Add GetFieldOffset.
1710         * ObfuscationAttribute.cs: Add ApplyToMembers.
1712         * Assembly.cs: Add stub for ReflectionOnlyLoadFrom.
1713         
1714         * Assembly.cs (LoadWithPartialName): Add [ComVisible] attribute.
1716         * MonoMethod.cs FieldInfo.cs: Add GetPseudoCustomAttributes () method.
1718         * AssemblyNameFlags.cs: Add LongevityUnspecified.
1720 2004-09-23  Zoltan Varga  <vargaz@freemail.hu>
1722         * Module.cs: Remove [MonoTODO] from ResolveMember.
1724         * MemberInfo.cs: Add 'Module' property.
1726         * AssemblyFlagsAttribute.cs: Add 2.0 stuff.
1728         * Assembly.cs: Add stubs for ReflectionOnlyLoad methods. Add [Obsolete]
1729         to LoadWithPartialName on 2.0.
1731         * AssemblyNameFlags.cs: Add new 2.0 members.
1733         * FieldInfo.cs MonoField.cs PropertyInfo.cs ParameterInfo.cs MonoProperty.cs: Add stubs for Optinal/RequiredCustomModifiers.
1735         * ObfuscationAttribute.cs ObfuscateAssemblyAttribute.cs: New files.
1737         * EventInfo.cs: Fix 2.0 build.
1739         * MonoEvent.cs (MonoEventInfo): Add 'other_methods' field.
1741         * EventInfo.cs MonoEvent.cs: Add NET 2.0 GetOtherMethods method.
1743 2004-09-22  Zoltan Varga  <vargaz@freemail.hu>
1745         * Module.cs: Implement net 2.0 ResolveXXX methods.
1747         * Module.cs (resolve_token_exception): Fix type of exception thrown.
1749 2004-09-21  Martin Baulig  <martin@ximian.com>
1751         * Assembly.cs (MonoDebugger_CheckRuntimeVersion): New internal method.
1753 2004-09-20  Zoltan Varga  <vargaz@freemail.hu>
1755         * Assembly.cs: Implement 2.0 reflection properties.
1757         * Module.cs: Implement 2.0 reflection properties. Add 'token' field.
1759 2004-09-19  Zoltan Varga  <vargaz@freemail.hu>
1761         * PortableExecutableKind.cs ImageFileMachine.cs: Make this internal
1762         under 1.0.
1764         * MemberInfo.cs ParameterInfo.cs: Add MetadataToken property.
1766         * Module.cs: Add ModuleHandle property and new icalls.
1768 2004-09-18  Zoltan Varga  <vargaz@freemail.hu>
1770         * Module.cs: Add net 2.0 Mvid property.
1772 2004-08-30  Sebastien Pouliot  <sebastien@ximian.com>
1774         * Assembly.cs: Added internal Demand(PermissionSet) for CAS.
1776 2004-08-30  Zoltan Varga  <vargaz@freemail.hu>
1778         * MethodBase.cs (GetMethodFromHandle): Avoid passing a valuetype to
1779         icalls.
1781 2004-08-29  Zoltan Varga  <vargaz@freemail.hu>
1783         * MethodBase.cs (GetMethodFromHandle): Implement.
1785 2004-08-13  Marek Safar  <marek.safar@seznam.cz>
1787         * Assembly.cs: Made _minimum, _optional, _refuse fields internal.
1788         To be reusable by AssemblyBuilder.
1790 2004-08-09  Sebastien Pouliot  <sebastien@ximian.com>
1792         * Assembly.cs: Fixed some exceptions in NET_1_1 and added some 2.0
1793         properties (required for compiling the new unit tests).
1794         * PortableExecutableKind.cs: New. Flags for NET_2_0.
1795         * ImageFileMachine.cs: New. (Rather limited) enum for NET_2_0.
1797 2004-08-08  Sebastien Pouliot  <sebastien@ximian.com>
1799         * Assembly.cs: Get default evidences when no evidences have been 
1800         supplied. Added internal methods for CAS.
1801         * AssemblyName.cs: New constructor for NET_2_0.
1803 2004-08-05  Sebastien Pouliot  <sebastien@ximian.com>
1805         * Assembly.cs: Added new fields for CAS to match the runtime (v23).
1807 2004-07-29  Martin Baulig  <martin@ximian.com>
1809         * Module.cs (Mono_GetGuid): Make this static.
1811 Sat Jul 10 15:48:34 CEST 2004 Paolo Molaro <lupus@ximian.com>
1813         * Module.cs: return just name in ToString (bug #61287).
1815 2004-07-03  Zoltan Varga  <vargaz@freemail.hu>
1817         * Module.cs: Initialize FilterTypeName[IgnoreCase]. Fixes #61048.
1819 2004-06-17  Gert Driesen <drieseng@users.sourceforge.net>
1821         * Pointer.cs: remove serializable attribute to match MS.NET
1823 2004-06-17  Gert Driesen <drieseng@users.sourceforge.net>
1824         
1825         * ParameterModifier.cs: marked serializable, renamed field to match
1826         MS.NET, throw ArgumentException when parameter count is less than or
1827         equal to zero
1829 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
1831         * AssemblyName.cs: added TODO for serialization
1832         * Pointer.cs: fixed Box method to return object instead of 
1833         Pointer
1835 2004-06-15  Sebastien Pouliot  <sebastien@ximian.com>
1837         * MemberInfo.cs: Changed constructor from internal to protected.
1839 2004-06-11  Martin Baulig  <martin@ximian.com>
1841         * FieldInfo.cs (Mono_GetGenericFieldDefinition): New method for NET_2_0.
1843 2004-06-11  Lluis Sanchez  <lluis@ximian.com>
1845         * StrongNameKeyPair.cs: Catch exception when getting PublicKey to match 
1846           MS implementation. Generate the RSA in the constructors.
1848 2004-06-10  Lluis Sanchez  <lluis@ximian.com>
1850         * AssemblyName.cs: Added missing fields to serialization methods.
1851         * StrongNameKeyPair.cs: Made it compatible with MS serialization.
1853 2004-06-08  Jacson Harper  <jackson@ximian.com>
1855         * AssemblyName.cs (GetAssemblyName): Send a fullpath to the
1856         runtime. This way the codebase is set properly. The codebase is
1857         using g_filename_to_uri which expects a full path.
1858         
1859 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1861         * Binder.cs: don't crash when we have a 'null' argument Type array.
1862         Allow it for non-value types. Fixed for both, methods and properties.
1863         Closes bug #58846.
1865 2004-06-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1867         * Binder.cs: default score must be lower than fail_score or we'll get
1868         an ambiguous match when no indexers given and one single match is found.
1870 2004-06-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1872         * Binder.cs: removed ^Ms. In case of several properties matching, try
1873         to disambiguate based on the indexer types provider and the conversions
1874         from those into the ones of the property.
1876 2004-05-31  Gert Driesen <drieseng@users.sourceforge.net>
1878         * Assembly.cs: added missing ComVisible attribute on
1879         ImageRuntimeVersion property
1880         * ConstructorInfo.cs: added missing attributes on Invoke
1881         * EventInfo.cs: added missing attributes
1882         * FieldInfo.cs: added missing attributes
1883         * MethodBase.cs: added missing attributes
1884         * PropertyInfo.cs: added missing attributes
1886 2004-05-22  Cesar Lopez Nataren  <cesar@ciencias.unam.mx>
1888         * FieldInfo.cs: changed default constructor from internal to protected, so classes
1889         that inherit from it can get build. 
1891 2004-05-18  Gert Driesen (drieseng@users.sourceforge.net)
1893         * MonoProperty.cs: return correct MethodInfo for 
1894         property with only a get or set method. Fixes
1895         bug #58661.
1897 2004-05-18  Sebastien Pouliot  <sebastien@ximian.com>
1899         * Assembly.cs: Return an empty Evidence collection to avoid 
1900         NullReferenceException from calling code (as this is never
1901         null with MS implementation). See bugzilla #53548.
1903 2004-05-14  Zoltan Varga  <vargaz@freemail.hu>
1905         * Assembly.cs: Add stub for LoadFrom.
1907         * Assembly.cs: Fix build.
1909 2004-05-13  Zoltan Varga  <vargaz@freemail.hu>
1911         * Assembly.cs: Add ModuleResolve event.
1913         * Module.cs (Mono_GetGuid): Make this internal.
1915         * FieldInfo.cs: Add stubs for {Get,Set}ValueDirect.
1917 2004-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1919         * Binder.cs: check for ambiguous matches in SelectMethod and
1920         SelectProperty. Fixes bug #58381.
1922 2004-05-06  Jackson Harper <jackson@ximian.com>
1924         * Assembly.cs: remove TODO, this is done.
1925         
1926 2004-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1928         * Assembly.cs: ToString () returns the same as GetName ().ToString ().
1929         Fixes bug #58104.
1931 2004-05-03  Jackson Harper  <jackson@ximian.com>
1933         * Assembly.cs: Implement LoadWithPartialName. The bulk of this
1934         method is done in the runtime.
1935         
1936 2004-04-29  Lluis Sanchez Gual  <lluis@ximian.com>
1938         * MonoProperty.cs: Property.GetGetMethod() does not return the method if it
1939         is private (it did until now because of a bug). Make sure it works as it 
1940         worked before the fix.
1941         
1942 2004-04-27  Lluis Sanchez Gual  <lluis@ximian.com>
1944         * ICustomAttributeProvider.cs, IReflect.cs, MemberInfo.cs, AssemblyName.cs: 
1945           Removed completed     TODOs.
1946         * MonoProperty.cs: In GetAccessors(), GetGetMethod() and GetSetMethod(),
1947           do not return private methods if nonPublic == false.
1948         * ReflectionTypeLoadException.cs: Implemented serialization support.
1950 2004-04-26  Jackson Harper  <jackson@ximian.com>
1952         * Assembly.cs: Add icall to determine if an assembly has been
1953         loaded from the GAC.
1955 2004-04-23  Atsushi Enomoto  <atsushi@ximian.com>
1957         * MethodBase.cs, MonoMethod.cs, TypeDelegator.cs :
1958           The fix should be easier ;)
1960 2004-04-23  Atsushi Enomoto  <atsushi@ximian.com>
1962         * MethodBase.cs, MonoMethod.cs, TypeDelegator.cs :
1963           NET_2_0 related build fix.
1965 2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>
1967         * Assembly.cs: Removed TODO for CreateQualifiedName.
1968         * AssemblyName.cs: Fixed serialization code.
1969         * AssemblyNameProxy.cs: Implemented.
1970         * Module.cs: Implemented GetMethod() methods, FindTypes() and GetObjectData.
1972 2004-04-07  Martin Baulig  <martin@ximian.com>
1974         * MonoGenericInst.cs (MonoGenericParam): Removed.
1976 2004-04-07  Martin Baulig  <martin@ximian.com>
1978         * MethodBase.cs
1979         (MethodBase.GetGenericParameters): Renamed to GetGenericArguments().
1981         * MonoGenericInst.cs (MonoGenericInst.DeclaringType): Removed.
1982         (MonoGenericInst.GetNestedTypes): Just call
1983         `generic_type.GetNestedTypes (bf)' here.
1985         * MonoMethod.cs (MonoMethod.ToString): If we're a generic method,
1986         include the type arguments.
1988 2004-04-06  Sebastien Pouliot  <sebastien@ximian.com>
1990         * StrongNameKeyPair.cs: Added support for ECMA "key". Now returns a
1991         correct StrongName instance when the ECMA "key" is used.
1993 2004-04-02  Martin Baulig  <martin@ximian.com>
1995         * MonoGenericInst.cs (MonoGenericInst.DeclaringType): Override.
1997 2004-04-01  Martin Baulig  <martin@ximian.com>
1999         * MonoGenericInst.cs (MonoGenericParam.IsValueTypeImpl): Override
2000         this and always return false.
2002 2004-04-01  Martin Baulig  <martin@ximian.com>
2004         * MonoGenericInst.cs (MonoGenericParam.IsSubclassOf): Override this.    
2006 2004-03-30  Martin Baulig  <martin@ximian.com>
2008         * MonoGenericInst.cs
2009         (MonoGenericParam): Added `bool has_ctor_constraint' field.
2010         (MonoGenericParam.SetConstraints): Added `bool
2011         has_ctor_constraint' argument.  
2013 2004-03-29  Martin Baulig  <martin@ximian.com>
2015         * MethodBase.cs (MethodBase.Mono_IsInflatedMethod): New public
2016         virtual property.
2017         (MethodBase.HasGenericParameters): Use the "official" behavior
2018         here, ie. return false if we're not a generic method.
2020 2004-03-29  Martin Baulig  <martin@ximian.com>
2022         * MethodBase.cs: Moved the generics stuff here, made it virtual
2023         where neccessary and use the correct API.
2025 2004-03-24  Sebastien Pouliot  <sebastien@ximian.com>
2027         * StrongNameKeyPair.cs: Added an internal method to return a 
2028         StrongName object (for AssemblyBuilder). Simplified implementation 
2029         using Mono.Security.Cryptography.CryptoConvert class.
2031 2004-03-24  Zoltan Varga  <vargaz@freemail.hu>
2033         * AssemblyFileVersionAttribute.cs (.ctor): Add argument checking.
2035 2004-03-23  Martin Baulig  <martin@ximian.com>
2037         * MonoGenericInst.cs: Added support for events.
2039 2004-03-23  Martin Baulig  <martin@ximian.com>
2041         * MonoMethod.cs (MonoMethod.ToString): Don't include the namespace
2042         if it's the empty string.
2044 2004-03-10  Martin Baulig  <martin@ximian.com>
2046         * MethodBase.cs (MethodBase): Implemented
2047         GetGenericMethodDefinition() and HasGenericParameters.
2049 2004-03-09  Martin Baulig  <martin@ximian.com>
2051         * MonoEvent.cs (MonoEventInfo): Replaced `parent' with
2052         `declaring_type' and `reflected_type'.
2053         (MonoEvent): Distinguish between declaring and reflected type.
2055 2004-02-25  Martin Baulig  <martin@ximian.com>
2057         * MonoGenericInst.cs
2058         (MonoGenericInst.GetNestedTypes): Override this.
2060 2004-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2062         * Binder.cs:
2063         (SelectProperty): check the return Type if provided.
2065 2004-02-17  Martin Baulig  <martin@ximian.com>
2067         * MonoGenericInst.cs (MonoGenericInst.GetProperties): Added
2068         support for properties.
2070 2004-02-17  Martin Baulig  <martin@ximian.com>
2072         * MonoGenericInst.cs (MonoGenericInst.GetMethods): Walk up the
2073         class hierarchy and return members from the parent classes.
2074         (GetConstructors, GetFields): Likewise.
2076 2004-02-17  Martin Baulig  <martin@ximian.com>
2078         * MonoGenericInst.cs (MonoGenericInst.initialize): Don't inflate
2079         all the members here; we only do this for members of the current
2080         class and only when they're actually queried for.
2082 2004-02-12  Martin Baulig  <martin@ximian.com>
2084         * MonoGenericInst.cs (MonoInflatedField): Removed.
2086         * MonoGenericInst.cs (MonoInflatedMethod, MonoInflatedCtor): Removed.
2088 2004-02-08  Martin Baulig  <martin@ximian.com>
2090         * MonoGenericInst.cs (MonoGenericInst.inflate): Pass recursive
2091         invocations the `reflected' type as `reflected', not `this'.
2092         (MonoInflatedMethod, MonoInflatedCtor): Reflect latest runtime changes.
2094 2004-02-08  Martin Baulig  <martin@ximian.com>
2096         * MonoGenericInst.cs (MonoGenericInst.GetParentType): New interncall.
2097         (MonoGenericInst.GetInterfaces_internal): New interncall.
2098         (MonoGenericInst): Reflect latest API changes; use GetParentType()
2099         and GetInterfaces_internal() instead of the fields.     
2101 2004-02-06  Martin Baulig  <martin@ximian.com>
2103         * MonoGenericInst.cs (MonoGenericInst.DeclaringType): Override this.
2105 2004-02-03  Martin Baulig  <martin@ximian.com>
2107         * MonoGenericInst.cs (MonoGenericInst.GetInterfaces): Override this.
2109 2004-01-25  Martin Baulig  <martin@ximian.com>
2111         * MonoGenericInst.cs: Honor BindingFlags.DeclaredOnly.
2113 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
2115         * Assembly.cs (GetManifestResourceStream): Make the IntPtrStream keep
2116         a reference on the Module object which contains the resource.
2118         * Module.cs: Decrease the image reference count when the Module is
2119         garbage collected.
2121 2004-01-16  Martin Baulig  <martin@ximian.com>
2123         * Assembly.cs: Make the `MonoDebugger_' methods static.
2125 2004-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2127         * MonoProperty.cs: changed get_property_info so that it only gets the
2128         values needed. Reduces the allocations needed.
2130 2004-01-15  Martin Baulig  <martin@ximian.com>
2132         * Assembly.cs: Make the `MonoDebugger_' methods internal.
2134 2004-01-04  Nick Drochak <ndrochak@gol.com>
2136         * Assembly.cs: Removed unused variable in catch block.Eliminates a build
2137         warning.
2139 2003-12-29 Ben Maurer  <bmaurer@users.sourceforge.net>
2141         * MethodBase.cs: Internal method to get param count (this
2142         way we can get the info for the ilgen without creating
2143         an array, if we override the method).
2145 2003-12-18  Zoltan Varga  <vargaz@freemail.hu>
2147         * Assembly.cs: Implement LoadFrom.
2149 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
2151         * Assembly.cs: Add stubs for LoadFile.
2153 2003-12-16  Zoltan Varga  <vargaz@freemail.hu>
2155         * Assembly.cs (GetManifestResourceStream): Only load non-embedded
2156         resources from files.
2158 2003-12-15  Zoltan Varga  <vargaz@freemail.hu>
2160         * MonoField.cs (SetValue): Throw an exception if the value cannot be
2161         converted to the field's type. Fixes #52177.
2163 2003-12-11  Lluis Sanchez Gual <lluis@ximian.com>
2164         
2165         * AmbiguousMatchException.cs: Added serialization constructor.
2166         
2167 2003-12-08  Martin Baulig  <martin@ximian.com>
2169         * MonoGenericInst.cs (MonoGenericParam): New internal class;
2170         derives from MonoType.  
2172 2003-12-08  Patrik Torstensson <p@rxc.se>
2174         * Binder.cs: Added internal helpers to get derived level and select the 
2175         most derived methodbase (used in GetMethodImpl)
2177 2003-11-25  Zoltan Varga  <vargaz@freemail.hu>
2179         * Assembly.cs (LoadWithPartialName): Return null instead of throwing
2180         an exception to match MS behavior.
2182 2003-11-24  Zoltan Varga  <vargaz@freemail.hu>
2184         * MonoMethod.cs: Add missing constructor.
2186 2003-11-21  Zoltan Varga  <vargaz@freemail.hu>
2188         * MethodBase.cs (Invoke): Make this virtual under NET 1.2.
2190 2003-11-16  Martin Baulig  <martin@ximian.com>
2192         * MonoGenericInst.cs (MonoGenericInst.inflate): Call
2193         `parent.inflate (parent,...)' instead of
2194         `parent.inflate (reflected,...)'.
2196 2003-11-16  Zoltan Varga  <vargaz@freemail.hu>
2198         * Assembly.cs (InternalGetAssemblyName): New icall.
2200         * AssemblyName.cs (GetAssemblyName): Implement this without loading
2201         the assembly in question. Fixes #51035.
2203 2003-11-14  Martin Baulig  <martin@ximian.com>
2205         * MonoGenericInst.cs (MonoGenericInst): Added
2206         `MonoGenericInst[] interfaces' field.  This is only used for
2207         interface types.
2208         (MonoGenericInst.inflate): If we're an interface type, add the
2209         methods from all interfaces we inherit.
2211 2003-11-14  Zoltan Varga  <vargaz@freemail.hu>
2213         * AssemblyNameFlags.cs MethodAttributes.cs: Add new enumerated values 
2214         from NET 1.1.
2215         
2216         * *.cs: Add missing attributes.
2218 2003-11-11  Todd Berman  <tberman@gentoo.org>
2220         * AssemblyName.cs (FullName): Fixed to include a proper PublicKeyToken.
2222 2003-11-11  Zoltan Varga  <vargaz@freemail.hu>
2224         * MonoMethod.cs: Implement CallingConvention member.
2226 2003-11-10  Zoltan Varga  <vargaz@freemail.hu>
2228         * Assembly.cs (InternalGetType): Add a 'module' argument so this
2229         method can be used from Module as well.
2231         * Module.cs (GetType): Implement.
2233         * Module.cs (GetTypes): Implement.
2235         * Module.cs: Remove some [MonoTODO] attributes from implemented methods.
2236 2003-11-08  Martin Baulig  <martin@ximian.com>
2238         * MonoGenericInst.cs (MonoInflatedMethod, MonoInflatedCtor): Added
2239         a private `IntPtr ginst' field.
2240         (MonoGenericInst.IsValueTypeImpl, inflate): Allow interfaces.
2242 2003-11-02  Martin Baulig  <martin@ximian.com>
2244         * MonoGenericInst.cs (MonoGenericInst.initialize): Include members
2245         from our parent classes in the `methods', `ctors' and `fields'
2246         arrays.  When inflating them, reflection now sets their
2247         `declaring_type' and `reflected_type' fields.
2248         (MonoInflatedMethod, MonoInflatedCtor): Added
2249         `MonoGenericInst declaring_type' and `MonoGenericInst reflected_type'
2250         fields and override the `DeclaringType' and `ReflectedType' properties.
2252 2003-11-02  Martin Baulig  <martin@ximian.com>
2254         * MonoGenericInst.cs (MonoGenericInst.IsValueTypeImpl): Override this.
2256 2003-10-31  Martin Baulig  <martin@ximian.com>
2258         * MonoGenericInst.cs (MonoInflatedField): New internal class.
2259         (MonoGenericInst.GetFields): Override this method and inflate
2260         the fields.
2262         * MonoField.cs: Don't make this class sealed.
2264 2003-10-30  Martin Baulig  <martin@ximian.com>
2266         * MonoGenericInst.cs (MonoInflatedMethod, MonoInflatedCtor): New
2267         internal classes.
2269 2003-10-25  Martin Baulig  <martin@ximian.com>
2271         * MonoGenericInst.cs: New internal class.
2273 2003-10-18  Martin Baulig  <martin@ximian.com>
2275         * MethodInfo.cs (MethodInfo.GetGenericArguments): Make this method
2276         abstract; use an interncall in MonoMethod and a custom
2277         implementation in MethodBuilder.        
2279 2003-10-17  Pedro Martinez Julia  <yoros@wanadoo.es>
2281         * MonoEvent.cs: implement ToString method as in MS.NET.
2283         * MonoMethod.cs: fix some differences between mono and MS.NET
2284         implementation of ToString.
2286 2003-10-17  Zoltan Varga  <vargaz@freemail.hu>
2288         * AssemblyName.cs: Fix Version property when some version fields are
2289         undefined.
2291 2003-10-17  Martin Baulig  <martin@ximian.com>
2293         * MethodInfo.cs (MethodInfo.GetGenericArguments): New method.
2294         (MethodInfo.BindGenericParameters): New method.
2296 2003-10-16  Martin Baulig  <martin@ximian.com>
2298         * MethodInfo.cs (MethodInfo.IsGenericMethodDefinition): New
2299         property.       
2301 2003-08-08  Lluis Sanchez Gual  <lluis@ximian.com>
2303         * ParameterInfo.cs: Modified constructor of ParameterInfo for
2304           the return type of a method. Since parameter positions are
2305           zero-based, the position of the return type must be is -1.
2307 2003-08-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2309         * TargetInvocationException.cs: Fixed signature
2311 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
2313         * TypeDelegator.cs: Added generics stubs.
2315 2003-07-21  Lluis Sanchez Gual  <lluis@ximian.com>
2317         * ParameterInfo.cs: Position is zero-based in ParameterInfo.
2318           Set the right position value when getting from ParameterBuilder.
2320 Thu Jul 17 17:26:59 CEST 2003 Paolo Molaro <lupus@ximian.com>
2322         * FieldInfo.cs, MonoField.cs: cleanups. Cache some info and use
2323         finer-grained icalls. Requires a matching runtime.
2325 2003-07-11  Zoltan Varga  <vargaz@freemail.hu>
2327         * AssemblyFlagsAttribute.cs: Added new constructor from NET 1.1.
2329         * AssemblyFlagsAttribute.cs: Added new property from NET 1.1.
2331 2003-07-10  Zoltan Varga  <vargaz@freemail.hu>
2333         * Assembly.cs: Implemented ImageRuntimeVersion property from NET 1.1.
2335 Mon Jun 30 19:12:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
2337         * Pointer.cs: implemented.
2339 2003-06-15  Zoltan Varga  <vargaz@freemail.hu>
2341         * EventInfo.cs: Implement IsSpecialName.
2343 2003-06-10  Zoltan Varga  <vargaz@freemail.hu>
2345         * Module.cs (Mono_GetGuid): New method to return the GUID of the
2346         module.
2348 2003-05-21  Zoltan Varga  <vargaz@freemail.hu>
2350         * Module.cs: Implement GetField and its friends.
2352 2003-05-20  Zoltan Varga  <vargaz@freemail.hu>
2354         * Assembly.cs (GetManifestResourceStream): Moved handling of 
2355         linked resources into managed code using the newly implemented
2356         GetManifestResourceInfo () method.
2358 2003-05-19  Zoltan Varga  <vargaz@freemail.hu>
2360         * Module.cs: Implemented IsResource.
2362         * Assembly.cs: Implemented GetManifestResourceInfo, GetModules,
2363         GetModule, GetLoadedModules methods.
2364         * Assembly.cs (GetManifestResourceStream): Added support for 
2365         resources in extern assemblies.
2367 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2369         * Assembly.cs: fixed bug #42833.
2371 2003-05-11  Miguel de Icaza  <miguel@ximian.com>
2373         * Binder.cs (ChangeType): Very simplistic change.  Am not sure if
2374         it is correct, but it makes RemotingCorba move along a bit more
2375         (Remoting.Corba invokes Binder.ConvertArgs, which calls
2376         Binder.ChangeType with an Attribute [] to Object []).
2378 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2380         * Binder.cs:
2381         (check_type): fixed bug #41655.
2383 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2385         * Assembly.cs: implemented GetSatelliteAssembly.
2387 Fri Apr 11 13:06:10 CEST 2003 Paolo Molaro <lupus@ximian.com>
2389         * Assembly.cs: added GetNamespaces() icall.
2391 2003-03-17  Zoltan Varga  <vargaz@freemail.hu>
2393         * FieldInfo.cs (GetFieldFromHandle): Implemented.
2395 2003-03-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2397         * Assembly.cs: added missing stuff. Only ModuleResolve event is left
2398         out to avoid changing MonoReflectionAssembly by now.
2399         * ModuleResolveEventHandler.cs: delegate.
2401 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2403         * TargetInvocationException.cs: added serialization ctor.
2405 2003-02-18  Martin Baulig  <martin@ximian.com>
2407         * Assembly.cs (MonoDebugger_GetMethodToken): New method to get a
2408         method's metadata token.
2410 2003-02-04  Sebastien Pouliot  <spouliot@videotron.ca>
2412         * Module.cs: Corrected indentation for class.
2414 2003-02-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2416         * Binder.cs:
2417         (check_type): return true when the target type is object and the source
2418         is a value type.
2420 2003-02-03 Patrik Torstensson
2422         * Binder.cs: minimize locking time in DefaultBinder.
2424 2003-02-01  Sebastien Pouliot  <spouliot@videotron.ca>
2426         * Module.cs: Oups - not implemented. Added MonoTODO to most methods
2427         so it's real status get reflected correctly on the web site.
2429 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2431         * MonoMethod.cs: implemented GetBaseDefinition ().
2433 2003-01-28  Patrik Torstensson
2434         * MonoMethod.cs: Added support for serialization for MonoMethod and MonoCMethod
2435         * ReflectionSerializationHolder.cs: Support class for serialization
2437 2003-01-17  Zoltan Varga  <vargaz@freemail.hu>
2439         * ParameterInfo.cs: modified constructor so it allows the 
2440         ParameterBuilder to be null and add a 'position' argument which will
2441         be used when pb is null.
2443 2003-01-16  Lluis Sanchez Gual <lsg@ctv.es>
2445         * Assembly.cs: added serialization support.
2447 Sat Jan 4 18:26:41 CET 2003 Paolo Molaro <lupus@ximian.com>
2449         * MonoMethod.cs: propagate exceptions from the internal invoke
2450         code that need to be propagated.
2452 Sat Jan 4 18:04:07 CET 2003 Paolo Molaro <lupus@ximian.com>
2454         * Binder.cs: throw an exception if the number of arguments 
2455         when invoking a method is incorrect.
2457 Thu Jan 2 19:04:58 CET 2003 Paolo Molaro <lupus@ximian.com>
2459         * Binder.cs: In SelectMethod() look for an exact match first.
2461 2003-01-01  Rachel Hestilow <hestilow@ximian.com>
2463         * MonoField.cs (SetValue): Fix logic typo. Check that obj is
2464         non-null only for the non-static case.
2466 2002-12-30  Sebastien Pouliot <spouliot@videotron.ca>
2468         * AssemblyName.cs: Fixed null cultureinfo in FullName (as reported by 
2469         Zoltan).
2471 2002-12-23  Sebastien Pouliot <spouliot@videotron.ca>
2473         * AssemblyName.cs: GetPublicKey now return an empty array (not null)
2474         when an assembly isn't signed with a StrongName (to match MS 
2475         implementation) and null when no assembly is referenced. Also removed 
2476         commented code (no bug reported so it was probably not used).
2478 Thu Dec 19 16:43:19 CET 2002 Paolo Molaro <lupus@ximian.com>
2480         * MonoMethod.cs, ParameterInfo.cs: return a custom attribute
2481         provider for the return type of a method.
2483 2002-12-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2485         * AssemblyName.cs: little fix in FullName.
2487 2002-12-07  Sebastien Pouliot <spouliot@videotron.ca>
2489         * AssemblyName.cs: Added missing methods/interfaces. Fixed some
2490         code to match the MS Framework.
2491         * StrongNameKeyPair.cs: Completed the "visible" implementation.
2492         There must be some internal methods to allow signing with the key.
2494 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2496         * EventInfo.cs: implemented (Add|Remove)EventHandler.
2498 Mon Nov 18 17:52:56 CET 2002 Paolo Molaro <lupus@ximian.com>
2500         * Assembly.cs: implemented GetManifestResourceStream (Type type,
2501         * String name).
2503 2002-11-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2505         * Assembly.cs: changed name of GetType (string, bool, bool) to
2506         InternalGetType.
2508 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2510         * TargetInvocationException.cs: modified default message.
2512 2002-10-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2514         * MonoProperty.cs:
2515         * PropertyInfo.cs: fixed bug #31535.
2517 2002-09-27  Martin Baulig  <martin@gnome.org>
2519         * Assembly.cs (Assembly.GetReferencedAssemblies): Implemented.
2521 2002-09-24  Martin Baulig  <martin@gnome.org>
2523         * Assembly.cs (MonoDebugger_GetType): New method to get a Type
2524         from its metadata token.  This should only be used by the debugger.
2526 2002-09-21  Martin Baulig  <martin@gnome.org>
2528         * Assembly.cs (MonoDebugger_GetLocalTypeFromSignature): New method to
2529         get the type of a local variable from its signature.  This should only
2530         be used by the debugger.
2532 2002-09-20  Martin Baulig  <martin@gnome.org>
2534         * Assembly.cs (MonoDebugger_GetMethod): New method to get a MethodBase
2535         from its metadata token.  This should only be used by the debugger.
2537 Wed Sep 11 12:50:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
2539         * Binder.cs: more default binder implementation.
2541         * FieldInfo.cs, MonoField.cs: fixed SetValue () implementation.
2542         * MonoMethod.cs: use the binder in the Invoke () implementation.
2543         Implemented custom attributes methods and ToString for constructors.
2545 Thu Sep 5 20:36:27 CEST 2002 Paolo Molaro <lupus@ximian.com>
2547         * Binder.cs: finished the Binder class and implemented the default
2548         binder.
2550 2002-09-03  Martin Baulig  <martin@gnome.org>
2552         * Assembly.cs (Assembly.Location): Implemented.
2554 2002-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2556         * MonoField.cs:
2557         (GetValue): allow obj to be null (used for static fields).
2559 2002-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2561         * MonoField.cs: GetValue renamed to GetValueInternal. Added check for
2562         null.
2564 Wed Aug 21 13:03:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
2566         * Assembly.cs: GetEntryAssembly patch by Tomi Pakarinen 
2567         <tomi.pakarinen@welho.com>.
2569 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2571         * Assembly.cs: FullName now returns a proper string instead of
2572         something like 'file://...'.
2574         * AssemblyName.cs: added missing ToString method.
2576 2002-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2578         * FieldInfo.cs: implemented SetValue.
2580 Wed Aug 14 17:37:30 CEST 2002 Paolo Molaro <lupus@ximian.com>
2582         * MonoEvent.cs, MonoMethod.cs: implemented ReflectedType.
2584 2002-08-14  Dick Porter  <dick@ximian.com>
2586         * Assembly.cs: Stub out GetSatelliteAssembly
2588 2002-08-12  Tim Coleman <tim@timcoleman.com>
2589         * MonoProperty.cs:
2590                 Allow multiple parameters for GetValue ()
2592 Thu Aug 8 13:05:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
2594         * Assembly.cs: implemented GetFile() and GetFiles().
2596 Mon Aug 5 21:19:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
2598         * Assembly.cs: implemented EntryPoint and a few 
2599         resource related methods.
2601 Wed Jul 24 13:08:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
2603         * MethodBase.cs: implemented GetCurrentMethod.
2604         * Assembly.cs: implemented GetExecutingAssembly and
2605         GetCallingassembly.
2607 Mon Jul 1 18:01:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
2609         * MonoProperty.cs: handle properties with only a set method.
2611 2002-05-24  Martin Baulig  <martin@gnome.org>
2613         * ParameterInfo.cs: Added internal constructor.
2615 Thu May 23 17:18:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
2617         * Assembly.cs: implemented CreateInstance ().
2619 2002-05-22  Martin Baulig  <martin@gnome.org>
2621         * MethodBase.cs (get_next_table_index): Added `object obj' argument.
2623 Tue May 21 12:07:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
2625         * EventInfo.cs: more implementation.
2627 Mon May 20 17:37:39 CEST 2002 Paolo Molaro <lupus@ximian.com>
2629         * MonoEvent.cs: fill-in the implementation.
2631 Sat May 4 15:00:39 CEST 2002 Paolo Molaro <lupus@ximian.com>
2633         * Assembly.cs, AssemblyName.cs: updates and fixes.
2635 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
2637         * MonoProperty.cs (GetValue) : basic implementation to support nunit
2638         * PropertyInfo.cs (GetValue) : call MonoProperty::GetValue instead of returning null
2640 Thu Apr 18 16:40:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
2642         * MonoMethod.c: cache the method name.
2644 2002-04-12  Duncan Mak  <duncan@ximian.com>
2646         * AssemblyAlgorithmIdAttribute.cs: Fixed typo in AlgorithmId
2647         property.
2649         * AssemblyDelaySignAttribute.cs: Fixed type in DelaySign
2650         attribute.
2652         * AssemblyFileVersionAttribute.cs: Renamed FileVersion property to
2653         Version.
2655         * BindingFlags.cs: Added missing value "PutRefDispProperty".
2657         * FieldAttributes.cs: Removed value "HasSecurity".
2659         * ManifestResourceInfo.cs: Added missing properties FileName,
2660         ReferencedAssembly and ResourceLocation.
2662         * TargetInvocationException.cs: Added the missing constructors.
2664 Fri Apr 12 18:32:34 CEST 2002 Paolo Molaro <lupus@ximian.com>
2666         * MonoMethod.cs: make Name property an icall.
2668 2002-04-08  Nick Drochak  <ndrochak@gol.com>
2670         * DefaultMemberAttribute.cs: Add AttributeUsage attribute for class,
2671         struct and interface.
2673 Fri Apr 5 15:40:24 CEST 2002 Paolo Molaro <lupus@ximian.com>
2675         * MonoEvent.cs: remove unused code.
2676         * MonoProperty: implement ToString().
2678 Wed Apr 3 17:59:26 CEST 2002 Paolo Molaro <lupus@ximian.com>
2680         * Assembly.cs: implement GetTypes() and GetExportedTypes().
2682 Mon Mar 25 18:54:58 CET 2002 Paolo Molaro <lupus@ximian.com>
2684         * MonoEvent.cs: added the needed fields.
2686 2002-03-20  Martin Baulig  <martin@gnome.org>
2688         * ConstructorInfo.cs (Invoke): Implemented, call the abstract Invoke.
2690         * MonoMethod.cs (MonoCMethod.Invoke): Implemented, call InternalInvoke.
2692 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
2694         * MonoMethod.cs (Invoke): call InternalInvoke
2696         * MethodBase.cs (Invoke): call virtual invoke function 
2698 Thu Mar 7 17:14:20 CET 2002 Paolo Molaro <lupus@ximian.com>
2700         * EventInfo.cs: add compiler needed methods.
2701         * MonoMethod.cs: make ToString() return the return type name, too.
2703 2002-03-07  Nick Drochak  <ndrochak@gol.com>
2705         * BindingFlags.cs: Add missing enum values.  Thanks CorCompare.
2707 Tue Mar 5 20:33:14 CET 2002 Paolo Molaro <lupus@ximian.com>
2709         * TypeAttributes.cs, MethodImplAttributes.cs: updates to latest spec.
2711 2002-02-26  Duncan Mak  <duncan@ximian.com>
2713         * StrongNameKeyPair.cs: Committed for Kevin Winchester (kwin@ns.sympatico.ca>.
2715 2002-02-24 Nick Drochak  <ndrochak@gol.com>
2717         * AssemblyNameFlags.cs: Use proper member name.  Thanks corcompare!
2719 Fri Feb 22 18:54:13 CET 2002 Paolo Molaro <lupus@ximian.com>
2721         * MonoField.cs: implement GetValue as an internalcall.
2722         Implemented ToString().
2724 Tue Feb 19 20:36:04 CET 2002 Paolo Molaro <lupus@ximian.com>
2726         * Assembly.cs, Module.cs, MonoField.cs, MonoMethod.cs,
2727         MonoProperty.cs, ParameterInfo.cs: Implemented custom attributes
2728         related methods.
2730 Thu Feb 14 18:55:23 CET 2002 Paolo Molaro <lupus@ximian.com>
2732         * TypeAttributes.cs: update to latest spec.
2734 Mon Feb 11 19:50:27 CET 2002 Paolo Molaro <lupus@ximian.com>
2736         * Assembly.cs: handle throwOnError in GetType() call.
2738 2002-02-07  Duncan Mak  <duncan@ximian.com>
2740         * AssemblyName.cs: Implemented ISerializable interface for the
2741         fields that we have.
2743 2002-02-05  Duncan Mak  <duncan@ximian.com>
2744         
2745         * Missing.cs: 
2746         * TargetException.cs: Added in CVS.
2748 2002-01-31  Duncan Mak  <duncan@ximian.com>
2750         * ReflectionTypeLoadException.cs: Added missing bits.
2752 2002-01-23  Duncan Mak  <duncan@ximian.com>
2754         * AssemblyAlgorithmIdAttribute.cs:
2755         * AssemblyCompanyAttribute.cs:
2756         * AssemblyConfigurationAttribute.cs:
2757         * AssemblyCopyrightAttribute.cs:
2758         * AssemblyCultureAttribute.cs:
2759         * AssemblyDefaultAliasAttribute.cs:
2760         * AssemblyDelaySignAttribute.cs:
2761         * AssemblyDescriptionAttribute.cs:
2762         * AssemblyFileVersionAttribute.cs:
2763         * AssemblyFlagsAttribute.cs:
2764         * AssemblyInformationalVersionAttribute.cs:
2765         * AssemblyKeyFileAttribute.cs:
2766         * AssemblyKeyNameAttribute.cs:
2767         * AssemblyNameProxy.cs:
2768         * AssemblyProductAttribute.cs:
2769         * AssemblyTitleAttribute.cs:
2770         * AssemblyTradeMarkAttribute.cs:
2771         * AssemblyVersionAttribute.cs:
2772         * CustomAttributeFormatException.cs:
2773         * InvalidFilterCriteriaException.cs:
2774         * TargetParameterCountException.cs: Added.
2776 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
2778         * Assembly.cs (Assembly.CodeBase): Implement.
2779         (Assembly.FullName): simplistic and broken implementation.  Gets
2780         us where we were yesterday.
2782         Code style fix.
2784 Tue Jan 22 22:54:18 CET 2002 Paolo Molaro <lupus@ximian.com>
2786         * IReflect.cs: corrected GetMember() return type.
2787         * InterfaceMapping.cs, TypeDelegator.cs: implemented.
2789 Wed Jan 9 19:37:14 CET 2002 Paolo Molaro <lupus@ximian.com>
2791         * MonoMethod.cs: ToString () implementation.
2793 2002-01-04  Ravi Pratap  <ravi@ximian.com>
2795         * Assembly.cs : Decorate missing bits with the MonoTODO
2796         attribute.
2798         * ConstructorInfo.cs, MonoMethod.cs, MonoProperty.cs, ParameterInfo.cs,
2799         ReflectionTypeLoadException.cs : Ditto.
2801         * FieldInfo.cs : Ditto.
2802         
2803 Thu Jan 3 23:25:34 CET 2002 Paolo Molaro <lupus@ximian.com>
2804         
2805         * Assembly.cs: trow unimplemented exceptions.
2807 Tue Dec 18 18:46:22 CET 2001 Paolo Molaro <lupus@ximian.com>
2809         * MonoMethod.cs: implemented GetParameters().
2810         * MonoProperty.cs: PropertyInfo implementation.
2811         * ParameterInfo.cs: implemented.
2812         * PropertyInfo.cs: fixes.
2814 Thu Dec 13 20:18:05 CET 2001 Paolo Molaro <lupus@ximian.com>
2816         * FieldInfo.cs: implemented some Is* propeties.
2817         * MethodBase.cs: fixed attribute accessors.
2818         * MonoField.cs: runtime object to represent a field.
2819         * MonoMethod.cs: runtime object to represent a method.
2820         * AssemblyBuilder.cs: GetToken() methods to get tokens for
2821         strings, fields, methods...
2822         * ILGenerator.cs: handle tokens for methods.
2824 Mon Nov 19 13:56:55 CET 2001 Paolo Molaro <lupus@ximian.com>
2826         * MethodBase.cs: add internal get_next_table_index() for use in
2827         Reflection.Emit.
2829 Wed Nov 14 16:53:28 CET 2001 Paolo Molaro <lupus@ximian.com>
2831         * Assembly.cs: implement some of the Load() methods.
2832         * ConstructorInfo.cs: some missing stubs and fields.
2833         * FieldInfo.cs: IsInitOnly property.
2834         * ParameterInfo.cs: stubs for missing properties.
2835         * ParameterModifier.cs: implemented class.
2837 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
2839         * Assembly.cs: Filled in some stub implementations
2841         * ConstructorInfo.cs: Added some stub functions for NUnit
2843 Fri Nov 2 18:29:36 CET 2001 Paolo Molaro <lupus@ximian.com>
2845         * AmbiguousMatchException.cs, 
2846         * Assembly.cs, Module.cs: updates.
2847         * FieldInfo.cs: better compliance to the spec.
2848         * MethodBase.cs: move call_conv out of the way.
2849         * AssemblyBuilder.cs:  don't use internalcalls, more stuff supported.
2850         * FieldBuilder.cs: implemented.
2851         * ILGenerator.cs: implemented some opcode handling.
2852         * Label.cs: add constructor.
2853         * LocalBuilder.cs: implemented.
2854         * MethodBuilder.cs: don't use internalcalls, more implemented stuff.
2855         * ModuleBuilder.cs: don't use internalcalls, more meat here, too.
2856         * ParameterBuilder.cs: implemented.
2857         * PropertyBuilder.cs: implemented.
2858         * TypeBuilder.cs: don't use internalcalls, more stuff working.
2860 Tue Sep 25 16:48:50 CEST 2001 Paolo Molaro <lupus@ximian.com>
2862         * ConstructorInfo.cs, MemberFilter.cs, Module.cs: added.
2864 Fri Sep 14 16:12:08 CEST 2001 Paolo Molaro <lupus@ximian.com>
2866         * MethodBase.cs, MethodInfo.cs: added.
2868 Thu Sep 13 18:05:16 CEST 2001 Paolo Molaro <lupus@ximian.com>
2870         * Assembly.cs: added stub code.
2872 2001-07-18  Michael Lambert <michaellambert@email.com>
2874         * BindingFlags.cs: Add.