2010-03-12 Jb Evain <jbevain@novell.com>
[mono.git] / mcs / class / corlib / System.Reflection / ChangeLog
1 2010-03-07 Rodrigo Kumpera  <rkumpera@novell.com>
2
3         * EventInfo.cs: Some v4 adjustments.
4
5 2010-03-07 Rodrigo Kumpera  <rkumpera@novell.com>
6
7         * MethodInfo.cs: New v4 stuff.
8
9 2010-03-07 Rodrigo Kumpera  <rkumpera@novell.com>
10
11         * ManifestResourceInfo.cs: New v4 .ctor.
12
13 2010-02-28 Rodrigo Kumpera  <rkumpera@novell.com>
14
15         * CustomAttributeData.cs:
16         * ExceptionHandlingClause.cs:
17         * LocalVariableInfo.cs: Add some v4 bits.
18
19 2010-02-26 Rodrigo Kumpera  <rkumpera@novell.com>
20
21         * PropertyInfo.cs: Small hack to avoid having cor-compare
22         flagging Get(Raw)ConstantValue as not implemented.
23
24 2010-02-24 Rodrigo Kumpera  <rkumpera@novell.com>
25
26         * MethodBody.cs: Add v4 bits.
27
28 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
29
30         * MethodBody.cs: Add v4 bits.
31
32 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
33
34         * MethodBase.cs: Add some v4 bits.
35
36 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
37
38         * MemberInfo.cs: Add GetCustomAttributesData.
39
40         * Assembly.cs:
41         * MemberInfo.cs:
42         * Module.cs:
43         * MonoEvent.cs:
44         * MonoField.cs:
45         * MonoMethod.cs:
46         * MonoProperty.cs:
47         * ParameterInfo.cs: Implement GetCustomAttributesData.
48
49 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
50
51         * MemberInfo.cs: Add some v4 bits.
52
53 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
54
55         * MethodImplAttributes.cs: Add NoOptimization flag.
56
57 2010-02-11  Marek Habersack  <mhabersack@novell.com>
58
59         * ConstructorInfo.cs, EventInfo.cs, FieldInfo.cs: fix 4.0 equality
60         and inequality operators by casting the passed parameters to
61         object. Failing to do so leads to infinite recursion calling the
62         operator.
63
64 2010-02-10 Rodrigo Kumpera  <rkumpera@novell.com>
65
66         * FieldInfo.cs: Add some v4 bits.
67
68 2010-02-10 Rodrigo Kumpera  <rkumpera@novell.com>
69
70         * EventInfo.cs: Add some v4 bits.
71
72 2010-02-10 Rodrigo Kumpera  <rkumpera@novell.com>
73
74         * ConstructorInfo.cs: Add some v4 bits.
75
76 2010-02-10 Rodrigo Kumpera  <rkumpera@novell.com>
77
78         * PropertyInfo.cs: Remove a pair of MonoTODO.
79
80         * MonoProperty.cs: Implement GetConstantValue and GetRawConstantValue.
81
82 2010-02-05 Rodrigo Kumpera  <rkumpera@novell.com>
83
84         * MonoMethod.cs (GetParameters): Must return a copy instead of the interned array.
85
86         * MonoMethod.cs (Invoke): Skip array clone in GetParameters.
87
88         * MonoProperty.cs (GetIndexParameters): Properly handle write-only indexed properties.
89         Return a ParameterInfo object bound to the properly and not to the method.
90
91         * ParameterInfo.cs: Add new constructor that copies all fields but Member.
92
93         * ParameterInfo.cs (MetadataToken): Properly handle tokens of non-method members.
94
95 2010-01-31  Zoltan Varga  <vargaz@gmail.com>
96
97         * MonoGenericClass.cs: Fix a warning.
98
99 2010-01-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
100
101         * Assembly.cs: GetSatelliteAssembly: Ask LoadSatellite to not throw
102         exceptions, since we ignore them anyway.
103
104 2010-01-05 Rodrigo Kumpera  <rkumpera@novell.com>
105
106         * ParameterInfo.cs (DefaultProperty): Fix small typo.
107
108 2010-01-05 Rodrigo Kumpera  <rkumpera@novell.com>
109
110         * ParameterInfo.cs (DefaultProperty): Add support for DateTime defaults.
111
112         * ParameterInfo.cs: Implements RawDefaultProperty.
113
114 2009-12-17 Rodrigo Kumpera  <rkumpera@novell.com>
115
116         * MonoGenericClass.cs (GetMethods): When the GTD is not a typebuilder,
117         calling GetMethods on it will return everything we need so no need to
118         do the crazy loop.
119         The returned methods might contains some that are not from a generic type
120         so we need to guard against this as well.
121
122         * MonoGenericClass.cs (GetMethodsInternal): Guard against methods that don't
123         belong to a GTD as well.
124
125 2009-12-14 Rodrigo Kumpera  <rkumpera@novell.com>
126
127         * MonoGenericClass.cs: Remove IsByRef hack.
128
129 2009-12-14 Rodrigo Kumpera  <rkumpera@novell.com>
130
131         * MonoGenericClass.cs (format_name): Avoid calling AssemblyQualifiedName as mcs DynamicObject
132         doesn't implement it.
133
134 2009-12-12 Rodrigo Kumpera  <rkumpera@novell.com>
135
136         * MonoGenericClass.cs: Remove useless field.
137
138 2009-12-12 Rodrigo Kumpera  <rkumpera@novell.com>
139
140         * MonoGenericClass.cs: Change it to support a non-sre generic type
141         definition.
142
143 2009-12-10 Rodrigo Kumpera  <rkumpera@novell.com>
144
145         * MonoGenericClass.cs: Add new register_with_runtime icall to make
146         sure that a managed code instantiated MGC will be returned when
147         the generic instantiation happens in unmanaged code.
148         
149         This is a temporary workaround while Type::MakeGenericType doesn't
150         handle user types properly.
151
152 2009-12-10 Rodrigo Kumpera  <rkumpera@novell.com>
153
154         * MonoGenericClass.cs: Make this class inherit from Type instead of
155         MonoType. Implement some missing methods and make sure we can still
156         be used as a byref type.
157
158 2009-12-08 Rodrigo Kumpera  <rkumpera@novell.com>
159
160         * MonoMethod.cs (MakeGenericMethod): If any of the arguments is
161         a non system type, inflate to a MethodOnTypeBuilderInst.
162
163 2009-12-08 Rodrigo Kumpera  <rkumpera@novell.com>
164
165         * ParameterInfo.cs: Add constructor that takes an array of ParameterInfo
166         objects.
167
168 2009-12-08 Rodrigo Kumpera  <rkumpera@novell.com>
169
170         * MonoGenericClass.cs: Implement IsCompilerContext property and replace
171         all checks to use it.
172
173 2009-12-04 Rodrigo Kumpera  <rkumpera@novell.com>
174
175         * MonoGenericClass.cs (InflateType): Add a type argument parameter and
176         make this function static. Now it can inflate types using the context
177         of any type.
178
179 2009-12-02  Jb Evain  <jbevain@novell.com>
180
181         * Assembly.cs: disable warning about Assembly overriding
182         Equals but not GetHashCode. That's sadly how it's in .net.
183
184 2009-12-02  Jb Evain  <jbevain@novell.com>
185
186         * MethodInfo.cs: add an internal virtual GetBaseMethod
187         returning the immediate predecessor in the inheritance chain.
188         * MonoMethod.cs: modify the get_base_definition icall to take
189         a boolean indicating that we want the immediate base method
190         or the original method definition and rename it to
191         get_base_method. Implement GetBaseMethod with it.
192
193 2009-11-21  Miguel de Icaza  <miguel@novell.com>
194
195         * Assembly.cs: Implement missing method.
196
197 2009-11-03  Marek Habersack  <mhabersack@novell.com>
198
199         * Assembly.cs: GetSatelliteAssembly must catch
200         AppDomain.LoadSatellite FileNotFoundException and attempt to load
201         satellites from subdirectories of current assembly's
202         directory. Fixes bug #548768
203
204 2009-10-30  Sebastien Pouliot  <sebastien@ximian.com>
205
206         * MonoMethod.cs: Remove CAS check in MonoCMethod.Invoke (just 
207         like it was done for MonoMethod.Invoke sister method)
208
209 2009-10-26  Sebastien Pouliot  <sebastien@ximian.com>
210
211         * Assembly.cs: Share code between GetSatelliteAssembly and 
212         GetSatelliteAssemblyNoThrow. For Moonlight ensure both 
213         GetManifestResourceStream and GetSatelliteAssembly don't load
214         anything "below" the assembly path.
215
216 2009-10-20  Sebastien Pouliot  <sebastien@ximian.com>
217
218         * MonoProperty.cs: Reduce code duplication and the number of direct
219         calls to icalls (affecting the number of SecuritySafeCritical in
220         Moonlight)
221
222 2009-10-19  Sebastien Pouliot  <sebastien@ximian.com>
223
224         * MonoEvent.cs: Reduce code duplication and the number of direct
225         calls to icalls (affecting the number of SecuritySafeCritical in
226         Moonlight)
227
228 2009-10-18  Sebastien Pouliot  <sebastien@ximian.com>
229
230         * MethodBase.cs: Reduce code duplication and the number of direct
231         calls to icalls (affecting the number of SecuritySafeCritical in
232         Moonlight)
233
234 2009-10-17  Sebastien Pouliot  <sebastien@ximian.com>
235
236         * MonoMethod.cs: Reduce code duplication and the number of direct
237         calls to icalls (affecting the number of SecuritySafeCritical in
238         Moonlight)
239
240 2009-09-22  Sebastien Pouliot  <sebastien@ximian.com>
241
242         * Assembly.cs: Remove Evidence and GlobalAssemblyCache 
243         properties for NET_2_1
244
245 2009-09-19  Sebastien Pouliot  <sebastien@ximian.com>
246
247         * TargetException.cs, TargetInvocationException.cs,
248         TargetParameterCountException.cs: Inherit from Exception for 
249         NET_2_1 since ApplicationException does not exists
250
251 2009-09-18  Sebastien Pouliot  <sebastien@ximian.com>
252
253         * Assembly.cs, Module.cs: Avoid imperative CAS checks for NET_2_1
254
255 2009-08-18  Zoltan Varga  <vargaz@gmail.com>
256
257         * MonoGenericClass.cs: Use StringComparison.Ordinal when calling
258         String.EndsWith ().
259
260 2009-08-07 Rodrigo Kumpera  <rkumpera@novell.com>
261
262         * MonoGenericClass.cs: Implement almost all methods required
263         to move to inherit from System.Type. The only missing methods
264         are Is(Array|Pointer|ByRef)Impl and GetElementType since the
265         runtime still generates weird instances for generics instances
266         of non-SRE types with SRE types as generic arguments.
267
268 2009-08-06 Rodrigo Kumpera  <rkumpera@novell.com>
269
270         * MonoGenericClass.cs (InflateType): Add support to inflate
271         generic method arguments.
272
273         * MonoGenericClass.cs (GetMethod): Remove restriction
274         with generic methods.
275
276 2009-08-05 Rodrigo Kumpera  <rkumpera@novell.com>
277
278         * MonoGenericClass.cs (FullName): mcs depends that FullName
279         doesn't return null for instantiations over generic params
280         of type builders. We special case this under compiler context.
281
282 2009-08-05 Rodrigo Kumpera  <rkumpera@novell.com>
283
284         * MonoGenericClass.cs: Remove Is(Array|Pointer|ByRef)Impl
285         and GetElementType since the runtime still produces instances
286         of MonoGenericClass for those types.
287
288 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
289
290         * MonoGenericClass.cs: Implement more methods from MonoType.
291         Done with all type name related properties.
292
293 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
294
295         * MonoGenericClass.cs: Implement Is*Impl methods to simply
296         return false.
297
298 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
299
300         * MonoGenericClass.cs: Implement Make(Array,ByRef,Pointer) using the
301         new managed types.
302
303 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
304
305         * MonoGenericClass.cs (InflateType): Implement it in terms of managed
306         code and kill the corresponding icall.
307
308 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
309
310         * MonoGenericClass.cs: Add type_arguments field and constructor
311         that initializes it.
312
313 2009-08-03 Rodrigo Kumpera  <rkumpera@novell.com>
314
315         * MonoGenericClass.cs (initialize): Remember the number
316         of events available at initialization time. This is required as
317         mcs expect this behavior under compiler context that new events
318         are not returned for an instance that was inflated before.
319
320         * MonoGenericClass.cs: Kill GetEvents_internal and implement it
321         in terms of managed code.
322
323 2009-07-30  Zoltan Varga  <vargaz@gmail.com>
324
325         * FieldInfo.cs: Throw an exception if internal_from_handle_type ()
326         returns null. Fixes #525733.
327
328 2009-07-29 Rodrigo Kumpera  <rkumpera@novell.com>
329
330         * MonoGenericClass.cs (initialize): Call TypeBuilder::GetConstructorsInternal
331         since the public version throws.
332
333 2008-07-29  Marek Safar  <marek.safar@gmail.com>
334
335         * MonoGenericClass.cs: Removed one IsCompilerContext hack.
336
337 2009-07-27 Rodrigo Kumpera  <rkumpera@novell.com>
338
339         * Assembly.cs (GetType): Throw if name is empty.
340
341 2009-07-27 Rodrigo Kumpera  <rkumpera@novell.com>
342
343         * EventInfo (RemoveEventHandler): Throw InvalidOperationException if the
344         event remove method is not visible.
345
346 2009-07-27 Rodrigo Kumpera  <rkumpera@novell.com>
347
348         * EventInfo (AddEventHandler): Throw TargetException if target is not cast
349         compatible.
350
351         * EventInfo (AddEventHandler): Throw InvalidOperationException if the
352         event add method is not visible.
353
354         * EventInfo (AddEventHandler): Throw TargetException if source is null
355         and the event is not static.
356
357 2009-07-24 Rodrigo Kumpera  <rkumpera@novell.com>
358
359         * MonoGenericClass.cs (GetParentType): Implement using managed code.
360
361 2009-07-24 Rodrigo Kumpera  <rkumpera@novell.com>
362
363         * MonoGenericClass.cs: Make all icalls private. Kill GetInterfaces_internal.
364         Add a workaround for a GetField under compiler context.
365
366 2009-07-24 Rodrigo Kumpera  <rkumpera@novell.com>
367
368         * MonoGenericClass.cs (GetMethod): Use the new code always. Don't
369         accept MethodOnTypeBuilderInst under compiler context.
370
371         * MonoGenericClass.cs (GetField): Use the new code always.
372
373         * MonoGenericClass.cs: Make a bunch of methods raise NotSupportedException
374         when not under compiler context. Remove some dead code.
375
376 2009-07-23 Rodrigo Kumpera  <rkumpera@novell.com>
377
378         * MonoGenericClass.cs: Kill GetConstructors_internal and implement it
379         all in terms of managed code.
380
381         * MonoGenericClass.cs: Return instances of ConstructorOnTypeBuilderInst
382         under bootstrap profile.
383
384 2009-07-23 Rodrigo Kumpera  <rkumpera@novell.com>
385
386         * MonoGenericClass.cs: Kill GetFields_internal and implement it
387         all in terms of managed code.
388
389 2009-07-23 Rodrigo Kumpera  <rkumpera@novell.com>
390
391         * MonoGenericClass.cs: Kill GetMethods_internal and implement it
392         all in terms of managed code.
393
394 2009-07-22 Rodrigo Kumpera  <rkumpera@novell.com>
395
396         * MonoGenericClass.cs: Kill GetProperties_internal and implement it
397         all in terms of managed code.
398
399 2009-07-12  Gert Driesen  <drieseng@users.sourceforge.net>
400
401         * Binder.cs: Only allow a type to match its byref version for
402         BindToMethod (and not for SelectMethod).
403
404 2009-07-11  Zoltan Varga  <vargaz@gmail.com>
405
406         * Binder.cs: Allow conversion of IntPtr to pointer types.
407
408 2009-07-10  Zoltan Varga  <vargaz@gmail.com>
409
410         * Binder.cs (check_arguments): Allow a type to match its byref version.
411         Fixes #520690.
412
413 2009-06-12  Zoltan Varga  <vargaz@gmail.com>
414
415         * ParameterInfo.cs (DefaultValue): Add support for decimals, their default
416         value is encoded using a custom attribute.
417
418 2009-05-02  Sebastien Pouliot  <sebastien@ximian.com>
419
420         * Assembly.cs: Exclude CAS-specific code for NET_2_1
421
422 2009-04-30  Sebastien Pouliot  <sebastien@ximian.com>
423
424         * Module.cs: Exclude GetSignerCertificate (Authenticode related) 
425         from NET_2_1
426         * StrongNameKeyPair.cs: Adapt to work with only RSAManaged when 
427         built for NET_2_1, i.e. remove use of RSACryptoServiceProvider
428
429 2009-03-26  Zoltan Varga  <vargaz@gmail.com>
430
431         * MonoMethod.cs: Add a 'member' argument to the get_parameter_info () icall.
432
433 2009-03-03  Matthew Metnetsky  <matthew@cowarthill.com>
434
435         * MonoMethod.cs: within Invoke only change types if BindingFlags.ExactBinding isn't set
436
437         * MonoMethod.cs: within Invoke ensure arg types match ParameterInfo types before
438         calling InvokeInternal
439
440 2009-03-20  Sebastien Pouliot  <sebastien@ximian.com>
441
442         * EventInfo.cs, MonoProperty.cs: Ensure the delegate optimization 
443         works correctly, i.e. throw the right exception, with Moonlight.
444
445 2009-03-11  Zoltan Varga  <vargaz@gmail.com>
446
447         * Binder.cs: Allow conversions from T to T?. Fixes #484294.
448
449 2008-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
450
451         * EventInfo.cs: Apply similar trick to the one in MonoProperty to speed up
452         AddEventHandler.
453
454 2008-02-28  Rodrigo Kumpera  <rkumpera@novell.com>
455
456         * MonoProperty.cs (GetValue): Don't use the delegate optimization for valuetypes.
457
458 2008-02-26  Rodrigo Kumpera  <rkumpera@novell.com>
459
460         * MonoProperty.cs (GetValue): Optimize getters for properties without arguments.
461
462 2008-02-26  Rodrigo Kumpera  <rkumpera@novell.com>
463
464         * MonoProperty.cs (GetValue): Optimize getters for properties without arguments.
465         The optimization is to create a pair of chained delegates that duplicate the workings
466         on MethodBase::Invoke without all the aditional overhead and without doing two
467         managed/native transitions.
468
469         Simple Getter performance is up to 17x faster.
470
471         This patch reduces contention on domain and domain jit code hash locks, which
472         can be very hot on asp.net applications.
473
474 2008-02-21  Jb Evain  <jbevain@novell.com>
475
476         * Module.cs: add a new virtual GetModuleVersionId method,
477         and make the properties .MvId and ModuleVersionId call it.
478         This way, we can override it in ModuleBuilder.
479         Part of the fix for #471302.
480
481 2008-02-03  Rodrigo Kumpera  <rkumpera@novell.com>
482
483         * MonoMethod.cs: Fix the 1.1 build.
484
485 2008-02-02  Rodrigo Kumpera  <rkumpera@novell.com>
486
487         * MonoMethod.cs (ToString): Fix the representation of non primitive structs.
488
489 2008-02-02  Rodrigo Kumpera  <rkumpera@novell.com>
490
491         * MonoMethod.cs (ToString): Fix representation of pointer types.
492
493         Fixes #409583.
494
495 2009-01-24  Zoltan Varga  <vargaz@gmail.com>
496
497         * MonoGenericClass.cs: Fix warnings.
498
499 2009-01-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
500
501         * Assembly.cs: add new LoadSatelliteAssemblyNoThrow method and use the
502         new LoadSatellite() in AppDomain.
503
504 2009-01-09  Zoltan Varga  <vargaz@gmail.com>
505
506         * CustomAttributeData.cs (ToString): Applied patch from Leszek Ciesielski
507         <skolima@gmail.com>. Use DeclaringType.FullName instead of DeclaringType.Name.
508         Fixes #464830.
509
510 2008-11-17  Rodrigo Kumpera  <rkumpera@novell.com>
511
512         * MonoField.cs (GetValue): Don't check for open generic types if the field
513         is a constant.
514
515 2008-11-11  Rodrigo Kumpera  <rkumpera@novell.com>
516
517         * Module.cs (ResolveMethod): Use internal method 
518         GetMethodFromHandleNoGenericCheck to avoid the generic type
519         limitation of GetMethodFromHandle.
520
521         Fixes #443763.
522
523 2008-10-02 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
524
525         * MonoMethod.cs: throw a MemberAccessException when
526         trying to invoke a constructor creating an instance of an abstract
527         class. Return null when an instance of an object was passed as a
528         parameter when invoking a .ctor. Fixes bug #324185.
529
530 2008-09-07  Zoltan Varga  <vargaz@gmail.com>
531
532         * MonoField.cs: Add check to GetValue/SetValue () to avoid crashes when it is
533         called on fields of open types. Fixes #424077.
534
535 2008-08-12  Gert Driesen  <drieseng@users.sourceforge.net>
536
537         * ReflectionSerializationHolder.cs: Removed.
538         * common.src: Removed.
539
540 2008-08-04  Atsushi Enomoto  <atsushi@ximian.com>
541
542         * Assembly.cs : return UnmanagedMemoryStream from 
543           GetManifestResourceStream(). Fixed bug #322241.
544
545 2008-07-30  Rodrigo Kumpera  <rkumpera@novell.com>
546
547         * MonoGenericClass.cs (InflateType): Guard against null types.
548         Fixes #412965.
549
550 2008-07-23  Marek Safar  <marek.safar@gmail.com>
551
552         * MethodBase.cs (GetMethodFromHandle): Needed for bootraping.
553
554 2008-07-22  Rodrigo Kumpera  <rkumpera@novell.com>
555
556         * MonoGenericClass.cs (GetMethod): Under compiler mode allow
557         MethodOnTypeBuilderInst to be used..
558
559 2008-07-17  Rodrigo Kumpera  <rkumpera@novell.com>
560
561         * MonoGenericClass.cs (GetMethod): Revert to old code
562         path as the new one broke System.Core.
563
564 2008-07-16  Rodrigo Kumpera  <rkumpera@novell.com>
565
566         * MonoGenericClass.cs (GetMethod): Use the new codepath for compiler
567         context.
568
569         * MonoGenericClass.cs: New InflateType method, used to inflate
570         managed types.
571
572 2008-07-11  Marek Safar  <marek.safar@gmail.com>
573
574         * MonoGenericClass.cs (GetField): Put back removed code.
575
576 2008-07-04  Rodrigo Kumpera  <rkumpera@novell.com>
577
578         * MethodBase.cs (GetMethodFromHandle): Fix a warning in
579         the 1.0 build.
580
581 2008-07-04  Rodrigo Kumpera  <rkumpera@n ovell.com>
582
583         * MethodBase.cs (GetMethodFromHandle): Extract an internal version
584         of this function that doesn't perform the generic class check.
585         This method is required to fix the Delegate regression that fixing
586         #377324 caused.
587
588 2008-06-25  Rodrigo Kumpera  <rkumpera@n ovell.com>
589
590         * MethodBase.cs (GetMethodFromHandle): Check if the icall returns null
591         and fail. This is part of the fix for #377324.
592
593 2008-06-19  Marek Safar  <marek.safar@gmail.com>
594
595         * MonoGenericClass.cs (GetConstructor): Put back removed code due to obscure
596         System.Reflection.MonoGenericCMethod.
597
598 2008-06-19  Kornel Pal  <kornelpal@gmail.com>
599
600         * Module.cs: Add internal GetHINSTANCE.
601
602 2008-06-02  Ivan N. Zlatev  <contact@i-nz.net>
603
604         * Binder.cs, MonoGenericClass.cs: For property reflection we should 
605         strictly match the return type if available.
606
607 2008-05-16  Zoltan Varga  <vargaz@gmail.com>
608
609         * MonoGenericClass.cs (GetConstructor): Remove some old code, as the new code
610         seems to work fine.
611         (GetField): Ditto.
612
613 2008-05-05  Zoltan Varga  <vargaz@gmail.com>
614
615         * FieldInfo.cs (GetFieldFromHandle): Add an argument check for an invalid handle.
616
617         * MethodBase.cs (GetMethodFromHandle): Ditto. Fixes #386641.
618
619 2008-04-30  Gert Driesen  <drieseng@users.sourceforge.net>
620
621         * ParameterInfo.cs: Name must default to null if no ParameterBuilder
622         is supplied.
623
624 2008-04-22  Zoltan Varga  <vargaz@gmail.com>
625
626         * MonoGenericClass.cs (GetMethod): Construct a MethodOnTypeBuilderInst object
627         instead of using GetCorrespondingInflatedMethod. This is needed so this class can
628         reflect the changes made to the builder after initialize () has been called.
629         Fixes #381547 and #354759.
630         (GetConstructor): Ditto.
631
632 2008-04-16  Zoltan Varga  <vargaz@gmail.com>
633
634         * Binder.cs: Applied patch from Yves Bastide (doc.formatique@gmail.com). Add 
635         support for converting integers to enums. Fixes #380361.
636
637 ?2008-04-02  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
638
639         * IReflect.cs
640         * MethodInfo.cs: Fix parameter names
641
642 2008-03-31  Mark Probst  <mark.probst@gmail.com>
643
644         * MonoMethod.cs: Don't do CAS security checks in Invoke for 2.1
645         profile.
646
647 2008-03-25  Zoltan Varga  <vargaz@gmail.com>
648
649         * MonoCMethod.cs (Invoke): Avoid a crash if this is called on a ctor of an open
650         generic type. Fixes #373459.
651         
652         * MonoMethod.cs (InternalInvoke): Add an out 'exc' argument used to distinguish
653         exceptions thrown by the icall from the exceptions thrown by the wrapped method.
654         Fixes #373448.
655
656 2008-03-17  Marek Safar  <marek.safar@gmail.com>
657
658         * MonoMethod.cs (ToString): Print VarArgs argument.
659
660 2008-03-14  Zoltan Varga  <vargaz@gmail.com>
661
662         * MonoGenericClass.cs (GetField): Construct a FieldOnTypeBuilderInst object
663         instead of using GetCorrespondingInflatedField. This is needed so this class can
664         reflect the changes made to the type builder after initialize () has been called.
665
666         * Binder.cs (ChangeType): Add support for Char->Double/Single conversations. Fixes
667         #367655.
668
669 2008-03-10  Gert Driesen  <drieseng@users.sourceforge.net>
670
671         * Assembly.cs (GetFile): Fixed exception messages and param name.
672
673 2008-03-06  Zoltan Varga  <vargaz@gmail.com>
674
675         * Assembly.cs: Define GetManifestModule () for net 2.0 bootstrap as well.
676
677 2008-02-26  Ivan N. Zlatev  <contact@i-nz.net>
678
679         * MonoProperty.cs: MS ignores the inherit parameter and defaults to false
680         for GetCustomAttributes.
681         [Fixes bugs #324472 and #322464]
682
683 2008-02-20  Zoltan Varga  <vargaz@gmail.com>
684
685         * AssemblyName.cs (ReferenceMatchesDefinition): Add error checking and some 
686         simple cases required by ikvm.
687
688 2008-02-18  Zoltan Varga  <vargaz@gmail.com>
689
690         * CustomAttributeTypedArgument.cs (.ctor): Convert arrays into a collection of
691         CustomAttributeTypedArguments to match MS.
692
693 2008-02-10  Gert Driesen  <drieseng@users.sourceforge.net>
694
695         * Assembly.cs: Use icall for ToString/FullName. Fixes bug #318231.
696
697 2008-02-02  Gert Driesen  <drieseng@users.sourceforge.net>
698
699         * MonoMethod.cs (MakeGenericMethod): Modified argument name to match
700         MS. When one of the types is null, throw ArgumentNullException instead
701         of ArgumentException.
702         * MethodInfo.cs (MakeGenericMethod): Modified argument name to match
703         MS.
704
705 2008-01-29  Zoltan Varga  <vargaz@gmail.com>
706
707         * Assembly.cs: Make GetTypes () virtual so it can be overriden by AssemblyBuilder.
708         
709         * Assembly.cs: Make GetModulesInternal () virtual so it can be overriden by
710         AssemblyBuilder.
711
712 2008-01-22  Zoltan Varga  <vargaz@gmail.com>
713
714         * MonoGenericClass.cs: Make this NET 2.0 only.
715         
716         * MonoGenericClass.cs (Initialize): Simplify this a bit and add comments for this
717         class.
718
719 2008-01-20  Gert Driesen  <drieseng@users.sourceforge.net>
720
721         * AssemblyName.cs: Added support for Retargetable spec in FullName.
722
723 2008-01-17  Zoltan Varga  <vargaz@gmail.com>
724
725         * Assembly.cs AssemblyFlagsAttribute.cs ICustomAttributeProvider.cs
726         MemberInfo.cs FieldInfo.cs DefaultMemberAttribute.cs 
727         CustomAttributeNamedArgument.cs TargetException.cs MethodInfo.cs
728         IReflect.cs CustomAttributeTypedArgument.cs Module.cs: Change some parameter
729         names to match MS.
730
731 2008-01-15  Jb Evain  <jbevain@novell.com>
732
733         * MonoMethod.cs (MakeGenericMethod): check for null values
734         in the types arguments. Fixes #353849.
735
736 2008-01-06  Sebastien Pouliot  <sebastien@ximian.com>
737
738         * Assembly.cs: Fix typo in setter found with Gendarme (was used in a
739         single place, AppDomain, and set to true so it never caused a problem)
740
741 2008-01-04  Gert Driesen  <drieseng@users.sourceforge.net>
742
743         * AssemblyName.cs: Fixed default value for ProcessorArchitecture to
744         match MS. On 2.0 profile, return zero-length in FullName is no name
745         is set, and throw a SecurityException in FullName and GetPublicKeyToken
746         if a public key is set with no corresponding public key token. 
747         Fixed FullName to also include PublicKeyToken spec with "null" value
748         if public key is empty byte array. Fixed corlib part of bug #351057.
749         In SetPublicKey, modify Flags accordingly. On the 2.0 profile, verify
750         the public key when the public key token is computed.
751
752 2007-12-26  Zoltan Varga  <vargaz@gmail.com>
753
754         * Assembly.cs (GetSatelliteAssembly): Search in the assembly directory as well.
755         Fixes ##345627.
756
757 2007-12-03  Zoltan Varga  <vargaz@gmail.com>
758
759         * MonoField.cs: Implement GetRawConstantValue ().
760
761 2007-11-24  Marek Habersack  <mhabersack@novell.com>
762
763         * CustomAttributeTypedArgument.cs: value can be null in ToString.
764
765 2007-11-16  Zoltan Varga  <vargaz@gmail.com>
766
767         * Assembly.cs (GetFiles): Include the assembly itself as the first entry.
768
769 2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
770
771         * AssemblyName.cs : remove extraneous MonoTODO.
772
773 2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
774
775         * ExceptionHandlingClause.cs : implemented ToString().
776
777 2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
778
779         * MethodBase.cs : (Invoke) removed extra interface implementation.
780
781 2007-11-13  Atsushi Enomoto  <atsushi@ximian.com>
782
783         * StrongNameKeyPair.cs : implemented 2.0 runtime serialization stuff.
784
785 2007-11-05  Mark Probst  <mark.probst@gmail.com>
786
787         * Binder.cs: Treat matches with different argument types as
788         ambiguous, too.  Fixes #324998.
789
790 2007-11-01  Zoltan Varga  <vargaz@gmail.com>
791
792         * Binder.cs: Avoid returning a method with a ParamArray attribute when a normal
793         method exists. Fixes #338266.
794
795 2007-10-30  Zoltan Varga  <vargaz@gmail.com>
796
797         * Binder.cs: Applied patch from Mario A Chavez <mario.chavez@gmail.com>. Add
798         support for binding to methods with ParamArray attribute. Fixes #336841.
799
800 2007-10-27  Zoltan Varga  <vargaz@gmail.com>
801
802         * MonoGenericClass.cs: Override GetPropertyImpl too.
803
804 2007-10-24  Atsushi Enomoto  <atsushi@ximian.com>
805
806         * Assembly.cs : include ReflectionOnlyLoad() as part of 2.0
807           bootstrap build.
808
809 2007-09-23  Zoltan Varga  <vargaz@gmail.com>
810
811         * Assembly.cs (GetManifestModule): New virtual method overridden by 
812         AssemblyBuilder.
813
814 2007-09-17  Gert Driesen  <drieseng@users.sourceforge.net>
815
816         * Assembly.cs: In GetManifestResourceStream, throw ANE with type as
817         paramname when both name and type are null. Use String.Length to check
818         for zero-length string.
819
820 2007-09-11  Mark Probst  <mark.probst@gmail.com>
821
822         * MonoMethod.cs: Catch and re-throw MethodAccessException from
823         InternalInvoke for CoreCLR security.
824
825 Thu Sep 6 19:49:34 CEST 2007 Paolo Molaro <lupus@ximian.com>
826
827         * MonoMethod.cs: name is used as a cache: provide an icall to get the
828         name from the runtime.
829
830 2007-08-23  Robert Jordan  <robertj@gmx.net>
831
832         * MemberInfoSerializationHolder.cs: created from
833         ReflectionSerializationHolder to match MS (fixes bug #80761).
834         Add support for fields, events, properties and generic methods.
835
836         * MonoMethod.cs (GetObjectData): handle generic arguments.
837
838         * MonoGenericMethod.cs: mark as [Serializable].
839
840         * MonoProperty.cs (GetObjectData): implemented.
841
842         * MonoField.cs: ditto.
843
844         * MonoEvent.cs: ditto.
845
846 2007-07-19  Atsushi Enomoto  <atsushi@ximian.com>
847
848         * MonoMethod.cs : parameter types should be fixed as well.
849
850 2007-07-19  Atsushi Enomoto  <atsushi@ximian.com>
851
852         * MonoMethod.cs : ToString() did not show correct return type when
853           it is generic.
854
855 2007-07-15  Zoltan Varga  <vargaz@gmail.com>
856
857         * FieldInfo.cs: Implement GetOptional/RequiredCustomModifiers ().
858
859         * MethodInfo.cs: Remove an unneccesary MonoTODO.
860
861         * Module.cs: Implement ResolveSignature.
862
863 2007-07-14  Zoltan Varga  <vargaz@gmail.com>
864
865         * Module.cs: Implement the generic versions of the ResolveXXX methods.
866
867 2007-07-10  Zoltan Varga  <vargaz@gmail.com>
868
869         * Module.cs: Add new internal method GetMDStreamVersion ().
870
871 2007-07-09  Atsushi Enomoto  <atsushi@ximian.com>
872
873         * CustomAttributeNamedArgument.cs, CustomAttributeTypedArgument.cs:
874           added missing operator == and !=.
875
876 2007-07-04  Atsushi Enomoto  <atsushi@ximian.com>
877
878         * CustomAttributeNamedArgument.cs CustomAttributeTypedArgument.cs
879           CustomAttributeData.cs : implemented Equals() and GetHashCode().
880         * Missing.cs : ISerializable.
881         * AssemblyName.cs : ReferenceMatchesDefinition() stub.
882         * Module.cs : missing method stubs with generic type/method args.
883         * ExceptionHandlingClause.cs : ToString() stub.
884         * MethodBase.cs TypeDelegator.cs ModuleResolveEventHandler.cs
885           TypeFilter.cs MemberFilter.cs
886           FieldInfo.cs ParameterInfo.cs MethodInfo.cs :
887           miscellaneous cosmetic API fixes.
888
889 Tue May 8 13:04:35 CEST 2007 Paolo Molaro <lupus@ximian.com>
890
891         * FieldInfo.cs, MethodBase.cs: implemented new GetFieldFromHandle and
892         GetMethodFromHandle overloads (bug #78637).
893
894 2007-05-07  Zoltan Varga  <vargaz@gmail.com>
895
896         * MonoMethod.cs (Invoke): Fix a warning.
897         
898         * MonoMethod.cs (Invoke): Don't wrap ThreadAbortException inside a 
899         TargetInvocationException on the 2.0 profile. Fixes #81538.
900
901 2007-04-09  Alp Toker  <alp@atoker.com>
902
903         * MonoMethod.cs: Use StringBuilder for the entire ToString() methods
904         to reduce allocations and increase performance.
905
906 2007-04-09  Alp Toker  <alp@atoker.com>
907
908         * MonoMethod.cs: Use StringBuilder for parms in ToString() methods.
909
910 2007-04-09  Alp Toker  <alp@atoker.com>
911
912         * MethodBase.cs: IsGenericMethodDefinition() and IsGenericMethod()
913         should return false, not throw NotSupportedException. This matches MS
914         behaviour and introduces simplifications in subclasses.
915         * MonoMethod.cs: MonoCMethod: Remove redundant overrides.
916
917 2007-03-05  Peter Dettman <peter.dettman@iinet.net.au>
918
919         * Binder.cs: The patch changes Binder.Default.GetBetterMethod to
920         prefer methods in subclasses if the arg types can't disambiguate
921         them.
922
923         Also fixes a typo in the CallingConventions comparison.
924
925 2007-03-01  Alp Toker  <alp@atoker.com>
926
927         * FieldInfo.cs:
928         Add GetFieldFromHandle() 2.0 overload stub (NotImplemented).
929
930 2007-03-01  Alp Toker  <alp@atoker.com>
931
932         * MethodBase.cs: Add missing ComVisible attr.
933         Add GetMethodFromHandle() 2.0 overload stub (NotImplemented).
934
935 2006-12-30  Marek Safar  <marek.safar@gmail.com>
936
937         * MonoProperty.cs: Cache frequently used properties.
938
939 Thu Dec 14 13:50:48 CET 2006 Paolo Molaro <lupus@ximian.com>
940
941         * *.cs: added missing Serializable attributes.
942
943 Thu Dec 14 12:52:27 CET 2006 Paolo Molaro <lupus@ximian.com>
944
945         * MonoProperty.cs, ParameterInfo.cs, PropertyInfo.cs:
946         GetRequiredCustomModifiers()/GetOptionalCustomModifiers()
947         implementations.
948
949 Tue Dec 12 20:35:10 CET 2006 Paolo Molaro <lupus@ximian.com>
950
951         * MethodBase.cs: added missing ComVisible attr.
952         * MethodInfo.cs: added a few missing methods that we implement
953         in derived classes.
954
955 Tue Dec 12 19:45:26 CET 2006 Paolo Molaro <lupus@ximian.com>
956
957         * MonoEvent.cs: correctly obey the nonPublic flag in GetOtherMethods ().
958         * EventInfo.cs: remove NotImpl exception from GetOtherMethods ().
959
960 2006-10-19  Gert Driesen  <drieseng@users.sourceforge.net>
961
962         * AssemblyName.cs: Revert change where filename was not converted to
963         absolute path before passing it to Assembly.InternalGetAssemblyName
964         as the CodeBase is not set in that case.
965
966 2006-10-17  Kornel Pal  <kornelpal@gmail.com>
967
968         * FieldInfo.cs: Added GetRawConstantValue (). Note that throwing a
969           NotSupportedException is the proper implementation.
970         * ParameterInfo.cs: Use Attributes in Is... properties on profile 2.0
971           that is expected by subclasses.
972
973 2006-10-14  Gert Driesen  <drieseng@users.sourceforge.net>
974
975         * AssemblyName.cs: No need to convert filename to absolute path before
976         passing it to Assembly.InternalGetAssemblyName. This allows our
977         exception messages to be better match those of MS.
978
979 2006-09-29  Jb Evain  <jbevain@gmail.com>
980
981         * MonoFieldInfo.cs: throw a FieldAccessException when setting a literal field.
982
983 2006-09-02  Zoltan Varga  <vargaz@gmail.com>
984
985         * ParameterInfo.cs MethodInfo.cs MonoMethod.cs: Applied patch from 
986         Peter Dettman (peter.dettman@iinet.net.au). Implement ReturnParameter
987         property.
988
989         * Binder.cs (ReorderParameters): Really fix this.
990         
991         * Binder.cs (ReorderParameters): Fix this method. Fixes #79120.
992
993 2006-09-01  Raja R Harinath  <rharinath@novell.com>
994
995         * MonoMethod.cs (ToString): Update to handle change in byref type names.
996
997 2006-08-08  Gert Driesen  <drieseng@users.sourceforge.net>
998
999         * Assembly.cs: On 2.0 profile, throw FileNotFoundException for
1000         linked resources in GetManifestResourceStream when assembly is
1001         loaded from byte array.
1002
1003 2006-07-12  Zoltan Varga  <vargaz@gmail.com>
1004
1005         * MonoMethod.cs (ContainsGenericParameters): Implement.
1006         
1007         * MonoMethod.cs (Invoke): Prevent invoking of open generic methods.
1008
1009 2006-07-09  Gert Driesen  <drieseng@users.sourceforge.net>
1010
1011         * Assembly.cs: When assembly is loaded from byte array, return null
1012         for linked resources in GetManifestResourceStream. Fixes bug #78468.
1013
1014 2006-07-09  Zoltan Varga  <vargaz@gmail.com>
1015
1016         * Binder.cs: Add back the support for BindingFlags.ExactBinding. Fixes #78592.
1017
1018 2006-06-30  Zoltan Varga  <vargaz@gmail.com>
1019
1020         * Binder.cs: Comment out the ExactBinding stuff for the release as it breaks some 
1021         gtk# apps.
1022
1023 2006-06-07  Zoltan Varga  <vargaz@gmail.com>
1024
1025         * Binder.cs: Add support for BindingFlags.ExactBinding. Fixes #78592.
1026
1027 2006-05-28  Gert Driesen  <drieseng@users.sourceforge.net>
1028
1029         * MethodBase.cs: GetMethodBody should not throw ArgumentException for
1030         a method with no IL body. Fixes bug #78522.
1031
1032 2006-05-10  Zoltan Varga  <vargaz@gmail.com>
1033
1034         * Module.cs (GetMethod): Update after the changes to Type.GetMethod ().
1035
1036 2006-05-08  Atsushi Enomoto  <atsushi@ximian.com>
1037
1038         * Binder.cs : (Default.SelectMethod)
1039           don't throw AmbiguousMatchException when one of conflicting method
1040           matches weakly. Fixed bug #42547.
1041
1042 2006-05-08  Atsushi Enomoto  <atsushi@ximian.com>
1043
1044         * Binder.cs : (Default.BindToMethod) reorder parameters based
1045           on namedParameters. Fixed bug #41691.
1046
1047 2006-05-03  Jb Evain  <jbevain@gmail.com>
1048
1049         * MonoField.cs (GetValue,SetValue): throw a TargetException
1050         when the field is non static and the target is null.
1051
1052 2006-03-12  Zoltan Varga  <vargaz@gmail.com>
1053
1054         * Binder.cs: Applied patch from Ben to fix #74947.
1055
1056 2006-03-01  Miguel de Icaza  <miguel@novell.com>
1057
1058         * Assembly.cs: Cache the AssemblyName, patch from Tambet.  This
1059         reduces the memory usage during remoting.
1060
1061 2006-02-16  Martin Baulig  <martin@ximian.com>
1062
1063         * FieldInfo.cs (FieldInfo.Mono_GetGenericFieldDefinition): Removed.
1064
1065 2006-02-15  Martin Baulig  <martin@ximian.com>
1066
1067         * MethodBase.cs (MethodBase.GetGenericMethodDefinition): Removed.
1068         (MethodBase.Mono_IsInflatedMethod): Removed.
1069         (MethodBase.HasGenericParameters): Removed.
1070
1071         * MethodInfo.cs (MethodInfo.GetGenericMethodDefinition): Moved
1072         here from MethodBase.
1073
1074         * MonoMethod.cs
1075         (MonoMethod.IsGenericMethodDefinition): This is now an icall.
1076         (MonoMethod.IsGenericMethod): Likewise.
1077
1078 2006-02-14  Martin Baulig  <martin@ximian.com>
1079
1080         * MonoMethod.cs
1081         (MonoCMethod.IsGenericMethod): Override this and return false; the
1082         MS runtime doesn't throw an exception here.
1083
1084 2006-02-08  Martin Baulig  <martin@ximian.com>
1085
1086         * MonoGenericClass.cs (MonoGenericClass.IsAssignableFrom):
1087         Override and implement this; fixes #77395.      
1088
1089 2006-02-07  Martin Baulig  <martin@ximian.com>
1090
1091         * MonoMethod.cs
1092         (MonoMethod.IsGenericMethod): Only return true for "real" generic
1093         methods and not for arbitrary instantiated methods.
1094         (MonoMethod.IsGenericMethodDefinition): Only return true for
1095         generic method definitions, but not for instantiated generic
1096         methods.  This is no longer an interncall.  Fixes #77466.
1097
1098 2006-02-03  Zoltan Varga  <vargaz@gmail.com>
1099
1100         * MethodBase.cs MonoMethod.cs: Implement IsGenericMethod property.
1101         Fixes #77460.
1102
1103 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com>
1104
1105         * Assembly.cs: Fixed #75950. The icall has been changed to accept a 
1106         boolean so it can return a non-escaped code base.
1107
1108 2005-11-16  Atsushi Enomoto  <atsushi@ximian.com>
1109
1110         * MonoMethod.cs : made MakeGenericMethod() indirect icall to
1111           MakeGenericMethod_impl() and raise an error when it returns null.
1112
1113 2005-11-15  Zoltan Varga  <vargaz@gmail.com>
1114
1115         * Module.cs: Add MDStreamVersion property.
1116
1117         * Assembly.cs AssemblyNameFlags.cs FieldInfo.cs PropertyInfo.cs 
1118         CustomAttributeData.cs PortableExecutableKinds.cs 
1119         ObfuscateAssemblyAttribute.cs Module.cs ObfuscationAttribute.cs: Net 2.0 RTM
1120         updates.
1121
1122 2005-11-11  Marek Safar  <marek.safar@seznam.cz>
1123
1124         * MethodBase.cs, TypeDelegator.cs: Reflect Type changes.
1125
1126 2005-10-30  Zoltan Varga  <vargaz@freemail.hu>
1127
1128         * FieldInfo.cs: Add an internal UMarshal property which can by
1129         overriden in FieldBuilder.
1130
1131 2005-10-26  Atsushi Enomoto  <atsushi@ximian.com>
1132
1133         * MonoMethod.cs : (ToString) add suffix " ByRef" for byref parameters.
1134           Fixed bug #76541.
1135
1136 2005-10-04  Martin Baulig  <martin@ximian.com>
1137
1138         * MonoGenericClass.cs (MonoGenericClass.GetParentType): Changed
1139         return type from `MonoGenericClass to `Type'.
1140
1141 2005-09-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1142
1143         * AssemblyName.cs: Add ParseName internal call, to parse
1144         long format assembly names. 
1145         
1146 2005-09-25  Sebastien Pouliot  <sebastien@ximian.com>
1147
1148         * MonoProperty.cs: Invoke throws a SecurityException but GetValue must
1149         throw TargetInvocationException with the SecurityException as an inner
1150         exception. See CAS unit tests for System.Web.dll.
1151
1152 2005-09-20  Martin Baulig  <martin@ximian.com>
1153
1154         * Assembly.cs: Removed some unused debugger icalls.
1155
1156 2005-09-17  Zoltan Varga  <vargaz@freemail.hu>
1157
1158         * Module.cs: Remove obsolete Mvid property.
1159
1160 2005-09-09  Martin Baulig  <martin@ximian.com>
1161
1162         Reflect latest API changes in the August CTP.
1163
1164         * MethodBase.cs (MethodBase.MakeGenericMethod): Removed.
1165
1166         * MethodInfo.cs (MethodInfo.MakeGenericMethod): Added here.
1167
1168 2005-09-08  Sebastien Pouliot  <sebastien@ximian.com>
1169
1170         * AssemblyName.cs: Apply second half of Chris Micacchi's patch
1171
1172 2005-09-07  Miguel de Icaza  <miguel@novell.com>
1173
1174         * AssemblyName.cs: Apply patch from Chris Micacchi to serialize
1175         the keyToken as "_PublicKeyToken".
1176
1177 2005-09-05  Martin Baulig  <martin@ximian.com>
1178
1179         Reflect latest API changes in the August CTP.
1180
1181         * GenericParameterAttributes.cs: Here.
1182
1183         * MethodBase.cs (MethodBase.BindGenericParameters): Renamed to
1184         MakeGenericMethod().    
1185
1186 2005-09-05  Martin Baulig  <martin@ximian.com>
1187
1188         * Assembly.cs (MonoDebugger_GetMethodToken): Don't take an
1189         `Assembly' argument.
1190
1191 2005-08-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1192
1193         * Assembly.cs: made GetManifestResourceInternal internal. Fixes the
1194         build.
1195
1196 2005-08-05  Gert Driesen <drieseng@users.sourceforge.net>
1197
1198         * Assembly.cs: Added GetType() method in 1.1 to match MS.NET.
1199         * ConstructorInfo.cs: Added GetType() method in 1.1 to match
1200         MS.NET, implemented _ConstructorInfo.
1201         * EventInfo.cs: Added GetType() method in 1.1 to match MS.NET,
1202         implemented _EventInfo.
1203         * FieldInfo.cs: Added GetType() method in 1.1 to match MS.NET,
1204         implemented _FieldInfo.
1205         * MemberInfo.cs: Added GetType() method in 1.1 to match MS.NET,
1206         implemented _MemberInfo.
1207         * MethodBase.cs: Added GetType() method in 1.1 to match MS.NET,
1208         implemented _MethodBase.
1209         * MethodInfo.cs: Added GetType() method in 1.1 to match MS.NET,
1210         implemented _MethodInfo.
1211         * PropertyInfo.cs: Added GetType() method in 1.1 to match MS.NET,
1212         implemented _PropertyInfo.
1213         * TypeAttributes.cs: CustomFormatMask and CustomFormatClass should
1214         only be exposed in 2.0 profile.
1215
1216 2005-07-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1217
1218         * CustomAttributeTypedArgument: Return the name of the
1219         enum if the type is an enum in ToString ().
1220         
1221 2005-06-21  Sebastien Pouliot  <sebastien@ximian.com>
1222
1223         * Assembly.cs: Create a copy of the evidences and add an instance of 
1224         PermissionRequestEvidence to it before resolution. This way the PRE
1225         won't be present when asking for evidences later. Removed debugging 
1226         code.
1227
1228 2005-06-13  Michal Moskal <malekith@nemerle.org>
1229         
1230         * MonoGenericClass.cs: Don't use MethodHandle in GetMethod/GetConstructor,
1231         since it now throws on MethodBuilders. Don't use FieldHandle in
1232         GetField (throws on FieldBuilder) - just use the name.
1233
1234 2005-06-15  Sebastien Pouliot  <sebastien@ximian.com>
1235
1236         * Assembly.cs, AssemblyName.cs, ConstructorInfo.cs, EventInfo.cs,
1237         FieldInfo.cs, MemberInfo.cs, MethodBase.cs, MethodInfo.cs, Module.cs,
1238         ParameterInfo.cs, PropertyInfo.cs: Added some missing interfaces and
1239         attributes that were added in 1.1 SP1 or 2.0 beta2.
1240
1241 2005-06-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1242
1243         * Binder.cs: null is ok for a value type. Fixes bug #75241.
1244
1245 2005-06-14  Sebastien Pouliot  <sebastien@ximian.com>
1246
1247         * Assembly.cs: UnprotectedGetName is now virtual to allow for more
1248         initialization in AssemblyBuilder. The [Granted|Refused]PermissionSet
1249         now use the ResolvingPolicyLevel to support the policy 
1250         FullTrustAssemblies during resolution.
1251         * AssemblyName.cs: Return null instead of "new byte [0]" if no public
1252         key is available.
1253
1254 2005-06-09  Kamil Skalski <nazgul@nemerle.org>
1255         * MonoGenericClass.cs: Add overrides of Get{Method,Constructor,Field} 
1256         for obtaining instanciated *Info objects from non-instanciated counterparts
1257
1258
1259 2005-06-09  Zoltan Varga  <vargaz@freemail.hu>
1260
1261         * CustomAttributeData.cs EventInfo.cs Assembly.cs: Updates for net 2.0 beta 2.
1262
1263         * *.cs: Updates for net 2.0 beta 2.
1264
1265 2005-06-07  Zoltan Varga  <vargaz@freemail.hu>
1266
1267         * *.cs: Updates for net 2.0 beta 2.
1268
1269 2005-06-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1270
1271         * CustomAttributeData.cs: Implemented.
1272
1273         * CustomAttributeDataNamedArgument.cs: Implemented.
1274
1275         * CustomAttrbuteDataTypedArgument.cs: Implemented.
1276         
1277 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
1278
1279         * Assembly.cs ExceptionHandlingClause.cs: Fix build.
1280
1281         * ProcessorArchitecture.cs: New file.
1282
1283         * ExceptionHandlingClause.cs: Update after ExceptionHandlingClauseFlags name change.
1284
1285         * *.cs: Updates for net 2.0 beta 2.
1286
1287         * *.cs: Add net 2.0 ComVisibleAttribute.
1288
1289 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1290
1291         * Assembly.cs: if the assembly is loaded from a byte array, Location
1292         returns "". Fixes bug #74958.
1293
1294 2005-06-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1295
1296         * AssemblyName.cs: Changes to support the creation of version
1297         instance from icalls. This change also helps to keep the
1298         AssemblyName tests running fine.
1299         
1300 2005-05-26  Ben Maurer  <bmaurer@ximian.com>
1301
1302         * Binder.cs: Avoid double checked locking and lock on typeof by
1303         doing init of the default binder in the cctor.
1304
1305 2005-05-25  Zoltan Varga  <vargaz@freemail.hu>
1306
1307         * Assembly.cs: Avoid security checks if Assembly.Location is "".
1308
1309 2005-05-20  Zoltan Varga  <vargaz@freemail.hu>
1310
1311         * TypeDelegator.cs: Implement some methods.
1312         
1313         * TypeDelegator.cs: Revert this as it breaks the build.
1314
1315         * TypeDelegator.cs: Implement some methods.
1316
1317 2005-05-19  Satya Sudha K  <ksathyasudha@novell.com>
1318             Raja R Harinath  <rharinath@novell.com>
1319
1320         * Missing.cs (Missing.Value): Initialize.
1321
1322 2005-05-17  Lluis Sanchez Gual  <lluis@novell.com>
1323
1324         * Binder.cs: Use IsInstanceOfType instead of IsAssignableFrom
1325         since GetType() may not return the correct type if the object is
1326         a remoting proxy. This fixes bug #74933.
1327
1328 2005-05-13  Zoltan Varga  <vargaz@freemail.hu>
1329
1330         * MonoField.cs: Applied patch from Opened by Michael Meeks (michael@ximian.com). Improve exception message on binding failures.
1331
1332 2005-05-09  Lluis Sanchez Gual  <lluis@novell.com>
1333
1334         * MonoField.cs: Added a Clone method. This is needed for serialization.
1335
1336 2005-05-07  Ben Maurer  <bmaurer@ximian.com>
1337
1338         * MonoEvent.cs (Get*Method): Handle nonPublic. Fixes #64191.
1339
1340 2005-05-06  Zoltan Varga  <vargaz@freemail.hu>
1341
1342         * Module.cs: Update for beta 2.
1343
1344         * CustomAttributeData.cs MethodBody.cs: Remove CLSCompliant (false) attributes.
1345
1346 2004-05-03  Lluis Sanchez  <lluis@ximian.com>
1347
1348         * Assembly.cs: Don't remove version and culture information from
1349         the name, since it will be used by load_with_partial_name.
1350
1351 2005-04-14  Sebastien Pouliot  <sebastien@ximian.com>
1352
1353         * Assembly.cs: Added some CAS security to avoid returning restricted
1354         information to partially truster callers (e.g. code base). Added new
1355         methods to get the Evidence and AssemblyName so that the security
1356         runtime can bootstrap itself (without calling itself).
1357
1358 2005-04-14  Sebastien Pouliot  <sebastien@ximian.com>
1359
1360         * Assembly.cs: Added missing null check in GetObjectData.
1361
1362 2005-04-04  Sebastien Pouliot  <sebastien@ximian.com>
1363
1364         * AssemblyName.cs: Added a demand for SerializationFormatter on
1365         GetObjectData method.
1366
1367 2005-04-04  Sebastien Pouliot  <sebastien@ximian.com> 
1368  
1369         * AssemblyName.cs: Implemented EscapedCodeBase using the copy of 
1370         System.Uri (System.dll) located in Mono.Security.Uri. Added missing
1371         null check in GetObjectData.
1372         * Module.cs: Added a FileIOPermission for PathDiscovery on 
1373         FullyQualifiedName property (but not on Name property like MS).
1374         Added missing null check in GetObjectData.
1375         * StrongNameKeyPair.cs: Added demands for unmanaged code to all
1376         constructors (as we do not want partially trusted code to create
1377         strongnamed assemblies).
1378
1379 2005-03-30  Zoltan Varga  <vargaz@freemail.hu>
1380
1381         * Binder.cs (check_type): Fix byref support. Fixes #73972.
1382
1383 2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
1384
1385         * MemberInfo.cs: Add an InheritanceDemand for Unrestricted on class.
1386         * Module.cs: Add a LinkDemand for SerializationFormatter on 
1387         GetObjectData method.
1388
1389 2005-03-16  Sebastien Pouliot  <sebastien@ximian.com>
1390
1391         * Assembly.cs: Implemented EscapedCodeBase using the copy of 
1392         System.Uri (System.dll) located in Mono.Security.Uri. Fix bug #73663.
1393
1394 2005-03-11  Sebastien Pouliot  <sebastien@ximian.com>
1395
1396         * MonoMethod.cs: Promote a LinkDemand (if present) to a full Demand 
1397         (i.e. stack walk) when reflection is being used to invoke a method.
1398
1399 2005-02-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1400
1401         * Assembly.cs: LoadFrom: Change signature to support reflection only
1402         methods; ReflectionOnlyLoad, ReflectionOnlyLoadFrom 2.0 methods
1403         implemented; InvalidOperationException's re-thrown by CreateInstance.
1404         Also ReflectionOnly 2.0 property added.
1405
1406         * MonoMethod.cs: InvalidOperationException's are re-thrown when calling 
1407         Invoke method on reflection only assemblies.
1408         
1409 2005-02-22  Raja R Harinath  <rharinath@novell.com>
1410
1411         * FieldInfo.cs (GetFieldOffset): Make 'virtual' rather than
1412         'abstract' so that this class can be derived outside of corlib.
1413
1414 2005-02-16  Miguel de Icaza  <miguel@novell.com>
1415
1416         * MonoEvent.cs: Put new methods here.
1417
1418         * EventInfo.cs: Move the methods GetCustomAttributes, and
1419         IsDefined from EventInfo to MonoEvent.
1420
1421         Remove the methods that were not supposed to be exposed: Name,
1422         ReflectedType, DeclaringType.
1423
1424 2005-02-12  Chris Toshok  <toshok@ximian.com>
1425
1426         * Assembly.cs: Correct the type of MonoDebugger_MakeArrayType.
1427
1428 2005-02-12  Ben Maurer  <bmaurer@ximian.com>
1429
1430         * Binder.cs (SelectProperty): Use -1 as the dummy `I don't know
1431         how many types' value.
1432
1433 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
1434
1435         * Assembly.cs: Fix warning.
1436
1437 2005-02-10  Martin Baulig  <martin@ximian.com>
1438
1439         * Module.cs (MonoDebugger_ResolveType): New internal method.
1440
1441         * Assembly.cs (MonoDebugger_MakeArrayType): New internal method.
1442         (MonoDebugger_GetTypeToken): New internal method.
1443
1444 2005-02-10  Martin Baulig  <martin@ximian.com>
1445
1446         * Assembly.cs (MonoDebugger_GetMethodIndex): New internal method.
1447
1448 2005-02-10  Marek Safar  <marek.safar@seznam.cz>
1449
1450         * Assembly.cs,
1451         * ConstructorInfo.cs,
1452         * EventInfo.cs,
1453         * FieldInfo.cs,
1454         * MemberInfo.cs,
1455         * MethodBase.cs,
1456         * MethodInfo.cs,
1457         * PropertyInfo.cs: ClassInterfaceType is None.
1458
1459 Thu Feb 3 15:22:55 CET 2005 Paolo Molaro <lupus@ximian.com>
1460
1461         * Module.cs: removed the finalizer and the now unused Close() icall.
1462
1463 2005-01-21  Sebastien Pouliot  <sebastien@ximian.com>
1464
1465         * Assembly.cs: Fixed add for ModuleResolve.
1466
1467 2005-01-19  Zoltan Varga  <vargaz@freemail.hu>
1468
1469         * LocalVariableInfo.cs: Add ToString method.
1470
1471         * ExceptionHandlingClause.cs: Implement this.
1472
1473 2005-01-18  Zoltan Varga  <vargaz@freemail.hu>
1474
1475         * MethodBase.cs MonoMethod.cs: Hopefully fix the build.
1476
1477         * MethodBase.cs MonoMethod.cs: Implement 2.0 GetMethodBody ().
1478
1479 2005-01-03  Martin Baulig  <martin@ximian.com>
1480
1481         * MonoGenericMethod.cs
1482         (MonoGenericMethod.get_reflected_type): Removed.
1483         (MonoGenericMethod.ReflectedType): Make this an icall.
1484         (MonoGenericCMethod.ReflectedType): Likewise.   
1485
1486 2004-12-29  Martin Baulig  <martin@ximian.com>
1487
1488         * MonoGenericMethod.cs: New file.
1489
1490 2004-12-21  Sebastien Pouliot  <sebastien@ximian.com> 
1491
1492         * Assembly.cs: Added private LoadAssemblyPermissions to get the 
1493         declarative security permission sets (minimum, optional and refused)
1494         for the assembly.
1495
1496 2004-12-20  Sebastien Pouliot  <sebastien@ximian.com>
1497
1498         * Assembly.cs: Removed old Demand support (moved in System.Security).
1499
1500 2004-12-16  Zoltan Varga  <vargaz@freemail.hu>
1501
1502         * CustomAttributeData.cs MethodBody.cs: Reenable some 2.0 code now that
1503         the gmcs bugs blocking them are fixed.
1504
1505 2004-12-08  Zoltan Varga  <vargaz@freemail.hu>
1506
1507         * Assembly.cs: Move corlib_internal field to AssemblyBuilder.
1508
1509 2004-12-06  Zoltan Varga  <vargaz@freemail.hu>
1510
1511         * Assembly.cs: Add corlib_internal field.
1512
1513 2004-11-30  Martin Baulig  <martin@ximian.com>
1514
1515         * MonoGenericInst.cs: Renamed to MonoGenericClass.cs and also
1516         renamed the class from `MonoGenericInst' to `MonoGenericClass'.
1517
1518 2004-11-05  Zoltan Varga  <vargaz@freemail.hu>
1519
1520         * AssemblyName.cs (FullName): Omit default values from full name.
1521
1522         * Assembly.cs: Implement GetFiles (bool).
1523
1524         * Binder.cs: Add support for byref types. Fixes #69140.
1525
1526 2004-10-12  Martin Baulig  <martin@ximian.com>
1527
1528         * MonoGenericInst.cs (MonoGenericInst): Call initialize() just
1529         before calling the *_internal() methods.
1530
1531 2004-10-12  Zoltan Varga  <vargaz@freemail.hu>
1532
1533         * MethodBody.cs: Implement this.
1534
1535 2004-10-08  Zoltan Varga  <vargaz@freemail.hu>
1536
1537         * Module.cs: Handle the case when the global type does not exists.
1538
1539 2004-10-03  Zoltan Varga  <vargaz@freemail.hu>
1540
1541         * LocalVariableInfo.cs: Reorganize fields so LocalBuilder can inherit
1542         from this class.
1543
1544 2004-09-28  Zoltan Varga  <vargaz@freemail.hu>
1545
1546         * PropertyInfo.cs (OptionalCustomModifiers): Add [MonoTODO].
1547
1548         * PropertyInfo.cs: Add stub for GetConstantValue ().    
1549
1550         * ParameterInfo.cs (marshalAs): Make this private.
1551
1552         * Module.cs (ModuleHandle): Add [CLSCompliant(false)].
1553
1554         * LocalVariableInfo.cs MethodBody.cs: Disable default constructor.
1555
1556         * ExceptionHandlingClause.cs: Disable default constructor.
1557
1558 2004-09-27  Zoltan Varga  <vargaz@freemail.hu>
1559
1560         * CustomAttributeData.cs CustomAttributeTypedArgument.cs 
1561         CustomAttributeNamedArgument.cs: New files.
1562
1563         * MethodBody.cs LocalVariableInfo.cs ExceptionHandlingClause.cs
1564         ExceptionHandlingClauseFlags.cs: New files.
1565
1566 2004-09-26  Zoltan Varga  <vargaz@freemail.hu>
1567
1568         * FieldInfo.cs: Add support for returning MarshalAsAttribute.
1569
1570         * ParameterInfo.cs: Add marshalAs field, add support for returning
1571         MarshalAsAttribute.
1572
1573 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
1574
1575         * Module.cs: Add new 2.0 GetMethods and GetFields methods.
1576
1577         * ParameterInfo.cs: Add GetPseudoCustomAttributes () method.
1578
1579 2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
1580
1581         * MonoField.cs: Add GetFieldOffset.
1582
1583         * ObfuscationAttribute.cs: Add ApplyToMembers.
1584
1585         * Assembly.cs: Add stub for ReflectionOnlyLoadFrom.
1586         
1587         * Assembly.cs (LoadWithPartialName): Add [ComVisible] attribute.
1588
1589         * MonoMethod.cs FieldInfo.cs: Add GetPseudoCustomAttributes () method.
1590
1591         * AssemblyNameFlags.cs: Add LongevityUnspecified.
1592
1593 2004-09-23  Zoltan Varga  <vargaz@freemail.hu>
1594
1595         * Module.cs: Remove [MonoTODO] from ResolveMember.
1596
1597         * MemberInfo.cs: Add 'Module' property.
1598
1599         * AssemblyFlagsAttribute.cs: Add 2.0 stuff.
1600
1601         * Assembly.cs: Add stubs for ReflectionOnlyLoad methods. Add [Obsolete]
1602         to LoadWithPartialName on 2.0.
1603
1604         * AssemblyNameFlags.cs: Add new 2.0 members.
1605
1606         * FieldInfo.cs MonoField.cs PropertyInfo.cs ParameterInfo.cs MonoProperty.cs: Add stubs for Optinal/RequiredCustomModifiers.
1607
1608         * ObfuscationAttribute.cs ObfuscateAssemblyAttribute.cs: New files.
1609
1610         * EventInfo.cs: Fix 2.0 build.
1611
1612         * MonoEvent.cs (MonoEventInfo): Add 'other_methods' field.
1613
1614         * EventInfo.cs MonoEvent.cs: Add NET 2.0 GetOtherMethods method.
1615
1616 2004-09-22  Zoltan Varga  <vargaz@freemail.hu>
1617
1618         * Module.cs: Implement net 2.0 ResolveXXX methods.
1619
1620         * Module.cs (resolve_token_exception): Fix type of exception thrown.
1621
1622 2004-09-21  Martin Baulig  <martin@ximian.com>
1623
1624         * Assembly.cs (MonoDebugger_CheckRuntimeVersion): New internal method.
1625
1626 2004-09-20  Zoltan Varga  <vargaz@freemail.hu>
1627
1628         * Assembly.cs: Implement 2.0 reflection properties.
1629
1630         * Module.cs: Implement 2.0 reflection properties. Add 'token' field.
1631
1632 2004-09-19  Zoltan Varga  <vargaz@freemail.hu>
1633
1634         * PortableExecutableKind.cs ImageFileMachine.cs: Make this internal
1635         under 1.0.
1636
1637         * MemberInfo.cs ParameterInfo.cs: Add MetadataToken property.
1638
1639         * Module.cs: Add ModuleHandle property and new icalls.
1640
1641 2004-09-18  Zoltan Varga  <vargaz@freemail.hu>
1642
1643         * Module.cs: Add net 2.0 Mvid property.
1644
1645 2004-08-30  Sebastien Pouliot  <sebastien@ximian.com>
1646
1647         * Assembly.cs: Added internal Demand(PermissionSet) for CAS.
1648
1649 2004-08-30  Zoltan Varga  <vargaz@freemail.hu>
1650
1651         * MethodBase.cs (GetMethodFromHandle): Avoid passing a valuetype to
1652         icalls.
1653
1654 2004-08-29  Zoltan Varga  <vargaz@freemail.hu>
1655
1656         * MethodBase.cs (GetMethodFromHandle): Implement.
1657
1658 2004-08-13  Marek Safar  <marek.safar@seznam.cz>
1659
1660         * Assembly.cs: Made _minimum, _optional, _refuse fields internal.
1661         To be reusable by AssemblyBuilder.
1662
1663 2004-08-09  Sebastien Pouliot  <sebastien@ximian.com>
1664
1665         * Assembly.cs: Fixed some exceptions in NET_1_1 and added some 2.0
1666         properties (required for compiling the new unit tests).
1667         * PortableExecutableKind.cs: New. Flags for NET_2_0.
1668         * ImageFileMachine.cs: New. (Rather limited) enum for NET_2_0.
1669
1670 2004-08-08  Sebastien Pouliot  <sebastien@ximian.com>
1671
1672         * Assembly.cs: Get default evidences when no evidences have been 
1673         supplied. Added internal methods for CAS.
1674         * AssemblyName.cs: New constructor for NET_2_0.
1675
1676 2004-08-05  Sebastien Pouliot  <sebastien@ximian.com>
1677
1678         * Assembly.cs: Added new fields for CAS to match the runtime (v23).
1679
1680 2004-07-29  Martin Baulig  <martin@ximian.com>
1681
1682         * Module.cs (Mono_GetGuid): Make this static.
1683
1684 Sat Jul 10 15:48:34 CEST 2004 Paolo Molaro <lupus@ximian.com>
1685
1686         * Module.cs: return just name in ToString (bug #61287).
1687
1688 2004-07-03  Zoltan Varga  <vargaz@freemail.hu>
1689
1690         * Module.cs: Initialize FilterTypeName[IgnoreCase]. Fixes #61048.
1691
1692 2004-06-17  Gert Driesen <drieseng@users.sourceforge.net>
1693
1694         * Pointer.cs: remove serializable attribute to match MS.NET
1695
1696 2004-06-17  Gert Driesen <drieseng@users.sourceforge.net>
1697         
1698         * ParameterModifier.cs: marked serializable, renamed field to match
1699         MS.NET, throw ArgumentException when parameter count is less than or
1700         equal to zero
1701
1702 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
1703
1704         * AssemblyName.cs: added TODO for serialization
1705         * Pointer.cs: fixed Box method to return object instead of 
1706         Pointer
1707
1708 2004-06-15  Sebastien Pouliot  <sebastien@ximian.com>
1709
1710         * MemberInfo.cs: Changed constructor from internal to protected.
1711
1712 2004-06-11  Martin Baulig  <martin@ximian.com>
1713
1714         * FieldInfo.cs (Mono_GetGenericFieldDefinition): New method for NET_2_0.
1715
1716 2004-06-11  Lluis Sanchez  <lluis@ximian.com>
1717
1718         * StrongNameKeyPair.cs: Catch exception when getting PublicKey to match 
1719           MS implementation. Generate the RSA in the constructors.
1720
1721 2004-06-10  Lluis Sanchez  <lluis@ximian.com>
1722
1723         * AssemblyName.cs: Added missing fields to serialization methods.
1724         * StrongNameKeyPair.cs: Made it compatible with MS serialization.
1725
1726 2004-06-08  Jacson Harper  <jackson@ximian.com>
1727
1728         * AssemblyName.cs (GetAssemblyName): Send a fullpath to the
1729         runtime. This way the codebase is set properly. The codebase is
1730         using g_filename_to_uri which expects a full path.
1731         
1732 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1733
1734         * Binder.cs: don't crash when we have a 'null' argument Type array.
1735         Allow it for non-value types. Fixed for both, methods and properties.
1736         Closes bug #58846.
1737
1738 2004-06-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1739
1740         * Binder.cs: default score must be lower than fail_score or we'll get
1741         an ambiguous match when no indexers given and one single match is found.
1742
1743 2004-06-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1744
1745         * Binder.cs: removed ^Ms. In case of several properties matching, try
1746         to disambiguate based on the indexer types provider and the conversions
1747         from those into the ones of the property.
1748
1749 2004-05-31  Gert Driesen <drieseng@users.sourceforge.net>
1750
1751         * Assembly.cs: added missing ComVisible attribute on
1752         ImageRuntimeVersion property
1753         * ConstructorInfo.cs: added missing attributes on Invoke
1754         * EventInfo.cs: added missing attributes
1755         * FieldInfo.cs: added missing attributes
1756         * MethodBase.cs: added missing attributes
1757         * PropertyInfo.cs: added missing attributes
1758
1759 2004-05-22  Cesar Lopez Nataren  <cesar@ciencias.unam.mx>
1760
1761         * FieldInfo.cs: changed default constructor from internal to protected, so classes
1762         that inherit from it can get build. 
1763
1764 2004-05-18  Gert Driesen (drieseng@users.sourceforge.net)
1765
1766         * MonoProperty.cs: return correct MethodInfo for 
1767         property with only a get or set method. Fixes
1768         bug #58661.
1769
1770 2004-05-18  Sebastien Pouliot  <sebastien@ximian.com>
1771
1772         * Assembly.cs: Return an empty Evidence collection to avoid 
1773         NullReferenceException from calling code (as this is never
1774         null with MS implementation). See bugzilla #53548.
1775
1776 2004-05-14  Zoltan Varga  <vargaz@freemail.hu>
1777
1778         * Assembly.cs: Add stub for LoadFrom.
1779
1780         * Assembly.cs: Fix build.
1781
1782 2004-05-13  Zoltan Varga  <vargaz@freemail.hu>
1783
1784         * Assembly.cs: Add ModuleResolve event.
1785
1786         * Module.cs (Mono_GetGuid): Make this internal.
1787
1788         * FieldInfo.cs: Add stubs for {Get,Set}ValueDirect.
1789
1790 2004-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1791
1792         * Binder.cs: check for ambiguous matches in SelectMethod and
1793         SelectProperty. Fixes bug #58381.
1794
1795 2004-05-06  Jackson Harper <jackson@ximian.com>
1796
1797         * Assembly.cs: remove TODO, this is done.
1798         
1799 2004-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1800
1801         * Assembly.cs: ToString () returns the same as GetName ().ToString ().
1802         Fixes bug #58104.
1803
1804 2004-05-03  Jackson Harper  <jackson@ximian.com>
1805
1806         * Assembly.cs: Implement LoadWithPartialName. The bulk of this
1807         method is done in the runtime.
1808         
1809 2004-04-29  Lluis Sanchez Gual  <lluis@ximian.com>
1810
1811         * MonoProperty.cs: Property.GetGetMethod() does not return the method if it
1812         is private (it did until now because of a bug). Make sure it works as it 
1813         worked before the fix.
1814         
1815 2004-04-27  Lluis Sanchez Gual  <lluis@ximian.com>
1816
1817         * ICustomAttributeProvider.cs, IReflect.cs, MemberInfo.cs, AssemblyName.cs: 
1818           Removed completed     TODOs.
1819         * MonoProperty.cs: In GetAccessors(), GetGetMethod() and GetSetMethod(),
1820           do not return private methods if nonPublic == false.
1821         * ReflectionTypeLoadException.cs: Implemented serialization support.
1822
1823 2004-04-26  Jackson Harper  <jackson@ximian.com>
1824
1825         * Assembly.cs: Add icall to determine if an assembly has been
1826         loaded from the GAC.
1827
1828 2004-04-23  Atsushi Enomoto  <atsushi@ximian.com>
1829
1830         * MethodBase.cs, MonoMethod.cs, TypeDelegator.cs :
1831           The fix should be easier ;)
1832
1833 2004-04-23  Atsushi Enomoto  <atsushi@ximian.com>
1834
1835         * MethodBase.cs, MonoMethod.cs, TypeDelegator.cs :
1836           NET_2_0 related build fix.
1837
1838 2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>
1839
1840         * Assembly.cs: Removed TODO for CreateQualifiedName.
1841         * AssemblyName.cs: Fixed serialization code.
1842         * AssemblyNameProxy.cs: Implemented.
1843         * Module.cs: Implemented GetMethod() methods, FindTypes() and GetObjectData.
1844
1845 2004-04-07  Martin Baulig  <martin@ximian.com>
1846
1847         * MonoGenericInst.cs (MonoGenericParam): Removed.
1848
1849 2004-04-07  Martin Baulig  <martin@ximian.com>
1850
1851         * MethodBase.cs
1852         (MethodBase.GetGenericParameters): Renamed to GetGenericArguments().
1853
1854         * MonoGenericInst.cs (MonoGenericInst.DeclaringType): Removed.
1855         (MonoGenericInst.GetNestedTypes): Just call
1856         `generic_type.GetNestedTypes (bf)' here.
1857
1858         * MonoMethod.cs (MonoMethod.ToString): If we're a generic method,
1859         include the type arguments.
1860
1861 2004-04-06  Sebastien Pouliot  <sebastien@ximian.com>
1862
1863         * StrongNameKeyPair.cs: Added support for ECMA "key". Now returns a
1864         correct StrongName instance when the ECMA "key" is used.
1865
1866 2004-04-02  Martin Baulig  <martin@ximian.com>
1867
1868         * MonoGenericInst.cs (MonoGenericInst.DeclaringType): Override.
1869
1870 2004-04-01  Martin Baulig  <martin@ximian.com>
1871
1872         * MonoGenericInst.cs (MonoGenericParam.IsValueTypeImpl): Override
1873         this and always return false.
1874
1875 2004-04-01  Martin Baulig  <martin@ximian.com>
1876
1877         * MonoGenericInst.cs (MonoGenericParam.IsSubclassOf): Override this.    
1878
1879 2004-03-30  Martin Baulig  <martin@ximian.com>
1880
1881         * MonoGenericInst.cs
1882         (MonoGenericParam): Added `bool has_ctor_constraint' field.
1883         (MonoGenericParam.SetConstraints): Added `bool
1884         has_ctor_constraint' argument.  
1885
1886 2004-03-29  Martin Baulig  <martin@ximian.com>
1887
1888         * MethodBase.cs (MethodBase.Mono_IsInflatedMethod): New public
1889         virtual property.
1890         (MethodBase.HasGenericParameters): Use the "official" behavior
1891         here, ie. return false if we're not a generic method.
1892
1893 2004-03-29  Martin Baulig  <martin@ximian.com>
1894
1895         * MethodBase.cs: Moved the generics stuff here, made it virtual
1896         where neccessary and use the correct API.
1897
1898 2004-03-24  Sebastien Pouliot  <sebastien@ximian.com>
1899
1900         * StrongNameKeyPair.cs: Added an internal method to return a 
1901         StrongName object (for AssemblyBuilder). Simplified implementation 
1902         using Mono.Security.Cryptography.CryptoConvert class.
1903
1904 2004-03-24  Zoltan Varga  <vargaz@freemail.hu>
1905
1906         * AssemblyFileVersionAttribute.cs (.ctor): Add argument checking.
1907
1908 2004-03-23  Martin Baulig  <martin@ximian.com>
1909
1910         * MonoGenericInst.cs: Added support for events.
1911
1912 2004-03-23  Martin Baulig  <martin@ximian.com>
1913
1914         * MonoMethod.cs (MonoMethod.ToString): Don't include the namespace
1915         if it's the empty string.
1916
1917 2004-03-10  Martin Baulig  <martin@ximian.com>
1918
1919         * MethodBase.cs (MethodBase): Implemented
1920         GetGenericMethodDefinition() and HasGenericParameters.
1921
1922 2004-03-09  Martin Baulig  <martin@ximian.com>
1923
1924         * MonoEvent.cs (MonoEventInfo): Replaced `parent' with
1925         `declaring_type' and `reflected_type'.
1926         (MonoEvent): Distinguish between declaring and reflected type.
1927
1928 2004-02-25  Martin Baulig  <martin@ximian.com>
1929
1930         * MonoGenericInst.cs
1931         (MonoGenericInst.GetNestedTypes): Override this.
1932
1933 2004-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1934
1935         * Binder.cs:
1936         (SelectProperty): check the return Type if provided.
1937
1938 2004-02-17  Martin Baulig  <martin@ximian.com>
1939
1940         * MonoGenericInst.cs (MonoGenericInst.GetProperties): Added
1941         support for properties.
1942
1943 2004-02-17  Martin Baulig  <martin@ximian.com>
1944
1945         * MonoGenericInst.cs (MonoGenericInst.GetMethods): Walk up the
1946         class hierarchy and return members from the parent classes.
1947         (GetConstructors, GetFields): Likewise.
1948
1949 2004-02-17  Martin Baulig  <martin@ximian.com>
1950
1951         * MonoGenericInst.cs (MonoGenericInst.initialize): Don't inflate
1952         all the members here; we only do this for members of the current
1953         class and only when they're actually queried for.
1954
1955 2004-02-12  Martin Baulig  <martin@ximian.com>
1956
1957         * MonoGenericInst.cs (MonoInflatedField): Removed.
1958
1959         * MonoGenericInst.cs (MonoInflatedMethod, MonoInflatedCtor): Removed.
1960
1961 2004-02-08  Martin Baulig  <martin@ximian.com>
1962
1963         * MonoGenericInst.cs (MonoGenericInst.inflate): Pass recursive
1964         invocations the `reflected' type as `reflected', not `this'.
1965         (MonoInflatedMethod, MonoInflatedCtor): Reflect latest runtime changes.
1966
1967 2004-02-08  Martin Baulig  <martin@ximian.com>
1968
1969         * MonoGenericInst.cs (MonoGenericInst.GetParentType): New interncall.
1970         (MonoGenericInst.GetInterfaces_internal): New interncall.
1971         (MonoGenericInst): Reflect latest API changes; use GetParentType()
1972         and GetInterfaces_internal() instead of the fields.     
1973
1974 2004-02-06  Martin Baulig  <martin@ximian.com>
1975
1976         * MonoGenericInst.cs (MonoGenericInst.DeclaringType): Override this.
1977
1978 2004-02-03  Martin Baulig  <martin@ximian.com>
1979
1980         * MonoGenericInst.cs (MonoGenericInst.GetInterfaces): Override this.
1981
1982 2004-01-25  Martin Baulig  <martin@ximian.com>
1983
1984         * MonoGenericInst.cs: Honor BindingFlags.DeclaredOnly.
1985
1986 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
1987
1988         * Assembly.cs (GetManifestResourceStream): Make the IntPtrStream keep
1989         a reference on the Module object which contains the resource.
1990
1991         * Module.cs: Decrease the image reference count when the Module is
1992         garbage collected.
1993
1994 2004-01-16  Martin Baulig  <martin@ximian.com>
1995
1996         * Assembly.cs: Make the `MonoDebugger_' methods static.
1997
1998 2004-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1999
2000         * MonoProperty.cs: changed get_property_info so that it only gets the
2001         values needed. Reduces the allocations needed.
2002
2003 2004-01-15  Martin Baulig  <martin@ximian.com>
2004
2005         * Assembly.cs: Make the `MonoDebugger_' methods internal.
2006
2007 2004-01-04  Nick Drochak <ndrochak@gol.com>
2008
2009         * Assembly.cs: Removed unused variable in catch block.Eliminates a build
2010         warning.
2011
2012 2003-12-29 Ben Maurer  <bmaurer@users.sourceforge.net>
2013
2014         * MethodBase.cs: Internal method to get param count (this
2015         way we can get the info for the ilgen without creating
2016         an array, if we override the method).
2017
2018 2003-12-18  Zoltan Varga  <vargaz@freemail.hu>
2019
2020         * Assembly.cs: Implement LoadFrom.
2021
2022 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
2023
2024         * Assembly.cs: Add stubs for LoadFile.
2025
2026 2003-12-16  Zoltan Varga  <vargaz@freemail.hu>
2027
2028         * Assembly.cs (GetManifestResourceStream): Only load non-embedded
2029         resources from files.
2030
2031 2003-12-15  Zoltan Varga  <vargaz@freemail.hu>
2032
2033         * MonoField.cs (SetValue): Throw an exception if the value cannot be
2034         converted to the field's type. Fixes #52177.
2035
2036 2003-12-11  Lluis Sanchez Gual <lluis@ximian.com>
2037         
2038         * AmbiguousMatchException.cs: Added serialization constructor.
2039         
2040 2003-12-08  Martin Baulig  <martin@ximian.com>
2041
2042         * MonoGenericInst.cs (MonoGenericParam): New internal class;
2043         derives from MonoType.  
2044
2045 2003-12-08  Patrik Torstensson <p@rxc.se>
2046
2047         * Binder.cs: Added internal helpers to get derived level and select the 
2048         most derived methodbase (used in GetMethodImpl)
2049
2050 2003-11-25  Zoltan Varga  <vargaz@freemail.hu>
2051
2052         * Assembly.cs (LoadWithPartialName): Return null instead of throwing
2053         an exception to match MS behavior.
2054
2055 2003-11-24  Zoltan Varga  <vargaz@freemail.hu>
2056
2057         * MonoMethod.cs: Add missing constructor.
2058
2059 2003-11-21  Zoltan Varga  <vargaz@freemail.hu>
2060
2061         * MethodBase.cs (Invoke): Make this virtual under NET 1.2.
2062
2063 2003-11-16  Martin Baulig  <martin@ximian.com>
2064
2065         * MonoGenericInst.cs (MonoGenericInst.inflate): Call
2066         `parent.inflate (parent,...)' instead of
2067         `parent.inflate (reflected,...)'.
2068
2069 2003-11-16  Zoltan Varga  <vargaz@freemail.hu>
2070
2071         * Assembly.cs (InternalGetAssemblyName): New icall.
2072
2073         * AssemblyName.cs (GetAssemblyName): Implement this without loading
2074         the assembly in question. Fixes #51035.
2075
2076 2003-11-14  Martin Baulig  <martin@ximian.com>
2077
2078         * MonoGenericInst.cs (MonoGenericInst): Added
2079         `MonoGenericInst[] interfaces' field.  This is only used for
2080         interface types.
2081         (MonoGenericInst.inflate): If we're an interface type, add the
2082         methods from all interfaces we inherit.
2083
2084 2003-11-14  Zoltan Varga  <vargaz@freemail.hu>
2085
2086         * AssemblyNameFlags.cs MethodAttributes.cs: Add new enumerated values 
2087         from NET 1.1.
2088         
2089         * *.cs: Add missing attributes.
2090
2091 2003-11-11  Todd Berman  <tberman@gentoo.org>
2092
2093         * AssemblyName.cs (FullName): Fixed to include a proper PublicKeyToken.
2094
2095 2003-11-11  Zoltan Varga  <vargaz@freemail.hu>
2096
2097         * MonoMethod.cs: Implement CallingConvention member.
2098
2099 2003-11-10  Zoltan Varga  <vargaz@freemail.hu>
2100
2101         * Assembly.cs (InternalGetType): Add a 'module' argument so this
2102         method can be used from Module as well.
2103
2104         * Module.cs (GetType): Implement.
2105
2106         * Module.cs (GetTypes): Implement.
2107
2108         * Module.cs: Remove some [MonoTODO] attributes from implemented methods.
2109 2003-11-08  Martin Baulig  <martin@ximian.com>
2110
2111         * MonoGenericInst.cs (MonoInflatedMethod, MonoInflatedCtor): Added
2112         a private `IntPtr ginst' field.
2113         (MonoGenericInst.IsValueTypeImpl, inflate): Allow interfaces.
2114
2115 2003-11-02  Martin Baulig  <martin@ximian.com>
2116
2117         * MonoGenericInst.cs (MonoGenericInst.initialize): Include members
2118         from our parent classes in the `methods', `ctors' and `fields'
2119         arrays.  When inflating them, reflection now sets their
2120         `declaring_type' and `reflected_type' fields.
2121         (MonoInflatedMethod, MonoInflatedCtor): Added
2122         `MonoGenericInst declaring_type' and `MonoGenericInst reflected_type'
2123         fields and override the `DeclaringType' and `ReflectedType' properties.
2124
2125 2003-11-02  Martin Baulig  <martin@ximian.com>
2126
2127         * MonoGenericInst.cs (MonoGenericInst.IsValueTypeImpl): Override this.
2128
2129 2003-10-31  Martin Baulig  <martin@ximian.com>
2130
2131         * MonoGenericInst.cs (MonoInflatedField): New internal class.
2132         (MonoGenericInst.GetFields): Override this method and inflate
2133         the fields.
2134
2135         * MonoField.cs: Don't make this class sealed.
2136
2137 2003-10-30  Martin Baulig  <martin@ximian.com>
2138
2139         * MonoGenericInst.cs (MonoInflatedMethod, MonoInflatedCtor): New
2140         internal classes.
2141
2142 2003-10-25  Martin Baulig  <martin@ximian.com>
2143
2144         * MonoGenericInst.cs: New internal class.
2145
2146 2003-10-18  Martin Baulig  <martin@ximian.com>
2147
2148         * MethodInfo.cs (MethodInfo.GetGenericArguments): Make this method
2149         abstract; use an interncall in MonoMethod and a custom
2150         implementation in MethodBuilder.        
2151
2152 2003-10-17  Pedro Martinez Julia  <yoros@wanadoo.es>
2153
2154         * MonoEvent.cs: implement ToString method as in MS.NET.
2155
2156         * MonoMethod.cs: fix some differences between mono and MS.NET
2157         implementation of ToString.
2158
2159 2003-10-17  Zoltan Varga  <vargaz@freemail.hu>
2160
2161         * AssemblyName.cs: Fix Version property when some version fields are
2162         undefined.
2163
2164 2003-10-17  Martin Baulig  <martin@ximian.com>
2165
2166         * MethodInfo.cs (MethodInfo.GetGenericArguments): New method.
2167         (MethodInfo.BindGenericParameters): New method.
2168
2169 2003-10-16  Martin Baulig  <martin@ximian.com>
2170
2171         * MethodInfo.cs (MethodInfo.IsGenericMethodDefinition): New
2172         property.       
2173
2174 2003-08-08  Lluis Sanchez Gual  <lluis@ximian.com>
2175
2176         * ParameterInfo.cs: Modified constructor of ParameterInfo for
2177           the return type of a method. Since parameter positions are
2178           zero-based, the position of the return type must be is -1.
2179
2180 2003-08-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2181
2182         * TargetInvocationException.cs: Fixed signature
2183
2184 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
2185
2186         * TypeDelegator.cs: Added generics stubs.
2187
2188 2003-07-21  Lluis Sanchez Gual  <lluis@ximian.com>
2189
2190         * ParameterInfo.cs: Position is zero-based in ParameterInfo.
2191           Set the right position value when getting from ParameterBuilder.
2192
2193 Thu Jul 17 17:26:59 CEST 2003 Paolo Molaro <lupus@ximian.com>
2194
2195         * FieldInfo.cs, MonoField.cs: cleanups. Cache some info and use
2196         finer-grained icalls. Requires a matching runtime.
2197
2198 2003-07-11  Zoltan Varga  <vargaz@freemail.hu>
2199
2200         * AssemblyFlagsAttribute.cs: Added new constructor from NET 1.1.
2201
2202         * AssemblyFlagsAttribute.cs: Added new property from NET 1.1.
2203
2204 2003-07-10  Zoltan Varga  <vargaz@freemail.hu>
2205
2206         * Assembly.cs: Implemented ImageRuntimeVersion property from NET 1.1.
2207
2208 Mon Jun 30 19:12:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
2209
2210         * Pointer.cs: implemented.
2211
2212 2003-06-15  Zoltan Varga  <vargaz@freemail.hu>
2213
2214         * EventInfo.cs: Implement IsSpecialName.
2215
2216 2003-06-10  Zoltan Varga  <vargaz@freemail.hu>
2217
2218         * Module.cs (Mono_GetGuid): New method to return the GUID of the
2219         module.
2220
2221 2003-05-21  Zoltan Varga  <vargaz@freemail.hu>
2222
2223         * Module.cs: Implement GetField and its friends.
2224
2225 2003-05-20  Zoltan Varga  <vargaz@freemail.hu>
2226
2227         * Assembly.cs (GetManifestResourceStream): Moved handling of 
2228         linked resources into managed code using the newly implemented
2229         GetManifestResourceInfo () method.
2230
2231 2003-05-19  Zoltan Varga  <vargaz@freemail.hu>
2232
2233         * Module.cs: Implemented IsResource.
2234
2235         * Assembly.cs: Implemented GetManifestResourceInfo, GetModules,
2236         GetModule, GetLoadedModules methods.
2237         * Assembly.cs (GetManifestResourceStream): Added support for 
2238         resources in extern assemblies.
2239
2240 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2241
2242         * Assembly.cs: fixed bug #42833.
2243
2244 2003-05-11  Miguel de Icaza  <miguel@ximian.com>
2245
2246         * Binder.cs (ChangeType): Very simplistic change.  Am not sure if
2247         it is correct, but it makes RemotingCorba move along a bit more
2248         (Remoting.Corba invokes Binder.ConvertArgs, which calls
2249         Binder.ChangeType with an Attribute [] to Object []).
2250
2251 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2252
2253         * Binder.cs:
2254         (check_type): fixed bug #41655.
2255
2256 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2257
2258         * Assembly.cs: implemented GetSatelliteAssembly.
2259
2260 Fri Apr 11 13:06:10 CEST 2003 Paolo Molaro <lupus@ximian.com>
2261
2262         * Assembly.cs: added GetNamespaces() icall.
2263
2264 2003-03-17  Zoltan Varga  <vargaz@freemail.hu>
2265
2266         * FieldInfo.cs (GetFieldFromHandle): Implemented.
2267
2268 2003-03-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2269
2270         * Assembly.cs: added missing stuff. Only ModuleResolve event is left
2271         out to avoid changing MonoReflectionAssembly by now.
2272         * ModuleResolveEventHandler.cs: delegate.
2273
2274 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2275
2276         * TargetInvocationException.cs: added serialization ctor.
2277
2278 2003-02-18  Martin Baulig  <martin@ximian.com>
2279
2280         * Assembly.cs (MonoDebugger_GetMethodToken): New method to get a
2281         method's metadata token.
2282
2283 2003-02-04  Sebastien Pouliot  <spouliot@videotron.ca>
2284
2285         * Module.cs: Corrected indentation for class.
2286
2287 2003-02-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2288
2289         * Binder.cs:
2290         (check_type): return true when the target type is object and the source
2291         is a value type.
2292
2293 2003-02-03 Patrik Torstensson
2294
2295         * Binder.cs: minimize locking time in DefaultBinder.
2296
2297 2003-02-01  Sebastien Pouliot  <spouliot@videotron.ca>
2298
2299         * Module.cs: Oups - not implemented. Added MonoTODO to most methods
2300         so it's real status get reflected correctly on the web site.
2301
2302 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2303
2304         * MonoMethod.cs: implemented GetBaseDefinition ().
2305
2306 2003-01-28  Patrik Torstensson
2307         * MonoMethod.cs: Added support for serialization for MonoMethod and MonoCMethod
2308         * ReflectionSerializationHolder.cs: Support class for serialization
2309
2310 2003-01-17  Zoltan Varga  <vargaz@freemail.hu>
2311
2312         * ParameterInfo.cs: modified constructor so it allows the 
2313         ParameterBuilder to be null and add a 'position' argument which will
2314         be used when pb is null.
2315
2316 2003-01-16  Lluis Sanchez Gual <lsg@ctv.es>
2317
2318         * Assembly.cs: added serialization support.
2319
2320 Sat Jan 4 18:26:41 CET 2003 Paolo Molaro <lupus@ximian.com>
2321
2322         * MonoMethod.cs: propagate exceptions from the internal invoke
2323         code that need to be propagated.
2324
2325 Sat Jan 4 18:04:07 CET 2003 Paolo Molaro <lupus@ximian.com>
2326
2327         * Binder.cs: throw an exception if the number of arguments 
2328         when invoking a method is incorrect.
2329
2330 Thu Jan 2 19:04:58 CET 2003 Paolo Molaro <lupus@ximian.com>
2331
2332         * Binder.cs: In SelectMethod() look for an exact match first.
2333
2334 2003-01-01  Rachel Hestilow <hestilow@ximian.com>
2335
2336         * MonoField.cs (SetValue): Fix logic typo. Check that obj is
2337         non-null only for the non-static case.
2338
2339 2002-12-30  Sebastien Pouliot <spouliot@videotron.ca>
2340
2341         * AssemblyName.cs: Fixed null cultureinfo in FullName (as reported by 
2342         Zoltan).
2343
2344 2002-12-23  Sebastien Pouliot <spouliot@videotron.ca>
2345
2346         * AssemblyName.cs: GetPublicKey now return an empty array (not null)
2347         when an assembly isn't signed with a StrongName (to match MS 
2348         implementation) and null when no assembly is referenced. Also removed 
2349         commented code (no bug reported so it was probably not used).
2350
2351 Thu Dec 19 16:43:19 CET 2002 Paolo Molaro <lupus@ximian.com>
2352
2353         * MonoMethod.cs, ParameterInfo.cs: return a custom attribute
2354         provider for the return type of a method.
2355
2356 2002-12-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2357
2358         * AssemblyName.cs: little fix in FullName.
2359
2360 2002-12-07  Sebastien Pouliot <spouliot@videotron.ca>
2361
2362         * AssemblyName.cs: Added missing methods/interfaces. Fixed some
2363         code to match the MS Framework.
2364         * StrongNameKeyPair.cs: Completed the "visible" implementation.
2365         There must be some internal methods to allow signing with the key.
2366
2367 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2368
2369         * EventInfo.cs: implemented (Add|Remove)EventHandler.
2370
2371 Mon Nov 18 17:52:56 CET 2002 Paolo Molaro <lupus@ximian.com>
2372
2373         * Assembly.cs: implemented GetManifestResourceStream (Type type,
2374         * String name).
2375
2376 2002-11-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2377
2378         * Assembly.cs: changed name of GetType (string, bool, bool) to
2379         InternalGetType.
2380
2381 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2382
2383         * TargetInvocationException.cs: modified default message.
2384
2385 2002-10-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2386
2387         * MonoProperty.cs:
2388         * PropertyInfo.cs: fixed bug #31535.
2389
2390 2002-09-27  Martin Baulig  <martin@gnome.org>
2391
2392         * Assembly.cs (Assembly.GetReferencedAssemblies): Implemented.
2393
2394 2002-09-24  Martin Baulig  <martin@gnome.org>
2395
2396         * Assembly.cs (MonoDebugger_GetType): New method to get a Type
2397         from its metadata token.  This should only be used by the debugger.
2398
2399 2002-09-21  Martin Baulig  <martin@gnome.org>
2400
2401         * Assembly.cs (MonoDebugger_GetLocalTypeFromSignature): New method to
2402         get the type of a local variable from its signature.  This should only
2403         be used by the debugger.
2404
2405 2002-09-20  Martin Baulig  <martin@gnome.org>
2406
2407         * Assembly.cs (MonoDebugger_GetMethod): New method to get a MethodBase
2408         from its metadata token.  This should only be used by the debugger.
2409
2410 Wed Sep 11 12:50:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
2411
2412         * Binder.cs: more default binder implementation.
2413
2414         * FieldInfo.cs, MonoField.cs: fixed SetValue () implementation.
2415         * MonoMethod.cs: use the binder in the Invoke () implementation.
2416         Implemented custom attributes methods and ToString for constructors.
2417
2418 Thu Sep 5 20:36:27 CEST 2002 Paolo Molaro <lupus@ximian.com>
2419
2420         * Binder.cs: finished the Binder class and implemented the default
2421         binder.
2422
2423 2002-09-03  Martin Baulig  <martin@gnome.org>
2424
2425         * Assembly.cs (Assembly.Location): Implemented.
2426
2427 2002-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2428
2429         * MonoField.cs:
2430         (GetValue): allow obj to be null (used for static fields).
2431
2432 2002-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2433
2434         * MonoField.cs: GetValue renamed to GetValueInternal. Added check for
2435         null.
2436
2437 Wed Aug 21 13:03:25 CEST 2002 Paolo Molaro <lupus@ximian.com>
2438
2439         * Assembly.cs: GetEntryAssembly patch by Tomi Pakarinen 
2440         <tomi.pakarinen@welho.com>.
2441
2442 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2443
2444         * Assembly.cs: FullName now returns a proper string instead of
2445         something like 'file://...'.
2446
2447         * AssemblyName.cs: added missing ToString method.
2448
2449 2002-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2450
2451         * FieldInfo.cs: implemented SetValue.
2452
2453 Wed Aug 14 17:37:30 CEST 2002 Paolo Molaro <lupus@ximian.com>
2454
2455         * MonoEvent.cs, MonoMethod.cs: implemented ReflectedType.
2456
2457 2002-08-14  Dick Porter  <dick@ximian.com>
2458
2459         * Assembly.cs: Stub out GetSatelliteAssembly
2460
2461 2002-08-12  Tim Coleman <tim@timcoleman.com>
2462         * MonoProperty.cs:
2463                 Allow multiple parameters for GetValue ()
2464
2465 Thu Aug 8 13:05:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
2466
2467         * Assembly.cs: implemented GetFile() and GetFiles().
2468
2469 Mon Aug 5 21:19:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
2470
2471         * Assembly.cs: implemented EntryPoint and a few 
2472         resource related methods.
2473
2474 Wed Jul 24 13:08:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
2475
2476         * MethodBase.cs: implemented GetCurrentMethod.
2477         * Assembly.cs: implemented GetExecutingAssembly and
2478         GetCallingassembly.
2479
2480 Mon Jul 1 18:01:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
2481
2482         * MonoProperty.cs: handle properties with only a set method.
2483
2484 2002-05-24  Martin Baulig  <martin@gnome.org>
2485
2486         * ParameterInfo.cs: Added internal constructor.
2487
2488 Thu May 23 17:18:46 CEST 2002 Paolo Molaro <lupus@ximian.com>
2489
2490         * Assembly.cs: implemented CreateInstance ().
2491
2492 2002-05-22  Martin Baulig  <martin@gnome.org>
2493
2494         * MethodBase.cs (get_next_table_index): Added `object obj' argument.
2495
2496 Tue May 21 12:07:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
2497
2498         * EventInfo.cs: more implementation.
2499
2500 Mon May 20 17:37:39 CEST 2002 Paolo Molaro <lupus@ximian.com>
2501
2502         * MonoEvent.cs: fill-in the implementation.
2503
2504 Sat May 4 15:00:39 CEST 2002 Paolo Molaro <lupus@ximian.com>
2505
2506         * Assembly.cs, AssemblyName.cs: updates and fixes.
2507
2508 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
2509
2510         * MonoProperty.cs (GetValue) : basic implementation to support nunit
2511         * PropertyInfo.cs (GetValue) : call MonoProperty::GetValue instead of returning null
2512
2513 Thu Apr 18 16:40:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
2514
2515         * MonoMethod.c: cache the method name.
2516
2517 2002-04-12  Duncan Mak  <duncan@ximian.com>
2518
2519         * AssemblyAlgorithmIdAttribute.cs: Fixed typo in AlgorithmId
2520         property.
2521
2522         * AssemblyDelaySignAttribute.cs: Fixed type in DelaySign
2523         attribute.
2524
2525         * AssemblyFileVersionAttribute.cs: Renamed FileVersion property to
2526         Version.
2527
2528         * BindingFlags.cs: Added missing value "PutRefDispProperty".
2529
2530         * FieldAttributes.cs: Removed value "HasSecurity".
2531
2532         * ManifestResourceInfo.cs: Added missing properties FileName,
2533         ReferencedAssembly and ResourceLocation.
2534
2535         * TargetInvocationException.cs: Added the missing constructors.
2536
2537 Fri Apr 12 18:32:34 CEST 2002 Paolo Molaro <lupus@ximian.com>
2538
2539         * MonoMethod.cs: make Name property an icall.
2540
2541 2002-04-08  Nick Drochak  <ndrochak@gol.com>
2542
2543         * DefaultMemberAttribute.cs: Add AttributeUsage attribute for class,
2544         struct and interface.
2545
2546 Fri Apr 5 15:40:24 CEST 2002 Paolo Molaro <lupus@ximian.com>
2547
2548         * MonoEvent.cs: remove unused code.
2549         * MonoProperty: implement ToString().
2550
2551 Wed Apr 3 17:59:26 CEST 2002 Paolo Molaro <lupus@ximian.com>
2552
2553         * Assembly.cs: implement GetTypes() and GetExportedTypes().
2554
2555 Mon Mar 25 18:54:58 CET 2002 Paolo Molaro <lupus@ximian.com>
2556
2557         * MonoEvent.cs: added the needed fields.
2558
2559 2002-03-20  Martin Baulig  <martin@gnome.org>
2560
2561         * ConstructorInfo.cs (Invoke): Implemented, call the abstract Invoke.
2562
2563         * MonoMethod.cs (MonoCMethod.Invoke): Implemented, call InternalInvoke.
2564
2565 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
2566
2567         * MonoMethod.cs (Invoke): call InternalInvoke
2568
2569         * MethodBase.cs (Invoke): call virtual invoke function 
2570
2571 Thu Mar 7 17:14:20 CET 2002 Paolo Molaro <lupus@ximian.com>
2572
2573         * EventInfo.cs: add compiler needed methods.
2574         * MonoMethod.cs: make ToString() return the return type name, too.
2575
2576 2002-03-07  Nick Drochak  <ndrochak@gol.com>
2577
2578         * BindingFlags.cs: Add missing enum values.  Thanks CorCompare.
2579
2580 Tue Mar 5 20:33:14 CET 2002 Paolo Molaro <lupus@ximian.com>
2581
2582         * TypeAttributes.cs, MethodImplAttributes.cs: updates to latest spec.
2583
2584 2002-02-26  Duncan Mak  <duncan@ximian.com>
2585
2586         * StrongNameKeyPair.cs: Committed for Kevin Winchester (kwin@ns.sympatico.ca>.
2587
2588 2002-02-24 Nick Drochak  <ndrochak@gol.com>
2589
2590         * AssemblyNameFlags.cs: Use proper member name.  Thanks corcompare!
2591
2592 Fri Feb 22 18:54:13 CET 2002 Paolo Molaro <lupus@ximian.com>
2593
2594         * MonoField.cs: implement GetValue as an internalcall.
2595         Implemented ToString().
2596
2597 Tue Feb 19 20:36:04 CET 2002 Paolo Molaro <lupus@ximian.com>
2598
2599         * Assembly.cs, Module.cs, MonoField.cs, MonoMethod.cs,
2600         MonoProperty.cs, ParameterInfo.cs: Implemented custom attributes
2601         related methods.
2602
2603 Thu Feb 14 18:55:23 CET 2002 Paolo Molaro <lupus@ximian.com>
2604
2605         * TypeAttributes.cs: update to latest spec.
2606
2607 Mon Feb 11 19:50:27 CET 2002 Paolo Molaro <lupus@ximian.com>
2608
2609         * Assembly.cs: handle throwOnError in GetType() call.
2610
2611 2002-02-07  Duncan Mak  <duncan@ximian.com>
2612
2613         * AssemblyName.cs: Implemented ISerializable interface for the
2614         fields that we have.
2615
2616 2002-02-05  Duncan Mak  <duncan@ximian.com>
2617         
2618         * Missing.cs: 
2619         * TargetException.cs: Added in CVS.
2620
2621 2002-01-31  Duncan Mak  <duncan@ximian.com>
2622
2623         * ReflectionTypeLoadException.cs: Added missing bits.
2624
2625 2002-01-23  Duncan Mak  <duncan@ximian.com>
2626
2627         * AssemblyAlgorithmIdAttribute.cs:
2628         * AssemblyCompanyAttribute.cs:
2629         * AssemblyConfigurationAttribute.cs:
2630         * AssemblyCopyrightAttribute.cs:
2631         * AssemblyCultureAttribute.cs:
2632         * AssemblyDefaultAliasAttribute.cs:
2633         * AssemblyDelaySignAttribute.cs:
2634         * AssemblyDescriptionAttribute.cs:
2635         * AssemblyFileVersionAttribute.cs:
2636         * AssemblyFlagsAttribute.cs:
2637         * AssemblyInformationalVersionAttribute.cs:
2638         * AssemblyKeyFileAttribute.cs:
2639         * AssemblyKeyNameAttribute.cs:
2640         * AssemblyNameProxy.cs:
2641         * AssemblyProductAttribute.cs:
2642         * AssemblyTitleAttribute.cs:
2643         * AssemblyTradeMarkAttribute.cs:
2644         * AssemblyVersionAttribute.cs:
2645         * CustomAttributeFormatException.cs:
2646         * InvalidFilterCriteriaException.cs:
2647         * TargetParameterCountException.cs: Added.
2648
2649 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
2650
2651         * Assembly.cs (Assembly.CodeBase): Implement.
2652         (Assembly.FullName): simplistic and broken implementation.  Gets
2653         us where we were yesterday.
2654
2655         Code style fix.
2656
2657 Tue Jan 22 22:54:18 CET 2002 Paolo Molaro <lupus@ximian.com>
2658
2659         * IReflect.cs: corrected GetMember() return type.
2660         * InterfaceMapping.cs, TypeDelegator.cs: implemented.
2661
2662 Wed Jan 9 19:37:14 CET 2002 Paolo Molaro <lupus@ximian.com>
2663
2664         * MonoMethod.cs: ToString () implementation.
2665
2666 2002-01-04  Ravi Pratap  <ravi@ximian.com>
2667
2668         * Assembly.cs : Decorate missing bits with the MonoTODO
2669         attribute.
2670
2671         * ConstructorInfo.cs, MonoMethod.cs, MonoProperty.cs, ParameterInfo.cs,
2672         ReflectionTypeLoadException.cs : Ditto.
2673
2674         * FieldInfo.cs : Ditto.
2675         
2676 Thu Jan 3 23:25:34 CET 2002 Paolo Molaro <lupus@ximian.com>
2677         
2678         * Assembly.cs: trow unimplemented exceptions.
2679
2680 Tue Dec 18 18:46:22 CET 2001 Paolo Molaro <lupus@ximian.com>
2681
2682         * MonoMethod.cs: implemented GetParameters().
2683         * MonoProperty.cs: PropertyInfo implementation.
2684         * ParameterInfo.cs: implemented.
2685         * PropertyInfo.cs: fixes.
2686
2687 Thu Dec 13 20:18:05 CET 2001 Paolo Molaro <lupus@ximian.com>
2688
2689         * FieldInfo.cs: implemented some Is* propeties.
2690         * MethodBase.cs: fixed attribute accessors.
2691         * MonoField.cs: runtime object to represent a field.
2692         * MonoMethod.cs: runtime object to represent a method.
2693         * AssemblyBuilder.cs: GetToken() methods to get tokens for
2694         strings, fields, methods...
2695         * ILGenerator.cs: handle tokens for methods.
2696
2697 Mon Nov 19 13:56:55 CET 2001 Paolo Molaro <lupus@ximian.com>
2698
2699         * MethodBase.cs: add internal get_next_table_index() for use in
2700         Reflection.Emit.
2701
2702 Wed Nov 14 16:53:28 CET 2001 Paolo Molaro <lupus@ximian.com>
2703
2704         * Assembly.cs: implement some of the Load() methods.
2705         * ConstructorInfo.cs: some missing stubs and fields.
2706         * FieldInfo.cs: IsInitOnly property.
2707         * ParameterInfo.cs: stubs for missing properties.
2708         * ParameterModifier.cs: implemented class.
2709
2710 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
2711
2712         * Assembly.cs: Filled in some stub implementations
2713
2714         * ConstructorInfo.cs: Added some stub functions for NUnit
2715
2716 Fri Nov 2 18:29:36 CET 2001 Paolo Molaro <lupus@ximian.com>
2717
2718         * AmbiguousMatchException.cs, 
2719         * Assembly.cs, Module.cs: updates.
2720         * FieldInfo.cs: better compliance to the spec.
2721         * MethodBase.cs: move call_conv out of the way.
2722         * AssemblyBuilder.cs:  don't use internalcalls, more stuff supported.
2723         * FieldBuilder.cs: implemented.
2724         * ILGenerator.cs: implemented some opcode handling.
2725         * Label.cs: add constructor.
2726         * LocalBuilder.cs: implemented.
2727         * MethodBuilder.cs: don't use internalcalls, more implemented stuff.
2728         * ModuleBuilder.cs: don't use internalcalls, more meat here, too.
2729         * ParameterBuilder.cs: implemented.
2730         * PropertyBuilder.cs: implemented.
2731         * TypeBuilder.cs: don't use internalcalls, more stuff working.
2732
2733 Tue Sep 25 16:48:50 CEST 2001 Paolo Molaro <lupus@ximian.com>
2734
2735         * ConstructorInfo.cs, MemberFilter.cs, Module.cs: added.
2736
2737 Fri Sep 14 16:12:08 CEST 2001 Paolo Molaro <lupus@ximian.com>
2738
2739         * MethodBase.cs, MethodInfo.cs: added.
2740
2741 Thu Sep 13 18:05:16 CEST 2001 Paolo Molaro <lupus@ximian.com>
2742
2743         * Assembly.cs: added stub code.
2744
2745 2001-07-18  Michael Lambert <michaellambert@email.com>
2746
2747         * BindingFlags.cs: Add.