2010-06-21 Atsushi Enomoto <atsushi@ximian.com>
[mcs.git] / class / corlib / System.Reflection / ChangeLog
blob40855c8af183b11224dbc8e456d0b60d4abc3a42
1 2010-06-21  Jb Evain  <jbevain@novell.com>
3         * MonoModule.cs
4         * Assembly.cs
5         * MonoAssembly.cs
6         * Module.cs:
7                 Make Assembly and Module abstract on Moonlight too.
9 2010-06-03  Jb Evain  <jbevain@novell.com>
11         * Assembly.cs: add net_4_0's PermissionSet property.
13 2010-05-27  Jb Evain  <jbevain@novell.com>
15         * Assembly.cs (Load*): add net_4_0 overloads.
17 2010-05-13 Rodrigo Kumpera  <rkumpera@novell.com>
19         * MonoAssembly.cs: Fix a 2.0 corlib test failure.
21 2010-04-20 Rodrigo Kumpera  <rkumpera@novell.com>
23         * Binder.cs (SelectMethod): Exact matching must check
24         all entries because if two of them match, we must use
25         the slow path.
27         * Binder.cs (GetBetterMethod): Don't give generic method
28         definition special treatment.
30         Fixes #325306.
32 2010-04-08 Rodrigo Kumpera  <rkumpera@novell.com>
34         * MonoGenericClass.cs: Implement ResolveInternal.
36 2010-04-08 Rodrigo Kumpera  <rkumpera@novell.com>
38         * MonoField.cs (Get|Set)Value: Check if obj is compatible
39         with field's class.
41 2010-04-02  Marek Safar  <marek.safar@gmail.com>
43         * MethodBase.cs: Made GetParameterCount abstract and implement
44         where missing to avoid redundant allocations.
46 2010-04-01 Rodrigo Kumpera  <rkumpera@novell.com>
48         * Module.cs (GetMethod): Check for null 'types' argument.
50         * MonoModule.cs (GetMethodImpl): Special case when 'types'
51         is null and call Type::GetMethod(string) directly.
52         This is ok since proper checking of the 'types' overload
53         is done by callers.
55 2010-04-01  Jb Evain  <jbevain@novell.com>
57         * Module.cs: make Module abstract on net_4_0.
59 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
61         * Module.cs:
62         * MonoModule.cs: Implement MetadataToken, FullyQualifiedName,
63         ModuleVersionId, MDStreamVersion, ScopeName,
64         Name, Assembly.
66 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
68         * Module.cs:
69         * MonoModule.cs: Implement GetSignerCertificate and
70         GetTypes.
72 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
74         * Module.cs:
75         * MonoModule.cs: Implement ResolveMember, ResolveMethod,
76         ResolveString, ResolveType, ResolveSignature and
77         GetMethods.
79 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
81         * Module.cs:
82         * MonoModule.cs: Implement GetField, GetFields,
83         GetMethodImpl, GetPEKind, GetType, IsDefined and
84         ResolveField.
86 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
88         * Module.cs:
89         * MonoModule.cs: Implement GetCustomAttributesData.
91 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
93         * Module.cs:
94         * MonoModule.cs: Implement GetCustomAttributes.
96 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
98         * Module.cs:
99         * MonoModule.cs: Implement FindTypes.
101 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
103         * Assembly.cs: Raise the right exception.
105 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
107         * Module.cs: Make .ctor protected under v4.
108         * MonoModule.cs: Implement IsResource.
110 2010-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
112         * Module.cs: Make it a partial class under !v4.
114         * MonoModule.cs: New type that exists only under
115         v4. Under v2 it is a part of Module.
117         This is the initial setup to make v4 Module an
118         abstract type where all methods raise exceptions.
120 2010-03-30  Jb Evain  <jbevain@novell.com>
122         * MonoAssembly.cs: make MonoAssembly non public.
124 2010-03-30  Jb Evain  <jbevain@novell.com>
126         * Binder.cs (BindToMethod): fix the case where we bind to a method
127         with only one params parameter and that no args are given.
129 2010-03-30  Jb Evain  <jbevain@novell.com>
131         * Binder.cs: when invoking a params method, pack the params
132         arguments before doing the actual invocation.
134         Fixes #591877
136 2010-03-26 Rodrigo Kumpera  <rkumpera@novell.com>
138         * Assembly.cs: Add IsDynamic.
140 2010-03-26 Rodrigo Kumpera  <rkumpera@novell.com>
142         * MonoAssembly.cs:
143         * Assembly.cs: Add missing MonoTODO.
145 2010-03-26 Rodrigo Kumpera  <rkumpera@novell.com>
147         * Assembly.cs: Add v4 ==, != and GetHashCode ()
149 2010-03-25 Rodrigo Kumpera  <rkumpera@novell.com>
151         * Assembly.cs: Add v4 obsolete attribute.
153 2010-03-25 Rodrigo Kumpera  <rkumpera@novell.com>
155         * Assembly.cs:
156         * MonoAssembly.cs: Move a dozen methods from Assembly.cs
157         to MonoAssembly.cs, so they can either be the concrete impl
158         on v4 of the only impl on v2.
159         Add to Assembly.cs versions that throws NotImplementedException.
160         Mask Assembly.cs as abstract.
162 2010-03-24 Rodrigo Kumpera  <rkumpera@novell.com>
164         * Assembly.cs: Make it a partial class under !v4.
166         * MonoAssembly.cs: New type that exists only under
167         v4. Under v2 it is a part of Assembly.
169         This is the initial setup to make v4 Assembly an
170         abstract type where all methods raise exceptions.
172 2010-03-24  Rolf Bjarne Kvinge  <RKvinge@novell.com>
174         * MethodInfo.cs: Exclude IsGenericMethod* and ContainsGenericParameters
175         from moonlight too.
177 2010-03-16  Jb Evain  <jbevain@novell.com>
179         * Assembly.cs: use MOONLIGHT symbol to
180         disambiguate MonoTouch and Moonlight code.
182 2010-03-07 Rodrigo Kumpera  <rkumpera@novell.com>
184         * EventInfo.cs: Some v4 adjustments.
186 2010-03-07 Rodrigo Kumpera  <rkumpera@novell.com>
188         * MethodInfo.cs: New v4 stuff.
190 2010-03-07 Rodrigo Kumpera  <rkumpera@novell.com>
192         * ManifestResourceInfo.cs: New v4 .ctor.
194 2010-02-28 Rodrigo Kumpera  <rkumpera@novell.com>
196         * CustomAttributeData.cs:
197         * ExceptionHandlingClause.cs:
198         * LocalVariableInfo.cs: Add some v4 bits.
200 2010-02-26 Rodrigo Kumpera  <rkumpera@novell.com>
202         * PropertyInfo.cs: Small hack to avoid having cor-compare
203         flagging Get(Raw)ConstantValue as not implemented.
205 2010-02-24 Rodrigo Kumpera  <rkumpera@novell.com>
207         * MethodBody.cs: Add v4 bits.
209 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
211         * MethodBody.cs: Add v4 bits.
213 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
215         * MethodBase.cs: Add some v4 bits.
217 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
219         * MemberInfo.cs: Add GetCustomAttributesData.
221         * Assembly.cs:
222         * MemberInfo.cs:
223         * Module.cs:
224         * MonoEvent.cs:
225         * MonoField.cs:
226         * MonoMethod.cs:
227         * MonoProperty.cs:
228         * ParameterInfo.cs: Implement GetCustomAttributesData.
230 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
232         * MemberInfo.cs: Add some v4 bits.
234 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
236         * MethodImplAttributes.cs: Add NoOptimization flag.
238 2010-02-11  Marek Habersack  <mhabersack@novell.com>
240         * ConstructorInfo.cs, EventInfo.cs, FieldInfo.cs: fix 4.0 equality
241         and inequality operators by casting the passed parameters to
242         object. Failing to do so leads to infinite recursion calling the
243         operator.
245 2010-02-10 Rodrigo Kumpera  <rkumpera@novell.com>
247         * FieldInfo.cs: Add some v4 bits.
249 2010-02-10 Rodrigo Kumpera  <rkumpera@novell.com>
251         * EventInfo.cs: Add some v4 bits.
253 2010-02-10 Rodrigo Kumpera  <rkumpera@novell.com>
255         * ConstructorInfo.cs: Add some v4 bits.
257 2010-02-10 Rodrigo Kumpera  <rkumpera@novell.com>
259         * PropertyInfo.cs: Remove a pair of MonoTODO.
261         * MonoProperty.cs: Implement GetConstantValue and GetRawConstantValue.
263 2010-02-05 Rodrigo Kumpera  <rkumpera@novell.com>
265         * MonoMethod.cs (GetParameters): Must return a copy instead of the interned array.
267         * MonoMethod.cs (Invoke): Skip array clone in GetParameters.
269         * MonoProperty.cs (GetIndexParameters): Properly handle write-only indexed properties.
270         Return a ParameterInfo object bound to the properly and not to the method.
272         * ParameterInfo.cs: Add new constructor that copies all fields but Member.
274         * ParameterInfo.cs (MetadataToken): Properly handle tokens of non-method members.
276 2010-01-31  Zoltan Varga  <vargaz@gmail.com>
278         * MonoGenericClass.cs: Fix a warning.
280 2010-01-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
282         * Assembly.cs: GetSatelliteAssembly: Ask LoadSatellite to not throw
283         exceptions, since we ignore them anyway.
285 2010-01-05 Rodrigo Kumpera  <rkumpera@novell.com>
287         * ParameterInfo.cs (DefaultProperty): Fix small typo.
289 2010-01-05 Rodrigo Kumpera  <rkumpera@novell.com>
291         * ParameterInfo.cs (DefaultProperty): Add support for DateTime defaults.
293         * ParameterInfo.cs: Implements RawDefaultProperty.
295 2009-12-17 Rodrigo Kumpera  <rkumpera@novell.com>
297         * MonoGenericClass.cs (GetMethods): When the GTD is not a typebuilder,
298         calling GetMethods on it will return everything we need so no need to
299         do the crazy loop.
300         The returned methods might contains some that are not from a generic type
301         so we need to guard against this as well.
303         * MonoGenericClass.cs (GetMethodsInternal): Guard against methods that don't
304         belong to a GTD as well.
306 2009-12-14 Rodrigo Kumpera  <rkumpera@novell.com>
308         * MonoGenericClass.cs: Remove IsByRef hack.
310 2009-12-14 Rodrigo Kumpera  <rkumpera@novell.com>
312         * MonoGenericClass.cs (format_name): Avoid calling AssemblyQualifiedName as mcs DynamicObject
313         doesn't implement it.
315 2009-12-12 Rodrigo Kumpera  <rkumpera@novell.com>
317         * MonoGenericClass.cs: Remove useless field.
319 2009-12-12 Rodrigo Kumpera  <rkumpera@novell.com>
321         * MonoGenericClass.cs: Change it to support a non-sre generic type
322         definition.
324 2009-12-10 Rodrigo Kumpera  <rkumpera@novell.com>
326         * MonoGenericClass.cs: Add new register_with_runtime icall to make
327         sure that a managed code instantiated MGC will be returned when
328         the generic instantiation happens in unmanaged code.
329         
330         This is a temporary workaround while Type::MakeGenericType doesn't
331         handle user types properly.
333 2009-12-10 Rodrigo Kumpera  <rkumpera@novell.com>
335         * MonoGenericClass.cs: Make this class inherit from Type instead of
336         MonoType. Implement some missing methods and make sure we can still
337         be used as a byref type.
339 2009-12-08 Rodrigo Kumpera  <rkumpera@novell.com>
341         * MonoMethod.cs (MakeGenericMethod): If any of the arguments is
342         a non system type, inflate to a MethodOnTypeBuilderInst.
344 2009-12-08 Rodrigo Kumpera  <rkumpera@novell.com>
346         * ParameterInfo.cs: Add constructor that takes an array of ParameterInfo
347         objects.
349 2009-12-08 Rodrigo Kumpera  <rkumpera@novell.com>
351         * MonoGenericClass.cs: Implement IsCompilerContext property and replace
352         all checks to use it.
354 2009-12-04 Rodrigo Kumpera  <rkumpera@novell.com>
356         * MonoGenericClass.cs (InflateType): Add a type argument parameter and
357         make this function static. Now it can inflate types using the context
358         of any type.
360 2009-12-02  Jb Evain  <jbevain@novell.com>
362         * Assembly.cs: disable warning about Assembly overriding
363         Equals but not GetHashCode. That's sadly how it's in .net.
365 2009-12-02  Jb Evain  <jbevain@novell.com>
367         * MethodInfo.cs: add an internal virtual GetBaseMethod
368         returning the immediate predecessor in the inheritance chain.
369         * MonoMethod.cs: modify the get_base_definition icall to take
370         a boolean indicating that we want the immediate base method
371         or the original method definition and rename it to
372         get_base_method. Implement GetBaseMethod with it.
374 2009-11-21  Miguel de Icaza  <miguel@novell.com>
376         * Assembly.cs: Implement missing method.
378 2009-11-03  Marek Habersack  <mhabersack@novell.com>
380         * Assembly.cs: GetSatelliteAssembly must catch
381         AppDomain.LoadSatellite FileNotFoundException and attempt to load
382         satellites from subdirectories of current assembly's
383         directory. Fixes bug #548768
385 2009-10-30  Sebastien Pouliot  <sebastien@ximian.com>
387         * MonoMethod.cs: Remove CAS check in MonoCMethod.Invoke (just 
388         like it was done for MonoMethod.Invoke sister method)
390 2009-10-26  Sebastien Pouliot  <sebastien@ximian.com>
392         * Assembly.cs: Share code between GetSatelliteAssembly and 
393         GetSatelliteAssemblyNoThrow. For Moonlight ensure both 
394         GetManifestResourceStream and GetSatelliteAssembly don't load
395         anything "below" the assembly path.
397 2009-10-20  Sebastien Pouliot  <sebastien@ximian.com>
399         * MonoProperty.cs: Reduce code duplication and the number of direct
400         calls to icalls (affecting the number of SecuritySafeCritical in
401         Moonlight)
403 2009-10-19  Sebastien Pouliot  <sebastien@ximian.com>
405         * MonoEvent.cs: Reduce code duplication and the number of direct
406         calls to icalls (affecting the number of SecuritySafeCritical in
407         Moonlight)
409 2009-10-18  Sebastien Pouliot  <sebastien@ximian.com>
411         * MethodBase.cs: Reduce code duplication and the number of direct
412         calls to icalls (affecting the number of SecuritySafeCritical in
413         Moonlight)
415 2009-10-17  Sebastien Pouliot  <sebastien@ximian.com>
417         * MonoMethod.cs: Reduce code duplication and the number of direct
418         calls to icalls (affecting the number of SecuritySafeCritical in
419         Moonlight)
421 2009-09-22  Sebastien Pouliot  <sebastien@ximian.com>
423         * Assembly.cs: Remove Evidence and GlobalAssemblyCache 
424         properties for NET_2_1
426 2009-09-19  Sebastien Pouliot  <sebastien@ximian.com>
428         * TargetException.cs, TargetInvocationException.cs,
429         TargetParameterCountException.cs: Inherit from Exception for 
430         NET_2_1 since ApplicationException does not exists
432 2009-09-18  Sebastien Pouliot  <sebastien@ximian.com>
434         * Assembly.cs, Module.cs: Avoid imperative CAS checks for NET_2_1
436 2009-08-18  Zoltan Varga  <vargaz@gmail.com>
438         * MonoGenericClass.cs: Use StringComparison.Ordinal when calling
439         String.EndsWith ().
441 2009-08-07 Rodrigo Kumpera  <rkumpera@novell.com>
443         * MonoGenericClass.cs: Implement almost all methods required
444         to move to inherit from System.Type. The only missing methods
445         are Is(Array|Pointer|ByRef)Impl and GetElementType since the
446         runtime still generates weird instances for generics instances
447         of non-SRE types with SRE types as generic arguments.
449 2009-08-06 Rodrigo Kumpera  <rkumpera@novell.com>
451         * MonoGenericClass.cs (InflateType): Add support to inflate
452         generic method arguments.
454         * MonoGenericClass.cs (GetMethod): Remove restriction
455         with generic methods.
457 2009-08-05 Rodrigo Kumpera  <rkumpera@novell.com>
459         * MonoGenericClass.cs (FullName): mcs depends that FullName
460         doesn't return null for instantiations over generic params
461         of type builders. We special case this under compiler context.
463 2009-08-05 Rodrigo Kumpera  <rkumpera@novell.com>
465         * MonoGenericClass.cs: Remove Is(Array|Pointer|ByRef)Impl
466         and GetElementType since the runtime still produces instances
467         of MonoGenericClass for those types.
469 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
471         * MonoGenericClass.cs: Implement more methods from MonoType.
472         Done with all type name related properties.
474 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
476         * MonoGenericClass.cs: Implement Is*Impl methods to simply
477         return false.
479 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
481         * MonoGenericClass.cs: Implement Make(Array,ByRef,Pointer) using the
482         new managed types.
484 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
486         * MonoGenericClass.cs (InflateType): Implement it in terms of managed
487         code and kill the corresponding icall.
489 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
491         * MonoGenericClass.cs: Add type_arguments field and constructor
492         that initializes it.
494 2009-08-03 Rodrigo Kumpera  <rkumpera@novell.com>
496         * MonoGenericClass.cs (initialize): Remember the number
497         of events available at initialization time. This is required as
498         mcs expect this behavior under compiler context that new events
499         are not returned for an instance that was inflated before.
501         * MonoGenericClass.cs: Kill GetEvents_internal and implement it
502         in terms of managed code.
504 2009-07-30  Zoltan Varga  <vargaz@gmail.com>
506         * FieldInfo.cs: Throw an exception if internal_from_handle_type ()
507         returns null. Fixes #525733.
509 2009-07-29 Rodrigo Kumpera  <rkumpera@novell.com>
511         * MonoGenericClass.cs (initialize): Call TypeBuilder::GetConstructorsInternal
512         since the public version throws.
514 2008-07-29  Marek Safar  <marek.safar@gmail.com>
516         * MonoGenericClass.cs: Removed one IsCompilerContext hack.
518 2009-07-27 Rodrigo Kumpera  <rkumpera@novell.com>
520         * Assembly.cs (GetType): Throw if name is empty.
522 2009-07-27 Rodrigo Kumpera  <rkumpera@novell.com>
524         * EventInfo (RemoveEventHandler): Throw InvalidOperationException if the
525         event remove method is not visible.
527 2009-07-27 Rodrigo Kumpera  <rkumpera@novell.com>
529         * EventInfo (AddEventHandler): Throw TargetException if target is not cast
530         compatible.
532         * EventInfo (AddEventHandler): Throw InvalidOperationException if the
533         event add method is not visible.
535         * EventInfo (AddEventHandler): Throw TargetException if source is null
536         and the event is not static.
538 2009-07-24 Rodrigo Kumpera  <rkumpera@novell.com>
540         * MonoGenericClass.cs (GetParentType): Implement using managed code.
542 2009-07-24 Rodrigo Kumpera  <rkumpera@novell.com>
544         * MonoGenericClass.cs: Make all icalls private. Kill GetInterfaces_internal.
545         Add a workaround for a GetField under compiler context.
547 2009-07-24 Rodrigo Kumpera  <rkumpera@novell.com>
549         * MonoGenericClass.cs (GetMethod): Use the new code always. Don't
550         accept MethodOnTypeBuilderInst under compiler context.
552         * MonoGenericClass.cs (GetField): Use the new code always.
554         * MonoGenericClass.cs: Make a bunch of methods raise NotSupportedException
555         when not under compiler context. Remove some dead code.
557 2009-07-23 Rodrigo Kumpera  <rkumpera@novell.com>
559         * MonoGenericClass.cs: Kill GetConstructors_internal and implement it
560         all in terms of managed code.
562         * MonoGenericClass.cs: Return instances of ConstructorOnTypeBuilderInst
563         under bootstrap profile.
565 2009-07-23 Rodrigo Kumpera  <rkumpera@novell.com>
567         * MonoGenericClass.cs: Kill GetFields_internal and implement it
568         all in terms of managed code.
570 2009-07-23 Rodrigo Kumpera  <rkumpera@novell.com>
572         * MonoGenericClass.cs: Kill GetMethods_internal and implement it
573         all in terms of managed code.
575 2009-07-22 Rodrigo Kumpera  <rkumpera@novell.com>
577         * MonoGenericClass.cs: Kill GetProperties_internal and implement it
578         all in terms of managed code.
580 2009-07-12  Gert Driesen  <drieseng@users.sourceforge.net>
582         * Binder.cs: Only allow a type to match its byref version for
583         BindToMethod (and not for SelectMethod).
585 2009-07-11  Zoltan Varga  <vargaz@gmail.com>
587         * Binder.cs: Allow conversion of IntPtr to pointer types.
589 2009-07-10  Zoltan Varga  <vargaz@gmail.com>
591         * Binder.cs (check_arguments): Allow a type to match its byref version.
592         Fixes #520690.
594 2009-06-12  Zoltan Varga  <vargaz@gmail.com>
596         * ParameterInfo.cs (DefaultValue): Add support for decimals, their default
597         value is encoded using a custom attribute.
599 2009-05-02  Sebastien Pouliot  <sebastien@ximian.com>
601         * Assembly.cs: Exclude CAS-specific code for NET_2_1
603 2009-04-30  Sebastien Pouliot  <sebastien@ximian.com>
605         * Module.cs: Exclude GetSignerCertificate (Authenticode related) 
606         from NET_2_1
607         * StrongNameKeyPair.cs: Adapt to work with only RSAManaged when 
608         built for NET_2_1, i.e. remove use of RSACryptoServiceProvider
610 2009-03-26  Zoltan Varga  <vargaz@gmail.com>
612         * MonoMethod.cs: Add a 'member' argument to the get_parameter_info () icall.
614 2009-03-03  Matthew Metnetsky  <matthew@cowarthill.com>
616         * MonoMethod.cs: within Invoke only change types if BindingFlags.ExactBinding isn't set
618         * MonoMethod.cs: within Invoke ensure arg types match ParameterInfo types before
619         calling InvokeInternal
621 2009-03-20  Sebastien Pouliot  <sebastien@ximian.com>
623         * EventInfo.cs, MonoProperty.cs: Ensure the delegate optimization 
624         works correctly, i.e. throw the right exception, with Moonlight.
626 2009-03-11  Zoltan Varga  <vargaz@gmail.com>
628         * Binder.cs: Allow conversions from T to T?. Fixes #484294.
630 2008-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
632         * EventInfo.cs: Apply similar trick to the one in MonoProperty to speed up
633         AddEventHandler.
635 2008-02-28  Rodrigo Kumpera  <rkumpera@novell.com>
637         * MonoProperty.cs (GetValue): Don't use the delegate optimization for valuetypes.
639 2008-02-26  Rodrigo Kumpera  <rkumpera@novell.com>
641         * MonoProperty.cs (GetValue): Optimize getters for properties without arguments.
643 2008-02-26  Rodrigo Kumpera  <rkumpera@novell.com>
645         * MonoProperty.cs (GetValue): Optimize getters for properties without arguments.
646         The optimization is to create a pair of chained delegates that duplicate the workings
647         on MethodBase::Invoke without all the aditional overhead and without doing two
648         managed/native transitions.
650         Simple Getter performance is up to 17x faster.
652         This patch reduces contention on domain and domain jit code hash locks, which
653         can be very hot on asp.net applications.
655 2008-02-21  Jb Evain  <jbevain@novell.com>
657         * Module.cs: add a new virtual GetModuleVersionId method,
658         and make the properties .MvId and ModuleVersionId call it.
659         This way, we can override it in ModuleBuilder.
660         Part of the fix for #471302.
662 2008-02-03  Rodrigo Kumpera  <rkumpera@novell.com>
664         * MonoMethod.cs: Fix the 1.1 build.
666 2008-02-02  Rodrigo Kumpera  <rkumpera@novell.com>
668         * MonoMethod.cs (ToString): Fix the representation of non primitive structs.
670 2008-02-02  Rodrigo Kumpera  <rkumpera@novell.com>
672         * MonoMethod.cs (ToString): Fix representation of pointer types.
674         Fixes #409583.
676 2009-01-24  Zoltan Varga  <vargaz@gmail.com>
678         * MonoGenericClass.cs: Fix warnings.
680 2009-01-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
682         * Assembly.cs: add new LoadSatelliteAssemblyNoThrow method and use the
683         new LoadSatellite() in AppDomain.
685 2009-01-09  Zoltan Varga  <vargaz@gmail.com>
687         * CustomAttributeData.cs (ToString): Applied patch from Leszek Ciesielski
688         <skolima@gmail.com>. Use DeclaringType.FullName instead of DeclaringType.Name.
689         Fixes #464830.
691 2008-11-17  Rodrigo Kumpera  <rkumpera@novell.com>
693         * MonoField.cs (GetValue): Don't check for open generic types if the field
694         is a constant.
696 2008-11-11  Rodrigo Kumpera  <rkumpera@novell.com>
698         * Module.cs (ResolveMethod): Use internal method 
699         GetMethodFromHandleNoGenericCheck to avoid the generic type
700         limitation of GetMethodFromHandle.
702         Fixes #443763.
704 2008-10-02 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
706         * MonoMethod.cs: throw a MemberAccessException when
707         trying to invoke a constructor creating an instance of an abstract
708         class. Return null when an instance of an object was passed as a
709         parameter when invoking a .ctor. Fixes bug #324185.
711 2008-09-07  Zoltan Varga  <vargaz@gmail.com>
713         * MonoField.cs: Add check to GetValue/SetValue () to avoid crashes when it is
714         called on fields of open types. Fixes #424077.
716 2008-08-12  Gert Driesen  <drieseng@users.sourceforge.net>
718         * ReflectionSerializationHolder.cs: Removed.
719         * common.src: Removed.
721 2008-08-04  Atsushi Enomoto  <atsushi@ximian.com>
723         * Assembly.cs : return UnmanagedMemoryStream from 
724           GetManifestResourceStream(). Fixed bug #322241.
726 2008-07-30  Rodrigo Kumpera  <rkumpera@novell.com>
728         * MonoGenericClass.cs (InflateType): Guard against null types.
729         Fixes #412965.
731 2008-07-23  Marek Safar  <marek.safar@gmail.com>
733         * MethodBase.cs (GetMethodFromHandle): Needed for bootraping.
735 2008-07-22  Rodrigo Kumpera  <rkumpera@novell.com>
737         * MonoGenericClass.cs (GetMethod): Under compiler mode allow
738         MethodOnTypeBuilderInst to be used..
740 2008-07-17  Rodrigo Kumpera  <rkumpera@novell.com>
742         * MonoGenericClass.cs (GetMethod): Revert to old code
743         path as the new one broke System.Core.
745 2008-07-16  Rodrigo Kumpera  <rkumpera@novell.com>
747         * MonoGenericClass.cs (GetMethod): Use the new codepath for compiler
748         context.
750         * MonoGenericClass.cs: New InflateType method, used to inflate
751         managed types.
753 2008-07-11  Marek Safar  <marek.safar@gmail.com>
755         * MonoGenericClass.cs (GetField): Put back removed code.
757 2008-07-04  Rodrigo Kumpera  <rkumpera@novell.com>
759         * MethodBase.cs (GetMethodFromHandle): Fix a warning in
760         the 1.0 build.
762 2008-07-04  Rodrigo Kumpera  <rkumpera@n ovell.com>
764         * MethodBase.cs (GetMethodFromHandle): Extract an internal version
765         of this function that doesn't perform the generic class check.
766         This method is required to fix the Delegate regression that fixing
767         #377324 caused.
769 2008-06-25  Rodrigo Kumpera  <rkumpera@n ovell.com>
771         * MethodBase.cs (GetMethodFromHandle): Check if the icall returns null
772         and fail. This is part of the fix for #377324.
774 2008-06-19  Marek Safar  <marek.safar@gmail.com>
776         * MonoGenericClass.cs (GetConstructor): Put back removed code due to obscure
777         System.Reflection.MonoGenericCMethod.
779 2008-06-19  Kornel Pal  <kornelpal@gmail.com>
781         * Module.cs: Add internal GetHINSTANCE.
783 2008-06-02  Ivan N. Zlatev  <contact@i-nz.net>
785         * Binder.cs, MonoGenericClass.cs: For property reflection we should 
786         strictly match the return type if available.
788 2008-05-16  Zoltan Varga  <vargaz@gmail.com>
790         * MonoGenericClass.cs (GetConstructor): Remove some old code, as the new code
791         seems to work fine.
792         (GetField): Ditto.
794 2008-05-05  Zoltan Varga  <vargaz@gmail.com>
796         * FieldInfo.cs (GetFieldFromHandle): Add an argument check for an invalid handle.
798         * MethodBase.cs (GetMethodFromHandle): Ditto. Fixes #386641.
800 2008-04-30  Gert Driesen  <drieseng@users.sourceforge.net>
802         * ParameterInfo.cs: Name must default to null if no ParameterBuilder
803         is supplied.
805 2008-04-22  Zoltan Varga  <vargaz@gmail.com>
807         * MonoGenericClass.cs (GetMethod): Construct a MethodOnTypeBuilderInst object
808         instead of using GetCorrespondingInflatedMethod. This is needed so this class can
809         reflect the changes made to the builder after initialize () has been called.
810         Fixes #381547 and #354759.
811         (GetConstructor): Ditto.
813 2008-04-16  Zoltan Varga  <vargaz@gmail.com>
815         * Binder.cs: Applied patch from Yves Bastide (doc.formatique@gmail.com). Add 
816         support for converting integers to enums. Fixes #380361.
818 ?2008-04-02  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
820         * IReflect.cs
821         * MethodInfo.cs: Fix parameter names
823 2008-03-31  Mark Probst  <mark.probst@gmail.com>
825         * MonoMethod.cs: Don't do CAS security checks in Invoke for 2.1
826         profile.
828 2008-03-25  Zoltan Varga  <vargaz@gmail.com>
830         * MonoCMethod.cs (Invoke): Avoid a crash if this is called on a ctor of an open
831         generic type. Fixes #373459.
832         
833         * MonoMethod.cs (InternalInvoke): Add an out 'exc' argument used to distinguish
834         exceptions thrown by the icall from the exceptions thrown by the wrapped method.
835         Fixes #373448.
837 2008-03-17  Marek Safar  <marek.safar@gmail.com>
839         * MonoMethod.cs (ToString): Print VarArgs argument.
841 2008-03-14  Zoltan Varga  <vargaz@gmail.com>
843         * MonoGenericClass.cs (GetField): Construct a FieldOnTypeBuilderInst object
844         instead of using GetCorrespondingInflatedField. This is needed so this class can
845         reflect the changes made to the type builder after initialize () has been called.
847         * Binder.cs (ChangeType): Add support for Char->Double/Single conversations. Fixes
848         #367655.
850 2008-03-10  Gert Driesen  <drieseng@users.sourceforge.net>
852         * Assembly.cs (GetFile): Fixed exception messages and param name.
854 2008-03-06  Zoltan Varga  <vargaz@gmail.com>
856         * Assembly.cs: Define GetManifestModule () for net 2.0 bootstrap as well.
858 2008-02-26  Ivan N. Zlatev  <contact@i-nz.net>
860         * MonoProperty.cs: MS ignores the inherit parameter and defaults to false
861         for GetCustomAttributes.
862         [Fixes bugs #324472 and #322464]
864 2008-02-20  Zoltan Varga  <vargaz@gmail.com>
866         * AssemblyName.cs (ReferenceMatchesDefinition): Add error checking and some 
867         simple cases required by ikvm.
869 2008-02-18  Zoltan Varga  <vargaz@gmail.com>
871         * CustomAttributeTypedArgument.cs (.ctor): Convert arrays into a collection of
872         CustomAttributeTypedArguments to match MS.
874 2008-02-10  Gert Driesen  <drieseng@users.sourceforge.net>
876         * Assembly.cs: Use icall for ToString/FullName. Fixes bug #318231.
878 2008-02-02  Gert Driesen  <drieseng@users.sourceforge.net>
880         * MonoMethod.cs (MakeGenericMethod): Modified argument name to match
881         MS. When one of the types is null, throw ArgumentNullException instead
882         of ArgumentException.
883         * MethodInfo.cs (MakeGenericMethod): Modified argument name to match
884         MS.
886 2008-01-29  Zoltan Varga  <vargaz@gmail.com>
888         * Assembly.cs: Make GetTypes () virtual so it can be overriden by AssemblyBuilder.
889         
890         * Assembly.cs: Make GetModulesInternal () virtual so it can be overriden by
891         AssemblyBuilder.
893 2008-01-22  Zoltan Varga  <vargaz@gmail.com>
895         * MonoGenericClass.cs: Make this NET 2.0 only.
896         
897         * MonoGenericClass.cs (Initialize): Simplify this a bit and add comments for this
898         class.
900 2008-01-20  Gert Driesen  <drieseng@users.sourceforge.net>
902         * AssemblyName.cs: Added support for Retargetable spec in FullName.
904 2008-01-17  Zoltan Varga  <vargaz@gmail.com>
906         * Assembly.cs AssemblyFlagsAttribute.cs ICustomAttributeProvider.cs
907         MemberInfo.cs FieldInfo.cs DefaultMemberAttribute.cs 
908         CustomAttributeNamedArgument.cs TargetException.cs MethodInfo.cs
909         IReflect.cs CustomAttributeTypedArgument.cs Module.cs: Change some parameter
910         names to match MS.
912 2008-01-15  Jb Evain  <jbevain@novell.com>
914         * MonoMethod.cs (MakeGenericMethod): check for null values
915         in the types arguments. Fixes #353849.
917 2008-01-06  Sebastien Pouliot  <sebastien@ximian.com>
919         * Assembly.cs: Fix typo in setter found with Gendarme (was used in a
920         single place, AppDomain, and set to true so it never caused a problem)
922 2008-01-04  Gert Driesen  <drieseng@users.sourceforge.net>
924         * AssemblyName.cs: Fixed default value for ProcessorArchitecture to
925         match MS. On 2.0 profile, return zero-length in FullName is no name
926         is set, and throw a SecurityException in FullName and GetPublicKeyToken
927         if a public key is set with no corresponding public key token. 
928         Fixed FullName to also include PublicKeyToken spec with "null" value
929         if public key is empty byte array. Fixed corlib part of bug #351057.
930         In SetPublicKey, modify Flags accordingly. On the 2.0 profile, verify
931         the public key when the public key token is computed.
933 2007-12-26  Zoltan Varga  <vargaz@gmail.com>
935         * Assembly.cs (GetSatelliteAssembly): Search in the assembly directory as well.
936         Fixes ##345627.
938 2007-12-03  Zoltan Varga  <vargaz@gmail.com>
940         * MonoField.cs: Implement GetRawConstantValue ().
942 2007-11-24  Marek Habersack  <mhabersack@novell.com>
944         * CustomAttributeTypedArgument.cs: value can be null in ToString.
946 2007-11-16  Zoltan Varga  <vargaz@gmail.com>
948         * Assembly.cs (GetFiles): Include the assembly itself as the first entry.
950 2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
952         * AssemblyName.cs : remove extraneous MonoTODO.
954 2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
956         * ExceptionHandlingClause.cs : implemented ToString().
958 2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
960         * MethodBase.cs : (Invoke) removed extra interface implementation.
962 2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
964         * StrongNameKeyPair.cs : implemented 2.0 runtime serialization stuff.
966 2007-11-05  Mark Probst  <mark.probst@gmail.com>
968         * Binder.cs: Treat matches with different argument types as
969         ambiguous, too.  Fixes #324998.
971 2007-11-01  Zoltan Varga  <vargaz@gmail.com>
973         * Binder.cs: Avoid returning a method with a ParamArray attribute when a normal
974         method exists. Fixes #338266.
976 2007-10-30  Zoltan Varga  <vargaz@gmail.com>
978         * Binder.cs: Applied patch from Mario A Chavez <mario.chavez@gmail.com>. Add
979         support for binding to methods with ParamArray attribute. Fixes #336841.
981 2007-10-27  Zoltan Varga  <vargaz@gmail.com>
983         * MonoGenericClass.cs: Override GetPropertyImpl too.
985 2007-10-24  Atsushi Enomoto  <atsushi@ximian.com>
987         * Assembly.cs : include ReflectionOnlyLoad() as part of 2.0
988           bootstrap build.
990 2007-09-23  Zoltan Varga  <vargaz@gmail.com>
992         * Assembly.cs (GetManifestModule): New virtual method overridden by 
993         AssemblyBuilder.
995 2007-09-17  Gert Driesen  <drieseng@users.sourceforge.net>
997         * Assembly.cs: In GetManifestResourceStream, throw ANE with type as
998         paramname when both name and type are null. Use String.Length to check
999         for zero-length string.
1001 2007-09-11  Mark Probst  <mark.probst@gmail.com>
1003         * MonoMethod.cs: Catch and re-throw MethodAccessException from
1004         InternalInvoke for CoreCLR security.
1006 Thu Sep 6 19:49:34 CEST 2007 Paolo Molaro <lupus@ximian.com>
1008         * MonoMethod.cs: name is used as a cache: provide an icall to get the
1009         name from the runtime.
1011 2007-08-23  Robert Jordan  <robertj@gmx.net>
1013         * MemberInfoSerializationHolder.cs: created from
1014         ReflectionSerializationHolder to match MS (fixes bug #80761).
1015         Add support for fields, events, properties and generic methods.
1017         * MonoMethod.cs (GetObjectData): handle generic arguments.
1019         * MonoGenericMethod.cs: mark as [Serializable].
1021         * MonoProperty.cs (GetObjectData): implemented.
1023         * MonoField.cs: ditto.
1025         * MonoEvent.cs: ditto.
1027 2007-07-19  Atsushi Enomoto  <atsushi@ximian.com>
1029         * MonoMethod.cs : parameter types should be fixed as well.
1031 2007-07-19  Atsushi Enomoto  <atsushi@ximian.com>
1033         * MonoMethod.cs : ToString() did not show correct return type when
1034           it is generic.
1036 2007-07-15  Zoltan Varga  <vargaz@gmail.com>
1038         * FieldInfo.cs: Implement GetOptional/RequiredCustomModifiers ().
1040         * MethodInfo.cs: Remove an unneccesary MonoTODO.
1042         * Module.cs: Implement ResolveSignature.
1044 2007-07-14  Zoltan Varga  <vargaz@gmail.com>
1046         * Module.cs: Implement the generic versions of the ResolveXXX methods.
1048 2007-07-10  Zoltan Varga  <vargaz@gmail.com>
1050         * Module.cs: Add new internal method GetMDStreamVersion ().
1052 2007-07-09  Atsushi Enomoto  <atsushi@ximian.com>
1054         * CustomAttributeNamedArgument.cs, CustomAttributeTypedArgument.cs:
1055           added missing operator == and !=.
1057 2007-07-04  Atsushi Enomoto  <atsushi@ximian.com>
1059         * CustomAttributeNamedArgument.cs CustomAttributeTypedArgument.cs
1060           CustomAttributeData.cs : implemented Equals() and GetHashCode().
1061         * Missing.cs : ISerializable.
1062         * AssemblyName.cs : ReferenceMatchesDefinition() stub.
1063         * Module.cs : missing method stubs with generic type/method args.
1064         * ExceptionHandlingClause.cs : ToString() stub.
1065         * MethodBase.cs TypeDelegator.cs ModuleResolveEventHandler.cs
1066           TypeFilter.cs MemberFilter.cs
1067           FieldInfo.cs ParameterInfo.cs MethodInfo.cs :
1068           miscellaneous cosmetic API fixes.
1070 Tue May 8 13:04:35 CEST 2007 Paolo Molaro <lupus@ximian.com>
1072         * FieldInfo.cs, MethodBase.cs: implemented new GetFieldFromHandle and
1073         GetMethodFromHandle overloads (bug #78637).
1075 2007-05-07  Zoltan Varga  <vargaz@gmail.com>
1077         * MonoMethod.cs (Invoke): Fix a warning.
1078         
1079         * MonoMethod.cs (Invoke): Don't wrap ThreadAbortException inside a 
1080         TargetInvocationException on the 2.0 profile. Fixes #81538.
1082 2007-04-09  Alp Toker  <alp@atoker.com>
1084         * MonoMethod.cs: Use StringBuilder for the entire ToString() methods
1085         to reduce allocations and increase performance.
1087 2007-04-09  Alp Toker  <alp@atoker.com>
1089         * MonoMethod.cs: Use StringBuilder for parms in ToString() methods.
1091 2007-04-09  Alp Toker  <alp@atoker.com>
1093         * MethodBase.cs: IsGenericMethodDefinition() and IsGenericMethod()
1094         should return false, not throw NotSupportedException. This matches MS
1095         behaviour and introduces simplifications in subclasses.
1096         * MonoMethod.cs: MonoCMethod: Remove redundant overrides.
1098 2007-03-05  Peter Dettman <peter.dettman@iinet.net.au>
1100         * Binder.cs: The patch changes Binder.Default.GetBetterMethod to
1101         prefer methods in subclasses if the arg types can't disambiguate
1102         them.
1104         Also fixes a typo in the CallingConventions comparison.
1106 2007-03-01  Alp Toker  <alp@atoker.com>
1108         * FieldInfo.cs:
1109         Add GetFieldFromHandle() 2.0 overload stub (NotImplemented).
1111 2007-03-01  Alp Toker  <alp@atoker.com>
1113         * MethodBase.cs: Add missing ComVisible attr.
1114         Add GetMethodFromHandle() 2.0 overload stub (NotImplemented).
1116 2006-12-30  Marek Safar  <marek.safar@gmail.com>
1118         * MonoProperty.cs: Cache frequently used properties.
1120 Thu Dec 14 13:50:48 CET 2006 Paolo Molaro <lupus@ximian.com>
1122         * *.cs: added missing Serializable attributes.
1124 Thu Dec 14 12:52:27 CET 2006 Paolo Molaro <lupus@ximian.com>
1126         * MonoProperty.cs, ParameterInfo.cs, PropertyInfo.cs:
1127         GetRequiredCustomModifiers()/GetOptionalCustomModifiers()
1128         implementations.
1130 Tue Dec 12 20:35:10 CET 2006 Paolo Molaro <lupus@ximian.com>
1132         * MethodBase.cs: added missing ComVisible attr.
1133         * MethodInfo.cs: added a few missing methods that we implement
1134         in derived classes.
1136 Tue Dec 12 19:45:26 CET 2006 Paolo Molaro <lupus@ximian.com>
1138         * MonoEvent.cs: correctly obey the nonPublic flag in GetOtherMethods ().
1139         * EventInfo.cs: remove NotImpl exception from GetOtherMethods ().
1141 2006-10-19  Gert Driesen  <drieseng@users.sourceforge.net>
1143         * AssemblyName.cs: Revert change where filename was not converted to
1144         absolute path before passing it to Assembly.InternalGetAssemblyName
1145         as the CodeBase is not set in that case.
1147 2006-10-17  Kornel Pal  <kornelpal@gmail.com>
1149         * FieldInfo.cs: Added GetRawConstantValue (). Note that throwing a
1150           NotSupportedException is the proper implementation.
1151         * ParameterInfo.cs: Use Attributes in Is... properties on profile 2.0
1152           that is expected by subclasses.
1154 2006-10-14  Gert Driesen  <drieseng@users.sourceforge.net>
1156         * AssemblyName.cs: No need to convert filename to absolute path before
1157         passing it to Assembly.InternalGetAssemblyName. This allows our
1158         exception messages to be better match those of MS.
1160 2006-09-29  Jb Evain  <jbevain@gmail.com>
1162         * MonoFieldInfo.cs: throw a FieldAccessException when setting a literal field.
1164 2006-09-02  Zoltan Varga  <vargaz@gmail.com>
1166         * ParameterInfo.cs MethodInfo.cs MonoMethod.cs: Applied patch from 
1167         Peter Dettman (peter.dettman@iinet.net.au). Implement ReturnParameter
1168         property.
1170         * Binder.cs (ReorderParameters): Really fix this.
1171         
1172         * Binder.cs (ReorderParameters): Fix this method. Fixes #79120.
1174 2006-09-01  Raja R Harinath  <rharinath@novell.com>
1176         * MonoMethod.cs (ToString): Update to handle change in byref type names.
1178 2006-08-08  Gert Driesen  <drieseng@users.sourceforge.net>
1180         * Assembly.cs: On 2.0 profile, throw FileNotFoundException for
1181         linked resources in GetManifestResourceStream when assembly is
1182         loaded from byte array.
1184 2006-07-12  Zoltan Varga  <vargaz@gmail.com>
1186         * MonoMethod.cs (ContainsGenericParameters): Implement.
1187         
1188         * MonoMethod.cs (Invoke): Prevent invoking of open generic methods.
1190 2006-07-09  Gert Driesen  <drieseng@users.sourceforge.net>
1192         * Assembly.cs: When assembly is loaded from byte array, return null
1193         for linked resources in GetManifestResourceStream. Fixes bug #78468.
1195 2006-07-09  Zoltan Varga  <vargaz@gmail.com>
1197         * Binder.cs: Add back the support for BindingFlags.ExactBinding. Fixes #78592.
1199 2006-06-30  Zoltan Varga  <vargaz@gmail.com>
1201         * Binder.cs: Comment out the ExactBinding stuff for the release as it breaks some 
1202         gtk# apps.
1204 2006-06-07  Zoltan Varga  <vargaz@gmail.com>
1206         * Binder.cs: Add support for BindingFlags.ExactBinding. Fixes #78592.
1208 2006-05-28  Gert Driesen  <drieseng@users.sourceforge.net>
1210         * MethodBase.cs: GetMethodBody should not throw ArgumentException for
1211         a method with no IL body. Fixes bug #78522.
1213 2006-05-10  Zoltan Varga  <vargaz@gmail.com>
1215         * Module.cs (GetMethod): Update after the changes to Type.GetMethod ().
1217 2006-05-08  Atsushi Enomoto  <atsushi@ximian.com>
1219         * Binder.cs : (Default.SelectMethod)
1220           don't throw AmbiguousMatchException when one of conflicting method
1221           matches weakly. Fixed bug #42547.
1223 2006-05-08  Atsushi Enomoto  <atsushi@ximian.com>
1225         * Binder.cs : (Default.BindToMethod) reorder parameters based
1226           on namedParameters. Fixed bug #41691.
1228 2006-05-03  Jb Evain  <jbevain@gmail.com>
1230         * MonoField.cs (GetValue,SetValue): throw a TargetException
1231         when the field is non static and the target is null.
1233 2006-03-12  Zoltan Varga  <vargaz@gmail.com>
1235         * Binder.cs: Applied patch from Ben to fix #74947.
1237 2006-03-01  Miguel de Icaza  <miguel@novell.com>
1239         * Assembly.cs: Cache the AssemblyName, patch from Tambet.  This
1240         reduces the memory usage during remoting.
1242 2006-02-16  Martin Baulig  <martin@ximian.com>
1244         * FieldInfo.cs (FieldInfo.Mono_GetGenericFieldDefinition): Removed.
1246 2006-02-15  Martin Baulig  <martin@ximian.com>
1248         * MethodBase.cs (MethodBase.GetGenericMethodDefinition): Removed.
1249         (MethodBase.Mono_IsInflatedMethod): Removed.
1250         (MethodBase.HasGenericParameters): Removed.
1252         * MethodInfo.cs (MethodInfo.GetGenericMethodDefinition): Moved
1253         here from MethodBase.
1255         * MonoMethod.cs
1256         (MonoMethod.IsGenericMethodDefinition): This is now an icall.
1257         (MonoMethod.IsGenericMethod): Likewise.
1259 2006-02-14  Martin Baulig  <martin@ximian.com>
1261         * MonoMethod.cs
1262         (MonoCMethod.IsGenericMethod): Override this and return false; the
1263         MS runtime doesn't throw an exception here.
1265 2006-02-08  Martin Baulig  <martin@ximian.com>
1267         * MonoGenericClass.cs (MonoGenericClass.IsAssignableFrom):
1268         Override and implement this; fixes #77395.      
1270 2006-02-07  Martin Baulig  <martin@ximian.com>
1272         * MonoMethod.cs
1273         (MonoMethod.IsGenericMethod): Only return true for "real" generic
1274         methods and not for arbitrary instantiated methods.
1275         (MonoMethod.IsGenericMethodDefinition): Only return true for
1276         generic method definitions, but not for instantiated generic
1277         methods.  This is no longer an interncall.  Fixes #77466.
1279 2006-02-03  Zoltan Varga  <vargaz@gmail.com>
1281         * MethodBase.cs MonoMethod.cs: Implement IsGenericMethod property.
1282         Fixes #77460.
1284 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com>
1286         * Assembly.cs: Fixed #75950. The icall has been changed to accept a 
1287         boolean so it can return a non-escaped code base.
1289 2005-11-16  Atsushi Enomoto  <atsushi@ximian.com>
1291         * MonoMethod.cs : made MakeGenericMethod() indirect icall to
1292           MakeGenericMethod_impl() and raise an error when it returns null.
1294 2005-11-15  Zoltan Varga  <vargaz@gmail.com>
1296         * Module.cs: Add MDStreamVersion property.
1298         * Assembly.cs AssemblyNameFlags.cs FieldInfo.cs PropertyInfo.cs 
1299         CustomAttributeData.cs PortableExecutableKinds.cs 
1300         ObfuscateAssemblyAttribute.cs Module.cs ObfuscationAttribute.cs: Net 2.0 RTM
1301         updates.
1303 2005-11-11  Marek Safar  <marek.safar@seznam.cz>
1305         * MethodBase.cs, TypeDelegator.cs: Reflect Type changes.
1307 2005-10-30  Zoltan Varga  <vargaz@freemail.hu>
1309         * FieldInfo.cs: Add an internal UMarshal property which can by
1310         overriden in FieldBuilder.
1312 2005-10-26  Atsushi Enomoto  <atsushi@ximian.com>
1314         * MonoMethod.cs : (ToString) add suffix " ByRef" for byref parameters.
1315           Fixed bug #76541.
1317 2005-10-04  Martin Baulig  <martin@ximian.com>
1319         * MonoGenericClass.cs (MonoGenericClass.GetParentType): Changed
1320         return type from `MonoGenericClass to `Type'.
1322 2005-09-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1324         * AssemblyName.cs: Add ParseName internal call, to parse
1325         long format assembly names. 
1326         
1327 2005-09-25  Sebastien Pouliot  <sebastien@ximian.com>
1329         * MonoProperty.cs: Invoke throws a SecurityException but GetValue must
1330         throw TargetInvocationException with the SecurityException as an inner
1331         exception. See CAS unit tests for System.Web.dll.
1333 2005-09-20  Martin Baulig  <martin@ximian.com>
1335         * Assembly.cs: Removed some unused debugger icalls.
1337 2005-09-17  Zoltan Varga  <vargaz@freemail.hu>
1339         * Module.cs: Remove obsolete Mvid property.
1341 2005-09-09  Martin Baulig  <martin@ximian.com>
1343         Reflect latest API changes in the August CTP.
1345         * MethodBase.cs (MethodBase.MakeGenericMethod): Removed.
1347         * MethodInfo.cs (MethodInfo.MakeGenericMethod): Added here.
1349 2005-09-08  Sebastien Pouliot  <sebastien@ximian.com>
1351         * AssemblyName.cs: Apply second half of Chris Micacchi's patch
1353 2005-09-07  Miguel de Icaza  <miguel@novell.com>
1355         * AssemblyName.cs: Apply patch from Chris Micacchi to serialize
1356         the keyToken as "_PublicKeyToken".
1358 2005-09-05  Martin Baulig  <martin@ximian.com>
1360         Reflect latest API changes in the August CTP.
1362         * GenericParameterAttributes.cs: Here.
1364         * MethodBase.cs (MethodBase.BindGenericParameters): Renamed to
1365         MakeGenericMethod().    
1367 2005-09-05  Martin Baulig  <martin@ximian.com>
1369         * Assembly.cs (MonoDebugger_GetMethodToken): Don't take an
1370         `Assembly' argument.
1372 2005-08-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1374         * Assembly.cs: made GetManifestResourceInternal internal. Fixes the
1375         build.
1377 2005-08-05  Gert Driesen <drieseng@users.sourceforge.net>
1379         * Assembly.cs: Added GetType() method in 1.1 to match MS.NET.
1380         * ConstructorInfo.cs: Added GetType() method in 1.1 to match
1381         MS.NET, implemented _ConstructorInfo.
1382         * EventInfo.cs: Added GetType() method in 1.1 to match MS.NET,
1383         implemented _EventInfo.
1384         * FieldInfo.cs: Added GetType() method in 1.1 to match MS.NET,
1385         implemented _FieldInfo.
1386         * MemberInfo.cs: Added GetType() method in 1.1 to match MS.NET,
1387         implemented _MemberInfo.
1388         * MethodBase.cs: Added GetType() method in 1.1 to match MS.NET,
1389         implemented _MethodBase.
1390         * MethodInfo.cs: Added GetType() method in 1.1 to match MS.NET,
1391         implemented _MethodInfo.
1392         * PropertyInfo.cs: Added GetType() method in 1.1 to match MS.NET,
1393         implemented _PropertyInfo.
1394         * TypeAttributes.cs: CustomFormatMask and CustomFormatClass should
1395         only be exposed in 2.0 profile.
1397 2005-07-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1399         * CustomAttributeTypedArgument: Return the name of the
1400         enum if the type is an enum in ToString ().
1401         
1402 2005-06-21  Sebastien Pouliot  <sebastien@ximian.com>
1404         * Assembly.cs: Create a copy of the evidences and add an instance of 
1405         PermissionRequestEvidence to it before resolution. This way the PRE
1406         won't be present when asking for evidences later. Removed debugging 
1407         code.
1409 2005-06-13  Michal Moskal <malekith@nemerle.org>
1410         
1411         * MonoGenericClass.cs: Don't use MethodHandle in GetMethod/GetConstructor,
1412         since it now throws on MethodBuilders. Don't use FieldHandle in
1413         GetField (throws on FieldBuilder) - just use the name.
1415 2005-06-15  Sebastien Pouliot  <sebastien@ximian.com>
1417         * Assembly.cs, AssemblyName.cs, ConstructorInfo.cs, EventInfo.cs,
1418         FieldInfo.cs, MemberInfo.cs, MethodBase.cs, MethodInfo.cs, Module.cs,
1419         ParameterInfo.cs, PropertyInfo.cs: Added some missing interfaces and
1420         attributes that were added in 1.1 SP1 or 2.0 beta2.
1422 2005-06-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1424         * Binder.cs: null is ok for a value type. Fixes bug #75241.
1426 2005-06-14  Sebastien Pouliot  <sebastien@ximian.com>
1428         * Assembly.cs: UnprotectedGetName is now virtual to allow for more
1429         initialization in AssemblyBuilder. The [Granted|Refused]PermissionSet
1430         now use the ResolvingPolicyLevel to support the policy 
1431         FullTrustAssemblies during resolution.
1432         * AssemblyName.cs: Return null instead of "new byte [0]" if no public
1433         key is available.
1435 2005-06-09  Kamil Skalski <nazgul@nemerle.org>
1436         * MonoGenericClass.cs: Add overrides of Get{Method,Constructor,Field} 
1437         for obtaining instanciated *Info objects from non-instanciated counterparts
1440 2005-06-09  Zoltan Varga  <vargaz@freemail.hu>
1442         * CustomAttributeData.cs EventInfo.cs Assembly.cs: Updates for net 2.0 beta 2.
1444         * *.cs: Updates for net 2.0 beta 2.
1446 2005-06-07  Zoltan Varga  <vargaz@freemail.hu>
1448         * *.cs: Updates for net 2.0 beta 2.
1450 2005-06-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1452         * CustomAttributeData.cs: Implemented.
1454         * CustomAttributeDataNamedArgument.cs: Implemented.
1456         * CustomAttrbuteDataTypedArgument.cs: Implemented.
1457         
1458 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
1460         * Assembly.cs ExceptionHandlingClause.cs: Fix build.
1462         * ProcessorArchitecture.cs: New file.
1464         * ExceptionHandlingClause.cs: Update after ExceptionHandlingClauseFlags name change.
1466         * *.cs: Updates for net 2.0 beta 2.
1468         * *.cs: Add net 2.0 ComVisibleAttribute.
1470 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1472         * Assembly.cs: if the assembly is loaded from a byte array, Location
1473         returns "". Fixes bug #74958.
1475 2005-06-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1477         * AssemblyName.cs: Changes to support the creation of version
1478         instance from icalls. This change also helps to keep the
1479         AssemblyName tests running fine.
1480         
1481 2005-05-26  Ben Maurer  <bmaurer@ximian.com>
1483         * Binder.cs: Avoid double checked locking and lock on typeof by
1484         doing init of the default binder in the cctor.
1486 2005-05-25  Zoltan Varga  <vargaz@freemail.hu>
1488         * Assembly.cs: Avoid security checks if Assembly.Location is "".
1490 2005-05-20  Zoltan Varga  <vargaz@freemail.hu>
1492         * TypeDelegator.cs: Implement some methods.
1493         
1494         * TypeDelegator.cs: Revert this as it breaks the build.
1496         * TypeDelegator.cs: Implement some methods.
1498 2005-05-19  Satya Sudha K  <ksathyasudha@novell.com>
1499             Raja R Harinath  <rharinath@novell.com>
1501         * Missing.cs (Missing.Value): Initialize.
1503 2005-05-17  Lluis Sanchez Gual  <lluis@novell.com>
1505         * Binder.cs: Use IsInstanceOfType instead of IsAssignableFrom
1506         since GetType() may not return the correct type if the object is
1507         a remoting proxy. This fixes bug #74933.
1509 2005-05-13  Zoltan Varga  <vargaz@freemail.hu>
1511         * MonoField.cs: Applied patch from Opened by Michael Meeks (michael@ximian.com). Improve exception message on binding failures.
1513 2005-05-09  Lluis Sanchez Gual  <lluis@novell.com>
1515         * MonoField.cs: Added a Clone method. This is needed for serialization.
1517 2005-05-07  Ben Maurer  <bmaurer@ximian.com>
1519         * MonoEvent.cs (Get*Method): Handle nonPublic. Fixes #64191.
1521 2005-05-06  Zoltan Varga  <vargaz@freemail.hu>
1523         * Module.cs: Update for beta 2.
1525         * CustomAttributeData.cs MethodBody.cs: Remove CLSCompliant (false) attributes.
1527 2004-05-03  Lluis Sanchez  <lluis@ximian.com>
1529         * Assembly.cs: Don't remove version and culture information from
1530         the name, since it will be used by load_with_partial_name.
1532 2005-04-14  Sebastien Pouliot  <sebastien@ximian.com>
1534         * Assembly.cs: Added some CAS security to avoid returning restricted
1535         information to partially truster callers (e.g. code base). Added new
1536         methods to get the Evidence and AssemblyName so that the security
1537         runtime can bootstrap itself (without calling itself).
1539 2005-04-14  Sebastien Pouliot  <sebastien@ximian.com>
1541         * Assembly.cs: Added missing null check in GetObjectData.
1543 2005-04-04  Sebastien Pouliot  <sebastien@ximian.com>
1545         * AssemblyName.cs: Added a demand for SerializationFormatter on
1546         GetObjectData method.
1548 2005-04-04  Sebastien Pouliot  <sebastien@ximian.com> 
1550         * AssemblyName.cs: Implemented EscapedCodeBase using the copy of 
1551         System.Uri (System.dll) located in Mono.Security.Uri. Added missing
1552         null check in GetObjectData.
1553         * Module.cs: Added a FileIOPermission for PathDiscovery on 
1554         FullyQualifiedName property (but not on Name property like MS).
1555         Added missing null check in GetObjectData.
1556         * StrongNameKeyPair.cs: Added demands for unmanaged code to all
1557         constructors (as we do not want partially trusted code to create
1558         strongnamed assemblies).
1560 2005-03-30  Zoltan Varga  <vargaz@freemail.hu>
1562         * Binder.cs (check_type): Fix byref support. Fixes #73972.
1564 2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
1566         * MemberInfo.cs: Add an InheritanceDemand for Unrestricted on class.
1567         * Module.cs: Add a LinkDemand for SerializationFormatter on 
1568         GetObjectData method.
1570 2005-03-16  Sebastien Pouliot  <sebastien@ximian.com>
1572         * Assembly.cs: Implemented EscapedCodeBase using the copy of 
1573         System.Uri (System.dll) located in Mono.Security.Uri. Fix bug #73663.
1575 2005-03-11  Sebastien Pouliot  <sebastien@ximian.com>
1577         * MonoMethod.cs: Promote a LinkDemand (if present) to a full Demand 
1578         (i.e. stack walk) when reflection is being used to invoke a method.
1580 2005-02-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1582         * Assembly.cs: LoadFrom: Change signature to support reflection only
1583         methods; ReflectionOnlyLoad, ReflectionOnlyLoadFrom 2.0 methods
1584         implemented; InvalidOperationException's re-thrown by CreateInstance.
1585         Also ReflectionOnly 2.0 property added.
1587         * MonoMethod.cs: InvalidOperationException's are re-thrown when calling 
1588         Invoke method on reflection only assemblies.
1589         
1590 2005-02-22  Raja R Harinath  <rharinath@novell.com>
1592         * FieldInfo.cs (GetFieldOffset): Make 'virtual' rather than
1593         'abstract' so that this class can be derived outside of corlib.
1595 2005-02-16  Miguel de Icaza  <miguel@novell.com>
1597         * MonoEvent.cs: Put new methods here.
1599         * EventInfo.cs: Move the methods GetCustomAttributes, and
1600         IsDefined from EventInfo to MonoEvent.
1602         Remove the methods that were not supposed to be exposed: Name,
1603         ReflectedType, DeclaringType.
1605 2005-02-12  Chris Toshok  <toshok@ximian.com>
1607         * Assembly.cs: Correct the type of MonoDebugger_MakeArrayType.
1609 2005-02-12  Ben Maurer  <bmaurer@ximian.com>
1611         * Binder.cs (SelectProperty): Use -1 as the dummy `I don't know
1612         how many types' value.
1614 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
1616         * Assembly.cs: Fix warning.
1618 2005-02-10  Martin Baulig  <martin@ximian.com>
1620         * Module.cs (MonoDebugger_ResolveType): New internal method.
1622         * Assembly.cs (MonoDebugger_MakeArrayType): New internal method.
1623         (MonoDebugger_GetTypeToken): New internal method.
1625 2005-02-10  Martin Baulig  <martin@ximian.com>
1627         * Assembly.cs (MonoDebugger_GetMethodIndex): New internal method.
1629 2005-02-10  Marek Safar  <marek.safar@seznam.cz>
1631         * Assembly.cs,
1632         * ConstructorInfo.cs,
1633         * EventInfo.cs,
1634         * FieldInfo.cs,
1635         * MemberInfo.cs,
1636         * MethodBase.cs,
1637         * MethodInfo.cs,
1638         * PropertyInfo.cs: ClassInterfaceType is None.
1640 Thu Feb 3 15:22:55 CET 2005 Paolo Molaro <lupus@ximian.com>
1642         * Module.cs: removed the finalizer and the now unused Close() icall.
1644 2005-01-21  Sebastien Pouliot  <sebastien@ximian.com>
1646         * Assembly.cs: Fixed add for ModuleResolve.
1648 2005-01-19  Zoltan Varga  <vargaz@freemail.hu>
1650         * LocalVariableInfo.cs: Add ToString method.
1652         * ExceptionHandlingClause.cs: Implement this.
1654 2005-01-18  Zoltan Varga  <vargaz@freemail.hu>
1656         * MethodBase.cs MonoMethod.cs: Hopefully fix the build.
1658         * MethodBase.cs MonoMethod.cs: Implement 2.0 GetMethodBody ().
1660 2005-01-03  Martin Baulig  <martin@ximian.com>
1662         * MonoGenericMethod.cs
1663         (MonoGenericMethod.get_reflected_type): Removed.
1664         (MonoGenericMethod.ReflectedType): Make this an icall.
1665         (MonoGenericCMethod.ReflectedType): Likewise.   
1667 2004-12-29  Martin Baulig  <martin@ximian.com>
1669         * MonoGenericMethod.cs: New file.
1671 2004-12-21  Sebastien Pouliot  <sebastien@ximian.com> 
1673         * Assembly.cs: Added private LoadAssemblyPermissions to get the 
1674         declarative security permission sets (minimum, optional and refused)
1675         for the assembly.
1677 2004-12-20  Sebastien Pouliot  <sebastien@ximian.com>
1679         * Assembly.cs: Removed old Demand support (moved in System.Security).
1681 2004-12-16  Zoltan Varga  <vargaz@freemail.hu>
1683         * CustomAttributeData.cs MethodBody.cs: Reenable some 2.0 code now that
1684         the gmcs bugs blocking them are fixed.
1686 2004-12-08  Zoltan Varga  <vargaz@freemail.hu>
1688         * Assembly.cs: Move corlib_internal field to AssemblyBuilder.
1690 2004-12-06  Zoltan Varga  <vargaz@freemail.hu>
1692         * Assembly.cs: Add corlib_internal field.
1694 2004-11-30  Martin Baulig  <martin@ximian.com>
1696         * MonoGenericInst.cs: Renamed to MonoGenericClass.cs and also
1697         renamed the class from `MonoGenericInst' to `MonoGenericClass'.
1699 2004-11-05  Zoltan Varga  <vargaz@freemail.hu>
1701         * AssemblyName.cs (FullName): Omit default values from full name.
1703         * Assembly.cs: Implement GetFiles (bool).
1705         * Binder.cs: Add support for byref types. Fixes #69140.
1707 2004-10-12  Martin Baulig  <martin@ximian.com>
1709         * MonoGenericInst.cs (MonoGenericInst): Call initialize() just
1710         before calling the *_internal() methods.
1712 2004-10-12  Zoltan Varga  <vargaz@freemail.hu>
1714         * MethodBody.cs: Implement this.
1716 2004-10-08  Zoltan Varga  <vargaz@freemail.hu>
1718         * Module.cs: Handle the case when the global type does not exists.
1720 2004-10-03  Zoltan Varga  <vargaz@freemail.hu>
1722         * LocalVariableInfo.cs: Reorganize fields so LocalBuilder can inherit
1723         from this class.
1725 2004-09-28  Zoltan Varga  <vargaz@freemail.hu>
1727         * PropertyInfo.cs (OptionalCustomModifiers): Add [MonoTODO].
1729         * PropertyInfo.cs: Add stub for GetConstantValue ().    
1731         * ParameterInfo.cs (marshalAs): Make this private.
1733         * Module.cs (ModuleHandle): Add [CLSCompliant(false)].
1735         * LocalVariableInfo.cs MethodBody.cs: Disable default constructor.
1737         * ExceptionHandlingClause.cs: Disable default constructor.
1739 2004-09-27  Zoltan Varga  <vargaz@freemail.hu>
1741         * CustomAttributeData.cs CustomAttributeTypedArgument.cs 
1742         CustomAttributeNamedArgument.cs: New files.
1744         * MethodBody.cs LocalVariableInfo.cs ExceptionHandlingClause.cs
1745         ExceptionHandlingClauseFlags.cs: New files.
1747 2004-09-26  Zoltan Varga  <vargaz@freemail.hu>
1749         * FieldInfo.cs: Add support for returning MarshalAsAttribute.
1751         * ParameterInfo.cs: Add marshalAs field, add support for returning
1752         MarshalAsAttribute.
1754 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
1756         * Module.cs: Add new 2.0 GetMethods and GetFields methods.
1758         * ParameterInfo.cs: Add GetPseudoCustomAttributes () method.
1760 2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
1762         * MonoField.cs: Add GetFieldOffset.
1764         * ObfuscationAttribute.cs: Add ApplyToMembers.
1766         * Assembly.cs: Add stub for ReflectionOnlyLoadFrom.
1767         
1768         * Assembly.cs (LoadWithPartialName): Add [ComVisible] attribute.
1770         * MonoMethod.cs FieldInfo.cs: Add GetPseudoCustomAttributes () method.
1772         * AssemblyNameFlags.cs: Add LongevityUnspecified.
1774 2004-09-23  Zoltan Varga  <vargaz@freemail.hu>
1776         * Module.cs: Remove [MonoTODO] from ResolveMember.
1778         * MemberInfo.cs: Add 'Module' property.
1780         * AssemblyFlagsAttribute.cs: Add 2.0 stuff.
1782         * Assembly.cs: Add stubs for ReflectionOnlyLoad methods. Add [Obsolete]
1783         to LoadWithPartialName on 2.0.
1785         * AssemblyNameFlags.cs: Add new 2.0 members.
1787         * FieldInfo.cs MonoField.cs PropertyInfo.cs ParameterInfo.cs MonoProperty.cs: Add stubs for Optinal/RequiredCustomModifiers.
1789         * ObfuscationAttribute.cs ObfuscateAssemblyAttribute.cs: New files.
1791         * EventInfo.cs: Fix 2.0 build.
1793         * MonoEvent.cs (MonoEventInfo): Add 'other_methods' field.
1795         * EventInfo.cs MonoEvent.cs: Add NET 2.0 GetOtherMethods method.
1797 2004-09-22  Zoltan Varga  <vargaz@freemail.hu>
1799         * Module.cs: Implement net 2.0 ResolveXXX methods.
1801         * Module.cs (resolve_token_exception): Fix type of exception thrown.
1803 2004-09-21  Martin Baulig  <martin@ximian.com>
1805         * Assembly.cs (MonoDebugger_CheckRuntimeVersion): New internal method.
1807 2004-09-20  Zoltan Varga  <vargaz@freemail.hu>
1809         * Assembly.cs: Implement 2.0 reflection properties.
1811         * Module.cs: Implement 2.0 reflection properties. Add 'token' field.
1813 2004-09-19  Zoltan Varga  <vargaz@freemail.hu>
1815         * PortableExecutableKind.cs ImageFileMachine.cs: Make this internal
1816         under 1.0.
1818         * MemberInfo.cs ParameterInfo.cs: Add MetadataToken property.
1820         * Module.cs: Add ModuleHandle property and new icalls.
1822 2004-09-18  Zoltan Varga  <vargaz@freemail.hu>
1824         * Module.cs: Add net 2.0 Mvid property.
1826 2004-08-30  Sebastien Pouliot  <sebastien@ximian.com>
1828         * Assembly.cs: Added internal Demand(PermissionSet) for CAS.
1830 2004-08-30  Zoltan Varga  <vargaz@freemail.hu>
1832         * MethodBase.cs (GetMethodFromHandle): Avoid passing a valuetype to
1833         icalls.
1835 2004-08-29  Zoltan Varga  <vargaz@freemail.hu>
1837         * MethodBase.cs (GetMethodFromHandle): Implement.
1839 2004-08-13  Marek Safar  <marek.safar@seznam.cz>
1841         * Assembly.cs: Made _minimum, _optional, _refuse fields internal.
1842         To be reusable by AssemblyBuilder.
1844 2004-08-09  Sebastien Pouliot  <sebastien@ximian.com>
1846         * Assembly.cs: Fixed some exceptions in NET_1_1 and added some 2.0
1847         properties (required for compiling the new unit tests).
1848         * PortableExecutableKind.cs: New. Flags for NET_2_0.
1849         * ImageFileMachine.cs: New. (Rather limited) enum for NET_2_0.
1851 2004-08-08  Sebastien Pouliot  <sebastien@ximian.com>
1853         * Assembly.cs: Get default evidences when no evidences have been 
1854         supplied. Added internal methods for CAS.
1855         * AssemblyName.cs: New constructor for NET_2_0.
1857 2004-08-05  Sebastien Pouliot  <sebastien@ximian.com>
1859         * Assembly.cs: Added new fields for CAS to match the runtime (v23).
1861 2004-07-29  Martin Baulig  <martin@ximian.com>
1863         * Module.cs (Mono_GetGuid): Make this static.
1865 Sat Jul 10 15:48:34 CEST 2004 Paolo Molaro <lupus@ximian.com>
1867         * Module.cs: return just name in ToString (bug #61287).
1869 2004-07-03  Zoltan Varga  <vargaz@freemail.hu>
1871         * Module.cs: Initialize FilterTypeName[IgnoreCase]. Fixes #61048.
1873 2004-06-17  Gert Driesen <drieseng@users.sourceforge.net>
1875         * Pointer.cs: remove serializable attribute to match MS.NET
1877 2004-06-17  Gert Driesen <drieseng@users.sourceforge.net>
1878         
1879         * ParameterModifier.cs: marked serializable, renamed field to match
1880         MS.NET, throw ArgumentException when parameter count is less than or
1881         equal to zero
1883 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
1885         * AssemblyName.cs: added TODO for serialization
1886         * Pointer.cs: fixed Box method to return object instead of 
1887         Pointer
1889 2004-06-15  Sebastien Pouliot  <sebastien@ximian.com>
1891         * MemberInfo.cs: Changed constructor from internal to protected.
1893 2004-06-11  Martin Baulig  <martin@ximian.com>
1895         * FieldInfo.cs (Mono_GetGenericFieldDefinition): New method for NET_2_0.
1897 2004-06-11  Lluis Sanchez  <lluis@ximian.com>
1899         * StrongNameKeyPair.cs: Catch exception when getting PublicKey to match 
1900           MS implementation. Generate the RSA in the constructors.
1902 2004-06-10  Lluis Sanchez  <lluis@ximian.com>
1904         * AssemblyName.cs: Added missing fields to serialization methods.
1905         * StrongNameKeyPair.cs: Made it compatible with MS serialization.
1907 2004-06-08  Jacson Harper  <jackson@ximian.com>
1909         * AssemblyName.cs (GetAssemblyName): Send a fullpath to the
1910         runtime. This way the codebase is set properly. The codebase is
1911         using g_filename_to_uri which expects a full path.
1912         
1913 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1915         * Binder.cs: don't crash when we have a 'null' argument Type array.
1916         Allow it for non-value types. Fixed for both, methods and properties.
1917         Closes bug #58846.
1919 2004-06-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1921         * Binder.cs: default score must be lower than fail_score or we'll get
1922         an ambiguous match when no indexers given and one single match is found.
1924 2004-06-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1926         * Binder.cs: removed ^Ms. In case of several properties matching, try
1927         to disambiguate based on the indexer types provider and the conversions
1928         from those into the ones of the property.
1930 2004-05-31  Gert Driesen <drieseng@users.sourceforge.net>
1932         * Assembly.cs: added missing ComVisible attribute on
1933         ImageRuntimeVersion property
1934         * ConstructorInfo.cs: added missing attributes on Invoke
1935         * EventInfo.cs: added missing attributes
1936         * FieldInfo.cs: added missing attributes
1937         * MethodBase.cs: added missing attributes
1938         * PropertyInfo.cs: added missing attributes
1940 2004-05-22  Cesar Lopez Nataren  <cesar@ciencias.unam.mx>
1942         * FieldInfo.cs: changed default constructor from internal to protected, so classes
1943         that inherit from it can get build. 
1945 2004-05-18  Gert Driesen (drieseng@users.sourceforge.net)
1947         * MonoProperty.cs: return correct MethodInfo for 
1948         property with only a get or set method. Fixes
1949         bug #58661.
1951 2004-05-18  Sebastien Pouliot  <sebastien@ximian.com>
1953         * Assembly.cs: Return an empty Evidence collection to avoid 
1954         NullReferenceException from calling code (as this is never
1955         null with MS implementation). See bugzilla #53548.
1957 2004-05-14  Zoltan Varga  <vargaz@freemail.hu>
1959         * Assembly.cs: Add stub for LoadFrom.
1961         * Assembly.cs: Fix build.
1963 2004-05-13  Zoltan Varga  <vargaz@freemail.hu>
1965         * Assembly.cs: Add ModuleResolve event.
1967         * Module.cs (Mono_GetGuid): Make this internal.
1969         * FieldInfo.cs: Add stubs for {Get,Set}ValueDirect.
1971 2004-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1973         * Binder.cs: check for ambiguous matches in SelectMethod and
1974         SelectProperty. Fixes bug #58381.
1976 2004-05-06  Jackson Harper <jackson@ximian.com>
1978         * Assembly.cs: remove TODO, this is done.
1979         
1980 2004-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1982         * Assembly.cs: ToString () returns the same as GetName ().ToString ().
1983         Fixes bug #58104.
1985 2004-05-03  Jackson Harper  <jackson@ximian.com>
1987         * Assembly.cs: Implement LoadWithPartialName. The bulk of this
1988         method is done in the runtime.
1989         
1990 2004-04-29  Lluis Sanchez Gual  <lluis@ximian.com>
1992         * MonoProperty.cs: Property.GetGetMethod() does not return the method if it
1993         is private (it did until now because of a bug). Make sure it works as it 
1994         worked before the fix.
1995         
1996 2004-04-27  Lluis Sanchez Gual  <lluis@ximian.com>
1998         * ICustomAttributeProvider.cs, IReflect.cs, MemberInfo.cs, AssemblyName.cs: 
1999           Removed completed     TODOs.
2000         * MonoProperty.cs: In GetAccessors(), GetGetMethod() and GetSetMethod(),
2001           do not return private methods if nonPublic == false.
2002         * ReflectionTypeLoadException.cs: Implemented serialization support.
2004 2004-04-26  Jackson Harper  <jackson@ximian.com>
2006         * Assembly.cs: Add icall to determine if an assembly has been
2007         loaded from the GAC.
2009 2004-04-23  Atsushi Enomoto  <atsushi@ximian.com>
2011         * MethodBase.cs, MonoMethod.cs, TypeDelegator.cs :
2012           The fix should be easier ;)
2014 2004-04-23  Atsushi Enomoto  <atsushi@ximian.com>
2016         * MethodBase.cs, MonoMethod.cs, TypeDelegator.cs :
2017           NET_2_0 related build fix.
2019 2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>
2021         * Assembly.cs: Removed TODO for CreateQualifiedName.
2022         * AssemblyName.cs: Fixed serialization code.
2023         * AssemblyNameProxy.cs: Implemented.
2024         * Module.cs: Implemented GetMethod() methods, FindTypes() and GetObjectData.
2026 2004-04-07  Martin Baulig  <martin@ximian.com>
2028         * MonoGenericInst.cs (MonoGenericParam): Removed.
2030 2004-04-07  Martin Baulig  <martin@ximian.com>
2032         * MethodBase.cs
2033         (MethodBase.GetGenericParameters): Renamed to GetGenericArguments().
2035         * MonoGenericInst.cs (MonoGenericInst.DeclaringType): Removed.
2036         (MonoGenericInst.GetNestedTypes): Just call
2037         `generic_type.GetNestedTypes (bf)' here.
2039         * MonoMethod.cs (MonoMethod.ToString): If we're a generic method,
2040         include the type arguments.
2042 2004-04-06  Sebastien Pouliot  <sebastien@ximian.com>
2044         * StrongNameKeyPair.cs: Added support for ECMA "key". Now returns a
2045         correct StrongName instance when the ECMA "key" is used.
2047 2004-04-02  Martin Baulig  <martin@ximian.com>
2049         * MonoGenericInst.cs (MonoGenericInst.DeclaringType): Override.
2051 2004-04-01  Martin Baulig  <martin@ximian.com>
2053         * MonoGenericInst.cs (MonoGenericParam.IsValueTypeImpl): Override
2054         this and always return false.
2056 2004-04-01  Martin Baulig  <martin@ximian.com>
2058         * MonoGenericInst.cs (MonoGenericParam.IsSubclassOf): Override this.    
2060 2004-03-30  Martin Baulig  <martin@ximian.com>
2062         * MonoGenericInst.cs
2063         (MonoGenericParam): Added `bool has_ctor_constraint' field.
2064         (MonoGenericParam.SetConstraints): Added `bool
2065         has_ctor_constraint' argument.  
2067 2004-03-29  Martin Baulig  <martin@ximian.com>
2069         * MethodBase.cs (MethodBase.Mono_IsInflatedMethod): New public
2070         virtual property.
2071         (MethodBase.HasGenericParameters): Use the "official" behavior
2072         here, ie. return false if we're not a generic method.
2074 2004-03-29  Martin Baulig  <martin@ximian.com>
2076         * MethodBase.cs: Moved the generics stuff here, made it virtual
2077         where neccessary and use the correct API.
2079 2004-03-24  Sebastien Pouliot  <sebastien@ximian.com>
2081         * StrongNameKeyPair.cs: Added an internal method to return a 
2082         StrongName object (for AssemblyBuilder). Simplified implementation 
2083         using Mono.Security.Cryptography.CryptoConvert class.
2085 2004-03-24  Zoltan Varga  <vargaz@freemail.hu>
2087         * AssemblyFileVersionAttribute.cs (.ctor): Add argument checking.
2089 2004-03-23  Martin Baulig  <martin@ximian.com>
2091         * MonoGenericInst.cs: Added support for events.
2093 2004-03-23  Martin Baulig  <martin@ximian.com>
2095         * MonoMethod.cs (MonoMethod.ToString): Don't include the namespace
2096         if it's the empty string.
2098 2004-03-10  Martin Baulig  <martin@ximian.com>
2100         * MethodBase.cs (MethodBase): Implemented
2101         GetGenericMethodDefinition() and HasGenericParameters.
2103 2004-03-09  Martin Baulig  <martin@ximian.com>
2105         * MonoEvent.cs (MonoEventInfo): Replaced `parent' with
2106         `declaring_type' and `reflected_type'.
2107         (MonoEvent): Distinguish between declaring and reflected type.
2109 2004-02-25  Martin Baulig  <martin@ximian.com>
2111         * MonoGenericInst.cs
2112         (MonoGenericInst.GetNestedTypes): Override this.
2114 2004-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2116         * Binder.cs:
2117         (SelectProperty): check the return Type if provided.
2119 2004-02-17  Martin Baulig  <martin@ximian.com>
2121         * MonoGenericInst.cs (MonoGenericInst.GetProperties): Added
2122         support for properties.
2124 2004-02-17  Martin Baulig  <martin@ximian.com>
2126         * MonoGenericInst.cs (MonoGenericInst.GetMethods): Walk up the
2127         class hierarchy and return members from the parent classes.
2128         (GetConstructors, GetFields): Likewise.
2130 2004-02-17  Martin Baulig  <martin@ximian.com>
2132         * MonoGenericInst.cs (MonoGenericInst.initialize): Don't inflate
2133         all the members here; we only do this for members of the current
2134         class and only when they're actually queried for.
2136 2004-02-12  Martin Baulig  <martin@ximian.com>
2138         * MonoGenericInst.cs (MonoInflatedField): Removed.
2140         * MonoGenericInst.cs (MonoInflatedMethod, MonoInflatedCtor): Removed.
2142 2004-02-08  Martin Baulig  <martin@ximian.com>
2144         * MonoGenericInst.cs (MonoGenericInst.inflate): Pass recursive
2145         invocations the `reflected' type as `reflected', not `this'.
2146         (MonoInflatedMethod, MonoInflatedCtor): Reflect latest runtime changes.
2148 2004-02-08  Martin Baulig  <martin@ximian.com>
2150         * MonoGenericInst.cs (MonoGenericInst.GetParentType): New interncall.
2151         (MonoGenericInst.GetInterfaces_internal): New interncall.
2152         (MonoGenericInst): Reflect latest API changes; use GetParentType()
2153         and GetInterfaces_internal() instead of the fields.     
2155 2004-02-06  Martin Baulig  <martin@ximian.com>
2157         * MonoGenericInst.cs (MonoGenericInst.DeclaringType): Override this.
2159 2004-02-03  Martin Baulig  <martin@ximian.com>
2161         * MonoGenericInst.cs (MonoGenericInst.GetInterfaces): Override this.
2163 2004-01-25  Martin Baulig  <martin@ximian.com>
2165         * MonoGenericInst.cs: Honor BindingFlags.DeclaredOnly.
2167 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
2169         * Assembly.cs (GetManifestResourceStream): Make the IntPtrStream keep
2170         a reference on the Module object which contains the resource.
2172         * Module.cs: Decrease the image reference count when the Module is
2173         garbage collected.
2175 2004-01-16  Martin Baulig  <martin@ximian.com>
2177         * Assembly.cs: Make the `MonoDebugger_' methods static.
2179 2004-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2181         * MonoProperty.cs: changed get_property_info so that it only gets the
2182         values needed. Reduces the allocations needed.
2184 2004-01-15  Martin Baulig  <martin@ximian.com>
2186         * Assembly.cs: Make the `MonoDebugger_' methods internal.
2188 2004-01-04  Nick Drochak <ndrochak@gol.com>
2190         * Assembly.cs: Removed unused variable in catch block.Eliminates a build
2191         warning.
2193 2003-12-29 Ben Maurer  <bmaurer@users.sourceforge.net>
2195         * MethodBase.cs: Internal method to get param count (this
2196         way we can get the info for the ilgen without creating
2197         an array, if we override the method).
2199 2003-12-18  Zoltan Varga  <vargaz@freemail.hu>
2201         * Assembly.cs: Implement LoadFrom.
2203 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
2205         * Assembly.cs: Add stubs for LoadFile.
2207 2003-12-16  Zoltan Varga  <vargaz@freemail.hu>
2209         * Assembly.cs (GetManifestResourceStream): Only load non-embedded
2210         resources from files.
2212 2003-12-15  Zoltan Varga  <vargaz@freemail.hu>
2214         * MonoField.cs (SetValue): Throw an exception if the value cannot be
2215         converted to the field's type. Fixes #52177.
2217 2003-12-11  Lluis Sanchez Gual <lluis@ximian.com>
2218         
2219         * AmbiguousMatchException.cs: Added serialization constructor.
2220         
2221 2003-12-08  Martin Baulig  <martin@ximian.com>
2223         * MonoGenericInst.cs (MonoGenericParam): New internal class;
2224         derives from MonoType.  
2226 2003-12-08  Patrik Torstensson <p@rxc.se>
2228         * Binder.cs: Added internal helpers to get derived level and select the 
2229         most derived methodbase (used in GetMethodImpl)
2231 2003-11-25  Zoltan Varga  <vargaz@freemail.hu>
2233         * Assembly.cs (LoadWithPartialName): Return null instead of throwing
2234         an exception to match MS behavior.
2236 2003-11-24  Zoltan Varga  <vargaz@freemail.hu>
2238         * MonoMethod.cs: Add missing constructor.
2240 2003-11-21  Zoltan Varga  <vargaz@freemail.hu>
2242         * MethodBase.cs (Invoke): Make this virtual under NET 1.2.
2244 2003-11-16  Martin Baulig  <martin@ximian.com>
2246         * MonoGenericInst.cs (MonoGenericInst.inflate): Call
2247         `parent.inflate (parent,...)' instead of
2248         `parent.inflate (reflected,...)'.
2250 2003-11-16  Zoltan Varga  <vargaz@freemail.hu>
2252         * Assembly.cs (InternalGetAssemblyName): New icall.
2254         * AssemblyName.cs (GetAssemblyName): Implement this without loading
2255         the assembly in question. Fixes #51035.
2257 2003-11-14  Martin Baulig  <martin@ximian.com>
2259         * MonoGenericInst.cs (MonoGenericInst): Added
2260         `MonoGenericInst[] interfaces' field.  This is only used for
2261         interface types.
2262         (MonoGenericInst.inflate): If we're an interface type, add the
2263         methods from all interfaces we inherit.
2265 2003-11-14  Zoltan Varga  <vargaz@freemail.hu>
2267         * AssemblyNameFlags.cs MethodAttributes.cs: Add new enumerated values 
2268         from NET 1.1.
2269         
2270         * *.cs: Add missing attributes.
2272 2003-11-11  Todd Berman  <tberman@gentoo.org>
2274         * AssemblyName.cs (FullName): Fixed to include a proper PublicKeyToken.
2276 2003-11-11  Zoltan Varga  <vargaz@freemail.hu>
2278         * MonoMethod.cs: Implement CallingConvention member.
2280 2003-11-10  Zoltan Varga  <vargaz@freemail.hu>
2282         * Assembly.cs (InternalGetType): Add a 'module' argument so this
2283         method can be used from Module as well.
2285         * Module.cs (GetType): Implement.
2287         * Module.cs (GetTypes): Implement.
2289         * Module.cs: Remove some [MonoTODO] attributes from implemented methods.
2290 2003-11-08  Martin Baulig  <martin@ximian.com>
2292         * MonoGenericInst.cs (MonoInflatedMethod, MonoInflatedCtor): Added
2293         a private `IntPtr ginst' field.
2294         (MonoGenericInst.IsValueTypeImpl, inflate): Allow interfaces.
2296 2003-11-02  Martin Baulig  <martin@ximian.com>
2298         * MonoGenericInst.cs (MonoGenericInst.initialize): Include members
2299         from our parent classes in the `methods', `ctors' and `fields'
2300         arrays.  When inflating them, reflection now sets their
2301         `declaring_type' and `reflected_type' fields.
2302         (MonoInflatedMethod, MonoInflatedCtor): Added
2303         `MonoGenericInst declaring_type' and `MonoGenericInst reflected_type'
2304         fields and override the `DeclaringType' and `ReflectedType' properties.
2306 2003-11-02  Martin Baulig  <martin@ximian.com>
2308         * MonoGenericInst.cs (MonoGenericInst.IsValueTypeImpl): Override this.
2310 2003-10-31  Martin Baulig  <martin@ximian.com>
2312         * MonoGenericInst.cs (MonoInflatedField): New internal class.
2313         (MonoGenericInst.GetFields): Override this method and inflate
2314         the fields.
2316         * MonoField.cs: Don't make this class sealed.
2318 2003-10-30  Martin Baulig  <martin@ximian.com>
2320         * MonoGenericInst.cs (MonoInflatedMethod, MonoInflatedCtor): New
2321         internal classes.
2323 2003-10-25  Martin Baulig  <martin@ximian.com>
2325         * MonoGenericInst.cs: New internal class.
2327 2003-10-18  Martin Baulig  <martin@ximian.com>
2329         * MethodInfo.cs (MethodInfo.GetGenericArguments): Make this method
2330         abstract; use an interncall in MonoMethod and a custom
2331         implementation in MethodBuilder.        
2333 2003-10-17  Pedro Martinez Julia  <yoros@wanadoo.es>
2335         * MonoEvent.cs: implement ToString method as in MS.NET.
2337         * MonoMethod.cs: fix some differences between mono and MS.NET
2338         implementation of ToString.
2340 2003-10-17  Zoltan Varga  <vargaz@freemail.hu>
2342         * AssemblyName.cs: Fix Version property when some version fields are
2343         undefined.
2345 2003-10-17  Martin Baulig  <martin@ximian.com>
2347         * MethodInfo.cs (MethodInfo.GetGenericArguments): New method.
2348         (MethodInfo.BindGenericParameters): New method.
2350 2003-10-16  Martin Baulig  <martin@ximian.com>
2352         * MethodInfo.cs (MethodInfo.IsGenericMethodDefinition): New
2353         property.       
2355 2003-08-08  Lluis Sanchez Gual  <lluis@ximian.com>
2357         * ParameterInfo.cs: Modified constructor of ParameterInfo for
2358           the return type of a method. Since parameter positions are
2359           zero-based, the position of the return type must be is -1.
2361 2003-08-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2363         * TargetInvocationException.cs: Fixed signature
2365 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
2367         * TypeDelegator.cs: Added generics stubs.
2369 2003-07-21  Lluis Sanchez Gual  <lluis@ximian.com>
2371         * ParameterInfo.cs: Position is zero-based in ParameterInfo.
2372           Set the right position value when getting from ParameterBuilder.
2374 Thu Jul 17 17:26:59 CEST 2003 Paolo Molaro <lupus@ximian.com>
2376         * FieldInfo.cs, MonoField.cs: cleanups. Cache some info and use
2377         finer-grained icalls. Requires a matching runtime.
2379 2003-07-11  Zoltan Varga  <vargaz@freemail.hu>
2381         * AssemblyFlagsAttribute.cs: Added new constructor from NET 1.1.
2383         * AssemblyFlagsAttribute.cs: Added new property from NET 1.1.
2385 2003-07-10  Zoltan Varga  <vargaz@freemail.hu>
2387         * Assembly.cs: Implemented ImageRuntimeVersion property from NET 1.1.
2389 Mon Jun 30 19:12:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
2391         * Pointer.cs: implemented.
2393 2003-06-15  Zoltan Varga  <vargaz@freemail.hu>
2395         * EventInfo.cs: Implement IsSpecialName.
2397 2003-06-10  Zoltan Varga  <vargaz@freemail.hu>
2399         * Module.cs (Mono_GetGuid): New method to return the GUID of the
2400         module.
2402 2003-05-21  Zoltan Varga  <vargaz@freemail.hu>
2404         * Module.cs: Implement GetField and its friends.
2406 2003-05-20  Zoltan Varga  <vargaz@freemail.hu>
2408         * Assembly.cs (GetManifestResourceStream): Moved handling of 
2409         linked resources into managed code using the newly implemented
2410         GetManifestResourceInfo () method.
2412 2003-05-19  Zoltan Varga  <vargaz@freemail.hu>
2414         * Module.cs: Implemented IsResource.
2416         * Assembly.cs: Implemented GetManifestResourceInfo, GetModules,
2417         GetModule, GetLoadedModules methods.
2418         * Assembly.cs (GetManifestResourceStream): Added support for 
2419         resources in extern assemblies.
2421 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2423         * Assembly.cs: fixed bug #42833.
2425 2003-05-11  Miguel de Icaza  <miguel@ximian.com>
2427         * Binder.cs (ChangeType): Very simplistic change.  Am not sure if
2428         it is correct, but it makes RemotingCorba move along a bit more
2429         (Remoting.Corba invokes Binder.ConvertArgs, which calls
2430         Binder.ChangeType with an Attribute [] to Object []).
2432 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2434         * Binder.cs:
2435         (check_type): fixed bug #41655.
2437 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2439         * Assembly.cs: implemented GetSatelliteAssembly.
2441 Fri Apr 11 13:06:10 CEST 2003 Paolo Molaro <lupus@ximian.com>
2443         * Assembly.cs: added GetNamespaces() icall.
2445 2003-03-17  Zoltan Varga  <vargaz@freemail.hu>
2447         * FieldInfo.cs (GetFieldFromHandle): Implemented.
2449 2003-03-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2451         * Assembly.cs: added missing stuff. Only ModuleResolve event is left
2452         out to avoid changing MonoReflectionAssembly by now.
2453         * ModuleResolveEventHandler.cs: delegate.
2455 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2457         * TargetInvocationException.cs: added serialization ctor.
2459 2003-02-18  Martin Baulig  <martin@ximian.com>
2461         * Assembly.cs (MonoDebugger_GetMethodToken): New method to get a
2462         method's metadata token.
2464 2003-02-04  Sebastien Pouliot  <spouliot@videotron.ca>
2466         * Module.cs: Corrected indentation for class.
2468 2003-02-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2470         * Binder.cs:
2471         (check_type): return true when the target type is object and the source
2472         is a value type.
2474 2003-02-03 Patrik Torstensson
2476         * Binder.cs: minimize locking time in DefaultBinder.
2478 2003-02-01  Sebastien Pouliot  <spouliot@videotron.ca>
2480         * Module.cs: Oups - not implemented. Added MonoTODO to most methods
2481         so it's real status get reflected correctly on the web site.
2483 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2485         * MonoMethod.cs: implemented GetBaseDefinition ().
2487 2003-01-28  Patrik Torstensson
2488         * MonoMethod.cs: Added support for serialization for MonoMethod and MonoCMethod
2489         * ReflectionSerializationHolder.cs: Support class for serialization
2491 2003-01-17  Zoltan Varga  <vargaz@freemail.hu>
2493         * ParameterInfo.cs: modified constructor so it allows the 
2494         ParameterBuilder to be null and add a 'position' argument which will
2495         be used when pb is null.
2497 2003-01-16  Lluis Sanchez Gual <lsg@ctv.es>
2499         * Assembly.cs: added serialization support.
2501 Sat Jan 4 18:26:41 CET 2003 Paolo Molaro <lupus@ximian.com>
2503         * MonoMethod.cs: propagate exceptions from the internal invoke
2504         code that need to be propagated.
2506 Sat Jan 4 18:04:07 CET 2003 Paolo Molaro <lupus@ximian.com>
2508         * Binder.cs: throw an exception if the number of arguments 
2509         when invoking a method is incorrect.
2511 Thu Jan 2 19:04:58 CET 2003 Paolo Molaro <lupus@ximian.com>
2513         * Binder.cs: In SelectMethod() look for an exact match first.
2515 2003-01-01  Rachel Hestilow <hestilow@ximian.com>
2517         * MonoField.cs (SetValue): Fix logic typo. Check that obj is
2518         non-null only for the non-static case.
2520 2002-12-30  Sebastien Pouliot <spouliot@videotron.ca>
2522         * AssemblyName.cs: Fixed null cultureinfo in FullName (as reported by 
2523         Zoltan).
2525 2002-12-23  Sebastien Pouliot <spouliot@videotron.ca>
2527         * AssemblyName.cs: GetPublicKey now return an empty array (not null)
2528         when an assembly isn't signed with a StrongName (to match MS 
2529         implementation) and null when no assembly is referenced. Also removed 
2530         commented code (no bug reported so it was probably not used).
2532 Thu Dec 19 16:43:19 CET 2002 Paolo Molaro <lupus@ximian.com>
2534         * MonoMethod.cs, ParameterInfo.cs: return a custom attribute
2535         provider for the return type of a method.
2537 2002-12-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2539         * AssemblyName.cs: little fix in FullName.
2541 2002-12-07  Sebastien Pouliot <spouliot@videotron.ca>
2543         * AssemblyName.cs: Added missing methods/interfaces. Fixed some
2544         code to match the MS Framework.
2545         * StrongNameKeyPair.cs: Completed the "visible" implementation.
2546         There must be some internal methods to allow signing with the key.
2548 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2550         * EventInfo.cs: implemented (Add|Remove)EventHandler.
2552 Mon Nov 18 17:52:56 CET 2002 Paolo Molaro <lupus@ximian.com>
2554         * Assembly.cs: implemented GetManifestResourceStream (Type type,
2555         * String name).
2557 2002-11-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2559         * Assembly.cs: changed name of GetType (string, bool, bool) to
2560         InternalGetType.
2562 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2564         * TargetInvocationException.cs: modified default message.
2566 2002-10-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2568         * MonoProperty.cs:
2569         * PropertyInfo.cs: fixed bug #31535.
2571 2002-09-27  Martin Baulig  <martin@gnome.org>
2573         * Assembly.cs (Assembly.GetReferencedAssemblies): Implemented.
2575 2002-09-24  Martin Baulig  <martin@gnome.org>
2577         * Assembly.cs (MonoDebugger_GetType): New method to get a Type
2578         from its metadata token.  This should only be used by the debugger.
2580 2002-09-21  Martin Baulig  <martin@gnome.org>
2582         * Assembly.cs (MonoDebugger_GetLocalTypeFromSignature): New method to
2583         get the type of a local variable from its signature.  This should only
2584         be used by the debugger.
2586 2002-09-20  Martin Baulig  <martin@gnome.org>
2588         * Assembly.cs (MonoDebugger_GetMethod): New method to get a MethodBase
2589         from its metadata token.  This should only be used by the debugger.
2591 Wed Sep 11 12:50:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
2593         * Binder.cs: more default binder implementation.
2595         * FieldInfo.cs, MonoField.cs: fixed SetValue () implementation.
2596         * MonoMethod.cs: use the binder in the Invoke () implementation.
2597         Implemented custom attributes methods and ToString for constructors.
2599 Thu Sep 5 20:36:27 CEST 2002 Paolo Molaro <lupus@ximian.com>
2601         * Binder.cs: finished the Binder class and implemented the default
2602         binder.
2604 2002-09-03  Martin Baulig  <martin@gnome.org>
2606         * Assembly.cs (Assembly.Location): Implemented.
2608 2002-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2610         * MonoField.cs:
2611         (GetValue): allow obj to be null (used for static fields).
2613 2002-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2615         * MonoField.cs: GetValue renamed to GetValueInternal. Added check for
2616         null.
2618 Wed Aug 21 13:03:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
2620         * Assembly.cs: GetEntryAssembly patch by Tomi Pakarinen 
2621         <tomi.pakarinen@welho.com>.
2623 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2625         * Assembly.cs: FullName now returns a proper string instead of
2626         something like 'file://...'.
2628         * AssemblyName.cs: added missing ToString method.
2630 2002-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2632         * FieldInfo.cs: implemented SetValue.
2634 Wed Aug 14 17:37:30 CEST 2002 Paolo Molaro <lupus@ximian.com>
2636         * MonoEvent.cs, MonoMethod.cs: implemented ReflectedType.
2638 2002-08-14  Dick Porter  <dick@ximian.com>
2640         * Assembly.cs: Stub out GetSatelliteAssembly
2642 2002-08-12  Tim Coleman <tim@timcoleman.com>
2643         * MonoProperty.cs:
2644                 Allow multiple parameters for GetValue ()
2646 Thu Aug 8 13:05:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
2648         * Assembly.cs: implemented GetFile() and GetFiles().
2650 Mon Aug 5 21:19:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
2652         * Assembly.cs: implemented EntryPoint and a few 
2653         resource related methods.
2655 Wed Jul 24 13:08:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
2657         * MethodBase.cs: implemented GetCurrentMethod.
2658         * Assembly.cs: implemented GetExecutingAssembly and
2659         GetCallingassembly.
2661 Mon Jul 1 18:01:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
2663         * MonoProperty.cs: handle properties with only a set method.
2665 2002-05-24  Martin Baulig  <martin@gnome.org>
2667         * ParameterInfo.cs: Added internal constructor.
2669 Thu May 23 17:18:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
2671         * Assembly.cs: implemented CreateInstance ().
2673 2002-05-22  Martin Baulig  <martin@gnome.org>
2675         * MethodBase.cs (get_next_table_index): Added `object obj' argument.
2677 Tue May 21 12:07:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
2679         * EventInfo.cs: more implementation.
2681 Mon May 20 17:37:39 CEST 2002 Paolo Molaro <lupus@ximian.com>
2683         * MonoEvent.cs: fill-in the implementation.
2685 Sat May 4 15:00:39 CEST 2002 Paolo Molaro <lupus@ximian.com>
2687         * Assembly.cs, AssemblyName.cs: updates and fixes.
2689 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
2691         * MonoProperty.cs (GetValue) : basic implementation to support nunit
2692         * PropertyInfo.cs (GetValue) : call MonoProperty::GetValue instead of returning null
2694 Thu Apr 18 16:40:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
2696         * MonoMethod.c: cache the method name.
2698 2002-04-12  Duncan Mak  <duncan@ximian.com>
2700         * AssemblyAlgorithmIdAttribute.cs: Fixed typo in AlgorithmId
2701         property.
2703         * AssemblyDelaySignAttribute.cs: Fixed type in DelaySign
2704         attribute.
2706         * AssemblyFileVersionAttribute.cs: Renamed FileVersion property to
2707         Version.
2709         * BindingFlags.cs: Added missing value "PutRefDispProperty".
2711         * FieldAttributes.cs: Removed value "HasSecurity".
2713         * ManifestResourceInfo.cs: Added missing properties FileName,
2714         ReferencedAssembly and ResourceLocation.
2716         * TargetInvocationException.cs: Added the missing constructors.
2718 Fri Apr 12 18:32:34 CEST 2002 Paolo Molaro <lupus@ximian.com>
2720         * MonoMethod.cs: make Name property an icall.
2722 2002-04-08  Nick Drochak  <ndrochak@gol.com>
2724         * DefaultMemberAttribute.cs: Add AttributeUsage attribute for class,
2725         struct and interface.
2727 Fri Apr 5 15:40:24 CEST 2002 Paolo Molaro <lupus@ximian.com>
2729         * MonoEvent.cs: remove unused code.
2730         * MonoProperty: implement ToString().
2732 Wed Apr 3 17:59:26 CEST 2002 Paolo Molaro <lupus@ximian.com>
2734         * Assembly.cs: implement GetTypes() and GetExportedTypes().
2736 Mon Mar 25 18:54:58 CET 2002 Paolo Molaro <lupus@ximian.com>
2738         * MonoEvent.cs: added the needed fields.
2740 2002-03-20  Martin Baulig  <martin@gnome.org>
2742         * ConstructorInfo.cs (Invoke): Implemented, call the abstract Invoke.
2744         * MonoMethod.cs (MonoCMethod.Invoke): Implemented, call InternalInvoke.
2746 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
2748         * MonoMethod.cs (Invoke): call InternalInvoke
2750         * MethodBase.cs (Invoke): call virtual invoke function 
2752 Thu Mar 7 17:14:20 CET 2002 Paolo Molaro <lupus@ximian.com>
2754         * EventInfo.cs: add compiler needed methods.
2755         * MonoMethod.cs: make ToString() return the return type name, too.
2757 2002-03-07  Nick Drochak  <ndrochak@gol.com>
2759         * BindingFlags.cs: Add missing enum values.  Thanks CorCompare.
2761 Tue Mar 5 20:33:14 CET 2002 Paolo Molaro <lupus@ximian.com>
2763         * TypeAttributes.cs, MethodImplAttributes.cs: updates to latest spec.
2765 2002-02-26  Duncan Mak  <duncan@ximian.com>
2767         * StrongNameKeyPair.cs: Committed for Kevin Winchester (kwin@ns.sympatico.ca>.
2769 2002-02-24 Nick Drochak  <ndrochak@gol.com>
2771         * AssemblyNameFlags.cs: Use proper member name.  Thanks corcompare!
2773 Fri Feb 22 18:54:13 CET 2002 Paolo Molaro <lupus@ximian.com>
2775         * MonoField.cs: implement GetValue as an internalcall.
2776         Implemented ToString().
2778 Tue Feb 19 20:36:04 CET 2002 Paolo Molaro <lupus@ximian.com>
2780         * Assembly.cs, Module.cs, MonoField.cs, MonoMethod.cs,
2781         MonoProperty.cs, ParameterInfo.cs: Implemented custom attributes
2782         related methods.
2784 Thu Feb 14 18:55:23 CET 2002 Paolo Molaro <lupus@ximian.com>
2786         * TypeAttributes.cs: update to latest spec.
2788 Mon Feb 11 19:50:27 CET 2002 Paolo Molaro <lupus@ximian.com>
2790         * Assembly.cs: handle throwOnError in GetType() call.
2792 2002-02-07  Duncan Mak  <duncan@ximian.com>
2794         * AssemblyName.cs: Implemented ISerializable interface for the
2795         fields that we have.
2797 2002-02-05  Duncan Mak  <duncan@ximian.com>
2798         
2799         * Missing.cs: 
2800         * TargetException.cs: Added in CVS.
2802 2002-01-31  Duncan Mak  <duncan@ximian.com>
2804         * ReflectionTypeLoadException.cs: Added missing bits.
2806 2002-01-23  Duncan Mak  <duncan@ximian.com>
2808         * AssemblyAlgorithmIdAttribute.cs:
2809         * AssemblyCompanyAttribute.cs:
2810         * AssemblyConfigurationAttribute.cs:
2811         * AssemblyCopyrightAttribute.cs:
2812         * AssemblyCultureAttribute.cs:
2813         * AssemblyDefaultAliasAttribute.cs:
2814         * AssemblyDelaySignAttribute.cs:
2815         * AssemblyDescriptionAttribute.cs:
2816         * AssemblyFileVersionAttribute.cs:
2817         * AssemblyFlagsAttribute.cs:
2818         * AssemblyInformationalVersionAttribute.cs:
2819         * AssemblyKeyFileAttribute.cs:
2820         * AssemblyKeyNameAttribute.cs:
2821         * AssemblyNameProxy.cs:
2822         * AssemblyProductAttribute.cs:
2823         * AssemblyTitleAttribute.cs:
2824         * AssemblyTradeMarkAttribute.cs:
2825         * AssemblyVersionAttribute.cs:
2826         * CustomAttributeFormatException.cs:
2827         * InvalidFilterCriteriaException.cs:
2828         * TargetParameterCountException.cs: Added.
2830 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
2832         * Assembly.cs (Assembly.CodeBase): Implement.
2833         (Assembly.FullName): simplistic and broken implementation.  Gets
2834         us where we were yesterday.
2836         Code style fix.
2838 Tue Jan 22 22:54:18 CET 2002 Paolo Molaro <lupus@ximian.com>
2840         * IReflect.cs: corrected GetMember() return type.
2841         * InterfaceMapping.cs, TypeDelegator.cs: implemented.
2843 Wed Jan 9 19:37:14 CET 2002 Paolo Molaro <lupus@ximian.com>
2845         * MonoMethod.cs: ToString () implementation.
2847 2002-01-04  Ravi Pratap  <ravi@ximian.com>
2849         * Assembly.cs : Decorate missing bits with the MonoTODO
2850         attribute.
2852         * ConstructorInfo.cs, MonoMethod.cs, MonoProperty.cs, ParameterInfo.cs,
2853         ReflectionTypeLoadException.cs : Ditto.
2855         * FieldInfo.cs : Ditto.
2856         
2857 Thu Jan 3 23:25:34 CET 2002 Paolo Molaro <lupus@ximian.com>
2858         
2859         * Assembly.cs: trow unimplemented exceptions.
2861 Tue Dec 18 18:46:22 CET 2001 Paolo Molaro <lupus@ximian.com>
2863         * MonoMethod.cs: implemented GetParameters().
2864         * MonoProperty.cs: PropertyInfo implementation.
2865         * ParameterInfo.cs: implemented.
2866         * PropertyInfo.cs: fixes.
2868 Thu Dec 13 20:18:05 CET 2001 Paolo Molaro <lupus@ximian.com>
2870         * FieldInfo.cs: implemented some Is* propeties.
2871         * MethodBase.cs: fixed attribute accessors.
2872         * MonoField.cs: runtime object to represent a field.
2873         * MonoMethod.cs: runtime object to represent a method.
2874         * AssemblyBuilder.cs: GetToken() methods to get tokens for
2875         strings, fields, methods...
2876         * ILGenerator.cs: handle tokens for methods.
2878 Mon Nov 19 13:56:55 CET 2001 Paolo Molaro <lupus@ximian.com>
2880         * MethodBase.cs: add internal get_next_table_index() for use in
2881         Reflection.Emit.
2883 Wed Nov 14 16:53:28 CET 2001 Paolo Molaro <lupus@ximian.com>
2885         * Assembly.cs: implement some of the Load() methods.
2886         * ConstructorInfo.cs: some missing stubs and fields.
2887         * FieldInfo.cs: IsInitOnly property.
2888         * ParameterInfo.cs: stubs for missing properties.
2889         * ParameterModifier.cs: implemented class.
2891 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
2893         * Assembly.cs: Filled in some stub implementations
2895         * ConstructorInfo.cs: Added some stub functions for NUnit
2897 Fri Nov 2 18:29:36 CET 2001 Paolo Molaro <lupus@ximian.com>
2899         * AmbiguousMatchException.cs, 
2900         * Assembly.cs, Module.cs: updates.
2901         * FieldInfo.cs: better compliance to the spec.
2902         * MethodBase.cs: move call_conv out of the way.
2903         * AssemblyBuilder.cs:  don't use internalcalls, more stuff supported.
2904         * FieldBuilder.cs: implemented.
2905         * ILGenerator.cs: implemented some opcode handling.
2906         * Label.cs: add constructor.
2907         * LocalBuilder.cs: implemented.
2908         * MethodBuilder.cs: don't use internalcalls, more implemented stuff.
2909         * ModuleBuilder.cs: don't use internalcalls, more meat here, too.
2910         * ParameterBuilder.cs: implemented.
2911         * PropertyBuilder.cs: implemented.
2912         * TypeBuilder.cs: don't use internalcalls, more stuff working.
2914 Tue Sep 25 16:48:50 CEST 2001 Paolo Molaro <lupus@ximian.com>
2916         * ConstructorInfo.cs, MemberFilter.cs, Module.cs: added.
2918 Fri Sep 14 16:12:08 CEST 2001 Paolo Molaro <lupus@ximian.com>
2920         * MethodBase.cs, MethodInfo.cs: added.
2922 Thu Sep 13 18:05:16 CEST 2001 Paolo Molaro <lupus@ximian.com>
2924         * Assembly.cs: added stub code.
2926 2001-07-18  Michael Lambert <michaellambert@email.com>
2928         * BindingFlags.cs: Add.