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