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