(DISTFILES): Comment out a few missing files.
[mono-project.git] / mcs / class / corlib / System / ChangeLog
blobe5ae19f888739bd1c8cf73b94bf3466c8f9198cf
1 2004-11-07  Ben Maurer  <bmaurer@ximian.com>
3         * IntegerFormatter.cs: Avoid .ToCharArray
5 2004-11-06  Ben Maurer  <bmaurer@ximian.com>
7         * Single.cs, Double.cs (GetHashCode): Better hashcode impl
9 2004-11-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
11         * InvalidOperationException.cs: make the message more meaningful and
12         real. Fixes bug #69055.
14 2004-10-28  Ben Maurer  <bmaurer@ximian.com>
16         * String.cs: Rather than == String.Empty, use .Length == 0. It
17         is a bit faster (avoids a method call, and the code is less complex).
19 2004-10-24  Fawad Halim  <fawad@fawad.net>
20         * Environment.cs: If an Environment variable value isn't found, leave the trailing % of the reference for further matches.
21         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.
22         This fixes bug #64995.
24 2004-10-19  Lluis Sanchez  <lluis@novell.com>
26         * MarshalByRefObject.cs: Field _identity is not serializable.
27         This fixes bug #68567.
29 2004-10-17  Ben Maurer  <bmaurer@ximian.com>
31         * DateTime.cs (ZeroPad): Use unsafe code to speed this up. We
32         avoid entering slow integer formatting code.
34         (_ToString): Use ZeroPad here when possible, as it is faster.
36 2004-10-11  Martin Baulig  <martin@ximian.com>
38         * Environment.cs: Bump corlib version to 28.
40 2004-10-08  Zoltan Varga  <vargaz@freemail.hu>
42         * Convert.cs (ToType): Throw an exception when converting null to a
43         valuetype. Fixes #67780.
45 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
47         * DateTime.cs : Performance fix. ParseExact() implementation should
48           avoid s = s.Substring(1).
50 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
52         * DateTime.cs : When it it not exact parse, 'Z' is allowed as a suffix
53           of m/s/t/z. This fixes bug 66723.
55 Wed Oct 6 12:37:54 CEST 2004 Paolo Molaro <lupus@ximian.com>
57         * String.cs: make GetHashCode() managed.
59 2004-10-04  Zoltan Varga  <vargaz@freemail.hu>
61         * AppDomain.cs: Make ThreadStatic variables static. Fixes #56614.
63         * Runtime*Handle.cs ModuleHandle.cs: Add Equals + GetHashCode.
65         * ModuleHandle.cs: Add missing methods.
67         * RuntimeTypeHandle.cs: Add GetModuleHandle () method.
69 2004-10-03  Zoltan Varga  <vargaz@freemail.hu>
71         * AttributeTargets.cs: Add 2.0 GenericParameter value.
73         * Environment.cs: Bump corlib version.
75 2004-10-02  Zoltan Varga  <vargaz@freemail.hu>
77         * Int32.cs UInt32.cs Byte.cs SByte.cs Int16.cs UInt16.cs Int64.cs UInt64.cs: Implement 2.0 TryParse methods.
79 2004-09-30  Geoff Norton  <gnorton@customerdna.com>
81         * Convert.cs: ConvertToBase* was not endian aware.  Implemented EndianSwap
82         and swapping of all values before going into the BitConverter so that values
83         are returned with proper endianess.
85 2004-09-23  Martin Garton  <martin@wrasse.demon.co.uk>
87         * Convert.cs: ToType was returning unconverted object when it should
88         fail with an ArgumentException.
90 2004-09-27  Zoltan Varga  <vargaz@freemail.hu>
92         * Array.cs: Add stub for AsReadOnly<T>.
93         
94 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
96         * Type.cs: Add MakePointerType && stub for ReflectionOnlyGetType.
98         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
99         parameters.
101 2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
103         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
104         methods and fields.
105         
106         * MonoCustomAttrs.cs: Beginnings of support for returning 2.0 pseudo
107         custom attributes.
109         * MonoCustomAttrs.cs (RetrieveAttributeUsage): Avoid infinite recursion.
111         * MonoCustomAttrs.cs (GetCustomAttributes): Fix the 'attributeType is 
112         sealed' optimization.
114         * Type.cs: Implement 2.0 StructLayoutAttribute property. 
116         * Type.cs Add GetPseudoCustomAttributes () method.
118 2004-09-24  Martin Baulig  <martin@ximian.com>
120         * Type.cs (Type.GetGenericParameterConstraints): New public method.
122 2004-09-23  Zoltan Varga  <vargaz@freemail.hu>
124         * MonoCustomAttrs.cs (GetCustomAttributes): Rename the icall to
125         GetCustomAttributesInternal and add a 'pseudoAttrs' argument.
127         * Type.cs: Tweak Module property in 2.0 build.
129 2004-09-23  Martin Baulig  <martin@ximian.com>
131         * Type.cs (Type.GenericParameterAttributes): New public property.
133 2004-09-23  Martin Baulig  <martin@ximian.com>
135         * GenericParameterAttributes.cs: New file.
137 2004-09-22  Zoltan Varga  <vargaz@freemail.hu>
139         * ModuleHandle.cs: Updated after changes to Module class.
141 2004-09-21  Geoff Norton <gnorton@customerdna.com>
143         * Type.cs: BindingFlags.IgnoreCase was being ignored, this reimplements
144         this filter. Fixes bug #65778.
146 2004-09-20  Zoltan Varga  <vargaz@freemail.hu>
148         * Environment.cs: Bump corlib version.
150 2004-09-19  Zoltan Varga  <vargaz@freemail.hu>
152         * ModuleHandle.cs: New file.
154         * RuntimeFieldHandle.cs: Add an internal ctor.
156 2004-09-19  Dick Porter  <dick@ximian.com>
158         * Console.cs: Use the internal wrappers for StreamReader and
159         StreamWriter that catch IOException.
161 2004-09-16  Sebastien Pouliot  <sebastien@ximian.com>
163         * Environment.cs: Bumped mono_corlib_version to 25.
165 2004-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
167         * AppDomain.cs: added SetupInformationNoCopy property, since
168         SetupInformation creates a copy now, all updates to it should use the
169         actual data. Fixes bug #61991 take 2.
171 2004-09-09  Tim Coleman <tim@timcoleman.com>
172         * Base64FormattingOptions.cs: New enum
173         * Convert.cs: Add new ToBase64String methods for Fx 2.0
175 2004-09-08  Marek Safar  <marek.safar@seznam.cz>
177         * Console.cs,
178         * GC.cs: Class is static for NET_2_0.
180 2004-09-07 Ben Maurer  <bmaurer@users.sourceforge.net>
182         * Activator.cs: Make sure not to call .GetType on a
183         null argument. fixes 63852
185 2004-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
187         * Array.cs (Clear): make this an icall.
189 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
191         * MonoCustomAttribute.cs: Avoid the call to GetBase when possible.
193 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
195         * Environment.cs: (ExpandEnvironmentVariables) don't nullify the case
196         insensitive enironment variables hashtable once we create it.
198 2004-09-04  Sebastien Pouliot  <sebastien@ximian.com>
200         * AppDomain.cs: Changed 2 imperative security demands to declarative
201         (unsupported) so it doesn't (for now) call the security runtime.
203 2004-09-02  Zoltan Varga  <vargaz@freemail.hu>
205         * Delegate.cs: Free the delegate trampoline in the finalizer.
207 2004-08-26  Sebastien Pouliot  <sebastien@ximian.com>
209         * ApplicationId.cs: Completed GetHashCode using information from MS
210         (FDBK13339).
212 2004-08-23  Sebastien Pouliot  <sebastien@ximian.com>
214         * Boolean.cs: Added TryParse static method for NET_2_0 profile.
216 2004-08-19  Atsushi Enomoto  <atsushi@ximian.com>
218         * DateTime.cs : When hour format is "hh", MS.NET (maybe incorrectly)
219           allows 12, that should not be accepted (13 is rejected) and
220           interpreted as 0. This fixes bug 63376.
222 2004-08-17  Sebastien Pouliot  <sebastien@ximian.com>
224         * Version.cs: Fixed Clone so we can use it on versions with only
225         major/minor or major/minor/build.
227 2004-08-17  Martin Baulig  <martin@ximian.com>
229         * MonoType.cs (MonoType.getFullName): Added `bool full_name'
230         argument specifying whether or not to include the type arguments.
231         (MonoType.FullName): Don't include the type arguments.
232         (MonoType.ToString): Include them here.
234         * Environment.cs: Bumped mono_corlib_version to 24.
236 2004-08-16  Duncan Mak  <duncan@ximian.com>
238         * AttributeUsageAttribute.cs: Change the AttributeUsage to
239         AttributeTargets.Class, from AttributeTargets.All, fixes Zoltan's
240         bug #62895.
242 2004-08-11  Marek Safar  <marek.safar@seznam.cz>
244         * AppDomain.cs: Fixed typo of DefineDynamicAssembly argument.
245         Added call to AddPermissionRequests to pass permissions
246         arguments.
247         * Environment.cs: Added a few Fx 2.0 methods
249 2004-08-09  Sebastien Pouliot  <sebastien@ximian.com>
251         * ApplicationId.cs: Fixed typo to fix NET_2_0 compilation.
252         * AppDomain.cs: Fixed use of Evidence and AppDomainSetup (copies, not
253         references). Added (non-obsolete) Fx 2.0 properties and methods.
254         * AppDomainSetup.cs: Added internal copy constructor.
255         * DomainManagerInitializationFlags.cs: Fixed values.
257 2004-08-08  Sebastien Pouliot  <sebastien@ximian.com>
259         * AppDomainInitializer.cs: New Fx 2.0 class for AppDomain.
260         * AppDomainManager.cs: New Fx 2.0 class for AppDomain.
261         * ApplicationActivator.cs: New Fx 2.0 class for AppDomain.
262         * ApplicationId.cs: New Fx 2.0 class.
263         * ApplicationIdentity.cs: Fixed ToString.
264         * DomainManagerInitializationFlags.cs: New Fx 2.0 flags for AppDomain.
266 2004-08-05  Sebastien Pouliot  <sebastien@ximian.com>
268         * AppDomain.cs: Added a new icall, getDomainByID, to get the an 
269         AppDomain using it's Id. Completed SetAppDomainPolicy.
270         * Environment.cs: Bumped mono_corlib_version to 23.
272 2004-08-02  Martin Baulig  <martin@ximian.com>
274         * DateTime.cs, TimeSpan.cs, Guid.cs, Version.cs: Implement IComparable<T>.
276 2004-07-29  Atsushi Enomoto  <atsushi@ximian.com>
278         * Environment.cs : GacPath on windows is based on mscorlib.dll, and
279           now its location is changed.
281 2004-07-21  Lluis Sanchez Gual  <lluis@novell.com>
283         * Environment.cs: Return the MS.NET 2.0 beta1 runtime version for the
284           NET_2_0 profile.
285         
286 2004-07-18  Martin Baulig  <martin@ximian.com>
288         * Array.cs: Ben Maurer implemented all the new generic methods
289         here :-)
291 2004-07-17  Martin Baulig  <martin@ximian.com>
293         * Decimal.cs: Implement IComparable<Decimal>.
295 2004-07-17  Martin Baulig  <martin@ximian.com>
297         * Byte.cs, Int16.cs, Int32.cs, Int64.cs, SByte.cs, String.cs,
298         UInt16.cs, UInt32.cs, UInt64.cs: Implement IComparable<T>.      
300 2004-07-13  Sebastien Pouliot  <sebastien@ximian.com>
302         * ActivationContext.cs: New class in Fx 2.0. Required for 
303         System.Security.Policy.
304         * ApplicationIdentity.cs: New class in Fx 2.0. Required for 
305         System.Security.Policy.
306         * IApplicationDescription.cs: New interface in Fx 2.0. Required for 
307         System.Security.Policy.
308         * IHostContext.cs: New interface in Fx 2.0. Required for 
309         System.Security.Policy.
311 2004-07-12  Geoff Norton <gnorton@customerdna.com>
313         * DateTime.cs: Patch for bug #61112.  Our DateTime wasn't roundtripping over timezone
314           boundaries properly.  This patch checkes ToLocalTime() to see if we're tripping over a boundary
315           and will add/subtract the hour if needed
317 2004-07-07  Geoff Norton <gnorton@customerdna.com>
319         * Monotype.cs: Patch for bug #58844.  Dont throw exceptions right away;
320           pass through all the possibly BindingInfo's and keep a bool value as to the type
321           of exception we might need to throw;
323 2004-07-07  Geoff Norton <gnorton@customerdna.com>
325         * Patch to fix bug #58973
327 2004-07-02  Jackson Harper  <jackson@ximian.com>
329         * PlatformID.cs: New 2.0 values.
330         
331 2004-06-25  Ben Maurer <bmaurer@ximian.com>
332         
333         * Environment.cs: GetFolderPath has new behavior. r=miguel
335 2004-06-23  Sebastien Pouliot  <sebastien@ximian.com>
337         * DateTime.cs: Throw ArgumentOutOfRangeException if the year is
338         bigger than 9999. Fix bug #41845.
339         * FloatingPointFormatter.cs: Applied correction from Jon Skeet on
340         the "R"eversible format for negative numbers.
342 2004-06-21  Jackson Harper  <jackson@ximian.com>
344         * Decimal.cs: Make sure to use invariant culture when parsing
345         floats stringified with the invariant culture. Patch by Rodrigo
346         B. de Oliveira.
347         
348 2004-06-19  Atsushi Enomoto  <atsushi@ximian.com>
350         * FloatingPointFormatter.cs : Literal string should be kept in the
351           output.
353 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
355         * DateTime.cs : Concatenating whitespace removal was not working fine.
356           Modified FormatException message (1 cent kindness).
358 2004-06-18  Ben Maurer  <bmaurer@ximian.com>
359         
360         * Action.cs, ArraySegment.cs, Comparison.cs, Converter.cs, Predicate.cs:
361         new generics classes
362         * IComparable.cs: add the new <T> version.
363         * EventHandler.cs: new <T> version.
364         
365 2004-06-18  Dick Porter  <dick@ximian.com>
367         * String.cs: The icall can cope with embedded \0 now.
369 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
371         * DateTime.cs :
372           - Added new common pattern "yyyy/M/dZ"
373           - empty string should not be compared in _ParseEnum()
374           - Use culture independent string comparison in _ParseString()
375           - Whitespace removal should be checked after '..' token check (some
376             pattern such like es-ES LongDatePattern contains spaces in '..').
377           - formats null check should be done (to throw ArgumentNullException)
378             in ParseExact().
379           - When specified one character format, dates are incorrectly regarded
380             as to use invariant culture.
382 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
384         * ArgIterator.cs: changed layout to Auto
385         * DateTime.cs: changed layout to Auto
387 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
389         * DateTime.cs: CRLF to LF
391 2004-06-17  Sebastien Pouliot  <sebastien@ximian.com>
393         * Decimal.cs: Fixed regression in System.Data caused by the recent 
394         changes. Adapted (and moved) the code to correct the scale from 
395         SqlMoney. Removed unused (and unusable) IsOne and fixed IsZero (where
396         scale has no importance).
398 2004-06-17  Lluis Sanchez Gual  <lluis@ximian.com>
400         * Activator.cs: In CreateInstance(), use Public|Instance if access binding
401           attributes are omitted.
403 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
405         * DateTime.cs : GetDateTimeFormats(char, IFormatProvider) should also
406           check if the format character is valid.
408 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
410         * DateTime.cs : AddDays(double) rounds the input.
412 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
414         * DateTime.cs : Incorrect maxvalue comparison in ToUniversalTime().
415           Fixed ToLocalTime() as well, but it does check range for MinValue.
417 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
419         * DateTime.cs : Added overflow check in ToUniversalTime() and
420           ToLocalTime(). Fixed bug #60253.
422 2004-06-16  Sebastien Pouliot  <sebastien@ximian.com>
424         * FloatingPointFormatter.cs: Implemented "R" format using Jon Skeet
425         source code (with permission). Fix (biggest) part of bug #60110.
426         http://www.yoda.arachsys.com/csharp/floatingpoint.html
428 2004-06-15  Sebastien Pouliot  <sebastien@ximian.com>
430         * Decimal.cs: Fixed scale after Round (a different scale is correct 
431         from a math point of view but affect the string representation of the
432         value). Note: other operations also have scale problems!
433         * DecimalFormatter.cs: Fixed FormatGeneral to match Fx 1.1 output.
434         * FloatingPointFormatter.cs: Fixed ToString which doesn't use banker's
435         rounding (which is the rounding provided by Math.Round). This fix bug
436         #60111. The code (new Round methods) should be moved elsewhere (as it
437         may also be required elsewhere) post Mono 1.0.
439 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
441         * AppDomainSetup.cs: added TODO for serialization
442         * ExecutionEngineException.cs: added missing serialization ctor
443         * InvalidProgramException.cs: added missing serialization ctor
444         * MulticastNotSupportedException.cs: added missing serialization ctor
445         * ObsoleteAttribute.cs: fixed serialization compatibility with MS.NET
446         * Random.cs: fixed serialization compatibility with MS.NET
448 2004-06-15  Paolo Molaro <lupus@ximian.com>
450         * Type.cs: removed unused (and non-existing) icall type_is_instance.
452 2004-06-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
454         * Environment.cs: use internalGetHome instead of getting "HOME" as
455         that variable may not be defined.
457 2004-06-14  Sebastien Pouliot  <sebastien@ximian.com>
459         * TimeSpan.cs: Fixed timespan with large values for hours or minutes
460         (overflow is only checked for days but can also occurs in hours and
461         minutes which uses Int32 when multiplying). The new results match MS
462         implementation.
464 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
466         * FloatingPointFormatter.cs : Recognize '%' and '\u2030' and replace
467           them with matching NumberFormatInfo properties.
469 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
471         * Double.cs : Use IFormatProvider.GetFormat() instead of literal '-'.
472         * FloatingPointFormatter.cs :
473           Use NumberFormatInfo.NegativeSign. This change saves many XSLT test
474           failures.
475           Format Permille pattern (It is undocumented but actually available,
476           and used in xsl:format-number).
478 2004-06-14  Raja R Harinath  <rharinath@novell.com>
480         * Console.cs (Console.Write, Console.WriteLine): Disable __arglist
481         version with BOOTSTRAP_WITH_OLDLIB.
482         * String.cs (STring.Concat): Likewise.
484 2004-06-13  Atsushi Enomoto  <atsushi@ximian.com>
486         * FloatingPointFormatter.cs :
487           - Don't format more than 15 fraction digits. Don't report to Pedro
488             directly (removing the error message with his concent).
489           - When format string starts with '.', it means integral part format 
490             is not specified. Ignore '.' characters after the first
491             appearance. Fixed bug #59890.
492           - 0.0 is formatted only before the third ';' appearance.
494 2004-06-11  Sebastien Pouliot  <sebastien@ximian.com>
496         * DateTime.cs: Added a AddRoundedMilliseconds which use the "old Mono"
497         rounding logic which worked for FromOADate (while the newer didn't).
498         * TimeSpan.cs: Now throw an OverflowException when the timespan is
499         over MaxValue or under MinValue.
501 2004-06-11  Martin Baulig  <martin@ximian.com>
503         * Console.cs (Write, WriteLine): Implemented the varargs versions.
505 2004-06-11  Martin Baulig  <martin@ximian.com>
507         * String.cs (Concat): Implemented the varargs version.
509 2004-06-10  Sebastien Pouliot  <sebastien@ximian.com>
511         * Decimal.cs: Hacked the Parse method to allow the runtime C code to
512         decode it properly (i.e. matching MS results). Fixed the Round method
513         for negative decimal numbers (moved code from Math.cs).
514         * Math.cs: Now use Decimal class for Round(Decimal,int). Required to
515         fix a bug when rounding a negative decimal.
517 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
519         * AppDomain.cs: set the _principal to null when changing the policy.
520         * Console.cs: remove ClsCompliant attribute from a method marked as
521         internal and added comment.
523 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
525         * Delegate.cs: marked protected fields private to match public
526         API of MS.NET, marked DynamicInvokeImpl and GetMethodImpl
527         protected to fix public API
528         * Enum.cs: marked ctor protected to match public API of MS.NET
529         * MulticastDelegate.cs: marked DynamicInvokeImpl protected to
530         match public API of MS.NET
532 2004-06-10  Atsushi Enomoto  <atsushi@ximian.com>
534         * DateTime.cs : Added more common patterns.
536 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
538         * Decimal.cs: Fixed banker rounding by calling Math.Round. This won't
539         be a performance winner (the actual Math code has a note to wait a
540         better Decimal implementation) but it returns the correct results
541         (without adding new code in corlib or the runtime). Fix #37744.
543 2004-06-09  Atsushi Enomoto  <atsushi@ximian.com>
545         * DateTime.cs :
546           - A bunch of fixes (patch by Steven Brown). Fraction seconds are 
547             now represented as double. Strict token check for 'Z'.
548           - Pattern validity check in GetDateTimeFormats(char).
549           - Fixed pattern "yyyy/M/d HH:mm:ss".
551 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
553         * Decimal.cs: Fixed remainder (and optimized some cases not to call 
554         unmanaged code). Simplified divide. Removed workaround for bug #59793.
555         Fixed GetHashCode to return different result for X and -X.
557 2004-06-08  Atsushi Enomoto  <atsushi@ximian.com>
559         * DateTime.cs :
560           - Now re-checked all common format patterns. They should be tried
561             with both current culture and invariant culture. Since '/' covers
562             '-', removed extraneous patterns. Added more common patterns
563             such as "yyyy-MM-dd" and X509Certificate pattern (it is valid
564             only after NET_1_1). Commented out 1 character format patterns.
565           - The format patterns we should try should not be obtained by
566             GetAllDateTimePatterns(). Just use 'd', 'D', 't', 'T', ... (one
567             character patterns), to handle UTC correctly. Examined patterns
568             are changed, to 1) common patterns with specified (or current)
569             culture, 2) common patterns with invariant, 3) The above "one
570             character patterns" with specified (or current) culture.
571           - When trying to parse some kind of patterns such as RFC1123, 
572             always use invariant DateTimeFormatInfo so that they can avoid
573             parsing with culture-dependent calendar.
574           - Check "GMT" only when doing Parse(). Don't it when ParseExact().
575           - Removed extraneous '-' case. It is not special one.
576           - When ParseExact(), allow only '/' for '/' pattern character.
577           - When Parse(), allow any non-letter & non-number characters.
578           - When pattern is not fully parsed, reject that format.
579           - Added "exact" parameter to some ParseExact().
580           - RFC1123 pattern is (again) now parsed in local time. I regressed
581             some problems in previous fix.
583 2004-06-08  Sebastien Pouliot  <sebastien@ximian.com>
585         * Decimal.cs: Fixed cast to integer types to truncate (not round) the
586         value.
588 2004-06-07  Duncan Mak  <duncan@ximian.com>
590         * Exception.cs (Source): This can return null.
592 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
594         * DateTime.cs: Fixed FromFileTime for negative values. Fixed 
595         constructor to limit range of milliseconds from 0,999. Fixed
596         ToType method to work for object, string and DateTime.
598 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
600         * DateTime.cs: Fixed OLE Automation date conversions: timezone 
601         insensitive, wrong exception in FromOADate, handling of Min/Max 
602         values, negative doubles where integer part is negative but 
603         decimals are positive! Charming format ;-)
605 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
607         * String.cs: Fixed Join in case separator parameter is null.
608         * TimeSpan.cs: Cache format errors during parsing and throw 
609         FormatException only if there was no overflow.
611 2004-06-06  Gert Driesen <drieseng@users.sourceforge.net>
613         * MonoCustomAttrs.cs: fixed issue where an empty array was 
614         returned when GetCustomAttributes was invoked with null
615         attribute type and there was only one result
617 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
619         * Decimal.cs: Fixed ToString(String.Empty) to default ("G").
620         * Int16.cs: Fixed ToString(String.Empty) to default ("G").
621         * Int32.cs: Fixed ToString(String.Empty) to default ("G").
622         * Int64.cs: Fixed ToString(String.Empty) to default ("G").
623         * SByte.cs: Fixed ToString(String.Empty) to default ("G").
624         * UInt16.cs: Fixed ToString(String.Empty) to default ("G").
625         * UInt32.cs: Fixed ToString(String.Empty) to default ("G").
626         * UInt64.cs: Fixed ToString(String.Empty) to default ("G").
628 2004-06-05  Sebastien Pouliot  <sebastien@ximian.com>
630         * Convert.cs: Fixed the convertion of negative integers (byte, short, 
631         int and long) into string in a specific base (2, 8, 10 or 16).
633 2004-06-04  Sebastien Pouliot  <sebastien@ximian.com>
635         * Math.cs: Fixed IEEERemainder to return -0 (0x8000000000000000) when
636         the dividend is negative and the result is 0 (remainder).
638 2004-06-03  Sebastien Pouliot  <sebastien@ximian.com>
640         * Delegate.cs: Fix the NullReferenceException in Combine(Delegate[]).
642 2004-06-02  Sebastien Pouliot  <sebastien@ximian.com>
644         * TimeSpan.cs: Fixed overflow issues when delaing with big (days) time
645         spans. Fixed parsing when only days are presents in the string (which
646         should be illegal according to the documentation but is supported).
648 2004-06-01  Sebastien Pouliot  <sebastien@ximian.com>
650         * TimeSpan.cs: Fixed exceptions in FromXXX methods as they are 
651         somewhat different from the documentation.
653 2004-06-01  Gert Driesen <drieseng@users.sourceforge.net>
655         * Type.cs: added missing attributes on InvokeMember
657 2004-06-01  Miguel de Icaza  <miguel@ximian.com>
659         * String.cs: Flag concat with four arguments internal. 
661 2004-05-31  Sebastien Pouliot  <sebastien@ximian.com>
663         * Array.cs: Fixed legal case where value is null.
664         * Byte.cs: Fixed ToString when format is an empty string (use "G").
665         * Guid.cs: Renamed private fields (and changed some to signed) to 
666         match MS implementation and allow serialization to work. Fix 
667         bug #59113.
669 2004-05-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
671         * DateTime.cs: adjust milliseconds for fraction specifier ('f').
673 2004-05-30  Miguel de Icaza  <miguel@ximian.com>
675         * Console.cs: Remove *again* the version of WriteLine with four
676         arguments;  That should *not* be added.  
678         Flag it as internal as people migrate their code.
680 2004-05-29  Sebastien Pouliot  <sebastien@ximian.com>
682         * Convert.cs: Fixed ToSByte(string,IFormatProvider) to throw 
683         ArgumentNullException (only case, all other returns 0). Fixed exception
684         reporting for hex prefix only strings. Fixed ChangeTo where null could
685         be misinterpreted between null and Empty.
687 2004-05-28  Sebastien Pouliot  <sebastien@ximian.com>
689         * Convert.cs: Fixed integer parsing for special cases (0x, 0X for base
690         16), non-base 10 negative numbers ... see new unit tests. Fixed the 
691         case when we parse Int64.MinValue (positive doesn't fit a signed long).
693 2004-05-28  Jackson Harper  <jackson@ximian.com>
695         * Environment.cs: Increment version number.
696         
697 2004-05-28  Zoltan Varga  <vargaz@freemail.hu>
699         * AppDomain.cs (Load): Try loading from assemblyRef.CodeBase if exists.
700         Fixes #59189.
702 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
704         * DateTime.cs : I reverted my fix by accident :(
706 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
708         * DateTime.cs :
709           - In ToString(), Don't use culture-dependent daynames to format
710             Universal/RFC1123 date/time. Also, use FullDateTimePattern for 'U'.
711           - Fixed GetDateTimeFormats () that generated incorrect 'U' value 
712             (since the format string is the same as 'F').
714 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
716         * DateTime.cs : don't adjust utc value in ToString(). It must output
717           the same time value, just adding 'Z' for UTC.
719 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
721         * DateTime.cs : in 'Z' case, remove the 'Z' char from input before
722           proceeding.
724 2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
726         * AppDomainSetup.cs: InitAppDomainSetup is not needed now.
728 2004-05-27  Sebastien Pouliot  <sebastien@ximian.com>
730         * Byte.cs: Fixed parsing for "-0" which is valid for unsigned types.
731         * Convert.cs: Convert with a base parameter cannot parse negative 
732         string numbers, even "-0".
733         * UInt16.cs: Fixed parsing for "-0" which is valid for unsigned types.
734         * UInt32.cs: Fixed parsing for "-0" which is valid for unsigned types.
735         * UInt64.cs: Fixed parsing for "-0" which is valid for unsigned types.
737 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
739         * DateTime.cs : 
740           - Added "yyyy/MM/dd HH:mm:ss 'GMT'" and "yyyy-MM-dd HH:mm:ss 'GMT'"
741             to common formats (yes, I know it is nothing more than hack)
742           - Fixed some GetDateTimeFormats() that just returned patterns.
743           - For InvariantCulture, now try both supported formats and our
744             predefined formats.
745           - It was accepting incorrectly extraneous characters. That caused
746             some UTC/non-UTC bug.
747           - RFC1123 string should return universal time. Uncomment again (the
748             problem should went away because of the extra characters fix above.
750             With some of the changes above, fixed bug #47720.
752 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
754         * DateTime.cs : quick revert 'Z' support for certificate verifications.
756 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
758         * Array.cs: Removed duplicate condition if LastIndexOf.
760 2004-05-26  Atsushi Enomoto <atsushi@ximian.com>
762         * DateTime.cs :
763           - Added "yyyy-MM-dd HH:mm:ss" to "compatible patterns".
764             (Fixed bug #58938.)
765           - As a quick remedy to accept more patterns, Parse() now also tries
766             InvariantInfo patterns (this is because we have no more than one
767             pattern for each pattern component.)
768           - In _DoParse(), 'Z' should not be read as timezone specifier. Some
769             culture uses 'Z' as AM/PM designer, and it should be recognized as
770             part of the UTCpattern (if it actually UTC pattern for the culture
771             contains 'Z').
773 2004-05-26  Gert Driesen (drieseng@users.sourceforge.net)
775         * MonoCustomAttrs.cs: Fixed issue with AllowMultiple, as MS
776         seems to allow multiple attributes with AllowMultiple at
777         runtime.
779 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
781         * Byte.cs: Throw an OverflowException for negative numbers.
782         * Convert.cs: Accept 0x and 0X as prefix when parsing base16 strings.
783         * Environment.cs: Bumped mono_corlib_version to 20 (rng interface).
785 2004-05-25  Sebastien Pouliot  <sebastien@ximian.com>
787         * Array.cs: Fixed possible integer overflow.
788         * BitConverter.cs: Fixed a possible integer overflow in ToString.
789         * Guid.cs: Added an internal method to create a random Guid without
790         using CryptoConfig (which is heavy on first use). This is only used
791         in S.R.E.ModuleBuilder to speedup MCS compilation.
792         * String.cs: Fixed reported exception for PadLeft|Right. Fixed 
793         possible integer overflow in methods that takes index and count
794         as parameters.
796 2004-05-25  Zoltan Varga  <vargaz@freemail.hu>
798         * String.cs: Add new Strcpy icalls which take a char array as 
799         parameter.
801 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
803         * DateTime.cs : added more invariant format patterns. This should
804           really fix bug #57656.
806 2004-05-25 14:14 CET Patrik Torstensson <totte@hiddenpeaks.com>
808         * BitConverter.cs (ToBoolean): Return true or false instead
809         of unsafe returing byte as bool. Fixes bug #58874.
811 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
813         * DateTime.cs : In ToString(string, IFormatProvider), use "G" if
814           string format argument is null.
816 2004-05-25  Lluis Sanchez Gual  <lluis@ximian.com>
818         * Version.cs: Rename of data fields to match those in Microsoft.NET.
819           Patch by PAF@design.ru.
821 2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
823         * DateTime.cs: allow double quotes in the formats. Don't set
824         next_not_digit to true in presence of single or double quotes. Patch by
825         Martin Probst.
827 2004-05-24  Zoltan Varga  <vargaz@freemail.hu>
829         * AppDomainSetup.cs (InitAppDomainSetup): This one returns void.
831 2004-05-23  Sebastien Pouliot  <sebastien@ximian.com>
833         * Array.cs: Fixed exception when we try to Clear outside bounds.
834         * Boolean.cs: Fixed Equals for True!=True (see bugzilla #58874).
835         * BitConverter.cs: Fixed negative index and integer overflow in
836         To... methods.
837         * Buffer.cs: Fixed integer overflow in BlockCopy.
839 2004-05-22  Sebastien Pouliot  <sebastien@ximian.com>
841         * Array.cs: Clear can now work on multidimentional arrays.
842         * IntPtr.cs: We now only accept 32bits values in the long constructor
843         unless we're on a 64 bits machine.
844         * UIntPtr.cs: We now only accept 32bits unsigned values in the ulong 
845         constructor unless we're on a 64 bits machine.
847 2004-05-22  Duncan Mak  <duncan@ximian.com>
849         * Convert.cs: The file was mostly in DOS endings already, for the
850         sake of consistency, converted it all to DOS endings.
851         (ToType): When value is null, immediately return null and don't
852         ever throw a NullReferenceException. When conversionType is null,
853         throw an InvalidCastException. Give a better error message when
854         attempting to convert to a DBNull as well.
856 2004-05-21  Sebastien Pouliot  <sebastien@ximian.com>
858         * Decimal.cs: Fixed To... methods that needs to trunk the integer part
859         of Decimal (and not use the banker's rounding like Convert.To...).
860         * Single.cs: Fixed CompareTo and Equals (copied fix from Double) wrt
861         to NaN compares (see new unit tests).
863 2004-05-20  Sebastien Pouliot  <sebastien@ximian.com>
865         * Convert.cs: Added checks for integer overflow for From|ToBase64Char.
866         Also fixed the case where wide (16 bits) characters were converted to 
867         bytes.
869 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
871         * ThreadStaticAttribute.cs
872         * ContextStaticAttribute.cs
873         * FlagsAttribute.cs
874         * ObsoleteAttribute.cs : now that Inherited is false by
875         default on AttributeUsageAttribute (as it should be) we
876         need to explicitly set Inherited to false for those
877         attributes should it be be false.
879 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
881         * AttributeUsageAttribute.cs: Inherited property should be
882         true by defaultrs.cs: respect Inherited property, and
884 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
886         * MonoCustomAttrs.cs: respect Inherited property, and
887         AllowMultiple property of a CustomAttribute. This fixes
888         a major issue we had with respect to custom attributes.
890 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
892         * MonoType.cs: throw ArgumentNullException when type parameter in
893         GetCustomAttributes(Type, bool) is null
895 2004-05-18  Sebastien Pouliot  <sebastien@ximian.com>
897         * Buffer.cs: Added checks for null source and destination. Fix failing
898         CryptoStream unit test.
899         * Guid.cs: Fixed thread-safety issue. Simplified implementation to use
900         pseudo-random numbers to generate GUIDs (as per section 3.4 of the 
901         spec). This removes the TODO to get the computer MAC address and
902         the chances to get a duplicate GUID (across different machines).
904 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
906         * TimeSpan.cs: Only catch expected exceptions, if we get other exceptions
907           than OverflowExceptions then something went wrong internally
909 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
911         * Char.cs: Fix long standing bug with ToLower/ToUpper not being
912           culture - sensitive
914 2004-05-14  Zoltan Varga  <vargaz@freemail.hu>
916         * Buffer.cs: Optimize BlockCopy.
918         * Environment.cs: Bump corlib version.
920 2004-05-14  Atsushi Enomoto <atsushi@ximian.com>
922         * __ComObject.cs : This class is not regarded as CLSCompliant by csc.
923           See also bug #58478.
925 2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
927         * AppDomainSetup.cs: don't throw an exception if dynamic_base has not
928         been set. Just return null as MS. Fixes bug #58120.
930 2004-05-14  Marek Safar  <marek.safar@seznam.cz>
932         * Boolean.cs, Byte.cs, Char.cs, DBNull.cs, DateTime.cs,
933           Decimal.cs, Double.cs, Enum.cs, Int16.cs, Int32.cs,
934           Int64.cs, IntegerFormatter.cs, SByte.cs, Single.cs,
935           String.cs, UInt16.cs, UInt32.cs, UInt64.cs: Removed
936           useless [CLSCompliant (false)]
939 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
941         * __ComObject.cs: To please corcompare (no implementation).
943 2004-05-13  Zoltan Varga  <vargaz@freemail.hu>
945         * Environment.cs: Bump corlib version.
947 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
949         * Environement.cs: Removed two security attributes for CurrentDirectory
950         that weren't documented (and anyway we don't support them).
952 2004-05-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
954         * Char.cs: Fix exceptions
956 2004-05-11  Lluis Sanchez Gual  <lluis@ximian.com>
958         * MissingMemberException.cs: Fix in serialization constructor.
960 2004-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
962         * Environment.cs: GetGacPath return value is resolved at runtime on
963         windows.
965 2004-05-07  Sebastien Pouliot  <sebastien@ximian.com>
967         * Convert.cs: ToBase64CharArray method was depending on a bug in 
968         S.S.C.ToBase64Transform class to work. Added an internal method to 
969         provide the same functionality (multiple block processing).
971 2004-05-06  Jackson Harper  <jackson@ximian.com>
973         * Environment.cs: Make $HOME the personal directory.
975 2004-05-06  Sebastien Pouliot  <sebastien@ximian.com>
977         * Convert.cs: ToBase64String method was depending on a bug in 
978         S.S.C.ToBase64Transform class to work. Added an internal method to 
979         provide the same functionality (multiple block processing).
981 2004-05-05  Sebastien Pouliot  <sebastien@ximian.com>
983         * Environment.cs: Completed OSVersion property.
984         * Version.cs: Added internal CreateFromString() to "try" to build the
985         best version number form the specified string.
987 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
989         * TimeSpan.cs: Redid a lot of stuff in TimeSpan from scratch.
990           Fixes several potential bugs and makes things way faster.
992 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
994         * TimeSpan.cs: Formatting changes
996 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
998         * Activator.cs: change _flags to a const.
999         * IntegerFormatter.cs: make tables readonly.
1000         * Convert.cs: tables readonly
1001         * DateTime.cs: ditto.
1002         * IntPtr.cs: avoid a cctor.
1004 2004-04-29  Jackson Harper  <jackson@ximian.com>
1006         * MonoType.cs: 
1007         * Type.cs: NET_2_0 now instead of 1_2. 
1008         
1009 2004-04-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1011         * Environment.cs: implemented GetLogicalDrives.
1013 2004-04-28  Miguel de Icaza  <miguel@ximian.com>
1015         * Applied patch from Atsushi Enomoto that allows Synchronized
1016         writers to have a `dont close' flag, this fixes 52094
1018 2004-04-29  Lluis Sanchez Gual  <lluis@ximian.com>
1020         * MonoCustomAttrs.cs, MonoType.cs: Property.GetGetMethod() does not
1021         return the method if it is private (it did until now because of a
1022         bug). Make sure it works as it worked before the fix.
1023         * Type.cs: Implemented FilterAttribute delegate.
1025 2004-04-28  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1027         * IntegerFormatter.cs: Prevent the use of the explicit static constuctor
1029 2004-04-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1031         * IntegerFormatter.cs: Made functions internal (needed by other patches)
1033 2004-04-27  Lluis Sanchez Gual  <lluis@ximian.com>
1035         * DateTime.cs: TODO cleaning.
1036         * Delegate.cs: GetObjectData should be virtual.
1037         * IntegerFormatter.cs: Method factorization. I don't want to fix bugs in
1038           30 methods almost identical.
1039         * MulticastDelegate.cs: Implemented GetObjectData.
1040         
1041 2004-04-26  Jackson Harper  <jackson@ximian.com>
1043         * Environment.cs: Things going bump in the night.
1045 2004-04-25  Miguel de Icaza  <miguel@ximian.com>
1047         * Convert.cs (toBase64Transform): Make private.
1049 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1051         * Convert.cs:
1052         * Decimal.cs:
1053         * DecimalFormatter.cs:
1054         * FloatingPointFormatter.cs: Call invariant Char functions
1055         * Guid.cs: Call invariant Char and String functions
1056         * String.cs: Call invariant Char functions
1058 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1060         * String.cs: Refactored the Invariant ToXXX into its own internal methods
1061           so they are directly callable within corlib (can prevent early
1062           construction of CultureInfo, InvariantCulture and related classes)
1064 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1066         * String.cs: Managed impl. of Invariant parts of ToLower, ToUpper
1067         * Char.cs: Managed impl. of Invariant parts of ToLower, ToUpper
1069 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1071         * String.cs: Check for null values
1073 2004-04-23  Peter Bartok <pbartok@novell.com>
1075         * Environment.cs: GetLogicalDrives now returns "/" instead of null. Gonzalo
1076           will do a better fix in the future, but this way apps can at least use it.
1078 2004-04-23  Sebastien Pouliot  <sebastien@ximian.com>
1080         * Environment.cs: Better support for GetFolderPath (same results as MS 
1081           on Windows).
1083 2004-04-22  Lluis Sanchez Gual  <lluis@ximian.com>
1085         * Activator.cs: Removed TODOs for finished methods.
1086         * AppDomainSetup.cs: When setting a relative path to ApplicationBase, it
1087           must be relative to the current directory, not the temp directory.
1088           Implemented DynamicBase.
1089         * Convert.cs: No need to create a ToBase64Transform instance at every call
1090           to ToBase64CharArray.
1091         * DateTime.cs: Implemented missing methods FromFileTimeUtc and 
1092           ToFileTimeUtc.
1093         * Decimal.cs: Implemented FromOACurrency and ToOACurrency.
1094         * Delegate.cs: Removed class TODO.
1095         * IntegerFormatter.cs: Use Char.IsLetter and Char.IsDigit instead of ad-hoc
1096           methods.
1097         * Type.cs: Removed TODOs for things already implemented.
1098         
1099 2004-04-21  Lluis Sanchez Gual  <lluis@ximian.com>
1101         * Char.cs: Implemented culture-dependent ToLower and ToUpper methods.
1102         * MulticastDelegate.cs: Removed unused code.
1104 2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>
1106         * AppDomain.cs: Implemented DynamicDirectory and SetDynamicBase.
1107         * Array.cs: Removed some TODOs in CreateInstance and IndexOf.
1108         * BadImageFormatException.cs: TODO reformat.
1109         * DateTime.cs: Implemented GetDateTimeFormats and GetDateTimeFormats.
1110         * DelegateSerializationHolder.cs: Made class internal.
1111         * Enum.cs: Removed TODO for localization, since this is something that has
1112           to be done for all classes.
1113         * Environment.cs: Removed TODO.
1114         * Exception.cs: Changed ToString to use StringBuilder.
1115         * MonoDummy.cs: Made class internal.
1116         * UnitySerializationHolder.cs: Added support for modules.
1118 2004-04-16  David Sheldon <dave-mono@earth.li>
1120         * DecimalFormatter.cs: Don't append a decimal point after the
1121           end of a number. ((decimal)1).ToString("P0") should be "100 %", not
1122           "100. %"
1124 2004-04-09  Miguel de Icaza  <miguel@ximian.com>
1126         * OutOfMemoryException.cs: Removed the call to Locale.GetText from
1127           this.
1129 2004-04-10  Gert Driesen (drieseng@users.sourceforge.net)
1131         * MonoDummy.cs: added MonoTODO to make sure we remove this class
1132           when its no longer needed
1134 2004-04-09  David Sheldon <dave-mono@earth.li>
1136         * Convert.cs: Allow + signs in strings for ToInt32, and
1137           - if it is base 10.
1139 2004-04-08  Atsushi Enomoto  <atsushi@ximian.com>
1141         * Nullable.cs : usingdecl should also be conditional.
1143 2004-04-07  Martin Baulig  <martin@ximian.com>
1145         * Nullable.cs: New file.
1147 2004-04-07  Martin Baulig  <martin@ximian.com>
1149         * Type.cs (Type.GetGenericArguments): Make this abstract.
1151 2004-04-07  Jackson Harper  <jackson@ximian.com>
1153         * Environment.cs: Increase corlib version number.
1154         
1155 2004-04-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1157         * Environment.cs:
1158         (ExpandEnvironmentVariables): on windows, env. vars. are case
1159         insensitive.
1161 2004-04-06  Sebastien Pouliot  <sebastien@ximian.com>
1163         * AppDomain.cs: Added static to [ThreadStatic] _principal field. 
1164         Removed [ThreadStatic] for _principalPolicy (not required).
1166 2004-04-06  Miguel de Icaza  <miguel@ximian.com>
1168         * Guid.cs: Flag as Sequential.
1170 2004-04-02  Dick Porter  <dick@ximian.com>
1172         * String.cs: More sanity checks in Replace().  Fixes bug 55822.
1174 2004-04-02  Sebastien Pouliot  <sebastien@ximian.com>
1176         * Environment.cs: Implement ExpandEnvironmentVariables static method.
1177         Now call the runtime to get the username (fix #56144).
1179 2004-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1181         * MonoType.cs: AssemblyQualifiedName now displays culture, version...
1182         Fixes bug #56341.
1184 2004-03-29  Miguel de Icaza  <miguel@ximian.com>
1186         * Console.cs: If we fail to open stdin/stdout/stderr, create
1187         readers with a NullStream.  This can happen if our caller does not
1188         setup stdin/stoud/stderr file handles.  #56158 exposed this, but
1189         it will happen elsewhere.
1191 2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>
1193         * Convert.cs: In ToSingle(double), removed checks for Single.MaxValue
1194         and Single.MinValue. MS.NET don't do it. This fixes bug #56005.
1195         * Guid.cs: Added support for guid strings in the "N" and "P" formats in
1196           the constructor. This fixes bug #54019.
1198 2004-03-23  Lluis Sanchez Gual <lluis@ximian.com>
1200         * FloatingPointFormatter.cs: Made the class thread safe. Had to move some
1201           internal variables to structures that are moved around methods.
1202           Factorized some common formatting code into FormatNumberInternal.
1203           
1204 2004-03-23  Dick Porter  <dick@ximian.com>
1206         * DateTime.cs: Allow any character for DateSeparator when parsing,
1207         except TimeSeparator, a digit or a letter.  Fixes bug 54047.  Also
1208         deleted the previous fix for 54721, because this covers it too.
1209         
1210 2004-03-23  Dick Porter  <dick@ximian.com>
1212         * DateTime.cs: Check the date string for too many digits when
1213         parsing.  Fixes bugs 53023 and 53025.
1215 2004-03-22  Dick Porter  <dick@ximian.com>
1217         * String.cs: Use the provider when converting strings to other
1218         types.
1220         * DateTime.cs: Add MM-dd-yyyy to the list of standard date parsing
1221         formats.  Fixes bug 54721.
1223 2004-03-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1225         * Console.cs: Styled, optimized calls
1226         * CrossAppDomainDelegate.cs: Small header fix
1227         * Buffer.cs: Style, improve errors
1228         * BitConverter.cs: Style, improve errors, remove obsolete comment
1229         * Attribute.cs: Style, improve errors, small fix
1230         * Array.cs: Style, improve errors, small fix, added TODOs
1231         * Activator.cs: Style, localized errors, added error checks
1232         * Byte.cs: Style, localized errors, fixed wrong exception parameters
1233         * Char.cs: Style
1234         * Boolean.cs: Style
1235         * AppDomainSetup.cs: Style
1236         * AppDomain.cs: Style, implemented two methods (redirect)
1238 2004-03-21  Jackson Harper  <jackson@ximian.com>
1240         * FloatingPointFormatter.cs: Set precision from number format info
1241         when it is not specified. This fixes bug #54983.
1242         
1243 2004-03-18  Nick Drochak <ndrochak@ieee.org>
1245         * Math.cs: Use IsNaN() method not "x == NaN".
1247 2004-03-16  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1249         * EntryPointNotFoundException.cs
1250         * DuplicateWaitObjectException.cs
1251         * DllNotFoundException.cs
1252         * DivideByZeroException.cs
1253         * ContextMarshalException.cs
1254         * CannotUnloadAppDomainException.cs
1255         * BadImageFormatException.cs
1256         * ArrayTypeMismatchException.cs
1257         * ArithmeticException.cs
1258         * ArgumentOutOfRangeException.cs
1259         * ArgumentNullException.cs
1260         * ArgumentException.cs
1261         * ApplicationException.cs
1262         * AppDomainUnloadedException.cs: Added missing HResult overrides
1264         * BadImageFormatException.cs: Improved/ Fixed implementation
1266 2004-03-15  Sebastien Pouliot  <sebastien@ximian.com>
1268         * Random.cs: Corrected random value when Next is called with a 
1269         negative value. Testing indictae that our results aren't exactly the 
1270         same as MS, we have a +/- 1 (probably rounding errors due to 
1271         different implementation).
1273 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1275         * Environment.cs: updated corlib version.
1277 2004-03-15  Lluis Sanchez Gual <lluis@ximian.com>
1279         * Boolean.cs, Byte.cs, Char.cs, Double.cs, Int16.cs, Int32.cs, Int64.cs,
1280           SByte.cs, Single.cs, UInt16.cs, UInt32.cs, UInt64.cs: Renamed internal
1281           field "value" to "m_value", so it is interoperable with MS.NET when 
1282           serializing and deserializing data. Based on the patch from Daniel
1283           Keep.
1285 2004-03-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1287         * TypeInitializationException.cs
1288         * SystemException.cs
1289         * StackOverflowException.cs
1290         * RankException.cs
1291         * OverflowExceptionException.cs
1292         * OutOfMemoryException.cs
1293         * NullReferenceException.cs
1294         * NotSupportedException.cs
1295         * NotFiniteNumberException.cs
1296         * InvalidOperationException.cs
1297         * InvalidCastException.cs
1298         * IndexOutOfRangeException.cs
1299         * FormatException.cs
1300         * ExecutionEngineException.cs: improved parameter names
1302 2004-03-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1304         * Enum.cs
1305         * EntryPointNotFoundException.cs
1306         * DuplicateWaitObjectException.cs
1307         * DoubleFormatter.cs
1308         * DllNotFoundException.cs
1309         * DivideByZeroException.cs
1310         * DelegateSerializationHolder.cs
1311         * Delegate.cs
1312         * DBNull.cs
1313         * ContextStaticAttribute.cs
1314         * ContextMarshalException.cs
1315         * ContextBoundObject.cs
1316         * CLSCompliantAttribute.cs
1317         * CharEnumerator.cs
1318         * CannotUnloadAppDomainException.cs
1319         * BadImageFormatException.cs
1320         * AttributeUsageAttribute.cs
1321         * AttributeTargets.cs
1322         * AsyncCallback.cs
1323         * AssemblyLoadEventHandler.cs
1324         * AssemblyLoadEventArgs.cs
1325         * ArrayTypeMismatchException.cs
1326         * ArithmeticException.cs
1327         * ArgumentOutOfRangeException.cs
1328         * ArgumentNullException.cs
1329         * ArgumentException.cs
1330         * ArgIterator.cs
1331         * ApplicationException.cs
1332         * AppDomainUnloadedException.cs
1333         * AppDomain.cs: Mono styled, fixed exceptions/ locales
1334           removed excess usings
1336 2004-03-10  Sebastien Pouliot  <sebastien@ximian.com>
1338         * Convert.cs: FromBase64 now ignore some characters (tab, LF, CR and
1339         spaces) which fixed #54939. Changed the way that the length is 
1340         validated (multiple of 4) because the ignored characters must not be
1341         included in the count.
1343 2004-03-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1345         * String.cs: Monostyled
1347 2004-03-09  Jackson Harper  <jackson@ximian.com>
1349         * Char.cs: Only use a byte for numeric data.
1350         
1351 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1353         * TypedReference.cs: Added missing Attributes
1354         * ParamArrayAttribute.cs: Small style fix
1355         * OperatingSystem.cs: Added .Net 1.1 member
1357 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1359         * FieldAccessException.cs
1360         * FormatException.cs
1361         * InvalidCastException.cs
1362         * InvalidOperationException.cs
1363         * MemberAccessException.cs
1364         * MethodAccessException.cs
1365         * MissingFieldException.cs: Locale strings
1366         * MissingMemberException.cs: Locale strings
1367         * MissingMethodException.cs: Locale strings
1368         * NotFiniteNumberException.cs
1369         * NotImplementedException.cs
1370         * NotSupportedException.cs
1371         * NullReferenceException.cs
1372         * ObjectDisposedException.cs
1373         * OutOfMemoryException.cs
1374         * OverflowExceptionException.cs
1375         * PlatformNotSupportedException.cs
1376         * RankException.cs: Added missing HResult overrides
1378 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1380         * RuntimeTypeHandle.cs
1381         * RuntimeMethodHandle.cs
1382         * RuntimeFieldHandle.cs: Implemented serialization (partially untested)
1384 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1386         * EventArgs.cs
1387         * Exception.cs
1388         * ExecutionEngineException.cs
1389         * FieldAccessException.cs
1390         * FormatException.cs
1391         * GC.cs
1392         * Guid.cs
1393         * IndexOutOfRangeException.cs
1394         * IntPtr.cs
1395         * InvalidCastException.cs
1396         * InvalidOperationException.cs
1397         * InvalidProgramException.cs
1398         * IServiceProvider.cs
1399         * LoaderOptimization.cs
1400         * LoaderOptimizationAttribute.cs
1401         * MarshalByRefObject.cs
1402         * Math.cs
1403         * MemberAccessException.cs
1404         * MethodAccessException.cs
1405         * MissingFieldException.cs
1406         * MissingMemberException.cs
1407         * MissingMethodException.cs
1408         * MultiCastDelegate.cs
1409         * MulticastNotSupportedException.cs
1410         * NonSerializedAttribute.cs
1411         * NotFiniteNumberException.cs
1412         * NotImplementedException.cs
1413         * NotSupportedException.cs
1414         * NullReferenceException.cs
1415         * ObjectDisposedException.cs
1416         * ObsoleteAttribute.cs
1417         * OperatingSystem.cs
1418         * OutOfMemoryException.cs
1419         * OverflowExceptionException.cs
1420         * PlatformID.cs
1421         * PlatformNotSupportedException.cs
1422         * Random.cs
1423         * RankException.cs
1424         * ResolveEventArgs.cs
1425         * ResolveEventHandler.cs
1426         * RuntimeFieldHandle.cs
1427         * RuntimeMethodHandle.cs
1428         * RuntimeTypeHandle.cs: Mono styled, fixed exceptions/ locales
1429           removed excess usings
1431 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1433         * SystemException.cs: Exceptions set the HResult
1434         * TypeLoadException.cs: Exceptions set the HResult, fixed wrong exception usage
1435         * SByte.cs: Implemented two missing methods, fix wrong parameters for ArgumentNullException
1437 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1439         * TypedReference.cs
1440         * TypeLoadException.cs
1441         * TypeInitializationException.cs
1442         * TypeCode.cs
1443         * TimeZone.cs
1444         * ThreadStaticAttribute.cs
1445         * SystemException.cs
1446         * STAThreadAttribute.cs
1447         * StackOverflowException.cs
1448         * SingleFormatter.cs
1449         * Single.cs
1450         * SerializableAttribute.cs: Mono styled, fixed exceptions/ locales
1451           removed excess usings
1453 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1455         * UnauthorizedAccessException.cs: Exceptions set the HResult
1456         * UInt64.cs: Implemented two missing methods
1457         * UInt32.cs: Fix wrong parameters for ArgumentNullException, simpler convert
1458         * UInt16.cs: Fix wrong parameters for ArgumentNullException, simpler convert
1460 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1462         * WeakReference.cs
1463         * Void.cs
1464         * Version.cs
1465         * ValueType.cs
1466         * UnitySerializationHolder.cs
1467         * UnhandledExceptionEventHandler.cs
1468         * UnauthorizedAccessException.cs
1469         * UIntPtr.cs
1470         * UInt64.cs
1471         * UInt32.cs
1472         * UInt16.cs: Mono styled, Locale.GetText fixes, msg fixes
1474 2004-03-04  Lluis Sanchez Gual <lluis@ximian.com>
1476         * Environment.cs: Bump corlib version.
1478 2004-03-04  Jackson Harper  <jackson@ximian.com>
1480         * Char.cs: New managed implementation. Modified patch by Andreas Nahr.
1481         
1482 2004-02-27  Lluis Sanchez Gual <lluis@ximian.com>
1484         * String.cs: Concat() fixed crash when one of the arguments is an object
1485           whose ToString() method returns null.
1486         * TypeLoadException.cs: Added some serialization fiels, needed for
1487           compatibility with MS.NET.
1489 2004-02-23 Ben Maurer  <bmaurer@users.sourceforge.net>
1491         * String.cs (Equals): Speed up this method by avoiding Array
1492          Bounds Checks and by comparing by 32 bit words rather than 16 bit chars.
1494         This gives between 0x (for 1 char) and >2x (for large strings)
1495         factor of improvement.
1497         A big thanks to Miguel, who suggested the integer compares.
1499 2004-02-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1501         * MonoType.cs: use the binder in GetPropertyImpl.
1503 2004-02-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1505         * Math.cs: MonoStyled, replaced space with tabs,
1506           speedup of some methods by avoiding method calls
1508 2004-02-18  Atsushi Enomoto  <atsushi@ximian.com>
1510         * Char.cs : optimized IsSeparator(), IsWhiteSpace() and IsDigit().
1511           (Moved from InternalCall to Managed code).
1513 2004-02-17  Martin Baulig  <martin@ximian.com>
1515         * MonoType.cs (GetConstructors): Renamed the interncall to
1516         GetConstructors_internal(), made it internal and added a `Type
1517         reflected_type' argument to it.
1518         (GetEvents, GetFields): Likewise.
1519         (GetMethodsByName): Added `Type reflected_type' argument.
1520         (GetPropertiesByName): Likewise.
1522 2004-02-16  Jackson Harper  <jackson@ximian.com>
1524         * FloatingPointFormater.cs: Allow precision to be up to the number
1525         of decimals without rounding.
1526         
1527 2004-02-14  Zoltan Varga  <vargaz@freemail.hu>
1529         * Delegate.cs (Equals): Do not compare method_ptr, since it might
1530         point to a trampoline.
1532 2004-02-12  Jackson Harper  <jackson@ximian.com>
1534         * AppDomainSetup.cs: If relative paths are used they should be
1535         rooted in the temp directory.
1536         
1537 2004-02-11  Marek Safar  <marek.safar@seznam.cz>
1539         * Type.cs (FilterNameIgnoreCase_impl): Added extra check for speedup.
1541 2004-02-10  Zoltan Varga  <vargaz@freemail.hu>
1543         * AppDomain.cs (Load): Check that assemblyRef.Name is not empty, to
1544         avoid an assert in the runtime.
1546 2004-02-08  Duncan Mak  <duncan@ximian.com>
1548         * Convert.cs (ToType): Always let a Convert.ChangeType call
1549         succeed if the source object is already of the destination type.
1551         Patch by Ian MacLean (ianm@activestate.com).
1553 2004-02-05  Sebastien Pouliot  <sebastien@ximian.com>
1555         * AppDomain.cs: Implemented SetPrincipalPolicy and SetThreadPrincipal.
1557 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
1559         * Environment.cs: Bump corlib version.
1561 2004-02-02  Sebastien Pouliot  <sebastien@ximian.ca>
1563         * DateTime.cs: Corrected support for "Z" in the mask (Parse). This
1564         fix bug #53461.
1566 2004-01-27  Sebastien Pouliot  <spouliot@videotron.ca>
1568         * Exception.cs: Changed ToString to remove the \n when no stack trace
1569         is present (which fixed a unit test for SecurityException). Changed
1570         all \n to Environment.NewLine.
1572 2004-01-27  Lluis Sanchez Gual <lluis@ximian.com>
1574         * ContextBoundObject.cs: Removed TODO.
1576 2004-01-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1578         * TimeSpan.cs: fixed bug #52075. Days (int) don't rely on TotalDays
1579         (double), which might round up.
1581 2004-01-19  Jackson Harper <jackson@ximian.com>
1583         * FloatingPointFormatter.cs: Use the default decimal digits count
1584         if they are not specified. This fixes bug #52927.
1585         
1586 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
1588         * Environment.cs: Bump version number.
1590 2004-01-19  Lluis Sanchez Gual  <lluis@ximian.com>
1592         * Type.cs: Added internal call for IsInstanceOfType. The old implementation
1593         uses IsAssignableFrom(o.GetType()), which is not always valid for 
1594         transparent proxies (because GetType will not return the type of the remote
1595         object if its assembly is not present).
1597 2004-01-18  David Sheldon <dave-mono@earth.li>
1599   * FloatingPointFormatter.cs: Skip the decimal point if we have an 
1600     integer mantassa. So: 1E+15, rather than 1.E+15.
1602 2004-01-18  David Sheldon <dave-mono@earth.li>
1604         * Array.cs (GetValue/SetValue): Throw NullRef exception like .NET 1.1, 
1605         even though docs say it should be an ArgumentNull. Two test cases now
1606   pass. See also nickd's commit of 2003-12-24.
1608 2004-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1610         * Environment.cs: increased corlib version.
1612 2004-01-14  Lluis Sanchez Gual <lluis@ximian.com>
1614         * MonoCustomAttrs.cs: Removed attribute cache. Attribute instances can't
1615         be reused because they could be modified. This fixes bug #52655.
1617 2004-01-12  Patrik Torstensson
1619         * Environment.cs: Bump corlib version number due to new StringBuilder
1620         
1621         * String.cs: New internal method to support the new StringBuilder that
1622         uses the string as a buffer (until ToString is called)
1624 2004-01-12  Zoltan Varga  <vargaz@freemail.hu>
1626         * Environment.cs: Bump corlib version number for real this time.
1627         
1628         * AppDomain.cs (LoadAssembly): Pass the assembly name as a string to
1629         the runtime, so it can take into account the Culture etc.
1631         * Environment.cs: Bump corlib version number.
1632         
1633 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1635         * MonoType.cs: GetMethods renamed to GetMethodsByName. It takes a
1636         new parameter with the method name and a boolean for ignoring case.
1637         Removed some string comparisons no longer needed.
1639 2004-01-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1641         * MonoType.cs: GetProperties renamed to GetPropetiesByName. It takes a
1642         new parameter with the property name and a boolean for ignoring case.
1643         Fixes bug #52753.
1645 2004-01-11  David Sheldon <dave-mono@earth.li>
1647         * DateTime.cs: Correct processing of formats with multiple '-'s, fixing
1648         bug 52274.
1650 2004-01-10  Zoltan Varga  <vargaz@freemail.hu>
1652         * AppDomain.cs: Keep track of type resolve and assembly resolve 
1653         events in progress to prevent infinite recursion.
1655 2004-01-06  Miguel de Icaza  <miguel@ximian.com>
1657         * Console.cs: Test for UTF-8 being present anywhere on the
1658         string, also do ToUpper instead of ToLower, which will work even
1659         around the ICU bug with different locales (#52065), and addresses #52101
1661 2004-01-05  Zoltan Varga  <vargaz@freemail.hu>
1663         * Environment.cs: Bump version.
1665 2003-12-24 Ben Maurer  <bmaurer@users.sourceforge.net>
1667         * Type.cs (IsNotPublic): One would normally assume that
1668         IsNotPublic == !IsPublic, but this is not the case (note to MS,
1669         make better names ;-). Fixes #52547, `Type.IsNotPublic not 
1670         correct for Nested types'
1672 2003-12-24  Nick Drochak  <ndrochak@ieee.org>
1674         * Array.cs (CreateInstance): Throw NullRef exception like .NET 1.1, 
1675         even though docs say it should be an ArgumentNull. Sent email to MS
1676         about this "bug".
1678 2003-12-23  Lluis Sanchez Gual  <lluis@ximian.com>
1680         * Exception.cs: Several changes to make it compatible with MS.NET (needed
1681         for remoting interoperability): set a default value for hresult, added 
1682         initialization of class_name, serialization field RemoteStackTrace must
1683         be RemoteStackTraceString, added ser. field ExceptionMethod.
1685         * IndexOutOfRangeException.cs: Added serialization constructor.
1687 2003-12-22  Bernie Solomon  <bernard@ugsolutions.com>
1689         * Int32 (Parse):
1690           Int64 (Parse): Fix overflow checking for AllowHexSpecifier
1692 2003-12-20  Zoltan Varga  <vargaz@freemail.hu>
1694         * MonoType.cs (GetMethodImpl): Only call FindMostDerivedMatch if the
1695         user supplied no parameter info, but not when the user supplied an
1696         empty parameter list. This fixes IKVM.
1698         * Environment.cs: Bump corlib version.
1700 2003-12-19  Dick Porter  <dick@ximian.com>
1702         * String.cs: Added Compare shortcut for length==0.
1704 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
1706         * Environment.cs: Bump corlib version.
1708 2003-12-17  Dick Porter  <dick@ximian.com>
1710         * String.cs: Fix StartsWith and EndsWith when the argument is the
1711         empty string.  Fixes bug 52283.
1713 2003-12-16  Zoltan Varga  <vargaz@freemail.hu>
1715         * Environment.cs (HasShutdownStarted): Implement.
1717 2003-12-15  Zoltan Varga  <vargaz@freemail.hu>
1719         * Environment.cs (HasShutdownStarted): Make this static under NET 1.1.
1720         
1721         * Environment.cs: Bump version number.
1723 2003-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1725         * DateTime.cs: don't bail out with that year out of range error on
1726         stuff like "MM/dd/yyyy HH:MM:ss".
1728 2003-12-13  Zoltan Varga  <vargaz@freemail.hu>
1730         * Environment.cs: Make it a const instead.
1731         
1732         * Environment.cs: Make version field static.
1734 2003-12-10  Zoltan Varga  <vargaz@freemail.hu>
1736         * Type.cs: Make DefaultBindingFlags protected.
1738         * Environment.cs: Applied patch from Todd Berman (tbermann@gentoo.org).
1739         Add new GacPath property + its associated icall.
1741 2003-12-09 Anirban Bhattacharjee <banirban@novell.com>
1743         * DateTime.cs : Bugs fixed (41845, 51422)
1744         * MonoType.cs : Exception message changed 
1746 2003-12-08  Martin Baulig  <martin@ximian.com>
1748         * Type.cs (MakeByRefType): New public method.
1750 2003-12-08  Zoltan Varga  <vargaz@freemail.hu>
1752         * Environment.cs: Add a version number for the corlib-runtime interface
1753         to make it easier to diagnose problems resulting from a mismatch 
1754         between the two.
1756 2003-12-08  Patrik Torstensson   <p@rxc.se>
1758         * Type.cs (GetMethod): Check type arguments within array
1759         * MonoType.cs (GetMethodImpl): Handle methods with a new slot
1760         (same signature but different classes (derived level)
1762 2003-12-07  Zoltan Varga  <vargaz@freemail.hu>
1764         * Type.cs (MakeArrayType): Add argument checking.
1766 2003-12-06  Dick Porter  <dick@ximian.com>
1768         * String.cs: Don't use CompareInfo for non-culture-sensitive
1769         IndexOf and LastIndexOf methods.
1771 2003-12-06  Ravindra  <rkumar@novell.com>
1773         * DateTime.cs: Made Parse(string, IFormatProvider) method to
1774         use second argument. Fixed bug #51464.
1776 2003-12-04  Martin Baulig  <martin@ximian.com>
1778         * Type.cs (Type.MakeArrayType): New public method.
1780 2003-12-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1782         * Buffer.cs:
1783         (BlockCopy): make the exception thrown helpful.
1785 2003-12-03  Dick Porter  <dick@ximian.com>
1787         * String.cs: Calling Replace on an empty string returns itself.
1789 2003-12-03  Zoltan Varga  <vargaz@freemail.hu>
1791         * MonoType.cs: Get rid of get_type_info, use a separate icall for
1792         each property instead.
1794 2003-12-02  Dick Porter  <dick@ximian.com>
1796         * Decimal.cs: Fix NumberFormatInfo lookup.  Patch by
1797         Mohammad DAMT (mdamt@cdl2000.com), fixes bug 51443.
1799 2003-12-01  Dick Porter  <dick@ximian.com>
1801         * String.cs: Make Compare, IndexOf, LastIndexOf, StartsWith,
1802         Replace, ToLower, ToUpper and Equals use the correct CultureInfo.
1804 2003-11-28  Dick Porter  <dick@ximian.com>
1806         * Type.cs: 
1807         * MonoType.cs: 
1808         * Enum.cs: 
1809         * Boolean.cs: Do string compares with the Invariant culture.
1811 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
1813         * Array.cs: make the enumerator ICloneable
1815 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
1817         * Decimal.cs (ToXXX): Call Convert.ToXXX.
1819 2003-11-26  Zoltan Varga  <vargaz@freemail.hu>
1821         * AppDomain.cs: Applied patch from ztashev@openlinksw.co.uk (Zdravko Tashev). 
1822         Implement Load(byte[]) methods.
1824         * BadImageFormatException.cs: Fix ToString.
1826 2003-11-24  Zoltan Varga  <vargaz@freemail.hu>
1828         * MonoType.cs: Make Standard|HasThis match Standard in GetMethod and
1829         GetConstructor, as done by MS.
1831 2003-11-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1833         * FloatingPointFormatter.cs: Removed some unused variables to prevent csc compiler warnings
1835 2003-11-18  Lluis Sanchez Gual  <lluis@ximian.com>
1837         * TypeInitializationException.cs: Added missing serialization constructor.
1839 2003-11-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1841         * AppDomainSetup.cs: Don't add an extra '/' at the end of 
1842         ApplicationBase. The tests pass now with mono.
1844 2003-11-18  Zoltan Varga  <vargaz@freemail.hu>
1846         * ValueType.cs: New optimized implementation for Equals and GetHashCode.
1848 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1850         * Environment.cs: use Directory in CurrentDirectory property.
1851         We were not throwing any exception when setting the directory to an
1852         invalid path.
1854 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1856         * Array.cs:
1857         * Delegate.cs: implemented 1.1 stuff.
1859         * Enum.cs:
1860         * IntPtr.cs: removed extra attribute.
1861         * PlatformID.cs: added WinCE.
1863 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1865         * ValueType.cs:
1866         (Equals): compare the fields of structs too.
1867         (GetHashCode): combine the hash code of all the fields.
1868         Fixes bug #50901 (will remove the icall in a couple of days).
1870 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1872         * Array.cs: fixed Clear for non-zero bounded arrays. Fixes bug #50968.
1874 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1876         * DateTime.cs: handle century when we try to parse 4-digit years and
1877         only 2 digits are present. Fixes bug #49394.
1879 2003-11-13  Miguel de Icaza  <miguel@ximian.com>
1881         * Console.cs: On utf-8 consoles, use unmarked output.
1883 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1885         * IAppDomainSetup.cs:
1886         * _AppDomain.cs: 
1887         * Object.cs:
1888         * Type.cs: Added missing attribute
1890 2003-11-12 Lluis Sanchez Gual <lluis@ximian.com>
1892         * Environment.cs: Added internal method for getting the path to 
1893         machine.config.
1894         
1895 2003-11-12 Jackson Harper <jackson@ximian.com>
1897         * Environment.cs: Add MyMusic and MyPictures to the SpecialFolder
1898         enum. This fixes the SWF build.
1899         
1900 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
1902         * PlatformID.cs: Remove Unix platform, we cant expose constants
1903         that are not in the framework.
1905         * OperatingSystem.cs: Adjust for the breakage.
1907         * RuntimeMethodHandle.cs: Fix signature.
1909         * Double.cs: Fix signature of TryParse.
1911         * String.cs (Concat (object, object, object, object)): Add missing method.
1913         * OperatingSystem.cs: Removed Equals, GetHashCode, they were not
1914         in the .NET Framework.
1916         * Enum.cs: Hide constructor.  
1918         Fix ToUint16 to be explicitly implemented.
1920         * Console.cs: Add couple of extra missing methods (Write and
1921         WriteLine overloaded)
1923 2003-11-11  Miguel de Icaza  <miguel@ximian.com>
1925         * AppDomain.cs, Activator.cs: New unimplmented entry points from
1926         1.1 (Com activation related).
1927         
1928         * Exception.cs: Formatting.
1929         
1930         * IServiceProvider.cs: Add ComVisible (true).
1932         * AppDomainSetup.cs: Add a couple more properties from .NET 1.1 
1934 2003-11-03  Lluis Sanchez Gual <lluis@ximian.com>
1936         * AppDomain.cs: Added some null checks in Load methods. This fixes bug
1937           #50356.
1939 2003-11-01  Zoltan Varga  <vargaz@freemail.hu>
1941         * AppDomain.cs: Make the SetDomain icalls private + call InternalInvoke
1942         on MonoMethod instead of Invoke.
1944 2003-11-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
1946         * DateTime.cs: Fixed Add* methods handling. Now it works properly
1947         with extreme values (there is a bug with Overflow and Underflow in
1948         long type).
1950 2003-10-31  Pedro Martínez Juliá  <yoros@wanadoo.es>
1952         * DateTime.cs: Fixed a few format bugs.
1954 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
1956         * AppDomain.cs (InternalPushDomainRef): New icalls.
1958         * AppDomain.cs (InvokeInDomain): New method to execute code in a 
1959         different appdomain.
1961 2003-10-27  Zoltan Varga  <vargaz@freemail.hu>
1963         * AppDomain.cs: Fix prototype of InternalIsFinalizingForUnload.
1965 2003-10-25  Zoltan Varga  <vargaz@freemail.hu>
1967         * AppDomain.cs (IsFinalizingForUnload): Implement.
1969         * AppDomain.cs (Unload): Move the notification of OnUnload listeners
1970         to unmanaged code.
1972 2003-10-25  Martin Baulig  <martin@ximian.com>
1974         * MonoType.cs: Don't make this sealed.
1976 2003-10-24  Zoltan Varga  <vargaz@freemail.hu>
1978         * AppDomain.cs: Add InternalInvokeInDomain[ByID] icalls.
1980 2003-10-24  Pedro Martínez Juliá  <yoros@wanadoo.es>
1982         * DateTime.cs: When handling '-' as a date separator, MS.NET uses
1983         the same symbol in the parse (not DateTimeFormatInfo.DateSeparator).
1985 2003-10-22  Dick Porter  <dick@ximian.com>
1987         * DateTime.cs: Handle '-' as a date separator when parsing formats.
1989 2003-10-20  Duncan Mak  <duncan@ximian.com>
1991         * Delegate.cs (CreateDelegate): Avoid creating an extra Type array
1992         and merge the two iterations into one.
1994 2003-10-15  Zoltan Varga  <vargaz@freemail.hu>
1996         * TypedReference.cs: Add new field used by the runtime.
1998 2003-10-15  Martin Baulig  <martin@ximian.com>
2000         * Type.cs (Type.DeclaringMethod): For a generic method's type
2001         parameter, return this method - otherwise, return null.
2003 2003-10-14  Martin Baulig  <martin@ximian.com>
2005         The generics API has changed in the spec since it was added here;
2006         these modifications make it match the spec again.
2008         * Type.cs
2009         (GetGenericParameters): Renamed to `GetGenericArguments'.
2010         (HasGenericParameters): Renamed to `HasGenericArguments'.
2011         (HasUnboundGenericParameters): Renamed to `ContainsGenericParameters'.
2012         (IsGenericTypeDefinition): New property.
2013         (IsUnboundGenericParameter): Renamed to `IsGenericParameter'.
2015         * MonoType.cs (ContainsGenericParameters): Implement this here;
2016         this is no interncall anymore.
2018 2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2020         * Delegate.cs: add the method name to the exception when it cannot be
2021         bound.
2022         * Exception.cs: fix nullref in Source.
2024 2003-10-10  Zoltan Varga  <vargaz@freemail.hu>
2026         * Array.cs: Add argument checking to GetValue and SetValue.
2028 2003-10-09  Miguel de Icaza  <miguel@ximian.com>
2030         * DateTime.cs: Patch from Chris Turchin: the DateTime.MaxValue
2031         should not be TimeSpan.MaxValue, because it overflow.  Set this to
2032         be MAX_VALUE_TICKS
2034 2003-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2036         * MonoCustomAttrs.cs: from_cache is now thread-safe. Yeah, I got a
2037         duplicate entry exception.
2039 2003-10-08 Ben Maurer  <bmaurer@users.sourceforge.net>
2041         * DateTime.cs (ToString): Total rewrite, fixes #49358.
2043 2003-10-03  Zoltan Varga  <vargaz@freemail.hu>
2045         * AppDomain.cs: Change accessibility of DoTypeResolve to fix build.
2047 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2049         * Enum.cs:
2050         (Equals): check that the object is an Enum before comparing the types.
2052 2003-09-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2054         * Array.cs: reduced xsp allocated memory by 1/2.
2056 2003-09-25  Martin Baulig  <martin@ximian.com>
2058         * Type.cs (Type.IsGenericTypeDefinition): Removed this method
2059         since it was identical to GetGenericTypeDefinition().
2060         (Type.IsGenericInstance): New property.
2062 2003-09-24  Duncan Mak  <duncan@ximian.com>
2064         * Math.cs (Abs): Fix double Locale.GetText bug reported by
2065         davejp@volny.cz. This fixes #48788.
2067 2003-09-14  Pedro Martínez Juliá  <yoros@wanadoo.es>
2069         * FloatingPointFormatter.cs: Add the necessary castings to char
2070         conversions.
2072 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
2074         * FloatingPointFormatter.cs: Make the method calls more functional
2075         for protecting the values from different threads (make it more
2076         thread safe).
2078 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
2080         * FloatingPointFormatter.cs: Fix a bug with the negative value of
2081         count parameter.
2083 2003-09-12  Pedro Martínez Juliá  <yoros@wanadoo.es>
2085         * FloatingPointFormatter.cs: Applied a lot of improvements in string
2086         construction, make use of Append/Insert with the "count" parameter.
2087     Thanks to Ben Maurer.
2089 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
2091         * FloatingPointFormatter.cs: Fix a bug with Custm Format.
2093         * FloatingPointFormatter.cs: Fix a little bug I've introduced the
2094         last change.
2096 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
2098         * DoubleFormatter.cs: A few optimizations. Now, only one object
2099         is created to convert all double numbers.
2101         * SingleFormatter.cs: A few optimizations. Now, only one object
2102         is created to convert all float numbers.
2104         * FloatingPointFormatter.cs: Split the "number type parameters" from
2105         the "numver value and format parameters". The first ones are in the
2106         constructor and the others are in a method.
2108 2003-09-09  Zoltan Varga  <vargaz@freemail.hu>
2110         * Array.cs: Added argument checking to some NET_1_1 methods.
2112 2003-09-04  Martin Baulig  <martin@ximian.com>
2114         * Type.cs (GetGenericTypeDefinition): Make this method virtual.
2116 2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2118         * Array.cs: added the new overloaded CreateInstance, GetValue, SetValue
2119         taking 'longs'. All tests pass.
2121 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
2123         * Exception.cs: Add ClassInterface attr. Implement TargetSite and
2124         Source. Remove MonoTODO attributes (class is 100% done). Also
2125         passes all Rotor tests for Exception!
2127 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
2129         * Enum.cs: Remove [MonoTODO]'s that had been completed.
2131 2003-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2133         * String.cs: fixed bug #47802.
2135 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
2137         * String.cs: Created method FormatHelper that does formatting,
2138         using a StringBuilder.
2140 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2142         * Array.cs: patch by lb@lb.ods.org that fixes bug #47707.
2144 2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2146         * Delegate.cs: CreteDelegate (Type, MethodInfo) only supports static
2147         methods under MS.
2149 2003-08-11  Duncan Mak  <duncan@ximian.com>
2151         * Environment.cs (Version): Return the same numbers as the MS
2152         implementation.
2154 2003-08-10  Miguel de Icaza  <miguel@ximian.com>
2156         * Array.cs: Applied patch from Thong (Tum) Nguyen;  Removed
2157         replicated tests, and have a routine that does the heavy lifting.
2159 2003-08-08  Lluis Sanchez Gual <lluis@ximian.com>
2161         * DateTime.cs: Fixed DoParse. It was calling the wrong constructor
2162           of DateTime.
2163         * Environment.cs: return $HOME for ApplicationData folder.
2165 2003-08-04  Duncan Mak  <duncan@ximian.com>
2167         * FloatingPointFormatter.cs (Normalize): Apply a patch from Aleksey
2168         Demakov <avd@openlinksw.com> to fix formatting for Big power of 10
2169         floating point values. This fixes bug #46175.
2171         * Convert.cs (ToUInt16): Throw an OverflowException correctly, as
2172         noted by c5n4kh6u02@sneakemail.com in
2173         http://bugzilla.ximian.com/show_bug.cgi?id=43098.
2175 Sat Aug  2 13:01:46 BST 2003 Malte Hildingson <malte@amy.udd.htu.se>
2177         * Double.cs: added icall Double.AssertEndianity.
2179 Fri Aug 1 16:47:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
2181         * Type.cs, MonoType.cs: implemented generic-specific methods.
2183 2003-07-29  Miguel de Icaza  <miguel@ximian.com>
2185         * Buffer.cs: Add new internal MemCopy call.
2187         Removed the above.
2189 Tue Jul 29 12:13:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
2191         * Type.cs, MonoType.cs, ArgIterator.cs: pass the handles values
2192         to icalls, to avoid special cases in some call conventions.
2194 2003-07-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2196         * Enum.cs: added Serializable attribute.
2198 2003-07-25  Duncan Mak  <duncan@ximian.com>
2200         * AppDomain.cs (Equals):
2201         (GetHashCode): Removed because they do not need to be defined
2202         here.
2204 2003-07-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2206         * TypeLoadException.cs: removed unused fields. TypeName returns "" if
2207         cannot even get the type.
2209 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
2211         * Type.cs: Added generics stubs.
2213 2003-07-23  Duncan Mak  <duncan@ximian.com>
2215         * Environment.cs (SpecialFolder): Added 'Desktop' and 'MyComputer'
2216         as values for NET_1_1.
2217         (GetFolderPath): Return the empty string ("") for values of
2218         SpecialFolder that have no corresponding equivalents in
2219         Linux. Return "$HOME/Desktop" for SpecialFolder.DesktopDirectory
2220         and "$HOME" for SpecialFolder.Personal.
2222         * IntPtr.cs (GetObjectData): Mark it as an interface
2223         implementation, instead of a public method.
2225         * Guid.cs (NewGuid): Remove MonoTODOAttribute.
2227         * TypeLoadException.cs (GetObjectData):
2228         Create stubs for the fields that are being serialized.
2230         * UIntPtr.cs: Removed erroneous CLSCompliantAttributes.
2232 2003-07-23  Lluis Sanchez Gual <lluis@ximian.com>
2233         
2234         * Enum.cs: Fixed enum formatting. For flag enums, if one of
2235           the flags is unnamed, ToString() returns the integer value.
2237 2003-07-22  Jerome Laban <jlaban@wanadoo.fr>
2239         * Guid.cs: Fixed ToString (), was producing incorrect string.
2241 2003-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2243         * AppDomainSetup.cs: fixed bug #46609.
2245 Thu Jul 17 17:28:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
2247         * MonoType.cs: use an icall for IsPrimitiveImpl ().
2249 Thu Jul 17 15:23:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
2251         * Guid.cs: faster ToString ().
2253 2003-07-15  Pedro Martínez Juliá  <yoros@wanadoo.es>
2255         * FloatingPointFormatter.cs: Few changes for get working Rotor
2256         tests.
2258 2003-07-13  Zoltan Varga  <vargaz@freemail.hu>
2260         * Type.cs (IsAssignableFrom): Implement this as an icall since the
2261         runtime already includes the neccessary logic.
2263 2003-07-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2265         * AppDomainSetup.cs: remove the "file://" prefix from ApplicationBase
2266         if it's present and get the full path for non-Uri paths.
2268 2003-07-2  Lluis Sanchez Gual <lluis@ximian.com>
2270         * DateTime.cs: Fixed formatting of fractions of second.
2272 2003-06-30  Zoltan Varga  <vargaz@freemail.hu>
2274         * Console.cs: Turn off buffering for the streams returned by
2275         OpenStandardOutput () and OpenStandardError () if the buffer size is 0.
2277 2003-06-28  Lluis Sanchez Gual <lluis@ximian.com>
2279         * Random.cs: Changed behavior of Random to match MS.NET. When Next is
2280           called with maxvalue==0 or minvalue==maxvalue, MS.NET internally generates
2281           a new random number (although it is not needed), while mono did not. 
2282           As a result, the sequence of random numbers could be different for the
2283           same seed.
2285 Thu Jun 26 16:06:35 CEST 2003 Paolo Molaro <lupus@ximian.com>
2287         * FloatingPointFormatter.cs: use dec_len2 as default precision.
2289 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
2291         * DateTime.cs: Modified constructor. Check for valid value of TimeSpan must
2292           be done after the correspondig UTC offset has been applied.
2294 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
2296         * Object.cs: Object must have the Serializable attribute.
2297         * DateTime.cs: Fixed _DoParse() so it correctly applies the utc offset
2298           to the resulting date. Also fixed _ToString so now correctly formates the
2299           UTC offset.
2301 Wed Jun 18 19:22:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
2303         * Enum.cs: fix race in cache (bug#41841).
2305 Wed Jun 18 18:52:11 CEST 2003 Paolo Molaro <lupus@ximian.com>
2307         * FloatingPointFormatter.cs: if the precision is not specified, use
2308         the default precision for the data type.
2310 Wed Jun 18 18:11:30 CEST 2003 Paolo Molaro <lupus@ximian.com>
2312         * Array.cs: throw ArgumentOutOfRangeException in Copy if needed
2313         (patch by tum@veridicus.com (Thong (Tum) Nguyen)).
2315 2003-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2317         * MonoType.cs: don't throw nullref when the return type for a property
2318         is specified and the property doesn't have a get accessor.
2320 2003-06-10  Duncan Mak  <duncan@ximian.com>
2322         * Array.cs (CreateInstance): Fixed a typo. It should throw
2323         ArgumentNullException instead of ArgumentException.
2325 2003-06-09  Duncan Mak  <duncan@ximian.com>
2327         * Array.cs: Revert the last revert. I fixed it.
2328         (Sort): Put a try-catch block around qsort, and wrap whatever
2329         Exception we get into a InvalidOperationException.
2331 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
2333         * Array.cs: Revert last patch, it broke some other functionality.
2334                 
2335 2003-06-08  Duncan Mak  <duncan@ximian.com>
2337         * Array.cs: Throw more exceptions. This fixes the errors we see
2338         from the Rotor testsuite.
2340         (CreateInstance): Throw ArgumentNullException when the input are
2341         null. Throw ArgumentOutOfRangeException when bounds + length is
2342         greater than Int32.MaxValue.
2343         (LastIndexOf): Throw ArgumentOutOfRangeException if index is outside
2344         the valid range of indices of array.
2345         (Sort): Throw InvalidOperationException when comparer is null and
2346         none of the elements in keys implements IComparable.
2348 2003-06-08  Duncan Mak  <duncan@ximian.com>
2350         * Array.cs (CreateInstance): Throw a TypeLoadException if the
2351         Length of the input array 'lengths' is greater than 255 so that we
2352         won't see the g_assert that is in mono_array_class_get in class.c.
2354         This fixes bug #44304.
2356 2003-06-05  Nick Drochak  <ndrochak@gol.com>
2358         * UnitySerializataionHolder.cs: Cleanups according to class status page
2360 Wed Jun 4 16:59:39 CEST 2003 Paolo Molaro <lupus@ximian.com>
2362         * ArgIterator.cs, TypedReference.cs, RuntimeArgumentHandle.cs,
2363         RuntimeTypeHandle.cs: implemented the needed stuff to handle
2364         vararg calls.
2366 2003-06-02  Sebastien Pouliot  <spouliot@videotron.ca>
2368         * Random.cs: New implementation based on Knuth ran3 to fix #43597.
2369         See http://www.library.cornell.edu/nr/bookcpdf/c7-1.pdf. Commited
2370         for Ben Maurer after review and testing.
2372 2003-05-28  Ben Maurer <bmaurer@users.sourceforge.net>
2373         
2374         * Array.cs: Added better argument checking to Array.Sort ()
2375         * DBNull.cs: Made the conversions throw like they do in MS.
2377 2003-05-24  Philip Van Hoof  <me@freax.org>
2379         * Math.cs: Add the MS.NET 1.1 methods (BigMul, DivRem, DivRem).
2381 2003-05-21  Pedro Martínez Juliá  <yoros@wanadoo.es>
2383         * FloatingPointFormatter.cs: Take care with the explicit precision
2384         and round the number to that precision.
2386         * DoubleFormatter.cs: Adapt to the two level precision (15 - 17).
2388         * SingleFormatter.cs: Adapt to the two level precision (7 - 8).
2390 2003-05-20  Philip Van Hoof <me@freax.org>
2392         * DateTime.cs (FromOADate, GetDateTimeFormats, ToOADate):
2393         Implemented.
2395 2003-05-20  Zoltan Varga  <vargaz@freemail.hu>
2397         * AppDomainSetup.cs: Added new field which is used to notify the
2398         runtime that the search path has changed.
2400 2003-05-18  Pedro Martínez Juliá  <yoros@wanadoo.es>
2402         * FloatingPointFormatter.cs: Fixed NullReferenceException bug I've
2403         introduced the last change I've done.
2405 2003-05-17  Ben Maurer  <bmaurer@users.sourceforge.net>
2407         * Array.cs: Fixed SyncRoot to behave like MS (return this). Removed 
2408         MonoTODO from SyncRoot (because fixed) and IsSynchronized (it was
2409         behaving correctly).
2410         
2411 2003-05-17  Pedro Martínez Juliá  <yoros@wanadoo.es>
2413         * FloatingPointFormatter.cs: Fixed little format mismatches.
2415 2003-05-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
2417         * FloatingPointFormatter.cs: Fixed "-0" result emited.
2419 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2421         * AppDomain.cs: Added null argument check in Load().
2422         * Activator.cs: fixed bug #39926.
2424 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2426         * Enum.cs: fixed bugs #41522 and #42879.
2428 2003-05-12  Zoltan Varga  <vargaz@freemail.hu>
2430         * String.cs: Tweak IndexOf and LastIndexOf to match specification and
2431         undocumented MS behaviour.
2433 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2435         * Activator.cs: applied patch for bug #39926. Thanks to Jean Marc and
2436         Jaime.
2438 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2440         * String.cs: fixed bug #41411 and another similar problem in
2441         LastIndexOf (string).
2443 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2445         * String.cs: patch by Jean Marc <jean-marc.andre@polymtl.ca> that fixes
2446         bug #42695.
2448 2003-05-09  Zoltan Varga  <vargaz@freemail.hu>
2450         * MulticastDelegate.cs (GetInvocationList): Avoid ArrayList 
2451         construction if the delegate list only has one element.
2453 2003-05-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
2455         * Environment.cs: Changed the method GetFolderPath because it must
2456         return at least a directory name (not null).
2458         * Convert.cs: In ToType, if the destination type is unknown, try to
2459         cast the value to object (then, the calling method will downcast it
2460         to the type it wants).
2462 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2464         * Enum.cs: fixed bug #41522.
2466 Tue Apr 29 13:58:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
2468         * Enum.cs: protect with the lock also the lookup (bug #41841).
2470 Tue Apr 29 13:24:32 CEST 2003 Paolo Molaro <lupus@ximian.com>
2472         * MonoType.cs: allow a null name if InvokeMember is called with
2473         BindingFlags.CreateInstance set.
2475 2003-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2477         * Enum.cs: reverted my previous patch.
2479 2003-04-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2481         * Enum.cs: fixed bug #41841.
2483 2003-04-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2485         * MonoType.cs:
2486         (GetPropertyImpl): handle BindingFlags.IgnoreCase.
2488 2003-04-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
2490         * FloatingPointFormatter.cs: Little fixes for get the same results
2491         as MS.NET and show a message when something goes wrong with the
2492         parser of Custom Formats.
2494 2003-04-22  Nick Drochak  <ndrochak@gol.com>
2496         * Double.cs (ToString):
2497         * Single.cs (ToString): Handle case where param is a CultureInfo.
2499 2003-04-18  Zoltan Varga  <vargaz@freemail.hu>
2501         * Object.cs ValueType.cs: Make the Object::GetHashCode() and 
2502         ValueType::Equals() icalls static non-virtual, so they can be called
2503         by the code in RuntimeHelpers.
2505 2003-04-18  Miguel de Icaza  <miguel@ximian.com>
2507         * Delegate.cs (operator ==): Do not crash if the second argument
2508         is null.  Bug fix submitted by Juan Cri.
2510 2003-04-18  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
2512         * Array.cs: Deleted the exception in Array.Initialize(), it looks
2513         like the method do nothing for C#, is still a MonoTODO until
2514         we find a compiler that uses that.
2516 2003-04-14  Miguel de Icaza  <miguel@ximian.com>
2518         * Delegate.cs (Delegate): Seems like a typo, we were checking the
2519         a field rather than the argument 
2521         * MonoType.cs: Make GetNestedType an external method implementation.
2523 2003-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2525         * Enum.cs: fixed bug #41294.
2527 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2529         * DateTime.cs: fixes bug #40910, part 2.
2531 2003-04-11  Dietmar Maurer  <dietmar@ximian.com>
2533         * String.cs (Equals): avoid the internal call, code cleanups
2535 2003-04-11  Alan Tam <Tam@SiuLung.com>
2537         * Convert.cs: fixed bug #41085.
2539 2003-04-10  Lluis Sanchez Gual <lluis@ideary.com>
2541         * AppDomain.cs: Added internal method for getting process guid.
2543 2003-04-09  Ville Palo <vi64pa@kolumbus.fi>
2545         * Array.cs: Little fix to compare () method.
2546         
2547 2003-04-09  Zoltan Varga  <vargaz@freemail.hu>
2549         * String.cs (Equals): Add trivial optimization.
2551 2003-04-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2553         * DateTime.cs: fixed bug #40910.
2555 2003-04-05  Miguel de Icaza  <miguel@ximian.com>
2557         * Console.cs: Make stderr, stdout and stdin use synchronized
2558         versions of the their readers/writers.
2560 2003-04-04  Dick Porter  <dick@ximian.com>
2562         * Version.cs: Make operator== and operator!= cope with null
2563         objects.  Didn't change operator<, operator<=, operator> or
2564         operator>= because its not meaningful to use those to compare
2565         against null, and throwing a NullReferenceException is probably
2566         the best thing to do there anyway.
2568         Fixes bug 40720.
2570 2003-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2572         * AppDomain.cs: fixed InvalidCastException.
2574 2003-03-30  Zoltan Varga  <vargaz@freemail.hu>
2576         * Array.cs (Copy): Call FastCopy() earlier to avoid the expensive
2577         type checks and let it decide whenever a fast copy is possible.
2579 2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2581         * MonoType.cs:
2582         (GetMethodImpl): support BindingFlags.IgnoreCase flag. Fixes bug #40322.
2584 2003-03-25  Zoltan Varga  <vargaz@freemail.hu>
2586         * Activator.cs (CreateInstance): Call GetConstructor with the right
2587         arguments so the nonPublic argument is handled correctly.
2589 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2591         * Type.cs: fixed bug #40123.
2593 2003-03-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
2595         * FloatingPointFormatter.cs: Fixed some bugs for get the same
2596         results than MS.NET. Added simple error recovering, now ToString
2597         will return a general format if there is any exception in the
2598         process of formatting. This make the library more robust while the
2599         formatters are refined.
2601 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
2603         * FloatingPointFormatter.cs: Added support for group separators.
2605 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
2607         * Single.cs:
2608         * Double.cs: Apply changes of .ToString methods.
2609         * SingleFormatter.cs:
2610         * DoubleFormatter.cs: Simple wrappers to FloatingPointFormatter.
2611         * FloatingPointFormatter.cs: New class. Implementation of double and
2612         single formatters. It is unified now and parametrized with precission
2613         values.
2615 2003-03-15  Lluis Sanchez Gual <lluis@ideary.com>
2617         * AppDomain.cs: fixes bugs #39380 and #39331.
2619 2003-03-06  Nick Drochak  <ndrochak@gol.com>
2621         * TimeSpan.cs (Negate): Throw exception when value is MinValue.
2623 2003-03-04  Dick Porter  <dick@ximian.com>
2625         * Single.cs:
2626         * Double.cs: Temporarily reverted the Double and Single ToString()
2627         change, because it broke nunit.
2630 2003-03-04  Pedro Martínez Juliá  <yoros@wanadoo.es>
2632         * Double.cs: Changed ToString method. Added NumberFormatInfo support
2633         with DoubleFormatter class.
2634         * Single.cs: Changed ToString method. Added NumberFormatInfo support
2635         with SingleFormatter class.
2636         * DoubleFormatter.cs: New class with Double formatting functions.
2637         * SingleFormatter.cs: New class with Single formatting functions.
2639 2003-03-03  Lluis Sanchez Gual <lluis@ideary.com>
2641         * Activator.cs: Added support for activation using activation attributes.
2642         * AppDomain.cs: Added internal method to get the default context from the runtime.
2644 2003-02-28  Elan Feingold  <efeingold@mn.rr.com>
2646         * DateTime.cs: FileTime is expressed in Universal time, and as such must
2647         be converted before subtracting the magic offset.
2648         * DateTime.cs: Strings in the format "2003-02-27T10:05:03-11:00" (note
2649         the timezone at the end) *must* be parsed by DateTime.Parse() for
2650         compatibility with Microsoft.
2652 2003-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2654         * Attribute.cs:
2655         * MonoCustomAttrs.cs: fix for the regression test failure (see bug
2656         #38238).
2658         * IntPtr.cs: added serialization .ctor
2660 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2662         * AppDomain.cs: check for null in Unload and changed method name.
2664 2003-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2666         * MonoCustomAttrs.cs: fixed bug #38238.
2668 2003-02-17  Martin Baulig  <martin@ximian.com>
2670         * Exception.cs (Exception.ToString): Print a newline between the
2671         exception message and the stack trace.
2673 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2675         * AppDomain.cs: implemented GetCurrentThreadId ().
2677 2003-02-14  Patrik Torstensson
2679         * Exception.cs: Fixed message output formating
2681 2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2683         * Int32.cs:
2684         (Parse): ignore everything after a \0 (MS parses: "512\0hola" as 512).
2686 2003-02-12  Miguel de Icaza  <miguel@ximian.com>
2688         * Type.cs: IsClass should return false for Enumerations
2690 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2692         * MonoCustomAttrs.cs: return the correct array type in the short case.
2693         Fixes bug #37818.
2695 2003-02-08  Pedro Martíenz Juliá  <yoros@wanadoo.es>
2697         * Math.cs: Fix a few methods (like Round) and add with comments the
2698         new methods: BigMul and DivRem that were in ECMA specs.
2700 2003-02-07  Patrik Torstensson
2702         * Exception.cs: Fixed formating
2704 2003-02-05  Patrik Torstensson
2706         * AppDomain.cs: Partly fixed the unload method 
2707         
2708 2003-02-04  Patrik Torstensson
2710         * AppDomain.cs: Fixed lease issue with appdomain
2712 2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
2714         * MarshalByRefObject.cs: Implemented GetLifetimeService() and 
2715           InitializeLifetimeService().
2717 2003-02-03  Patrik Torstensson
2719         * AppDomain.cs: New internalcalls for handling domain/context switches
2720         * AppDomain.cs (CreateDomain): Return transparant proxy for appdomain object
2722 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2724         * AppDomain.cs: implemented AppendPrivatePath, ClearPrivatePath
2725         and ClearShadowCopyPath and fixed GetType ().
2727         * Attribute.cs: clean up.
2729         * Console.cs: removed UnixConsoleEncoding. Use Default.
2731 2003-02-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2733         * Attribute.cs: fixed all IsDefined overloads. Gotta fix
2734         GetCustomAttributes later.
2736 2003-01-31  Patrik Torstensson
2738         * Buffer.cs: Changed access level of BlockCopyInternal
2740 Thu Jan 30 19:54:30 CET 2003 Paolo Molaro <lupus@ximian.com>
2742         * String.cs, IntegerFormatter.cs: use const where appropriate.
2744 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2746         * MonoCustomAttrs.cs: fixed GetBase () for Type. Thanks to Zoltan for
2747         reporting.
2749 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2751         * MonoCustomAttrs.cs: fixed shortcut in GetCustomAttributes.
2752         The argument ICustomAttributeProvider can be of other types different
2753         from Type. Handle it.
2755 2003-01-28  Zoltan Varga  <vargaz@freemail.hu>
2757         * DateTime.cs: fix FromFileTime so the time returned by 
2758         File::GetLastModificationTime etc. is in the correct timezone.
2760 2003-01-28  Patrik Torstensson
2761         * Exception.cs: reverted formating/endline changes (sorry guys)
2763 2003-01-28  Patrik Torstensson
2765         * MarshalByRefObject.cs: implemented GetObjectIdentity
2766         * Exception.cs: added support for remote exceptions
2768 2003-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2770         * DateTime.cs: fixed bug #37225.
2772 2003-01-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2774         * Enum.cs: Clone the arrays in GetNames and GetValues. Thanks lupus!
2776 2003-01-27  Zoltan Varga  <vargaz@freemail.hu>
2778         * AppDomain.cs: Added DoTypeResolve method which will be called by
2779         the runtime to raise TypeResolve events.
2781 2003-01-27  Duncan Mak  <duncan@ximian.com>
2783         * Enum.cs (ToType): Implement this using Convert.ToType.
2785 2003-01-21  Miguel de Icaza  <miguel@ximian.com>
2787         * Math.cs: Remove Pow's implementation body as it was wrong.  The
2788         C code does the right thing.  The code was trying to handle a
2789         number of cases, and that was incorrect.
2791 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2793         * CharEnumerator.cs: fix to Current by crainaj@hotmail.com. Closes
2794         bug #37113.
2796 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2798         * Enum.cs: added caching to GetInfo.
2800 2003-01-23  Dick Porter  <dick@ximian.com>
2802         * Environment.cs (System): Implemented ExitCode
2804 2003-01-23  Zoltan Varga  <vargaz@freemail.hu>
2806         * Type.cs (IsInstanceOfType): fixed regression caused by the change
2807         to IsSubclassOf().
2809 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2811         * MonoType.cs: re-added lines that were removed in the previous commit.
2813 2003-01-16  Lluis Sanchez Gual <lsg@ctv.es>
2815         * Type.cs: corrected property IsSerializable. It should always return
2816         true for enums and delegates
2817         * MonoType.cs: added serialization support.
2818         * Delegate.cs: added serialization support.
2819         * DBNull.cs: added serialization support.
2820         * UnitySerializationHolder.cs: supports serialization of Assembly,
2821         MonoType and DBNull.
2822         * DelegateSerializationHolder.cs: added.
2824 2003-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2826         * Exception.cs: changed default message to match MS one.
2828 2003-01-12  Patrik Torstensson <totte@race-x-change.com>
2830         * String.cs: Fixed bug with CompareOrdinal
2832 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2834         * Enum.cs: implements IFormattable.
2836 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2838         * AppDomain.cs: implemented DoCallBack method.
2839         * MonoType.cs:
2840         (GetConstructorImpl): when the flag is BindingFlags.Default, set it to
2841         Public, Instance.
2843         NUnit2 tests start moving.
2845 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2847         * Activator.cs: fixed bug #36052. Also added checks to avoid trying to
2848         instantiate an abstract class.
2850 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2852         * Type.cs:
2853         (IsSubclassOf): return false when null. Use != instead of Equals.
2855 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2857         * Type.cs: fixed IsSubclassOf. Patch from Zoltan Varga.
2859 Fri Jan 3 20:18:51 CET 2003 Paolo Molaro <lupus@ximian.com>
2861         * MonoType.cs: fixed Namespace property for nested types.
2863 Fri Jan 3 16:18:27 CET 2003 Paolo Molaro <lupus@ximian.com>
2865         * MonoCustomAttrs.cs: create properly typed arrays when returning
2866         arrays of attributes of a given type.
2868 Fri Jan 3 11:10:14 CET 2003 Paolo Molaro <lupus@ximian.com>
2870         * MonoType.cs: fixed MemberType property for nested types.
2872 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2874         * String.cs: fixed bug #36209.
2876 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
2878         * Activator.cs: implemented method GetObject.
2880 2002-12-28  Marcus Urban <mathpup@mylinuxisp.com>
2882         * Activator.cs: Since the documentation indicates the method
2883         either succeeds or throws one of the listed exceptions, we weren't
2884         expecting that CreateInstance might be returning null.
2886         For more information on the bug, see http://bugs.ximian.com/show_bug.cgi?id=36109
2888 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
2890         * MarshalByRefObject.cs: implemented CreateObjRef.
2892 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2894         * DateTime.cs: fixed bug #30076.
2895         * TimeZone.cs: provide the parameter name in a exception.
2897 2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2899         * DecimalFormatter.cs: fixed bug #35560.
2901 Wed Dec 4 16:04:28 CET 2002 Paolo Molaro <lupus@ximian.com>
2903         * Type.cs: implemented GetInterfaceMap (needs an updated runtime).
2905 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2907         * Array.cs: use Object.Equals (obj, obj) to compare objects to avoid
2908         nulls. Fixes #34909.
2910 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2912         * AppDomain.cs: DoAssemblyResolve now returns when one of the handlers
2913         returns a non-null assembly.
2915 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2917         * MulticastDelegate.cs: make GetInvocationList work for more than 1
2918         delegate.
2920 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2922         * MulticastDelegate.cs: implemented GetInvocationList. I'll check later
2923         if this is the correct order of invocation.
2925 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2927         * Type.cs: changed the signature of internal_from_name. Modified
2928         the overloads of GetType to use it and check the typeName argument.
2929         Implemented FindInterfaces.
2931 2002-11-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2933         * MarshalByRefObject.cs: undo latest changes. It breaks the build by
2934         some obscure reasons (try make -f makefile.gnu using a corlib which has
2935         the modified version).
2937 2002-11-26  Miguel de Icaza  <miguel@ximian.com>
2939         * String.cs (Concat): Reduce the number of compares required. 
2941 Mon Nov 18 17:54:22 CET 2002 Paolo Molaro <lupus@ximian.com>
2943         * Activator.cs: throw a MissingMethodException if the default
2944         constructor is not found in CreateInstance.
2946 2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2948         * String.cs:
2949         (Equals (str, str)): use 'as' instead of casting to object.
2950         (Equals (obj)): check the length of the strings (until now,
2951         "Hello".Equals ((object) "Hellow World!) was true!).
2953 2002-11-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2955         * MonoType.cs: implemented GetEvent (name, flags).
2957 2002-11-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2959         * AppDomain.cs: implemented a couple of methods called from the runtime
2960         to fire AssemblyLoad and AssemblyResolve events.
2962 2002-10-31  Dick Porter  <dick@ximian.com>
2964         * Environment.cs: MonoIO methods now have an error parameter
2966 2002-10-29  Zoltan Varga  <vargaz@freemail.hu>
2968         * Enum.cs: Added support for whitespaces in Enum:Parse().
2970 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2972         * Type.cs: fixed GetProperty (string, Type []) and removed get_property
2973         internal call. Closes bug #32992.
2975 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2977         * Exception.cs: display the inner exception, if any, in ToString ().
2979 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2981         * Environment.cs: fixed StackTrace property.
2983 2002-10-16  Nick Drochak  <ndrochak@gol.com>
2985         * Enum.cs (Parse): Then fix the code so that it works too.
2987 2002-10-15  Nick Drochak  <ndrochak@gol.com>
2989         * Enum.cs (Parse): Use unsigned casts to avoid compiler warnings.
2991 2002-10-12  Nick Drochak  <ndrochak@gol.com>
2993         * IntegerFormatter.cs: Fix compiler warnings.
2995 2002-10-11  Tim Haynes <thaynes@openlinksw.com>
2997         * Type.cs (GetConstructors): Use the correct flags.
2999 2002-10-09  Nick Drochak  <ndrochak@gol.com>
3001         * IntegerFormatter.cs: Suppress insignificant leading zeros
3003 Fri Sep 27 15:06:29 CEST 2002 Paolo Molaro <lupus@ximian.com>
3005         * MonoCustomAttrs.cs: applied patch by "Si Jingnan"
3006         <stonewell@21cn.com> to return also derived types.
3008 2002-09-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3010         * Activator.cs: little fix in CreateInstance (Type, bool).
3012 2002-09-19  Duncan Mak  <duncan@ximian.com>
3014         * Array.cs (CopyTo): Revert back to 1.40, this is stopping
3015         I18N/Common from building right now.
3017 2002-09-19  Nick Drochak  <ndrochak@gol.com>
3019         * Array.cs (CopyTo): Account for Object type and base (primitive) types
3020         * Type.cs (IsAssignableFrom): return false for a null parameter
3022 2002-09-19  Nick Drochak <ndrochak@gol.com>
3024         * Array.cs (CopyTo): Check that source type can be cast automatically
3025         to the destination type.
3027 2002-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3029         * Type.cs: implemented IsAssignableFrom, DefaultBinder and
3030         GetDefaultMembers.
3032 2002-09-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3034         * Char.cs: implemented ToString (char)
3035         * IntegerFormatter.cs: made it internal.
3037 2002-09-13  Nick Drochak  <ndrochak@gol.com>
3039         * Enum.cs (Format): handle the "d" format for both signed and unsigned
3040         underlying types.
3042 2002-09-12  Dick Porter  <dick@ximian.com>
3044         * UIntPtr.cs: Remove the [StructLayout(LayoutKind.Auto)]
3045         attribute, as there doesn't appear to be any struct
3046         layout-depending code here (and corcompare says it should be
3047         LayoutKind.Sequential)
3049         * Decimal.cs: Stub out missing methods, add
3050         [DecimalConstantAttribute] to the constant fields (as shown by
3051         corcompare).
3053         * LocalDataStoreSlot.cs: 
3054         * Environment.cs: 
3055         * Char.cs: 
3056         * Array.cs: Stub out missing methods.
3058         * TypedReference.cs: 
3059         * ArgIterator.cs: Stub out
3061         * AppDomainSetup.cs: 
3062         * AppDomain.cs: Stub out missing methods, add missing
3063         ClassInterface(ClassInterfaceType.None) attribute.
3065 2002-09-12  Nick Drochak  <ndrochak@gol.com>
3067         * Double.cs (ToString): Throw exception when "X" format is passed in.
3069 Wed Sep 11 15:26:34 CEST 2002 Paolo Molaro <lupus@ximian.com>
3071         * MonoType.cs: implemented Module property.
3073 Wed Sep 11 12:49:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
3075         * MonoType.cs, Type.cs: implemented InvokeMember.
3077 Wed Sep 11 11:06:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
3079         * Delegate.cs: check the type passed to CreateDelegate is a Delegate
3080         type. Check the method signature matches.
3082 Sat Sep 7 10:16:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
3084         * RuntimeMethodHandle.cs: implemented GetFunctionPointer().
3086 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
3088         * Console.cs: Specify an encoder, otherwise we will get the UTF8
3089         encoder that by default emits the byte markers.
3091 Fri Sep 6 20:14:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
3093         * Delegate.cs: look also for non-public methods until we have the
3094         security checks in place.
3096 Fri Sep 6 12:20:06 CEST 2002 Paolo Molaro <lupus@ximian.com>
3098         * MonoType.cs: consider also the full name in GetInterface.
3100 Fri Sep 6 12:11:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
3102         * MonoType.cs: implemented GetMembers, GetConstructorImpl and
3103         GetMethodImpl using the binder.
3104         * Type.cs: GetConstructorImpl/GetConstructor fixes.
3106 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
3107         * Enum.cs: Get rid of warning CS0162.
3109 2002-09-04  Miguel de Icaza  <miguel@ximian.com>
3111         * Double.cs, Single.cs, Char.cs, Boolean.cs: Use internal for the
3112         actual value instead of public.
3114         * LocalDataStoreSlot.cs: Make constructor internal.
3116         * Int16.cs, UInt16.cs, Int32.cs, UInt32.cs, Int64.cs, UInt64.cs,
3117         SByte.cs, Byte.cs, Char.cs: Use internal for the actual value
3118         instead of public.
3120 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
3121         * Enum.cs: Fixed Enum.Format so that the "x" format specifier would work
3122                    properly.
3124 2002-08-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3126         * DateTime.cs: fixed buglet.
3128 Tue Aug 27 16:39:47 CEST 2002 Paolo Molaro <lupus@ximian.com>
3130         * MonoType.cs: speedup access to common data.
3132 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3134         * Double.cs: implemented TryParse.
3136         * Math.cs: PowImpl is now private.
3138         * MissingFieldException.cs: implemented Message.
3140         * RuntimeMethodHandle.cs: stubbed GetFunctionPointer.
3142         * _AppDomain.cs: Uncommented ToString.
3144 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3146         * Type.cs:
3147         (IsValueTypeImpl): it's virtual, not abstract. Implemented.
3149 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3151         * ArgumentException.cs: use the field instead of the property for
3152         param_name.
3154         * ArgumentOutOfRangeException.cs: modified Message.
3156         * DateTime.cs: 
3157         (_DoParse): throw out of range exception for year. Removed check
3158         for month (it's done in the constructor).
3160 2002-08-21  Miguel de Icaza  <miguel@ximian.com>
3162         * Environment.cs: Implemented OSVersion property.
3164 2002-08-21  Dietmar Maurer  <dietmar@ximian.com>
3166         * Exception.cs: set stack_trace to null
3168 Wed Aug 21 13:02:20 CEST 2002 Paolo Molaro <lupus@ximian.com>
3170         * AppDomain.cs: implemented ToString().
3172 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3174         * AppDomain.cs: securityInfo can be null in CreateDomain.
3176 2002-08-19  Dick Porter  <dick@ximian.com>
3178         * MonoType.cs: Add a space before the Assembly name in
3179         AssemblyQualifiedName (needed for resource files so the MS runtime
3180         can load types)
3182 2002-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3184         * AppDomain.cs: parameter name when throwing ArgumentNullException.
3186         * ArgumentException.cs: modified Message to do what MS does.
3188         * ArgumentNullException.cs: don't use {0} in message.
3190         * Exception.cs: use Message property in ToString ().
3192 2002-08-14  Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
3194         * WeakReference.cs: Changed the constructor and GetObjectData
3195         method needed for ISerializable implementation in order to be
3196         compatible with SOAP generated by MS.
3198 Wed Aug 14 17:34:07 CEST 2002 Paolo Molaro <lupus@ximian.com>
3200         * MonoType.cs, Type.cs: DeclaringType/ReflectedType fixes.
3202 2002-08-12  Dietmar Maurer  <dietmar@ximian.com>
3204         * Exception.cs (ToString): changed the ouput format.
3206 2002-08-07  Dietmar Maurer  <dietmar@ximian.com>
3208         * MonoType.cs: moved get_method icall to this class, we can
3209         remove it as soon someone provides a full featured GetMethodImpl.
3211         * Type.cs: use GetMethodImpl everywhere.
3213         * Delegate.cs: new CreateDelegate implementations.
3215 2002-08-06  Tim Coleman <tim@timcoleman.com>
3216         * MonoType.cs: 
3217                 Fix bug #28582.  Now checks parameters for properties
3218                 in GetPropertyImpl.
3220 2002-08-04  Nick Drochak  <ndrochak@gol.com>
3222         * Buffer.cs: Throw correct exception in GetByte() and SetByte().
3224 2002-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3226         * String.cs:
3227         (FormatSpecifier): allow white space between the comman and the width
3228         specifier.
3230 2002-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3232         * Int32.cs:
3233         * Int64.cs:
3234         * UInt32.cs:
3235         * UInt64.cs: fixed bug #28050. May be a MS bug?
3237 Thu Jul 18 14:47:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
3239         * MonoType.cs: fix IsArrayImpl.
3241 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3243         * String.cs: make ToLower (culture) and ToUpper (culture) use the
3244         default ToLower and ToUpper and don't throw NotImplemented.
3246 Sat Jul 13 15:09:01 CEST 2002 Paolo Molaro <lupus@ximian.com>
3248         * Type.cs: make GettTypeCode an icall. Test implementation of
3249         GetMember().
3251 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3253         * AppDomainSetup.cs: implemented LoaderOptimization.
3255 2002-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3257         * Activator.cs: some more intermediate results checking in
3258         in CreateInstance and CreateInstanceFrom and use GetConstructor and
3259         Invoke only with Type [] until the other overloaded versions work.
3261 2002-07-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3263         * Activator.cs: reformatted. Implemented CreateInstance* methods
3264         that return ObjectHandle.
3266         * AppDomain.cs: implemented CreateInstance*AndUnwrap methods.
3268 2002-07-03  Nick Drochak  <ndrochak@gol.com>
3270         * Decimal.cs (Divide): Short cut the case where the dividend is 0 (and
3271         the divisor is not) and avoid the icall, which seems to have a bug.
3273 2002-07-03  Nick Drochak  <ndrochak@gol.com>
3275         * Double.cs (CompareTo): Correctly handle the case where the instance
3276         is NaN. Also return 0 if the values are equal.
3278 2002/07/03  Nick Drochak <ndrochak@gol.com>
3280         * MissingMethodException: Add missing Message property
3281         * MissingMemberException: Add missing Message property
3283 2002-06-30  Nick Drochak  <ndrochak@gol.com>
3285         * Double.cs (CompareTo): Just see which is bigger.  Don't use the
3286         subtraction trick, it doesn't work when the values have a diference of
3287         less than one.
3289         * Single.cs (CompareTo): same
3291 2002-06-27  Martin Baulig  <martin@gnome.org>
3293         * UIntPtr.cs (UIntPtr.Zero): Use an explicit `u' suffix in the
3294         constructor argument.  [FIXME: The implicit conversion to an
3295         unsigned integer doesn't work with mcs.]
3297 2002-06-26  Martin Baulig  <martin@gnome.org>
3299         * DecimalFormatter.cs: Removed MSTEST stuff, use `System',
3300         not `S = System'.  This file now compiles with mcs.
3302         * String.cs: Removed the already ifdef-outed __arglist Concat function
3303         to make it compile with mcs.
3305 2002-06-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3307         * IntegerFormatter.cs:
3308         (FormatParse.FormatNumber): fixed custom format for negative numbers.
3310 2002-06-21  Martin Baulig  <martin@gnome.org>
3312         * Double.cs: Replace the private `enum State' with constants since this
3313         will avoid some bigger headaches in mcs.
3315 Thu Jun 20 17:51:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
3317         * TimeSpan.cs: do not pollute the namespace with the
3318         System.Parser name.
3320 2002-06-18  Nick Drochak  <ndrochak@gol.com>
3322         * ArgumentException.cs: Use the message given in the constructor when
3323         accessing the Message property.  Thanks to Dietmar for the help with 
3324         "base".
3326 2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
3328         * MonoType.cs: GetField is now a InternalCall
3330 2002-06-13  Nick Drochak  <ndrochak@gol.com>
3332         * DateTime.cs: (Parse): Accept dates that have no hour,min,sec. in the
3333         sortable format(s), e.g. "2002-02-25"
3335 2002/06/12  Nick Drochak <ndrochak@gol.com>
3337         * Random.cs (Next): Fix math error.  Return a number within the range.
3339 2002-06-12  Nick Drochak  <ndrochak@gol.com>
3341         * String.cs (IndexOf): Return -1 if start index is equal to string
3342         length.
3344 2002-06-10  Duncan Mak  <duncan@ximian.com>
3346         * Convert.cs (ToDouble): Remove rounding in ToDouble (float).
3347         (ToType): Added null field in conversionTable to avoid
3348         IndexOutOfRangeException. Changed what exceptions we throw to match
3349         the spec.
3350         
3351 2002-06-11  Nick Drochak  <ndrochak@gol.com>
3353         * Int64.cs (Parse): Added unique strings to the messages where we throw
3354         a FormatException. Needed these to debug, so just left them in since
3355         they might be useful later. Fixed Currency parsing where we weren't
3356         looking at CurrencyDecimalSeparator, etc.
3358 2002-06-09  Lawrence Pit  <loz@cable.a2000.nl>
3360         * DateTime.cs: fixes to pass tests M0 to M6:
3361                 if yy pattern then year values >= 30 are in 20th century
3362                 rfc1123 pattern is always in GMT, therefor useutc must be false
3363         made GetNow() internal static so it can be called from TimeZone.
3364         * TimeZone.cs: removed dependency on year 2002 from initialization of 
3365         current timezone.
3367 2002-06-09  Duncan Mak  <duncan@ximian.com>
3369         * Convert.cs (ToType): Rearranged what Exceptions we throw to
3370         match MS behavior.
3372 2002-06-08  Duncan Mak  <duncan@ximian.com>
3374         * Decimal.cs: Added support for the IConvertible interface.
3376 2002-06-08  Martin Baulig  <martin@gnome.org>
3378         * Enum.cs (IsDefined): `value' may be of the enum's type itself, it
3379         doesn't necessarily need to be of the enum's underlying type.
3381 2002/06/07  Nick Drochak <ndrochak@gol.com>
3383         * String.cs: Add [Serializable] to class
3384         * SByte.cs (Parse): Add [CLSCompliant(false)] to all the overloads
3386 2002-06-04  Nick Drochak  <ndrochak@gol.com>
3388         * Double.cs (Parse): Recognize the group separator string, but still we
3389         don't check the format for the proper number of digits between
3390         separators. Also throw OverflowException when we get Pos or Neg
3391         Infinity from runtime.
3393 2002-06-03  Duncan Mak  <duncan@ximian.com>
3395         * Convert.cs (ToDouble): Fixed ToDouble (byte value).
3397 Mon Jun 3 12:18:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
3399         * Type.cs: fixed GetTypeCode.
3401 2002-06-02  Duncan Mak  <duncan@ximian.com>
3403         * Convert.cs (ToInt16): use Convert.ToInt16 (int) instead of a direct
3404         cast from an int so that we throw OverFlowException correctly.
3405         
3406         (ToInt64): Use a new 64bit version of ConvertToBase.
3407         
3408         (ConvertToBase): Add checks for overflow (checks Int32.MinValue
3409         and Int32.MaxValue).
3411         (ConvertFromBase64): New 64-bit version of ConvertFromBase.
3413 2002-06-02  Nick Drochak  <ndrochak@gol.com>
3415         * Convert.cs (ToSByte): Check for special value.
3416         * Single.cs (Parse): 
3417         * UInt16.cs (Parse):
3418         * UInt32.cs (Parse): Throw OverflowException if negative
3420 2002-06-02  Duncan Mak  <duncan@ximian.com>
3422         * Convert.cs (DBNull): Point it to DBNull.Value.
3423         (IsDBNull): Instead of checking typecodes, just check to see if
3424         it's the same as the DBNull field.
3426 2002-06-02  Nick Drochak  <ndrochak@gol.com>
3428         * Convert.cs (ConvertFromBase): Detect bad digits correctly.
3430 2002-06-02  Duncan Mak  <duncan@ximian.com>
3432         * Char.cs (Parse): Simplify the Exception handling.
3434         * Convert.cs (ToDecimal): Remove call to Math.Round () when
3435         converting from a float.
3437 2002-05-30  Martin Baulig  <martin@gnome.org>
3439         * MonoType.cs (GetInterface): Implemented.
3441 Thu May 23 17:17:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
3443         * Activator.cs: implemented CreateInstance ().
3445 2002-05-22  Duncan Mak  <duncan@ximian.com>
3447         * Convert.cs (ConvertToBase): Added new 64bit version.
3448         (BuildConvertedString64): New 64bit version of
3449         BuildConvertedString.
3451         This fixes bug 25068.
3453         (ConvertFromBase): Added additional test for checking if the
3454         digits are valid. Thanks to Miguel for coming up with this test.
3456         This fixes bug 25071.
3457         
3458 2002-05-21  Duncan Mak  <duncan@ximian.com>
3460         * Convert.cs (ToType): Rearranged to fit the new layout of
3461         conversionTable.
3463         (conversionTable): Rearranged to fit the layout of the
3464         System.TypeCode enum.
3466         This should fix bug 25075.
3467         
3468 2002-05-21  Duncan Mak  <duncan@ximian.com>
3470         * Convert.cs (ToString): Fixed the ToString methods. Previously I had
3471         mixed up the two code paths, one for converting to a specific base
3472         (this case), another from converting from a foreign base to base10
3473         (used by ToInt16|32|64 (string, int)). This fixes bug 25068.
3475         * Convert.cs (ToByte)
3476         (ToSByte): Fixed bug 25074. Added more bits to ConvertFromBase so
3477         that we won't confuse FormatException with OverflowException.
3479 2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
3481         * Environment.cs: CommandLine missed spaces between arguments.
3482         Implemented StackTrace. Returning MachineName in UserDomainName
3483         instead of null.
3484         
3485 Tue May 21 17:25:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
3487         * MonoCustomAttrs.cs: handle inherit argument.
3489 2002-05-21  Nick Drochak  <ndrochak@gol.com>
3491         * Math.cs (Pow): Change icall method name and insert parameter
3492         checks in for infinities and NaN.
3494 2002-05-13  Miguel de Icaza  <miguel@ximian.com>
3496         * Double.cs (Parse): Reimplement by cleaning up the string first,
3497         and then passing to strtof in the mono runtime.
3499         * Single.cs (Parse): Use the Double implementation and cast to
3500         float. 
3502 2002-05-21  Nick Drochak  <ndrochak@gol.com>
3504         * Math.cs 
3505                 (Ceiling): Check for "special" values
3506                 (Floor): Check for "special" values
3507                 (Round): Fix off-by-one error on decimal shifting
3509 2002-05-20  Lawrence Pit  <loz@cable.a2000.nl>
3511         * DateTime.cs: ToString () using "G" format specifier 
3513 2002-05-19  Martin Baulig  <martin@gnome.org>
3515         * Convert.cs (FromBase64CharArray): Do correct exception handling.
3517 2002-05-19  Martin Baulig  <martin@gnome.org>
3519         * Convert.cs (FromBase64CharArray): Convert the char array using
3520         System.Text.UTF8Encoding, not UnicodeEncoding (which is UTF-16) to
3521         a byte array.
3523 2002-05-17  Miguel de Icaza  <miguel@ximian.com>
3525         * MonoType.cs: Style changes.
3527         * Type.cs: Style changes.
3529 2002-05-16  Piers Haken <piersh@friksit.com
3531         * UInt64.cs: fix declaration of IConvertible.To* overrides.
3533 2002-05-16  Nick Drochak  <ndrochak@gol.com>
3535         * BitConverter.cs (ToString): Add parameter check for invalid start 
3536         index.
3538         * Console.cs: Use AutoFlush on the StreamWriter for stdin and stdout
3539         now that StreamWriter uses buffering
3541 2002-05-14  Miguel de Icaza  <miguel@ximian.com>
3543         * Double.cs: Oops.  Also handle exponents without finding a dot.
3545 2002-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3547         * ChangeLog: removed empty entry at the top of the file.
3549         * Int32.cs: made static functions used by Parse internal.
3551         * Int64.cs:
3552         * UInt32.cs:
3553         * UInt64.cs: removed static fucntions used by Parse and use the ones
3554         in Int32.cs
3556 2002-05-12  Daniel Morgan <danmorg@sc.rr.com>
3558         * IServiceProvider.cs: added using System
3560 2002-05-09  Daniel Morgan <danmorg@sc.rr.com>
3562         * Single.cs: copied ToString() and Parse() methods from 
3563         Double to Single and modified a tiny bit for Single.  
3564         There is still a FIXME for Double and Single about
3565         passing the format and provider info to the icall too.
3567 2002-05-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3569         * Int32.cs:
3570         * Int64.cs:
3571         * UInt32.cs:
3572         * UInt64.cs (Parse): don't use Char.IsNumber to test for hex digits.
3573         Don't use a delegate to test for valid digits.
3575 2002-05-01  Duncan Mak  <duncan@ximian.com>
3577         * Convert.cs: 
3578         * Math.cs: Added missing CLSCompliant attributes where necessary.
3579         
3580 2002-04-30  Duncan Mak  <duncan@ximian.com>
3582         * ArgumentException.cs (Message): 
3583         * ArgumentOutOfRangeException.cs (Message): Added.
3585 2002-04-30  Nick Drochak  <ndrochak@gol.com>
3587         * MonoType.cs: Remove unused variable and eliminate a compiler warning.
3589 Mon Apr 29 15:32:02 CEST 2002 Paolo Molaro <lupus@ximian.com>
3591         * Environment.cs: support for Exit(), CommandLine, CommandLineArgs ().
3593 2002-04-28  Duncan Mak  <duncan@ximian.com>
3595         * DivideByZeroException.cs: Added missing serialization constructor.
3597         * UnauthorizedAccessException.cs: Added the missing Serializable attribute.
3599 2002-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3601         * Math.cs: fix Floor () and Round (). Closes #23960.
3603 2002-04-27  Nick Drochak  <ndrochak@gol.com>
3605         * Array.cs (IList.Contains): Should throw a RankException if this is 
3606         called on a Rank > 1 array. Not in the docs, but this is what the 
3607         MS.NET does.
3609 2002-04-26  Duncan Mak  <duncan@ximian.com>
3611         * MissingMemberException.cs: Made the message variable 'protected'
3612         instead of 'private', so that we can see it in
3613         MissingMethodException and MissingFieldException.
3615         * MissingFieldException.cs:
3616         * MissingMethodException.cs: Added missing (string, string)
3617         constructor, and also the Message property.
3619 2002-04-26  Martin Baulig  <martin@gnome.org>
3621         * Enum.cs: Implemented the IConvertible methods.
3623 2002-04-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3625         * SByte.cs: little change in Parse (string) to avoid incorrect
3626         OverflowException thrown (reported by nickd).
3628 2002-04-22  Miguel de Icaza  <miguel@ximian.com>
3630         * ValueType.cs: Add Serializable attribute.
3632         * String.cs: ifdef-out out the __arglist Concat function until I
3633         add support for that to mcs.
3635 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
3637         * AppDomain.cs (GetValue): usage of the correct icall (bug)
3639 Wed Apr 24 21:15:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
3641         * GC.cs: implement most of the methods as icalls.
3643 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3645         * DecimalFormatter.cs (ToString): return correct value when the
3646         decimal number is 0.
3648 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
3649         
3650         * Type.cs (GetProperty): fixed call syntax (needs an empty array not null)
3651         * MonoType.cs (GetPropertyImpl) : basic implementation (ignores types, bindingAttr, modifiers)
3653 2002-04-24  Nick Drochak  <ndrochak@gol.com>
3655         * Double.cs (Parse): Handle case where there are no digits before the 
3656         decimal point, such as ".1".
3658 2002-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3660         * Int32.cs:
3661         * UInt32.cs:
3662         * Int64.cs:
3663         * UInt64.cs: fixed bug #23738 (hex numbers parsed wrong).
3665 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
3667         * String.cs (Split): fixed invalid split of count 0 and 1.
3668         
3669 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
3670         
3671         * String.cs (LastIndexOf): fixed argument checking.
3672         * String.cs (Equals): made internal for performace.
3674 2002-04-23  Nick Drochak  <ndrochak@gol.com>
3676         * String.cs (Join): check argument and throw exception if needed
3678 2002-04-23  Nick Drochak  <ndrochak@gol.com>
3680         * String.cs (StartsWith): check argument and throw exception if needed
3682 2002-04-22  Nick Drochak  <ndrochak@gol.com>
3684         * String.cs (IndexOfAny): check arguments and throw exceptions as
3685         neccessary.  ALso remove some debug WriteLines.
3687 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
3689         * String.cs: use internal constructors
3690         buf fix in Concat.
3692 Thu Apr 18 17:16:15 CEST 2002 Paolo Molaro <lupus@ximian.com>
3694         * MonoType.cs: make GetElementType its own icall.
3696 2002-04-18  Nick Drochak <ndrochak@gol.com>
3698         * String.cs: Modified file. Re-add methods needed by the unit tests.
3700 Thu Apr 18 12:38:32 CEST 2002 Paolo Molaro <lupus@ximian.com>
3702         * String.cs: some code speedups and restored GetTypeCode().
3704 2002-04-17      Patrik Torstensson <patrik.torstensson@labs2.com>
3706         * String.cs: New implementation using internal calls.
3707         
3708 2002-04-16  Nick Drochak  <ndrochak@gol.com>
3710         * DecimalFormatter.cs: Trim off excess null characters from the string
3711         that decimal2string gives back.
3713 2002-04-16  Nick Drochak  <ndrochak@gol.com>
3715         * String.cs (SubString): revert my change.  I can't reproduce the
3716         problem anymore.
3718 2002-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3720         * Attribute.cs: added GetHashCode and Equals.
3722 2002-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3724         * Enum.cs: little improvements to Format ().
3726 Thu Apr 11 12:28:13 CEST 2002 Paolo Molaro <lupus@ximian.com>
3728         * String.cs: internalcall GetHashCode().
3729         * Array.cS: optimize access to elements.
3731 Wed Apr 10 21:20:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
3733         * String.cs: make IndexOfAny() use an internalcall.
3735 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3737         * Int32.cs:
3738         * UInt32.cs:
3739         * Int64.cs: 
3740         * UInt64.cs: fixed error when testing for validity of flags.
3742 2002-04-11  Nick Drochak  <ndrochak@gol.com>
3744         * Double.cs: Use an internal call for ToString(). This is just a simple
3745         implementation to get away from throwing a NotImplementedException.
3747 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3749         * Int32.cs:
3750         * UInt32.cs:
3751         * Int64.cs: 
3752         * UInt64.cs: changed Type.GetType () by typeof (), as suggested by
3753         lupus.
3755         * Int32.cs:
3756         * Int64.cs: throw an OverFlowException when parsing a string 
3757         containing a dot followed by any non '0' number.
3759 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3761         * Byte.cs:
3762         * UInt16.cs:
3763         * UInt32.cs:
3764         * UInt64.cs: added complex Parse ().
3766 2002-04-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3768         * SByte.cs:
3769         * Int16.cs:
3770         * Int32.cs:
3771         * Int64.cs: added complex Parse ().
3773 2002-04-09  Nick Drochak  <ndrochak@gol.com>
3775         * Array.cs (BinarySearch): Add checks on paramters before using them
3776         and throw exceptions as needed.
3778         * Enum.cs (Format): Check if [Flags] is applied to enum and convert
3779         "G" format to "F" if so.
3781 Tue Apr 9 13:12:09 CEST 2002 Paolo Molaro <lupus@ximian.com>
3783         * MonoCustomAttrs.cs: return arrays of type Attribute[]
3784         instead of object[].
3786 2002/04/09  Nick Drochak <ndrochak@gol.com>
3788         * String.cs (Substring): Copy only non-null characters to the new
3789         string.
3791 2002-04-09  Nick Drochak  <ndrochak@gol.com>
3793         * IntegerFormatter.cs: Don't use a format character to indicate a
3794         custom format was passed in. It was using 'z' to indicate a custom
3795         format, but really it should throw a format exception if the user
3796         tries to use "z" as the format string. Now it does.
3798         * Activator.cs: New File.
3800 2002-04-08  Nick Drochak  <ndrochak@gol.com>
3802         * Enum.cs (ToString): Big ugly fix for the case where [Flags] is
3803         applied to an enum. Need to handle the different possible integer
3804         types of an enum somehow.  Can anyone say generics?
3806 Mon Apr  8 06:22:42  2002 Piers Haken <piersh@friskit.com>
3808         * Convert.cs: switched the To*(object) methods to use
3809         IConvertible directly instead of calling ChangeType
3811 Sat Apr 6 20:08:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
3813         * ValueType.cs: make Equals() an internalcall.
3815 Fri Apr 5 15:38:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
3817         * Type.cs: also look for nested types in FindMembers.
3818         * MonoType.cs: make GetNestedTypes() an internalcall.
3820 2002-04-05  Nick Drochak  <ndrochak@gol.com>
3822         * Enum.cs (Parse): Handle different underlying types.
3824 2002/04/04 Nick Drochak <ndrochak@gol.com>
3826         * Enum.cs (IsDefined): Throw exception when type of value to look for
3827         is not the correct one.  Attempt to have it work with string values
3828         too, but not sure if the unit tests are getting that far yet.
3830 2002-04-04  Nick Drochak  <ndrochak@gol.com>
3832         * Decimal.cs: Fix a couple of typos.
3834 Wed Apr 3 19:46:00 CEST 2002 Paolo Molaro <lupus@ximian.com>
3836         * Enum.cs: the values array is of the enum and not of the underlying
3837         type. Updates and some bug fixes.
3838         * MonoType.cs: make the internalcall return FullName instead of the
3839         assembly qualified name.
3840         * Type.cs: make ToString () simply return FullName.
3842 2002-04-03  Nick Drochak  <ndrochak@gol.com>
3844         * Type.cs (GetTypeCode): provide some of the implementation for this
3845         method.  It's still too simplistic to be considered complete.
3847 2002-04-02  Dietmar Maurer  <dietmar@ximian.com>
3849         * Object.cs: fixed FieldGetter/FieldSetter signature
3851 2002-04-02  Nick Drochak  <ndrochak@gol.com>
3853         * Environment.cs: add MonoTODO's on parts that should have it.
3855 2002-04-01  Nick Drochak  <ndrochak@gol.com>
3857         * Enum.cs: added reality checks (check parameters to most methods that
3858         need them).
3860 2002-03-30  Dietmar Maurer  <dietmar@ximian.com>
3862         * Object.cs: added FieldGetter/FieldSetter
3864 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3866         * IntegerFormatter.cs: fixed initialization error in static
3867         constructor.
3869 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
3871         * Delegate.cs: added new field to store a trampoline function
3873 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3875         * IntegerFormatter.cs: added workaround for bug #22668. First patch to
3876         make custom format strings work (not fully functional yet).
3878 2002/03/28  Nick Drochak <ndrochak@gol.com>
3880         * IntegerFormatter.cs: Change class from internal to public.  Add
3881         necessary [CLSCompliant(false)] attributes.
3883 2002-03-27  Duco Fijma  <duco@lorentz.xs4all.nl>
3884         * _AppDomain.cs, AppDomain.cs: renamed method GetDate to GetData
3885         (was a typo)
3887 2002-03-28  Nick Drochak  <ndrochak@gol.com>
3889         * Type.cs: Added MonoTODO tags on members that have FIXME, etc.
3891 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
3893         * Console.cs: Modified to get std handles from MonoIO.
3894         * Environment.cs: removed PAL dependencies.
3896 2002-03-25  Miguel de Icaza  <miguel@ximian.com>
3898         * String.cs (System): Removed internal enumeration, because
3899         bootstrapping the corlib at this point does not support
3900         enumerations. 
3902         * IntPtr.cs: Temporary work-around until I fix the assembly
3903         attributes bug.
3905 2002-03-24  Martin Baulig  <martin@gnome.org>
3907         * Enum.cs (GetValues): According to the docu this is sorted after
3908         values, not names.
3910         * String.cs (System): Removed enumeration, because it is pretty
3911         hard to support enumerations in /nostdlib mode for the core types.
3913 Tue Mar 19 18:18:49 CET 2002 Paolo Molaro <lupus@ximian.com>
3915         * Array.cs: move error handling in the catch block.
3916         * MulticastDelegate.cs: remove == and != operators that were
3917         removed with the delegate changes (when you add stuff, please do not
3918         remove existing functionality!).
3919         * Type.cs: if a property is not found in a type, search for it
3920         in the parent types, too.
3922 2002-03-18  Dan Lewis <dihlewis@yahoo.co.uk>
3923         
3924         * Math.cs: changed to use icall instead of PAL.
3926 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
3928         * Double.cs: added check for NaN (Bug [22082])
3930 2002-03-19  Nick Drochak  <ndrochak@gol.com>
3932         * Enum.cs (Equals): check for null and throw if it is.
3933         * Enum.cs (Format): check for null parameters and throw if necessary.
3934         This method still needs more argument checking.
3936 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
3938         * Enum.cs (Equals): check if Enums are of the same type
3940 2002-03-18  Nick Drochak  <ndrochak@gol.com>
3942         * Double.cs: Explicitly handle comparisons in CompareTo() for
3943         Positive/Negative Infinity and NaN. Unit Test now passes on Linux.
3945         * Enum.cs(CompareTo): Check types of values before trying to compare.
3946         Throw exceptions if types are invalid or don't match.
3948 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
3950         * Array.cs: Add some extra debugging information.
3952 2002-03-15  Nick Drochak  <ndrochak@gol.com>
3954         * Array.cs: Added IList and IEnumerable. 
3956 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
3958         * UInt64.cs, UInt32.cs, UInt16.cs: Mark public parse methods as
3959         NonCLSCompliant. 
3961 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
3963         * Delegate.cs (Equals): also compare method_ptr 
3964         (GetHashCode): returm method_ptr as hash
3966 2002-03-13  Duco Fijma  <duco@lorentz.xs4all.n>
3967         * TimeSpan.cs: removed the use of Custom Numeric Format Strings,
3968         such as 42.ToString("0000000"), as these are (currently) not implemented
3969         in System.IntegerFormatter. TimeSpan luckely can do with Standard
3970         Numeric Format Strings, such as 42.ToString("D7").
3972 2002-03-12  Duncan Mak  <duncan@ximian.com>
3974         * FieldAccessException.cs: 
3975         * MethodAccessException.cs: 
3976         * PlatformNotSupportedException.cs: Inherit from
3977         MemberAccessException, not SystemException.
3979         * ObsoleteAttribute.cs: Made Message and IsError properties
3980         instead of fields.
3982 Tue Mar 12 19:21:18 CET 2002 Paolo Molaro <lupus@ximian.com>
3984         * GC.cs: make SuppressFinalize() a nop.
3985         * Delegate.cs: fix == operator.
3987 2002-03-13  Nick Drochak  <ndrochak@gol.com>
3989         * Enum.cs: Add IConvertible methods. Cyclic dependancy fixed in the
3990         runtime that goes with this patch.
3992 2002-03-10  Martin Baulig  <martin@gnome.org>
3994         * Int32.cs (Parse): Correctly parse negative numbers.
3996 2002-03-08  Martin Baulig  <martin@gnome.org>
3998         * String.cs (Split): Really fix it this time. Also adding several new
3999         testcase to the testsuite.       
4001 2002-03-08  Martin Baulig  <martin@gnome.org>
4003         * Array.cs (Copy): Optimized: removed duplicate null check, removed
4004         two duplicate GetLowerBound() calls and one duplicate IsValueType.
4006 Fri Mar 8 18:49:19 CET 2002 Paolo Molaro <lupus@ximian.com>
4008         * Object.cs: commit my hacked GetHashCode(): it's good enough for now.
4009         * String.cs: use the dumb code for IndexOf(string): this is worth
4010         15-20 % speedup in mcs compile with mint.
4012 Fri Mar 8 12:45:44 CET 2002 Paolo Molaro <lupus@ximian.com>
4014         * String.cs: revert change to Split() that broke the compiler (hi martin!:-).
4016 2002-03-07  Martin Baulig  <martin@gnome.org>
4018         * String.cs (Join): Throw an ArgumentNullException.
4019         (LastIndexOf (string,int,int)): This method does a backwards search,
4020         so startIndex points to the end of value, not to its beginning. Don't
4021         throw an exception if startIndex equals this.Length. Always return -1
4022         if startIndex is smaller than the length of value.
4023         (Replace (string,string)): Replace all occurences of oldValue.
4024         If newValue is null, all occurences of oldValue are to be removed.
4025         (Split (char[],int)): Return an empty array if maxCount is zero, throw
4026         an ArgumentOutOfRangeException if it's less than zero. Return maxValue
4027         elements, not maxValue+1.
4029 Thu Mar 7 17:16:06 CET 2002 Paolo Molaro <lupus@ximian.com>
4031         * MonoType.cs: make GetEvents() an internal call.
4032         * MulticastDelegate.cs: copy the passed in array.
4034 2002-03-06  Martin Baulig  <martin@gnome.org>
4036         * Array.cs (Copy): Use FastCopy when appropriate and do correct
4037         exception handling.
4039 2002-03-06  Duco Fijma  <duco@lorentz.xs4all.nl>
4040         * CharEnumerator.cs: fixes to CharEnumertor.MoveNext, fixing 
4041         some of the failures found be new tests (see ChangeLog in 
4042         Test/System). Comments added to this method, based on
4043         the representation invariant of this class, that (try to) explain
4044         why it now should be correct.
4046 2002-03-06  Dietmar Maurer  <dietmar@ximian.com>
4048         * Int64.cs (Parse): bug fix for max. negative value. 
4050 2002-03-07  Nick Drochak  <ndrochak@gol.com>
4052         * RuntimeTypeHandle.cs: Add Serializable attribute as the docs say.
4053         I need to understand what the difference between the attribute and
4054         the interface is.
4056 2002-03-06  Martin Baulig  <martin@gnome.org>
4058         * Array.cs (Copy): Always throw an ArrayTypeMismatchException, not
4059         an InvalidCastException if the widening conversion failed. See
4060         testcases #M94-#M96.
4062         * Array.cs (CopyTo): Bug fix from Ajay Dwivedi, correctly handle
4063         arrays with non-zero lower bounds. Also adding testcases #F10-#F13
4064         for this.
4066         * Array.cs (CopyTo): Reverted my last change, it was incorrect.
4067         (Copy): Actually allow copying multi-dimensional arrays.
4069 2002-03-05  Duncan Mak  <duncan@ximian.com>
4071         * Convert.cs:
4072         (DBNull) Added the missing field.
4073         (IsDBNull) Fixed typo.
4074         (ToByte (string, int)) Implemented.
4075         (ToString (byte, int)) Implemented.
4076         (ConvertToBase)
4077         (BuildConvertedString) internal functions used for converting values to
4078         a specific base.
4080         * Int16.cs: 
4081         * Int32.cs:
4082         * Int64.cs:
4083         * Single.cs:
4084         * UInt16.cs: 
4085         * UInt32.cs: Implemented the IConvertible interface.    
4087         * CharEnumerator.cs: Renamed to variables to be clearer and
4088         changed some of the tests to conform to the 1.0 spec.
4090 2002-03-06  Martin Baulig  <martin@gnome.org>
4092         * Array.cs (Copy): Calculate absolute array position here and use
4093         GetValueImpl() and SetValueImpl() with that position. We can now
4094         copy multi-dimensional arrays.
4095         (CopyTo): Small bug fix.
4097 2002-03-05  Duco Fijma  <duco@lorentz.xs4all.nl>
4099         * Version.cs: CompareTo changed according the LAMESPEC discovered by 
4100         Nick (See VersionTest.cs).
4101         * CharEnumerator.cs: fixed two bugs in MoveNext. It had an off-by-one
4102         error comparing the current position (idx) against the length of the
4103         string iterated and it set idx to an unrecognized special value (-2)
4105 Tue Mar 5 17:34:14 CET 2002 Paolo Molaro <lupus@ximian.com>
4107         * SByte.cs, UInt64.cs: implement IConvertible interface. Nobody wants
4108         to do this dirty work, but someone has to do it (and I need it to pass
4109         the "200 sample tests compiled on linux" mark).
4111 2002-03-06  Nick Drochak  <ndrochak@gol.com>
4113         * Attribute.cs
4114         * DecimalFormatter.cs
4115         * Delegate.cs
4116         * Double.cs
4117         * GC.cs
4118         * Int16.cs
4119         * Int32.cs
4120         * MonoType.cs
4121         * RuntimeMethodHandle.cs
4122         * RuntimeTypeHandle.cs
4123         * String.cs
4124         * Type.cs:
4125                 Add [MonoTODO]'s to places where we currently throw a
4126                 NotImplementedException.
4128 2002-03-05  Dietmar Maurer  <dietmar@ximian.com>
4130         * Int16.cs (Parse): do not overflow on max negative value
4132         * Int32.cs (Parse): do not overflow on max negative value
4134 Mon Mar 4 20:36:05 CET 2002 Paolo Molaro <lupus@ximian.com>
4136         * Type.cs: fixed IsClass.
4137         * MonoType.cs: fixed MemberType, IsPrimitiveImpl, IsPointerImpl,
4138         IsByRefImpl. Added GetInterfaces().
4139         * IServiceProvider.cs: compilation fix.
4141 Mon Mar 4 18:37:03 CET 2002 Paolo Molaro <lupus@ximian.com>
4143         * Array.cs: allow copying an empty array to an empty array.
4145 Mon Mar 4 17:59:16 CET 2002 Paolo Molaro <lupus@ximian.com>
4147         * String.cs: fixed LastIndexOf (string) to do a bit of argument
4148         checking.
4150 2002-03-04  Duco Fijma  <duco@lorentz.xs4all.nl>
4151         * Version.cs: many fixes to failures found by the newly created
4152         test cases for this class. Specifically, the CompareTo member
4153         returned wrong values due to the use of Int32.MaxValue as a special
4154         value indicating an "undefined" version component. Also implemented the
4155         missing operators (==, <, >, etc.), one missing constructor and
4156         and some exception throwing.
4158 2002-03-04  Nick Drochak  <ndrochak@gol.com>
4160         * IServiceProvider.cs: Add missing attribute: ComVisible(false)
4161         * Attribute.cs: Add missing attributes: Serializable and
4162         AttributeUsage(AttributeTargets.All)
4164 Mon Mar 4 11:26:49 CET 2002 Paolo Molaro <lupus@ximian.com>
4166         * MonoType.cs: implemented GetConstructors(), GetFields(),
4167         GetMethods(), GetProperties().
4168         * Object.cs: added debugging icall obj_address().
4169         * Type.cs: fixed the binding flags for some Get* methods.
4170         Implemented FindMembers() as calls to the specific GetMember
4171         methods.
4173 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
4174         * BitConverter.cs: fixed one little bug: ToString(s, n, 0) 
4175         should give an exception for n>=s.Length.
4177 2002-03-01  Martin Baulig  <martin@gnome.org>
4179         * Array.cs: More argument checking and bug fixing.
4181 2002-03-01  Miguel de Icaza  <miguel@ximian.com>
4183         * BitConverter.cs: Indentation match
4185         * AppDomain.cs: Added MonoTODOs to this too.
4187         * Buffer.cs: Added MonoTODOs to this.
4189 2002-03-01  Martin Baulig  <martin@gnome.org>
4191         * Array.cs: Added argument checking to all methods where it was missing.
4193 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
4195         * BitConverter.cs: Fixed bugs in ToString methods
4197 Fri Mar 1 15:20:00 CET 2002 Paolo Molaro <lupus@ximian.com>
4199         * MulticastDelegate.cs: implement operators so mcs3 can be used on linux.
4201 2002-03-01  Nick Drochak  <ndrochak@gol.com>
4203         * BitConverter.cs: Throw ArgumentException like mscorlib, instead of
4204         ArgumentOutOfRangeException like the docs say.
4206 2002-03-01  Martin Baulig  <martin@gnome.org>
4208         * Enum.cs (CompareTo): Correctly override this method from IComparable.
4210         * Console.cs (setIn, setOut, setError): It's called SetIn, SetOut, SetError.
4212 2002-02-28  Martin Baulig  <martin@gnome.org>
4214         * String.cs: This file now passes the testsuite on Linux :-)
4215         
4216         * String.cs (Intern, IsInterned): The interncalls are now called _Intern and _IsInterned;
4217         make them private and provide C# wrappers which do proper argument checking.
4219         * String.cs (Format): Correctly handle escaped brackets.
4221         * String.cs (_CompareChar): New internal function which compares two chars.
4222         (_Compare): Provide an internal compare method which can do all sorts of
4223         comparision and call it from all the Compare() methods. Also fixed a lot of
4224         bugs here, this code now actually passes the testsuite.
4226 2002-02-28  Duncan Mak  <duncan@ximian.com>
4228         * Convert.cs: Added the missing methods. The new class status page
4229         kicks ass, it even found my typos! Woohoo!
4230         (ConvertFromBase): Moved the Exception throwing in here and
4231         removed the other occurances so it's all centralized now.
4232         (ISDBNull): Implemented.
4233         (GetTypeCode): Implemented.
4235 2002-02-27  Duco Fijma  <duco@lorentz.xs4all.nl>
4236         * Guid.cs: Guid.ToString("") and Guid.ToString(null) is now understood as Guid.ToString("D") 
4237         just as in mscorlib. There is (probably) a documentation bug in the MS FrameWork SDK, which
4238         states that a lacking format should be interpreted as "N".  
4239         Also added [Serializable] attribute
4240         * TimeSpan.cs: some formatting and added the [Serializable] attribute
4242 2002-02-26  Duncan Mak  <duncan@ximian.com>
4244         * WeakReference.cs: Committed for Ajay Kumar Dwivedi.   
4246 2002-02-26  Martin Baulig  <martin@gnome.org>
4248         * TimeZone.cs: Use an internal enum rather than magic numbers to access the
4249         fields of the interncall GetTimeZoneData.
4251         * DateTime.cs: Implemented Parse and fixed a few bugs.
4253         * String.cs (TrimStart): Small fix.
4255 2002-02-26  Martin Baulig  <martin@gnome.org>
4257         * DateTime.cs: ParseExact is now fully functional.
4259         * String.cs (TrimEnd): Small fix.
4261 2002-02-26  Duco Fijma <duco@lorentz.xs4all.nl>
4262         * TimeSpan.cs: Added method TimeSpan.FromMilliseconds, mysteriously 
4263         missing for about six months.
4265 Tue Feb 26 14:21:19 CET 2002 Paolo Molaro <lupus@ximian.com>
4267         * UInt64.cs: fixed Parse method () to handle some of the NumberStyle flags.
4269 2002-02-26  Martin Baulig  <martin@gnome.org>
4271         * DateTime.cs: Miguel already committed this, but there was still a
4272         ChangeLog entry for this missing ....
4273         We're now reusing functionality from TimeSpan, printing dates is
4274         fully implemented, currently working on parsing.
4276         * TimeZone.cs: Fully implemented this. There's a new InternCall in the
4277         runtime for this.
4279 Fri Feb 22 18:47:08 CET 2002 Paolo Molaro <lupus@ximian.com>
4281         * MonoType.cs: disable constructor.
4282         * Object.cs: make GetType() an internalcall.
4283         * Type.cs: added correct bindingflags to GetMethods ().
4284         All such calls should be reviewed to use the correct flags.
4286 Thu Feb 21 19:23:46 CET 2002 Paolo Molaro <lupus@ximian.com>
4288         * Type.cs, MonoType.cs: type_is_subtype_of () changed to include extra
4289         argument.
4291 Thu Feb 21 16:56:51 CET 2002 Paolo Molaro <lupus@ximian.com>
4293         * Type.cs: implemented IsAssignableFrom.
4295 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
4296         * Guid.cs: fixed Guid.Guid(string) ctor. Changed format:
4297         "{0xdddddddd,0xdddd,0xdddd,{0xdd},{0xdd},{0xdd},{0xdd},{0xdd},{0xdd}}" 
4298         to "{0xdddddddd,0xdddd,0xdddd,{0xdd,0xdd,0xdd,0xdd,0xdd,0xdd}}" 
4299         The former is documented by Microsoft. The latter is how they
4300         actually implemented it in mscorlib:-)
4302 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
4304         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
4305         runtime.
4306         * MonoType.cs: Implemented custom attributes methods.
4309 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
4310         * Guid.cs: 
4312 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
4314         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
4315         runtime.
4316         * MonoType.cs: Implemented custom attributes methods.
4318 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
4320         * Array.cs (CopyTo): use GetLength() instead of GetUpperBound() 
4322 2002-02-19  Duncan Mak  <duncan@ximian.com>
4324         * Convert.cs: Finished up the missing methods in Convert. Added a
4325         new private method ConvertFromBase.
4327 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
4329         * String.cs: impl. IConvertible interface
4331 2002-02-18  Duco Fijma <duco@lorentz.xs4all.nl>
4332         * Guid.cs: actual implementation for Guid.Guid(string) Ctor
4334 2002-02-18  Duncan Mak  <duncan@ximian.com>
4336         * Convert.cs: Changed from using Type.GetType (string) to just
4337         typeof (). Probably will speed things up a bit?         
4339 2002-02-18  Ajay Kumar Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>
4341         * Array.cs:         
4342         1. Fix for GetUpperBound to return correct values
4343         2. made some Properties virtual
4344         3. Adds IsFixedSize and IsReadOnly properties.
4345         4. changes CreateInstance(Type,int[],int[]) to throw Exception
4346         when third arg is null. InternalCall CreateInstance changed to  
4347         CreateInstanceImpl
4348         5. Fixed array.GetUpperBound at a couple of places
4349         6. IndexOf and LastIndexOf now use Object.Equals instead of "=="
4350         7. Added two FIXME's in BinarySearch functions.
4352 2002-02-17  Duncan Mak  <duncan@ximian.com>
4354         * TimeZone.cs:  Applied the rest of Ajay's patch for    
4355         IsDaylightSavingTime. Thanks a lot for the nice explanation of how
4356         it works!
4358 2002-02-17  Duco Fijma  <duco@lorentz.xs4all.nl>
4359         * Guid.cs: added stub for Guid(string) ctor
4361 2002-02-17  Duncan Mak  <duncan@ximian.com>
4363         * Convert.cs: Near-complete implementation of Convert.cs
4365         Added all the To* methods taking (object) and
4366         (object, IFormatProvider) as parameters.
4368         Added [CLSCompliant (false)] attributes to methods dealing with
4369         unsigned types.
4371         Added the missing section on converting to and from DateTime. Only
4372         6 missing methods, all marked with MonoTODOs. Will tackle them later.           
4374 2002-02-16  Duncan Mak  <duncan@ximian.com>
4376         * TimeZone.cs: patch from Ajay Kumar Dwivedi (adwiv@yahoo.com) to
4377         make IsDaylightSavingTime (DateTime) call 
4378         IsDaylightSavingTime (DateTime, DaylightTime).  
4379         
4380         Added internal class CurrentTimeZone from Ajay. It needs more work
4381         to fill in the appropriate internal calls.
4382         
4383 Sat Feb 16 12:41:41 CET 2002 Paolo Molaro <lupus@ximian.com>
4385         * Type.cs: fix IsClass.
4387 Sat Feb 16 12:02:02 CET 2002 Paolo Molaro <lupus@ximian.com>
4389         * String.cs: fix Trim().
4391 Fri Feb 15 21:02:46 CET 2002 Paolo Molaro <lupus@ximian.com>
4393         * String.cs: fix more off by one errors.
4395 Thu Feb 14 18:54:09 CET 2002 Paolo Molaro <lupus@ximian.com>
4397         * MonoType.cs: fix IsValueTypeImpl.
4398         * Type.cs: fix IsEnum. Implement Equals methods.
4400 Wed Feb 13 21:50:13 CET 2002 Paolo Molaro <lupus@ximian.com>
4402         * Int32.cs: implement IConvertible interface.
4403         
4404 2002-02-12  Duncan Mak  <duncan@ximian.com>
4406         * TimeZone.cs: Implemented and added to CVS.
4408 2002-02-11  Duncan Mak  <duncan@ximian.com>
4410         * Convert.cs: Implemented the ChangeType () methods.
4412 Mon Feb 11 19:48:58 CET 2002 Paolo Molaro <lupus@ximian.com>
4414         * Array.cs: make Clone() an internal call.
4416 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
4417         * Changed Guid.NewGuid so that it can use both System.Random and 
4418           System.Security.Cryptography.RandomNumberGenerator
4420 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
4421         * First version of Guid.NewGuid
4423 2002-02-08  Duncan Mak  <duncan@ximian.com>
4425         * RuntimeArgumentHandle.cs: Added to CVS.
4427 Fri Feb 8 19:14:54 CET 2002 Paolo Molaro <lupus@ximian.com>
4429         * CrossAppDomainDelegate.cs, AssemblyLoadEventHandler.cs,
4430         UnhandledExceptionEventHandler.cs: added delegates.
4432 Fri Feb 8 18:06:20 CET 2002 Paolo Molaro <lupus@ximian.com>
4434         * MarshalByRefObject.cs: add ToString () method
4435         (apparently needed by nunit).
4436         * _AppDomain.cs: uncomment ToString(): dietmar fixed the bug triggered
4437         by it in the runtime.
4439 2002-02-08  Dan Lewis <dihlewis@yahoo.co.uk>
4440         
4441         * String.cs (Format): implemented
4443 2002-02-07  Duncan Mak  <duncan@ximian.com>
4444         
4445         * DuplicateWaitObjectException:
4446         * InvalidCastException:
4447         * NotImplementedException:
4448         * NotSupportedException:
4449         * NullReferenceException:
4450         * OutOfMemoryException:
4451         * OverflowException:
4452         * RankException:
4453         * StackOverflowException.cs:
4454         * UnauthorizedAccessException: Added missing constructor used for serialization.
4456 2002-02-07  Dietmar Maurer  <dietmar@ximian.com>
4458         * String.cs (System.Compare): bug fix 
4460 2002-02-06  Dietmar Maurer  <dietmar@ximian.com>
4462         * Enum.cs (Parse,  GetHashCode): impl. 
4464 2002-02-05  Duncan Mak  <duncan@ximian.com>
4466         * DBNull.cs: This is my first crack at the DBNull class. I think I
4467         actually got most of the IConvertible methods right, but I haven't
4468         done the research to test whether or not this is the correct
4469         behavior. IConvertible.ToType () is the most iffy of all, IMHO.
4471         * DllNotFoundException.cs: Inherits from TypeLoadException, not SystemException.
4473 2002-02-05  Dietmar Maurer  <dietmar@ximian.com>
4475         * Enum.cs: added more functionality (GetName, ToObject, Equals)
4477 2002-01-31  Duncan Mak  <duncan@ximian.com>
4479         * InvalidOperationException.cs:
4480         * NotFiniteNumberException.cs:
4481         * ObjectDisposedException.cs:
4482         * TypeInitializationException.cs: Added missing bits for serialization/
4483         
4484         * AppDomainUnloadedException.cs:
4485         * ApplicationException.cs:
4486         * ArgumentOutOfRangeException.cs:
4487         * ArithmeticException.cs:
4488         * ArrayTypeMismatchException:
4489         * BadImageFormatException.cs:
4490         * Exception.cs:
4491         * MissingMemberException.cs:
4492         * TypeLoadException.cs: Added missing bits for serialization.
4494 2002-01-30  Duco Fijma <duco@lorentz.xs4all.nl>
4495         * Guid.cs: implemented everything but Guid.NewGuid
4497 Tue Jan 29 22:32:36 CET 2002 Paolo Molaro <lupus@ximian.com>
4499         * _AppDomain.cs: remove ToString() method: it doesn't seem right 
4500         to have it in this interface and it screws up the method vtable setup.
4502 2002-01-28  Andrei Zmievski <andrei@php.net>
4504         * Double.cs: implemented IConvertible interface.
4506 2002-01-28  Miguel de Icaza  <miguel@ximian.com>
4508         * ArgumentException.cs: Implement serialization constructor.
4509         (GetObjectData): Implement serializer.
4510         
4511         * ArgumentNullException.cs: Implement serialization constructor.
4513         * Exception.cs: Implement serialization constructor.
4514         (GetObjectData): Implement serializer.
4516 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
4518         * DateTime.cs (UnixEpoch): The Begining of the Unix epoch.
4520 2002-01-23  Duncan Mak  <duncan@ximian.com>
4522         * EntryPointNotFoundException.cs:
4523         * FormatException: Added missing constructor and related bits.
4525         * TypeLoadException: Added missing constructor, methods and properties.
4527 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
4529         * AppDomain.cs (GetAssemblies): Use foreach construct instead of
4530         manually getting the enumerator.
4532         (AppDomain.AppDomain): Prime the loaded assemblies with the
4533         assemblies loaded by the runtime in our behalf.
4535         * AppDomainSetup.cs: Remove private keyword, that is the default.
4536         Add a new property DisallowPublisherPolicy.
4538         * AppDomain.cs (AppDomain.GetAssemblies): Implement.
4540 Tue Jan 22 22:51:48 CET 2002 Paolo Molaro <lupus@ximian.com>
4542         * MonoType.cs, Type.cs: many updates, corrected implementation,
4543         completed stubs.
4545 2002-01-20  Andrei Zmievski <andrei@php.net>
4547         * Byte.cs:
4548         * Char.cs: implemented IConvertible interface.
4550         * Boolean.cs: use our own ToString() method directly.
4552 2002-01-20  Duncan Mak  <duncan@ximian.com>
4554         * Files I commited recently: Fixed indentation style.
4556 2002-01-20 Nick Drochak  <ndrochak@gol.com>
4558         * SerializableAttribute.cs: this attrib can be used on enums, structs, 
4559         and delegates too. Added the appropriate usage flags.
4561 2002-01-18  Duncan Mak  <duncan@ximian.com>
4563         * CharEnumerator.cs: Implemented.
4564         * String.cs (System): Fixed the GetEnumerator () method(s).
4566         * ObsoleteAttribute.cs:
4567         * STAThreadAttribute.cs:
4568         * MTAThreadAttribute.cs:
4569         * ThreadStaticAttribute.cs:
4570         * LoaderOptimizationAttribute.cs:
4571         * PlatformNotSupportedException.cs:
4572         * LoaderOptimization.cs: Added to CVS.
4574 2002-01-18  Duncan Mak  <duncan@ximian.com>
4576         * AppDomainUnloadedException.cs:
4577         * MethodAccessException.cs:
4578         * ContextMarshalException.cs:
4579         * CannotUnloadAppDomainException.cs:
4580         * DllNotFoundException.cs:
4581         * EntryPointNotFoundException.cs:
4582         * FieldAccessException.cs:
4583         * TypeUnloadedException.cs:
4584         * MissingFieldException.cs: Added to CVS.
4586         * ApplicationException.cs: 
4587         * MemberAccessException.cs:
4588         * MissingMemberException.cs
4589         * MissingMethodException.cs:
4590         * SystemException.cs: Added [Serializable] attribute.
4592         * Exception.cs: Added [Serializable] attribute, made properties
4593         'Message', 'Source' and 'StackTrace' virtual methods, per 1.0
4594         spec.
4596         * ContextStaticAttribute.cs: Added [Serializable] attribute and
4597         put in the missing constructor.
4599         * Environment.cs: Commented out references to
4600         EnvironmentPermissionAttribute, because they're just stubbed out
4601         right now and has no implementation.
4603 2002-01-16  Andrei Zmievski <andrei@php.net>
4605         * Boolean.cs: implemented IConvertible interface
4607 2002-01-15  Nick Drochak  <ndrochak@gol.com>
4609         * ResolveEventArgs.cs: class should derive from EventArgs.
4611 2002-01-14  Miguel de Icaza  <miguel@ximian.com>
4613         * String.cs (System): Use DefaultMemberName for the String class.
4615 Mon Jan 14 17:06:40 CET 2002 Paolo Molaro <lupus@ximian.com>
4617         * String.cs: use IndexerName in index char accessor.
4619 Thu Jan 10 21:05:23 CET 2002 Paolo Molaro <lupus@ximian.com>
4621         * MonoType.cs: add rank to MonoTypeInfo and implement GetArrayRank.
4622         * String.c: eliminate 64k+ method calls in search.
4623         * Type.cs: handle byref and array types in ToString ().
4625 2002-01-09  Duco Fijma <duco@lorentz.xs4all.nl>
4627         * Guid.cs: created first version
4629 2002-01-10  Dietmar Maurer  <dietmar@ximian.com>
4631         * MonoType.cs: added missing TypeAttributes to MonoTypeInfo 
4633 Wed Jan 9 19:35:07 CET 2002 Paolo Molaro <lupus@ximian.com>
4635         * MulticastDelegate.cs: add == and != operator stubs.
4636         * String.cs: check for null in == operator.
4637         * Type.cs: use a virtual method to get TypeAttributes.
4639 Tue Jan  8 23:30:19 EST 2002 Matt Kimball <matt@kimball.net>
4640         * String.cs: Fixed several off-by-one errors in LastIndexOf* methods
4642 2002-01-09  Nick Drochak  <ndrochak@gol.com>
4643         
4644         * Environment.cs: Comment out Security attribute and put a MonoTODO
4645         there as a reminder.  We need mcs magic to handle security attributes in
4646         corlib.
4648 2002-01-07  Duco Fijma <duco@lorentz.xs4all.nl>
4649         * Created IAppDomainSetup.cs
4651 2002-01-06  Duco Fijma <duco@lorentz.xs4all.nl>
4652         * Created System._AppDomain interface in _AppDomain.cs
4654 2002-01-06  Nick Drochak  <ndrochak@gol.com>
4656         * ResolveEventArgs.cs: New File, completely implemented! ;)
4658 Sat Jan 5 15:53:50 CET 2002 Paolo Molaro <lupus@ximian.com>
4660         * Enum.cs: dummy ToString impl.
4661         * String.cs: dummy format implementations to get compiler errors
4662         somewhat working.
4663         * Type.cs: implemented filter delegates. FindMembers runs the filter, now.
4665 2002-01-05  Ravi Pratap  <ravi@ximian.com>
4667         * TODOAttribute.cs : Augment some more; provide two constructors
4668         with support for a comment too.
4670 2002-01-05  Nick Drochak  <ndrochak@gol.com>
4672         * Uncommented those MonoTODO's now that Ravi's got
4673         the class in there
4675 2001-01-04  Ravi Pratap  <ravi@ximian.com>
4677         * TODOAttribute.cs : Actually add this time ;-)
4679         Change name to MonoTODO.
4681 2002-01-04  Jeffrey Stedfast  <fejj@ximian.com>
4683         * String.cs (Trim): Fixed a few logic bugs in the code that
4684         calculated how much to trim off the end of the string.
4686 2001-01-04  Nick Drochak  <ndrochak@gol.com>
4687         
4688         * Commented out the [TODO] attributes for now.  We don't have the
4689         class written.  Also changed it to [MonoTODO]
4691 2002-01-04  Ravi Pratap  <ravi@ximian.com>
4693         * TODOAttribute.cs : Add. We use this attribute to tag all bits in
4694         our class libraries that are incomplete.
4696         * Array.cs : Apply attribute wherever we find a FIXME which says
4697         we need something to be implemented there.
4699         * Int32.cs : Ditto.
4701         * MulticastDelegate.cs : Ditto.
4703         * RuntimeFieldHandler.cs, RuntimeMethodHandle.cs,
4704         RuntimeTypeHandle.cs : Ditto.
4706         * String.cs : Ditto.
4708         * Type.cs : Ditto.
4710         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs, Delegate.cs : Ditto.
4712         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs, Single.cs, 
4713         UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
4715         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs,
4716         Delegate.cs : Ditto.
4718         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs,
4719         Single.cs, UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
4720         
4721 Thu Jan 3 23:24:04 CET 2002 Paolo Molaro <lupus@ximian.com>
4723         * Delegate.cs: add Remove() stub.
4724         * Enum.cs: add ToObject().
4725         * Type.cs: add IsEnum property.
4727 2002-01-03  Kristian Rietveld  <kris@gtk.org>
4729         * Convert.cs: add non-CLS-compliant ToBoolean methods for char,
4730         DateTime and object.
4732 2001-12-30  Nick Drochak  <ndrochak@gol.com>
4734         * Byte.cs (Parse): Add comments to aid in testing.
4736 2001-12-21  Miguel de Icaza  <miguel@ximian.com>
4738         * Char.cs (Parse): Implement.
4740         * Byte.cs (Parse): Implement a fast parser.
4741         
4742         * SByte.cs (Parse): Implement a fast parser.
4744         * UInt16.cs (Parse): Implement a fast parser.
4745         
4746         * Int16.cs (Parse): Implement a fast parser.
4748         * UInt32.cs (Parse): Implement a fast parser.
4750         * Int32.cs (Parse): Implement a fast parser.
4752 Fri Dec 21 15:14:52 CET 2001 Paolo Molaro <lupus@ximian.com>
4754         * Array.cs: fix null ref in sort code.
4755         * UInt64.cs: add bare-bones parse.
4757 Thu Dec 20 15:29:52 CET 2001 Paolo Molaro <lupus@ximian.com>
4758         
4759         * Byte.cs: removed use of Regexes.
4761 Tue Dec 18 18:39:54 CET 2001 Paolo Molaro <lupus@ximian.com>
4763         * Enum.cs: implemented GetValues(), GetNames(), GetName(),
4764         IsDefined(), GetUnderlyingType().
4765         * String.cs: fix one instance of Compare().
4766         * Type.cs: implemented GetProperties(), GetProperty().
4768 Thu Dec 13 20:10:57 CET 2001 Paolo Molaro <lupus@ximian.com>
4770         * Array.cs: implement CopyTo ().
4771         * Char.cs: implement ToString ().
4772         * Exception.cs: bugfix.
4773         * Int32.cs: bare-bones Parse ().
4774         * MonoType.cs: query the needed info with an internalcall.
4775         * String.cs: speedups, bugfixes, reduced copies.
4776         * Type.cs: added missing fields. Implemented many of the Is*
4777         properties. Implemented GetMethod(), GetConstructor(), GetMethods(),
4778         GetFields(), FindMembers(), ToString().
4779         
4780 2001-12-11  Dick Porter  <dick@ximian.com>
4782         * DateTime.cs: Implemented FromFileTime() and ToFileTime()
4784         * Console.cs: Use handles rather than casting file descriptors
4786 2001-12-08  Nick Drochak  <ndrochak@gol.com>
4788         * Byte.cs (Parse): Start implementation. Parse(string) works, but
4789         now we need to handle other formats
4791 2001-12-06  Dietmar Maurer  <dietmar@ximian.com>
4793         * DateTime.cs: added an icall to GetNow()
4795 2001-12-04  Dietmar Maurer  <dietmar@ximian.com>
4797         * Double.cs: added the parse method from Bob Smith
4799 2001-11-28  Miguel de Icaza  <miguel@ximian.com>
4801         * UInt64.cs: ditto.
4803         * UInt32.cs: ditto.
4805         * Int32.cs (Int32.CompareTo): Fix because we can not just
4806         substract the values.
4808         Return possitive value if the object is null.
4810         * Boolean.cs: (Boolean.CompareTo): ditto.
4812         * Int16.cs (Int16.CompareTo): ditto.
4814         * Byte.cs (Byte.CompareTo): ditto.
4816         * SByte.cs (SByte.CompareTo): ditto.
4818         * Char.cs (Char.CompareTo): ditto.
4819         
4820         * Decimal.cs (Decimal.CompareTo): ditto.
4822         * Int64.cs (Int64.CompareTo): ditto.
4824         * Single.cs: Ditto.
4826         * UInt16.cs: Ditto.
4828 2001-11-28  Nick Drochak <ndrochak@gol.com>
4830         * Byte.cs: Throw NotImplementedException for Parse.
4832 2001-11-27  Derek Holden  <dholden@draper.com>
4834         * IntegerFormatter.cs: Formatting of type "Number" was not
4835         using NumberFormatInfo.NumberNegativePattern.
4837 2001-11-26  Dick Porter  <dick@ximian.com>
4839         * LocalDataStoreSlot.cs: No need to delete a system TLS slot in
4840         the finalise routine any more
4842 2001-11-21  Miguel de Icaza  <miguel@ximian.com>
4844         * ApplicationException.cs: internationalize by adding calls to
4845         Locale.GetText ().  And throw NotImplementedExceptions on calls
4846         that we have to implement.
4848         * Version.cs: Ditto.
4850         * ValueType.cs: ditto.
4852         * UnauthorizedAccessException.cs: ditto.
4854         * UInt32.cs: ditto.
4856         * UInt64.cs: ditto.
4858         * UInt16.cs: ditto.
4860         * TypeLoadException.cs: ditto
4862         * TypeInitializationException.cs: ditto.
4864         * Type.cs: ditto.
4866         * TimeSpan.cs: ditto.
4868         * SystemException.cs: ditto.
4870         * String.cs: ditto.
4872         * StackOverflowException.cs: ditto.x
4874         * Single.cs: ditto.
4876         * SByte.cs: ditto.
4878         * RuntimeTypeHandle.cs: ditto.
4880         * RuntimeMethodHandle.cs: ditto.
4882         * RuntimeFieldHandle.cs: ditto.
4884         * Random.cs: ditto.
4886         * OutOfMemoryException.cs: ditto.
4888         * OperatingSystem.cs: ditto.
4890         * ObjectDisposedException.cs: ditto.
4892         * NullReferenceException.cs: ditto.
4894         * NotImplementedException.cs: ditto.
4896         * NotFiniteNumberException.cs: ditto.o
4898         * MulticastNotSupportedException.cs: ditto.
4900         * MissingMethodException.cs: ditto.
4902         * MemberAccessException.cs: ditto.
4904         * Math.cs: ditto.
4906         * InvalidCastException.cs: ditto.
4908         * IntegerFormatter.cs: ditto.
4910         * Int32.cs: ditto.
4912         * Int16.cs: ditto.
4914         * IndexOutOfRangeException.cs: ditto.
4916         * Environment.cs: ditto
4918         * Enum.cs: ditto.
4920         * DuplicateWaitObjectException.cs: ditto.
4922         * DivideByZeroException.cs: ditto.
4924         * Delegate.cs: ditto
4926         * DecimalFormatter.cs: ditto.
4928         * Decimal.cs: ditto.
4930         * DateTime.cs: ditto.
4932         * Convert.cs: ditto.
4934         * Char.cs: ditto.
4936         * Byte.cs: ditto.
4938         * Boolean.cs: ditto.
4940         * ArrayTypeMismatchException.cs: ditto.
4942         * ArithmeticException.cs: ditto.
4944         * ArgumentOutOfRangeException.cs: ditto.
4946         * ArgumentNullException.cs: ditto.
4948         * Enum.cs: Make it derive from ValueType, add CompareTo method.
4950         * Attribute.cs: Reformat.
4952 2001-11-14  Miguel de Icaza  <miguel@ximian.com>
4954         * Decimal.cs, Double.cs, Byte.cs, Char.cs, Int16, UInt16, Int32,
4955         UInt32, Int64, UInt64, SByte, Single (CompareTo): Throw the
4956         exception if the value is null too.
4958         * Char.cs (CompareTo): ditto.
4960         * ApplicationException.cs: Added constructor that does serialization.
4962         * ParamArrayAttribute.cs: Define attribute correctly.
4964 Wed Nov 14 16:31:19 CET 2001 Paolo Molaro <lupus@ximian.com>
4966         * AppDomain.cs: rename dummy interface _AppDomain to AppDomain_Intf.
4967         * Array.cs: fix Array.Copy.
4968         * AssemblyLoadEventArgs.cs: rename field.
4969         * CLSCompliantAttribute.cs: use correct name for the class.
4970         * Char.cs: fix IsLetter.
4971         * Console.cs, DateTime.cs, Decimal.cs, IConvertible.cs, Math.cs,
4972         SByte.cs, UInt16.cs, UInt32.cs, UInt64.cs, UIntPtr.cs: CLSCompliant updates.
4973         * Convert.cs: CLSCompliant updates, add ChangeType() methods.
4974         * Delegate.cs: renamed target field to m_target.
4975         * Enum.cs: added missing methods.
4976         * MonoType.cs: add a constructor and some needed properties.
4977         * Object.cs: implement GetType().
4978         * String.cs: CLSCompliant updates. Fixes everywhere to remove the
4979         ending 0 char.
4980         * Type.cs: add missing methods/properties.
4982 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
4984         * AttributeUseage.cs: Should define AttributeUsageAttribute.
4986         * CLSCompliant.cs: Marked with AttributeUsage attribute.
4988         * Decimal.cs: Fixed CLSCompliant attributes.
4990         * Type.cs: changed _impl to internal (needs to be accessable by
4991         subclasses).
4993         (TypeHandle): Marked as abstract, implementation removed.
4995         (IsNotPublic, IsPublic, GetMethods, GetPropery, GetConstructor,
4996         GetMethod): Added stub implementations so NUnit would link against
4997         corlib
4999 Tue Nov 6 09:11:43 CET 2001 Paolo Molaro <lupus@ximian.com>
5001         * AppDomain.cs: use an internal constructor for AssemblyBuilder.
5003 2001-11-05  Miguel de Icaza  <miguel@ximian.com>
5005         * NonSerializedAttribute.cs: Add AttributeUsage rules for this
5006         attribute. 
5008 Fri Nov 2 18:23:15 CET 2001 Paolo Molaro <lupus@ximian.com>
5010         * String.cs: fix a couple of bugs.
5011         * AppDomain.cs: use new AppBuilder constructor.
5012         * Buffer.cs, GC.cs, NonSerializedAttribute.cs,
5013         NotImplementedException.cs, ObjectDisposedException.cs,
5014         UnauthorizedAccessException.cs: add implementation.
5015         * OverflowException.cs: fix class name.
5017 2001-10-28  Jeffrey Stedfast  <fejj@ximian.com>
5019         * String.cs: Don't use a terminating nil char for our internal
5020         array.
5022 2001-10-27  Miguel de Icaza  <miguel@ximian.com>
5024         * Delegate.cs (Delegate.CombineImpl): Implement.
5025         (Delegate.Combine): Implement.
5027         * MulticastDelegate.cs (MulticastDelegate.Equals): Implement.
5029         (MulticastDelegate.CombineImpl): This was not as trivial as I
5030         thought. 
5032         * ContextStaticAttribute.cs: Added AttributeUsage to
5033         ContextStaticAttribute. 
5035         * FlagsAttribute.cs: Add AttributeUsage to FlagsAttribute
5037 2001-10-15  Martin Weindel <martin.weindel@t-online.de>
5039         * added Decimal.cs * added DecimalFormatter.cs (internal class
5040         used from System.Decimal)
5042 2001-10-11  Thomas Neidhart <tome@sbox.tugraz.at>
5044         * Convert.cs: Added methods for Base64 transforming just used the
5045           existing System.Security.Cryptography.ToBase64Transform, should
5046           be changed to use a stand-alone class, e.g. Base64Encoder
5047           
5048 2001-10-10  Derek Holden  <dholden@draper.com>
5050         * IntegerFormatter.cs: Added. Implements ToString for all the
5051         integer data types for all the format types.
5053         * Byte.cs: Using IntegerFormatter for ToString's.
5055         * SByte.cs: Using IntegerFormatter for ToString's.
5057         * Int16.cs: Using IntegerFormatter for ToString's.
5059         * Int32.cs: Using IntegerFormatter for ToString's.
5061         * Int64.cs: Using IntegerFormatter for ToString's.
5063         * UInt16.cs: Using IntegerFormatter for ToString's.
5065         * UInt32.cs: Using IntegerFormatter for ToString's.
5067         * UInt64.cs: Using IntegerFormatter for ToString's.
5069 2001-10-07  Miguel de Icaza  <miguel@ximian.com>
5071         * Exception.cs: Implement bits of serialization.
5073         * RuntimeFieldHandle.cs: Implement Serialization features.
5075         * Type.cs: Implement TypeHandle property.
5077 2001-09-28  Dick Porter  <dick@ximian.com>
5079         * LocalDataStoreSlot.cs: Implemented
5081 Tue Sep 25 19:58:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
5083         * String.cs: fix off-by-one error in Trim().
5085 Tue Sep 25 18:52:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
5087         * Type.cs: added GetType () method.
5089 Tue Sep 25 17:29:02 CEST 2001 Paolo Molaro <lupus@ximian.com>
5091         * MissingMethodException.cs, MissingMemberException.cs,
5092         MemberAccessException.cs: added.
5094 Tue Sep 25 16:46:43 CEST 2001 Paolo Molaro <lupus@ximian.com>
5096         * String.cs: don't access the string array out of bounds in
5097         LastIndexOf.  * Type.cs: fix return type of the Assembly property.
5099 Mon Sep 24 20:35:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
5101         * String.cs: make Intern and IsIntern internalcalls.
5103 2001-09-13  Dick Porter  <dick@ximian.com>
5105         * Type.cs: Added a stub for the IsValueType property.
5107         * SystemException.cs (System): Added the other constructor, so
5108         that System.Threading exceptions can inherit it.
5110 2001-09-08  Jeffrey Stedfast  <fejj@ximian.com>
5112         * String.cs (TrimStart): Don't keep looping through the trimchars
5113         once we've found a match.
5114         (TrimEnd): Same here.
5115         (Trim): And finally here.
5117 2001-09-07  Ravi Pratap  <ravi@ximian.com>
5119         * Char.cs (IsLetterOrDigit): Implement.
5120         (IsLower): Implement, but we need to be Unicode aware.
5121         (IsNumber): Implement.
5122         (IsPunctuation): Implement.
5123         (IsWhiteSpace): Implement.
5124         (ToUpper): Fix to subtract 32 from the ASCII value, not 33 :)
5125         (ToLower): Same here.
5127 2001-09-04  Miguel de Icaza  <miguel@ximian.com>
5129         * Object.cs: Shortcut, if (a == b) then return true.
5131 Fri Sep 7 18:34:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
5133         * Delegate.cs: we need a pointer to the method thunk in
5134         the delegate object.
5136 Fri Sep 7 12:28:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
5138         * AsyncCallback.cs, common.src: add AsyncCallback delegate.
5140 2001-09-06  Jeffrey Stedfast  <fejj@ximian.com>
5142         * String.cs (System): Don't mix uint and int.
5144 2001-09-04  Jeffrey Stedfast  <fejj@ximian.com>
5146         * String.cs (BoyerMoore): Modified to not use pointers and to instead
5147         use indexes.
5148         (IndexOf): Use BoyerMoore.
5150 2001-09-02  Miguel de Icaza  <miguel@ximian.com>
5152         * All over: Use the autogenerated enumerations from the ECMA
5153         documentation that Sergey wrote.
5154         
5155         * PlatformID.cs: Add Unix definition.
5157         * OperatingSystem.cs: Use Unix instead of Linux here.
5159         * MarshalByRefObject.cs: Mark class as [Serializable].
5161 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
5163         * Console.cs: impl. (write only)
5164         implemented the stdin stuff
5166         * Int32.cs: impl. real op_Equal
5168 2001-08-24  Miguel de Icaza  <miguel@ximian.com>
5170         * (common.src): Removed IAsyncResult as it is not on CVS yet.
5172         * UIntPtr.cs: Removed CLSCompliant attribute before the namespace,
5173         as it breaks the build.
5175 2001-08-23  Michael Lambert <michaellambert@email.com>
5177         * IntPtr.cs: Optimized unsafe declaration, implemented GetObjectData, 
5178         added CLSCompliant attribute
5180         * IAsyncResult.cs: Added
5182         * common.src: Added IAsyncResult.cs
5184 2001-08-23  Michael Lambert <michaellambert@email.com>
5186         * UIntPtr.cs: Added
5188         * common.src: Added UIntPtr.cs
5190 2001-08-20  Dietmar Maurer  <dietmar@ximian.com>
5192         * Attribute.cs: uncomment some code to make it compile again
5194         * mono.src: removed duplicated Attribute.cs
5196 2001-08-16  Nick Drochak <ndrochak@gol.com>
5198         * Attribute.cs: implemented all methods except GetHashCode()
5200         * common.src: added Attribute.cs so it would compile in
5202 2001-08-10  Dietmar Maurer  <dietmar@ximian.com>
5204         * Object.cs: changed MemberWiseClone to MemberwiseClone, and
5205         marked it as InternalCall
5206         
5207         * common.src: removed UriFormatException.cs because the file is
5208         not there.
5210         * RuntimeTypeHandle.cs: replaced IntrPtr with IntPtr
5211         * Char.cs: replaced byte with char
5213         * Array.cs: make it work with the mono interpreter
5215 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
5217         * Version.cs: Make the class sealed
5219 2001-08-08  Bob Smith  <bob@thestuff.net>
5221         * Random.cs: Many compile fixes.
5222         * Random.cs: I read a bad spec. Class updated to match real spec.
5224 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
5226         * IntPtr.cs: Added and Completed implementation.
5228         * Uri.cs: Add a note.
5230 2001-08-06  Bob Smith  <bob@thestuff.net>
5232         * Random.cs: Compile fix. Needs more testing.
5234 2001-08-06 Garrett Rooney <rooneg@electricjellyfish.net>
5236         * Uri.cs: Initial Implementation.  Parsing needs to be fixed to take 
5237         into account IPv6 addresses, url encoding needs to be implemented, and 
5238         various minor methods need to be written, but this is a decent start.
5240 2001-08-06  Dietmar Maurer  <dietmar@ximian.com>
5242         * common.src: added Object.cs
5244         * mono.src: added ValueType.cs
5246 2001-08-02  Dietmar Maurer  <dietmar@ximian.com>
5248         * Math.cs: replaced libc with libm
5250 2001-08-02  Bob Smith  <bob@thestuff.net>
5252         * Random.cs: Implemented. Needs testing.
5254 2001-08-02  Miguel de Icaza  <miguel@ximian.com>
5256         * IServiceProvider.cs, EventHandler.cs: New files.
5258 2001-08-02  Marcel Narings  <marcel@narings.nl>
5259         
5260         * DateTime.cs: Cleaned up a bit. Added the Add* family members.
5261         Added exceptions. Added IConvertible. Still needs some platform 
5262         dependend stuff, the Parse and ToString members
5264 2001-08-01  Dietmar Maurer  <dietmar@ximian.com>
5266         * Type.cs (GetTypeFromHandle): added placeholder 
5268 2001-07-24  Derek Holden  <dholden@draper.com>
5270         * Boolean.cs: Formatted to code style standard. Added GetTypeCode
5271         which is really an IConvertible defined method.
5273         * Byte.cs: Added a missing Parse method. Put in Parse and ToString
5274         behavior, still need to do the main Parse and ToString.
5276         * Char.cs: Added a bunch of missing ECMA methods. Commented a
5277         specification discrepency. Still didn't any unicode stuff, though
5278         every IsFoo(char c) method has an IsFoo(string, index)
5279         counterpart, added wrappers for those.
5280         
5281         * Convert.cs: Fixed NaN/Inf checking and double/float
5282         rounding. Added ToType for IConvertible classes
5284         * Double.cs: Fixed ECMA min and max values. Added IsInfinity /
5285         IsNaN methods. Changed Inf/NaN internals.
5287         * IConvertible.cs: Added comments for using
5288         Convert.ToType. Changed return values to draft base values.
5290         * Int16.cs: Added a missing Parse statement. Put in behavior for
5291         overloaded ToString and Parse methods.
5293         * Int32.cs: Added a missing Parse statement. Put in behavior for
5294         overloaded ToString and Parse methods.
5296         * Int64.cs: Added a missing Parse statement. Put in behavior for
5297         overloaded ToString and Parse methods.
5298         
5299         * Single.cs: Put in ECMA epsilon value. Added IsInfinity / IsNaN
5300         methods. Changed Inf/NaN internals.
5302         * SByte.cs: Added a missing Parse method. Put in Parse and
5303         ToString behavior, still need to do the main Parse and ToString.
5305         * UInt16.cs: Added a missing Parse statement. Put in behavior for
5306         overloaded ToString and Parse methods.
5308         * UInt32.cs: Added a missing Parse statement. Put in behavior for
5309         overloaded ToString and Parse methods.
5311         * UInt64.cs: Added a missing Parse statement. Put in behavior for
5312         overloaded ToString and Parse methods.
5313         
5314 2001-07-20  Miguel de Icaza  <miguel@ximian.com>
5316         * MulticastDelegate.cs: New File.
5318         * Delegate.cs: New file.
5320         * Enum.cs: New file.
5322         * Attribute.cs: New file.
5324         * Type.cs: New file.
5326         * ParamArrayAttribute.cs: New file.
5328         * RuntimeTypeHandle.cs: New file.
5330         * MulticastDelegate.cs: Added.
5332         * DateTime.cs: Added
5334         * Delegate.cs: Added
5336 2001-07-18  Michael Lambert <michaellambert@email.com>
5338         * AttributeTargets.cs: Add.
5340 2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>
5342         * Char.cs: Made ToUpper and ToLower public methods.
5344         * String.cs: Lots and lots of compile fixes - just need to write
5345         DateTime.cs and this should build completely now.
5347 2001-07-19  Bob Smith (bob@thestuff.net)
5349         * Math.cs: Implemented. 
5351 2001-07-19  Miguel de Icaza  <miguel@ximian.com>
5353         * String.cs: Removed tolower and toupper.
5355         * Char.cs: Moved ToLower and ToUpper from string to here. 
5357         * Convert.cs ToByte (float value), ToByte (double value) Use IsNan
5358         instead of comparing the value to Nan.
5360 2001-07-19  Duco Fijma (duco@lorentz.xs4all.nl)
5362         * TimeSpan.cs: New implementation.
5364 2001-07-18  Scott Sanders <scott@stonecobra.com>
5366          * UriFormatExcpetion.cs: Add - 85% complete
5368 2001-07-17  Jeffrey Stedfast  <fejj@ximian.com>
5370         * String.cs (IndexOf): Slight optimization that allows skipping
5371         over a few chars here and there. This isn't as good as using my
5372         Boyer-Moore implementation, however, Boyer-Moore is only really
5373         good for long strings (I plan on making the code decide which
5374         string search algorithm it should use on-the-fly at some point).
5375         (LastIndexOf): Fix to work correctly.
5376         (BoyerMoore): Took out some unneeded code and fixed an edge-case.
5378 2001-07-16  Michael Lambert <michaellambert@email.com>
5380         * EventArgs.cs: Add.
5381         
5382 2001-07-16  Miguel de Icaza  <miguel@ximian.com>
5384         * Version.cs: Remove my buggy comment.
5386 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
5388         * String.cs: Spelling error of IComparable, object's
5389         MemberwiseClone cannot be overridden.  Made indexer valid for now,
5390         but not sure what to do about this in the long run.  Seems to be a
5391         couple bugs in csc.exe having to do with multiple pointer defs in
5392         the same statement, and returning subclasses of a class in the
5393         return type of an interface function implementation.  Also moved
5394         operators inside of class definition.
5396 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
5398         * String.cs: A tom of compile fixes, although we still don't compile.
5400         * IConvertible.cs: The To*Int64() methods return *Int64's, not
5401         *Int32's. Also, it's ToDateTime() not ToDateType().
5403 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
5405         * String.cs: Apparently I needed to at least write stubs for the
5406         IConvertible interfaces. *sigh*
5408 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
5410         * String.cs: Many logic/other fixes and better usage of the
5411         features of c#
5412         (tolower): New convenience method to help condense code.
5413         (toupper): Another new helper method.
5414         (Compare): Use the new helper methods.
5415         (ToLower): use tolower().
5416         (ToUpper): use toupper().
5417         (LastIndexOfAny): Implemented.
5418         (BoyerMoore): New private helper method that implements a modified
5419         version of the Boyer-Moore search algorithm. Noothing uses it yet
5420         as I'm not 100% sure it even works properly with unicode strings
5421         not to mention it uses a huge lookup-table :-)
5422         (Split): Implemented.
5424 2001-07-13  Jeffrey Stedfast  <fejj@ximian.com>
5426         * TODO: Added things that need to be finished in System.String
5428         * String.cs: New source file implementing the System.String class
5430 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
5432         * TypeCode.cs: UInt64 was UInt63.
5434         * Object.cs: Fixed a numer of compiler errors.
5436         * Array.cs: Fixed some compiler errors.
5438         * IComparable.cs: Fixed some compiler errors.
5440         * ICloneable.cs: Fixed some compiler errors.
5442         * IConvertible.cs: Fixed some compiler errors.
5444         * IFormattable.cs: Fixed a compiler error.
5446         * IFormatProvider.cs: Fixed a compiler error.
5448         * IDisposable.cs: Fixed a compiler error.
5450         * IFormatProvider.cs: Added public accesability type to
5451         IFormatProvider.
5453         * Exception.cs: Added a using statement to remove compile time
5454         error.
5456         * ApplicationException.cs: Removed a ; that was causing a compiler
5457         error.
5459         * Int16.cs: Fixed some compiler errors.
5461         * Int32.cs: Fixed some compiler errors.
5463         * Int64.cs: Fixed some compiler errors.
5465         * SystemException.cs: Fixed a compiler error.
5467         * UInt16.cs: Fixed some compiler errors.
5469         * UInt32.cs: Fixed some compiler errors.
5471         * UInt64.cs: Fixed some compiler errors.
5473         * Void.cs: Fixed a compiler error.      
5475 2001-07-12  Joe Shaw  <joe@ximian.com>
5477         * Array.cs: Fix backwards parameters to Array.SetValue()
5478         throughout.
5479         (BinarySearch): Fix backward logic surrounding whether to call
5480         value.CompareTo or comparer.Compare.
5481         (LastIndexOf): Stop being stupid. I am so not used to strongly
5482         bounded arrays...
5483         (Sort): Implement a quicksort.
5485 2001-07-11  Joe Shaw  <joe@ximian.com>
5487         * Array.cs: Change all instances of trying to access an array with
5488         the index operator to calls to GetValue and SetValue, and add
5489         InternalGetValue and InternalSetValue which are internal calls
5490         into the runtime. Ew.
5492 2001-07-10  Joe Shaw  <joe@ximian.com>
5494         * Array.cs: Implemented everything but Sort().
5496 2001-07-09  Jeffrey Stedfast  <fejj@ximian.com>
5498         * Object.cs (Object::Equals): Object variable name is `o'.
5500 2001-07-06  Joe Shaw  <joe@ximian.com>
5502         * Int16.cs, Int32.cs, Int64.cs, UInt16.cs, UInt32.cs, UInt64.cs:
5503         Implement the IComparable and IFormattable interfaces. Fix a typo
5504         (publig -> public)
5506         * ApplicationException.cs, ArgumentException.cs,
5507         ArgumentNullException.cs, ArgumentOutOfRangeException.cs,
5508         ArtithmeticException.cs, ArrayTypeMismatchException.cs,
5509         DivideByZeroException.cs, DuplicateWaitObjectException.cs,
5510         ExecutionEngineException.cs, FormatException.cs,
5511         IndexOutOfRangeException.cs, InvalidCastException.cs,
5512         InvalidOperationException.cs, InvalidProgramException.cs,
5513         MulticateNotSupportedException.cs, NotFiniteNumberException.cs,
5514         NotSupportedException.cs, NullReferenceException.cs,
5515         OutOfMemoryException.cs, OverflowException.cs, RankException.cs,
5516         StackOverflowException.cs, SystemException.cs,
5517         TypeInitializationException.cs: Added all of the exceptions
5518         specified by the language spec. Mmmm... bloat.
5520 2001-07-06  Miguel de Icaza  <miguel@ximian.com>
5522         * Int64.cs, Int32.cs: Put.  Parsing and ToString missing.  Should
5523         do a generic routine all of these guys use.
5525         * Int16.cs: identified missing methods.
5527         * UInt16.cs, UInt32.cs, UInt64.cs: Add.
5529 2001-06-26  Miguel de Icaza  <miguel@ximian.com>
5531         * TypeCode.cs: Implement
5533         * Void.cs: Implement.
5535         * TODO: Add file to keep track of pending tasks.
5537         * Object.cs, ValueType.cs: Implement.