2004-12-05 Peter Dennis Bartok <pbartok@novell.com>
[mono.git] / mcs / class / corlib / System / ChangeLog
1 2004-12-05  Peter Dennis Bartok <pbartok@novell.com>
2
3         * Enum.cs: Properly handle "No bits set" case even if the sorted numbers
4           list does not have enum value 0 as the first item. Fixes #76921
5
6 2005-12-05  Sebastien Pouliot  <sebastien@ximian.com>
7
8         * AppDomain.cs: CreateComInstanceFrom isn't static in any profile.
9
10 Mon Dec 5 15:14:59 CET 2005 Paolo Molaro <lupus@ximian.com>
11
12         * Double.cs: remove unused icall.
13         * BitConverter.cs: handle double binary format on ARM FPA.
14
15 2005-12-02  Alp Toker  <alp@atoker.com>
16
17         * MonoType.cs:
18         * Type.cs: DeclaringMethod should return MethodBase, not MethodInfo
19
20 2005-12-02  Alp Toker  <alp@atoker.com>
21
22         * AppDomain.cs: ReflectionOnlyPreBindAssemblyResolve renamed to
23         ReflectionOnlyAssemblyResolve in 2.0 final
24
25 2005-12-01  Alp Toker  <alp@atoker.com>
26
27         * String.cs: Add static and non-static Equals(... StringComparison) for
28         2.0.
29
30 2005-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
31
32         * TermInfoDriver.cs: special case for the escape key. Fixes bug #76781.
33
34 2005-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
35
36         * TermInfoDriver.cs: if the cursor_address capability contains a %i, we
37         have to add 1 to x and y when setting the cursor position.
38         Fixes bug #76856.
39
40         * Convert.cs: remove unused variables.
41
42 Wed Nov 30 12:14:20 EST 2005 Paolo Molaro <lupus@ximian.com>
43
44         * NumberFormatter.cs: work around arch-specific ulong cast behaviour
45         with large numbers.
46
47 Tue Nov 29 05:38:37 EST 2005 Paolo Molaro <lupus@ximian.com>
48
49         * Convert.cs: fix endianess issue when converting to base-8
50         format. All the base code would need a rewrite for efficience.
51
52 2005-11-25  Sebastien Pouliot  <sebastien@ximian.com>
53
54         * String.cs: Added support for Compare(... StringComparison) in 2.0.
55
56 2005-11-25  Alp Toker  <alp@atoker.com>
57
58         * Type.cs (IsVisible): New 2.0 property, implemented recursively.
59
60 2005-11-17  Dick Porter  <dick@ximian.com>
61
62         * Environment.cs: Incremented corlib version
63
64 2005-11-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
65
66         * Int32.cs, UInt32.cs, Int16.cs, UInt16.cs, Int64.cs,
67         UInt64.cs, Byte.cs, SByte.cs, Double.cs : Modify internal Parse
68         methods to return the exception as an out parameter,
69         instead of throwing it. This will be of special help
70         to TryParse methods.
71         * Environment.cs: Update corlib version to 42.
72         
73 2005-11-14  Raja R Harinath  <rharinath@novell.com>
74
75         * EventHandler.cs (EventHandler<TEventArgs>): Rename from EventHandler<T>.
76
77 2005-11-11  Zoltan Varga  <vargaz@gmail.com>
78
79         * Type.cs (GetPseudoCustomAttributes): Return ComImportAttribute as well.
80
81 2005-11-11  Lluis Sanchez Gual  <lluis@novell.com>
82
83         * TimeZone.cs: Removed incorrect double-check lock and unneeded
84         hashtable access.
85
86 2005-11-11  Marek Safar  <marek.safar@seznam.cz>
87
88         * Type.cs: IsNested implemented, signature fixes.
89
90 2005-11-11  Raja R Harinath  <rharinath@novell.com>
91
92         * Array.cs (Resize<T>) [2-argument variant]: Fix nullref.
93
94 2005-11-10  Zoltan Varga  <vargaz@gmail.com>
95
96         * Array.cs (Resize<T>): New internal method which takes a 'length' argument
97         as well to avoid copying the whole array.
98
99 2005-11-09  Atsushi Enomoto  <atsushi@ximian.com>
100
101         * Int64.cs : ditto for long.
102
103 2005-11-09  Atsushi Enomoto  <atsushi@ximian.com>
104
105         * Int32.cs : Parse("2147483648", format_provider) should be rejected.
106
107 2005-11-09  Sebastien Pouliot  <sebastien@ximian.com>
108
109         * AttributeTargets.cs: Added [ComVisible (true)] and [Serializable] 
110         in 2.0 profile.
111         * Base64FormattingOptions.cs: Added missing [Flags] attribute.
112         * ConsoleKey.cs: Removed old BackSpace and WhiteSpace (they were 
113         already replaced by Backspace and Whitespace)
114         * DateTime.cs: Moved DayOfWeek enum to it's own file.
115         * DateTimeKind.cs: New (2.0) enum.
116         * DayOfWeek.cs: New file (extracted from DateTime.cs).
117         * DomainManagerInitializationFlags.cs: Removed extra [Serializable].
118         * EnvironmentVariableTarget.cs: Added [ComVisible (true)] and fixed 
119         values (-1 to all of them).
120         *  Exception.cs: Added a LinkDemand for SerializationFormatter on
121         GetObjectData method.
122         *  LoaderOptimization.cs: Added [ComVisible (true)] and [Serializable] 
123         on enum and added [Obsolete] to DomainMask and DisallowBindings in 2.0
124         profile.
125         * PlatformID.cs: Added [ComVisible (true)] and [Serializable] in 2.0 
126         profile.
127         * StringComparison.cs: New (2.0) enum (needed for Uri).
128         * TermInfoDriver.cs: Fixed BackSpace -> Backspace (see ConsoleKey.cs).
129         * TypeCode.cs: Added [ComVisible (true)] and [Serializable] in 2.0 
130         profile.
131
132 2005-11-08  Atsushi Enomoto  <atsushi@ximian.com>
133
134         * Type.cs : I forgot to mention, some '(' were missing in the
135           improved patch ;-)
136
137 2005-11-08  Zoltan Varga  <vargaz@freemail.hu>
138
139         * Type.cs (GetPseudoCustomAttributes): Check for TypeAttributes.Serializable instead of
140         IsSerializable property, since the latter returns true for delegates/enums.
141
142 2005-11-05  Kornél Pál  <kornelpal@hotmail.com>
143
144         * Environment.cs: Use Consts.RuntimeVersion as Environment.Version that
145           makes maintenance easier.
146
147 2005-10-24  Martin Baulig  <martin@ximian.com>
148
149         * Type.cs (Type.IsGenericTypeDefinition): Make this virtual.
150
151 2005-10-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
152
153         * String.cs: fix bound checkings for LastIndexOfAny. Closes bug #76519.
154
155 2005-10-20  Raja R Harinath  <rharinath@novell.com>
156
157         * Array.cs (Swapper): Remove NET_2_0 guards from nested declaration.
158
159 2005-10-16  Michal Moskal  <malekith@nemerle.org>
160
161        * TermInfoDriver.cs: Call Init () in Background/ForegroundColor.
162
163 2005-10-14  Atsushi Enomoto  <atsushi@ximian.com>
164
165         * DateTime.cs : another crappy Windows dependent format.
166
167 2005-10-14  Ben Maurer  <bmaurer@ximian.com>
168
169         * DateTime.cs: Speed up when parsing date time objects by not
170         duplicating cultureinfo arrays.
171
172 2005-10-13  Zoltan Varga  <vargaz@gmail.com>
173
174         * Type.cs (GetTypeCode): Applied patch from 
175         Mike Welham <mwelham@gmail.com>. Return TypeCode.Empty when null is
176         passed in.
177
178 2005-10-07  Zoltan Varga  <vargaz@gmail.com>
179
180         * Delegate.cs: Add support for delegate covariance and contravariance
181         from net 2.0.
182
183 2005-10-03  Atsushi Enomoto  <atsushi@ximian.com>
184
185         * StringComparer.cs : (OrdinalIgnoreCaseComparer.Equals()) reverse.
186
187 2005-09-26  Zoltan Varga  <vargaz@gmail.com>
188
189         * String.cs (ParseFormatSpecifier): Fix skipping of whitespace. Fixes
190         #76204.
191
192 2005-09-23  Miguel de Icaza  <miguel@novell.com>
193
194         * Decimal.cs: Fix typo, patch from Tomas Kukol <tomas.kukol@gmail.com>
195
196 2005-09-19  Zoltan Varga  <vargaz@gmail.com>
197
198         * MonoCustomAttrs.cs (GetCustomAttributesInternal): Add
199         attributeType parameter.
200         (IsDefined): New icall.
201
202         * MonoCustomAttrs.cs: Avoid instantiating all custom attrs of an
203         object when only a specific attribute type is requested. Fixes #76062.
204
205         * Environment.cs: Bump corlib version.
206
207 2005-09-09  Zoltan Varga  <vargaz@gmail.com>
208
209         * TypeLoadException.cs MissingMethodException.cs MissingFieldException.cs: Add new ctors called by the runtime. Improve Message property.
210
211 2005-09-14  Atsushi Enomoto  <atsushi@ximian.com>
212
213         * DateTime.cs : (_DoParse) don't check ticks range before computing
214           the actual value. Fixed bug #76082.
215
216 2005-09-14  Atsushi Enomoto  <atsushi@ximian.com>
217
218         * TimeZone.cs : When the target DateTime is in the range of
219           DST end to DST + delta, don't adjust UtcOffset gap between that of
220           DST and that of STD. This should fix bug #75985.
221
222 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
223
224         * TimeZone.cs, DateTime.cs :
225           - ToLocalTime() and ToUniversalTime() are moved to TimeZone.
226           - Added more COM patterns. Patch by Ankit Jain. Fixed bug #72132.
227           - use ToLocalTime() and don't depend on the own offset computation.
228             Parse() with 'Z' pattern is closer to correct value on switching
229             Daylight Saving Time. See bug #75985.
230
231 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
232
233         * DateTime.cs : (DoParse) DateTimeStyles.AdjustToUniversal was not
234           handled as expected and it kept time value as local one.
235           Patch by Brion Vibber. Fixed bug #75995.
236
237 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
238
239         * DateTime.cs : Literal escape (\) was not checking format as
240           expected. Fixed bug #75213.
241
242 2005-09-05  Miguel de Icaza  <miguel@novell.com>
243
244         * MonoType.cs: Patch from Jonathan Chambers to implement
245         Type.GUID. 
246
247 2005-09-05  Martin Baulig  <martin@ximian.com>
248
249         Reflect latest API changes in the August CTP.
250
251         * Type.cs (Type.HasGenericArguments): Removed.
252         (Type.BindGenericParameters): Renamed to MakeGenericType().
253
254 2005-09-01  Atsushi Enomoto  <atsushi@ximian.com>
255
256         * DateTime.cs : another idiotic COM dependent format.
257
258 2005-09-01  Kornél Pál  <kornelpal@hotmail.com>
259
260         * __ComObject.cs: Fixed to be internal. Removed CLSCompliant attribute.
261         Added some comments about the class.
262
263 2005-08-30  Sebastien Pouliot  <sebastien@ximian.com>
264
265         * AppDomain.cs: Use the more concise property syntax for declarative
266         security.
267         * AppDomainManager.cs: Default HostSecurityManager is null.
268
269 2005-08-25  Atsushi Enomoto  <atsushi@ximian.com>
270
271         * NumberFormatter.cs : eliminate non-ASCII character.
272
273 2005-08-25  Marek Safar  <marek.safar@seznam.cz>
274
275         * Enum.cs: Better exception message.
276         
277 2005-08-21  Gert Driesen  <drieseng@users.sourceforge.net>
278
279         * Convert.cs: In FromBase64String, return empty byte array for zero
280         length string. Pass bool to InternalFromBase64String to control 
281         whether to allow a whitespace-only string.
282         * Environment.cs: Bump corlib version.
283
284 2005-08-20  Zoltan Varga  <vargaz@freemail.hu>
285
286         * Environment.cs: Bump corlib version.
287
288 2005-08-19  Zoltan Varga  <vargaz@freemail.hu>
289
290         * Math.cs: Implement a new 2.0 Round method.
291
292 2005-08-19  Gert Driesen  <drieseng@users.sourceforge.net>
293
294         * Convert.cs: Throw OverflowException if result is larger than
295         ushort.MaxValue to match MS.NET. Remove commented code.
296
297 2005-08-17  Gert Driesen  <drieseng@users.sourceforge.net>
298
299         * Convert.cs: For now, do not throw OverflowException if hex prefixed
300         value is negative for signed types (other than int64). Need to look
301         into this further.      
302
303 2005-08-17  Gert Driesen  <drieseng@users.sourceforge.net>
304
305         * Convert.cs: Numerous fixed in overloads taking base to match 
306         behaviour of MS.NET. Throw ArgumentOutOfRangeException is string is
307         empty. If base is 16, 8 or 2, then throw ArgumentException if first 
308         character is a negative sign. Throw OverflowException if hex prefixed 
309         value is negative for signed types (other than int64) to match MS.NET. 
310
311 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
312
313         * DateTime.cs : added another COM dependent pattern (rather to describe
314           how it works on .NET than to add the pattern itself...).
315
316 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
317
318         * DateTime.cs : added case for bug #53023.
319
320 2005-08-10  Zoltan Varga  <vargaz@freemail.hu>
321
322         * Type.cs: Add IsGenericType property from NET 2.0.
323
324 2005-08-10  Atsushi Enomoto  <atsushi@ximian.com>
325
326         * String.cs : added new StartsWith()/EndsWith() override, fixing
327           existing EndsWith() which incorrectly assumed that both string
328           lengths must be equivalent (they are not always equal).
329         * StringComparer.cs : added Ordinal and OrdinalIgnoreCase.
330
331 2005-08-09  Zoltan Varga  <vargaz@freemail.hu>
332
333         * String.cs: Implement Split(String[]) methods.
334
335 2005-08-09  Miguel de Icaza  <miguel@novell.com>
336
337         * AppDomainSetup.cs: Full-pathization of the appBase should only
338         be done on Windows, the ":" condition never applied to Linux.
339
340         * ConsoleKey.cs: Include a few aliases for a few values that were
341         introduced recently.
342
343 2005-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
344
345         * ConsoleKey.cs: added Backspace, which has the same value as BackSpace.
346         Fixes bug #75697.
347
348 2005-08-08  Atsushi Enomoto  <atsushi@ximian.com>
349
350         * String.cs : (StartsWith) compared string lengths are not always the
351           same in culture-sensitive comparison.
352
353 2005-08-05  Gert Driesen  <drieseng@users.sourceforge.net>
354
355         * Array.cs: Changed protected ctor to private. Fixes API compatibility
356         with MS.NET.
357         * RuntimeFieldHandle.cs: Equals methods and GetHashCode should only
358         be exposed in 2.0 profile.
359         * RuntimeMethodHandle.cs: Equals methods and GetHashCode should only
360         be exposed in 2.0 profile.
361         * RuntimeTypeHandle.cs: Equals methods and GetHashCode should only
362         be exposed in 2.0 profile.
363         * Type.cs: Added GetType method and implemented _Type interface.
364         Fixes API compatibility with MS.NET.
365
366 2005-07-28  Marek Safar  <marek.safar@seznam.cz>
367
368         * StringComparer.cs: Add generics version of string interfaces.
369
370 2005-07-26  Atsushi Enomoto  <atsushi@ximian.com>
371
372         * StringComparer.cs : implemented StringCultureComparer.GetHashCode().
373
374 2005-07-26  Zoltan Varga  <vargaz@freemail.hu>
375
376         * StringSplitOptions.cs MidpointRounding.cs: New files.
377
378         * String.cs Math.cs: Add stubs for some new 2.0 APIs.
379
380 2005-07-26  Marek Safar  <marek.safar@seznam.cz>
381
382         * StringComparer.cs: New file.
383
384 2005-07-26  Raja R Harinath  <harinath@gmail.com>
385
386         * Enum.cs (GetValue): Make private.  Return an ulong.
387         (Parse): Tighten scope of couple of variables.  Use ulong when
388         twiddling bits.
389
390 2005-07-25  Raja R Harinath  <rharinath@novell.com>
391
392         * Enum.cs (FindName, GetValue): New.  Carved out of ...
393         (Parse): ... this.  Refactor and simplify code.  Avoid incurring
394         exceptions when parsing names.  Avoid allocating arrays unless
395         necessary.  Avoid conversion of an enumeration constant to its own
396         type.  (Incorporates ideas from a patch by Gonzalo Paniagua Javier.)
397
398 2005-07-13  Lluis Sanchez Gual  <lluis@novell.com>
399
400         * MarshalByRefObject.cs: GetLifetimeService() should be virtual.
401         Fixes bug #75527.
402
403 2005-07-13  Miguel de Icaza  <miguel@novell.com>
404
405         * Array.cs: Patch from rodrigobamboo@gmail.com that fixes the
406         signature for GetValue and SetValue to make the long [] argument
407         be a params argument. 
408
409 2005-07-11  Pedro Martínez Juliá  <pedromj@gmail.com>
410
411         * Convert.cs: Fix the bug when Convert.ChangeType was using
412         NumberFormatInfo instead of DateTimeFormatInfo when the type to
413         change is a DateTime.
414
415 2005-07-11  Martin Baulig  <martin@ximian.com>
416
417         * Array.cs: Use Type.Equals() instead of `==' to compare type
418         parameters.     
419
420 2005-07-10  Kamil Skalski <nazgul@nemerle.org>
421
422         * Type.cs: Mark BindGenericParameters as deprecated. Use
423         MakeGenericType as default implementation with updated signature.
424
425 2005-07-09  Zoltan Varga  <vargaz@freemail.hu>
426
427         * Attribute.cs (IsDefined): Fix IsDefined for ParameterInfo's. Fixes
428         #75514.
429
430 2005-07-05  Lluis Sanchez Gual  <lluis@novell.com>
431
432         * DelegateSerializationHolder.cs: When the deserialized target is
433         a proxy, call IsInstanceOfType to force the proxy to load the
434         real type of the remote object. This is needed to make sure that
435         subsequent calls to GetType() return the expected type. This fixes
436         bug #75447.
437
438 2005-07-03  Ben Maurer  <bmaurer@ximian.com>
439
440         * OperatingSystem.cs: patch from Aleksandar Dezelin to fix
441         serialization.
442
443 2005-06-30  Sebastien Pouliot  <sebastien@ximian.com> 
444
445         * Guid.cs: Avoid code duplication between overriden methods (new in 
446         2.0). Avoid exception processing when possible. Renamed parameters to
447         match the framework. Added ComVisible to NET_2_0.
448
449 2005-06-28  Elliott Draper  <el@eldiablo.co.uk>
450
451         * Activator.cs: This implements the generic Activator.CreateInstance<T>()
452         function for NET_2_0. It's full signature is:
453                 public static T CreateInstance<T>();
454
455 2005-06-28  Lluis Sanchez Gual  <lluis@novell.com>
456
457         * Decimal.cs: Renamed internal fields for the sake of serialization
458         interoperability with MS.NET.
459         * Exception.cs: In the StackTrace property, return the stack trace
460         if it has a value, even if the exception has not been thrown
461         (it may have been deserialized).
462
463 2005-06-28  Martin Baulig  <martin@ximian.com>
464
465         * Array.cs (Array.InternalArray<T>): New nested class; derives
466         from Array.  This is now used by the runtime for arrays; fixes #74953.
467
468 2005-06-27  Atsushi Enomoto  <atsushi@ximian.com>
469
470         * String.cs : added some extra whitespace characters for Trim().
471           Fixed bug #75259.
472
473 2005-06-13  Michal Moskal <malekith@nemerle.org>
474         
475         * MonoType.cs: Don't use MethodHandle in GetMethod/GetConstructor,
476         since it now throws on MethodBuilders. Don't use FieldHandle in
477         GetField (throws on FieldBuilder) - just use the name.
478
479 2005-06-13  Martin Baulig  <martin@ximian.com>
480
481         * MonoType.cs
482         (MonoType.getFullName): Added `bool assembly_qualified' argument.
483         (MonoType.AssemblyQualifiedName): The interncall now adds the
484         assembly name, so we don't need to do it here.
485         (MonoType.FullName): Use the new getFullName() API.
486
487 2005-06-14  Sebastien Pouliot  <sebastien@ximian.com>
488
489         * Char.cs: ToLowerInvariant and ToUpperInvariant are now public in 
490         NET_2_0. Added "new" white char and ComVisible for 2.0.
491
492 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
493
494         * Convert.cs: FromBase64String and FromBase64CharArray are now internal
495         calls to avoid extra allocations.
496
497 2005-06-09  Kamil Skalski <nazgul@nemerle.org>
498
499         * Type.cs: Add MakeGenericType method form .NET 2.0 beta 2 API
500
501         * Type.cs MonoType.cs: Add internal virtual
502         Get{Method,Constructor,Field} for obtaining instanciated *Info objects
503         from non-instanciated counterparts
504
505 2005-06-09  Zoltan Varga  <vargaz@freemail.hu>
506
507         * ModuleHandle RuntimeMethodHandle.cs RuntimeTypeHandle.cs RuntimeFieldHandle.cs RuntimeArgumentHandle.cs: Add missing 2.0 attributes.
508
509 2005-06-08  Zoltan Varga  <vargaz@freemail.hu>
510
511         * Type.cs: Add missing 2.0 attributes.
512
513 2005-06-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
514
515         * MonoCustomAttrs.cs: Added GetCustomAttributesDataInternal icall, and
516         also internal method GetCustomAttributesData, used by 
517         System.Reflection.CustomAttributeData.
518         
519 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
520
521         * Activator.cs: Added  _Activator interface (and members) for 1.1 and
522         missing attributes (for both 1.1 and 2.0).
523         * String.cs: Made internal To[Lower|Upper]Invariant methods public for
524         2.0. Reworked Trim() to skip a useless call. Added missing attribute
525         for 2.0.
526         * Type.cs: Added  _Type, _MemberInfo interfaces (1.1/2.0). Added 
527         missing attribute for 2.0. Hided some public/protected methods.
528
529 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
530
531         * ModuleHandle.cs: Update after PortableExecutableKinds name change.
532
533 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
534
535         * _AppDomain.cs: Added new members in the interface (added in 1.1 SP1)
536         * AppDomain.cs: Added new members from _AppDomain interface.
537         * AppDomainManager.cs: Fixed flags and added attributes.
538         * DomainManagerInitializationFlags.cs: The flag has been renamed to 
539         AppDomainManagerInitializationOptions in beta2.
540
541 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
542
543         * Type.cs MonoCustomAttrs.cs: Return SerializableAttribute for types as well.
544
545 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
546
547         * Exception.cs: Implements _Exception only for 2.0.
548
549 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
550
551         * GC.cs: Fix build.
552         
553         * GC.cs UnhandledExceptionEventArgs.cs IntPtr.cs RuntimeFieldHandle.cs 
554           String.cs Object.cs Math.cs RuntimeMethodHandle.cs ModuleHandle.cs 
555           RuntimeTypeHandle.cs AppDomain.cs: Add some missing 2.0 methods/attributes.
556
557 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
558
559         * Environment.cs:
560         * AppDomain.cs: if the assembly is loaded from a byte array, Location
561         returns "". Fixes bug #74958.
562
563 2005-06-04  Ben Maurer  <bmaurer@ximian.com>
564
565         * *.cs: More 2.0 API fixups
566
567         * *.cs: In beta 2, generics are no longer non-cls-compliant.
568
569 2005-06-05  Kazuki Oikawa  <kazuki@panicode.com>
570
571         * NumberFormatter.cs: Fixed the output of 0.ToString("00.00E00")
572         that was different from MSFT.
573         * String.cs: Fixed IndexOfAny thrown an exception
574         when startIndex of arguments equals Length. (Closes bug #75083.)
575
576         * Decimal.cs: Changed to use NumberFormatter in ToString.
577         * NumberFormatter.cs: Implemented decimal formatter.
578
579 2005-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
580
581         * Type.cs: reverted wrong fix for bug #71300 in r45150. This makes SSL
582         support in System.Net work again.
583
584 2005-06-01  Ben Maurer  <bmaurer@ximian.com>
585
586         * CharEnumerator.cs: add IEnumerable <char> support
587
588 2005-05-30  Sebastien Pouliot  <sebastien@ximian.com>
589
590         * Activator.cs: Added missing validation on parameters.
591
592 2005-05-28  Ben Maurer  <bmaurer@ximian.com>
593
594         * Type.cs: Check that the arguments of the `types' array are
595         non-null. Fixes bug 71300
596
597 2005-05-28  Sebastien Pouliot  <sebastien@ximian.com>
598
599         * AppDomainSetup.cs: Added new 2,0 constructors and the 
600         ActivationArguments property.
601         * AppDomainManager.cs: Added using System.Runtime.Hosting as it is the
602         new location for the ApplicationActivator class.
603         * ApplicationActivator.cs: Moved to System.Runtime.Hosting namespace.
604
605 2005-05-27  Vladimir Vukicevic  <vladimir@pobox.com>
606
607         * Environment.cs: bump corlib version for bug #75060.
608
609 2005-05-27  Raja R Harinath  <rharinath@novell.com>
610
611         * Environment.cs (ExpandEnvironmentVariables): Rewrite
612         sb.Append (s.SubString (a, b)) to sb.Append (s, a, b).
613         * String.cs (FormatHelper): Rewrite sb.Append (s.SubString (a)) to
614         sb.Append (s, a, s.Length - a).  Avoid allocating 'pad' string --
615         StringBuilder has an appropriate Append overload.
616
617 2005-05-26  Zoltan Varga  <vargaz@freemail.hu>
618
619         * Type.cs (IsEnum): Special case EnumBuilder here.
620
621 2005-05-26  Sebastien Pouliot  <sebastien@ximian.com>
622
623         * MonoType.cs: Changed call from GetName to UnprotectedGetName to
624         allow call to work with serialization under a restrictive policy.
625         The code path (the protected information) isn't being used.
626
627 2005-05-25  Zoltan Varga  <vargaz@freemail.hu>
628
629         * Exception.cs: Use the new StackTrace ctor.
630
631         * Type.cs: Improve support for user defined type subclasses.
632
633 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
634
635         * DateTime.cs : Added minimum digit parameter to ParseNumber() to
636           reject 2 digit years for "yyyy".
637           Use GetAllDateTimePatterns() instead of constant string.
638           Fixed bug #72788.
639
640 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
641
642         * DateTime.cs : next_not_digit prevented some valid parse.
643           Just remove it, since now we pass max length to ParseNumber() and
644           thus it is not needed anymore. Fixed bug 63137.
645
646 2005-05-24  Atsushi Enomoto  <atsushi@ximian.com>
647
648         * DateTime.cs : HH should not always block tt. Fixed bug #60912.
649           Reset num after whitespace parsing.
650           Added "M/d/yyyy HH':'mm':'ss tt" as an invariant pattern.
651
652 2005-05-24  Atsushi Enomoto  <atsushi@ximian.com>
653
654         * DateTime.cs : Allow ',' where whitespaces are allowed.
655           Fixed bug #71289.
656
657 2005-05-22  Ben Maurer  <bmaurer@ximian.com>
658
659         * BitConverter.cs: Speed this up, fixing 74014. Patch from
660         `Aleksandar Dezelin'.
661
662 2005-05-20  Zoltan Varga  <vargaz@freemail.hu>
663
664         * Type.cs: Add some helper methods needed by other classes.
665
666         * Array.cs: Improve support for user defined Type subclasses.   
667         
668         * Type.cs: Rename GetTypeCode icall to GetTypeCodeInternal and add a managed
669         wrapper function, not used yet.
670
671         * Type.cs Array.cs: Revert this as it breaks the build.
672
673         * Type.cs Array.cs: Improve support for user defined Type subclasses.
674
675 2005-05-19  Ben Maurer  <bmaurer@ximian.com>
676
677         * Delegate.cs (Equals): Use `as' to protect in the case where !
678         (obj is Delegate)
679
680 2005-05-19  Raja R Harinath  <rharinath@novell.com>
681
682         * Console.cs (Readline) [NET_2_0]: Avoid "uninitialized variable"
683         error.
684
685 2005-05-19  Miguel de Icaza  <miguel@novell.com>
686
687         * TermInfoDriver.cs: Removed warning.
688
689         * Array.cs (Resize<T>, TrueForAll<T>, ConvertAll<TInput,TOutput>,
690         FindLastIndex<T>: Parameter names are normative.        
691         Fix coding style ("Method<T>" not "Method <T>")
692         Throw argument exceptions per argument.
693         
694         (FindAll): Fix bug, actually return the values that were computed,
695         not a short version of the original array.
696         
697 2005-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
698
699         * Console.cs: fix error in the 2_0 side and split ReadLine in 2, one
700         for each framework version.
701
702 2005-05-15  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
703
704         * Attribute.cs:
705         * Exception.cs: .Net 1.1 already has these interfaces
706
707 Mon May 16 18:23:49 CEST 2005 Paolo Molaro <lupus@ximian.com>
708
709         * MonoCustomAttrs.cs, Type.cs: do not create a SerializableAttribute
710         object on GetCustomAttributes (fixes bug #74717).
711
712 2005-05-15  Atsushi Enomoto  <atsushi@ximian.com>
713
714         * DateTime.cs : for 'z' next_not_digit didn't work as expected.
715           Fixed bug #74775.
716
717 2005-05-15  Atsushi Enomoto  <atsushi@ximian.com>
718
719         * DateTime.cs : don't allow extraneous pattern characters also for
720           non-exact parsing (ParseExact() was fine). Bug #74936 fixed
721
722 2005-05-13  Gert Driesen <drieseng@users.sourceforge.net>
723
724         * Activator.cs: Match exceptions thrown by MS.NET for
725         CreateInstance overloads if type is abstract. Fixes bug #74861.
726
727 2005-05-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
728
729         * OperatingSystem.cs: PlatformID.Unix.
730
731 2005-05-09  Sebastien Pouliot  <sebastien@ximian.com>
732
733         * Environment.cs: Patch from Gonzalo to fix Environment.OSVersion.
734         Platform under NET_2_0 to return PlatformID.Unix. Fix bug #74841.
735
736 2005-05-07  Atsushi Enomoto  <atsushi@ximian.com>
737
738         * NumberFormatter.cs : roundtrip number is already rounded before
739           FormatGeneral() and DefaultMaxPrecision was extraneous. This fixes
740           bug #72955.
741
742 2005-05-07  Ben Maurer  <bmaurer@ximian.com>
743
744         * Array.cs (BinarySearch): Patch from kazuki to pass arguments to
745         the comparer in the same order as msft. Fixes #70725
746
747 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
748
749         * Enum.cs: the hashtable don't need to be synchronized any more, since
750         it's only accessed from withint a lock.
751
752         * Console.cs: stdin, stdout and stderr will never be finalized. Fixes
753         bug 74768.
754
755 2005-05-06  Zoltan Varga  <vargaz@freemail.hu>
756
757         * Array.cs: Remove CLSCompliant (false) attributes.
758
759 2005-05-06  Martin Baulig  <martin@ximian.com>
760
761         * Predicate.cs, Action.cs, Comparision.cs, Converter.cs: Add
762         [CLSCompliant(true)] attribute.
763
764 2005-05-04  Miguel de Icaza  <miguel@novell.com>
765
766         * Enum.cs (MonoEnumInfo): Based on a patch from James Willcox,
767         initialize cache as a static method.  Fixes #74828.
768
769 2005-05-03  Marek Safar  <marek.safar@seznam.cz>
770
771         * Console.cs: CancelKeyPress is stubbed.
772
773 2005-04-25  Sebastien Pouliot  <sebastien@ximian.com>
774
775         * ActivationContext.cs: Updated for beta2.
776         * AppDomainManager.cs: Updated for beta2.
777         * ApplicationId.cs: Updated for beta2.
778         * ApplicationIdentity.cs: Updated for beta2.
779         * Exception.cs: Now use Assembly.UnprotectedGetName () as Exception 
780         doesn't leak the code base from the returned AssemblyName.
781
782 2005-04-25  Martin Baulig  <martin@ximian.com>
783
784         * Environment.cs (Environment.Version): Changed to 2.0.50215.
785
786 2005-04-22  Sebastien Pouliot  <sebastien@ximian.com>
787
788         * Attribute.cs: Added _Attribute interface to NET_2_0 to reduce the 
789         number of "missing" in the class status pages.
790
791 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
792
793         * MulticastDelegate.cs: (GetInvocationList) when building the list that
794         is later traversed forward, mark 'this' as the end of the chain.
795         Fixes bug #74607.
796
797 2005-04-19  Zoltan Varga  <vargaz@freemail.hu>
798
799         * Environment.cs: Bump corlib version.
800
801 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
802
803         * WindowsConsoleDriver.cs: ignore key release events.
804
805 2005-04-06  Atsushi Enomoto  <atsushi@ximian.com>
806
807         * Char.cs : ToUpper()/ToLower() comparison ranges were incorrect.
808
809 2005-04-05  Sebastien Pouliot  <sebastien@ximian.com>
810
811         * _AppDomain.cs: Add security checks to the interface. Declarative 
812         security on events requires BOOTSTRAP_WITH_OLDLIB to work properly 
813         with older MCS.
814         * AppDomain.cs: Add some (not complete) security checks. Bug#74411 is
815         blocking some cases from working properly. Declarative security on 
816         events requires BOOTSTRAP_WITH_OLDLIB to work properly with older MCS.
817
818 2005-04-04  Sebastien Pouliot  <sebastien@ximian.com>
819
820         * AppDomain.cs: Use the PolicyLevel to resolve the granted permissions
821         on the AppDomain. Added an internal property to get the granted set.
822
823 2005-04-04  Atsushi Enomoto  <atsushi@ximian.com>
824
825         * String.cs,
826           Char.cs : use TextInfo for ToLower() and ToUpper().
827
828 2005-03-31  Sebastien Pouliot  <sebastien@ximian.com>
829
830         * Exception.cs: Added Assert for TypeInformation to GetObjectData and
831         ToString methods (not required for 2.0 as TypeInformation will be 
832         deprecated). Added null check for GetObjectData.
833
834 Tue Mar 29 11:47:19 CEST 2005 Paolo Molaro <lupus@ximian.com>
835
836         * Delegate.cs: allow IronPython 0.7 to compile.
837
838 2005-03-24  Miguel de Icaza  <miguel@novell.com>
839
840         * Delegate.cs: Add CreateDelegate with a target option, currently
841         internal as it is not exposed by the framework yet.
842
843 2005-03-24  Zoltan Varga  <vargaz@freemail.hu>
844
845         * String.cs: Add some 2.0 methods.
846
847 2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
848
849         * Activator.cs: Now use the supplied evidences when loading 
850         assemblies. Added LinkDemand for RemotingConfiguration on both
851         GetObject methods.
852         * Console.cs: Added Assert for UnmanagedCode on OpenStandard[Error|
853         Input|Output] as they use a handle on a FileStream (which is
854         restricted otherwise). Added Demand for UnmanagedCode for the
855         Set[Error|In|Out] methods.
856         * MarshalByRefObject.cs: Added LinkDemand for Infrastructure on 
857         CreateObjRef, GetLifetimeService and InitializeLifetimeService.
858         * RuntimeMethodHandle.cs: Added Demand for UnmanagedCode on 
859         GetFunctionPointer method.
860         * TypedReference.cs: Added LinkDemand for ReflectionPermission's
861         MemberAccess on MakeTypedReference.
862
863 2005-03-14  Sebastien Pouliot  <sebastien@ximian.com>
864
865         * Environment.cs: Fix CAS unit tests for NET_1_1.
866         * Exception.cs: Fix CAS unit tests for NET_1_1.
867
868 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
869
870         * Version.cs: don't ignore the last number. Fixes bug #73539.
871
872 2005-03-11  Sebastien Pouliot  <sebastien@ximian.com>
873
874         * MonoType.cs: When the security manager is active, constructors and
875         methods will return null if a linkdemand fails during reflection 
876         query.
877
878 2005-03-11  Zoltan Varga  <vargaz@freemail.hu>
879
880         * Array.cs (Sort): Bail out early if length <= 1. Fixes #72721.
881
882 2005-03-10  Zoltan Varga  <vargaz@freemail.hu>
883
884         * Environment.cs: Bump corlib version.
885
886 2005-03-10  Martin Baulig  <martin@ximian.com>
887
888         * Nullable.cs (Nullable<T>.ToString): Return an empty string if
889         we're null.
890
891 2005-03-09  Zoltan Varga  <vargaz@freemail.hu>
892
893         * Activator.cs MonoType.cs: Applied patch from Carlos Alberto Cortez
894         (carlos@unixmexico.org). Allow creation of valuetypes with no ctor.
895         Fixes #73432.
896
897 2005-03-04  Zoltan Varga  <vargaz@freemail.hu>
898
899         * Environment.cs: Bump corlib version.
900
901         * Exception.cs (StackTrace): Return the wrapper info as well.
902
903 2005-03-02  Kazuki Oikawa  <kazuki@panicode.com>
904
905         * NumberFormatter.cs: Some internal classes was converted to structs,
906         and improved some points.
907
908 2005-02-26  Kazuki Oikawa  <kazuki@panicode.com>
909
910         * NumberFormatter.cs: Improved performance and memory usage
911         when integer standard format.
912         * SByte.cs:
913         * Int16.cs:
914         * Int32.cs:
915         * Int64.cs:
916         * Byte.cs:
917         * UInt16.cs:
918         * UInt32.cs:
919         * UInt64.cs:
920         * Single.cs:
921         * Double.cs:
922         * TimeSpan.cs: Improved these directly call to NumberFormatter.
923
924 2005-02-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
925
926         * TermInfoDriver.cs: set the xmit mode if available. Handle key input
927         and translate them into a ConsoleKeyInfo.
928         * TermInfoReader.cs: added a method to return the bytes of a string
929         property.
930         * ConsoleKeyInfo.cs: added copy constructor and setters.
931
932 2005-02-24  Zoltan Varga  <vargaz@freemail.hu>
933
934         * Array.cs: Add missing 2.0 attributes and correct some parameter names.
935
936 2005-02-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
937
938         * AppDomain.cs: Changed GetAssemblies, LoadAssembly, and Load signatures,
939         and added some to support the reflection only methods. DoAssemblyResolve
940         was modified to invoke the new PreBindAssemblyResolve event when the
941         assembly is reflection only.
942         
943 2005-02-21  Zoltan Varga  <vargaz@freemail.hu>
944
945         * GC.cs Double.cs IntPtr.cs Array.cs Decimal.cs Math.cs Single.cs:
946         Add net 2.0 ReliabilityContractAttributes.
947
948 2005-02-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
949
950         * TermInfoDriver.cs: cygwin terminals are handled by the windows
951         console driver.
952
953         * TermInfoReader.cs:
954         * TermInfoNumbers.cs:
955         * KnownTerminals.cs:
956         * TermInfoBooleans.cs:
957         * TermInfoStrings.cs: documented.
958
959 2005-02-19  Kazuki Oikawa <kazuki@panicode.com>
960
961         * Array.cs: Reverse the order in the Equals calls.
962
963 2005-02-18  Zoltan Varga  <vargaz@freemail.hu>
964
965         * Exception.cs (StackTrace): Implement this in managed code since it is
966         needed by CAS. Fixes #72146.
967
968 2005-02-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
969
970         * WindowsConsoleDriver.cs: implemented MoveBufferArea.
971
972 2005-02-14  Raja R Harinath  <rharinath@novell.com>
973
974         * Array.cs (Array.Swapper) [!BOOTSTRAP_WITH_OLDLIB]: Make nested.
975         See #72015.
976
977 2005-02-12  Ben Maurer  <bmaurer@ximian.com>
978
979         * Version.cs (CompareTo, Equals): Make sure the versions for
980         generics handle `null'. The non-generics versions now just call
981         the regular versions, to reduce code duplication.
982
983         * Boolean.cs (CompareTo): make this really work for generics 
984
985         * Type.cs (GetProperty): Passing new Type [0] is different than
986         null. null means `I don't care how many types this has,' while new
987         Type [0] means `this must have 0 types.'
988
989 2005-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
990
991         * corlib.dll.sources: added WindowsConsoleDriver.cs
992
993         * System/ConsoleDriver.cs: use WindowsConsoleDriver on windows and
994         implemented the few missing properties/methods.
995
996         * System/IConsoleDriver.cs: uncommented all methods/properties.
997         * System/TermInfoDriver.cs: implement changes from IConsoleDriver.
998         * System/WindowsConsoleDriver.cs: implemented IConsoleDriver for
999         windows. Only missing MoveBufferArea by now.
1000
1001 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
1002
1003         * Type.cs (IsAssignableFrom): Add support for TypeBuilders.
1004
1005         * Int32.cs AppDomain.cs: Fix warnings.
1006
1007 2005-02-10  Marek Safar  <marek.safar@seznam.cz>
1008
1009         * IServiceProvider.cs: Is not ComVisible.
1010
1011         * NonSerializedAttribute.cs: Fix AttributeUsage flags.
1012
1013         * Type.cs: Fix ClassInterface attribute.
1014
1015 Tue Feb 8 19:26:47 CET 2005 Paolo Molaro <lupus@ximian.com>
1016
1017         * Delegate.cs: remove the finalizer from Delegate: this
1018         is handled internally by the runtime now.
1019
1020 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1021
1022         * Activator.cs: provide the Type name when throwing an exception.
1023
1024 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1025
1026         * TimeZone.cs: lock on the static Hashtable instead of 'this'. Fixes
1027         bug #72238.
1028
1029 Fri Feb 4 15:46:04 CET 2005 Paolo Molaro <lupus@ximian.com>
1030
1031         * Array.cs: provide specialized versions of some methods.
1032
1033 Thu Feb 3 15:15:25 CET 2005 Paolo Molaro <lupus@ximian.com>
1034
1035         * String.cs: provide a managed memcpy and memset method
1036         for use both in corlib and from the JIT. Implement
1037         some methods with the managed helpers and remove some icalls.
1038
1039 2005-01-31  Sebastien Pouliot  <sebastien@ximian.com>
1040
1041         * Exception.cs: Added Data property for NET_2_0 (required for new
1042         unit tests).
1043
1044 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1045
1046         * ConsoleDriver.cs:
1047         * TermInfoDriver.cs:
1048         * IConsoleDriver.cs:
1049         * Console.cs: added BufferWidth and BufferHeight.
1050
1051 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1052
1053         * ConsoleDriver.cs:
1054         * Console.cs:
1055         * TermInfoDriver.cs:
1056         * IConsoleDriver.cs: added a few more properties and fixed cursor
1057         addressing.
1058
1059 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1060
1061         * ConsoleDriver.cs: static class that forwards the Console 2.0 class
1062         calls to the proper driver.
1063         * TermInfoDriver.cs: terminfo based console driver.
1064         * IConsoleDriver.cs: interface implemented by console drivers.
1065
1066         * ConsoleCancelEventArgs.cs:
1067         * ConsoleCancelEventHandler.cs:
1068
1069         * ConsoleModifiers.cs: 
1070         * ConsoleSpecialKey.cs:
1071         * ConsoleColor.cs:
1072         * ConsoleKey.cs: new enumerations.
1073
1074         * ConsoleKeyInfo.cs: New file.
1075
1076         * TermInfoReader.cs: reader for terminfo capabilities files.
1077
1078         * TermInfoNumbers.cs:
1079         * TermInfoBooleans.cs:
1080         * TermInfoStrings.cs: enumations for terminfo property names.
1081
1082         * KnownTerminals.cs: byte arrays for selected terminals.
1083
1084         * Console.cs: added more 2.0 methods and implemented some of them.
1085
1086
1087 2005-01-30  Atsushi Enomoto  <atsushi@ximian.com>
1088
1089         * Int32.cs : (FindSign) IndexOf() is better than creating substring.
1090
1091 2005-01-27  Sebastien Pouliot  <sebastien@ximian.com>
1092
1093         * BadImageFormatException.cs: Protect the fusion (GAC) log from being
1094         disclosed unless code has ControlPolicy and ControlEvidence.
1095
1096 2005-01-27  Zoltan Varga  <vargaz@freemail.hu>
1097
1098         * Exception.cs: Compute stack trace on demand.
1099
1100 2005-01-26  Sebastien Pouliot  <sebastien@ximian.com>
1101
1102         * Environment.cs: Removed hack for static class (NET_2_0). Added 
1103         proper security for FailFast (documented in FDBK20543). Added new
1104         method IsRunningOnWindows to replace (Platform == 128) as the logic is
1105         gonna change in the future (Unix is id #4 in NET_2_0).
1106
1107 2005-01-24  Sebastien Pouliot  <sebastien@ximian.com>
1108
1109         * Environment.cs: Added CAS security (both declarative and imperative)
1110         as a test. This shouldn't affect execution unless --security is 
1111         specified.
1112
1113 2005-01-19  Rafael Teixeira  <rafaelteixeirabr@hotmail.com>
1114         * Type.cs: Corrected implementation for the Type.FilterNameIgnoreCase
1115         and Type.FilterName delegates They weren't dealing with the optional '*'
1116         at the end of the filter mask
1117
1118 2005-01-19  Zoltan Varga  <vargaz@freemail.hu>
1119
1120         * Array.cs: Fix a typo in the previous patch.
1121         
1122         * Array.cs: Fix some test failures in the generic methods.
1123
1124         * Array.cs: Implement AsReadOnly.
1125
1126 2005-01-13  Geoff Norton  <gnorton@customerdna.com>
1127
1128         * Guid.cs: Fix endian issues (use Mono.Security.BitConverterLE).  Fixes
1129         #71242
1130
1131 2005-01-11  Sebastien Pouliot  <sebastien@ximian.com>
1132
1133         * AppDomain.cs: Removed Activate and ActivateNewProcess methods. They
1134         have been removed from 2.0.
1135
1136 2005-01-11  Zoltan Varga  <vargaz@freemail.hu>
1137
1138         * Boolean.cs Char.cs Single.cs Double.cs: Implement IComparable<T> in
1139         NET 2.0.
1140
1141 2005-01-10  Sebastien Pouliot  <sebastien@ximian.com>
1142
1143         * ApplicationIdentity.cs: Throw ArgumentNullException if name is null.
1144         Add default culture (neutral) to the name when none is specified.
1145         * AppDomain.cs: Changed IsDefaultAppDomain (2.0). Is seems that we 
1146         can't trust Id ?
1147
1148 2005-01-09  Sebastien Pouliot  <sebastien@ximian.com>
1149
1150         * DateTime.cs: Reverted last patch for utc as it broke all certificate
1151         handling and another unit test in DateTime.
1152
1153 2005-01-09  Miguel de Icaza  <miguel@ximian.com>
1154
1155         * DateTime.cs: Return immediately if useutc is set to true, there
1156         is no need to do the extra computation (which also happened to
1157         create a new DateTime using the `use_localtime' constructor, which
1158         lead to the erroneous date returns when using 'u' or `U'
1159         formats).   
1160
1161         Fixes another bug in the regression test suite.
1162
1163 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com> 
1164
1165         * AppDomain.cs: Fix the DefaultDomain property to return the root 
1166         domain (as it seems that the root's Id isn't always 0).
1167         * BitConverter.cs: The "special support" for ToString(new byte[0]) is
1168         only for NET_2_0 - previously this was an ArgumentOutOfRangeException.
1169
1170 2005-01-08  Miguel de Icaza  <miguel@ximian.com>
1171
1172         * IntegerFormatter.cs: The - sign inside the "negative" section in
1173         a multi-format string means `show the sign' only if it is the
1174         first token, not `copy verbatim'.  In the other sections it means
1175         `copy-verbatim'.
1176
1177         This makes things like:  (-34).ToString ("#;-#") show up as "-34"
1178         instead of "--34".
1179
1180         The bad news is that this code needs to be rewritten to handle all
1181         the formatting cases, see bug #71112 for details.
1182
1183         * Convert.cs (Convert.ToType): Throw an InvalidCastException if
1184         the conversion is invalid, not ArgumentException, this fixes
1185         another regression in our test suite.
1186
1187 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com>
1188
1189         * AppDomain.cs: Add ApplicationIdentity property for 2.0;
1190         * AppDomainManager.cs: Remove HostRefusedSet support (it does not 
1191         exists anymore).
1192
1193 2005-01-08  Zoltan Varga  <vargaz@freemail.hu>
1194
1195         * DateTime.cs: Create MaxValue and MinValue using a different constructor to avoid static 
1196         initialization problems.
1197
1198 2005-01-02  Ben Maurer  <bmaurer@ximian.com>
1199
1200         * Int32.cs: NumberStyles.AllowExponent was supported by the
1201         Int32.Parse function. From Akira <mei@work.email.ne.jp>. Fixes bug
1202         70469.
1203
1204 2005-01-01  Atsushi Enomoto  <atsushi@ximian.com>
1205
1206         * Base64FormattingOptions.cs : it was not in System namespace.
1207
1208 2004-12-21  Atsushi Enomoto  <atsushi@ximian.com>
1209
1210         * DateTime.cs : If no progress on value string, don't regard as
1211           matched. This fixes bug #70707.
1212
1213 2004-12-20  Sebastien Pouliot  <sebastien@ximian.com>
1214
1215         * Environment.cs: Bump corlib version.
1216
1217 2004-12-16  Zoltan Varga  <vargaz@freemail.hu>
1218
1219         * Array.cs (DoBinarySearch): Fix a warning.
1220
1221 2004-12-08  Zoltan Varga  <vargaz@freemail.hu>
1222
1223         * Environment.cs: Bump corlib version.
1224
1225         * AppDomain.cs: Add new DefineInternalDynamicAssembly () method.
1226
1227 2004-12-06  Ben Maurer  <bmaurer@ximian.com>
1228
1229         * Exception.cs: Prevent stringifying the type name on the
1230         ctor. this gets called a few times on every execution to create a
1231         nullref exception.
1232
1233 2004-12-06  Martin Baulig  <martin@ximian.com>
1234
1235         * Decimal.cs: Decimal constant support has been merged into GMCS,
1236         removed the FIXME.
1237
1238 2004-12-06  Zoltan Varga  <vargaz@freemail.hu>
1239
1240         * Environment.cs: Bump corlib version.
1241         
1242         * Environment.cs: Bump corlib version.
1243
1244 2004-11-30  Zoltan Varga  <vargaz@freemail.hu>
1245
1246         * MonoType.cs (UnderlyingSystemType): Make this return this as in
1247         MS.NET. Fixes #56245.
1248
1249 2004-11-29  Atsushi Enomoto  <atsushi@ximian.com>
1250
1251         * GC.cs : Collect(generation) actually does not throw an exception
1252           even if generation > MaxGeneration (MS document bug).
1253
1254 2004-11-28  Zoltan Varga  <vargaz@freemail.hu>
1255
1256         * Exception.cs: Implement _Exception under NET_2_0.
1257
1258         * Byte.cs SByte.cs UInt16.cs Int16.cs: Make these compile under csc 2.0.
1259
1260         * AccessViolationException.cs DataMisalignedException.cs OperationCanceledException.cs
1261         NotCancelableException.cs TimeoutException.cs: New files.
1262
1263 2004-11-23  Raja R Harinath  <rharinath@novell.com>
1264
1265         * Decimal.cs [NET_2_0]: Use old code till GMCS imports decimal
1266         constant support.
1267
1268 2004-11-23  Raja R Harinath  <rharinath@novell.com>
1269
1270         * Decimal.cs [BOOTSTRAP_WITH_OLDLIB]: Use old code for compilers
1271         without decimal constant support.
1272
1273 2004-11-23  Marek Safar  <marek.safar@seznam.cz>
1274
1275         * Decimal.cs: Updated to use compiler decimal constant support.
1276
1277 2004-11-20  Zoltan Varga  <vargaz@freemail.hu>
1278
1279         * MonoType.cs: Revert last change since it breaks remoting.
1280
1281 2004-11-18  Zoltan Varga  <vargaz@freemail.hu>
1282
1283         * MonoType.cs (UnderlyingSystemType): Make this return this as in
1284         MS.NET. Fixes #56245.
1285
1286 2004-11-17  Carlos Alberto Cortez <carlos@unixmexico.org>
1287
1288         * INullable.cs: New interface added.
1289         * Nullable.cs: Methods added. Also a static Nullable class
1290         containing static methods.
1291         
1292 2004-11-15  Sebastien Pouliot  <sebastien@ximian.com>
1293
1294         * BitConverter.cs: Added support for special case when ToString is 
1295         called with (new byte [0]).
1296
1297 2004-11-10  Lluis Sanchez  <lluis@novell.com>
1298
1299         * Exception.cs: Added setter for StackTrace.
1300
1301 2004-11-07  Ben Maurer  <bmaurer@ximian.com>
1302
1303         * IntegerFormatter.cs: Avoid .ToCharArray
1304
1305 2004-11-06  Ben Maurer  <bmaurer@ximian.com>
1306
1307         * Single.cs, Double.cs (GetHashCode): Better hashcode impl
1308
1309 2004-11-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1310
1311         * InvalidOperationException.cs: make the message more meaningful and
1312         real. Fixes bug #69055.
1313
1314 2004-10-28  Ben Maurer  <bmaurer@ximian.com>
1315
1316         * String.cs: Rather than == String.Empty, use .Length == 0. It
1317         is a bit faster (avoids a method call, and the code is less complex).
1318
1319 2004-10-24  Fawad Halim  <fawad@fawad.net>
1320         * Environment.cs: If an Environment variable value isn't found, leave the trailing % of the reference for further matches.
1321         Add text between end of current lookup window and next % match if we just got a match, or add all text to the end if there are no further % matches.
1322         This fixes bug #64995.
1323
1324 2004-10-19  Lluis Sanchez  <lluis@novell.com>
1325
1326         * MarshalByRefObject.cs: Field _identity is not serializable.
1327         This fixes bug #68567.
1328
1329 2004-10-17  Ben Maurer  <bmaurer@ximian.com>
1330
1331         * DateTime.cs (ZeroPad): Use unsafe code to speed this up. We
1332         avoid entering slow integer formatting code.
1333
1334         (_ToString): Use ZeroPad here when possible, as it is faster.
1335
1336 2004-10-11  Martin Baulig  <martin@ximian.com>
1337
1338         * Environment.cs: Bump corlib version to 28.
1339
1340 2004-10-08  Zoltan Varga  <vargaz@freemail.hu>
1341
1342         * Convert.cs (ToType): Throw an exception when converting null to a
1343         valuetype. Fixes #67780.
1344
1345 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
1346
1347         * DateTime.cs : Performance fix. ParseExact() implementation should
1348           avoid s = s.Substring(1).
1349
1350 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
1351
1352         * DateTime.cs : When it it not exact parse, 'Z' is allowed as a suffix
1353           of m/s/t/z. This fixes bug 66723.
1354
1355 Wed Oct 6 12:37:54 CEST 2004 Paolo Molaro <lupus@ximian.com>
1356
1357         * String.cs: make GetHashCode() managed.
1358
1359 2004-10-04  Zoltan Varga  <vargaz@freemail.hu>
1360
1361         * AppDomain.cs: Make ThreadStatic variables static. Fixes #56614.
1362
1363         * Runtime*Handle.cs ModuleHandle.cs: Add Equals + GetHashCode.
1364
1365         * ModuleHandle.cs: Add missing methods.
1366
1367         * RuntimeTypeHandle.cs: Add GetModuleHandle () method.
1368
1369 2004-10-03  Zoltan Varga  <vargaz@freemail.hu>
1370
1371         * AttributeTargets.cs: Add 2.0 GenericParameter value.
1372
1373         * Environment.cs: Bump corlib version.
1374
1375 2004-10-02  Zoltan Varga  <vargaz@freemail.hu>
1376
1377         * Int32.cs UInt32.cs Byte.cs SByte.cs Int16.cs UInt16.cs Int64.cs UInt64.cs: Implement 2.0 TryParse methods.
1378
1379 2004-09-30  Geoff Norton  <gnorton@customerdna.com>
1380
1381         * Convert.cs: ConvertToBase* was not endian aware.  Implemented EndianSwap
1382         and swapping of all values before going into the BitConverter so that values
1383         are returned with proper endianess.
1384
1385 2004-09-23  Martin Garton  <martin@wrasse.demon.co.uk>
1386
1387         * Convert.cs: ToType was returning unconverted object when it should
1388         fail with an ArgumentException.
1389
1390 2004-09-27  Zoltan Varga  <vargaz@freemail.hu>
1391
1392         * Array.cs: Add stub for AsReadOnly<T>.
1393         
1394 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
1395
1396         * Type.cs: Add MakePointerType && stub for ReflectionOnlyGetType.
1397
1398         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
1399         parameters.
1400
1401 2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
1402
1403         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
1404         methods and fields.
1405         
1406         * MonoCustomAttrs.cs: Beginnings of support for returning 2.0 pseudo
1407         custom attributes.
1408
1409         * MonoCustomAttrs.cs (RetrieveAttributeUsage): Avoid infinite recursion.
1410
1411         * MonoCustomAttrs.cs (GetCustomAttributes): Fix the 'attributeType is 
1412         sealed' optimization.
1413
1414         * Type.cs: Implement 2.0 StructLayoutAttribute property. 
1415
1416         * Type.cs Add GetPseudoCustomAttributes () method.
1417
1418 2004-09-24  Martin Baulig  <martin@ximian.com>
1419
1420         * Type.cs (Type.GetGenericParameterConstraints): New public method.
1421
1422 2004-09-23  Zoltan Varga  <vargaz@freemail.hu>
1423
1424         * MonoCustomAttrs.cs (GetCustomAttributes): Rename the icall to
1425         GetCustomAttributesInternal and add a 'pseudoAttrs' argument.
1426
1427         * Type.cs: Tweak Module property in 2.0 build.
1428
1429 2004-09-23  Martin Baulig  <martin@ximian.com>
1430
1431         * Type.cs (Type.GenericParameterAttributes): New public property.
1432
1433 2004-09-23  Martin Baulig  <martin@ximian.com>
1434
1435         * GenericParameterAttributes.cs: New file.
1436
1437 2004-09-22  Zoltan Varga  <vargaz@freemail.hu>
1438
1439         * ModuleHandle.cs: Updated after changes to Module class.
1440
1441 2004-09-21  Geoff Norton <gnorton@customerdna.com>
1442
1443         * Type.cs: BindingFlags.IgnoreCase was being ignored, this reimplements
1444         this filter. Fixes bug #65778.
1445
1446 2004-09-20  Zoltan Varga  <vargaz@freemail.hu>
1447
1448         * Environment.cs: Bump corlib version.
1449
1450 2004-09-19  Zoltan Varga  <vargaz@freemail.hu>
1451
1452         * ModuleHandle.cs: New file.
1453
1454         * RuntimeFieldHandle.cs: Add an internal ctor.
1455
1456 2004-09-19  Dick Porter  <dick@ximian.com>
1457
1458         * Console.cs: Use the internal wrappers for StreamReader and
1459         StreamWriter that catch IOException.
1460
1461 2004-09-16  Sebastien Pouliot  <sebastien@ximian.com>
1462
1463         * Environment.cs: Bumped mono_corlib_version to 25.
1464
1465 2004-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1466
1467         * AppDomain.cs: added SetupInformationNoCopy property, since
1468         SetupInformation creates a copy now, all updates to it should use the
1469         actual data. Fixes bug #61991 take 2.
1470
1471 2004-09-09  Tim Coleman <tim@timcoleman.com>
1472         * Base64FormattingOptions.cs: New enum
1473         * Convert.cs: Add new ToBase64String methods for Fx 2.0
1474
1475 2004-09-08  Marek Safar  <marek.safar@seznam.cz>
1476
1477         * Console.cs,
1478         * GC.cs: Class is static for NET_2_0.
1479
1480 2004-09-07 Ben Maurer  <bmaurer@users.sourceforge.net>
1481
1482         * Activator.cs: Make sure not to call .GetType on a
1483         null argument. fixes 63852
1484
1485 2004-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
1486
1487         * Array.cs (Clear): make this an icall.
1488
1489 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
1490
1491         * MonoCustomAttribute.cs: Avoid the call to GetBase when possible.
1492
1493 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1494
1495         * Environment.cs: (ExpandEnvironmentVariables) don't nullify the case
1496         insensitive enironment variables hashtable once we create it.
1497
1498 2004-09-04  Sebastien Pouliot  <sebastien@ximian.com>
1499
1500         * AppDomain.cs: Changed 2 imperative security demands to declarative
1501         (unsupported) so it doesn't (for now) call the security runtime.
1502
1503 2004-09-02  Zoltan Varga  <vargaz@freemail.hu>
1504
1505         * Delegate.cs: Free the delegate trampoline in the finalizer.
1506
1507 2004-08-26  Sebastien Pouliot  <sebastien@ximian.com>
1508
1509         * ApplicationId.cs: Completed GetHashCode using information from MS
1510         (FDBK13339).
1511
1512 2004-08-23  Sebastien Pouliot  <sebastien@ximian.com>
1513
1514         * Boolean.cs: Added TryParse static method for NET_2_0 profile.
1515
1516 2004-08-19  Atsushi Enomoto  <atsushi@ximian.com>
1517
1518         * DateTime.cs : When hour format is "hh", MS.NET (maybe incorrectly)
1519           allows 12, that should not be accepted (13 is rejected) and
1520           interpreted as 0. This fixes bug 63376.
1521
1522 2004-08-17  Sebastien Pouliot  <sebastien@ximian.com>
1523
1524         * Version.cs: Fixed Clone so we can use it on versions with only
1525         major/minor or major/minor/build.
1526
1527 2004-08-17  Martin Baulig  <martin@ximian.com>
1528
1529         * MonoType.cs (MonoType.getFullName): Added `bool full_name'
1530         argument specifying whether or not to include the type arguments.
1531         (MonoType.FullName): Don't include the type arguments.
1532         (MonoType.ToString): Include them here.
1533
1534         * Environment.cs: Bumped mono_corlib_version to 24.
1535
1536 2004-08-16  Duncan Mak  <duncan@ximian.com>
1537
1538         * AttributeUsageAttribute.cs: Change the AttributeUsage to
1539         AttributeTargets.Class, from AttributeTargets.All, fixes Zoltan's
1540         bug #62895.
1541
1542 2004-08-11  Marek Safar  <marek.safar@seznam.cz>
1543
1544         * AppDomain.cs: Fixed typo of DefineDynamicAssembly argument.
1545         Added call to AddPermissionRequests to pass permissions
1546         arguments.
1547         * Environment.cs: Added a few Fx 2.0 methods
1548
1549 2004-08-09  Sebastien Pouliot  <sebastien@ximian.com>
1550
1551         * ApplicationId.cs: Fixed typo to fix NET_2_0 compilation.
1552         * AppDomain.cs: Fixed use of Evidence and AppDomainSetup (copies, not
1553         references). Added (non-obsolete) Fx 2.0 properties and methods.
1554         * AppDomainSetup.cs: Added internal copy constructor.
1555         * DomainManagerInitializationFlags.cs: Fixed values.
1556
1557 2004-08-08  Sebastien Pouliot  <sebastien@ximian.com>
1558
1559         * AppDomainInitializer.cs: New Fx 2.0 class for AppDomain.
1560         * AppDomainManager.cs: New Fx 2.0 class for AppDomain.
1561         * ApplicationActivator.cs: New Fx 2.0 class for AppDomain.
1562         * ApplicationId.cs: New Fx 2.0 class.
1563         * ApplicationIdentity.cs: Fixed ToString.
1564         * DomainManagerInitializationFlags.cs: New Fx 2.0 flags for AppDomain.
1565
1566 2004-08-05  Sebastien Pouliot  <sebastien@ximian.com>
1567
1568         * AppDomain.cs: Added a new icall, getDomainByID, to get the an 
1569         AppDomain using it's Id. Completed SetAppDomainPolicy.
1570         * Environment.cs: Bumped mono_corlib_version to 23.
1571
1572 2004-08-02  Martin Baulig  <martin@ximian.com>
1573
1574         * DateTime.cs, TimeSpan.cs, Guid.cs, Version.cs: Implement IComparable<T>.
1575
1576 2004-07-29  Atsushi Enomoto  <atsushi@ximian.com>
1577
1578         * Environment.cs : GacPath on windows is based on mscorlib.dll, and
1579           now its location is changed.
1580
1581 2004-07-21  Lluis Sanchez Gual  <lluis@novell.com>
1582
1583         * Environment.cs: Return the MS.NET 2.0 beta1 runtime version for the
1584           NET_2_0 profile.
1585         
1586 2004-07-18  Martin Baulig  <martin@ximian.com>
1587
1588         * Array.cs: Ben Maurer implemented all the new generic methods
1589         here :-)
1590
1591 2004-07-17  Martin Baulig  <martin@ximian.com>
1592
1593         * Decimal.cs: Implement IComparable<Decimal>.
1594
1595 2004-07-17  Martin Baulig  <martin@ximian.com>
1596
1597         * Byte.cs, Int16.cs, Int32.cs, Int64.cs, SByte.cs, String.cs,
1598         UInt16.cs, UInt32.cs, UInt64.cs: Implement IComparable<T>.      
1599
1600 2004-07-13  Sebastien Pouliot  <sebastien@ximian.com>
1601
1602         * ActivationContext.cs: New class in Fx 2.0. Required for 
1603         System.Security.Policy.
1604         * ApplicationIdentity.cs: New class in Fx 2.0. Required for 
1605         System.Security.Policy.
1606         * IApplicationDescription.cs: New interface in Fx 2.0. Required for 
1607         System.Security.Policy.
1608         * IHostContext.cs: New interface in Fx 2.0. Required for 
1609         System.Security.Policy.
1610
1611 2004-07-12  Geoff Norton <gnorton@customerdna.com>
1612
1613         * DateTime.cs: Patch for bug #61112.  Our DateTime wasn't roundtripping over timezone
1614           boundaries properly.  This patch checkes ToLocalTime() to see if we're tripping over a boundary
1615           and will add/subtract the hour if needed
1616
1617 2004-07-07  Geoff Norton <gnorton@customerdna.com>
1618
1619         * Monotype.cs: Patch for bug #58844.  Dont throw exceptions right away;
1620           pass through all the possibly BindingInfo's and keep a bool value as to the type
1621           of exception we might need to throw;
1622
1623 2004-07-07  Geoff Norton <gnorton@customerdna.com>
1624
1625         * Patch to fix bug #58973
1626
1627 2004-07-02  Jackson Harper  <jackson@ximian.com>
1628
1629         * PlatformID.cs: New 2.0 values.
1630         
1631 2004-06-25  Ben Maurer <bmaurer@ximian.com>
1632         
1633         * Environment.cs: GetFolderPath has new behavior. r=miguel
1634
1635 2004-06-23  Sebastien Pouliot  <sebastien@ximian.com>
1636
1637         * DateTime.cs: Throw ArgumentOutOfRangeException if the year is
1638         bigger than 9999. Fix bug #41845.
1639         * FloatingPointFormatter.cs: Applied correction from Jon Skeet on
1640         the "R"eversible format for negative numbers.
1641
1642 2004-06-21  Jackson Harper  <jackson@ximian.com>
1643
1644         * Decimal.cs: Make sure to use invariant culture when parsing
1645         floats stringified with the invariant culture. Patch by Rodrigo
1646         B. de Oliveira.
1647         
1648 2004-06-19  Atsushi Enomoto  <atsushi@ximian.com>
1649
1650         * FloatingPointFormatter.cs : Literal string should be kept in the
1651           output.
1652
1653 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
1654
1655         * DateTime.cs : Concatenating whitespace removal was not working fine.
1656           Modified FormatException message (1 cent kindness).
1657
1658 2004-06-18  Ben Maurer  <bmaurer@ximian.com>
1659         
1660         * Action.cs, ArraySegment.cs, Comparison.cs, Converter.cs, Predicate.cs:
1661         new generics classes
1662         * IComparable.cs: add the new <T> version.
1663         * EventHandler.cs: new <T> version.
1664         
1665 2004-06-18  Dick Porter  <dick@ximian.com>
1666
1667         * String.cs: The icall can cope with embedded \0 now.
1668
1669 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
1670
1671         * DateTime.cs :
1672           - Added new common pattern "yyyy/M/dZ"
1673           - empty string should not be compared in _ParseEnum()
1674           - Use culture independent string comparison in _ParseString()
1675           - Whitespace removal should be checked after '..' token check (some
1676             pattern such like es-ES LongDatePattern contains spaces in '..').
1677           - formats null check should be done (to throw ArgumentNullException)
1678             in ParseExact().
1679           - When specified one character format, dates are incorrectly regarded
1680             as to use invariant culture.
1681
1682 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
1683
1684         * ArgIterator.cs: changed layout to Auto
1685         * DateTime.cs: changed layout to Auto
1686
1687 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
1688
1689         * DateTime.cs: CRLF to LF
1690
1691 2004-06-17  Sebastien Pouliot  <sebastien@ximian.com>
1692
1693         * Decimal.cs: Fixed regression in System.Data caused by the recent 
1694         changes. Adapted (and moved) the code to correct the scale from 
1695         SqlMoney. Removed unused (and unusable) IsOne and fixed IsZero (where
1696         scale has no importance).
1697
1698 2004-06-17  Lluis Sanchez Gual  <lluis@ximian.com>
1699
1700         * Activator.cs: In CreateInstance(), use Public|Instance if access binding
1701           attributes are omitted.
1702
1703 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
1704
1705         * DateTime.cs : GetDateTimeFormats(char, IFormatProvider) should also
1706           check if the format character is valid.
1707
1708 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
1709
1710         * DateTime.cs : AddDays(double) rounds the input.
1711
1712 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
1713
1714         * DateTime.cs : Incorrect maxvalue comparison in ToUniversalTime().
1715           Fixed ToLocalTime() as well, but it does check range for MinValue.
1716
1717 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
1718
1719         * DateTime.cs : Added overflow check in ToUniversalTime() and
1720           ToLocalTime(). Fixed bug #60253.
1721
1722 2004-06-16  Sebastien Pouliot  <sebastien@ximian.com>
1723
1724         * FloatingPointFormatter.cs: Implemented "R" format using Jon Skeet
1725         source code (with permission). Fix (biggest) part of bug #60110.
1726         http://www.yoda.arachsys.com/csharp/floatingpoint.html
1727
1728 2004-06-15  Sebastien Pouliot  <sebastien@ximian.com>
1729
1730         * Decimal.cs: Fixed scale after Round (a different scale is correct 
1731         from a math point of view but affect the string representation of the
1732         value). Note: other operations also have scale problems!
1733         * DecimalFormatter.cs: Fixed FormatGeneral to match Fx 1.1 output.
1734         * FloatingPointFormatter.cs: Fixed ToString which doesn't use banker's
1735         rounding (which is the rounding provided by Math.Round). This fix bug
1736         #60111. The code (new Round methods) should be moved elsewhere (as it
1737         may also be required elsewhere) post Mono 1.0.
1738
1739 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
1740
1741         * AppDomainSetup.cs: added TODO for serialization
1742         * ExecutionEngineException.cs: added missing serialization ctor
1743         * InvalidProgramException.cs: added missing serialization ctor
1744         * MulticastNotSupportedException.cs: added missing serialization ctor
1745         * ObsoleteAttribute.cs: fixed serialization compatibility with MS.NET
1746         * Random.cs: fixed serialization compatibility with MS.NET
1747
1748 2004-06-15  Paolo Molaro <lupus@ximian.com>
1749
1750         * Type.cs: removed unused (and non-existing) icall type_is_instance.
1751
1752 2004-06-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1753
1754         * Environment.cs: use internalGetHome instead of getting "HOME" as
1755         that variable may not be defined.
1756
1757 2004-06-14  Sebastien Pouliot  <sebastien@ximian.com>
1758
1759         * TimeSpan.cs: Fixed timespan with large values for hours or minutes
1760         (overflow is only checked for days but can also occurs in hours and
1761         minutes which uses Int32 when multiplying). The new results match MS
1762         implementation.
1763
1764 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
1765
1766         * FloatingPointFormatter.cs : Recognize '%' and '\u2030' and replace
1767           them with matching NumberFormatInfo properties.
1768
1769 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
1770
1771         * Double.cs : Use IFormatProvider.GetFormat() instead of literal '-'.
1772         * FloatingPointFormatter.cs :
1773           Use NumberFormatInfo.NegativeSign. This change saves many XSLT test
1774           failures.
1775           Format Permille pattern (It is undocumented but actually available,
1776           and used in xsl:format-number).
1777
1778 2004-06-14  Raja R Harinath  <rharinath@novell.com>
1779
1780         * Console.cs (Console.Write, Console.WriteLine): Disable __arglist
1781         version with BOOTSTRAP_WITH_OLDLIB.
1782         * String.cs (STring.Concat): Likewise.
1783
1784 2004-06-13  Atsushi Enomoto  <atsushi@ximian.com>
1785
1786         * FloatingPointFormatter.cs :
1787           - Don't format more than 15 fraction digits. Don't report to Pedro
1788             directly (removing the error message with his concent).
1789           - When format string starts with '.', it means integral part format 
1790             is not specified. Ignore '.' characters after the first
1791             appearance. Fixed bug #59890.
1792           - 0.0 is formatted only before the third ';' appearance.
1793
1794 2004-06-11  Sebastien Pouliot  <sebastien@ximian.com>
1795
1796         * DateTime.cs: Added a AddRoundedMilliseconds which use the "old Mono"
1797         rounding logic which worked for FromOADate (while the newer didn't).
1798         * TimeSpan.cs: Now throw an OverflowException when the timespan is
1799         over MaxValue or under MinValue.
1800
1801 2004-06-11  Martin Baulig  <martin@ximian.com>
1802
1803         * Console.cs (Write, WriteLine): Implemented the varargs versions.
1804
1805 2004-06-11  Martin Baulig  <martin@ximian.com>
1806
1807         * String.cs (Concat): Implemented the varargs version.
1808
1809 2004-06-10  Sebastien Pouliot  <sebastien@ximian.com>
1810
1811         * Decimal.cs: Hacked the Parse method to allow the runtime C code to
1812         decode it properly (i.e. matching MS results). Fixed the Round method
1813         for negative decimal numbers (moved code from Math.cs).
1814         * Math.cs: Now use Decimal class for Round(Decimal,int). Required to
1815         fix a bug when rounding a negative decimal.
1816
1817 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1818
1819         * AppDomain.cs: set the _principal to null when changing the policy.
1820         * Console.cs: remove ClsCompliant attribute from a method marked as
1821         internal and added comment.
1822
1823 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
1824
1825         * Delegate.cs: marked protected fields private to match public
1826         API of MS.NET, marked DynamicInvokeImpl and GetMethodImpl
1827         protected to fix public API
1828         * Enum.cs: marked ctor protected to match public API of MS.NET
1829         * MulticastDelegate.cs: marked DynamicInvokeImpl protected to
1830         match public API of MS.NET
1831
1832 2004-06-10  Atsushi Enomoto  <atsushi@ximian.com>
1833
1834         * DateTime.cs : Added more common patterns.
1835
1836 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
1837
1838         * Decimal.cs: Fixed banker rounding by calling Math.Round. This won't
1839         be a performance winner (the actual Math code has a note to wait a
1840         better Decimal implementation) but it returns the correct results
1841         (without adding new code in corlib or the runtime). Fix #37744.
1842
1843 2004-06-09  Atsushi Enomoto  <atsushi@ximian.com>
1844
1845         * DateTime.cs :
1846           - A bunch of fixes (patch by Steven Brown). Fraction seconds are 
1847             now represented as double. Strict token check for 'Z'.
1848           - Pattern validity check in GetDateTimeFormats(char).
1849           - Fixed pattern "yyyy/M/d HH:mm:ss".
1850
1851 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
1852
1853         * Decimal.cs: Fixed remainder (and optimized some cases not to call 
1854         unmanaged code). Simplified divide. Removed workaround for bug #59793.
1855         Fixed GetHashCode to return different result for X and -X.
1856
1857 2004-06-08  Atsushi Enomoto  <atsushi@ximian.com>
1858
1859         * DateTime.cs :
1860           - Now re-checked all common format patterns. They should be tried
1861             with both current culture and invariant culture. Since '/' covers
1862             '-', removed extraneous patterns. Added more common patterns
1863             such as "yyyy-MM-dd" and X509Certificate pattern (it is valid
1864             only after NET_1_1). Commented out 1 character format patterns.
1865           - The format patterns we should try should not be obtained by
1866             GetAllDateTimePatterns(). Just use 'd', 'D', 't', 'T', ... (one
1867             character patterns), to handle UTC correctly. Examined patterns
1868             are changed, to 1) common patterns with specified (or current)
1869             culture, 2) common patterns with invariant, 3) The above "one
1870             character patterns" with specified (or current) culture.
1871           - When trying to parse some kind of patterns such as RFC1123, 
1872             always use invariant DateTimeFormatInfo so that they can avoid
1873             parsing with culture-dependent calendar.
1874           - Check "GMT" only when doing Parse(). Don't it when ParseExact().
1875           - Removed extraneous '-' case. It is not special one.
1876           - When ParseExact(), allow only '/' for '/' pattern character.
1877           - When Parse(), allow any non-letter & non-number characters.
1878           - When pattern is not fully parsed, reject that format.
1879           - Added "exact" parameter to some ParseExact().
1880           - RFC1123 pattern is (again) now parsed in local time. I regressed
1881             some problems in previous fix.
1882
1883 2004-06-08  Sebastien Pouliot  <sebastien@ximian.com>
1884
1885         * Decimal.cs: Fixed cast to integer types to truncate (not round) the
1886         value.
1887
1888 2004-06-07  Duncan Mak  <duncan@ximian.com>
1889
1890         * Exception.cs (Source): This can return null.
1891
1892 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
1893
1894         * DateTime.cs: Fixed FromFileTime for negative values. Fixed 
1895         constructor to limit range of milliseconds from 0,999. Fixed
1896         ToType method to work for object, string and DateTime.
1897
1898 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
1899
1900         * DateTime.cs: Fixed OLE Automation date conversions: timezone 
1901         insensitive, wrong exception in FromOADate, handling of Min/Max 
1902         values, negative doubles where integer part is negative but 
1903         decimals are positive! Charming format ;-)
1904
1905 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
1906
1907         * String.cs: Fixed Join in case separator parameter is null.
1908         * TimeSpan.cs: Cache format errors during parsing and throw 
1909         FormatException only if there was no overflow.
1910
1911 2004-06-06  Gert Driesen <drieseng@users.sourceforge.net>
1912
1913         * MonoCustomAttrs.cs: fixed issue where an empty array was 
1914         returned when GetCustomAttributes was invoked with null
1915         attribute type and there was only one result
1916
1917 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
1918
1919         * Decimal.cs: Fixed ToString(String.Empty) to default ("G").
1920         * Int16.cs: Fixed ToString(String.Empty) to default ("G").
1921         * Int32.cs: Fixed ToString(String.Empty) to default ("G").
1922         * Int64.cs: Fixed ToString(String.Empty) to default ("G").
1923         * SByte.cs: Fixed ToString(String.Empty) to default ("G").
1924         * UInt16.cs: Fixed ToString(String.Empty) to default ("G").
1925         * UInt32.cs: Fixed ToString(String.Empty) to default ("G").
1926         * UInt64.cs: Fixed ToString(String.Empty) to default ("G").
1927
1928 2004-06-05  Sebastien Pouliot  <sebastien@ximian.com>
1929
1930         * Convert.cs: Fixed the convertion of negative integers (byte, short, 
1931         int and long) into string in a specific base (2, 8, 10 or 16).
1932
1933 2004-06-04  Sebastien Pouliot  <sebastien@ximian.com>
1934
1935         * Math.cs: Fixed IEEERemainder to return -0 (0x8000000000000000) when
1936         the dividend is negative and the result is 0 (remainder).
1937
1938 2004-06-03  Sebastien Pouliot  <sebastien@ximian.com>
1939
1940         * Delegate.cs: Fix the NullReferenceException in Combine(Delegate[]).
1941
1942 2004-06-02  Sebastien Pouliot  <sebastien@ximian.com>
1943
1944         * TimeSpan.cs: Fixed overflow issues when delaing with big (days) time
1945         spans. Fixed parsing when only days are presents in the string (which
1946         should be illegal according to the documentation but is supported).
1947
1948 2004-06-01  Sebastien Pouliot  <sebastien@ximian.com>
1949
1950         * TimeSpan.cs: Fixed exceptions in FromXXX methods as they are 
1951         somewhat different from the documentation.
1952
1953 2004-06-01  Gert Driesen <drieseng@users.sourceforge.net>
1954
1955         * Type.cs: added missing attributes on InvokeMember
1956
1957 2004-06-01  Miguel de Icaza  <miguel@ximian.com>
1958
1959         * String.cs: Flag concat with four arguments internal. 
1960
1961 2004-05-31  Sebastien Pouliot  <sebastien@ximian.com>
1962
1963         * Array.cs: Fixed legal case where value is null.
1964         * Byte.cs: Fixed ToString when format is an empty string (use "G").
1965         * Guid.cs: Renamed private fields (and changed some to signed) to 
1966         match MS implementation and allow serialization to work. Fix 
1967         bug #59113.
1968
1969 2004-05-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1970
1971         * DateTime.cs: adjust milliseconds for fraction specifier ('f').
1972
1973 2004-05-30  Miguel de Icaza  <miguel@ximian.com>
1974
1975         * Console.cs: Remove *again* the version of WriteLine with four
1976         arguments;  That should *not* be added.  
1977
1978         Flag it as internal as people migrate their code.
1979
1980 2004-05-29  Sebastien Pouliot  <sebastien@ximian.com>
1981
1982         * Convert.cs: Fixed ToSByte(string,IFormatProvider) to throw 
1983         ArgumentNullException (only case, all other returns 0). Fixed exception
1984         reporting for hex prefix only strings. Fixed ChangeTo where null could
1985         be misinterpreted between null and Empty.
1986
1987 2004-05-28  Sebastien Pouliot  <sebastien@ximian.com>
1988
1989         * Convert.cs: Fixed integer parsing for special cases (0x, 0X for base
1990         16), non-base 10 negative numbers ... see new unit tests. Fixed the 
1991         case when we parse Int64.MinValue (positive doesn't fit a signed long).
1992
1993 2004-05-28  Jackson Harper  <jackson@ximian.com>
1994
1995         * Environment.cs: Increment version number.
1996         
1997 2004-05-28  Zoltan Varga  <vargaz@freemail.hu>
1998
1999         * AppDomain.cs (Load): Try loading from assemblyRef.CodeBase if exists.
2000         Fixes #59189.
2001
2002 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
2003
2004         * DateTime.cs : I reverted my fix by accident :(
2005
2006 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
2007
2008         * DateTime.cs :
2009           - In ToString(), Don't use culture-dependent daynames to format
2010             Universal/RFC1123 date/time. Also, use FullDateTimePattern for 'U'.
2011           - Fixed GetDateTimeFormats () that generated incorrect 'U' value 
2012             (since the format string is the same as 'F').
2013
2014 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
2015
2016         * DateTime.cs : don't adjust utc value in ToString(). It must output
2017           the same time value, just adding 'Z' for UTC.
2018
2019 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
2020
2021         * DateTime.cs : in 'Z' case, remove the 'Z' char from input before
2022           proceeding.
2023
2024 2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2025
2026         * AppDomainSetup.cs: InitAppDomainSetup is not needed now.
2027
2028 2004-05-27  Sebastien Pouliot  <sebastien@ximian.com>
2029
2030         * Byte.cs: Fixed parsing for "-0" which is valid for unsigned types.
2031         * Convert.cs: Convert with a base parameter cannot parse negative 
2032         string numbers, even "-0".
2033         * UInt16.cs: Fixed parsing for "-0" which is valid for unsigned types.
2034         * UInt32.cs: Fixed parsing for "-0" which is valid for unsigned types.
2035         * UInt64.cs: Fixed parsing for "-0" which is valid for unsigned types.
2036
2037 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
2038
2039         * DateTime.cs : 
2040           - Added "yyyy/MM/dd HH:mm:ss 'GMT'" and "yyyy-MM-dd HH:mm:ss 'GMT'"
2041             to common formats (yes, I know it is nothing more than hack)
2042           - Fixed some GetDateTimeFormats() that just returned patterns.
2043           - For InvariantCulture, now try both supported formats and our
2044             predefined formats.
2045           - It was accepting incorrectly extraneous characters. That caused
2046             some UTC/non-UTC bug.
2047           - RFC1123 string should return universal time. Uncomment again (the
2048             problem should went away because of the extra characters fix above.
2049
2050             With some of the changes above, fixed bug #47720.
2051
2052 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
2053
2054         * DateTime.cs : quick revert 'Z' support for certificate verifications.
2055
2056 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
2057
2058         * Array.cs: Removed duplicate condition if LastIndexOf.
2059
2060 2004-05-26  Atsushi Enomoto <atsushi@ximian.com>
2061
2062         * DateTime.cs :
2063           - Added "yyyy-MM-dd HH:mm:ss" to "compatible patterns".
2064             (Fixed bug #58938.)
2065           - As a quick remedy to accept more patterns, Parse() now also tries
2066             InvariantInfo patterns (this is because we have no more than one
2067             pattern for each pattern component.)
2068           - In _DoParse(), 'Z' should not be read as timezone specifier. Some
2069             culture uses 'Z' as AM/PM designer, and it should be recognized as
2070             part of the UTCpattern (if it actually UTC pattern for the culture
2071             contains 'Z').
2072
2073 2004-05-26  Gert Driesen (drieseng@users.sourceforge.net)
2074
2075         * MonoCustomAttrs.cs: Fixed issue with AllowMultiple, as MS
2076         seems to allow multiple attributes with AllowMultiple at
2077         runtime.
2078
2079 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
2080
2081         * Byte.cs: Throw an OverflowException for negative numbers.
2082         * Convert.cs: Accept 0x and 0X as prefix when parsing base16 strings.
2083         * Environment.cs: Bumped mono_corlib_version to 20 (rng interface).
2084
2085 2004-05-25  Sebastien Pouliot  <sebastien@ximian.com>
2086
2087         * Array.cs: Fixed possible integer overflow.
2088         * BitConverter.cs: Fixed a possible integer overflow in ToString.
2089         * Guid.cs: Added an internal method to create a random Guid without
2090         using CryptoConfig (which is heavy on first use). This is only used
2091         in S.R.E.ModuleBuilder to speedup MCS compilation.
2092         * String.cs: Fixed reported exception for PadLeft|Right. Fixed 
2093         possible integer overflow in methods that takes index and count
2094         as parameters.
2095
2096 2004-05-25  Zoltan Varga  <vargaz@freemail.hu>
2097
2098         * String.cs: Add new Strcpy icalls which take a char array as 
2099         parameter.
2100
2101 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
2102
2103         * DateTime.cs : added more invariant format patterns. This should
2104           really fix bug #57656.
2105
2106 2004-05-25 14:14 CET Patrik Torstensson <totte@hiddenpeaks.com>
2107
2108         * BitConverter.cs (ToBoolean): Return true or false instead
2109         of unsafe returing byte as bool. Fixes bug #58874.
2110
2111 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
2112
2113         * DateTime.cs : In ToString(string, IFormatProvider), use "G" if
2114           string format argument is null.
2115
2116 2004-05-25  Lluis Sanchez Gual  <lluis@ximian.com>
2117
2118         * Version.cs: Rename of data fields to match those in Microsoft.NET.
2119           Patch by PAF@design.ru.
2120
2121 2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2122
2123         * DateTime.cs: allow double quotes in the formats. Don't set
2124         next_not_digit to true in presence of single or double quotes. Patch by
2125         Martin Probst.
2126
2127 2004-05-24  Zoltan Varga  <vargaz@freemail.hu>
2128
2129         * AppDomainSetup.cs (InitAppDomainSetup): This one returns void.
2130
2131 2004-05-23  Sebastien Pouliot  <sebastien@ximian.com>
2132
2133         * Array.cs: Fixed exception when we try to Clear outside bounds.
2134         * Boolean.cs: Fixed Equals for True!=True (see bugzilla #58874).
2135         * BitConverter.cs: Fixed negative index and integer overflow in
2136         To... methods.
2137         * Buffer.cs: Fixed integer overflow in BlockCopy.
2138
2139 2004-05-22  Sebastien Pouliot  <sebastien@ximian.com>
2140
2141         * Array.cs: Clear can now work on multidimentional arrays.
2142         * IntPtr.cs: We now only accept 32bits values in the long constructor
2143         unless we're on a 64 bits machine.
2144         * UIntPtr.cs: We now only accept 32bits unsigned values in the ulong 
2145         constructor unless we're on a 64 bits machine.
2146
2147 2004-05-22  Duncan Mak  <duncan@ximian.com>
2148
2149         * Convert.cs: The file was mostly in DOS endings already, for the
2150         sake of consistency, converted it all to DOS endings.
2151         (ToType): When value is null, immediately return null and don't
2152         ever throw a NullReferenceException. When conversionType is null,
2153         throw an InvalidCastException. Give a better error message when
2154         attempting to convert to a DBNull as well.
2155
2156 2004-05-21  Sebastien Pouliot  <sebastien@ximian.com>
2157
2158         * Decimal.cs: Fixed To... methods that needs to trunk the integer part
2159         of Decimal (and not use the banker's rounding like Convert.To...).
2160         * Single.cs: Fixed CompareTo and Equals (copied fix from Double) wrt
2161         to NaN compares (see new unit tests).
2162
2163 2004-05-20  Sebastien Pouliot  <sebastien@ximian.com>
2164
2165         * Convert.cs: Added checks for integer overflow for From|ToBase64Char.
2166         Also fixed the case where wide (16 bits) characters were converted to 
2167         bytes.
2168
2169 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
2170
2171         * ThreadStaticAttribute.cs
2172         * ContextStaticAttribute.cs
2173         * FlagsAttribute.cs
2174         * ObsoleteAttribute.cs : now that Inherited is false by
2175         default on AttributeUsageAttribute (as it should be) we
2176         need to explicitly set Inherited to false for those
2177         attributes should it be be false.
2178
2179 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
2180
2181         * AttributeUsageAttribute.cs: Inherited property should be
2182         true by defaultrs.cs: respect Inherited property, and
2183
2184 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
2185
2186         * MonoCustomAttrs.cs: respect Inherited property, and
2187         AllowMultiple property of a CustomAttribute. This fixes
2188         a major issue we had with respect to custom attributes.
2189
2190 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
2191
2192         * MonoType.cs: throw ArgumentNullException when type parameter in
2193         GetCustomAttributes(Type, bool) is null
2194
2195 2004-05-18  Sebastien Pouliot  <sebastien@ximian.com>
2196
2197         * Buffer.cs: Added checks for null source and destination. Fix failing
2198         CryptoStream unit test.
2199         * Guid.cs: Fixed thread-safety issue. Simplified implementation to use
2200         pseudo-random numbers to generate GUIDs (as per section 3.4 of the 
2201         spec). This removes the TODO to get the computer MAC address and
2202         the chances to get a duplicate GUID (across different machines).
2203
2204 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2205
2206         * TimeSpan.cs: Only catch expected exceptions, if we get other exceptions
2207           than OverflowExceptions then something went wrong internally
2208
2209 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2210
2211         * Char.cs: Fix long standing bug with ToLower/ToUpper not being
2212           culture - sensitive
2213
2214 2004-05-14  Zoltan Varga  <vargaz@freemail.hu>
2215
2216         * Buffer.cs: Optimize BlockCopy.
2217
2218         * Environment.cs: Bump corlib version.
2219
2220 2004-05-14  Atsushi Enomoto <atsushi@ximian.com>
2221
2222         * __ComObject.cs : This class is not regarded as CLSCompliant by csc.
2223           See also bug #58478.
2224
2225 2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2226
2227         * AppDomainSetup.cs: don't throw an exception if dynamic_base has not
2228         been set. Just return null as MS. Fixes bug #58120.
2229
2230 2004-05-14  Marek Safar  <marek.safar@seznam.cz>
2231
2232         * Boolean.cs, Byte.cs, Char.cs, DBNull.cs, DateTime.cs,
2233           Decimal.cs, Double.cs, Enum.cs, Int16.cs, Int32.cs,
2234           Int64.cs, IntegerFormatter.cs, SByte.cs, Single.cs,
2235           String.cs, UInt16.cs, UInt32.cs, UInt64.cs: Removed
2236           useless [CLSCompliant (false)]
2237
2238
2239 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
2240
2241         * __ComObject.cs: To please corcompare (no implementation).
2242
2243 2004-05-13  Zoltan Varga  <vargaz@freemail.hu>
2244
2245         * Environment.cs: Bump corlib version.
2246
2247 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
2248
2249         * Environement.cs: Removed two security attributes for CurrentDirectory
2250         that weren't documented (and anyway we don't support them).
2251
2252 2004-05-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2253
2254         * Char.cs: Fix exceptions
2255
2256 2004-05-11  Lluis Sanchez Gual  <lluis@ximian.com>
2257
2258         * MissingMemberException.cs: Fix in serialization constructor.
2259
2260 2004-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2261
2262         * Environment.cs: GetGacPath return value is resolved at runtime on
2263         windows.
2264
2265 2004-05-07  Sebastien Pouliot  <sebastien@ximian.com>
2266  
2267         * Convert.cs: ToBase64CharArray method was depending on a bug in 
2268         S.S.C.ToBase64Transform class to work. Added an internal method to 
2269         provide the same functionality (multiple block processing).
2270
2271 2004-05-06  Jackson Harper  <jackson@ximian.com>
2272
2273         * Environment.cs: Make $HOME the personal directory.
2274
2275 2004-05-06  Sebastien Pouliot  <sebastien@ximian.com>
2276  
2277         * Convert.cs: ToBase64String method was depending on a bug in 
2278         S.S.C.ToBase64Transform class to work. Added an internal method to 
2279         provide the same functionality (multiple block processing).
2280
2281 2004-05-05  Sebastien Pouliot  <sebastien@ximian.com>
2282  
2283         * Environment.cs: Completed OSVersion property.
2284         * Version.cs: Added internal CreateFromString() to "try" to build the
2285         best version number form the specified string.
2286  
2287 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2288
2289         * TimeSpan.cs: Redid a lot of stuff in TimeSpan from scratch.
2290           Fixes several potential bugs and makes things way faster.
2291
2292 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2293
2294         * TimeSpan.cs: Formatting changes
2295
2296 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
2297
2298         * Activator.cs: change _flags to a const.
2299         * IntegerFormatter.cs: make tables readonly.
2300         * Convert.cs: tables readonly
2301         * DateTime.cs: ditto.
2302         * IntPtr.cs: avoid a cctor.
2303
2304 2004-04-29  Jackson Harper  <jackson@ximian.com>
2305
2306         * MonoType.cs: 
2307         * Type.cs: NET_2_0 now instead of 1_2. 
2308         
2309 2004-04-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2310
2311         * Environment.cs: implemented GetLogicalDrives.
2312
2313 2004-04-28  Miguel de Icaza  <miguel@ximian.com>
2314
2315         * Applied patch from Atsushi Enomoto that allows Synchronized
2316         writers to have a `dont close' flag, this fixes 52094
2317
2318 2004-04-29  Lluis Sanchez Gual  <lluis@ximian.com>
2319
2320         * MonoCustomAttrs.cs, MonoType.cs: Property.GetGetMethod() does not
2321         return the method if it is private (it did until now because of a
2322         bug). Make sure it works as it worked before the fix.
2323         * Type.cs: Implemented FilterAttribute delegate.
2324
2325 2004-04-28  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2326
2327         * IntegerFormatter.cs: Prevent the use of the explicit static constuctor
2328
2329 2004-04-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2330
2331         * IntegerFormatter.cs: Made functions internal (needed by other patches)
2332
2333 2004-04-27  Lluis Sanchez Gual  <lluis@ximian.com>
2334
2335         * DateTime.cs: TODO cleaning.
2336         * Delegate.cs: GetObjectData should be virtual.
2337         * IntegerFormatter.cs: Method factorization. I don't want to fix bugs in
2338           30 methods almost identical.
2339         * MulticastDelegate.cs: Implemented GetObjectData.
2340         
2341 2004-04-26  Jackson Harper  <jackson@ximian.com>
2342
2343         * Environment.cs: Things going bump in the night.
2344
2345 2004-04-25  Miguel de Icaza  <miguel@ximian.com>
2346
2347         * Convert.cs (toBase64Transform): Make private.
2348
2349 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2350
2351         * Convert.cs:
2352         * Decimal.cs:
2353         * DecimalFormatter.cs:
2354         * FloatingPointFormatter.cs: Call invariant Char functions
2355         * Guid.cs: Call invariant Char and String functions
2356         * String.cs: Call invariant Char functions
2357
2358 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2359
2360         * String.cs: Refactored the Invariant ToXXX into its own internal methods
2361           so they are directly callable within corlib (can prevent early
2362           construction of CultureInfo, InvariantCulture and related classes)
2363
2364 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2365
2366         * String.cs: Managed impl. of Invariant parts of ToLower, ToUpper
2367         * Char.cs: Managed impl. of Invariant parts of ToLower, ToUpper
2368
2369 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2370
2371         * String.cs: Check for null values
2372
2373 2004-04-23  Peter Bartok <pbartok@novell.com>
2374
2375         * Environment.cs: GetLogicalDrives now returns "/" instead of null. Gonzalo
2376           will do a better fix in the future, but this way apps can at least use it.
2377
2378 2004-04-23  Sebastien Pouliot  <sebastien@ximian.com>
2379
2380         * Environment.cs: Better support for GetFolderPath (same results as MS 
2381           on Windows).
2382
2383 2004-04-22  Lluis Sanchez Gual  <lluis@ximian.com>
2384
2385         * Activator.cs: Removed TODOs for finished methods.
2386         * AppDomainSetup.cs: When setting a relative path to ApplicationBase, it
2387           must be relative to the current directory, not the temp directory.
2388           Implemented DynamicBase.
2389         * Convert.cs: No need to create a ToBase64Transform instance at every call
2390           to ToBase64CharArray.
2391         * DateTime.cs: Implemented missing methods FromFileTimeUtc and 
2392           ToFileTimeUtc.
2393         * Decimal.cs: Implemented FromOACurrency and ToOACurrency.
2394         * Delegate.cs: Removed class TODO.
2395         * IntegerFormatter.cs: Use Char.IsLetter and Char.IsDigit instead of ad-hoc
2396           methods.
2397         * Type.cs: Removed TODOs for things already implemented.
2398         
2399 2004-04-21  Lluis Sanchez Gual  <lluis@ximian.com>
2400
2401         * Char.cs: Implemented culture-dependent ToLower and ToUpper methods.
2402         * MulticastDelegate.cs: Removed unused code.
2403
2404 2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>
2405
2406         * AppDomain.cs: Implemented DynamicDirectory and SetDynamicBase.
2407         * Array.cs: Removed some TODOs in CreateInstance and IndexOf.
2408         * BadImageFormatException.cs: TODO reformat.
2409         * DateTime.cs: Implemented GetDateTimeFormats and GetDateTimeFormats.
2410         * DelegateSerializationHolder.cs: Made class internal.
2411         * Enum.cs: Removed TODO for localization, since this is something that has
2412           to be done for all classes.
2413         * Environment.cs: Removed TODO.
2414         * Exception.cs: Changed ToString to use StringBuilder.
2415         * MonoDummy.cs: Made class internal.
2416         * UnitySerializationHolder.cs: Added support for modules.
2417
2418 2004-04-16  David Sheldon <dave-mono@earth.li>
2419
2420         * DecimalFormatter.cs: Don't append a decimal point after the
2421           end of a number. ((decimal)1).ToString("P0") should be "100 %", not
2422           "100. %"
2423
2424 2004-04-09  Miguel de Icaza  <miguel@ximian.com>
2425
2426         * OutOfMemoryException.cs: Removed the call to Locale.GetText from
2427           this.
2428
2429 2004-04-10  Gert Driesen (drieseng@users.sourceforge.net)
2430
2431         * MonoDummy.cs: added MonoTODO to make sure we remove this class
2432           when its no longer needed
2433
2434 2004-04-09  David Sheldon <dave-mono@earth.li>
2435
2436         * Convert.cs: Allow + signs in strings for ToInt32, and
2437           - if it is base 10.
2438
2439 2004-04-08  Atsushi Enomoto  <atsushi@ximian.com>
2440
2441         * Nullable.cs : usingdecl should also be conditional.
2442
2443 2004-04-07  Martin Baulig  <martin@ximian.com>
2444
2445         * Nullable.cs: New file.
2446
2447 2004-04-07  Martin Baulig  <martin@ximian.com>
2448
2449         * Type.cs (Type.GetGenericArguments): Make this abstract.
2450
2451 2004-04-07  Jackson Harper  <jackson@ximian.com>
2452
2453         * Environment.cs: Increase corlib version number.
2454         
2455 2004-04-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2456
2457         * Environment.cs:
2458         (ExpandEnvironmentVariables): on windows, env. vars. are case
2459         insensitive.
2460
2461 2004-04-06  Sebastien Pouliot  <sebastien@ximian.com>
2462
2463         * AppDomain.cs: Added static to [ThreadStatic] _principal field. 
2464         Removed [ThreadStatic] for _principalPolicy (not required).
2465
2466 2004-04-06  Miguel de Icaza  <miguel@ximian.com>
2467
2468         * Guid.cs: Flag as Sequential.
2469
2470 2004-04-02  Dick Porter  <dick@ximian.com>
2471
2472         * String.cs: More sanity checks in Replace().  Fixes bug 55822.
2473
2474 2004-04-02  Sebastien Pouliot  <sebastien@ximian.com>
2475
2476         * Environment.cs: Implement ExpandEnvironmentVariables static method.
2477         Now call the runtime to get the username (fix #56144).
2478
2479 2004-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2480
2481         * MonoType.cs: AssemblyQualifiedName now displays culture, version...
2482         Fixes bug #56341.
2483
2484 2004-03-29  Miguel de Icaza  <miguel@ximian.com>
2485
2486         * Console.cs: If we fail to open stdin/stdout/stderr, create
2487         readers with a NullStream.  This can happen if our caller does not
2488         setup stdin/stoud/stderr file handles.  #56158 exposed this, but
2489         it will happen elsewhere.
2490
2491 2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>
2492
2493         * Convert.cs: In ToSingle(double), removed checks for Single.MaxValue
2494         and Single.MinValue. MS.NET don't do it. This fixes bug #56005.
2495         * Guid.cs: Added support for guid strings in the "N" and "P" formats in
2496           the constructor. This fixes bug #54019.
2497
2498 2004-03-23  Lluis Sanchez Gual <lluis@ximian.com>
2499
2500         * FloatingPointFormatter.cs: Made the class thread safe. Had to move some
2501           internal variables to structures that are moved around methods.
2502           Factorized some common formatting code into FormatNumberInternal.
2503           
2504 2004-03-23  Dick Porter  <dick@ximian.com>
2505
2506         * DateTime.cs: Allow any character for DateSeparator when parsing,
2507         except TimeSeparator, a digit or a letter.  Fixes bug 54047.  Also
2508         deleted the previous fix for 54721, because this covers it too.
2509         
2510 2004-03-23  Dick Porter  <dick@ximian.com>
2511
2512         * DateTime.cs: Check the date string for too many digits when
2513         parsing.  Fixes bugs 53023 and 53025.
2514
2515 2004-03-22  Dick Porter  <dick@ximian.com>
2516
2517         * String.cs: Use the provider when converting strings to other
2518         types.
2519
2520         * DateTime.cs: Add MM-dd-yyyy to the list of standard date parsing
2521         formats.  Fixes bug 54721.
2522
2523 2004-03-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2524
2525         * Console.cs: Styled, optimized calls
2526         * CrossAppDomainDelegate.cs: Small header fix
2527         * Buffer.cs: Style, improve errors
2528         * BitConverter.cs: Style, improve errors, remove obsolete comment
2529         * Attribute.cs: Style, improve errors, small fix
2530         * Array.cs: Style, improve errors, small fix, added TODOs
2531         * Activator.cs: Style, localized errors, added error checks
2532         * Byte.cs: Style, localized errors, fixed wrong exception parameters
2533         * Char.cs: Style
2534         * Boolean.cs: Style
2535         * AppDomainSetup.cs: Style
2536         * AppDomain.cs: Style, implemented two methods (redirect)
2537
2538 2004-03-21  Jackson Harper  <jackson@ximian.com>
2539
2540         * FloatingPointFormatter.cs: Set precision from number format info
2541         when it is not specified. This fixes bug #54983.
2542         
2543 2004-03-18  Nick Drochak <ndrochak@ieee.org>
2544
2545         * Math.cs: Use IsNaN() method not "x == NaN".
2546
2547 2004-03-16  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2548
2549         * EntryPointNotFoundException.cs
2550         * DuplicateWaitObjectException.cs
2551         * DllNotFoundException.cs
2552         * DivideByZeroException.cs
2553         * ContextMarshalException.cs
2554         * CannotUnloadAppDomainException.cs
2555         * BadImageFormatException.cs
2556         * ArrayTypeMismatchException.cs
2557         * ArithmeticException.cs
2558         * ArgumentOutOfRangeException.cs
2559         * ArgumentNullException.cs
2560         * ArgumentException.cs
2561         * ApplicationException.cs
2562         * AppDomainUnloadedException.cs: Added missing HResult overrides
2563
2564         * BadImageFormatException.cs: Improved/ Fixed implementation
2565
2566 2004-03-15  Sebastien Pouliot  <sebastien@ximian.com>
2567
2568         * Random.cs: Corrected random value when Next is called with a 
2569         negative value. Testing indictae that our results aren't exactly the 
2570         same as MS, we have a +/- 1 (probably rounding errors due to 
2571         different implementation).
2572
2573 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2574
2575         * Environment.cs: updated corlib version.
2576
2577 2004-03-15  Lluis Sanchez Gual <lluis@ximian.com>
2578
2579         * Boolean.cs, Byte.cs, Char.cs, Double.cs, Int16.cs, Int32.cs, Int64.cs,
2580           SByte.cs, Single.cs, UInt16.cs, UInt32.cs, UInt64.cs: Renamed internal
2581           field "value" to "m_value", so it is interoperable with MS.NET when 
2582           serializing and deserializing data. Based on the patch from Daniel
2583           Keep.
2584
2585 2004-03-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2586
2587         * TypeInitializationException.cs
2588         * SystemException.cs
2589         * StackOverflowException.cs
2590         * RankException.cs
2591         * OverflowExceptionException.cs
2592         * OutOfMemoryException.cs
2593         * NullReferenceException.cs
2594         * NotSupportedException.cs
2595         * NotFiniteNumberException.cs
2596         * InvalidOperationException.cs
2597         * InvalidCastException.cs
2598         * IndexOutOfRangeException.cs
2599         * FormatException.cs
2600         * ExecutionEngineException.cs: improved parameter names
2601
2602 2004-03-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2603
2604         * Enum.cs
2605         * EntryPointNotFoundException.cs
2606         * DuplicateWaitObjectException.cs
2607         * DoubleFormatter.cs
2608         * DllNotFoundException.cs
2609         * DivideByZeroException.cs
2610         * DelegateSerializationHolder.cs
2611         * Delegate.cs
2612         * DBNull.cs
2613         * ContextStaticAttribute.cs
2614         * ContextMarshalException.cs
2615         * ContextBoundObject.cs
2616         * CLSCompliantAttribute.cs
2617         * CharEnumerator.cs
2618         * CannotUnloadAppDomainException.cs
2619         * BadImageFormatException.cs
2620         * AttributeUsageAttribute.cs
2621         * AttributeTargets.cs
2622         * AsyncCallback.cs
2623         * AssemblyLoadEventHandler.cs
2624         * AssemblyLoadEventArgs.cs
2625         * ArrayTypeMismatchException.cs
2626         * ArithmeticException.cs
2627         * ArgumentOutOfRangeException.cs
2628         * ArgumentNullException.cs
2629         * ArgumentException.cs
2630         * ArgIterator.cs
2631         * ApplicationException.cs
2632         * AppDomainUnloadedException.cs
2633         * AppDomain.cs: Mono styled, fixed exceptions/ locales
2634           removed excess usings
2635
2636 2004-03-10  Sebastien Pouliot  <sebastien@ximian.com>
2637
2638         * Convert.cs: FromBase64 now ignore some characters (tab, LF, CR and
2639         spaces) which fixed #54939. Changed the way that the length is 
2640         validated (multiple of 4) because the ignored characters must not be
2641         included in the count.
2642
2643 2004-03-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2644
2645         * String.cs: Monostyled
2646
2647 2004-03-09  Jackson Harper  <jackson@ximian.com>
2648
2649         * Char.cs: Only use a byte for numeric data.
2650         
2651 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2652
2653         * TypedReference.cs: Added missing Attributes
2654         * ParamArrayAttribute.cs: Small style fix
2655         * OperatingSystem.cs: Added .Net 1.1 member
2656
2657 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2658
2659         * FieldAccessException.cs
2660         * FormatException.cs
2661         * InvalidCastException.cs
2662         * InvalidOperationException.cs
2663         * MemberAccessException.cs
2664         * MethodAccessException.cs
2665         * MissingFieldException.cs: Locale strings
2666         * MissingMemberException.cs: Locale strings
2667         * MissingMethodException.cs: Locale strings
2668         * NotFiniteNumberException.cs
2669         * NotImplementedException.cs
2670         * NotSupportedException.cs
2671         * NullReferenceException.cs
2672         * ObjectDisposedException.cs
2673         * OutOfMemoryException.cs
2674         * OverflowExceptionException.cs
2675         * PlatformNotSupportedException.cs
2676         * RankException.cs: Added missing HResult overrides
2677
2678 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2679
2680         * RuntimeTypeHandle.cs
2681         * RuntimeMethodHandle.cs
2682         * RuntimeFieldHandle.cs: Implemented serialization (partially untested)
2683
2684 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2685
2686         * EventArgs.cs
2687         * Exception.cs
2688         * ExecutionEngineException.cs
2689         * FieldAccessException.cs
2690         * FormatException.cs
2691         * GC.cs
2692         * Guid.cs
2693         * IndexOutOfRangeException.cs
2694         * IntPtr.cs
2695         * InvalidCastException.cs
2696         * InvalidOperationException.cs
2697         * InvalidProgramException.cs
2698         * IServiceProvider.cs
2699         * LoaderOptimization.cs
2700         * LoaderOptimizationAttribute.cs
2701         * MarshalByRefObject.cs
2702         * Math.cs
2703         * MemberAccessException.cs
2704         * MethodAccessException.cs
2705         * MissingFieldException.cs
2706         * MissingMemberException.cs
2707         * MissingMethodException.cs
2708         * MultiCastDelegate.cs
2709         * MulticastNotSupportedException.cs
2710         * NonSerializedAttribute.cs
2711         * NotFiniteNumberException.cs
2712         * NotImplementedException.cs
2713         * NotSupportedException.cs
2714         * NullReferenceException.cs
2715         * ObjectDisposedException.cs
2716         * ObsoleteAttribute.cs
2717         * OperatingSystem.cs
2718         * OutOfMemoryException.cs
2719         * OverflowExceptionException.cs
2720         * PlatformID.cs
2721         * PlatformNotSupportedException.cs
2722         * Random.cs
2723         * RankException.cs
2724         * ResolveEventArgs.cs
2725         * ResolveEventHandler.cs
2726         * RuntimeFieldHandle.cs
2727         * RuntimeMethodHandle.cs
2728         * RuntimeTypeHandle.cs: Mono styled, fixed exceptions/ locales
2729           removed excess usings
2730
2731 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2732
2733         * SystemException.cs: Exceptions set the HResult
2734         * TypeLoadException.cs: Exceptions set the HResult, fixed wrong exception usage
2735         * SByte.cs: Implemented two missing methods, fix wrong parameters for ArgumentNullException
2736
2737 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2738
2739         * TypedReference.cs
2740         * TypeLoadException.cs
2741         * TypeInitializationException.cs
2742         * TypeCode.cs
2743         * TimeZone.cs
2744         * ThreadStaticAttribute.cs
2745         * SystemException.cs
2746         * STAThreadAttribute.cs
2747         * StackOverflowException.cs
2748         * SingleFormatter.cs
2749         * Single.cs
2750         * SerializableAttribute.cs: Mono styled, fixed exceptions/ locales
2751           removed excess usings
2752
2753 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2754
2755         * UnauthorizedAccessException.cs: Exceptions set the HResult
2756         * UInt64.cs: Implemented two missing methods
2757         * UInt32.cs: Fix wrong parameters for ArgumentNullException, simpler convert
2758         * UInt16.cs: Fix wrong parameters for ArgumentNullException, simpler convert
2759
2760 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2761
2762         * WeakReference.cs
2763         * Void.cs
2764         * Version.cs
2765         * ValueType.cs
2766         * UnitySerializationHolder.cs
2767         * UnhandledExceptionEventHandler.cs
2768         * UnauthorizedAccessException.cs
2769         * UIntPtr.cs
2770         * UInt64.cs
2771         * UInt32.cs
2772         * UInt16.cs: Mono styled, Locale.GetText fixes, msg fixes
2773
2774 2004-03-04  Lluis Sanchez Gual <lluis@ximian.com>
2775
2776         * Environment.cs: Bump corlib version.
2777
2778 2004-03-04  Jackson Harper  <jackson@ximian.com>
2779
2780         * Char.cs: New managed implementation. Modified patch by Andreas Nahr.
2781         
2782 2004-02-27  Lluis Sanchez Gual <lluis@ximian.com>
2783
2784         * String.cs: Concat() fixed crash when one of the arguments is an object
2785           whose ToString() method returns null.
2786         * TypeLoadException.cs: Added some serialization fiels, needed for
2787           compatibility with MS.NET.
2788
2789 2004-02-23 Ben Maurer  <bmaurer@users.sourceforge.net>
2790
2791         * String.cs (Equals): Speed up this method by avoiding Array
2792          Bounds Checks and by comparing by 32 bit words rather than 16 bit chars.
2793
2794         This gives between 0x (for 1 char) and >2x (for large strings)
2795         factor of improvement.
2796
2797         A big thanks to Miguel, who suggested the integer compares.
2798
2799 2004-02-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2800
2801         * MonoType.cs: use the binder in GetPropertyImpl.
2802
2803 2004-02-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2804
2805         * Math.cs: MonoStyled, replaced space with tabs,
2806           speedup of some methods by avoiding method calls
2807
2808 2004-02-18  Atsushi Enomoto  <atsushi@ximian.com>
2809
2810         * Char.cs : optimized IsSeparator(), IsWhiteSpace() and IsDigit().
2811           (Moved from InternalCall to Managed code).
2812
2813 2004-02-17  Martin Baulig  <martin@ximian.com>
2814
2815         * MonoType.cs (GetConstructors): Renamed the interncall to
2816         GetConstructors_internal(), made it internal and added a `Type
2817         reflected_type' argument to it.
2818         (GetEvents, GetFields): Likewise.
2819         (GetMethodsByName): Added `Type reflected_type' argument.
2820         (GetPropertiesByName): Likewise.
2821
2822 2004-02-16  Jackson Harper  <jackson@ximian.com>
2823
2824         * FloatingPointFormater.cs: Allow precision to be up to the number
2825         of decimals without rounding.
2826         
2827 2004-02-14  Zoltan Varga  <vargaz@freemail.hu>
2828
2829         * Delegate.cs (Equals): Do not compare method_ptr, since it might
2830         point to a trampoline.
2831
2832 2004-02-12  Jackson Harper  <jackson@ximian.com>
2833
2834         * AppDomainSetup.cs: If relative paths are used they should be
2835         rooted in the temp directory.
2836         
2837 2004-02-11  Marek Safar  <marek.safar@seznam.cz>
2838
2839         * Type.cs (FilterNameIgnoreCase_impl): Added extra check for speedup.
2840
2841 2004-02-10  Zoltan Varga  <vargaz@freemail.hu>
2842
2843         * AppDomain.cs (Load): Check that assemblyRef.Name is not empty, to
2844         avoid an assert in the runtime.
2845
2846 2004-02-08  Duncan Mak  <duncan@ximian.com>
2847
2848         * Convert.cs (ToType): Always let a Convert.ChangeType call
2849         succeed if the source object is already of the destination type.
2850
2851         Patch by Ian MacLean (ianm@activestate.com).
2852
2853 2004-02-05  Sebastien Pouliot  <sebastien@ximian.com>
2854
2855         * AppDomain.cs: Implemented SetPrincipalPolicy and SetThreadPrincipal.
2856
2857 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
2858
2859         * Environment.cs: Bump corlib version.
2860
2861 2004-02-02  Sebastien Pouliot  <sebastien@ximian.ca>
2862
2863         * DateTime.cs: Corrected support for "Z" in the mask (Parse). This
2864         fix bug #53461.
2865
2866 2004-01-27  Sebastien Pouliot  <spouliot@videotron.ca>
2867
2868         * Exception.cs: Changed ToString to remove the \n when no stack trace
2869         is present (which fixed a unit test for SecurityException). Changed
2870         all \n to Environment.NewLine.
2871
2872 2004-01-27  Lluis Sanchez Gual <lluis@ximian.com>
2873
2874         * ContextBoundObject.cs: Removed TODO.
2875
2876 2004-01-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2877
2878         * TimeSpan.cs: fixed bug #52075. Days (int) don't rely on TotalDays
2879         (double), which might round up.
2880
2881 2004-01-19  Jackson Harper <jackson@ximian.com>
2882
2883         * FloatingPointFormatter.cs: Use the default decimal digits count
2884         if they are not specified. This fixes bug #52927.
2885         
2886 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
2887
2888         * Environment.cs: Bump version number.
2889
2890 2004-01-19  Lluis Sanchez Gual  <lluis@ximian.com>
2891
2892         * Type.cs: Added internal call for IsInstanceOfType. The old implementation
2893         uses IsAssignableFrom(o.GetType()), which is not always valid for 
2894         transparent proxies (because GetType will not return the type of the remote
2895         object if its assembly is not present).
2896
2897 2004-01-18  David Sheldon <dave-mono@earth.li>
2898
2899   * FloatingPointFormatter.cs: Skip the decimal point if we have an 
2900     integer mantassa. So: 1E+15, rather than 1.E+15.
2901
2902 2004-01-18  David Sheldon <dave-mono@earth.li>
2903
2904         * Array.cs (GetValue/SetValue): Throw NullRef exception like .NET 1.1, 
2905         even though docs say it should be an ArgumentNull. Two test cases now
2906   pass. See also nickd's commit of 2003-12-24.
2907
2908 2004-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2909
2910         * Environment.cs: increased corlib version.
2911
2912 2004-01-14  Lluis Sanchez Gual <lluis@ximian.com>
2913
2914         * MonoCustomAttrs.cs: Removed attribute cache. Attribute instances can't
2915         be reused because they could be modified. This fixes bug #52655.
2916
2917 2004-01-12  Patrik Torstensson
2918
2919         * Environment.cs: Bump corlib version number due to new StringBuilder
2920         
2921         * String.cs: New internal method to support the new StringBuilder that
2922         uses the string as a buffer (until ToString is called)
2923
2924 2004-01-12  Zoltan Varga  <vargaz@freemail.hu>
2925
2926         * Environment.cs: Bump corlib version number for real this time.
2927         
2928         * AppDomain.cs (LoadAssembly): Pass the assembly name as a string to
2929         the runtime, so it can take into account the Culture etc.
2930
2931         * Environment.cs: Bump corlib version number.
2932         
2933 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2934
2935         * MonoType.cs: GetMethods renamed to GetMethodsByName. It takes a
2936         new parameter with the method name and a boolean for ignoring case.
2937         Removed some string comparisons no longer needed.
2938
2939 2004-01-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2940
2941         * MonoType.cs: GetProperties renamed to GetPropetiesByName. It takes a
2942         new parameter with the property name and a boolean for ignoring case.
2943         Fixes bug #52753.
2944
2945 2004-01-11  David Sheldon <dave-mono@earth.li>
2946
2947         * DateTime.cs: Correct processing of formats with multiple '-'s, fixing
2948         bug 52274.
2949
2950 2004-01-10  Zoltan Varga  <vargaz@freemail.hu>
2951
2952         * AppDomain.cs: Keep track of type resolve and assembly resolve 
2953         events in progress to prevent infinite recursion.
2954
2955 2004-01-06  Miguel de Icaza  <miguel@ximian.com>
2956
2957         * Console.cs: Test for UTF-8 being present anywhere on the
2958         string, also do ToUpper instead of ToLower, which will work even
2959         around the ICU bug with different locales (#52065), and addresses #52101
2960
2961 2004-01-05  Zoltan Varga  <vargaz@freemail.hu>
2962
2963         * Environment.cs: Bump version.
2964
2965 2003-12-24 Ben Maurer  <bmaurer@users.sourceforge.net>
2966
2967         * Type.cs (IsNotPublic): One would normally assume that
2968         IsNotPublic == !IsPublic, but this is not the case (note to MS,
2969         make better names ;-). Fixes #52547, `Type.IsNotPublic not 
2970         correct for Nested types'
2971
2972 2003-12-24  Nick Drochak  <ndrochak@ieee.org>
2973
2974         * Array.cs (CreateInstance): Throw NullRef exception like .NET 1.1, 
2975         even though docs say it should be an ArgumentNull. Sent email to MS
2976         about this "bug".
2977
2978 2003-12-23  Lluis Sanchez Gual  <lluis@ximian.com>
2979
2980         * Exception.cs: Several changes to make it compatible with MS.NET (needed
2981         for remoting interoperability): set a default value for hresult, added 
2982         initialization of class_name, serialization field RemoteStackTrace must
2983         be RemoteStackTraceString, added ser. field ExceptionMethod.
2984
2985         * IndexOutOfRangeException.cs: Added serialization constructor.
2986
2987 2003-12-22  Bernie Solomon  <bernard@ugsolutions.com>
2988
2989         * Int32 (Parse):
2990           Int64 (Parse): Fix overflow checking for AllowHexSpecifier
2991
2992 2003-12-20  Zoltan Varga  <vargaz@freemail.hu>
2993
2994         * MonoType.cs (GetMethodImpl): Only call FindMostDerivedMatch if the
2995         user supplied no parameter info, but not when the user supplied an
2996         empty parameter list. This fixes IKVM.
2997
2998         * Environment.cs: Bump corlib version.
2999
3000 2003-12-19  Dick Porter  <dick@ximian.com>
3001
3002         * String.cs: Added Compare shortcut for length==0.
3003
3004 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
3005
3006         * Environment.cs: Bump corlib version.
3007
3008 2003-12-17  Dick Porter  <dick@ximian.com>
3009
3010         * String.cs: Fix StartsWith and EndsWith when the argument is the
3011         empty string.  Fixes bug 52283.
3012
3013 2003-12-16  Zoltan Varga  <vargaz@freemail.hu>
3014
3015         * Environment.cs (HasShutdownStarted): Implement.
3016
3017 2003-12-15  Zoltan Varga  <vargaz@freemail.hu>
3018
3019         * Environment.cs (HasShutdownStarted): Make this static under NET 1.1.
3020         
3021         * Environment.cs: Bump version number.
3022
3023 2003-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3024
3025         * DateTime.cs: don't bail out with that year out of range error on
3026         stuff like "MM/dd/yyyy HH:MM:ss".
3027
3028 2003-12-13  Zoltan Varga  <vargaz@freemail.hu>
3029
3030         * Environment.cs: Make it a const instead.
3031         
3032         * Environment.cs: Make version field static.
3033
3034 2003-12-10  Zoltan Varga  <vargaz@freemail.hu>
3035
3036         * Type.cs: Make DefaultBindingFlags protected.
3037
3038         * Environment.cs: Applied patch from Todd Berman (tbermann@gentoo.org).
3039         Add new GacPath property + its associated icall.
3040
3041 2003-12-09 Anirban Bhattacharjee <banirban@novell.com>
3042
3043         * DateTime.cs : Bugs fixed (41845, 51422)
3044         * MonoType.cs : Exception message changed 
3045
3046 2003-12-08  Martin Baulig  <martin@ximian.com>
3047
3048         * Type.cs (MakeByRefType): New public method.
3049
3050 2003-12-08  Zoltan Varga  <vargaz@freemail.hu>
3051
3052         * Environment.cs: Add a version number for the corlib-runtime interface
3053         to make it easier to diagnose problems resulting from a mismatch 
3054         between the two.
3055
3056 2003-12-08  Patrik Torstensson   <p@rxc.se>
3057
3058         * Type.cs (GetMethod): Check type arguments within array
3059         * MonoType.cs (GetMethodImpl): Handle methods with a new slot
3060         (same signature but different classes (derived level)
3061
3062 2003-12-07  Zoltan Varga  <vargaz@freemail.hu>
3063
3064         * Type.cs (MakeArrayType): Add argument checking.
3065
3066 2003-12-06  Dick Porter  <dick@ximian.com>
3067
3068         * String.cs: Don't use CompareInfo for non-culture-sensitive
3069         IndexOf and LastIndexOf methods.
3070
3071 2003-12-06  Ravindra  <rkumar@novell.com>
3072
3073         * DateTime.cs: Made Parse(string, IFormatProvider) method to
3074         use second argument. Fixed bug #51464.
3075
3076 2003-12-04  Martin Baulig  <martin@ximian.com>
3077
3078         * Type.cs (Type.MakeArrayType): New public method.
3079
3080 2003-12-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3081
3082         * Buffer.cs:
3083         (BlockCopy): make the exception thrown helpful.
3084
3085 2003-12-03  Dick Porter  <dick@ximian.com>
3086
3087         * String.cs: Calling Replace on an empty string returns itself.
3088
3089 2003-12-03  Zoltan Varga  <vargaz@freemail.hu>
3090
3091         * MonoType.cs: Get rid of get_type_info, use a separate icall for
3092         each property instead.
3093
3094 2003-12-02  Dick Porter  <dick@ximian.com>
3095
3096         * Decimal.cs: Fix NumberFormatInfo lookup.  Patch by
3097         Mohammad DAMT (mdamt@cdl2000.com), fixes bug 51443.
3098
3099 2003-12-01  Dick Porter  <dick@ximian.com>
3100
3101         * String.cs: Make Compare, IndexOf, LastIndexOf, StartsWith,
3102         Replace, ToLower, ToUpper and Equals use the correct CultureInfo.
3103
3104 2003-11-28  Dick Porter  <dick@ximian.com>
3105
3106         * Type.cs: 
3107         * MonoType.cs: 
3108         * Enum.cs: 
3109         * Boolean.cs: Do string compares with the Invariant culture.
3110
3111 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
3112
3113         * Array.cs: make the enumerator ICloneable
3114
3115 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
3116
3117         * Decimal.cs (ToXXX): Call Convert.ToXXX.
3118
3119 2003-11-26  Zoltan Varga  <vargaz@freemail.hu>
3120
3121         * AppDomain.cs: Applied patch from ztashev@openlinksw.co.uk (Zdravko Tashev). 
3122         Implement Load(byte[]) methods.
3123
3124         * BadImageFormatException.cs: Fix ToString.
3125
3126 2003-11-24  Zoltan Varga  <vargaz@freemail.hu>
3127
3128         * MonoType.cs: Make Standard|HasThis match Standard in GetMethod and
3129         GetConstructor, as done by MS.
3130
3131 2003-11-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3132
3133         * FloatingPointFormatter.cs: Removed some unused variables to prevent csc compiler warnings
3134
3135 2003-11-18  Lluis Sanchez Gual  <lluis@ximian.com>
3136
3137         * TypeInitializationException.cs: Added missing serialization constructor.
3138
3139 2003-11-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3140
3141         * AppDomainSetup.cs: Don't add an extra '/' at the end of 
3142         ApplicationBase. The tests pass now with mono.
3143
3144 2003-11-18  Zoltan Varga  <vargaz@freemail.hu>
3145
3146         * ValueType.cs: New optimized implementation for Equals and GetHashCode.
3147
3148 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3149
3150         * Environment.cs: use Directory in CurrentDirectory property.
3151         We were not throwing any exception when setting the directory to an
3152         invalid path.
3153
3154 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3155
3156         * Array.cs:
3157         * Delegate.cs: implemented 1.1 stuff.
3158
3159         * Enum.cs:
3160         * IntPtr.cs: removed extra attribute.
3161         * PlatformID.cs: added WinCE.
3162
3163 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3164
3165         * ValueType.cs:
3166         (Equals): compare the fields of structs too.
3167         (GetHashCode): combine the hash code of all the fields.
3168         Fixes bug #50901 (will remove the icall in a couple of days).
3169
3170 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3171
3172         * Array.cs: fixed Clear for non-zero bounded arrays. Fixes bug #50968.
3173
3174 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3175
3176         * DateTime.cs: handle century when we try to parse 4-digit years and
3177         only 2 digits are present. Fixes bug #49394.
3178
3179 2003-11-13  Miguel de Icaza  <miguel@ximian.com>
3180
3181         * Console.cs: On utf-8 consoles, use unmarked output.
3182
3183 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3184
3185         * IAppDomainSetup.cs:
3186         * _AppDomain.cs: 
3187         * Object.cs:
3188         * Type.cs: Added missing attribute
3189
3190 2003-11-12 Lluis Sanchez Gual <lluis@ximian.com>
3191
3192         * Environment.cs: Added internal method for getting the path to 
3193         machine.config.
3194         
3195 2003-11-12 Jackson Harper <jackson@ximian.com>
3196
3197         * Environment.cs: Add MyMusic and MyPictures to the SpecialFolder
3198         enum. This fixes the SWF build.
3199         
3200 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
3201
3202         * PlatformID.cs: Remove Unix platform, we cant expose constants
3203         that are not in the framework.
3204
3205         * OperatingSystem.cs: Adjust for the breakage.
3206
3207         * RuntimeMethodHandle.cs: Fix signature.
3208
3209         * Double.cs: Fix signature of TryParse.
3210
3211         * String.cs (Concat (object, object, object, object)): Add missing method.
3212
3213         * OperatingSystem.cs: Removed Equals, GetHashCode, they were not
3214         in the .NET Framework.
3215
3216         * Enum.cs: Hide constructor.  
3217
3218         Fix ToUint16 to be explicitly implemented.
3219
3220         * Console.cs: Add couple of extra missing methods (Write and
3221         WriteLine overloaded)
3222
3223 2003-11-11  Miguel de Icaza  <miguel@ximian.com>
3224
3225         * AppDomain.cs, Activator.cs: New unimplmented entry points from
3226         1.1 (Com activation related).
3227         
3228         * Exception.cs: Formatting.
3229         
3230         * IServiceProvider.cs: Add ComVisible (true).
3231
3232         * AppDomainSetup.cs: Add a couple more properties from .NET 1.1 
3233
3234 2003-11-03  Lluis Sanchez Gual <lluis@ximian.com>
3235
3236         * AppDomain.cs: Added some null checks in Load methods. This fixes bug
3237           #50356.
3238
3239 2003-11-01  Zoltan Varga  <vargaz@freemail.hu>
3240
3241         * AppDomain.cs: Make the SetDomain icalls private + call InternalInvoke
3242         on MonoMethod instead of Invoke.
3243
3244 2003-11-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
3245
3246         * DateTime.cs: Fixed Add* methods handling. Now it works properly
3247         with extreme values (there is a bug with Overflow and Underflow in
3248         long type).
3249
3250 2003-10-31  Pedro Martínez Juliá  <yoros@wanadoo.es>
3251
3252         * DateTime.cs: Fixed a few format bugs.
3253
3254 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
3255
3256         * AppDomain.cs (InternalPushDomainRef): New icalls.
3257
3258         * AppDomain.cs (InvokeInDomain): New method to execute code in a 
3259         different appdomain.
3260
3261 2003-10-27  Zoltan Varga  <vargaz@freemail.hu>
3262
3263         * AppDomain.cs: Fix prototype of InternalIsFinalizingForUnload.
3264
3265 2003-10-25  Zoltan Varga  <vargaz@freemail.hu>
3266
3267         * AppDomain.cs (IsFinalizingForUnload): Implement.
3268
3269         * AppDomain.cs (Unload): Move the notification of OnUnload listeners
3270         to unmanaged code.
3271
3272 2003-10-25  Martin Baulig  <martin@ximian.com>
3273
3274         * MonoType.cs: Don't make this sealed.
3275
3276 2003-10-24  Zoltan Varga  <vargaz@freemail.hu>
3277
3278         * AppDomain.cs: Add InternalInvokeInDomain[ByID] icalls.
3279
3280 2003-10-24  Pedro Martínez Juliá  <yoros@wanadoo.es>
3281
3282         * DateTime.cs: When handling '-' as a date separator, MS.NET uses
3283         the same symbol in the parse (not DateTimeFormatInfo.DateSeparator).
3284
3285 2003-10-22  Dick Porter  <dick@ximian.com>
3286
3287         * DateTime.cs: Handle '-' as a date separator when parsing formats.
3288
3289 2003-10-20  Duncan Mak  <duncan@ximian.com>
3290
3291         * Delegate.cs (CreateDelegate): Avoid creating an extra Type array
3292         and merge the two iterations into one.
3293
3294 2003-10-15  Zoltan Varga  <vargaz@freemail.hu>
3295
3296         * TypedReference.cs: Add new field used by the runtime.
3297
3298 2003-10-15  Martin Baulig  <martin@ximian.com>
3299
3300         * Type.cs (Type.DeclaringMethod): For a generic method's type
3301         parameter, return this method - otherwise, return null.
3302
3303 2003-10-14  Martin Baulig  <martin@ximian.com>
3304
3305         The generics API has changed in the spec since it was added here;
3306         these modifications make it match the spec again.
3307
3308         * Type.cs
3309         (GetGenericParameters): Renamed to `GetGenericArguments'.
3310         (HasGenericParameters): Renamed to `HasGenericArguments'.
3311         (HasUnboundGenericParameters): Renamed to `ContainsGenericParameters'.
3312         (IsGenericTypeDefinition): New property.
3313         (IsUnboundGenericParameter): Renamed to `IsGenericParameter'.
3314
3315         * MonoType.cs (ContainsGenericParameters): Implement this here;
3316         this is no interncall anymore.
3317
3318 2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3319
3320         * Delegate.cs: add the method name to the exception when it cannot be
3321         bound.
3322         * Exception.cs: fix nullref in Source.
3323
3324 2003-10-10  Zoltan Varga  <vargaz@freemail.hu>
3325
3326         * Array.cs: Add argument checking to GetValue and SetValue.
3327
3328 2003-10-09  Miguel de Icaza  <miguel@ximian.com>
3329
3330         * DateTime.cs: Patch from Chris Turchin: the DateTime.MaxValue
3331         should not be TimeSpan.MaxValue, because it overflow.  Set this to
3332         be MAX_VALUE_TICKS
3333
3334 2003-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3335
3336         * MonoCustomAttrs.cs: from_cache is now thread-safe. Yeah, I got a
3337         duplicate entry exception.
3338
3339 2003-10-08 Ben Maurer  <bmaurer@users.sourceforge.net>
3340
3341         * DateTime.cs (ToString): Total rewrite, fixes #49358.
3342
3343 2003-10-03  Zoltan Varga  <vargaz@freemail.hu>
3344
3345         * AppDomain.cs: Change accessibility of DoTypeResolve to fix build.
3346
3347 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3348
3349         * Enum.cs:
3350         (Equals): check that the object is an Enum before comparing the types.
3351
3352 2003-09-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3353
3354         * Array.cs: reduced xsp allocated memory by 1/2.
3355
3356 2003-09-25  Martin Baulig  <martin@ximian.com>
3357
3358         * Type.cs (Type.IsGenericTypeDefinition): Removed this method
3359         since it was identical to GetGenericTypeDefinition().
3360         (Type.IsGenericInstance): New property.
3361
3362 2003-09-24  Duncan Mak  <duncan@ximian.com>
3363
3364         * Math.cs (Abs): Fix double Locale.GetText bug reported by
3365         davejp@volny.cz. This fixes #48788.
3366
3367 2003-09-14  Pedro Martínez Juliá  <yoros@wanadoo.es>
3368
3369         * FloatingPointFormatter.cs: Add the necessary castings to char
3370         conversions.
3371
3372 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
3373
3374         * FloatingPointFormatter.cs: Make the method calls more functional
3375         for protecting the values from different threads (make it more
3376         thread safe).
3377
3378 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
3379
3380         * FloatingPointFormatter.cs: Fix a bug with the negative value of
3381         count parameter.
3382
3383 2003-09-12  Pedro Martínez Juliá  <yoros@wanadoo.es>
3384
3385         * FloatingPointFormatter.cs: Applied a lot of improvements in string
3386         construction, make use of Append/Insert with the "count" parameter.
3387     Thanks to Ben Maurer.
3388
3389 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
3390
3391         * FloatingPointFormatter.cs: Fix a bug with Custm Format.
3392
3393         * FloatingPointFormatter.cs: Fix a little bug I've introduced the
3394         last change.
3395
3396 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
3397
3398         * DoubleFormatter.cs: A few optimizations. Now, only one object
3399         is created to convert all double numbers.
3400
3401         * SingleFormatter.cs: A few optimizations. Now, only one object
3402         is created to convert all float numbers.
3403
3404         * FloatingPointFormatter.cs: Split the "number type parameters" from
3405         the "numver value and format parameters". The first ones are in the
3406         constructor and the others are in a method.
3407
3408 2003-09-09  Zoltan Varga  <vargaz@freemail.hu>
3409
3410         * Array.cs: Added argument checking to some NET_1_1 methods.
3411
3412 2003-09-04  Martin Baulig  <martin@ximian.com>
3413
3414         * Type.cs (GetGenericTypeDefinition): Make this method virtual.
3415
3416 2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3417
3418         * Array.cs: added the new overloaded CreateInstance, GetValue, SetValue
3419         taking 'longs'. All tests pass.
3420
3421 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
3422
3423         * Exception.cs: Add ClassInterface attr. Implement TargetSite and
3424         Source. Remove MonoTODO attributes (class is 100% done). Also
3425         passes all Rotor tests for Exception!
3426
3427 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
3428
3429         * Enum.cs: Remove [MonoTODO]'s that had been completed.
3430
3431 2003-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3432
3433         * String.cs: fixed bug #47802.
3434
3435 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
3436
3437         * String.cs: Created method FormatHelper that does formatting,
3438         using a StringBuilder.
3439
3440 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3441
3442         * Array.cs: patch by lb@lb.ods.org that fixes bug #47707.
3443
3444 2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3445
3446         * Delegate.cs: CreteDelegate (Type, MethodInfo) only supports static
3447         methods under MS.
3448
3449 2003-08-11  Duncan Mak  <duncan@ximian.com>
3450
3451         * Environment.cs (Version): Return the same numbers as the MS
3452         implementation.
3453
3454 2003-08-10  Miguel de Icaza  <miguel@ximian.com>
3455
3456         * Array.cs: Applied patch from Thong (Tum) Nguyen;  Removed
3457         replicated tests, and have a routine that does the heavy lifting.
3458
3459 2003-08-08  Lluis Sanchez Gual <lluis@ximian.com>
3460
3461         * DateTime.cs: Fixed DoParse. It was calling the wrong constructor
3462           of DateTime.
3463         * Environment.cs: return $HOME for ApplicationData folder.
3464
3465 2003-08-04  Duncan Mak  <duncan@ximian.com>
3466
3467         * FloatingPointFormatter.cs (Normalize): Apply a patch from Aleksey
3468         Demakov <avd@openlinksw.com> to fix formatting for Big power of 10
3469         floating point values. This fixes bug #46175.
3470
3471         * Convert.cs (ToUInt16): Throw an OverflowException correctly, as
3472         noted by c5n4kh6u02@sneakemail.com in
3473         http://bugzilla.ximian.com/show_bug.cgi?id=43098.
3474
3475 Sat Aug  2 13:01:46 BST 2003 Malte Hildingson <malte@amy.udd.htu.se>
3476
3477         * Double.cs: added icall Double.AssertEndianity.
3478
3479 Fri Aug 1 16:47:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
3480
3481         * Type.cs, MonoType.cs: implemented generic-specific methods.
3482
3483 2003-07-29  Miguel de Icaza  <miguel@ximian.com>
3484
3485         * Buffer.cs: Add new internal MemCopy call.
3486
3487         Removed the above.
3488
3489 Tue Jul 29 12:13:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
3490
3491         * Type.cs, MonoType.cs, ArgIterator.cs: pass the handles values
3492         to icalls, to avoid special cases in some call conventions.
3493
3494 2003-07-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3495
3496         * Enum.cs: added Serializable attribute.
3497
3498 2003-07-25  Duncan Mak  <duncan@ximian.com>
3499
3500         * AppDomain.cs (Equals):
3501         (GetHashCode): Removed because they do not need to be defined
3502         here.
3503
3504 2003-07-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3505
3506         * TypeLoadException.cs: removed unused fields. TypeName returns "" if
3507         cannot even get the type.
3508
3509 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
3510
3511         * Type.cs: Added generics stubs.
3512
3513 2003-07-23  Duncan Mak  <duncan@ximian.com>
3514
3515         * Environment.cs (SpecialFolder): Added 'Desktop' and 'MyComputer'
3516         as values for NET_1_1.
3517         (GetFolderPath): Return the empty string ("") for values of
3518         SpecialFolder that have no corresponding equivalents in
3519         Linux. Return "$HOME/Desktop" for SpecialFolder.DesktopDirectory
3520         and "$HOME" for SpecialFolder.Personal.
3521
3522         * IntPtr.cs (GetObjectData): Mark it as an interface
3523         implementation, instead of a public method.
3524
3525         * Guid.cs (NewGuid): Remove MonoTODOAttribute.
3526
3527         * TypeLoadException.cs (GetObjectData):
3528         Create stubs for the fields that are being serialized.
3529
3530         * UIntPtr.cs: Removed erroneous CLSCompliantAttributes.
3531
3532 2003-07-23  Lluis Sanchez Gual <lluis@ximian.com>
3533         
3534         * Enum.cs: Fixed enum formatting. For flag enums, if one of
3535           the flags is unnamed, ToString() returns the integer value.
3536
3537 2003-07-22  Jerome Laban <jlaban@wanadoo.fr>
3538
3539         * Guid.cs: Fixed ToString (), was producing incorrect string.
3540
3541 2003-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3542
3543         * AppDomainSetup.cs: fixed bug #46609.
3544
3545 Thu Jul 17 17:28:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
3546
3547         * MonoType.cs: use an icall for IsPrimitiveImpl ().
3548
3549 Thu Jul 17 15:23:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
3550
3551         * Guid.cs: faster ToString ().
3552
3553 2003-07-15  Pedro Martínez Juliá  <yoros@wanadoo.es>
3554
3555         * FloatingPointFormatter.cs: Few changes for get working Rotor
3556         tests.
3557
3558 2003-07-13  Zoltan Varga  <vargaz@freemail.hu>
3559
3560         * Type.cs (IsAssignableFrom): Implement this as an icall since the
3561         runtime already includes the neccessary logic.
3562
3563 2003-07-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3564
3565         * AppDomainSetup.cs: remove the "file://" prefix from ApplicationBase
3566         if it's present and get the full path for non-Uri paths.
3567
3568 2003-07-2  Lluis Sanchez Gual <lluis@ximian.com>
3569
3570         * DateTime.cs: Fixed formatting of fractions of second.
3571
3572 2003-06-30  Zoltan Varga  <vargaz@freemail.hu>
3573
3574         * Console.cs: Turn off buffering for the streams returned by
3575         OpenStandardOutput () and OpenStandardError () if the buffer size is 0.
3576
3577 2003-06-28  Lluis Sanchez Gual <lluis@ximian.com>
3578
3579         * Random.cs: Changed behavior of Random to match MS.NET. When Next is
3580           called with maxvalue==0 or minvalue==maxvalue, MS.NET internally generates
3581           a new random number (although it is not needed), while mono did not. 
3582           As a result, the sequence of random numbers could be different for the
3583           same seed.
3584
3585 Thu Jun 26 16:06:35 CEST 2003 Paolo Molaro <lupus@ximian.com>
3586
3587         * FloatingPointFormatter.cs: use dec_len2 as default precision.
3588
3589 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
3590
3591         * DateTime.cs: Modified constructor. Check for valid value of TimeSpan must
3592           be done after the correspondig UTC offset has been applied.
3593
3594 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
3595
3596         * Object.cs: Object must have the Serializable attribute.
3597         * DateTime.cs: Fixed _DoParse() so it correctly applies the utc offset
3598           to the resulting date. Also fixed _ToString so now correctly formates the
3599           UTC offset.
3600
3601 Wed Jun 18 19:22:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
3602
3603         * Enum.cs: fix race in cache (bug#41841).
3604
3605 Wed Jun 18 18:52:11 CEST 2003 Paolo Molaro <lupus@ximian.com>
3606
3607         * FloatingPointFormatter.cs: if the precision is not specified, use
3608         the default precision for the data type.
3609
3610 Wed Jun 18 18:11:30 CEST 2003 Paolo Molaro <lupus@ximian.com>
3611
3612         * Array.cs: throw ArgumentOutOfRangeException in Copy if needed
3613         (patch by tum@veridicus.com (Thong (Tum) Nguyen)).
3614
3615 2003-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3616
3617         * MonoType.cs: don't throw nullref when the return type for a property
3618         is specified and the property doesn't have a get accessor.
3619
3620 2003-06-10  Duncan Mak  <duncan@ximian.com>
3621
3622         * Array.cs (CreateInstance): Fixed a typo. It should throw
3623         ArgumentNullException instead of ArgumentException.
3624
3625 2003-06-09  Duncan Mak  <duncan@ximian.com>
3626
3627         * Array.cs: Revert the last revert. I fixed it.
3628         (Sort): Put a try-catch block around qsort, and wrap whatever
3629         Exception we get into a InvalidOperationException.
3630
3631 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
3632
3633         * Array.cs: Revert last patch, it broke some other functionality.
3634                 
3635 2003-06-08  Duncan Mak  <duncan@ximian.com>
3636
3637         * Array.cs: Throw more exceptions. This fixes the errors we see
3638         from the Rotor testsuite.
3639
3640         (CreateInstance): Throw ArgumentNullException when the input are
3641         null. Throw ArgumentOutOfRangeException when bounds + length is
3642         greater than Int32.MaxValue.
3643         (LastIndexOf): Throw ArgumentOutOfRangeException if index is outside
3644         the valid range of indices of array.
3645         (Sort): Throw InvalidOperationException when comparer is null and
3646         none of the elements in keys implements IComparable.
3647
3648 2003-06-08  Duncan Mak  <duncan@ximian.com>
3649
3650         * Array.cs (CreateInstance): Throw a TypeLoadException if the
3651         Length of the input array 'lengths' is greater than 255 so that we
3652         won't see the g_assert that is in mono_array_class_get in class.c.
3653
3654         This fixes bug #44304.
3655
3656 2003-06-05  Nick Drochak  <ndrochak@gol.com>
3657
3658         * UnitySerializataionHolder.cs: Cleanups according to class status page
3659
3660 Wed Jun 4 16:59:39 CEST 2003 Paolo Molaro <lupus@ximian.com>
3661
3662         * ArgIterator.cs, TypedReference.cs, RuntimeArgumentHandle.cs,
3663         RuntimeTypeHandle.cs: implemented the needed stuff to handle
3664         vararg calls.
3665
3666 2003-06-02  Sebastien Pouliot  <spouliot@videotron.ca>
3667
3668         * Random.cs: New implementation based on Knuth ran3 to fix #43597.
3669         See http://www.library.cornell.edu/nr/bookcpdf/c7-1.pdf. Commited
3670         for Ben Maurer after review and testing.
3671
3672 2003-05-28  Ben Maurer <bmaurer@users.sourceforge.net>
3673         
3674         * Array.cs: Added better argument checking to Array.Sort ()
3675         * DBNull.cs: Made the conversions throw like they do in MS.
3676
3677 2003-05-24  Philip Van Hoof  <me@freax.org>
3678
3679         * Math.cs: Add the MS.NET 1.1 methods (BigMul, DivRem, DivRem).
3680
3681 2003-05-21  Pedro Martínez Juliá  <yoros@wanadoo.es>
3682
3683         * FloatingPointFormatter.cs: Take care with the explicit precision
3684         and round the number to that precision.
3685
3686         * DoubleFormatter.cs: Adapt to the two level precision (15 - 17).
3687
3688         * SingleFormatter.cs: Adapt to the two level precision (7 - 8).
3689
3690 2003-05-20  Philip Van Hoof <me@freax.org>
3691
3692         * DateTime.cs (FromOADate, GetDateTimeFormats, ToOADate):
3693         Implemented.
3694
3695 2003-05-20  Zoltan Varga  <vargaz@freemail.hu>
3696
3697         * AppDomainSetup.cs: Added new field which is used to notify the
3698         runtime that the search path has changed.
3699
3700 2003-05-18  Pedro Martínez Juliá  <yoros@wanadoo.es>
3701
3702         * FloatingPointFormatter.cs: Fixed NullReferenceException bug I've
3703         introduced the last change I've done.
3704
3705 2003-05-17  Ben Maurer  <bmaurer@users.sourceforge.net>
3706
3707         * Array.cs: Fixed SyncRoot to behave like MS (return this). Removed 
3708         MonoTODO from SyncRoot (because fixed) and IsSynchronized (it was
3709         behaving correctly).
3710         
3711 2003-05-17  Pedro Martínez Juliá  <yoros@wanadoo.es>
3712
3713         * FloatingPointFormatter.cs: Fixed little format mismatches.
3714
3715 2003-05-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
3716
3717         * FloatingPointFormatter.cs: Fixed "-0" result emited.
3718
3719 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3720
3721         * AppDomain.cs: Added null argument check in Load().
3722         * Activator.cs: fixed bug #39926.
3723
3724 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3725
3726         * Enum.cs: fixed bugs #41522 and #42879.
3727
3728 2003-05-12  Zoltan Varga  <vargaz@freemail.hu>
3729
3730         * String.cs: Tweak IndexOf and LastIndexOf to match specification and
3731         undocumented MS behaviour.
3732
3733 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3734
3735         * Activator.cs: applied patch for bug #39926. Thanks to Jean Marc and
3736         Jaime.
3737
3738 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3739
3740         * String.cs: fixed bug #41411 and another similar problem in
3741         LastIndexOf (string).
3742
3743 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3744
3745         * String.cs: patch by Jean Marc <jean-marc.andre@polymtl.ca> that fixes
3746         bug #42695.
3747
3748 2003-05-09  Zoltan Varga  <vargaz@freemail.hu>
3749
3750         * MulticastDelegate.cs (GetInvocationList): Avoid ArrayList 
3751         construction if the delegate list only has one element.
3752
3753 2003-05-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
3754
3755         * Environment.cs: Changed the method GetFolderPath because it must
3756         return at least a directory name (not null).
3757
3758         * Convert.cs: In ToType, if the destination type is unknown, try to
3759         cast the value to object (then, the calling method will downcast it
3760         to the type it wants).
3761
3762 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3763
3764         * Enum.cs: fixed bug #41522.
3765
3766 Tue Apr 29 13:58:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
3767
3768         * Enum.cs: protect with the lock also the lookup (bug #41841).
3769
3770 Tue Apr 29 13:24:32 CEST 2003 Paolo Molaro <lupus@ximian.com>
3771
3772         * MonoType.cs: allow a null name if InvokeMember is called with
3773         BindingFlags.CreateInstance set.
3774
3775 2003-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3776
3777         * Enum.cs: reverted my previous patch.
3778
3779 2003-04-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3780
3781         * Enum.cs: fixed bug #41841.
3782
3783 2003-04-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3784
3785         * MonoType.cs:
3786         (GetPropertyImpl): handle BindingFlags.IgnoreCase.
3787
3788 2003-04-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
3789
3790         * FloatingPointFormatter.cs: Little fixes for get the same results
3791         as MS.NET and show a message when something goes wrong with the
3792         parser of Custom Formats.
3793
3794 2003-04-22  Nick Drochak  <ndrochak@gol.com>
3795
3796         * Double.cs (ToString):
3797         * Single.cs (ToString): Handle case where param is a CultureInfo.
3798
3799 2003-04-18  Zoltan Varga  <vargaz@freemail.hu>
3800
3801         * Object.cs ValueType.cs: Make the Object::GetHashCode() and 
3802         ValueType::Equals() icalls static non-virtual, so they can be called
3803         by the code in RuntimeHelpers.
3804
3805 2003-04-18  Miguel de Icaza  <miguel@ximian.com>
3806
3807         * Delegate.cs (operator ==): Do not crash if the second argument
3808         is null.  Bug fix submitted by Juan Cri.
3809
3810 2003-04-18  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
3811
3812         * Array.cs: Deleted the exception in Array.Initialize(), it looks
3813         like the method do nothing for C#, is still a MonoTODO until
3814         we find a compiler that uses that.
3815
3816 2003-04-14  Miguel de Icaza  <miguel@ximian.com>
3817
3818         * Delegate.cs (Delegate): Seems like a typo, we were checking the
3819         a field rather than the argument 
3820
3821         * MonoType.cs: Make GetNestedType an external method implementation.
3822
3823 2003-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3824
3825         * Enum.cs: fixed bug #41294.
3826
3827 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3828
3829         * DateTime.cs: fixes bug #40910, part 2.
3830
3831 2003-04-11  Dietmar Maurer  <dietmar@ximian.com>
3832
3833         * String.cs (Equals): avoid the internal call, code cleanups
3834
3835 2003-04-11  Alan Tam <Tam@SiuLung.com>
3836
3837         * Convert.cs: fixed bug #41085.
3838
3839 2003-04-10  Lluis Sanchez Gual <lluis@ideary.com>
3840
3841         * AppDomain.cs: Added internal method for getting process guid.
3842
3843 2003-04-09  Ville Palo <vi64pa@kolumbus.fi>
3844
3845         * Array.cs: Little fix to compare () method.
3846         
3847 2003-04-09  Zoltan Varga  <vargaz@freemail.hu>
3848
3849         * String.cs (Equals): Add trivial optimization.
3850
3851 2003-04-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3852
3853         * DateTime.cs: fixed bug #40910.
3854
3855 2003-04-05  Miguel de Icaza  <miguel@ximian.com>
3856
3857         * Console.cs: Make stderr, stdout and stdin use synchronized
3858         versions of the their readers/writers.
3859
3860 2003-04-04  Dick Porter  <dick@ximian.com>
3861
3862         * Version.cs: Make operator== and operator!= cope with null
3863         objects.  Didn't change operator<, operator<=, operator> or
3864         operator>= because its not meaningful to use those to compare
3865         against null, and throwing a NullReferenceException is probably
3866         the best thing to do there anyway.
3867
3868         Fixes bug 40720.
3869
3870 2003-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3871
3872         * AppDomain.cs: fixed InvalidCastException.
3873
3874 2003-03-30  Zoltan Varga  <vargaz@freemail.hu>
3875
3876         * Array.cs (Copy): Call FastCopy() earlier to avoid the expensive
3877         type checks and let it decide whenever a fast copy is possible.
3878
3879 2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3880
3881         * MonoType.cs:
3882         (GetMethodImpl): support BindingFlags.IgnoreCase flag. Fixes bug #40322.
3883
3884 2003-03-25  Zoltan Varga  <vargaz@freemail.hu>
3885
3886         * Activator.cs (CreateInstance): Call GetConstructor with the right
3887         arguments so the nonPublic argument is handled correctly.
3888
3889 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3890
3891         * Type.cs: fixed bug #40123.
3892
3893 2003-03-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
3894
3895         * FloatingPointFormatter.cs: Fixed some bugs for get the same
3896         results than MS.NET. Added simple error recovering, now ToString
3897         will return a general format if there is any exception in the
3898         process of formatting. This make the library more robust while the
3899         formatters are refined.
3900
3901 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
3902
3903         * FloatingPointFormatter.cs: Added support for group separators.
3904
3905 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
3906
3907         * Single.cs:
3908         * Double.cs: Apply changes of .ToString methods.
3909         * SingleFormatter.cs:
3910         * DoubleFormatter.cs: Simple wrappers to FloatingPointFormatter.
3911         * FloatingPointFormatter.cs: New class. Implementation of double and
3912         single formatters. It is unified now and parametrized with precission
3913         values.
3914
3915 2003-03-15  Lluis Sanchez Gual <lluis@ideary.com>
3916
3917         * AppDomain.cs: fixes bugs #39380 and #39331.
3918
3919 2003-03-06  Nick Drochak  <ndrochak@gol.com>
3920
3921         * TimeSpan.cs (Negate): Throw exception when value is MinValue.
3922
3923 2003-03-04  Dick Porter  <dick@ximian.com>
3924
3925         * Single.cs:
3926         * Double.cs: Temporarily reverted the Double and Single ToString()
3927         change, because it broke nunit.
3928
3929
3930 2003-03-04  Pedro Martínez Juliá  <yoros@wanadoo.es>
3931
3932         * Double.cs: Changed ToString method. Added NumberFormatInfo support
3933         with DoubleFormatter class.
3934         * Single.cs: Changed ToString method. Added NumberFormatInfo support
3935         with SingleFormatter class.
3936         * DoubleFormatter.cs: New class with Double formatting functions.
3937         * SingleFormatter.cs: New class with Single formatting functions.
3938
3939 2003-03-03  Lluis Sanchez Gual <lluis@ideary.com>
3940
3941         * Activator.cs: Added support for activation using activation attributes.
3942         * AppDomain.cs: Added internal method to get the default context from the runtime.
3943
3944 2003-02-28  Elan Feingold  <efeingold@mn.rr.com>
3945
3946         * DateTime.cs: FileTime is expressed in Universal time, and as such must
3947         be converted before subtracting the magic offset.
3948         * DateTime.cs: Strings in the format "2003-02-27T10:05:03-11:00" (note
3949         the timezone at the end) *must* be parsed by DateTime.Parse() for
3950         compatibility with Microsoft.
3951
3952 2003-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3953
3954         * Attribute.cs:
3955         * MonoCustomAttrs.cs: fix for the regression test failure (see bug
3956         #38238).
3957
3958         * IntPtr.cs: added serialization .ctor
3959
3960 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3961
3962         * AppDomain.cs: check for null in Unload and changed method name.
3963
3964 2003-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3965
3966         * MonoCustomAttrs.cs: fixed bug #38238.
3967
3968 2003-02-17  Martin Baulig  <martin@ximian.com>
3969
3970         * Exception.cs (Exception.ToString): Print a newline between the
3971         exception message and the stack trace.
3972
3973 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3974
3975         * AppDomain.cs: implemented GetCurrentThreadId ().
3976
3977 2003-02-14  Patrik Torstensson
3978
3979         * Exception.cs: Fixed message output formating
3980
3981 2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3982
3983         * Int32.cs:
3984         (Parse): ignore everything after a \0 (MS parses: "512\0hola" as 512).
3985
3986 2003-02-12  Miguel de Icaza  <miguel@ximian.com>
3987
3988         * Type.cs: IsClass should return false for Enumerations
3989
3990 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3991
3992         * MonoCustomAttrs.cs: return the correct array type in the short case.
3993         Fixes bug #37818.
3994
3995 2003-02-08  Pedro Martíenz Juliá  <yoros@wanadoo.es>
3996
3997         * Math.cs: Fix a few methods (like Round) and add with comments the
3998         new methods: BigMul and DivRem that were in ECMA specs.
3999
4000 2003-02-07  Patrik Torstensson
4001
4002         * Exception.cs: Fixed formating
4003
4004 2003-02-05  Patrik Torstensson
4005
4006         * AppDomain.cs: Partly fixed the unload method 
4007         
4008 2003-02-04  Patrik Torstensson
4009
4010         * AppDomain.cs: Fixed lease issue with appdomain
4011
4012 2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
4013
4014         * MarshalByRefObject.cs: Implemented GetLifetimeService() and 
4015           InitializeLifetimeService().
4016
4017 2003-02-03  Patrik Torstensson
4018
4019         * AppDomain.cs: New internalcalls for handling domain/context switches
4020         * AppDomain.cs (CreateDomain): Return transparant proxy for appdomain object
4021
4022 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4023
4024         * AppDomain.cs: implemented AppendPrivatePath, ClearPrivatePath
4025         and ClearShadowCopyPath and fixed GetType ().
4026
4027         * Attribute.cs: clean up.
4028
4029         * Console.cs: removed UnixConsoleEncoding. Use Default.
4030
4031 2003-02-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4032
4033         * Attribute.cs: fixed all IsDefined overloads. Gotta fix
4034         GetCustomAttributes later.
4035
4036 2003-01-31  Patrik Torstensson
4037
4038         * Buffer.cs: Changed access level of BlockCopyInternal
4039
4040 Thu Jan 30 19:54:30 CET 2003 Paolo Molaro <lupus@ximian.com>
4041
4042         * String.cs, IntegerFormatter.cs: use const where appropriate.
4043
4044 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4045
4046         * MonoCustomAttrs.cs: fixed GetBase () for Type. Thanks to Zoltan for
4047         reporting.
4048
4049 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4050
4051         * MonoCustomAttrs.cs: fixed shortcut in GetCustomAttributes.
4052         The argument ICustomAttributeProvider can be of other types different
4053         from Type. Handle it.
4054
4055 2003-01-28  Zoltan Varga  <vargaz@freemail.hu>
4056
4057         * DateTime.cs: fix FromFileTime so the time returned by 
4058         File::GetLastModificationTime etc. is in the correct timezone.
4059
4060 2003-01-28  Patrik Torstensson
4061         * Exception.cs: reverted formating/endline changes (sorry guys)
4062
4063 2003-01-28  Patrik Torstensson
4064
4065         * MarshalByRefObject.cs: implemented GetObjectIdentity
4066         * Exception.cs: added support for remote exceptions
4067
4068 2003-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4069
4070         * DateTime.cs: fixed bug #37225.
4071
4072 2003-01-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4073
4074         * Enum.cs: Clone the arrays in GetNames and GetValues. Thanks lupus!
4075
4076 2003-01-27  Zoltan Varga  <vargaz@freemail.hu>
4077
4078         * AppDomain.cs: Added DoTypeResolve method which will be called by
4079         the runtime to raise TypeResolve events.
4080
4081 2003-01-27  Duncan Mak  <duncan@ximian.com>
4082
4083         * Enum.cs (ToType): Implement this using Convert.ToType.
4084
4085 2003-01-21  Miguel de Icaza  <miguel@ximian.com>
4086
4087         * Math.cs: Remove Pow's implementation body as it was wrong.  The
4088         C code does the right thing.  The code was trying to handle a
4089         number of cases, and that was incorrect.
4090
4091 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4092
4093         * CharEnumerator.cs: fix to Current by crainaj@hotmail.com. Closes
4094         bug #37113.
4095
4096 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4097
4098         * Enum.cs: added caching to GetInfo.
4099
4100 2003-01-23  Dick Porter  <dick@ximian.com>
4101
4102         * Environment.cs (System): Implemented ExitCode
4103
4104 2003-01-23  Zoltan Varga  <vargaz@freemail.hu>
4105
4106         * Type.cs (IsInstanceOfType): fixed regression caused by the change
4107         to IsSubclassOf().
4108
4109 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4110
4111         * MonoType.cs: re-added lines that were removed in the previous commit.
4112
4113 2003-01-16  Lluis Sanchez Gual <lsg@ctv.es>
4114
4115         * Type.cs: corrected property IsSerializable. It should always return
4116         true for enums and delegates
4117         * MonoType.cs: added serialization support.
4118         * Delegate.cs: added serialization support.
4119         * DBNull.cs: added serialization support.
4120         * UnitySerializationHolder.cs: supports serialization of Assembly,
4121         MonoType and DBNull.
4122         * DelegateSerializationHolder.cs: added.
4123
4124 2003-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4125
4126         * Exception.cs: changed default message to match MS one.
4127
4128 2003-01-12  Patrik Torstensson <totte@race-x-change.com>
4129
4130         * String.cs: Fixed bug with CompareOrdinal
4131
4132 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4133
4134         * Enum.cs: implements IFormattable.
4135
4136 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4137
4138         * AppDomain.cs: implemented DoCallBack method.
4139         * MonoType.cs:
4140         (GetConstructorImpl): when the flag is BindingFlags.Default, set it to
4141         Public, Instance.
4142
4143         NUnit2 tests start moving.
4144
4145 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4146
4147         * Activator.cs: fixed bug #36052. Also added checks to avoid trying to
4148         instantiate an abstract class.
4149
4150 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4151
4152         * Type.cs:
4153         (IsSubclassOf): return false when null. Use != instead of Equals.
4154
4155 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4156
4157         * Type.cs: fixed IsSubclassOf. Patch from Zoltan Varga.
4158
4159 Fri Jan 3 20:18:51 CET 2003 Paolo Molaro <lupus@ximian.com>
4160
4161         * MonoType.cs: fixed Namespace property for nested types.
4162
4163 Fri Jan 3 16:18:27 CET 2003 Paolo Molaro <lupus@ximian.com>
4164
4165         * MonoCustomAttrs.cs: create properly typed arrays when returning
4166         arrays of attributes of a given type.
4167
4168 Fri Jan 3 11:10:14 CET 2003 Paolo Molaro <lupus@ximian.com>
4169
4170         * MonoType.cs: fixed MemberType property for nested types.
4171
4172 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4173
4174         * String.cs: fixed bug #36209.
4175
4176 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
4177
4178         * Activator.cs: implemented method GetObject.
4179
4180 2002-12-28  Marcus Urban <mathpup@mylinuxisp.com>
4181
4182         * Activator.cs: Since the documentation indicates the method
4183         either succeeds or throws one of the listed exceptions, we weren't
4184         expecting that CreateInstance might be returning null.
4185
4186         For more information on the bug, see http://bugs.ximian.com/show_bug.cgi?id=36109
4187
4188 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
4189
4190         * MarshalByRefObject.cs: implemented CreateObjRef.
4191
4192 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4193
4194         * DateTime.cs: fixed bug #30076.
4195         * TimeZone.cs: provide the parameter name in a exception.
4196
4197 2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4198
4199         * DecimalFormatter.cs: fixed bug #35560.
4200
4201 Wed Dec 4 16:04:28 CET 2002 Paolo Molaro <lupus@ximian.com>
4202
4203         * Type.cs: implemented GetInterfaceMap (needs an updated runtime).
4204
4205 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4206
4207         * Array.cs: use Object.Equals (obj, obj) to compare objects to avoid
4208         nulls. Fixes #34909.
4209
4210 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4211
4212         * AppDomain.cs: DoAssemblyResolve now returns when one of the handlers
4213         returns a non-null assembly.
4214
4215 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4216
4217         * MulticastDelegate.cs: make GetInvocationList work for more than 1
4218         delegate.
4219
4220 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4221
4222         * MulticastDelegate.cs: implemented GetInvocationList. I'll check later
4223         if this is the correct order of invocation.
4224
4225 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4226
4227         * Type.cs: changed the signature of internal_from_name. Modified
4228         the overloads of GetType to use it and check the typeName argument.
4229         Implemented FindInterfaces.
4230
4231 2002-11-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4232
4233         * MarshalByRefObject.cs: undo latest changes. It breaks the build by
4234         some obscure reasons (try make -f makefile.gnu using a corlib which has
4235         the modified version).
4236
4237 2002-11-26  Miguel de Icaza  <miguel@ximian.com>
4238
4239         * String.cs (Concat): Reduce the number of compares required. 
4240
4241 Mon Nov 18 17:54:22 CET 2002 Paolo Molaro <lupus@ximian.com>
4242
4243         * Activator.cs: throw a MissingMethodException if the default
4244         constructor is not found in CreateInstance.
4245
4246 2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4247
4248         * String.cs:
4249         (Equals (str, str)): use 'as' instead of casting to object.
4250         (Equals (obj)): check the length of the strings (until now,
4251         "Hello".Equals ((object) "Hellow World!) was true!).
4252
4253 2002-11-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4254
4255         * MonoType.cs: implemented GetEvent (name, flags).
4256
4257 2002-11-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4258
4259         * AppDomain.cs: implemented a couple of methods called from the runtime
4260         to fire AssemblyLoad and AssemblyResolve events.
4261
4262 2002-10-31  Dick Porter  <dick@ximian.com>
4263
4264         * Environment.cs: MonoIO methods now have an error parameter
4265
4266 2002-10-29  Zoltan Varga  <vargaz@freemail.hu>
4267
4268         * Enum.cs: Added support for whitespaces in Enum:Parse().
4269
4270 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4271
4272         * Type.cs: fixed GetProperty (string, Type []) and removed get_property
4273         internal call. Closes bug #32992.
4274
4275 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4276
4277         * Exception.cs: display the inner exception, if any, in ToString ().
4278
4279 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4280
4281         * Environment.cs: fixed StackTrace property.
4282
4283 2002-10-16  Nick Drochak  <ndrochak@gol.com>
4284
4285         * Enum.cs (Parse): Then fix the code so that it works too.
4286
4287 2002-10-15  Nick Drochak  <ndrochak@gol.com>
4288
4289         * Enum.cs (Parse): Use unsigned casts to avoid compiler warnings.
4290
4291 2002-10-12  Nick Drochak  <ndrochak@gol.com>
4292
4293         * IntegerFormatter.cs: Fix compiler warnings.
4294
4295 2002-10-11  Tim Haynes <thaynes@openlinksw.com>
4296
4297         * Type.cs (GetConstructors): Use the correct flags.
4298
4299 2002-10-09  Nick Drochak  <ndrochak@gol.com>
4300
4301         * IntegerFormatter.cs: Suppress insignificant leading zeros
4302
4303 Fri Sep 27 15:06:29 CEST 2002 Paolo Molaro <lupus@ximian.com>
4304
4305         * MonoCustomAttrs.cs: applied patch by "Si Jingnan"
4306         <stonewell@21cn.com> to return also derived types.
4307
4308 2002-09-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4309
4310         * Activator.cs: little fix in CreateInstance (Type, bool).
4311
4312 2002-09-19  Duncan Mak  <duncan@ximian.com>
4313
4314         * Array.cs (CopyTo): Revert back to 1.40, this is stopping
4315         I18N/Common from building right now.
4316
4317 2002-09-19  Nick Drochak  <ndrochak@gol.com>
4318
4319         * Array.cs (CopyTo): Account for Object type and base (primitive) types
4320         * Type.cs (IsAssignableFrom): return false for a null parameter
4321
4322 2002-09-19  Nick Drochak <ndrochak@gol.com>
4323
4324         * Array.cs (CopyTo): Check that source type can be cast automatically
4325         to the destination type.
4326
4327 2002-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4328
4329         * Type.cs: implemented IsAssignableFrom, DefaultBinder and
4330         GetDefaultMembers.
4331
4332 2002-09-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4333
4334         * Char.cs: implemented ToString (char)
4335         * IntegerFormatter.cs: made it internal.
4336
4337 2002-09-13  Nick Drochak  <ndrochak@gol.com>
4338
4339         * Enum.cs (Format): handle the "d" format for both signed and unsigned
4340         underlying types.
4341
4342 2002-09-12  Dick Porter  <dick@ximian.com>
4343
4344         * UIntPtr.cs: Remove the [StructLayout(LayoutKind.Auto)]
4345         attribute, as there doesn't appear to be any struct
4346         layout-depending code here (and corcompare says it should be
4347         LayoutKind.Sequential)
4348
4349         * Decimal.cs: Stub out missing methods, add
4350         [DecimalConstantAttribute] to the constant fields (as shown by
4351         corcompare).
4352
4353         * LocalDataStoreSlot.cs: 
4354         * Environment.cs: 
4355         * Char.cs: 
4356         * Array.cs: Stub out missing methods.
4357
4358         * TypedReference.cs: 
4359         * ArgIterator.cs: Stub out
4360
4361         * AppDomainSetup.cs: 
4362         * AppDomain.cs: Stub out missing methods, add missing
4363         ClassInterface(ClassInterfaceType.None) attribute.
4364
4365 2002-09-12  Nick Drochak  <ndrochak@gol.com>
4366
4367         * Double.cs (ToString): Throw exception when "X" format is passed in.
4368
4369 Wed Sep 11 15:26:34 CEST 2002 Paolo Molaro <lupus@ximian.com>
4370
4371         * MonoType.cs: implemented Module property.
4372
4373 Wed Sep 11 12:49:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
4374
4375         * MonoType.cs, Type.cs: implemented InvokeMember.
4376
4377 Wed Sep 11 11:06:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
4378
4379         * Delegate.cs: check the type passed to CreateDelegate is a Delegate
4380         type. Check the method signature matches.
4381
4382 Sat Sep 7 10:16:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
4383
4384         * RuntimeMethodHandle.cs: implemented GetFunctionPointer().
4385
4386 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
4387
4388         * Console.cs: Specify an encoder, otherwise we will get the UTF8
4389         encoder that by default emits the byte markers.
4390
4391 Fri Sep 6 20:14:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
4392
4393         * Delegate.cs: look also for non-public methods until we have the
4394         security checks in place.
4395
4396 Fri Sep 6 12:20:06 CEST 2002 Paolo Molaro <lupus@ximian.com>
4397
4398         * MonoType.cs: consider also the full name in GetInterface.
4399
4400 Fri Sep 6 12:11:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
4401
4402         * MonoType.cs: implemented GetMembers, GetConstructorImpl and
4403         GetMethodImpl using the binder.
4404         * Type.cs: GetConstructorImpl/GetConstructor fixes.
4405
4406 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
4407         * Enum.cs: Get rid of warning CS0162.
4408
4409 2002-09-04  Miguel de Icaza  <miguel@ximian.com>
4410
4411         * Double.cs, Single.cs, Char.cs, Boolean.cs: Use internal for the
4412         actual value instead of public.
4413
4414         * LocalDataStoreSlot.cs: Make constructor internal.
4415
4416         * Int16.cs, UInt16.cs, Int32.cs, UInt32.cs, Int64.cs, UInt64.cs,
4417         SByte.cs, Byte.cs, Char.cs: Use internal for the actual value
4418         instead of public.
4419
4420 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
4421         * Enum.cs: Fixed Enum.Format so that the "x" format specifier would work
4422                    properly.
4423
4424 2002-08-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4425
4426         * DateTime.cs: fixed buglet.
4427
4428 Tue Aug 27 16:39:47 CEST 2002 Paolo Molaro <lupus@ximian.com>
4429
4430         * MonoType.cs: speedup access to common data.
4431
4432 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4433
4434         * Double.cs: implemented TryParse.
4435
4436         * Math.cs: PowImpl is now private.
4437
4438         * MissingFieldException.cs: implemented Message.
4439
4440         * RuntimeMethodHandle.cs: stubbed GetFunctionPointer.
4441
4442         * _AppDomain.cs: Uncommented ToString.
4443
4444 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4445
4446         * Type.cs:
4447         (IsValueTypeImpl): it's virtual, not abstract. Implemented.
4448
4449 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4450
4451         * ArgumentException.cs: use the field instead of the property for
4452         param_name.
4453
4454         * ArgumentOutOfRangeException.cs: modified Message.
4455
4456         * DateTime.cs: 
4457         (_DoParse): throw out of range exception for year. Removed check
4458         for month (it's done in the constructor).
4459
4460 2002-08-21  Miguel de Icaza  <miguel@ximian.com>
4461
4462         * Environment.cs: Implemented OSVersion property.
4463
4464 2002-08-21  Dietmar Maurer  <dietmar@ximian.com>
4465
4466         * Exception.cs: set stack_trace to null
4467
4468 Wed Aug 21 13:02:20 CEST 2002 Paolo Molaro <lupus@ximian.com>
4469
4470         * AppDomain.cs: implemented ToString().
4471
4472 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4473
4474         * AppDomain.cs: securityInfo can be null in CreateDomain.
4475
4476 2002-08-19  Dick Porter  <dick@ximian.com>
4477
4478         * MonoType.cs: Add a space before the Assembly name in
4479         AssemblyQualifiedName (needed for resource files so the MS runtime
4480         can load types)
4481
4482 2002-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4483
4484         * AppDomain.cs: parameter name when throwing ArgumentNullException.
4485
4486         * ArgumentException.cs: modified Message to do what MS does.
4487
4488         * ArgumentNullException.cs: don't use {0} in message.
4489
4490         * Exception.cs: use Message property in ToString ().
4491
4492 2002-08-14  Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
4493
4494         * WeakReference.cs: Changed the constructor and GetObjectData
4495         method needed for ISerializable implementation in order to be
4496         compatible with SOAP generated by MS.
4497
4498 Wed Aug 14 17:34:07 CEST 2002 Paolo Molaro <lupus@ximian.com>
4499
4500         * MonoType.cs, Type.cs: DeclaringType/ReflectedType fixes.
4501
4502 2002-08-12  Dietmar Maurer  <dietmar@ximian.com>
4503
4504         * Exception.cs (ToString): changed the ouput format.
4505
4506 2002-08-07  Dietmar Maurer  <dietmar@ximian.com>
4507
4508         * MonoType.cs: moved get_method icall to this class, we can
4509         remove it as soon someone provides a full featured GetMethodImpl.
4510
4511         * Type.cs: use GetMethodImpl everywhere.
4512
4513         * Delegate.cs: new CreateDelegate implementations.
4514
4515 2002-08-06  Tim Coleman <tim@timcoleman.com>
4516         * MonoType.cs: 
4517                 Fix bug #28582.  Now checks parameters for properties
4518                 in GetPropertyImpl.
4519
4520 2002-08-04  Nick Drochak  <ndrochak@gol.com>
4521
4522         * Buffer.cs: Throw correct exception in GetByte() and SetByte().
4523
4524 2002-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4525
4526         * String.cs:
4527         (FormatSpecifier): allow white space between the comman and the width
4528         specifier.
4529
4530 2002-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4531
4532         * Int32.cs:
4533         * Int64.cs:
4534         * UInt32.cs:
4535         * UInt64.cs: fixed bug #28050. May be a MS bug?
4536
4537 Thu Jul 18 14:47:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
4538
4539         * MonoType.cs: fix IsArrayImpl.
4540
4541 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4542
4543         * String.cs: make ToLower (culture) and ToUpper (culture) use the
4544         default ToLower and ToUpper and don't throw NotImplemented.
4545
4546 Sat Jul 13 15:09:01 CEST 2002 Paolo Molaro <lupus@ximian.com>
4547
4548         * Type.cs: make GettTypeCode an icall. Test implementation of
4549         GetMember().
4550
4551 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4552
4553         * AppDomainSetup.cs: implemented LoaderOptimization.
4554
4555 2002-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4556
4557         * Activator.cs: some more intermediate results checking in
4558         in CreateInstance and CreateInstanceFrom and use GetConstructor and
4559         Invoke only with Type [] until the other overloaded versions work.
4560
4561 2002-07-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4562
4563         * Activator.cs: reformatted. Implemented CreateInstance* methods
4564         that return ObjectHandle.
4565
4566         * AppDomain.cs: implemented CreateInstance*AndUnwrap methods.
4567
4568 2002-07-03  Nick Drochak  <ndrochak@gol.com>
4569
4570         * Decimal.cs (Divide): Short cut the case where the dividend is 0 (and
4571         the divisor is not) and avoid the icall, which seems to have a bug.
4572
4573 2002-07-03  Nick Drochak  <ndrochak@gol.com>
4574
4575         * Double.cs (CompareTo): Correctly handle the case where the instance
4576         is NaN. Also return 0 if the values are equal.
4577
4578 2002/07/03  Nick Drochak <ndrochak@gol.com>
4579
4580         * MissingMethodException: Add missing Message property
4581         * MissingMemberException: Add missing Message property
4582
4583 2002-06-30  Nick Drochak  <ndrochak@gol.com>
4584
4585         * Double.cs (CompareTo): Just see which is bigger.  Don't use the
4586         subtraction trick, it doesn't work when the values have a diference of
4587         less than one.
4588
4589         * Single.cs (CompareTo): same
4590
4591 2002-06-27  Martin Baulig  <martin@gnome.org>
4592
4593         * UIntPtr.cs (UIntPtr.Zero): Use an explicit `u' suffix in the
4594         constructor argument.  [FIXME: The implicit conversion to an
4595         unsigned integer doesn't work with mcs.]
4596
4597 2002-06-26  Martin Baulig  <martin@gnome.org>
4598
4599         * DecimalFormatter.cs: Removed MSTEST stuff, use `System',
4600         not `S = System'.  This file now compiles with mcs.
4601
4602         * String.cs: Removed the already ifdef-outed __arglist Concat function
4603         to make it compile with mcs.
4604
4605 2002-06-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4606
4607         * IntegerFormatter.cs:
4608         (FormatParse.FormatNumber): fixed custom format for negative numbers.
4609
4610 2002-06-21  Martin Baulig  <martin@gnome.org>
4611
4612         * Double.cs: Replace the private `enum State' with constants since this
4613         will avoid some bigger headaches in mcs.
4614
4615 Thu Jun 20 17:51:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
4616
4617         * TimeSpan.cs: do not pollute the namespace with the
4618         System.Parser name.
4619
4620 2002-06-18  Nick Drochak  <ndrochak@gol.com>
4621
4622         * ArgumentException.cs: Use the message given in the constructor when
4623         accessing the Message property.  Thanks to Dietmar for the help with 
4624         "base".
4625
4626 2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
4627
4628         * MonoType.cs: GetField is now a InternalCall
4629
4630 2002-06-13  Nick Drochak  <ndrochak@gol.com>
4631
4632         * DateTime.cs: (Parse): Accept dates that have no hour,min,sec. in the
4633         sortable format(s), e.g. "2002-02-25"
4634
4635 2002/06/12  Nick Drochak <ndrochak@gol.com>
4636
4637         * Random.cs (Next): Fix math error.  Return a number within the range.
4638
4639 2002-06-12  Nick Drochak  <ndrochak@gol.com>
4640
4641         * String.cs (IndexOf): Return -1 if start index is equal to string
4642         length.
4643
4644 2002-06-10  Duncan Mak  <duncan@ximian.com>
4645
4646         * Convert.cs (ToDouble): Remove rounding in ToDouble (float).
4647         (ToType): Added null field in conversionTable to avoid
4648         IndexOutOfRangeException. Changed what exceptions we throw to match
4649         the spec.
4650         
4651 2002-06-11  Nick Drochak  <ndrochak@gol.com>
4652
4653         * Int64.cs (Parse): Added unique strings to the messages where we throw
4654         a FormatException. Needed these to debug, so just left them in since
4655         they might be useful later. Fixed Currency parsing where we weren't
4656         looking at CurrencyDecimalSeparator, etc.
4657
4658 2002-06-09  Lawrence Pit  <loz@cable.a2000.nl>
4659
4660         * DateTime.cs: fixes to pass tests M0 to M6:
4661                 if yy pattern then year values >= 30 are in 20th century
4662                 rfc1123 pattern is always in GMT, therefor useutc must be false
4663         made GetNow() internal static so it can be called from TimeZone.
4664         * TimeZone.cs: removed dependency on year 2002 from initialization of 
4665         current timezone.
4666
4667 2002-06-09  Duncan Mak  <duncan@ximian.com>
4668
4669         * Convert.cs (ToType): Rearranged what Exceptions we throw to
4670         match MS behavior.
4671
4672 2002-06-08  Duncan Mak  <duncan@ximian.com>
4673
4674         * Decimal.cs: Added support for the IConvertible interface.
4675
4676 2002-06-08  Martin Baulig  <martin@gnome.org>
4677
4678         * Enum.cs (IsDefined): `value' may be of the enum's type itself, it
4679         doesn't necessarily need to be of the enum's underlying type.
4680
4681 2002/06/07  Nick Drochak <ndrochak@gol.com>
4682
4683         * String.cs: Add [Serializable] to class
4684         * SByte.cs (Parse): Add [CLSCompliant(false)] to all the overloads
4685
4686 2002-06-04  Nick Drochak  <ndrochak@gol.com>
4687
4688         * Double.cs (Parse): Recognize the group separator string, but still we
4689         don't check the format for the proper number of digits between
4690         separators. Also throw OverflowException when we get Pos or Neg
4691         Infinity from runtime.
4692
4693 2002-06-03  Duncan Mak  <duncan@ximian.com>
4694
4695         * Convert.cs (ToDouble): Fixed ToDouble (byte value).
4696
4697 Mon Jun 3 12:18:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
4698
4699         * Type.cs: fixed GetTypeCode.
4700
4701 2002-06-02  Duncan Mak  <duncan@ximian.com>
4702
4703         * Convert.cs (ToInt16): use Convert.ToInt16 (int) instead of a direct
4704         cast from an int so that we throw OverFlowException correctly.
4705         
4706         (ToInt64): Use a new 64bit version of ConvertToBase.
4707         
4708         (ConvertToBase): Add checks for overflow (checks Int32.MinValue
4709         and Int32.MaxValue).
4710
4711         (ConvertFromBase64): New 64-bit version of ConvertFromBase.
4712
4713 2002-06-02  Nick Drochak  <ndrochak@gol.com>
4714
4715         * Convert.cs (ToSByte): Check for special value.
4716         * Single.cs (Parse): 
4717         * UInt16.cs (Parse):
4718         * UInt32.cs (Parse): Throw OverflowException if negative
4719
4720 2002-06-02  Duncan Mak  <duncan@ximian.com>
4721
4722         * Convert.cs (DBNull): Point it to DBNull.Value.
4723         (IsDBNull): Instead of checking typecodes, just check to see if
4724         it's the same as the DBNull field.
4725
4726 2002-06-02  Nick Drochak  <ndrochak@gol.com>
4727
4728         * Convert.cs (ConvertFromBase): Detect bad digits correctly.
4729
4730 2002-06-02  Duncan Mak  <duncan@ximian.com>
4731
4732         * Char.cs (Parse): Simplify the Exception handling.
4733
4734         * Convert.cs (ToDecimal): Remove call to Math.Round () when
4735         converting from a float.
4736
4737 2002-05-30  Martin Baulig  <martin@gnome.org>
4738
4739         * MonoType.cs (GetInterface): Implemented.
4740
4741 Thu May 23 17:17:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
4742
4743         * Activator.cs: implemented CreateInstance ().
4744
4745 2002-05-22  Duncan Mak  <duncan@ximian.com>
4746
4747         * Convert.cs (ConvertToBase): Added new 64bit version.
4748         (BuildConvertedString64): New 64bit version of
4749         BuildConvertedString.
4750
4751         This fixes bug 25068.
4752
4753         (ConvertFromBase): Added additional test for checking if the
4754         digits are valid. Thanks to Miguel for coming up with this test.
4755
4756         This fixes bug 25071.
4757         
4758 2002-05-21  Duncan Mak  <duncan@ximian.com>
4759
4760         * Convert.cs (ToType): Rearranged to fit the new layout of
4761         conversionTable.
4762
4763         (conversionTable): Rearranged to fit the layout of the
4764         System.TypeCode enum.
4765
4766         This should fix bug 25075.
4767         
4768 2002-05-21  Duncan Mak  <duncan@ximian.com>
4769
4770         * Convert.cs (ToString): Fixed the ToString methods. Previously I had
4771         mixed up the two code paths, one for converting to a specific base
4772         (this case), another from converting from a foreign base to base10
4773         (used by ToInt16|32|64 (string, int)). This fixes bug 25068.
4774
4775         * Convert.cs (ToByte)
4776         (ToSByte): Fixed bug 25074. Added more bits to ConvertFromBase so
4777         that we won't confuse FormatException with OverflowException.
4778
4779 2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
4780
4781         * Environment.cs: CommandLine missed spaces between arguments.
4782         Implemented StackTrace. Returning MachineName in UserDomainName
4783         instead of null.
4784         
4785 Tue May 21 17:25:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
4786
4787         * MonoCustomAttrs.cs: handle inherit argument.
4788
4789 2002-05-21  Nick Drochak  <ndrochak@gol.com>
4790
4791         * Math.cs (Pow): Change icall method name and insert parameter
4792         checks in for infinities and NaN.
4793
4794 2002-05-13  Miguel de Icaza  <miguel@ximian.com>
4795
4796         * Double.cs (Parse): Reimplement by cleaning up the string first,
4797         and then passing to strtof in the mono runtime.
4798
4799         * Single.cs (Parse): Use the Double implementation and cast to
4800         float. 
4801
4802 2002-05-21  Nick Drochak  <ndrochak@gol.com>
4803
4804         * Math.cs 
4805                 (Ceiling): Check for "special" values
4806                 (Floor): Check for "special" values
4807                 (Round): Fix off-by-one error on decimal shifting
4808
4809 2002-05-20  Lawrence Pit  <loz@cable.a2000.nl>
4810
4811         * DateTime.cs: ToString () using "G" format specifier 
4812
4813 2002-05-19  Martin Baulig  <martin@gnome.org>
4814
4815         * Convert.cs (FromBase64CharArray): Do correct exception handling.
4816
4817 2002-05-19  Martin Baulig  <martin@gnome.org>
4818
4819         * Convert.cs (FromBase64CharArray): Convert the char array using
4820         System.Text.UTF8Encoding, not UnicodeEncoding (which is UTF-16) to
4821         a byte array.
4822
4823 2002-05-17  Miguel de Icaza  <miguel@ximian.com>
4824
4825         * MonoType.cs: Style changes.
4826
4827         * Type.cs: Style changes.
4828
4829 2002-05-16  Piers Haken <piersh@friksit.com
4830
4831         * UInt64.cs: fix declaration of IConvertible.To* overrides.
4832
4833 2002-05-16  Nick Drochak  <ndrochak@gol.com>
4834
4835         * BitConverter.cs (ToString): Add parameter check for invalid start 
4836         index.
4837
4838         * Console.cs: Use AutoFlush on the StreamWriter for stdin and stdout
4839         now that StreamWriter uses buffering
4840
4841 2002-05-14  Miguel de Icaza  <miguel@ximian.com>
4842
4843         * Double.cs: Oops.  Also handle exponents without finding a dot.
4844
4845 2002-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4846
4847         * ChangeLog: removed empty entry at the top of the file.
4848
4849         * Int32.cs: made static functions used by Parse internal.
4850
4851         * Int64.cs:
4852         * UInt32.cs:
4853         * UInt64.cs: removed static fucntions used by Parse and use the ones
4854         in Int32.cs
4855
4856 2002-05-12  Daniel Morgan <danmorg@sc.rr.com>
4857
4858         * IServiceProvider.cs: added using System
4859
4860 2002-05-09  Daniel Morgan <danmorg@sc.rr.com>
4861
4862         * Single.cs: copied ToString() and Parse() methods from 
4863         Double to Single and modified a tiny bit for Single.  
4864         There is still a FIXME for Double and Single about
4865         passing the format and provider info to the icall too.
4866
4867 2002-05-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4868
4869         * Int32.cs:
4870         * Int64.cs:
4871         * UInt32.cs:
4872         * UInt64.cs (Parse): don't use Char.IsNumber to test for hex digits.
4873         Don't use a delegate to test for valid digits.
4874
4875 2002-05-01  Duncan Mak  <duncan@ximian.com>
4876
4877         * Convert.cs: 
4878         * Math.cs: Added missing CLSCompliant attributes where necessary.
4879         
4880 2002-04-30  Duncan Mak  <duncan@ximian.com>
4881
4882         * ArgumentException.cs (Message): 
4883         * ArgumentOutOfRangeException.cs (Message): Added.
4884
4885 2002-04-30  Nick Drochak  <ndrochak@gol.com>
4886
4887         * MonoType.cs: Remove unused variable and eliminate a compiler warning.
4888
4889 Mon Apr 29 15:32:02 CEST 2002 Paolo Molaro <lupus@ximian.com>
4890
4891         * Environment.cs: support for Exit(), CommandLine, CommandLineArgs ().
4892
4893 2002-04-28  Duncan Mak  <duncan@ximian.com>
4894
4895         * DivideByZeroException.cs: Added missing serialization constructor.
4896
4897         * UnauthorizedAccessException.cs: Added the missing Serializable attribute.
4898
4899 2002-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4900
4901         * Math.cs: fix Floor () and Round (). Closes #23960.
4902
4903 2002-04-27  Nick Drochak  <ndrochak@gol.com>
4904
4905         * Array.cs (IList.Contains): Should throw a RankException if this is 
4906         called on a Rank > 1 array. Not in the docs, but this is what the 
4907         MS.NET does.
4908
4909 2002-04-26  Duncan Mak  <duncan@ximian.com>
4910
4911         * MissingMemberException.cs: Made the message variable 'protected'
4912         instead of 'private', so that we can see it in
4913         MissingMethodException and MissingFieldException.
4914
4915         * MissingFieldException.cs:
4916         * MissingMethodException.cs: Added missing (string, string)
4917         constructor, and also the Message property.
4918
4919 2002-04-26  Martin Baulig  <martin@gnome.org>
4920
4921         * Enum.cs: Implemented the IConvertible methods.
4922
4923 2002-04-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4924
4925         * SByte.cs: little change in Parse (string) to avoid incorrect
4926         OverflowException thrown (reported by nickd).
4927
4928 2002-04-22  Miguel de Icaza  <miguel@ximian.com>
4929
4930         * ValueType.cs: Add Serializable attribute.
4931
4932         * String.cs: ifdef-out out the __arglist Concat function until I
4933         add support for that to mcs.
4934
4935 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
4936
4937         * AppDomain.cs (GetValue): usage of the correct icall (bug)
4938
4939 Wed Apr 24 21:15:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
4940
4941         * GC.cs: implement most of the methods as icalls.
4942
4943 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4944
4945         * DecimalFormatter.cs (ToString): return correct value when the
4946         decimal number is 0.
4947
4948 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
4949         
4950         * Type.cs (GetProperty): fixed call syntax (needs an empty array not null)
4951         * MonoType.cs (GetPropertyImpl) : basic implementation (ignores types, bindingAttr, modifiers)
4952
4953 2002-04-24  Nick Drochak  <ndrochak@gol.com>
4954
4955         * Double.cs (Parse): Handle case where there are no digits before the 
4956         decimal point, such as ".1".
4957
4958 2002-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4959
4960         * Int32.cs:
4961         * UInt32.cs:
4962         * Int64.cs:
4963         * UInt64.cs: fixed bug #23738 (hex numbers parsed wrong).
4964
4965 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
4966
4967         * String.cs (Split): fixed invalid split of count 0 and 1.
4968         
4969 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
4970         
4971         * String.cs (LastIndexOf): fixed argument checking.
4972         * String.cs (Equals): made internal for performace.
4973
4974 2002-04-23  Nick Drochak  <ndrochak@gol.com>
4975
4976         * String.cs (Join): check argument and throw exception if needed
4977
4978 2002-04-23  Nick Drochak  <ndrochak@gol.com>
4979
4980         * String.cs (StartsWith): check argument and throw exception if needed
4981
4982 2002-04-22  Nick Drochak  <ndrochak@gol.com>
4983
4984         * String.cs (IndexOfAny): check arguments and throw exceptions as
4985         neccessary.  ALso remove some debug WriteLines.
4986
4987 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
4988
4989         * String.cs: use internal constructors
4990         buf fix in Concat.
4991
4992 Thu Apr 18 17:16:15 CEST 2002 Paolo Molaro <lupus@ximian.com>
4993
4994         * MonoType.cs: make GetElementType its own icall.
4995
4996 2002-04-18  Nick Drochak <ndrochak@gol.com>
4997
4998         * String.cs: Modified file. Re-add methods needed by the unit tests.
4999
5000 Thu Apr 18 12:38:32 CEST 2002 Paolo Molaro <lupus@ximian.com>
5001
5002         * String.cs: some code speedups and restored GetTypeCode().
5003
5004 2002-04-17      Patrik Torstensson <patrik.torstensson@labs2.com>
5005
5006         * String.cs: New implementation using internal calls.
5007         
5008 2002-04-16  Nick Drochak  <ndrochak@gol.com>
5009
5010         * DecimalFormatter.cs: Trim off excess null characters from the string
5011         that decimal2string gives back.
5012
5013 2002-04-16  Nick Drochak  <ndrochak@gol.com>
5014
5015         * String.cs (SubString): revert my change.  I can't reproduce the
5016         problem anymore.
5017
5018 2002-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5019
5020         * Attribute.cs: added GetHashCode and Equals.
5021
5022 2002-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5023
5024         * Enum.cs: little improvements to Format ().
5025
5026 Thu Apr 11 12:28:13 CEST 2002 Paolo Molaro <lupus@ximian.com>
5027
5028         * String.cs: internalcall GetHashCode().
5029         * Array.cS: optimize access to elements.
5030
5031 Wed Apr 10 21:20:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
5032
5033         * String.cs: make IndexOfAny() use an internalcall.
5034
5035 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5036
5037         * Int32.cs:
5038         * UInt32.cs:
5039         * Int64.cs: 
5040         * UInt64.cs: fixed error when testing for validity of flags.
5041
5042 2002-04-11  Nick Drochak  <ndrochak@gol.com>
5043
5044         * Double.cs: Use an internal call for ToString(). This is just a simple
5045         implementation to get away from throwing a NotImplementedException.
5046
5047 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5048
5049         * Int32.cs:
5050         * UInt32.cs:
5051         * Int64.cs: 
5052         * UInt64.cs: changed Type.GetType () by typeof (), as suggested by
5053         lupus.
5054
5055         * Int32.cs:
5056         * Int64.cs: throw an OverFlowException when parsing a string 
5057         containing a dot followed by any non '0' number.
5058
5059 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5060
5061         * Byte.cs:
5062         * UInt16.cs:
5063         * UInt32.cs:
5064         * UInt64.cs: added complex Parse ().
5065
5066 2002-04-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5067
5068         * SByte.cs:
5069         * Int16.cs:
5070         * Int32.cs:
5071         * Int64.cs: added complex Parse ().
5072
5073 2002-04-09  Nick Drochak  <ndrochak@gol.com>
5074
5075         * Array.cs (BinarySearch): Add checks on paramters before using them
5076         and throw exceptions as needed.
5077
5078         * Enum.cs (Format): Check if [Flags] is applied to enum and convert
5079         "G" format to "F" if so.
5080
5081 Tue Apr 9 13:12:09 CEST 2002 Paolo Molaro <lupus@ximian.com>
5082
5083         * MonoCustomAttrs.cs: return arrays of type Attribute[]
5084         instead of object[].
5085
5086 2002/04/09  Nick Drochak <ndrochak@gol.com>
5087
5088         * String.cs (Substring): Copy only non-null characters to the new
5089         string.
5090
5091 2002-04-09  Nick Drochak  <ndrochak@gol.com>
5092
5093         * IntegerFormatter.cs: Don't use a format character to indicate a
5094         custom format was passed in. It was using 'z' to indicate a custom
5095         format, but really it should throw a format exception if the user
5096         tries to use "z" as the format string. Now it does.
5097
5098         * Activator.cs: New File.
5099
5100 2002-04-08  Nick Drochak  <ndrochak@gol.com>
5101
5102         * Enum.cs (ToString): Big ugly fix for the case where [Flags] is
5103         applied to an enum. Need to handle the different possible integer
5104         types of an enum somehow.  Can anyone say generics?
5105
5106 Mon Apr  8 06:22:42  2002 Piers Haken <piersh@friskit.com>
5107
5108         * Convert.cs: switched the To*(object) methods to use
5109         IConvertible directly instead of calling ChangeType
5110
5111 Sat Apr 6 20:08:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
5112
5113         * ValueType.cs: make Equals() an internalcall.
5114
5115 Fri Apr 5 15:38:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
5116
5117         * Type.cs: also look for nested types in FindMembers.
5118         * MonoType.cs: make GetNestedTypes() an internalcall.
5119
5120 2002-04-05  Nick Drochak  <ndrochak@gol.com>
5121
5122         * Enum.cs (Parse): Handle different underlying types.
5123
5124 2002/04/04 Nick Drochak <ndrochak@gol.com>
5125
5126         * Enum.cs (IsDefined): Throw exception when type of value to look for
5127         is not the correct one.  Attempt to have it work with string values
5128         too, but not sure if the unit tests are getting that far yet.
5129
5130 2002-04-04  Nick Drochak  <ndrochak@gol.com>
5131
5132         * Decimal.cs: Fix a couple of typos.
5133
5134 Wed Apr 3 19:46:00 CEST 2002 Paolo Molaro <lupus@ximian.com>
5135
5136         * Enum.cs: the values array is of the enum and not of the underlying
5137         type. Updates and some bug fixes.
5138         * MonoType.cs: make the internalcall return FullName instead of the
5139         assembly qualified name.
5140         * Type.cs: make ToString () simply return FullName.
5141
5142 2002-04-03  Nick Drochak  <ndrochak@gol.com>
5143
5144         * Type.cs (GetTypeCode): provide some of the implementation for this
5145         method.  It's still too simplistic to be considered complete.
5146
5147 2002-04-02  Dietmar Maurer  <dietmar@ximian.com>
5148
5149         * Object.cs: fixed FieldGetter/FieldSetter signature
5150
5151 2002-04-02  Nick Drochak  <ndrochak@gol.com>
5152
5153         * Environment.cs: add MonoTODO's on parts that should have it.
5154
5155 2002-04-01  Nick Drochak  <ndrochak@gol.com>
5156
5157         * Enum.cs: added reality checks (check parameters to most methods that
5158         need them).
5159
5160 2002-03-30  Dietmar Maurer  <dietmar@ximian.com>
5161
5162         * Object.cs: added FieldGetter/FieldSetter
5163
5164 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5165
5166         * IntegerFormatter.cs: fixed initialization error in static
5167         constructor.
5168
5169 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
5170
5171         * Delegate.cs: added new field to store a trampoline function
5172
5173 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5174
5175         * IntegerFormatter.cs: added workaround for bug #22668. First patch to
5176         make custom format strings work (not fully functional yet).
5177
5178 2002/03/28  Nick Drochak <ndrochak@gol.com>
5179
5180         * IntegerFormatter.cs: Change class from internal to public.  Add
5181         necessary [CLSCompliant(false)] attributes.
5182
5183 2002-03-27  Duco Fijma  <duco@lorentz.xs4all.nl>
5184         * _AppDomain.cs, AppDomain.cs: renamed method GetDate to GetData
5185         (was a typo)
5186
5187 2002-03-28  Nick Drochak  <ndrochak@gol.com>
5188
5189         * Type.cs: Added MonoTODO tags on members that have FIXME, etc.
5190
5191 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
5192
5193         * Console.cs: Modified to get std handles from MonoIO.
5194         * Environment.cs: removed PAL dependencies.
5195
5196 2002-03-25  Miguel de Icaza  <miguel@ximian.com>
5197
5198         * String.cs (System): Removed internal enumeration, because
5199         bootstrapping the corlib at this point does not support
5200         enumerations. 
5201
5202         * IntPtr.cs: Temporary work-around until I fix the assembly
5203         attributes bug.
5204
5205 2002-03-24  Martin Baulig  <martin@gnome.org>
5206
5207         * Enum.cs (GetValues): According to the docu this is sorted after
5208         values, not names.
5209
5210         * String.cs (System): Removed enumeration, because it is pretty
5211         hard to support enumerations in /nostdlib mode for the core types.
5212
5213 Tue Mar 19 18:18:49 CET 2002 Paolo Molaro <lupus@ximian.com>
5214
5215         * Array.cs: move error handling in the catch block.
5216         * MulticastDelegate.cs: remove == and != operators that were
5217         removed with the delegate changes (when you add stuff, please do not
5218         remove existing functionality!).
5219         * Type.cs: if a property is not found in a type, search for it
5220         in the parent types, too.
5221
5222 2002-03-18  Dan Lewis <dihlewis@yahoo.co.uk>
5223         
5224         * Math.cs: changed to use icall instead of PAL.
5225
5226 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
5227
5228         * Double.cs: added check for NaN (Bug [22082])
5229
5230 2002-03-19  Nick Drochak  <ndrochak@gol.com>
5231
5232         * Enum.cs (Equals): check for null and throw if it is.
5233         * Enum.cs (Format): check for null parameters and throw if necessary.
5234         This method still needs more argument checking.
5235
5236 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
5237
5238         * Enum.cs (Equals): check if Enums are of the same type
5239
5240 2002-03-18  Nick Drochak  <ndrochak@gol.com>
5241
5242         * Double.cs: Explicitly handle comparisons in CompareTo() for
5243         Positive/Negative Infinity and NaN. Unit Test now passes on Linux.
5244
5245         * Enum.cs(CompareTo): Check types of values before trying to compare.
5246         Throw exceptions if types are invalid or don't match.
5247
5248 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
5249
5250         * Array.cs: Add some extra debugging information.
5251
5252 2002-03-15  Nick Drochak  <ndrochak@gol.com>
5253
5254         * Array.cs: Added IList and IEnumerable. 
5255
5256 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
5257
5258         * UInt64.cs, UInt32.cs, UInt16.cs: Mark public parse methods as
5259         NonCLSCompliant. 
5260
5261 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
5262
5263         * Delegate.cs (Equals): also compare method_ptr 
5264         (GetHashCode): returm method_ptr as hash
5265
5266 2002-03-13  Duco Fijma  <duco@lorentz.xs4all.n>
5267         * TimeSpan.cs: removed the use of Custom Numeric Format Strings,
5268         such as 42.ToString("0000000"), as these are (currently) not implemented
5269         in System.IntegerFormatter. TimeSpan luckely can do with Standard
5270         Numeric Format Strings, such as 42.ToString("D7").
5271
5272 2002-03-12  Duncan Mak  <duncan@ximian.com>
5273
5274         * FieldAccessException.cs: 
5275         * MethodAccessException.cs: 
5276         * PlatformNotSupportedException.cs: Inherit from
5277         MemberAccessException, not SystemException.
5278
5279         * ObsoleteAttribute.cs: Made Message and IsError properties
5280         instead of fields.
5281
5282 Tue Mar 12 19:21:18 CET 2002 Paolo Molaro <lupus@ximian.com>
5283
5284         * GC.cs: make SuppressFinalize() a nop.
5285         * Delegate.cs: fix == operator.
5286
5287 2002-03-13  Nick Drochak  <ndrochak@gol.com>
5288
5289         * Enum.cs: Add IConvertible methods. Cyclic dependancy fixed in the
5290         runtime that goes with this patch.
5291
5292 2002-03-10  Martin Baulig  <martin@gnome.org>
5293
5294         * Int32.cs (Parse): Correctly parse negative numbers.
5295
5296 2002-03-08  Martin Baulig  <martin@gnome.org>
5297
5298         * String.cs (Split): Really fix it this time. Also adding several new
5299         testcase to the testsuite.       
5300
5301 2002-03-08  Martin Baulig  <martin@gnome.org>
5302
5303         * Array.cs (Copy): Optimized: removed duplicate null check, removed
5304         two duplicate GetLowerBound() calls and one duplicate IsValueType.
5305
5306 Fri Mar 8 18:49:19 CET 2002 Paolo Molaro <lupus@ximian.com>
5307
5308         * Object.cs: commit my hacked GetHashCode(): it's good enough for now.
5309         * String.cs: use the dumb code for IndexOf(string): this is worth
5310         15-20 % speedup in mcs compile with mint.
5311
5312 Fri Mar 8 12:45:44 CET 2002 Paolo Molaro <lupus@ximian.com>
5313
5314         * String.cs: revert change to Split() that broke the compiler (hi martin!:-).
5315
5316 2002-03-07  Martin Baulig  <martin@gnome.org>
5317
5318         * String.cs (Join): Throw an ArgumentNullException.
5319         (LastIndexOf (string,int,int)): This method does a backwards search,
5320         so startIndex points to the end of value, not to its beginning. Don't
5321         throw an exception if startIndex equals this.Length. Always return -1
5322         if startIndex is smaller than the length of value.
5323         (Replace (string,string)): Replace all occurences of oldValue.
5324         If newValue is null, all occurences of oldValue are to be removed.
5325         (Split (char[],int)): Return an empty array if maxCount is zero, throw
5326         an ArgumentOutOfRangeException if it's less than zero. Return maxValue
5327         elements, not maxValue+1.
5328
5329 Thu Mar 7 17:16:06 CET 2002 Paolo Molaro <lupus@ximian.com>
5330
5331         * MonoType.cs: make GetEvents() an internal call.
5332         * MulticastDelegate.cs: copy the passed in array.
5333
5334 2002-03-06  Martin Baulig  <martin@gnome.org>
5335
5336         * Array.cs (Copy): Use FastCopy when appropriate and do correct
5337         exception handling.
5338
5339 2002-03-06  Duco Fijma  <duco@lorentz.xs4all.nl>
5340         * CharEnumerator.cs: fixes to CharEnumertor.MoveNext, fixing 
5341         some of the failures found be new tests (see ChangeLog in 
5342         Test/System). Comments added to this method, based on
5343         the representation invariant of this class, that (try to) explain
5344         why it now should be correct.
5345
5346 2002-03-06  Dietmar Maurer  <dietmar@ximian.com>
5347
5348         * Int64.cs (Parse): bug fix for max. negative value. 
5349
5350 2002-03-07  Nick Drochak  <ndrochak@gol.com>
5351
5352         * RuntimeTypeHandle.cs: Add Serializable attribute as the docs say.
5353         I need to understand what the difference between the attribute and
5354         the interface is.
5355
5356 2002-03-06  Martin Baulig  <martin@gnome.org>
5357
5358         * Array.cs (Copy): Always throw an ArrayTypeMismatchException, not
5359         an InvalidCastException if the widening conversion failed. See
5360         testcases #M94-#M96.
5361
5362         * Array.cs (CopyTo): Bug fix from Ajay Dwivedi, correctly handle
5363         arrays with non-zero lower bounds. Also adding testcases #F10-#F13
5364         for this.
5365
5366         * Array.cs (CopyTo): Reverted my last change, it was incorrect.
5367         (Copy): Actually allow copying multi-dimensional arrays.
5368
5369 2002-03-05  Duncan Mak  <duncan@ximian.com>
5370
5371         * Convert.cs:
5372         (DBNull) Added the missing field.
5373         (IsDBNull) Fixed typo.
5374         (ToByte (string, int)) Implemented.
5375         (ToString (byte, int)) Implemented.
5376         (ConvertToBase)
5377         (BuildConvertedString) internal functions used for converting values to
5378         a specific base.
5379
5380         * Int16.cs: 
5381         * Int32.cs:
5382         * Int64.cs:
5383         * Single.cs:
5384         * UInt16.cs: 
5385         * UInt32.cs: Implemented the IConvertible interface.    
5386
5387         * CharEnumerator.cs: Renamed to variables to be clearer and
5388         changed some of the tests to conform to the 1.0 spec.
5389
5390 2002-03-06  Martin Baulig  <martin@gnome.org>
5391
5392         * Array.cs (Copy): Calculate absolute array position here and use
5393         GetValueImpl() and SetValueImpl() with that position. We can now
5394         copy multi-dimensional arrays.
5395         (CopyTo): Small bug fix.
5396
5397 2002-03-05  Duco Fijma  <duco@lorentz.xs4all.nl>
5398
5399         * Version.cs: CompareTo changed according the LAMESPEC discovered by 
5400         Nick (See VersionTest.cs).
5401         * CharEnumerator.cs: fixed two bugs in MoveNext. It had an off-by-one
5402         error comparing the current position (idx) against the length of the
5403         string iterated and it set idx to an unrecognized special value (-2)
5404
5405 Tue Mar 5 17:34:14 CET 2002 Paolo Molaro <lupus@ximian.com>
5406
5407         * SByte.cs, UInt64.cs: implement IConvertible interface. Nobody wants
5408         to do this dirty work, but someone has to do it (and I need it to pass
5409         the "200 sample tests compiled on linux" mark).
5410
5411 2002-03-06  Nick Drochak  <ndrochak@gol.com>
5412
5413         * Attribute.cs
5414         * DecimalFormatter.cs
5415         * Delegate.cs
5416         * Double.cs
5417         * GC.cs
5418         * Int16.cs
5419         * Int32.cs
5420         * MonoType.cs
5421         * RuntimeMethodHandle.cs
5422         * RuntimeTypeHandle.cs
5423         * String.cs
5424         * Type.cs:
5425                 Add [MonoTODO]'s to places where we currently throw a
5426                 NotImplementedException.
5427
5428 2002-03-05  Dietmar Maurer  <dietmar@ximian.com>
5429
5430         * Int16.cs (Parse): do not overflow on max negative value
5431
5432         * Int32.cs (Parse): do not overflow on max negative value
5433
5434 Mon Mar 4 20:36:05 CET 2002 Paolo Molaro <lupus@ximian.com>
5435
5436         * Type.cs: fixed IsClass.
5437         * MonoType.cs: fixed MemberType, IsPrimitiveImpl, IsPointerImpl,
5438         IsByRefImpl. Added GetInterfaces().
5439         * IServiceProvider.cs: compilation fix.
5440
5441 Mon Mar 4 18:37:03 CET 2002 Paolo Molaro <lupus@ximian.com>
5442
5443         * Array.cs: allow copying an empty array to an empty array.
5444
5445 Mon Mar 4 17:59:16 CET 2002 Paolo Molaro <lupus@ximian.com>
5446
5447         * String.cs: fixed LastIndexOf (string) to do a bit of argument
5448         checking.
5449
5450 2002-03-04  Duco Fijma  <duco@lorentz.xs4all.nl>
5451         * Version.cs: many fixes to failures found by the newly created
5452         test cases for this class. Specifically, the CompareTo member
5453         returned wrong values due to the use of Int32.MaxValue as a special
5454         value indicating an "undefined" version component. Also implemented the
5455         missing operators (==, <, >, etc.), one missing constructor and
5456         and some exception throwing.
5457
5458 2002-03-04  Nick Drochak  <ndrochak@gol.com>
5459
5460         * IServiceProvider.cs: Add missing attribute: ComVisible(false)
5461         * Attribute.cs: Add missing attributes: Serializable and
5462         AttributeUsage(AttributeTargets.All)
5463
5464 Mon Mar 4 11:26:49 CET 2002 Paolo Molaro <lupus@ximian.com>
5465
5466         * MonoType.cs: implemented GetConstructors(), GetFields(),
5467         GetMethods(), GetProperties().
5468         * Object.cs: added debugging icall obj_address().
5469         * Type.cs: fixed the binding flags for some Get* methods.
5470         Implemented FindMembers() as calls to the specific GetMember
5471         methods.
5472
5473 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
5474         * BitConverter.cs: fixed one little bug: ToString(s, n, 0) 
5475         should give an exception for n>=s.Length.
5476
5477 2002-03-01  Martin Baulig  <martin@gnome.org>
5478
5479         * Array.cs: More argument checking and bug fixing.
5480
5481 2002-03-01  Miguel de Icaza  <miguel@ximian.com>
5482
5483         * BitConverter.cs: Indentation match
5484
5485         * AppDomain.cs: Added MonoTODOs to this too.
5486
5487         * Buffer.cs: Added MonoTODOs to this.
5488
5489 2002-03-01  Martin Baulig  <martin@gnome.org>
5490
5491         * Array.cs: Added argument checking to all methods where it was missing.
5492
5493 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
5494
5495         * BitConverter.cs: Fixed bugs in ToString methods
5496
5497 Fri Mar 1 15:20:00 CET 2002 Paolo Molaro <lupus@ximian.com>
5498
5499         * MulticastDelegate.cs: implement operators so mcs3 can be used on linux.
5500
5501 2002-03-01  Nick Drochak  <ndrochak@gol.com>
5502
5503         * BitConverter.cs: Throw ArgumentException like mscorlib, instead of
5504         ArgumentOutOfRangeException like the docs say.
5505
5506 2002-03-01  Martin Baulig  <martin@gnome.org>
5507
5508         * Enum.cs (CompareTo): Correctly override this method from IComparable.
5509
5510         * Console.cs (setIn, setOut, setError): It's called SetIn, SetOut, SetError.
5511
5512 2002-02-28  Martin Baulig  <martin@gnome.org>
5513
5514         * String.cs: This file now passes the testsuite on Linux :-)
5515         
5516         * String.cs (Intern, IsInterned): The interncalls are now called _Intern and _IsInterned;
5517         make them private and provide C# wrappers which do proper argument checking.
5518
5519         * String.cs (Format): Correctly handle escaped brackets.
5520
5521         * String.cs (_CompareChar): New internal function which compares two chars.
5522         (_Compare): Provide an internal compare method which can do all sorts of
5523         comparision and call it from all the Compare() methods. Also fixed a lot of
5524         bugs here, this code now actually passes the testsuite.
5525
5526 2002-02-28  Duncan Mak  <duncan@ximian.com>
5527
5528         * Convert.cs: Added the missing methods. The new class status page
5529         kicks ass, it even found my typos! Woohoo!
5530         (ConvertFromBase): Moved the Exception throwing in here and
5531         removed the other occurances so it's all centralized now.
5532         (ISDBNull): Implemented.
5533         (GetTypeCode): Implemented.
5534
5535 2002-02-27  Duco Fijma  <duco@lorentz.xs4all.nl>
5536         * Guid.cs: Guid.ToString("") and Guid.ToString(null) is now understood as Guid.ToString("D") 
5537         just as in mscorlib. There is (probably) a documentation bug in the MS FrameWork SDK, which
5538         states that a lacking format should be interpreted as "N".  
5539         Also added [Serializable] attribute
5540         * TimeSpan.cs: some formatting and added the [Serializable] attribute
5541
5542 2002-02-26  Duncan Mak  <duncan@ximian.com>
5543
5544         * WeakReference.cs: Committed for Ajay Kumar Dwivedi.   
5545
5546 2002-02-26  Martin Baulig  <martin@gnome.org>
5547
5548         * TimeZone.cs: Use an internal enum rather than magic numbers to access the
5549         fields of the interncall GetTimeZoneData.
5550
5551         * DateTime.cs: Implemented Parse and fixed a few bugs.
5552
5553         * String.cs (TrimStart): Small fix.
5554
5555 2002-02-26  Martin Baulig  <martin@gnome.org>
5556
5557         * DateTime.cs: ParseExact is now fully functional.
5558
5559         * String.cs (TrimEnd): Small fix.
5560
5561 2002-02-26  Duco Fijma <duco@lorentz.xs4all.nl>
5562         * TimeSpan.cs: Added method TimeSpan.FromMilliseconds, mysteriously 
5563         missing for about six months.
5564
5565 Tue Feb 26 14:21:19 CET 2002 Paolo Molaro <lupus@ximian.com>
5566
5567         * UInt64.cs: fixed Parse method () to handle some of the NumberStyle flags.
5568
5569 2002-02-26  Martin Baulig  <martin@gnome.org>
5570
5571         * DateTime.cs: Miguel already committed this, but there was still a
5572         ChangeLog entry for this missing ....
5573         We're now reusing functionality from TimeSpan, printing dates is
5574         fully implemented, currently working on parsing.
5575
5576         * TimeZone.cs: Fully implemented this. There's a new InternCall in the
5577         runtime for this.
5578
5579 Fri Feb 22 18:47:08 CET 2002 Paolo Molaro <lupus@ximian.com>
5580
5581         * MonoType.cs: disable constructor.
5582         * Object.cs: make GetType() an internalcall.
5583         * Type.cs: added correct bindingflags to GetMethods ().
5584         All such calls should be reviewed to use the correct flags.
5585
5586 Thu Feb 21 19:23:46 CET 2002 Paolo Molaro <lupus@ximian.com>
5587
5588         * Type.cs, MonoType.cs: type_is_subtype_of () changed to include extra
5589         argument.
5590
5591 Thu Feb 21 16:56:51 CET 2002 Paolo Molaro <lupus@ximian.com>
5592
5593         * Type.cs: implemented IsAssignableFrom.
5594
5595 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
5596         * Guid.cs: fixed Guid.Guid(string) ctor. Changed format:
5597         "{0xdddddddd,0xdddd,0xdddd,{0xdd},{0xdd},{0xdd},{0xdd},{0xdd},{0xdd}}" 
5598         to "{0xdddddddd,0xdddd,0xdddd,{0xdd,0xdd,0xdd,0xdd,0xdd,0xdd}}" 
5599         The former is documented by Microsoft. The latter is how they
5600         actually implemented it in mscorlib:-)
5601
5602 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
5603
5604         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
5605         runtime.
5606         * MonoType.cs: Implemented custom attributes methods.
5607
5608
5609 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
5610         * Guid.cs: 
5611
5612 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
5613
5614         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
5615         runtime.
5616         * MonoType.cs: Implemented custom attributes methods.
5617
5618 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
5619
5620         * Array.cs (CopyTo): use GetLength() instead of GetUpperBound() 
5621
5622 2002-02-19  Duncan Mak  <duncan@ximian.com>
5623
5624         * Convert.cs: Finished up the missing methods in Convert. Added a
5625         new private method ConvertFromBase.
5626
5627 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
5628
5629         * String.cs: impl. IConvertible interface
5630
5631 2002-02-18  Duco Fijma <duco@lorentz.xs4all.nl>
5632         * Guid.cs: actual implementation for Guid.Guid(string) Ctor
5633
5634 2002-02-18  Duncan Mak  <duncan@ximian.com>
5635
5636         * Convert.cs: Changed from using Type.GetType (string) to just
5637         typeof (). Probably will speed things up a bit?         
5638
5639 2002-02-18  Ajay Kumar Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>
5640
5641         * Array.cs:         
5642         1. Fix for GetUpperBound to return correct values
5643         2. made some Properties virtual
5644         3. Adds IsFixedSize and IsReadOnly properties.
5645         4. changes CreateInstance(Type,int[],int[]) to throw Exception
5646         when third arg is null. InternalCall CreateInstance changed to  
5647         CreateInstanceImpl
5648         5. Fixed array.GetUpperBound at a couple of places
5649         6. IndexOf and LastIndexOf now use Object.Equals instead of "=="
5650         7. Added two FIXME's in BinarySearch functions.
5651
5652 2002-02-17  Duncan Mak  <duncan@ximian.com>
5653
5654         * TimeZone.cs:  Applied the rest of Ajay's patch for    
5655         IsDaylightSavingTime. Thanks a lot for the nice explanation of how
5656         it works!
5657
5658 2002-02-17  Duco Fijma  <duco@lorentz.xs4all.nl>
5659         * Guid.cs: added stub for Guid(string) ctor
5660
5661 2002-02-17  Duncan Mak  <duncan@ximian.com>
5662
5663         * Convert.cs: Near-complete implementation of Convert.cs
5664
5665         Added all the To* methods taking (object) and
5666         (object, IFormatProvider) as parameters.
5667
5668         Added [CLSCompliant (false)] attributes to methods dealing with
5669         unsigned types.
5670
5671         Added the missing section on converting to and from DateTime. Only
5672         6 missing methods, all marked with MonoTODOs. Will tackle them later.           
5673
5674 2002-02-16  Duncan Mak  <duncan@ximian.com>
5675
5676         * TimeZone.cs: patch from Ajay Kumar Dwivedi (adwiv@yahoo.com) to
5677         make IsDaylightSavingTime (DateTime) call 
5678         IsDaylightSavingTime (DateTime, DaylightTime).  
5679         
5680         Added internal class CurrentTimeZone from Ajay. It needs more work
5681         to fill in the appropriate internal calls.
5682         
5683 Sat Feb 16 12:41:41 CET 2002 Paolo Molaro <lupus@ximian.com>
5684
5685         * Type.cs: fix IsClass.
5686
5687 Sat Feb 16 12:02:02 CET 2002 Paolo Molaro <lupus@ximian.com>
5688
5689         * String.cs: fix Trim().
5690
5691 Fri Feb 15 21:02:46 CET 2002 Paolo Molaro <lupus@ximian.com>
5692
5693         * String.cs: fix more off by one errors.
5694
5695 Thu Feb 14 18:54:09 CET 2002 Paolo Molaro <lupus@ximian.com>
5696
5697         * MonoType.cs: fix IsValueTypeImpl.
5698         * Type.cs: fix IsEnum. Implement Equals methods.
5699
5700 Wed Feb 13 21:50:13 CET 2002 Paolo Molaro <lupus@ximian.com>
5701
5702         * Int32.cs: implement IConvertible interface.
5703         
5704 2002-02-12  Duncan Mak  <duncan@ximian.com>
5705
5706         * TimeZone.cs: Implemented and added to CVS.
5707
5708 2002-02-11  Duncan Mak  <duncan@ximian.com>
5709
5710         * Convert.cs: Implemented the ChangeType () methods.
5711
5712 Mon Feb 11 19:48:58 CET 2002 Paolo Molaro <lupus@ximian.com>
5713
5714         * Array.cs: make Clone() an internal call.
5715
5716 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
5717         * Changed Guid.NewGuid so that it can use both System.Random and 
5718           System.Security.Cryptography.RandomNumberGenerator
5719
5720 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
5721         * First version of Guid.NewGuid
5722
5723 2002-02-08  Duncan Mak  <duncan@ximian.com>
5724
5725         * RuntimeArgumentHandle.cs: Added to CVS.
5726
5727 Fri Feb 8 19:14:54 CET 2002 Paolo Molaro <lupus@ximian.com>
5728
5729         * CrossAppDomainDelegate.cs, AssemblyLoadEventHandler.cs,
5730         UnhandledExceptionEventHandler.cs: added delegates.
5731
5732 Fri Feb 8 18:06:20 CET 2002 Paolo Molaro <lupus@ximian.com>
5733
5734         * MarshalByRefObject.cs: add ToString () method
5735         (apparently needed by nunit).
5736         * _AppDomain.cs: uncomment ToString(): dietmar fixed the bug triggered
5737         by it in the runtime.
5738
5739 2002-02-08  Dan Lewis <dihlewis@yahoo.co.uk>
5740         
5741         * String.cs (Format): implemented
5742
5743 2002-02-07  Duncan Mak  <duncan@ximian.com>
5744         
5745         * DuplicateWaitObjectException:
5746         * InvalidCastException:
5747         * NotImplementedException:
5748         * NotSupportedException:
5749         * NullReferenceException:
5750         * OutOfMemoryException:
5751         * OverflowException:
5752         * RankException:
5753         * StackOverflowException.cs:
5754         * UnauthorizedAccessException: Added missing constructor used for serialization.
5755
5756 2002-02-07  Dietmar Maurer  <dietmar@ximian.com>
5757
5758         * String.cs (System.Compare): bug fix 
5759
5760 2002-02-06  Dietmar Maurer  <dietmar@ximian.com>
5761
5762         * Enum.cs (Parse,  GetHashCode): impl. 
5763
5764 2002-02-05  Duncan Mak  <duncan@ximian.com>
5765
5766         * DBNull.cs: This is my first crack at the DBNull class. I think I
5767         actually got most of the IConvertible methods right, but I haven't
5768         done the research to test whether or not this is the correct
5769         behavior. IConvertible.ToType () is the most iffy of all, IMHO.
5770
5771         * DllNotFoundException.cs: Inherits from TypeLoadException, not SystemException.
5772
5773 2002-02-05  Dietmar Maurer  <dietmar@ximian.com>
5774
5775         * Enum.cs: added more functionality (GetName, ToObject, Equals)
5776
5777 2002-01-31  Duncan Mak  <duncan@ximian.com>
5778
5779         * InvalidOperationException.cs:
5780         * NotFiniteNumberException.cs:
5781         * ObjectDisposedException.cs:
5782         * TypeInitializationException.cs: Added missing bits for serialization/
5783         
5784         * AppDomainUnloadedException.cs:
5785         * ApplicationException.cs:
5786         * ArgumentOutOfRangeException.cs:
5787         * ArithmeticException.cs:
5788         * ArrayTypeMismatchException:
5789         * BadImageFormatException.cs:
5790         * Exception.cs:
5791         * MissingMemberException.cs:
5792         * TypeLoadException.cs: Added missing bits for serialization.
5793
5794 2002-01-30  Duco Fijma <duco@lorentz.xs4all.nl>
5795         * Guid.cs: implemented everything but Guid.NewGuid
5796
5797 Tue Jan 29 22:32:36 CET 2002 Paolo Molaro <lupus@ximian.com>
5798
5799         * _AppDomain.cs: remove ToString() method: it doesn't seem right 
5800         to have it in this interface and it screws up the method vtable setup.
5801
5802 2002-01-28  Andrei Zmievski <andrei@php.net>
5803
5804         * Double.cs: implemented IConvertible interface.
5805
5806 2002-01-28  Miguel de Icaza  <miguel@ximian.com>
5807
5808         * ArgumentException.cs: Implement serialization constructor.
5809         (GetObjectData): Implement serializer.
5810         
5811         * ArgumentNullException.cs: Implement serialization constructor.
5812
5813         * Exception.cs: Implement serialization constructor.
5814         (GetObjectData): Implement serializer.
5815
5816 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
5817
5818         * DateTime.cs (UnixEpoch): The Begining of the Unix epoch.
5819
5820 2002-01-23  Duncan Mak  <duncan@ximian.com>
5821
5822         * EntryPointNotFoundException.cs:
5823         * FormatException: Added missing constructor and related bits.
5824
5825         * TypeLoadException: Added missing constructor, methods and properties.
5826
5827 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
5828
5829         * AppDomain.cs (GetAssemblies): Use foreach construct instead of
5830         manually getting the enumerator.
5831
5832         (AppDomain.AppDomain): Prime the loaded assemblies with the
5833         assemblies loaded by the runtime in our behalf.
5834
5835         * AppDomainSetup.cs: Remove private keyword, that is the default.
5836         Add a new property DisallowPublisherPolicy.
5837
5838         * AppDomain.cs (AppDomain.GetAssemblies): Implement.
5839
5840 Tue Jan 22 22:51:48 CET 2002 Paolo Molaro <lupus@ximian.com>
5841
5842         * MonoType.cs, Type.cs: many updates, corrected implementation,
5843         completed stubs.
5844
5845 2002-01-20  Andrei Zmievski <andrei@php.net>
5846
5847         * Byte.cs:
5848         * Char.cs: implemented IConvertible interface.
5849
5850         * Boolean.cs: use our own ToString() method directly.
5851
5852 2002-01-20  Duncan Mak  <duncan@ximian.com>
5853
5854         * Files I commited recently: Fixed indentation style.
5855
5856 2002-01-20 Nick Drochak  <ndrochak@gol.com>
5857
5858         * SerializableAttribute.cs: this attrib can be used on enums, structs, 
5859         and delegates too. Added the appropriate usage flags.
5860
5861 2002-01-18  Duncan Mak  <duncan@ximian.com>
5862
5863         * CharEnumerator.cs: Implemented.
5864         * String.cs (System): Fixed the GetEnumerator () method(s).
5865
5866         * ObsoleteAttribute.cs:
5867         * STAThreadAttribute.cs:
5868         * MTAThreadAttribute.cs:
5869         * ThreadStaticAttribute.cs:
5870         * LoaderOptimizationAttribute.cs:
5871         * PlatformNotSupportedException.cs:
5872         * LoaderOptimization.cs: Added to CVS.
5873
5874 2002-01-18  Duncan Mak  <duncan@ximian.com>
5875
5876         * AppDomainUnloadedException.cs:
5877         * MethodAccessException.cs:
5878         * ContextMarshalException.cs:
5879         * CannotUnloadAppDomainException.cs:
5880         * DllNotFoundException.cs:
5881         * EntryPointNotFoundException.cs:
5882         * FieldAccessException.cs:
5883         * TypeUnloadedException.cs:
5884         * MissingFieldException.cs: Added to CVS.
5885
5886         * ApplicationException.cs: 
5887         * MemberAccessException.cs:
5888         * MissingMemberException.cs
5889         * MissingMethodException.cs:
5890         * SystemException.cs: Added [Serializable] attribute.
5891
5892         * Exception.cs: Added [Serializable] attribute, made properties
5893         'Message', 'Source' and 'StackTrace' virtual methods, per 1.0
5894         spec.
5895
5896         * ContextStaticAttribute.cs: Added [Serializable] attribute and
5897         put in the missing constructor.
5898
5899         * Environment.cs: Commented out references to
5900         EnvironmentPermissionAttribute, because they're just stubbed out
5901         right now and has no implementation.
5902
5903 2002-01-16  Andrei Zmievski <andrei@php.net>
5904
5905         * Boolean.cs: implemented IConvertible interface
5906
5907 2002-01-15  Nick Drochak  <ndrochak@gol.com>
5908
5909         * ResolveEventArgs.cs: class should derive from EventArgs.
5910
5911 2002-01-14  Miguel de Icaza  <miguel@ximian.com>
5912
5913         * String.cs (System): Use DefaultMemberName for the String class.
5914
5915 Mon Jan 14 17:06:40 CET 2002 Paolo Molaro <lupus@ximian.com>
5916
5917         * String.cs: use IndexerName in index char accessor.
5918
5919 Thu Jan 10 21:05:23 CET 2002 Paolo Molaro <lupus@ximian.com>
5920
5921         * MonoType.cs: add rank to MonoTypeInfo and implement GetArrayRank.
5922         * String.c: eliminate 64k+ method calls in search.
5923         * Type.cs: handle byref and array types in ToString ().
5924
5925 2002-01-09  Duco Fijma <duco@lorentz.xs4all.nl>
5926
5927         * Guid.cs: created first version
5928
5929 2002-01-10  Dietmar Maurer  <dietmar@ximian.com>
5930
5931         * MonoType.cs: added missing TypeAttributes to MonoTypeInfo 
5932
5933 Wed Jan 9 19:35:07 CET 2002 Paolo Molaro <lupus@ximian.com>
5934
5935         * MulticastDelegate.cs: add == and != operator stubs.
5936         * String.cs: check for null in == operator.
5937         * Type.cs: use a virtual method to get TypeAttributes.
5938
5939 Tue Jan  8 23:30:19 EST 2002 Matt Kimball <matt@kimball.net>
5940         * String.cs: Fixed several off-by-one errors in LastIndexOf* methods
5941
5942 2002-01-09  Nick Drochak  <ndrochak@gol.com>
5943         
5944         * Environment.cs: Comment out Security attribute and put a MonoTODO
5945         there as a reminder.  We need mcs magic to handle security attributes in
5946         corlib.
5947
5948 2002-01-07  Duco Fijma <duco@lorentz.xs4all.nl>
5949         * Created IAppDomainSetup.cs
5950
5951 2002-01-06  Duco Fijma <duco@lorentz.xs4all.nl>
5952         * Created System._AppDomain interface in _AppDomain.cs
5953
5954 2002-01-06  Nick Drochak  <ndrochak@gol.com>
5955
5956         * ResolveEventArgs.cs: New File, completely implemented! ;)
5957
5958 Sat Jan 5 15:53:50 CET 2002 Paolo Molaro <lupus@ximian.com>
5959
5960         * Enum.cs: dummy ToString impl.
5961         * String.cs: dummy format implementations to get compiler errors
5962         somewhat working.
5963         * Type.cs: implemented filter delegates. FindMembers runs the filter, now.
5964
5965 2002-01-05  Ravi Pratap  <ravi@ximian.com>
5966
5967         * TODOAttribute.cs : Augment some more; provide two constructors
5968         with support for a comment too.
5969
5970 2002-01-05  Nick Drochak  <ndrochak@gol.com>
5971
5972         * Uncommented those MonoTODO's now that Ravi's got
5973         the class in there
5974
5975 2001-01-04  Ravi Pratap  <ravi@ximian.com>
5976
5977         * TODOAttribute.cs : Actually add this time ;-)
5978
5979         Change name to MonoTODO.
5980
5981 2002-01-04  Jeffrey Stedfast  <fejj@ximian.com>
5982
5983         * String.cs (Trim): Fixed a few logic bugs in the code that
5984         calculated how much to trim off the end of the string.
5985
5986 2001-01-04  Nick Drochak  <ndrochak@gol.com>
5987         
5988         * Commented out the [TODO] attributes for now.  We don't have the
5989         class written.  Also changed it to [MonoTODO]
5990
5991 2002-01-04  Ravi Pratap  <ravi@ximian.com>
5992
5993         * TODOAttribute.cs : Add. We use this attribute to tag all bits in
5994         our class libraries that are incomplete.
5995
5996         * Array.cs : Apply attribute wherever we find a FIXME which says
5997         we need something to be implemented there.
5998
5999         * Int32.cs : Ditto.
6000
6001         * MulticastDelegate.cs : Ditto.
6002
6003         * RuntimeFieldHandler.cs, RuntimeMethodHandle.cs,
6004         RuntimeTypeHandle.cs : Ditto.
6005
6006         * String.cs : Ditto.
6007
6008         * Type.cs : Ditto.
6009
6010         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs, Delegate.cs : Ditto.
6011
6012         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs, Single.cs, 
6013         UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
6014
6015         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs,
6016         Delegate.cs : Ditto.
6017
6018         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs,
6019         Single.cs, UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
6020         
6021 Thu Jan 3 23:24:04 CET 2002 Paolo Molaro <lupus@ximian.com>
6022
6023         * Delegate.cs: add Remove() stub.
6024         * Enum.cs: add ToObject().
6025         * Type.cs: add IsEnum property.
6026
6027 2002-01-03  Kristian Rietveld  <kris@gtk.org>
6028
6029         * Convert.cs: add non-CLS-compliant ToBoolean methods for char,
6030         DateTime and object.
6031
6032 2001-12-30  Nick Drochak  <ndrochak@gol.com>
6033
6034         * Byte.cs (Parse): Add comments to aid in testing.
6035
6036 2001-12-21  Miguel de Icaza  <miguel@ximian.com>
6037
6038         * Char.cs (Parse): Implement.
6039
6040         * Byte.cs (Parse): Implement a fast parser.
6041         
6042         * SByte.cs (Parse): Implement a fast parser.
6043
6044         * UInt16.cs (Parse): Implement a fast parser.
6045         
6046         * Int16.cs (Parse): Implement a fast parser.
6047
6048         * UInt32.cs (Parse): Implement a fast parser.
6049
6050         * Int32.cs (Parse): Implement a fast parser.
6051
6052 Fri Dec 21 15:14:52 CET 2001 Paolo Molaro <lupus@ximian.com>
6053
6054         * Array.cs: fix null ref in sort code.
6055         * UInt64.cs: add bare-bones parse.
6056
6057 Thu Dec 20 15:29:52 CET 2001 Paolo Molaro <lupus@ximian.com>
6058         
6059         * Byte.cs: removed use of Regexes.
6060
6061 Tue Dec 18 18:39:54 CET 2001 Paolo Molaro <lupus@ximian.com>
6062
6063         * Enum.cs: implemented GetValues(), GetNames(), GetName(),
6064         IsDefined(), GetUnderlyingType().
6065         * String.cs: fix one instance of Compare().
6066         * Type.cs: implemented GetProperties(), GetProperty().
6067
6068 Thu Dec 13 20:10:57 CET 2001 Paolo Molaro <lupus@ximian.com>
6069
6070         * Array.cs: implement CopyTo ().
6071         * Char.cs: implement ToString ().
6072         * Exception.cs: bugfix.
6073         * Int32.cs: bare-bones Parse ().
6074         * MonoType.cs: query the needed info with an internalcall.
6075         * String.cs: speedups, bugfixes, reduced copies.
6076         * Type.cs: added missing fields. Implemented many of the Is*
6077         properties. Implemented GetMethod(), GetConstructor(), GetMethods(),
6078         GetFields(), FindMembers(), ToString().
6079         
6080 2001-12-11  Dick Porter  <dick@ximian.com>
6081
6082         * DateTime.cs: Implemented FromFileTime() and ToFileTime()
6083
6084         * Console.cs: Use handles rather than casting file descriptors
6085
6086 2001-12-08  Nick Drochak  <ndrochak@gol.com>
6087
6088         * Byte.cs (Parse): Start implementation. Parse(string) works, but
6089         now we need to handle other formats
6090
6091 2001-12-06  Dietmar Maurer  <dietmar@ximian.com>
6092
6093         * DateTime.cs: added an icall to GetNow()
6094
6095 2001-12-04  Dietmar Maurer  <dietmar@ximian.com>
6096
6097         * Double.cs: added the parse method from Bob Smith
6098
6099 2001-11-28  Miguel de Icaza  <miguel@ximian.com>
6100
6101         * UInt64.cs: ditto.
6102
6103         * UInt32.cs: ditto.
6104
6105         * Int32.cs (Int32.CompareTo): Fix because we can not just
6106         substract the values.
6107
6108         Return possitive value if the object is null.
6109
6110         * Boolean.cs: (Boolean.CompareTo): ditto.
6111
6112         * Int16.cs (Int16.CompareTo): ditto.
6113
6114         * Byte.cs (Byte.CompareTo): ditto.
6115
6116         * SByte.cs (SByte.CompareTo): ditto.
6117
6118         * Char.cs (Char.CompareTo): ditto.
6119         
6120         * Decimal.cs (Decimal.CompareTo): ditto.
6121
6122         * Int64.cs (Int64.CompareTo): ditto.
6123
6124         * Single.cs: Ditto.
6125
6126         * UInt16.cs: Ditto.
6127
6128 2001-11-28  Nick Drochak <ndrochak@gol.com>
6129
6130         * Byte.cs: Throw NotImplementedException for Parse.
6131
6132 2001-11-27  Derek Holden  <dholden@draper.com>
6133
6134         * IntegerFormatter.cs: Formatting of type "Number" was not
6135         using NumberFormatInfo.NumberNegativePattern.
6136
6137 2001-11-26  Dick Porter  <dick@ximian.com>
6138
6139         * LocalDataStoreSlot.cs: No need to delete a system TLS slot in
6140         the finalise routine any more
6141
6142 2001-11-21  Miguel de Icaza  <miguel@ximian.com>
6143
6144         * ApplicationException.cs: internationalize by adding calls to
6145         Locale.GetText ().  And throw NotImplementedExceptions on calls
6146         that we have to implement.
6147
6148         * Version.cs: Ditto.
6149
6150         * ValueType.cs: ditto.
6151
6152         * UnauthorizedAccessException.cs: ditto.
6153
6154         * UInt32.cs: ditto.
6155
6156         * UInt64.cs: ditto.
6157
6158         * UInt16.cs: ditto.
6159
6160         * TypeLoadException.cs: ditto
6161
6162         * TypeInitializationException.cs: ditto.
6163
6164         * Type.cs: ditto.
6165
6166         * TimeSpan.cs: ditto.
6167
6168         * SystemException.cs: ditto.
6169
6170         * String.cs: ditto.
6171
6172         * StackOverflowException.cs: ditto.x
6173
6174         * Single.cs: ditto.
6175
6176         * SByte.cs: ditto.
6177
6178         * RuntimeTypeHandle.cs: ditto.
6179
6180         * RuntimeMethodHandle.cs: ditto.
6181
6182         * RuntimeFieldHandle.cs: ditto.
6183
6184         * Random.cs: ditto.
6185
6186         * OutOfMemoryException.cs: ditto.
6187
6188         * OperatingSystem.cs: ditto.
6189
6190         * ObjectDisposedException.cs: ditto.
6191
6192         * NullReferenceException.cs: ditto.
6193
6194         * NotImplementedException.cs: ditto.
6195
6196         * NotFiniteNumberException.cs: ditto.o
6197
6198         * MulticastNotSupportedException.cs: ditto.
6199
6200         * MissingMethodException.cs: ditto.
6201
6202         * MemberAccessException.cs: ditto.
6203
6204         * Math.cs: ditto.
6205
6206         * InvalidCastException.cs: ditto.
6207
6208         * IntegerFormatter.cs: ditto.
6209
6210         * Int32.cs: ditto.
6211
6212         * Int16.cs: ditto.
6213
6214         * IndexOutOfRangeException.cs: ditto.
6215
6216         * Environment.cs: ditto
6217
6218         * Enum.cs: ditto.
6219
6220         * DuplicateWaitObjectException.cs: ditto.
6221
6222         * DivideByZeroException.cs: ditto.
6223
6224         * Delegate.cs: ditto
6225
6226         * DecimalFormatter.cs: ditto.
6227
6228         * Decimal.cs: ditto.
6229
6230         * DateTime.cs: ditto.
6231
6232         * Convert.cs: ditto.
6233
6234         * Char.cs: ditto.
6235
6236         * Byte.cs: ditto.
6237
6238         * Boolean.cs: ditto.
6239
6240         * ArrayTypeMismatchException.cs: ditto.
6241
6242         * ArithmeticException.cs: ditto.
6243
6244         * ArgumentOutOfRangeException.cs: ditto.
6245
6246         * ArgumentNullException.cs: ditto.
6247
6248         * Enum.cs: Make it derive from ValueType, add CompareTo method.
6249
6250         * Attribute.cs: Reformat.
6251
6252 2001-11-14  Miguel de Icaza  <miguel@ximian.com>
6253
6254         * Decimal.cs, Double.cs, Byte.cs, Char.cs, Int16, UInt16, Int32,
6255         UInt32, Int64, UInt64, SByte, Single (CompareTo): Throw the
6256         exception if the value is null too.
6257
6258         * Char.cs (CompareTo): ditto.
6259
6260         * ApplicationException.cs: Added constructor that does serialization.
6261
6262         * ParamArrayAttribute.cs: Define attribute correctly.
6263
6264 Wed Nov 14 16:31:19 CET 2001 Paolo Molaro <lupus@ximian.com>
6265
6266         * AppDomain.cs: rename dummy interface _AppDomain to AppDomain_Intf.
6267         * Array.cs: fix Array.Copy.
6268         * AssemblyLoadEventArgs.cs: rename field.
6269         * CLSCompliantAttribute.cs: use correct name for the class.
6270         * Char.cs: fix IsLetter.
6271         * Console.cs, DateTime.cs, Decimal.cs, IConvertible.cs, Math.cs,
6272         SByte.cs, UInt16.cs, UInt32.cs, UInt64.cs, UIntPtr.cs: CLSCompliant updates.
6273         * Convert.cs: CLSCompliant updates, add ChangeType() methods.
6274         * Delegate.cs: renamed target field to m_target.
6275         * Enum.cs: added missing methods.
6276         * MonoType.cs: add a constructor and some needed properties.
6277         * Object.cs: implement GetType().
6278         * String.cs: CLSCompliant updates. Fixes everywhere to remove the
6279         ending 0 char.
6280         * Type.cs: add missing methods/properties.
6281
6282 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
6283
6284         * AttributeUseage.cs: Should define AttributeUsageAttribute.
6285
6286         * CLSCompliant.cs: Marked with AttributeUsage attribute.
6287
6288         * Decimal.cs: Fixed CLSCompliant attributes.
6289
6290         * Type.cs: changed _impl to internal (needs to be accessable by
6291         subclasses).
6292
6293         (TypeHandle): Marked as abstract, implementation removed.
6294
6295         (IsNotPublic, IsPublic, GetMethods, GetPropery, GetConstructor,
6296         GetMethod): Added stub implementations so NUnit would link against
6297         corlib
6298
6299 Tue Nov 6 09:11:43 CET 2001 Paolo Molaro <lupus@ximian.com>
6300
6301         * AppDomain.cs: use an internal constructor for AssemblyBuilder.
6302
6303 2001-11-05  Miguel de Icaza  <miguel@ximian.com>
6304
6305         * NonSerializedAttribute.cs: Add AttributeUsage rules for this
6306         attribute. 
6307
6308 Fri Nov 2 18:23:15 CET 2001 Paolo Molaro <lupus@ximian.com>
6309
6310         * String.cs: fix a couple of bugs.
6311         * AppDomain.cs: use new AppBuilder constructor.
6312         * Buffer.cs, GC.cs, NonSerializedAttribute.cs,
6313         NotImplementedException.cs, ObjectDisposedException.cs,
6314         UnauthorizedAccessException.cs: add implementation.
6315         * OverflowException.cs: fix class name.
6316
6317 2001-10-28  Jeffrey Stedfast  <fejj@ximian.com>
6318
6319         * String.cs: Don't use a terminating nil char for our internal
6320         array.
6321
6322 2001-10-27  Miguel de Icaza  <miguel@ximian.com>
6323
6324         * Delegate.cs (Delegate.CombineImpl): Implement.
6325         (Delegate.Combine): Implement.
6326
6327         * MulticastDelegate.cs (MulticastDelegate.Equals): Implement.
6328
6329         (MulticastDelegate.CombineImpl): This was not as trivial as I
6330         thought. 
6331
6332         * ContextStaticAttribute.cs: Added AttributeUsage to
6333         ContextStaticAttribute. 
6334
6335         * FlagsAttribute.cs: Add AttributeUsage to FlagsAttribute
6336
6337 2001-10-15  Martin Weindel <martin.weindel@t-online.de>
6338
6339         * added Decimal.cs * added DecimalFormatter.cs (internal class
6340         used from System.Decimal)
6341
6342 2001-10-11  Thomas Neidhart <tome@sbox.tugraz.at>
6343
6344         * Convert.cs: Added methods for Base64 transforming just used the
6345           existing System.Security.Cryptography.ToBase64Transform, should
6346           be changed to use a stand-alone class, e.g. Base64Encoder
6347           
6348 2001-10-10  Derek Holden  <dholden@draper.com>
6349
6350         * IntegerFormatter.cs: Added. Implements ToString for all the
6351         integer data types for all the format types.
6352
6353         * Byte.cs: Using IntegerFormatter for ToString's.
6354
6355         * SByte.cs: Using IntegerFormatter for ToString's.
6356
6357         * Int16.cs: Using IntegerFormatter for ToString's.
6358
6359         * Int32.cs: Using IntegerFormatter for ToString's.
6360
6361         * Int64.cs: Using IntegerFormatter for ToString's.
6362
6363         * UInt16.cs: Using IntegerFormatter for ToString's.
6364
6365         * UInt32.cs: Using IntegerFormatter for ToString's.
6366
6367         * UInt64.cs: Using IntegerFormatter for ToString's.
6368
6369 2001-10-07  Miguel de Icaza  <miguel@ximian.com>
6370
6371         * Exception.cs: Implement bits of serialization.
6372
6373         * RuntimeFieldHandle.cs: Implement Serialization features.
6374
6375         * Type.cs: Implement TypeHandle property.
6376
6377 2001-09-28  Dick Porter  <dick@ximian.com>
6378
6379         * LocalDataStoreSlot.cs: Implemented
6380
6381 Tue Sep 25 19:58:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
6382
6383         * String.cs: fix off-by-one error in Trim().
6384
6385 Tue Sep 25 18:52:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
6386
6387         * Type.cs: added GetType () method.
6388
6389 Tue Sep 25 17:29:02 CEST 2001 Paolo Molaro <lupus@ximian.com>
6390
6391         * MissingMethodException.cs, MissingMemberException.cs,
6392         MemberAccessException.cs: added.
6393
6394 Tue Sep 25 16:46:43 CEST 2001 Paolo Molaro <lupus@ximian.com>
6395
6396         * String.cs: don't access the string array out of bounds in
6397         LastIndexOf.  * Type.cs: fix return type of the Assembly property.
6398
6399 Mon Sep 24 20:35:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
6400
6401         * String.cs: make Intern and IsIntern internalcalls.
6402
6403 2001-09-13  Dick Porter  <dick@ximian.com>
6404
6405         * Type.cs: Added a stub for the IsValueType property.
6406
6407         * SystemException.cs (System): Added the other constructor, so
6408         that System.Threading exceptions can inherit it.
6409
6410 2001-09-08  Jeffrey Stedfast  <fejj@ximian.com>
6411
6412         * String.cs (TrimStart): Don't keep looping through the trimchars
6413         once we've found a match.
6414         (TrimEnd): Same here.
6415         (Trim): And finally here.
6416
6417 2001-09-07  Ravi Pratap  <ravi@ximian.com>
6418
6419         * Char.cs (IsLetterOrDigit): Implement.
6420         (IsLower): Implement, but we need to be Unicode aware.
6421         (IsNumber): Implement.
6422         (IsPunctuation): Implement.
6423         (IsWhiteSpace): Implement.
6424         (ToUpper): Fix to subtract 32 from the ASCII value, not 33 :)
6425         (ToLower): Same here.
6426
6427 2001-09-04  Miguel de Icaza  <miguel@ximian.com>
6428
6429         * Object.cs: Shortcut, if (a == b) then return true.
6430
6431 Fri Sep 7 18:34:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
6432
6433         * Delegate.cs: we need a pointer to the method thunk in
6434         the delegate object.
6435
6436 Fri Sep 7 12:28:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
6437
6438         * AsyncCallback.cs, common.src: add AsyncCallback delegate.
6439
6440 2001-09-06  Jeffrey Stedfast  <fejj@ximian.com>
6441
6442         * String.cs (System): Don't mix uint and int.
6443
6444 2001-09-04  Jeffrey Stedfast  <fejj@ximian.com>
6445
6446         * String.cs (BoyerMoore): Modified to not use pointers and to instead
6447         use indexes.
6448         (IndexOf): Use BoyerMoore.
6449
6450 2001-09-02  Miguel de Icaza  <miguel@ximian.com>
6451
6452         * All over: Use the autogenerated enumerations from the ECMA
6453         documentation that Sergey wrote.
6454         
6455         * PlatformID.cs: Add Unix definition.
6456
6457         * OperatingSystem.cs: Use Unix instead of Linux here.
6458
6459         * MarshalByRefObject.cs: Mark class as [Serializable].
6460
6461 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
6462
6463         * Console.cs: impl. (write only)
6464         implemented the stdin stuff
6465
6466         * Int32.cs: impl. real op_Equal
6467
6468 2001-08-24  Miguel de Icaza  <miguel@ximian.com>
6469
6470         * (common.src): Removed IAsyncResult as it is not on CVS yet.
6471
6472         * UIntPtr.cs: Removed CLSCompliant attribute before the namespace,
6473         as it breaks the build.
6474
6475 2001-08-23  Michael Lambert <michaellambert@email.com>
6476
6477         * IntPtr.cs: Optimized unsafe declaration, implemented GetObjectData, 
6478         added CLSCompliant attribute
6479
6480         * IAsyncResult.cs: Added
6481
6482         * common.src: Added IAsyncResult.cs
6483
6484 2001-08-23  Michael Lambert <michaellambert@email.com>
6485
6486         * UIntPtr.cs: Added
6487
6488         * common.src: Added UIntPtr.cs
6489
6490 2001-08-20  Dietmar Maurer  <dietmar@ximian.com>
6491
6492         * Attribute.cs: uncomment some code to make it compile again
6493
6494         * mono.src: removed duplicated Attribute.cs
6495
6496 2001-08-16  Nick Drochak <ndrochak@gol.com>
6497
6498         * Attribute.cs: implemented all methods except GetHashCode()
6499
6500         * common.src: added Attribute.cs so it would compile in
6501
6502 2001-08-10  Dietmar Maurer  <dietmar@ximian.com>
6503
6504         * Object.cs: changed MemberWiseClone to MemberwiseClone, and
6505         marked it as InternalCall
6506         
6507         * common.src: removed UriFormatException.cs because the file is
6508         not there.
6509
6510         * RuntimeTypeHandle.cs: replaced IntrPtr with IntPtr
6511         * Char.cs: replaced byte with char
6512
6513         * Array.cs: make it work with the mono interpreter
6514
6515 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
6516
6517         * Version.cs: Make the class sealed
6518
6519 2001-08-08  Bob Smith  <bob@thestuff.net>
6520
6521         * Random.cs: Many compile fixes.
6522         * Random.cs: I read a bad spec. Class updated to match real spec.
6523
6524 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
6525
6526         * IntPtr.cs: Added and Completed implementation.
6527
6528         * Uri.cs: Add a note.
6529
6530 2001-08-06  Bob Smith  <bob@thestuff.net>
6531
6532         * Random.cs: Compile fix. Needs more testing.
6533
6534 2001-08-06 Garrett Rooney <rooneg@electricjellyfish.net>
6535
6536         * Uri.cs: Initial Implementation.  Parsing needs to be fixed to take 
6537         into account IPv6 addresses, url encoding needs to be implemented, and 
6538         various minor methods need to be written, but this is a decent start.
6539
6540 2001-08-06  Dietmar Maurer  <dietmar@ximian.com>
6541
6542         * common.src: added Object.cs
6543
6544         * mono.src: added ValueType.cs
6545
6546 2001-08-02  Dietmar Maurer  <dietmar@ximian.com>
6547
6548         * Math.cs: replaced libc with libm
6549
6550 2001-08-02  Bob Smith  <bob@thestuff.net>
6551
6552         * Random.cs: Implemented. Needs testing.
6553
6554 2001-08-02  Miguel de Icaza  <miguel@ximian.com>
6555
6556         * IServiceProvider.cs, EventHandler.cs: New files.
6557
6558 2001-08-02  Marcel Narings  <marcel@narings.nl>
6559         
6560         * DateTime.cs: Cleaned up a bit. Added the Add* family members.
6561         Added exceptions. Added IConvertible. Still needs some platform 
6562         dependend stuff, the Parse and ToString members
6563
6564 2001-08-01  Dietmar Maurer  <dietmar@ximian.com>
6565
6566         * Type.cs (GetTypeFromHandle): added placeholder 
6567
6568 2001-07-24  Derek Holden  <dholden@draper.com>
6569
6570         * Boolean.cs: Formatted to code style standard. Added GetTypeCode
6571         which is really an IConvertible defined method.
6572
6573         * Byte.cs: Added a missing Parse method. Put in Parse and ToString
6574         behavior, still need to do the main Parse and ToString.
6575
6576         * Char.cs: Added a bunch of missing ECMA methods. Commented a
6577         specification discrepency. Still didn't any unicode stuff, though
6578         every IsFoo(char c) method has an IsFoo(string, index)
6579         counterpart, added wrappers for those.
6580         
6581         * Convert.cs: Fixed NaN/Inf checking and double/float
6582         rounding. Added ToType for IConvertible classes
6583
6584         * Double.cs: Fixed ECMA min and max values. Added IsInfinity /
6585         IsNaN methods. Changed Inf/NaN internals.
6586
6587         * IConvertible.cs: Added comments for using
6588         Convert.ToType. Changed return values to draft base values.
6589
6590         * Int16.cs: Added a missing Parse statement. Put in behavior for
6591         overloaded ToString and Parse methods.
6592
6593         * Int32.cs: Added a missing Parse statement. Put in behavior for
6594         overloaded ToString and Parse methods.
6595
6596         * Int64.cs: Added a missing Parse statement. Put in behavior for
6597         overloaded ToString and Parse methods.
6598         
6599         * Single.cs: Put in ECMA epsilon value. Added IsInfinity / IsNaN
6600         methods. Changed Inf/NaN internals.
6601
6602         * SByte.cs: Added a missing Parse method. Put in Parse and
6603         ToString behavior, still need to do the main Parse and ToString.
6604
6605         * UInt16.cs: Added a missing Parse statement. Put in behavior for
6606         overloaded ToString and Parse methods.
6607
6608         * UInt32.cs: Added a missing Parse statement. Put in behavior for
6609         overloaded ToString and Parse methods.
6610
6611         * UInt64.cs: Added a missing Parse statement. Put in behavior for
6612         overloaded ToString and Parse methods.
6613         
6614 2001-07-20  Miguel de Icaza  <miguel@ximian.com>
6615
6616         * MulticastDelegate.cs: New File.
6617
6618         * Delegate.cs: New file.
6619
6620         * Enum.cs: New file.
6621
6622         * Attribute.cs: New file.
6623
6624         * Type.cs: New file.
6625
6626         * ParamArrayAttribute.cs: New file.
6627
6628         * RuntimeTypeHandle.cs: New file.
6629
6630         * MulticastDelegate.cs: Added.
6631
6632         * DateTime.cs: Added
6633
6634         * Delegate.cs: Added
6635
6636 2001-07-18  Michael Lambert <michaellambert@email.com>
6637
6638         * AttributeTargets.cs: Add.
6639
6640 2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>
6641
6642         * Char.cs: Made ToUpper and ToLower public methods.
6643
6644         * String.cs: Lots and lots of compile fixes - just need to write
6645         DateTime.cs and this should build completely now.
6646
6647 2001-07-19  Bob Smith (bob@thestuff.net)
6648
6649         * Math.cs: Implemented. 
6650
6651 2001-07-19  Miguel de Icaza  <miguel@ximian.com>
6652
6653         * String.cs: Removed tolower and toupper.
6654
6655         * Char.cs: Moved ToLower and ToUpper from string to here. 
6656
6657         * Convert.cs ToByte (float value), ToByte (double value) Use IsNan
6658         instead of comparing the value to Nan.
6659
6660 2001-07-19  Duco Fijma (duco@lorentz.xs4all.nl)
6661
6662         * TimeSpan.cs: New implementation.
6663
6664 2001-07-18  Scott Sanders <scott@stonecobra.com>
6665
6666          * UriFormatExcpetion.cs: Add - 85% complete
6667
6668 2001-07-17  Jeffrey Stedfast  <fejj@ximian.com>
6669
6670         * String.cs (IndexOf): Slight optimization that allows skipping
6671         over a few chars here and there. This isn't as good as using my
6672         Boyer-Moore implementation, however, Boyer-Moore is only really
6673         good for long strings (I plan on making the code decide which
6674         string search algorithm it should use on-the-fly at some point).
6675         (LastIndexOf): Fix to work correctly.
6676         (BoyerMoore): Took out some unneeded code and fixed an edge-case.
6677
6678 2001-07-16  Michael Lambert <michaellambert@email.com>
6679
6680         * EventArgs.cs: Add.
6681         
6682 2001-07-16  Miguel de Icaza  <miguel@ximian.com>
6683
6684         * Version.cs: Remove my buggy comment.
6685
6686 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
6687
6688         * String.cs: Spelling error of IComparable, object's
6689         MemberwiseClone cannot be overridden.  Made indexer valid for now,
6690         but not sure what to do about this in the long run.  Seems to be a
6691         couple bugs in csc.exe having to do with multiple pointer defs in
6692         the same statement, and returning subclasses of a class in the
6693         return type of an interface function implementation.  Also moved
6694         operators inside of class definition.
6695
6696 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
6697
6698         * String.cs: A tom of compile fixes, although we still don't compile.
6699
6700         * IConvertible.cs: The To*Int64() methods return *Int64's, not
6701         *Int32's. Also, it's ToDateTime() not ToDateType().
6702
6703 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
6704
6705         * String.cs: Apparently I needed to at least write stubs for the
6706         IConvertible interfaces. *sigh*
6707
6708 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
6709
6710         * String.cs: Many logic/other fixes and better usage of the
6711         features of c#
6712         (tolower): New convenience method to help condense code.
6713         (toupper): Another new helper method.
6714         (Compare): Use the new helper methods.
6715         (ToLower): use tolower().
6716         (ToUpper): use toupper().
6717         (LastIndexOfAny): Implemented.
6718         (BoyerMoore): New private helper method that implements a modified
6719         version of the Boyer-Moore search algorithm. Noothing uses it yet
6720         as I'm not 100% sure it even works properly with unicode strings
6721         not to mention it uses a huge lookup-table :-)
6722         (Split): Implemented.
6723
6724 2001-07-13  Jeffrey Stedfast  <fejj@ximian.com>
6725
6726         * TODO: Added things that need to be finished in System.String
6727
6728         * String.cs: New source file implementing the System.String class
6729
6730 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
6731
6732         * TypeCode.cs: UInt64 was UInt63.
6733
6734         * Object.cs: Fixed a numer of compiler errors.
6735
6736         * Array.cs: Fixed some compiler errors.
6737
6738         * IComparable.cs: Fixed some compiler errors.
6739
6740         * ICloneable.cs: Fixed some compiler errors.
6741
6742         * IConvertible.cs: Fixed some compiler errors.
6743
6744         * IFormattable.cs: Fixed a compiler error.
6745
6746         * IFormatProvider.cs: Fixed a compiler error.
6747
6748         * IDisposable.cs: Fixed a compiler error.
6749
6750         * IFormatProvider.cs: Added public accesability type to
6751         IFormatProvider.
6752
6753         * Exception.cs: Added a using statement to remove compile time
6754         error.
6755
6756         * ApplicationException.cs: Removed a ; that was causing a compiler
6757         error.
6758
6759         * Int16.cs: Fixed some compiler errors.
6760
6761         * Int32.cs: Fixed some compiler errors.
6762
6763         * Int64.cs: Fixed some compiler errors.
6764
6765         * SystemException.cs: Fixed a compiler error.
6766
6767         * UInt16.cs: Fixed some compiler errors.
6768
6769         * UInt32.cs: Fixed some compiler errors.
6770
6771         * UInt64.cs: Fixed some compiler errors.
6772
6773         * Void.cs: Fixed a compiler error.      
6774
6775 2001-07-12  Joe Shaw  <joe@ximian.com>
6776
6777         * Array.cs: Fix backwards parameters to Array.SetValue()
6778         throughout.
6779         (BinarySearch): Fix backward logic surrounding whether to call
6780         value.CompareTo or comparer.Compare.
6781         (LastIndexOf): Stop being stupid. I am so not used to strongly
6782         bounded arrays...
6783         (Sort): Implement a quicksort.
6784
6785 2001-07-11  Joe Shaw  <joe@ximian.com>
6786
6787         * Array.cs: Change all instances of trying to access an array with
6788         the index operator to calls to GetValue and SetValue, and add
6789         InternalGetValue and InternalSetValue which are internal calls
6790         into the runtime. Ew.
6791
6792 2001-07-10  Joe Shaw  <joe@ximian.com>
6793
6794         * Array.cs: Implemented everything but Sort().
6795
6796 2001-07-09  Jeffrey Stedfast  <fejj@ximian.com>
6797
6798         * Object.cs (Object::Equals): Object variable name is `o'.
6799
6800 2001-07-06  Joe Shaw  <joe@ximian.com>
6801
6802         * Int16.cs, Int32.cs, Int64.cs, UInt16.cs, UInt32.cs, UInt64.cs:
6803         Implement the IComparable and IFormattable interfaces. Fix a typo
6804         (publig -> public)
6805
6806         * ApplicationException.cs, ArgumentException.cs,
6807         ArgumentNullException.cs, ArgumentOutOfRangeException.cs,
6808         ArtithmeticException.cs, ArrayTypeMismatchException.cs,
6809         DivideByZeroException.cs, DuplicateWaitObjectException.cs,
6810         ExecutionEngineException.cs, FormatException.cs,
6811         IndexOutOfRangeException.cs, InvalidCastException.cs,
6812         InvalidOperationException.cs, InvalidProgramException.cs,
6813         MulticateNotSupportedException.cs, NotFiniteNumberException.cs,
6814         NotSupportedException.cs, NullReferenceException.cs,
6815         OutOfMemoryException.cs, OverflowException.cs, RankException.cs,
6816         StackOverflowException.cs, SystemException.cs,
6817         TypeInitializationException.cs: Added all of the exceptions
6818         specified by the language spec. Mmmm... bloat.
6819
6820 2001-07-06  Miguel de Icaza  <miguel@ximian.com>
6821
6822         * Int64.cs, Int32.cs: Put.  Parsing and ToString missing.  Should
6823         do a generic routine all of these guys use.
6824
6825         * Int16.cs: identified missing methods.
6826
6827         * UInt16.cs, UInt32.cs, UInt64.cs: Add.
6828
6829 2001-06-26  Miguel de Icaza  <miguel@ximian.com>
6830
6831         * TypeCode.cs: Implement
6832
6833         * Void.cs: Implement.
6834
6835         * TODO: Add file to keep track of pending tasks.
6836
6837         * Object.cs, ValueType.cs: Implement.