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