2006-09-14 Jonathan Chambers <joncham@gmail.com>
[mcs.git] / class / corlib / System / ChangeLog
blob25aa5f1b1d4e5bf845708b27cba7619fdd72f6b7
1 2006-09-14  Jonathan Chambers  <joncham@gmail.com>
3         * Environment.cs (ProcessorCount): Implement as icall.
4         Patch by Jason McFall.
6 2006-09-05  Raja R Harinath  <rharinath@novell.com>
8         * DateTime.cs (Today) [NET_2_0]: Set kind to Local.
10 2006-09-02  Zoltan Varga  <vargaz@gmail.com>
12         * Enum.cs (Equals): Use the generic Equals implementation from ValueType which
13         is faster and avoids allocations.
15 2006-09-01  Martin Baulig  <martin@ximian.com>
17         * Array.cs (Array.InternalArray): Removed the helper class;
18         instead we use private generic methods in System.Array which are
19         inserted into the vtable at runtime.
21 2006-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
23         * ConsoleCancelEventArgs.cs: fix my build.
25 2006-08-22  Miguel de Icaza  <miguel@novell.com>
27         * MulticastDelegate.cs: Make DynamicInvokeImpl internal in 2.0 
29         * Converter.cs: update signature to final.
31         * ModuleHandle.cs: Removed the [Obsolete] flags as they removed
32         those in the final 2.0
34         * DateTime.cs: Fixed the signature. 
36         * Convert.cs: Removed API calls that were deprecated in final 2.0
38         * Enum.cs: Updated to use the obsoletes flagged in 2.0.
40         * ConsoleCancelEventArgs.cs: Updated to 2.0
42 2006-08-19  Miguel de Icaza  <miguel@novell.com>
44         * Attribute.cs: This needs to do a deep compare, not a shallow
45         one.   Ran into this bug with the VBNC compiler that compares two
46         separate attributes for equality using this.
48         * String.cs (StartsWith): Fix the overloaded constructor that
49         takes a CultureInfo, if that is null, it means to use the current
50         culture. 
52         * TermInfoDriver.cs: Do not throw exceptions on the driver for
53         SetWindowSize and SetWindowPosition, they can be treated as nops.
55 2006-08-18  Zoltan Varga  <vargaz@gmail.com>
57         * *.cs: Use String.Empty instead of "" in a lot of places.
59 2006-08-17  Sebastien Pouliot  <sebastien@ximian.com>
61         * DateTime.cs: Remove last patch to DateTime as the fix wasn't correct
62         and made most x.509 unit tests fails. However the original problem is 
63         back (only on 2.0).
65 2006-08-14  Raja R Harinath  <rharinath@novell.com>
67         Fix #78943
68         * Activator.cs (CreateInstance): Throw ArgumentException on open
69         generic types.
71 2006-08-14  Miguel de Icaza  <miguel@novell.com>
73         * MonoType.cs: Do the argument testinf for SetField later,
74         otherwise the implicit (and not documented, but already considered
75         side effect of checking SetProperty) did not work.
77         Bug fix #79023
79 2006-08-13  Atsushi Enomoto  <atsushi@ximian.com>
81         * String.cs : Normalize() and IsNormalized() implementation.
83 2006-08-10  Jonathan Chambers  <joncham@gmail.com>
85         * __ComObject.cs: Added defintion of IDispatch interface, and
86         property. Get CLSID of supertype for creation if class not
87         ComImport attributed (allows for inheritance of RCW).
88         * MonoType.cs: Implement IsCOMObjectImpl.
90 2006-08-09  Atsushi Enomoto  <atsushi@ximian.com>
92         * DateTime.cs : fixed X509Certificate() case that regressed only
93           under NET_2_0.
95 2006-08-07  Kornél Pál  <kornelpal@gmail.com>
97         * Console.cs: Use correct code pages on Windows and initialize
98           InputEncoding and OutputEncoding to the actual encodings used.
100 2006-08-05  Duncan Mak  <duncan@novell.com>
102         * Char.cs (TryParse): Implemented missing 2.0 method, which fixed
103         bug #79007.
105 2006-07-28  Jonathan Chambers  <joncham@gmail.com>
107         * __ComObject.cs: Added support for marshalling objects.
108         
109 2006-07-24  Atsushi Enomoto  <atsushi@ximian.com>
111         * Char.cs : implemented utf32 conversion methods thus fixed bug #78856.
113 2006-07-19  John Luke  <john.luke@gmail.com>
115         * TermInfoDriver.cs: switch order of alt and control when
116         calling new ConsoleKeyInfo()
118 2006-07-19  Kornél Pál  <kornelpal@gmail.com>
120         * String.cs: Improve CreateString () performance when length is zero.
122 2006-07-18  Kornél Pál  <kornelpal@gmail.com>
124         * String.cs: Added CreateString () methods. Constructors with matching
125           argument list are redirected to these methods that improves
126           performance as well as fixes bug #78703.
128 2006-07-15  Jonathan Chambers  <joncham@gmail.com>
130         * __ComObject.cs: Begin implementing COM Interop.
131         * Environment.cs: Increment corlib version.
132         
133 2006-07-12  Zoltan Varga  <vargaz@gmail.com>
135         * Delegate.cs (DynamicInvokeImpl): Add support for bound delegates in Net 2.0.
137 2006-07-11  Zoltan Varga  <vargaz@gmail.com>
139         * Double.cs (Parse): Fix handling of inner whitespace.
141 2006-07-09  Zoltan Varga  <vargaz@gmail.com>
143         * Int32.cs: Fix a warning.
145 2006-07-07  Atsushi Enomoto  <atsushi@ximian.com>
147         * TimeZone.cs : consider DateTimeKind in ToLocalTime() and 
148           ToUniversalTime(). Fixed bug #78784. Patch by Thong Nguyen.
149         * DateTime.cs : DateTimeKind for UtcNow should be Utc.
151 2006-06-28  Kornél Pál  <kornelpal@gmail.com>
153         * Char.cs: Implemented IsHighSurrogate and IsLowSurrogate methods.
155 2006-06-27  Atsushi Enomoto  <atsushi@ximian.com>
157         * Double.cs : don't throw Exception in TryParse() for 'E'.
158           Fixed bug #78546.
160 2006-06-20  Jb Evain  <jbevain@gmail.com>
162         * Math.cs: implement Math.Truncate.
164 2006-06-13  Atsushi Enomoto  <atsushi@ximian.com>
166         * DateTime.cs :
167           Another lame win32 dependent pattern. Fixed bug #78618.
169 2006-06-09  Jonathan Chambers  <jonathan.chambers@ansys.com>
171         * Environment.cs: Implement Set/GetEnvironmentVariable for User/Machine.        
173 2006-06-07  Kornél Pál  <kornelpal@gmail.com>
175         * Environment.cs: Use Consts.FxFileVersion for Environment.Version
176           as Consts.RuntimeVersion was removed.
178 2006-06-05  Jonathan Chambers  <jonathan.chambers@ansys.com>
180         * Variant.cs: Added.
181         * Environment.cs: Incremented corlib version since adding Variant.      
182         
183 2006-06-01  Raja R Harinath  <rharinath@novell.com>
185         * Nullable.cs (operator==, operator!=): Remove.
187 2006-05-31  Zoltan Varga  <vargaz@gmail.com>
189         * MonoDummy.cs: Removed as it is no longer needed.
191         * Environment.cs: Bump corlib version.
192         
193         * Environment.cs: Revert the last change.
194         
195         * Environment.cs: Bump corlib version.
197         * MonoAsyncCall.cs: New file.
199 2006-05-30  Gert Driesen  <drieseng@users.sourceforge.net>
201         * Char.cs: Removed duplicate (explicit) interface implementation.
202         * String.cs: Removed duplicate (explicit) interface implemenation.
203         * MulticastDelegate.cs: Fixed API mismatches.
205 2006-05-29 Paolo Molaro <lupus@ximian.com>
207         * String.cs: make sure that the chars truncated by a stringbuilder
208         are zeroed.
210 2006-05-29  Martin Baulig  <martin@ximian.com>
212         * Exception.cs
213         (Exception.StackTrace): Use the new stack trace format which is
214         very similar to the one of MS.NET - method name goes first,
215         file / line number last and in the method name, we separate class
216         and method name by `.'.
218         * Environment.cs
219         (Environment.StackTrace): Enable line-number information.
221 2006-05-24  Atsushi Enomoto  <atsushi@ximian.com>
223         * DateTime.cs :
224           Implement 2.0 TryParseExact(). Patch by Seo Sanghyeon.
226 2006-05-17  Kazuki Oikawa  <kazuki@panicode.com>
228         * Array.cs : added internal sort method used
229           in System.Collections.Generics.List<T>.Sort(Comparison<T>).
231 2006-05-15  Zoltan Varga  <vargaz@gmail.com>
233         * Environment.cs: Bump corlib version.
235 2006-05-10  Zoltan Varga  <vargaz@gmail.com>
237         * MonoType.cs (GetMethodImpl): Fix a warning.
239 2006-05-08  Atsushi Enomoto  <atsushi@ximian.com>
241         * ArrayTest.cs : use proper comparer in IndexOf() and LastIndexOf().
242           Patch by Kazuki Oikawa. Fixed bug #77277.
244 2006-05-07  Zoltan Varga  <vargaz@gmail.com>
246         * Nullable.cs (Equals): Fix comparison to null. Fixes #78322.
248 2006-04-28  Atsushi Enomoto  <atsushi@ximian.com>
250         * Nullable.cs : updated Nullable<T> API to 2.0 RTM.
252 2006-04-26  Atsushi Enomoto  <atsushi@ximian.com>
254         * Double.cs : (Parse) handle currency symbol when
255           AllowCurrencySymbol is passed as part of the style. Patch by
256           nede@aliquant.com, modified to eliminate redundant Substring().
257           This fixes bug #77721.
259 2006-04-26  Atsushi Enomoto  <atsushi@ximian.com>
261         * MonoType.cs : (GetMethod) when zero-length type[] is explicitly
262           passed, don't return methods with some arguments. Fixed bug #77367.
264 2006-04-21  Gert Driesen  <drieseng@users.souceforge.net>
266         * Enum.cs: Provide meaningful message when type of passed in value
267         does not match enum type.
269 2006-04-19  Raja R Harinath  <rharinath@novell.com>
271         * Char.cs (Equals): Don't access 'm_value' field of other
272         instances.  Cast directly to 'char'.
274 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
276         * DateTime.cs : implement SpecifyKind(). Patch by Thong Nguyen.
278 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
280         * NumberFormatter.cs : general performance improvements. Avoid 
281           extraneous evaluation for simple formatting. Details are seen in 
282           bug #77792. Patch by Kazuki Oikawa.
284 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
286         * DateTime.cs : implement IsDaylightSavingTime().
287           Patch by Seo Sanghyeon <tinuviel@sparcs.kaist.ac.kr>.
289 2006-04-04  Atsushi Enomoto  <atsushi@ximian.com>
291         * Array.cs :
292           added some more [ReliabilityContract].
293           removed some [CLSCompliant].
294           renamed generic method parameter names.
296 2006-03-31  Zoltan Varga  <vargaz@gmail.com>
298         * Environment.cs (SetEnvironmentVariable): Implement.
300 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
302         * Array.cs : oops, the last change caused regression. The array must
303           be transparent to ReadOnlyCollection, not create another list.
305 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
307         * Array.cs : AsReadOnly<T>() in RTM returns ReadOnlyCollection<T>.
308           Thus removed ReadOnlyArray<T> and ReadOnlyArrayEnumerator<T>.
309           In 2.0 some members became non-virtual.
311 2006-03-23  Atsushi Enomoto  <atsushi@ximian.com>
313         * String.cs : oops, NET_2_0.
315 2006-03-23  Atsushi Enomoto  <atsushi@ximian.com>
317         * String.cs : added new IndexOf() and LastIndexOf() overloads, and
318           IEnumerable<char>.GetEnumerator().
320 2006-03-21  Kornél Pál  <kornelpal@gmail.com>
322         * String.cs: Make memcpy4 private as it is a helper method.
323           Make memcpy internal to can be used from UnicodeEncoding.
325 2006-03-19  Marek Safar  <marek.safar@seznam.cz>
327         * Nullable.cs (Compare, Equals): Added constrain as gmcs now correctly
328         reports an error here.
330 2006-03-16  Atsushi Enomoto  <atsushi@ximian.com>
332         * Double.cs : (Parse) reject String.Empty.
334 Wed Mar 15 16:30:51 CET 2006 Paolo Molaro <lupus@ximian.com>
336         * LocalDataStoreSlot.cs: implement as index in an array.
337         Implemented finalizer and allow it to remove the data stored
338         in the slot.
340 2006-03-15  Zoltan Varga  <vargaz@gmail.com>
342         * Environment.cs: Bump corlib version.
344 2006-03-10  Zoltan Varga  <vargaz@gmail.com>
346         * MonoCustomAttrs.cs (IsDefined): Avoid a runtime assert if a type
347         overwrites GetCustomAttributes () but not IsDefined ().
349 2006-03-07  Peter Dennis Bartok  <pbartok@novell.com>
351         * Environment.cs: Bumped corlib version to 48 (due to r57532)
353 2006-03-07  Martin Baulig  <martin@ximian.com>
355         * String.cs (String.FormatHelper): Try getting an `ICustomFormatter'
356         from the `provider' if possible.
358 2006-02-26  Gert Driesen  <drieseng@users.souceforge.net>
360         * DecimalFormatter.cs: Removed obsolete class, as it has been replaced
361         by NumberFormatter.
362         * DoubleFormatter.cs: Same.
363         * SingleFormatter.cs: Same.
365 2006-02-21  Marek Safar  <marek.safar@seznam.cz>
367         * String.cs (Equals): Optimized for speed.
369 2006-02-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
371         * TermInfoDriver.cs: patch by Mike Hull that fixes bug #77518.
373 Mon Feb 20 11:19:54 CET 2006 Paolo Molaro <lupus@ximian.com>
375         * MonoType.cs: patch from Joachim Ante <joe@otee.dk> to
376         improve error messages.
378 2006-02-15  Martin Baulig  <martin@ximian.com>
380         * Type.cs (Type.IsGenericInstance): Removed.
382 2006-02-14  Ankit Jain  <jankit@novell.com>
383             Raja R Harinath  <rharinath@novell.com>
385         * ArraySegment.cs (.ctor): Fix bounds check. Rename param 'length' to
386         'count'.
388 2006-02-11  Zoltan Varga  <vargaz@gmail.com>
390         * TermInfoDriver.cs (CreateKeyInfoFromInt): Fix handling of tab and its
391         friends.
392         
393         * TermInfoDriver.cs (GetWindowDimensions): Obtain the exact terminal
394         size using an icall.
395         (GetCursorPosition): Convert the row and column to 0 based indexing. 
396         Also fix reading of large values.
397         (CreateKeyInfoFromInt): Convert LF to ConsoleKey.Enter.
399         * ConsoleDriver.cs (GetTtySize): New icall.
401 2006-02-10  Zoltan Varga  <vargaz@gmail.com>
403         * Array.cs: Fix some methods which previously returned Nullable<T>.
405         * Nullable.cs: Add T: struct constraint and fix constructor.
407 Fri Feb 3 11:01:46 CET 2006 Paolo Molaro <lupus@ximian.com>
409         * String.cs: changed StartsWith/EndsWith to faster versions.
411 2006-02-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
413         * String.cs: implement 2.0 StartsWith and EndsWith new overloads. Based
414         on a patch by Thong Nguyen.
416 2006-01-31  Zoltan Varga  <vargaz@gmail.com>
418         * String.cs: Implement one of the new net 2.0 Split methods.
420 2006-01-31  Atsushi Enomoto  <atsushi@ximian.com>
422         * String.cs : (LastIndexOf) Fixed bug #77412. It should not expect
423           that value length is bigger than its index.
425 2006-01-27  Zoltan Varga  <vargaz@gmail.com>
427         * DateTime.cs: Add some 2.0 methods and properties.
429 2006-01-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
431         * Console.cs: if InternalCodePage returns -1, use the default encoding.
432         Also match the UTF8 one properly. Patch by wall_john@sohu.com.
434 2006-01-19  Atsushi Enomoto  <atsushi@ximian.com>
436         * ModuleHandle.cs : GetPEKind() is not public in 2.0 RTM.
438 2006-01-16  Alp Toker  <alp@atoker.com>
440         * TimeSpan.cs: Simple implementation of NET 2.0 TryParse() using
441         try/catch
443 2006-01-05  Raja R Harinath  <rharinath@novell.com>
445         Fix regressions introduced by the fix to #71300.
446         * Activator.cs (CreateInstance): Use Binder.SelectMethod instead
447         of home-grown FindBestCtor.
448         (FindBestCtor): Delete.
450 2006-01-03  Zoltan Varga  <vargaz@gmail.com>
452         * Nullable.cs: Update to Net 2.0 RTM.
453         
454         * Nullable.cs: Add comments about runtime dependencies on the layout of
455         this type.
457 2006-01-02  Sebastien Pouliot  <sebastien@ximian.com>
459         * Activator.cs: Now find the best ctor when null are used for 
460         paramaters. Fix bug #71300. Added checks for specific types (void,
461         TypedReference, ArgIterator and RuntimeArgumentHandle).
462         * Console.cs: Re-use Environment logic to detect Windows.
463         * Type.cs: Re-applied r45150 as the real bug was in Activator.
465 2006-01-02  Zoltan Varga  <vargaz@gmail.com>
467         * Activator.cs: Add a 'params' to one of the CreateInstance overloads.
469         * RuntimeTypeHandle.cs RuntimeMethodHandle.cs RuntimeFieldHandle.cs:
470         Add == and != operators.
472 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com>
474         * Environment.cs: Bump corlib version to 46.
475         * TimeZone.cs: Partial fix for #76094. Added [Serializable] attribute 
476         and renamed internal CurrentTimeZone class to CurrentSystemTimeZone 
477         (like MS). This allows serialization roundtrip to work in Mono but 
478         there's still an issue when deserializing a stream from MS. 
480 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com> 
482         * NumberFormatter.cs: Fixed rounding for float and the string output
483         now includes all the precision (not counting preceding zeros). This
484         fix the DecimalTest.TestConstructSingleRounding_NotWorking test cases.
486 2005-12-21  Sebastien Pouliot  <sebastien@ximian.com> 
488         * Array.cs: Fixed Sort<T> with IComparable (generic or not) bug #77039
490 2005-12-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
492         * Array.cs: Added the Sort<T> methods (generics). 
494 2005-12-19  Sebastien Pouliot  <sebastien@ximian.com> 
496         * Array.cs: Fixed BinarySearch when the array is empty (#77030). Added
497         some null check which throws ArgumentNullException under 2.0.
499 2005-12-15  Sebastien Pouliot  <sebastien@ximian.com>
501         * DateTime.cs: Added MonoTODO to ctor accepting a Calandar instance.
502         * Double.cs: Under 2.0 throw a ArgumentException when parsing with
503          NumberStyles.AllowHexSpecifier. Partial fix for #72221. Added the
504         second, simpler, TryParse method (2.0).
505         * Single.cs: Added the TryParse methods for 2.0.
507 2005-12-15  Raja R Harinath  <rharinath@novell.com>
509         * Type.cs (IsGenericType): Make virtual.
511 2005-12-08  Sebastien Pouliot  <sebastien@ximian.com> 
513         * AppDomainSetup.cs: ApplicationBase throw exception on get (not on 
514         set). New behaviour is more like MS - but most issues (unit tests)
515         were really path issues. Fix bug #71291.
516         * DateTime.cs: Add more information when throwing an exception in 
517         ctor(long). Useful for debugging.
519 2005-12-07  Zoltan Varga  <vargaz@gmail.com>
521         * Single.cs Double.cs: Fix warnings.
523 2005-12-06  Sebastien Pouliot  <sebastien@ximian.com> 
525         * Convert.cs: ToBase64String method didn't use the option parameter so
526         we always included new lines. Fix bug #76876.
528 2005-12-06  Sebastien Pouliot  <sebastien@ximian.com>
530         * AppDomainSetup.cs: Added missing ComVisible and removed LAMESPEC 
531         (the docs were fixed).
532         * NumberFormatter.cs: Fixed the "NotWorking" case where 1.15 was 
533         misrounded compared to MS implementation. Extra care is required when
534         dealing with the extra 2 digits information (e.g. double precision is
535         15 digits but 17 are kept - for a reason ;-)
537 2005-12-05  Ben Maurer  <bmaurer@ximian.com>
539         * Environment.cs: Bump version
541         * Nullable.cs: New Box and Unbox methods for the jit
543 2004-12-05  Peter Dennis Bartok <pbartok@novell.com>
545         * Enum.cs: Properly handle "No bits set" case even if the sorted numbers
546           list does not have enum value 0 as the first item. Fixes #76921
548 2005-12-05  Sebastien Pouliot  <sebastien@ximian.com>
550         * AppDomain.cs: CreateComInstanceFrom isn't static in any profile.
552 Mon Dec 5 15:14:59 CET 2005 Paolo Molaro <lupus@ximian.com>
554         * Double.cs: remove unused icall.
555         * BitConverter.cs: handle double binary format on ARM FPA.
557 2005-12-02  Alp Toker  <alp@atoker.com>
559         * MonoType.cs:
560         * Type.cs: DeclaringMethod should return MethodBase, not MethodInfo
562 2005-12-02  Alp Toker  <alp@atoker.com>
564         * AppDomain.cs: ReflectionOnlyPreBindAssemblyResolve renamed to
565         ReflectionOnlyAssemblyResolve in 2.0 final
567 2005-12-01  Alp Toker  <alp@atoker.com>
569         * String.cs: Add static and non-static Equals(... StringComparison) for
570         2.0.
572 2005-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
574         * TermInfoDriver.cs: special case for the escape key. Fixes bug #76781.
576 2005-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
578         * TermInfoDriver.cs: if the cursor_address capability contains a %i, we
579         have to add 1 to x and y when setting the cursor position.
580         Fixes bug #76856.
582         * Convert.cs: remove unused variables.
584 Wed Nov 30 12:14:20 EST 2005 Paolo Molaro <lupus@ximian.com>
586         * NumberFormatter.cs: work around arch-specific ulong cast behaviour
587         with large numbers.
589 Tue Nov 29 05:38:37 EST 2005 Paolo Molaro <lupus@ximian.com>
591         * Convert.cs: fix endianess issue when converting to base-8
592         format. All the base code would need a rewrite for efficience.
594 2005-11-25  Sebastien Pouliot  <sebastien@ximian.com>
596         * String.cs: Added support for Compare(... StringComparison) in 2.0.
598 2005-11-25  Alp Toker  <alp@atoker.com>
600         * Type.cs (IsVisible): New 2.0 property, implemented recursively.
602 2005-11-17  Dick Porter  <dick@ximian.com>
604         * Environment.cs: Incremented corlib version
606 2005-11-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
608         * Int32.cs, UInt32.cs, Int16.cs, UInt16.cs, Int64.cs,
609         UInt64.cs, Byte.cs, SByte.cs, Double.cs : Modify internal Parse
610         methods to return the exception as an out parameter,
611         instead of throwing it. This will be of special help
612         to TryParse methods.
613         * Environment.cs: Update corlib version to 42.
614         
615 2005-11-14  Raja R Harinath  <rharinath@novell.com>
617         * EventHandler.cs (EventHandler<TEventArgs>): Rename from EventHandler<T>.
619 2005-11-11  Zoltan Varga  <vargaz@gmail.com>
621         * Type.cs (GetPseudoCustomAttributes): Return ComImportAttribute as well.
623 2005-11-11  Lluis Sanchez Gual  <lluis@novell.com>
625         * TimeZone.cs: Removed incorrect double-check lock and unneeded
626         hashtable access.
628 2005-11-11  Marek Safar  <marek.safar@seznam.cz>
630         * Type.cs: IsNested implemented, signature fixes.
632 2005-11-11  Raja R Harinath  <rharinath@novell.com>
634         * Array.cs (Resize<T>) [2-argument variant]: Fix nullref.
636 2005-11-10  Zoltan Varga  <vargaz@gmail.com>
638         * Array.cs (Resize<T>): New internal method which takes a 'length' argument
639         as well to avoid copying the whole array.
641 2005-11-09  Atsushi Enomoto  <atsushi@ximian.com>
643         * Int64.cs : ditto for long.
645 2005-11-09  Atsushi Enomoto  <atsushi@ximian.com>
647         * Int32.cs : Parse("2147483648", format_provider) should be rejected.
649 2005-11-09  Sebastien Pouliot  <sebastien@ximian.com>
651         * AttributeTargets.cs: Added [ComVisible (true)] and [Serializable] 
652         in 2.0 profile.
653         * Base64FormattingOptions.cs: Added missing [Flags] attribute.
654         * ConsoleKey.cs: Removed old BackSpace and WhiteSpace (they were 
655         already replaced by Backspace and Whitespace)
656         * DateTime.cs: Moved DayOfWeek enum to it's own file.
657         * DateTimeKind.cs: New (2.0) enum.
658         * DayOfWeek.cs: New file (extracted from DateTime.cs).
659         * DomainManagerInitializationFlags.cs: Removed extra [Serializable].
660         * EnvironmentVariableTarget.cs: Added [ComVisible (true)] and fixed 
661         values (-1 to all of them).
662         *  Exception.cs: Added a LinkDemand for SerializationFormatter on
663         GetObjectData method.
664         *  LoaderOptimization.cs: Added [ComVisible (true)] and [Serializable] 
665         on enum and added [Obsolete] to DomainMask and DisallowBindings in 2.0
666         profile.
667         * PlatformID.cs: Added [ComVisible (true)] and [Serializable] in 2.0 
668         profile.
669         * StringComparison.cs: New (2.0) enum (needed for Uri).
670         * TermInfoDriver.cs: Fixed BackSpace -> Backspace (see ConsoleKey.cs).
671         * TypeCode.cs: Added [ComVisible (true)] and [Serializable] in 2.0 
672         profile.
674 2005-11-08  Atsushi Enomoto  <atsushi@ximian.com>
676         * Type.cs : I forgot to mention, some '(' were missing in the
677           improved patch ;-)
679 2005-11-08  Zoltan Varga  <vargaz@freemail.hu>
681         * Type.cs (GetPseudoCustomAttributes): Check for TypeAttributes.Serializable instead of
682         IsSerializable property, since the latter returns true for delegates/enums.
684 2005-11-05  Kornél Pál  <kornelpal@hotmail.com>
686         * Environment.cs: Use Consts.RuntimeVersion as Environment.Version that
687           makes maintenance easier.
689 2005-10-24  Martin Baulig  <martin@ximian.com>
691         * Type.cs (Type.IsGenericTypeDefinition): Make this virtual.
693 2005-10-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
695         * String.cs: fix bound checkings for LastIndexOfAny. Closes bug #76519.
697 2005-10-20  Raja R Harinath  <rharinath@novell.com>
699         * Array.cs (Swapper): Remove NET_2_0 guards from nested declaration.
701 2005-10-16  Michal Moskal  <malekith@nemerle.org>
703        * TermInfoDriver.cs: Call Init () in Background/ForegroundColor.
705 2005-10-14  Atsushi Enomoto  <atsushi@ximian.com>
707         * DateTime.cs : another crappy Windows dependent format.
709 2005-10-14  Ben Maurer  <bmaurer@ximian.com>
711         * DateTime.cs: Speed up when parsing date time objects by not
712         duplicating cultureinfo arrays.
714 2005-10-13  Zoltan Varga  <vargaz@gmail.com>
716         * Type.cs (GetTypeCode): Applied patch from 
717         Mike Welham <mwelham@gmail.com>. Return TypeCode.Empty when null is
718         passed in.
720 2005-10-07  Zoltan Varga  <vargaz@gmail.com>
722         * Delegate.cs: Add support for delegate covariance and contravariance
723         from net 2.0.
725 2005-10-03  Atsushi Enomoto  <atsushi@ximian.com>
727         * StringComparer.cs : (OrdinalIgnoreCaseComparer.Equals()) reverse.
729 2005-09-26  Zoltan Varga  <vargaz@gmail.com>
731         * String.cs (ParseFormatSpecifier): Fix skipping of whitespace. Fixes
732         #76204.
734 2005-09-23  Miguel de Icaza  <miguel@novell.com>
736         * Decimal.cs: Fix typo, patch from Tomas Kukol <tomas.kukol@gmail.com>
738 2005-09-19  Zoltan Varga  <vargaz@gmail.com>
740         * MonoCustomAttrs.cs (GetCustomAttributesInternal): Add
741         attributeType parameter.
742         (IsDefined): New icall.
744         * MonoCustomAttrs.cs: Avoid instantiating all custom attrs of an
745         object when only a specific attribute type is requested. Fixes #76062.
747         * Environment.cs: Bump corlib version.
749 2005-09-09  Zoltan Varga  <vargaz@gmail.com>
751         * TypeLoadException.cs MissingMethodException.cs MissingFieldException.cs: Add new ctors called by the runtime. Improve Message property.
753 2005-09-14  Atsushi Enomoto  <atsushi@ximian.com>
755         * DateTime.cs : (_DoParse) don't check ticks range before computing
756           the actual value. Fixed bug #76082.
758 2005-09-14  Atsushi Enomoto  <atsushi@ximian.com>
760         * TimeZone.cs : When the target DateTime is in the range of
761           DST end to DST + delta, don't adjust UtcOffset gap between that of
762           DST and that of STD. This should fix bug #75985.
764 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
766         * TimeZone.cs, DateTime.cs :
767           - ToLocalTime() and ToUniversalTime() are moved to TimeZone.
768           - Added more COM patterns. Patch by Ankit Jain. Fixed bug #72132.
769           - use ToLocalTime() and don't depend on the own offset computation.
770             Parse() with 'Z' pattern is closer to correct value on switching
771             Daylight Saving Time. See bug #75985.
773 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
775         * DateTime.cs : (DoParse) DateTimeStyles.AdjustToUniversal was not
776           handled as expected and it kept time value as local one.
777           Patch by Brion Vibber. Fixed bug #75995.
779 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
781         * DateTime.cs : Literal escape (\) was not checking format as
782           expected. Fixed bug #75213.
784 2005-09-05  Miguel de Icaza  <miguel@novell.com>
786         * MonoType.cs: Patch from Jonathan Chambers to implement
787         Type.GUID. 
789 2005-09-05  Martin Baulig  <martin@ximian.com>
791         Reflect latest API changes in the August CTP.
793         * Type.cs (Type.HasGenericArguments): Removed.
794         (Type.BindGenericParameters): Renamed to MakeGenericType().
796 2005-09-01  Atsushi Enomoto  <atsushi@ximian.com>
798         * DateTime.cs : another idiotic COM dependent format.
800 2005-09-01  Kornél Pál  <kornelpal@hotmail.com>
802         * __ComObject.cs: Fixed to be internal. Removed CLSCompliant attribute.
803         Added some comments about the class.
805 2005-08-30  Sebastien Pouliot  <sebastien@ximian.com>
807         * AppDomain.cs: Use the more concise property syntax for declarative
808         security.
809         * AppDomainManager.cs: Default HostSecurityManager is null.
811 2005-08-25  Atsushi Enomoto  <atsushi@ximian.com>
813         * NumberFormatter.cs : eliminate non-ASCII character.
815 2005-08-25  Marek Safar  <marek.safar@seznam.cz>
817         * Enum.cs: Better exception message.
818         
819 2005-08-21  Gert Driesen  <drieseng@users.sourceforge.net>
821         * Convert.cs: In FromBase64String, return empty byte array for zero
822         length string. Pass bool to InternalFromBase64String to control 
823         whether to allow a whitespace-only string.
824         * Environment.cs: Bump corlib version.
826 2005-08-20  Zoltan Varga  <vargaz@freemail.hu>
828         * Environment.cs: Bump corlib version.
830 2005-08-19  Zoltan Varga  <vargaz@freemail.hu>
832         * Math.cs: Implement a new 2.0 Round method.
834 2005-08-19  Gert Driesen  <drieseng@users.sourceforge.net>
836         * Convert.cs: Throw OverflowException if result is larger than
837         ushort.MaxValue to match MS.NET. Remove commented code.
839 2005-08-17  Gert Driesen  <drieseng@users.sourceforge.net>
841         * Convert.cs: For now, do not throw OverflowException if hex prefixed
842         value is negative for signed types (other than int64). Need to look
843         into this further.      
845 2005-08-17  Gert Driesen  <drieseng@users.sourceforge.net>
847         * Convert.cs: Numerous fixed in overloads taking base to match 
848         behaviour of MS.NET. Throw ArgumentOutOfRangeException is string is
849         empty. If base is 16, 8 or 2, then throw ArgumentException if first 
850         character is a negative sign. Throw OverflowException if hex prefixed 
851         value is negative for signed types (other than int64) to match MS.NET. 
853 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
855         * DateTime.cs : added another COM dependent pattern (rather to describe
856           how it works on .NET than to add the pattern itself...).
858 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
860         * DateTime.cs : added case for bug #53023.
862 2005-08-10  Zoltan Varga  <vargaz@freemail.hu>
864         * Type.cs: Add IsGenericType property from NET 2.0.
866 2005-08-10  Atsushi Enomoto  <atsushi@ximian.com>
868         * String.cs : added new StartsWith()/EndsWith() override, fixing
869           existing EndsWith() which incorrectly assumed that both string
870           lengths must be equivalent (they are not always equal).
871         * StringComparer.cs : added Ordinal and OrdinalIgnoreCase.
873 2005-08-09  Zoltan Varga  <vargaz@freemail.hu>
875         * String.cs: Implement Split(String[]) methods.
877 2005-08-09  Miguel de Icaza  <miguel@novell.com>
879         * AppDomainSetup.cs: Full-pathization of the appBase should only
880         be done on Windows, the ":" condition never applied to Linux.
882         * ConsoleKey.cs: Include a few aliases for a few values that were
883         introduced recently.
885 2005-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
887         * ConsoleKey.cs: added Backspace, which has the same value as BackSpace.
888         Fixes bug #75697.
890 2005-08-08  Atsushi Enomoto  <atsushi@ximian.com>
892         * String.cs : (StartsWith) compared string lengths are not always the
893           same in culture-sensitive comparison.
895 2005-08-05  Gert Driesen  <drieseng@users.sourceforge.net>
897         * Array.cs: Changed protected ctor to private. Fixes API compatibility
898         with MS.NET.
899         * RuntimeFieldHandle.cs: Equals methods and GetHashCode should only
900         be exposed in 2.0 profile.
901         * RuntimeMethodHandle.cs: Equals methods and GetHashCode should only
902         be exposed in 2.0 profile.
903         * RuntimeTypeHandle.cs: Equals methods and GetHashCode should only
904         be exposed in 2.0 profile.
905         * Type.cs: Added GetType method and implemented _Type interface.
906         Fixes API compatibility with MS.NET.
908 2005-07-28  Marek Safar  <marek.safar@seznam.cz>
910         * StringComparer.cs: Add generics version of string interfaces.
912 2005-07-26  Atsushi Enomoto  <atsushi@ximian.com>
914         * StringComparer.cs : implemented StringCultureComparer.GetHashCode().
916 2005-07-26  Zoltan Varga  <vargaz@freemail.hu>
918         * StringSplitOptions.cs MidpointRounding.cs: New files.
920         * String.cs Math.cs: Add stubs for some new 2.0 APIs.
922 2005-07-26  Marek Safar  <marek.safar@seznam.cz>
924         * StringComparer.cs: New file.
926 2005-07-26  Raja R Harinath  <harinath@gmail.com>
928         * Enum.cs (GetValue): Make private.  Return an ulong.
929         (Parse): Tighten scope of couple of variables.  Use ulong when
930         twiddling bits.
932 2005-07-25  Raja R Harinath  <rharinath@novell.com>
934         * Enum.cs (FindName, GetValue): New.  Carved out of ...
935         (Parse): ... this.  Refactor and simplify code.  Avoid incurring
936         exceptions when parsing names.  Avoid allocating arrays unless
937         necessary.  Avoid conversion of an enumeration constant to its own
938         type.  (Incorporates ideas from a patch by Gonzalo Paniagua Javier.)
940 2005-07-13  Lluis Sanchez Gual  <lluis@novell.com>
942         * MarshalByRefObject.cs: GetLifetimeService() should be virtual.
943         Fixes bug #75527.
945 2005-07-13  Miguel de Icaza  <miguel@novell.com>
947         * Array.cs: Patch from rodrigobamboo@gmail.com that fixes the
948         signature for GetValue and SetValue to make the long [] argument
949         be a params argument. 
951 2005-07-11  Pedro Martínez Juliá  <pedromj@gmail.com>
953         * Convert.cs: Fix the bug when Convert.ChangeType was using
954         NumberFormatInfo instead of DateTimeFormatInfo when the type to
955         change is a DateTime.
957 2005-07-11  Martin Baulig  <martin@ximian.com>
959         * Array.cs: Use Type.Equals() instead of `==' to compare type
960         parameters.     
962 2005-07-10  Kamil Skalski <nazgul@nemerle.org>
964         * Type.cs: Mark BindGenericParameters as deprecated. Use
965         MakeGenericType as default implementation with updated signature.
967 2005-07-09  Zoltan Varga  <vargaz@freemail.hu>
969         * Attribute.cs (IsDefined): Fix IsDefined for ParameterInfo's. Fixes
970         #75514.
972 2005-07-05  Lluis Sanchez Gual  <lluis@novell.com>
974         * DelegateSerializationHolder.cs: When the deserialized target is
975         a proxy, call IsInstanceOfType to force the proxy to load the
976         real type of the remote object. This is needed to make sure that
977         subsequent calls to GetType() return the expected type. This fixes
978         bug #75447.
980 2005-07-03  Ben Maurer  <bmaurer@ximian.com>
982         * OperatingSystem.cs: patch from Aleksandar Dezelin to fix
983         serialization.
985 2005-06-30  Sebastien Pouliot  <sebastien@ximian.com> 
987         * Guid.cs: Avoid code duplication between overriden methods (new in 
988         2.0). Avoid exception processing when possible. Renamed parameters to
989         match the framework. Added ComVisible to NET_2_0.
991 2005-06-28  Elliott Draper  <el@eldiablo.co.uk>
993         * Activator.cs: This implements the generic Activator.CreateInstance<T>()
994         function for NET_2_0. It's full signature is:
995                 public static T CreateInstance<T>();
997 2005-06-28  Lluis Sanchez Gual  <lluis@novell.com>
999         * Decimal.cs: Renamed internal fields for the sake of serialization
1000         interoperability with MS.NET.
1001         * Exception.cs: In the StackTrace property, return the stack trace
1002         if it has a value, even if the exception has not been thrown
1003         (it may have been deserialized).
1005 2005-06-28  Martin Baulig  <martin@ximian.com>
1007         * Array.cs (Array.InternalArray<T>): New nested class; derives
1008         from Array.  This is now used by the runtime for arrays; fixes #74953.
1010 2005-06-27  Atsushi Enomoto  <atsushi@ximian.com>
1012         * String.cs : added some extra whitespace characters for Trim().
1013           Fixed bug #75259.
1015 2005-06-13  Michal Moskal <malekith@nemerle.org>
1016         
1017         * MonoType.cs: Don't use MethodHandle in GetMethod/GetConstructor,
1018         since it now throws on MethodBuilders. Don't use FieldHandle in
1019         GetField (throws on FieldBuilder) - just use the name.
1021 2005-06-13  Martin Baulig  <martin@ximian.com>
1023         * MonoType.cs
1024         (MonoType.getFullName): Added `bool assembly_qualified' argument.
1025         (MonoType.AssemblyQualifiedName): The interncall now adds the
1026         assembly name, so we don't need to do it here.
1027         (MonoType.FullName): Use the new getFullName() API.
1029 2005-06-14  Sebastien Pouliot  <sebastien@ximian.com>
1031         * Char.cs: ToLowerInvariant and ToUpperInvariant are now public in 
1032         NET_2_0. Added "new" white char and ComVisible for 2.0.
1034 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1036         * Convert.cs: FromBase64String and FromBase64CharArray are now internal
1037         calls to avoid extra allocations.
1039 2005-06-09  Kamil Skalski <nazgul@nemerle.org>
1041         * Type.cs: Add MakeGenericType method form .NET 2.0 beta 2 API
1043         * Type.cs MonoType.cs: Add internal virtual
1044         Get{Method,Constructor,Field} for obtaining instanciated *Info objects
1045         from non-instanciated counterparts
1047 2005-06-09  Zoltan Varga  <vargaz@freemail.hu>
1049         * ModuleHandle RuntimeMethodHandle.cs RuntimeTypeHandle.cs RuntimeFieldHandle.cs RuntimeArgumentHandle.cs: Add missing 2.0 attributes.
1051 2005-06-08  Zoltan Varga  <vargaz@freemail.hu>
1053         * Type.cs: Add missing 2.0 attributes.
1055 2005-06-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1057         * MonoCustomAttrs.cs: Added GetCustomAttributesDataInternal icall, and
1058         also internal method GetCustomAttributesData, used by 
1059         System.Reflection.CustomAttributeData.
1060         
1061 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
1063         * Activator.cs: Added  _Activator interface (and members) for 1.1 and
1064         missing attributes (for both 1.1 and 2.0).
1065         * String.cs: Made internal To[Lower|Upper]Invariant methods public for
1066         2.0. Reworked Trim() to skip a useless call. Added missing attribute
1067         for 2.0.
1068         * Type.cs: Added  _Type, _MemberInfo interfaces (1.1/2.0). Added 
1069         missing attribute for 2.0. Hided some public/protected methods.
1071 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
1073         * ModuleHandle.cs: Update after PortableExecutableKinds name change.
1075 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
1077         * _AppDomain.cs: Added new members in the interface (added in 1.1 SP1)
1078         * AppDomain.cs: Added new members from _AppDomain interface.
1079         * AppDomainManager.cs: Fixed flags and added attributes.
1080         * DomainManagerInitializationFlags.cs: The flag has been renamed to 
1081         AppDomainManagerInitializationOptions in beta2.
1083 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
1085         * Type.cs MonoCustomAttrs.cs: Return SerializableAttribute for types as well.
1087 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
1089         * Exception.cs: Implements _Exception only for 2.0.
1091 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
1093         * GC.cs: Fix build.
1094         
1095         * GC.cs UnhandledExceptionEventArgs.cs IntPtr.cs RuntimeFieldHandle.cs 
1096           String.cs Object.cs Math.cs RuntimeMethodHandle.cs ModuleHandle.cs 
1097           RuntimeTypeHandle.cs AppDomain.cs: Add some missing 2.0 methods/attributes.
1099 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1101         * Environment.cs:
1102         * AppDomain.cs: if the assembly is loaded from a byte array, Location
1103         returns "". Fixes bug #74958.
1105 2005-06-04  Ben Maurer  <bmaurer@ximian.com>
1107         * *.cs: More 2.0 API fixups
1109         * *.cs: In beta 2, generics are no longer non-cls-compliant.
1111 2005-06-05  Kazuki Oikawa  <kazuki@panicode.com>
1113         * NumberFormatter.cs: Fixed the output of 0.ToString("00.00E00")
1114         that was different from MSFT.
1115         * String.cs: Fixed IndexOfAny thrown an exception
1116         when startIndex of arguments equals Length. (Closes bug #75083.)
1118         * Decimal.cs: Changed to use NumberFormatter in ToString.
1119         * NumberFormatter.cs: Implemented decimal formatter.
1121 2005-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1123         * Type.cs: reverted wrong fix for bug #71300 in r45150. This makes SSL
1124         support in System.Net work again.
1126 2005-06-01  Ben Maurer  <bmaurer@ximian.com>
1128         * CharEnumerator.cs: add IEnumerable <char> support
1130 2005-05-30  Sebastien Pouliot  <sebastien@ximian.com>
1132         * Activator.cs: Added missing validation on parameters.
1134 2005-05-28  Ben Maurer  <bmaurer@ximian.com>
1136         * Type.cs: Check that the arguments of the `types' array are
1137         non-null. Fixes bug 71300
1139 2005-05-28  Sebastien Pouliot  <sebastien@ximian.com>
1141         * AppDomainSetup.cs: Added new 2,0 constructors and the 
1142         ActivationArguments property.
1143         * AppDomainManager.cs: Added using System.Runtime.Hosting as it is the
1144         new location for the ApplicationActivator class.
1145         * ApplicationActivator.cs: Moved to System.Runtime.Hosting namespace.
1147 2005-05-27  Vladimir Vukicevic  <vladimir@pobox.com>
1149         * Environment.cs: bump corlib version for bug #75060.
1151 2005-05-27  Raja R Harinath  <rharinath@novell.com>
1153         * Environment.cs (ExpandEnvironmentVariables): Rewrite
1154         sb.Append (s.SubString (a, b)) to sb.Append (s, a, b).
1155         * String.cs (FormatHelper): Rewrite sb.Append (s.SubString (a)) to
1156         sb.Append (s, a, s.Length - a).  Avoid allocating 'pad' string --
1157         StringBuilder has an appropriate Append overload.
1159 2005-05-26  Zoltan Varga  <vargaz@freemail.hu>
1161         * Type.cs (IsEnum): Special case EnumBuilder here.
1163 2005-05-26  Sebastien Pouliot  <sebastien@ximian.com>
1165         * MonoType.cs: Changed call from GetName to UnprotectedGetName to
1166         allow call to work with serialization under a restrictive policy.
1167         The code path (the protected information) isn't being used.
1169 2005-05-25  Zoltan Varga  <vargaz@freemail.hu>
1171         * Exception.cs: Use the new StackTrace ctor.
1173         * Type.cs: Improve support for user defined type subclasses.
1175 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
1177         * DateTime.cs : Added minimum digit parameter to ParseNumber() to
1178           reject 2 digit years for "yyyy".
1179           Use GetAllDateTimePatterns() instead of constant string.
1180           Fixed bug #72788.
1182 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
1184         * DateTime.cs : next_not_digit prevented some valid parse.
1185           Just remove it, since now we pass max length to ParseNumber() and
1186           thus it is not needed anymore. Fixed bug 63137.
1188 2005-05-24  Atsushi Enomoto  <atsushi@ximian.com>
1190         * DateTime.cs : HH should not always block tt. Fixed bug #60912.
1191           Reset num after whitespace parsing.
1192           Added "M/d/yyyy HH':'mm':'ss tt" as an invariant pattern.
1194 2005-05-24  Atsushi Enomoto  <atsushi@ximian.com>
1196         * DateTime.cs : Allow ',' where whitespaces are allowed.
1197           Fixed bug #71289.
1199 2005-05-22  Ben Maurer  <bmaurer@ximian.com>
1201         * BitConverter.cs: Speed this up, fixing 74014. Patch from
1202         `Aleksandar Dezelin'.
1204 2005-05-20  Zoltan Varga  <vargaz@freemail.hu>
1206         * Type.cs: Add some helper methods needed by other classes.
1208         * Array.cs: Improve support for user defined Type subclasses.   
1209         
1210         * Type.cs: Rename GetTypeCode icall to GetTypeCodeInternal and add a managed
1211         wrapper function, not used yet.
1213         * Type.cs Array.cs: Revert this as it breaks the build.
1215         * Type.cs Array.cs: Improve support for user defined Type subclasses.
1217 2005-05-19  Ben Maurer  <bmaurer@ximian.com>
1219         * Delegate.cs (Equals): Use `as' to protect in the case where !
1220         (obj is Delegate)
1222 2005-05-19  Raja R Harinath  <rharinath@novell.com>
1224         * Console.cs (Readline) [NET_2_0]: Avoid "uninitialized variable"
1225         error.
1227 2005-05-19  Miguel de Icaza  <miguel@novell.com>
1229         * TermInfoDriver.cs: Removed warning.
1231         * Array.cs (Resize<T>, TrueForAll<T>, ConvertAll<TInput,TOutput>,
1232         FindLastIndex<T>: Parameter names are normative.        
1233         Fix coding style ("Method<T>" not "Method <T>")
1234         Throw argument exceptions per argument.
1235         
1236         (FindAll): Fix bug, actually return the values that were computed,
1237         not a short version of the original array.
1238         
1239 2005-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1241         * Console.cs: fix error in the 2_0 side and split ReadLine in 2, one
1242         for each framework version.
1244 2005-05-15  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
1246         * Attribute.cs:
1247         * Exception.cs: .Net 1.1 already has these interfaces
1249 Mon May 16 18:23:49 CEST 2005 Paolo Molaro <lupus@ximian.com>
1251         * MonoCustomAttrs.cs, Type.cs: do not create a SerializableAttribute
1252         object on GetCustomAttributes (fixes bug #74717).
1254 2005-05-15  Atsushi Enomoto  <atsushi@ximian.com>
1256         * DateTime.cs : for 'z' next_not_digit didn't work as expected.
1257           Fixed bug #74775.
1259 2005-05-15  Atsushi Enomoto  <atsushi@ximian.com>
1261         * DateTime.cs : don't allow extraneous pattern characters also for
1262           non-exact parsing (ParseExact() was fine). Bug #74936 fixed
1264 2005-05-13  Gert Driesen <drieseng@users.sourceforge.net>
1266         * Activator.cs: Match exceptions thrown by MS.NET for
1267         CreateInstance overloads if type is abstract. Fixes bug #74861.
1269 2005-05-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1271         * OperatingSystem.cs: PlatformID.Unix.
1273 2005-05-09  Sebastien Pouliot  <sebastien@ximian.com>
1275         * Environment.cs: Patch from Gonzalo to fix Environment.OSVersion.
1276         Platform under NET_2_0 to return PlatformID.Unix. Fix bug #74841.
1278 2005-05-07  Atsushi Enomoto  <atsushi@ximian.com>
1280         * NumberFormatter.cs : roundtrip number is already rounded before
1281           FormatGeneral() and DefaultMaxPrecision was extraneous. This fixes
1282           bug #72955.
1284 2005-05-07  Ben Maurer  <bmaurer@ximian.com>
1286         * Array.cs (BinarySearch): Patch from kazuki to pass arguments to
1287         the comparer in the same order as msft. Fixes #70725
1289 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1291         * Enum.cs: the hashtable don't need to be synchronized any more, since
1292         it's only accessed from withint a lock.
1294         * Console.cs: stdin, stdout and stderr will never be finalized. Fixes
1295         bug 74768.
1297 2005-05-06  Zoltan Varga  <vargaz@freemail.hu>
1299         * Array.cs: Remove CLSCompliant (false) attributes.
1301 2005-05-06  Martin Baulig  <martin@ximian.com>
1303         * Predicate.cs, Action.cs, Comparision.cs, Converter.cs: Add
1304         [CLSCompliant(true)] attribute.
1306 2005-05-04  Miguel de Icaza  <miguel@novell.com>
1308         * Enum.cs (MonoEnumInfo): Based on a patch from James Willcox,
1309         initialize cache as a static method.  Fixes #74828.
1311 2005-05-03  Marek Safar  <marek.safar@seznam.cz>
1313         * Console.cs: CancelKeyPress is stubbed.
1315 2005-04-25  Sebastien Pouliot  <sebastien@ximian.com>
1317         * ActivationContext.cs: Updated for beta2.
1318         * AppDomainManager.cs: Updated for beta2.
1319         * ApplicationId.cs: Updated for beta2.
1320         * ApplicationIdentity.cs: Updated for beta2.
1321         * Exception.cs: Now use Assembly.UnprotectedGetName () as Exception 
1322         doesn't leak the code base from the returned AssemblyName.
1324 2005-04-25  Martin Baulig  <martin@ximian.com>
1326         * Environment.cs (Environment.Version): Changed to 2.0.50215.
1328 2005-04-22  Sebastien Pouliot  <sebastien@ximian.com>
1330         * Attribute.cs: Added _Attribute interface to NET_2_0 to reduce the 
1331         number of "missing" in the class status pages.
1333 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1335         * MulticastDelegate.cs: (GetInvocationList) when building the list that
1336         is later traversed forward, mark 'this' as the end of the chain.
1337         Fixes bug #74607.
1339 2005-04-19  Zoltan Varga  <vargaz@freemail.hu>
1341         * Environment.cs: Bump corlib version.
1343 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1345         * WindowsConsoleDriver.cs: ignore key release events.
1347 2005-04-06  Atsushi Enomoto  <atsushi@ximian.com>
1349         * Char.cs : ToUpper()/ToLower() comparison ranges were incorrect.
1351 2005-04-05  Sebastien Pouliot  <sebastien@ximian.com>
1353         * _AppDomain.cs: Add security checks to the interface. Declarative 
1354         security on events requires BOOTSTRAP_WITH_OLDLIB to work properly 
1355         with older MCS.
1356         * AppDomain.cs: Add some (not complete) security checks. Bug#74411 is
1357         blocking some cases from working properly. Declarative security on 
1358         events requires BOOTSTRAP_WITH_OLDLIB to work properly with older MCS.
1360 2005-04-04  Sebastien Pouliot  <sebastien@ximian.com>
1362         * AppDomain.cs: Use the PolicyLevel to resolve the granted permissions
1363         on the AppDomain. Added an internal property to get the granted set.
1365 2005-04-04  Atsushi Enomoto  <atsushi@ximian.com>
1367         * String.cs,
1368           Char.cs : use TextInfo for ToLower() and ToUpper().
1370 2005-03-31  Sebastien Pouliot  <sebastien@ximian.com>
1372         * Exception.cs: Added Assert for TypeInformation to GetObjectData and
1373         ToString methods (not required for 2.0 as TypeInformation will be 
1374         deprecated). Added null check for GetObjectData.
1376 Tue Mar 29 11:47:19 CEST 2005 Paolo Molaro <lupus@ximian.com>
1378         * Delegate.cs: allow IronPython 0.7 to compile.
1380 2005-03-24  Miguel de Icaza  <miguel@novell.com>
1382         * Delegate.cs: Add CreateDelegate with a target option, currently
1383         internal as it is not exposed by the framework yet.
1385 2005-03-24  Zoltan Varga  <vargaz@freemail.hu>
1387         * String.cs: Add some 2.0 methods.
1389 2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
1391         * Activator.cs: Now use the supplied evidences when loading 
1392         assemblies. Added LinkDemand for RemotingConfiguration on both
1393         GetObject methods.
1394         * Console.cs: Added Assert for UnmanagedCode on OpenStandard[Error|
1395         Input|Output] as they use a handle on a FileStream (which is
1396         restricted otherwise). Added Demand for UnmanagedCode for the
1397         Set[Error|In|Out] methods.
1398         * MarshalByRefObject.cs: Added LinkDemand for Infrastructure on 
1399         CreateObjRef, GetLifetimeService and InitializeLifetimeService.
1400         * RuntimeMethodHandle.cs: Added Demand for UnmanagedCode on 
1401         GetFunctionPointer method.
1402         * TypedReference.cs: Added LinkDemand for ReflectionPermission's
1403         MemberAccess on MakeTypedReference.
1405 2005-03-14  Sebastien Pouliot  <sebastien@ximian.com>
1407         * Environment.cs: Fix CAS unit tests for NET_1_1.
1408         * Exception.cs: Fix CAS unit tests for NET_1_1.
1410 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1412         * Version.cs: don't ignore the last number. Fixes bug #73539.
1414 2005-03-11  Sebastien Pouliot  <sebastien@ximian.com>
1416         * MonoType.cs: When the security manager is active, constructors and
1417         methods will return null if a linkdemand fails during reflection 
1418         query.
1420 2005-03-11  Zoltan Varga  <vargaz@freemail.hu>
1422         * Array.cs (Sort): Bail out early if length <= 1. Fixes #72721.
1424 2005-03-10  Zoltan Varga  <vargaz@freemail.hu>
1426         * Environment.cs: Bump corlib version.
1428 2005-03-10  Martin Baulig  <martin@ximian.com>
1430         * Nullable.cs (Nullable<T>.ToString): Return an empty string if
1431         we're null.
1433 2005-03-09  Zoltan Varga  <vargaz@freemail.hu>
1435         * Activator.cs MonoType.cs: Applied patch from Carlos Alberto Cortez
1436         (carlos@unixmexico.org). Allow creation of valuetypes with no ctor.
1437         Fixes #73432.
1439 2005-03-04  Zoltan Varga  <vargaz@freemail.hu>
1441         * Environment.cs: Bump corlib version.
1443         * Exception.cs (StackTrace): Return the wrapper info as well.
1445 2005-03-02  Kazuki Oikawa  <kazuki@panicode.com>
1447         * NumberFormatter.cs: Some internal classes was converted to structs,
1448         and improved some points.
1450 2005-02-26  Kazuki Oikawa  <kazuki@panicode.com>
1452         * NumberFormatter.cs: Improved performance and memory usage
1453         when integer standard format.
1454         * SByte.cs:
1455         * Int16.cs:
1456         * Int32.cs:
1457         * Int64.cs:
1458         * Byte.cs:
1459         * UInt16.cs:
1460         * UInt32.cs:
1461         * UInt64.cs:
1462         * Single.cs:
1463         * Double.cs:
1464         * TimeSpan.cs: Improved these directly call to NumberFormatter.
1466 2005-02-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1468         * TermInfoDriver.cs: set the xmit mode if available. Handle key input
1469         and translate them into a ConsoleKeyInfo.
1470         * TermInfoReader.cs: added a method to return the bytes of a string
1471         property.
1472         * ConsoleKeyInfo.cs: added copy constructor and setters.
1474 2005-02-24  Zoltan Varga  <vargaz@freemail.hu>
1476         * Array.cs: Add missing 2.0 attributes and correct some parameter names.
1478 2005-02-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
1480         * AppDomain.cs: Changed GetAssemblies, LoadAssembly, and Load signatures,
1481         and added some to support the reflection only methods. DoAssemblyResolve
1482         was modified to invoke the new PreBindAssemblyResolve event when the
1483         assembly is reflection only.
1484         
1485 2005-02-21  Zoltan Varga  <vargaz@freemail.hu>
1487         * GC.cs Double.cs IntPtr.cs Array.cs Decimal.cs Math.cs Single.cs:
1488         Add net 2.0 ReliabilityContractAttributes.
1490 2005-02-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1492         * TermInfoDriver.cs: cygwin terminals are handled by the windows
1493         console driver.
1495         * TermInfoReader.cs:
1496         * TermInfoNumbers.cs:
1497         * KnownTerminals.cs:
1498         * TermInfoBooleans.cs:
1499         * TermInfoStrings.cs: documented.
1501 2005-02-19  Kazuki Oikawa <kazuki@panicode.com>
1503         * Array.cs: Reverse the order in the Equals calls.
1505 2005-02-18  Zoltan Varga  <vargaz@freemail.hu>
1507         * Exception.cs (StackTrace): Implement this in managed code since it is
1508         needed by CAS. Fixes #72146.
1510 2005-02-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1512         * WindowsConsoleDriver.cs: implemented MoveBufferArea.
1514 2005-02-14  Raja R Harinath  <rharinath@novell.com>
1516         * Array.cs (Array.Swapper) [!BOOTSTRAP_WITH_OLDLIB]: Make nested.
1517         See #72015.
1519 2005-02-12  Ben Maurer  <bmaurer@ximian.com>
1521         * Version.cs (CompareTo, Equals): Make sure the versions for
1522         generics handle `null'. The non-generics versions now just call
1523         the regular versions, to reduce code duplication.
1525         * Boolean.cs (CompareTo): make this really work for generics 
1527         * Type.cs (GetProperty): Passing new Type [0] is different than
1528         null. null means `I don't care how many types this has,' while new
1529         Type [0] means `this must have 0 types.'
1531 2005-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1533         * corlib.dll.sources: added WindowsConsoleDriver.cs
1535         * System/ConsoleDriver.cs: use WindowsConsoleDriver on windows and
1536         implemented the few missing properties/methods.
1538         * System/IConsoleDriver.cs: uncommented all methods/properties.
1539         * System/TermInfoDriver.cs: implement changes from IConsoleDriver.
1540         * System/WindowsConsoleDriver.cs: implemented IConsoleDriver for
1541         windows. Only missing MoveBufferArea by now.
1543 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
1545         * Type.cs (IsAssignableFrom): Add support for TypeBuilders.
1547         * Int32.cs AppDomain.cs: Fix warnings.
1549 2005-02-10  Marek Safar  <marek.safar@seznam.cz>
1551         * IServiceProvider.cs: Is not ComVisible.
1553         * NonSerializedAttribute.cs: Fix AttributeUsage flags.
1555         * Type.cs: Fix ClassInterface attribute.
1557 Tue Feb 8 19:26:47 CET 2005 Paolo Molaro <lupus@ximian.com>
1559         * Delegate.cs: remove the finalizer from Delegate: this
1560         is handled internally by the runtime now.
1562 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1564         * Activator.cs: provide the Type name when throwing an exception.
1566 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1568         * TimeZone.cs: lock on the static Hashtable instead of 'this'. Fixes
1569         bug #72238.
1571 Fri Feb 4 15:46:04 CET 2005 Paolo Molaro <lupus@ximian.com>
1573         * Array.cs: provide specialized versions of some methods.
1575 Thu Feb 3 15:15:25 CET 2005 Paolo Molaro <lupus@ximian.com>
1577         * String.cs: provide a managed memcpy and memset method
1578         for use both in corlib and from the JIT. Implement
1579         some methods with the managed helpers and remove some icalls.
1581 2005-01-31  Sebastien Pouliot  <sebastien@ximian.com>
1583         * Exception.cs: Added Data property for NET_2_0 (required for new
1584         unit tests).
1586 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1588         * ConsoleDriver.cs:
1589         * TermInfoDriver.cs:
1590         * IConsoleDriver.cs:
1591         * Console.cs: added BufferWidth and BufferHeight.
1593 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1595         * ConsoleDriver.cs:
1596         * Console.cs:
1597         * TermInfoDriver.cs:
1598         * IConsoleDriver.cs: added a few more properties and fixed cursor
1599         addressing.
1601 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1603         * ConsoleDriver.cs: static class that forwards the Console 2.0 class
1604         calls to the proper driver.
1605         * TermInfoDriver.cs: terminfo based console driver.
1606         * IConsoleDriver.cs: interface implemented by console drivers.
1608         * ConsoleCancelEventArgs.cs:
1609         * ConsoleCancelEventHandler.cs:
1611         * ConsoleModifiers.cs: 
1612         * ConsoleSpecialKey.cs:
1613         * ConsoleColor.cs:
1614         * ConsoleKey.cs: new enumerations.
1616         * ConsoleKeyInfo.cs: New file.
1618         * TermInfoReader.cs: reader for terminfo capabilities files.
1620         * TermInfoNumbers.cs:
1621         * TermInfoBooleans.cs:
1622         * TermInfoStrings.cs: enumations for terminfo property names.
1624         * KnownTerminals.cs: byte arrays for selected terminals.
1626         * Console.cs: added more 2.0 methods and implemented some of them.
1629 2005-01-30  Atsushi Enomoto  <atsushi@ximian.com>
1631         * Int32.cs : (FindSign) IndexOf() is better than creating substring.
1633 2005-01-27  Sebastien Pouliot  <sebastien@ximian.com>
1635         * BadImageFormatException.cs: Protect the fusion (GAC) log from being
1636         disclosed unless code has ControlPolicy and ControlEvidence.
1638 2005-01-27  Zoltan Varga  <vargaz@freemail.hu>
1640         * Exception.cs: Compute stack trace on demand.
1642 2005-01-26  Sebastien Pouliot  <sebastien@ximian.com>
1644         * Environment.cs: Removed hack for static class (NET_2_0). Added 
1645         proper security for FailFast (documented in FDBK20543). Added new
1646         method IsRunningOnWindows to replace (Platform == 128) as the logic is
1647         gonna change in the future (Unix is id #4 in NET_2_0).
1649 2005-01-24  Sebastien Pouliot  <sebastien@ximian.com>
1651         * Environment.cs: Added CAS security (both declarative and imperative)
1652         as a test. This shouldn't affect execution unless --security is 
1653         specified.
1655 2005-01-19  Rafael Teixeira  <rafaelteixeirabr@hotmail.com>
1656         * Type.cs: Corrected implementation for the Type.FilterNameIgnoreCase
1657         and Type.FilterName delegates They weren't dealing with the optional '*'
1658         at the end of the filter mask
1660 2005-01-19  Zoltan Varga  <vargaz@freemail.hu>
1662         * Array.cs: Fix a typo in the previous patch.
1663         
1664         * Array.cs: Fix some test failures in the generic methods.
1666         * Array.cs: Implement AsReadOnly.
1668 2005-01-13  Geoff Norton  <gnorton@customerdna.com>
1670         * Guid.cs: Fix endian issues (use Mono.Security.BitConverterLE).  Fixes
1671         #71242
1673 2005-01-11  Sebastien Pouliot  <sebastien@ximian.com>
1675         * AppDomain.cs: Removed Activate and ActivateNewProcess methods. They
1676         have been removed from 2.0.
1678 2005-01-11  Zoltan Varga  <vargaz@freemail.hu>
1680         * Boolean.cs Char.cs Single.cs Double.cs: Implement IComparable<T> in
1681         NET 2.0.
1683 2005-01-10  Sebastien Pouliot  <sebastien@ximian.com>
1685         * ApplicationIdentity.cs: Throw ArgumentNullException if name is null.
1686         Add default culture (neutral) to the name when none is specified.
1687         * AppDomain.cs: Changed IsDefaultAppDomain (2.0). Is seems that we 
1688         can't trust Id ?
1690 2005-01-09  Sebastien Pouliot  <sebastien@ximian.com>
1692         * DateTime.cs: Reverted last patch for utc as it broke all certificate
1693         handling and another unit test in DateTime.
1695 2005-01-09  Miguel de Icaza  <miguel@ximian.com>
1697         * DateTime.cs: Return immediately if useutc is set to true, there
1698         is no need to do the extra computation (which also happened to
1699         create a new DateTime using the `use_localtime' constructor, which
1700         lead to the erroneous date returns when using 'u' or `U'
1701         formats).   
1703         Fixes another bug in the regression test suite.
1705 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com> 
1707         * AppDomain.cs: Fix the DefaultDomain property to return the root 
1708         domain (as it seems that the root's Id isn't always 0).
1709         * BitConverter.cs: The "special support" for ToString(new byte[0]) is
1710         only for NET_2_0 - previously this was an ArgumentOutOfRangeException.
1712 2005-01-08  Miguel de Icaza  <miguel@ximian.com>
1714         * IntegerFormatter.cs: The - sign inside the "negative" section in
1715         a multi-format string means `show the sign' only if it is the
1716         first token, not `copy verbatim'.  In the other sections it means
1717         `copy-verbatim'.
1719         This makes things like:  (-34).ToString ("#;-#") show up as "-34"
1720         instead of "--34".
1722         The bad news is that this code needs to be rewritten to handle all
1723         the formatting cases, see bug #71112 for details.
1725         * Convert.cs (Convert.ToType): Throw an InvalidCastException if
1726         the conversion is invalid, not ArgumentException, this fixes
1727         another regression in our test suite.
1729 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com>
1731         * AppDomain.cs: Add ApplicationIdentity property for 2.0;
1732         * AppDomainManager.cs: Remove HostRefusedSet support (it does not 
1733         exists anymore).
1735 2005-01-08  Zoltan Varga  <vargaz@freemail.hu>
1737         * DateTime.cs: Create MaxValue and MinValue using a different constructor to avoid static 
1738         initialization problems.
1740 2005-01-02  Ben Maurer  <bmaurer@ximian.com>
1742         * Int32.cs: NumberStyles.AllowExponent was supported by the
1743         Int32.Parse function. From Akira <mei@work.email.ne.jp>. Fixes bug
1744         70469.
1746 2005-01-01  Atsushi Enomoto  <atsushi@ximian.com>
1748         * Base64FormattingOptions.cs : it was not in System namespace.
1750 2004-12-21  Atsushi Enomoto  <atsushi@ximian.com>
1752         * DateTime.cs : If no progress on value string, don't regard as
1753           matched. This fixes bug #70707.
1755 2004-12-20  Sebastien Pouliot  <sebastien@ximian.com>
1757         * Environment.cs: Bump corlib version.
1759 2004-12-16  Zoltan Varga  <vargaz@freemail.hu>
1761         * Array.cs (DoBinarySearch): Fix a warning.
1763 2004-12-08  Zoltan Varga  <vargaz@freemail.hu>
1765         * Environment.cs: Bump corlib version.
1767         * AppDomain.cs: Add new DefineInternalDynamicAssembly () method.
1769 2004-12-06  Ben Maurer  <bmaurer@ximian.com>
1771         * Exception.cs: Prevent stringifying the type name on the
1772         ctor. this gets called a few times on every execution to create a
1773         nullref exception.
1775 2004-12-06  Martin Baulig  <martin@ximian.com>
1777         * Decimal.cs: Decimal constant support has been merged into GMCS,
1778         removed the FIXME.
1780 2004-12-06  Zoltan Varga  <vargaz@freemail.hu>
1782         * Environment.cs: Bump corlib version.
1783         
1784         * Environment.cs: Bump corlib version.
1786 2004-11-30  Zoltan Varga  <vargaz@freemail.hu>
1788         * MonoType.cs (UnderlyingSystemType): Make this return this as in
1789         MS.NET. Fixes #56245.
1791 2004-11-29  Atsushi Enomoto  <atsushi@ximian.com>
1793         * GC.cs : Collect(generation) actually does not throw an exception
1794           even if generation > MaxGeneration (MS document bug).
1796 2004-11-28  Zoltan Varga  <vargaz@freemail.hu>
1798         * Exception.cs: Implement _Exception under NET_2_0.
1800         * Byte.cs SByte.cs UInt16.cs Int16.cs: Make these compile under csc 2.0.
1802         * AccessViolationException.cs DataMisalignedException.cs OperationCanceledException.cs
1803         NotCancelableException.cs TimeoutException.cs: New files.
1805 2004-11-23  Raja R Harinath  <rharinath@novell.com>
1807         * Decimal.cs [NET_2_0]: Use old code till GMCS imports decimal
1808         constant support.
1810 2004-11-23  Raja R Harinath  <rharinath@novell.com>
1812         * Decimal.cs [BOOTSTRAP_WITH_OLDLIB]: Use old code for compilers
1813         without decimal constant support.
1815 2004-11-23  Marek Safar  <marek.safar@seznam.cz>
1817         * Decimal.cs: Updated to use compiler decimal constant support.
1819 2004-11-20  Zoltan Varga  <vargaz@freemail.hu>
1821         * MonoType.cs: Revert last change since it breaks remoting.
1823 2004-11-18  Zoltan Varga  <vargaz@freemail.hu>
1825         * MonoType.cs (UnderlyingSystemType): Make this return this as in
1826         MS.NET. Fixes #56245.
1828 2004-11-17  Carlos Alberto Cortez <carlos@unixmexico.org>
1830         * INullable.cs: New interface added.
1831         * Nullable.cs: Methods added. Also a static Nullable class
1832         containing static methods.
1833         
1834 2004-11-15  Sebastien Pouliot  <sebastien@ximian.com>
1836         * BitConverter.cs: Added support for special case when ToString is 
1837         called with (new byte [0]).
1839 2004-11-10  Lluis Sanchez  <lluis@novell.com>
1841         * Exception.cs: Added setter for StackTrace.
1843 2004-11-07  Ben Maurer  <bmaurer@ximian.com>
1845         * IntegerFormatter.cs: Avoid .ToCharArray
1847 2004-11-06  Ben Maurer  <bmaurer@ximian.com>
1849         * Single.cs, Double.cs (GetHashCode): Better hashcode impl
1851 2004-11-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1853         * InvalidOperationException.cs: make the message more meaningful and
1854         real. Fixes bug #69055.
1856 2004-10-28  Ben Maurer  <bmaurer@ximian.com>
1858         * String.cs: Rather than == String.Empty, use .Length == 0. It
1859         is a bit faster (avoids a method call, and the code is less complex).
1861 2004-10-24  Fawad Halim  <fawad@fawad.net>
1862         * Environment.cs: If an Environment variable value isn't found, leave the trailing % of the reference for further matches.
1863         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.
1864         This fixes bug #64995.
1866 2004-10-19  Lluis Sanchez  <lluis@novell.com>
1868         * MarshalByRefObject.cs: Field _identity is not serializable.
1869         This fixes bug #68567.
1871 2004-10-17  Ben Maurer  <bmaurer@ximian.com>
1873         * DateTime.cs (ZeroPad): Use unsafe code to speed this up. We
1874         avoid entering slow integer formatting code.
1876         (_ToString): Use ZeroPad here when possible, as it is faster.
1878 2004-10-11  Martin Baulig  <martin@ximian.com>
1880         * Environment.cs: Bump corlib version to 28.
1882 2004-10-08  Zoltan Varga  <vargaz@freemail.hu>
1884         * Convert.cs (ToType): Throw an exception when converting null to a
1885         valuetype. Fixes #67780.
1887 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
1889         * DateTime.cs : Performance fix. ParseExact() implementation should
1890           avoid s = s.Substring(1).
1892 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
1894         * DateTime.cs : When it it not exact parse, 'Z' is allowed as a suffix
1895           of m/s/t/z. This fixes bug 66723.
1897 Wed Oct 6 12:37:54 CEST 2004 Paolo Molaro <lupus@ximian.com>
1899         * String.cs: make GetHashCode() managed.
1901 2004-10-04  Zoltan Varga  <vargaz@freemail.hu>
1903         * AppDomain.cs: Make ThreadStatic variables static. Fixes #56614.
1905         * Runtime*Handle.cs ModuleHandle.cs: Add Equals + GetHashCode.
1907         * ModuleHandle.cs: Add missing methods.
1909         * RuntimeTypeHandle.cs: Add GetModuleHandle () method.
1911 2004-10-03  Zoltan Varga  <vargaz@freemail.hu>
1913         * AttributeTargets.cs: Add 2.0 GenericParameter value.
1915         * Environment.cs: Bump corlib version.
1917 2004-10-02  Zoltan Varga  <vargaz@freemail.hu>
1919         * Int32.cs UInt32.cs Byte.cs SByte.cs Int16.cs UInt16.cs Int64.cs UInt64.cs: Implement 2.0 TryParse methods.
1921 2004-09-30  Geoff Norton  <gnorton@customerdna.com>
1923         * Convert.cs: ConvertToBase* was not endian aware.  Implemented EndianSwap
1924         and swapping of all values before going into the BitConverter so that values
1925         are returned with proper endianess.
1927 2004-09-23  Martin Garton  <martin@wrasse.demon.co.uk>
1929         * Convert.cs: ToType was returning unconverted object when it should
1930         fail with an ArgumentException.
1932 2004-09-27  Zoltan Varga  <vargaz@freemail.hu>
1934         * Array.cs: Add stub for AsReadOnly<T>.
1935         
1936 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
1938         * Type.cs: Add MakePointerType && stub for ReflectionOnlyGetType.
1940         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
1941         parameters.
1943 2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
1945         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
1946         methods and fields.
1947         
1948         * MonoCustomAttrs.cs: Beginnings of support for returning 2.0 pseudo
1949         custom attributes.
1951         * MonoCustomAttrs.cs (RetrieveAttributeUsage): Avoid infinite recursion.
1953         * MonoCustomAttrs.cs (GetCustomAttributes): Fix the 'attributeType is 
1954         sealed' optimization.
1956         * Type.cs: Implement 2.0 StructLayoutAttribute property. 
1958         * Type.cs Add GetPseudoCustomAttributes () method.
1960 2004-09-24  Martin Baulig  <martin@ximian.com>
1962         * Type.cs (Type.GetGenericParameterConstraints): New public method.
1964 2004-09-23  Zoltan Varga  <vargaz@freemail.hu>
1966         * MonoCustomAttrs.cs (GetCustomAttributes): Rename the icall to
1967         GetCustomAttributesInternal and add a 'pseudoAttrs' argument.
1969         * Type.cs: Tweak Module property in 2.0 build.
1971 2004-09-23  Martin Baulig  <martin@ximian.com>
1973         * Type.cs (Type.GenericParameterAttributes): New public property.
1975 2004-09-23  Martin Baulig  <martin@ximian.com>
1977         * GenericParameterAttributes.cs: New file.
1979 2004-09-22  Zoltan Varga  <vargaz@freemail.hu>
1981         * ModuleHandle.cs: Updated after changes to Module class.
1983 2004-09-21  Geoff Norton <gnorton@customerdna.com>
1985         * Type.cs: BindingFlags.IgnoreCase was being ignored, this reimplements
1986         this filter. Fixes bug #65778.
1988 2004-09-20  Zoltan Varga  <vargaz@freemail.hu>
1990         * Environment.cs: Bump corlib version.
1992 2004-09-19  Zoltan Varga  <vargaz@freemail.hu>
1994         * ModuleHandle.cs: New file.
1996         * RuntimeFieldHandle.cs: Add an internal ctor.
1998 2004-09-19  Dick Porter  <dick@ximian.com>
2000         * Console.cs: Use the internal wrappers for StreamReader and
2001         StreamWriter that catch IOException.
2003 2004-09-16  Sebastien Pouliot  <sebastien@ximian.com>
2005         * Environment.cs: Bumped mono_corlib_version to 25.
2007 2004-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2009         * AppDomain.cs: added SetupInformationNoCopy property, since
2010         SetupInformation creates a copy now, all updates to it should use the
2011         actual data. Fixes bug #61991 take 2.
2013 2004-09-09  Tim Coleman <tim@timcoleman.com>
2014         * Base64FormattingOptions.cs: New enum
2015         * Convert.cs: Add new ToBase64String methods for Fx 2.0
2017 2004-09-08  Marek Safar  <marek.safar@seznam.cz>
2019         * Console.cs,
2020         * GC.cs: Class is static for NET_2_0.
2022 2004-09-07 Ben Maurer  <bmaurer@users.sourceforge.net>
2024         * Activator.cs: Make sure not to call .GetType on a
2025         null argument. fixes 63852
2027 2004-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
2029         * Array.cs (Clear): make this an icall.
2031 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
2033         * MonoCustomAttribute.cs: Avoid the call to GetBase when possible.
2035 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2037         * Environment.cs: (ExpandEnvironmentVariables) don't nullify the case
2038         insensitive enironment variables hashtable once we create it.
2040 2004-09-04  Sebastien Pouliot  <sebastien@ximian.com>
2042         * AppDomain.cs: Changed 2 imperative security demands to declarative
2043         (unsupported) so it doesn't (for now) call the security runtime.
2045 2004-09-02  Zoltan Varga  <vargaz@freemail.hu>
2047         * Delegate.cs: Free the delegate trampoline in the finalizer.
2049 2004-08-26  Sebastien Pouliot  <sebastien@ximian.com>
2051         * ApplicationId.cs: Completed GetHashCode using information from MS
2052         (FDBK13339).
2054 2004-08-23  Sebastien Pouliot  <sebastien@ximian.com>
2056         * Boolean.cs: Added TryParse static method for NET_2_0 profile.
2058 2004-08-19  Atsushi Enomoto  <atsushi@ximian.com>
2060         * DateTime.cs : When hour format is "hh", MS.NET (maybe incorrectly)
2061           allows 12, that should not be accepted (13 is rejected) and
2062           interpreted as 0. This fixes bug 63376.
2064 2004-08-17  Sebastien Pouliot  <sebastien@ximian.com>
2066         * Version.cs: Fixed Clone so we can use it on versions with only
2067         major/minor or major/minor/build.
2069 2004-08-17  Martin Baulig  <martin@ximian.com>
2071         * MonoType.cs (MonoType.getFullName): Added `bool full_name'
2072         argument specifying whether or not to include the type arguments.
2073         (MonoType.FullName): Don't include the type arguments.
2074         (MonoType.ToString): Include them here.
2076         * Environment.cs: Bumped mono_corlib_version to 24.
2078 2004-08-16  Duncan Mak  <duncan@ximian.com>
2080         * AttributeUsageAttribute.cs: Change the AttributeUsage to
2081         AttributeTargets.Class, from AttributeTargets.All, fixes Zoltan's
2082         bug #62895.
2084 2004-08-11  Marek Safar  <marek.safar@seznam.cz>
2086         * AppDomain.cs: Fixed typo of DefineDynamicAssembly argument.
2087         Added call to AddPermissionRequests to pass permissions
2088         arguments.
2089         * Environment.cs: Added a few Fx 2.0 methods
2091 2004-08-09  Sebastien Pouliot  <sebastien@ximian.com>
2093         * ApplicationId.cs: Fixed typo to fix NET_2_0 compilation.
2094         * AppDomain.cs: Fixed use of Evidence and AppDomainSetup (copies, not
2095         references). Added (non-obsolete) Fx 2.0 properties and methods.
2096         * AppDomainSetup.cs: Added internal copy constructor.
2097         * DomainManagerInitializationFlags.cs: Fixed values.
2099 2004-08-08  Sebastien Pouliot  <sebastien@ximian.com>
2101         * AppDomainInitializer.cs: New Fx 2.0 class for AppDomain.
2102         * AppDomainManager.cs: New Fx 2.0 class for AppDomain.
2103         * ApplicationActivator.cs: New Fx 2.0 class for AppDomain.
2104         * ApplicationId.cs: New Fx 2.0 class.
2105         * ApplicationIdentity.cs: Fixed ToString.
2106         * DomainManagerInitializationFlags.cs: New Fx 2.0 flags for AppDomain.
2108 2004-08-05  Sebastien Pouliot  <sebastien@ximian.com>
2110         * AppDomain.cs: Added a new icall, getDomainByID, to get the an 
2111         AppDomain using it's Id. Completed SetAppDomainPolicy.
2112         * Environment.cs: Bumped mono_corlib_version to 23.
2114 2004-08-02  Martin Baulig  <martin@ximian.com>
2116         * DateTime.cs, TimeSpan.cs, Guid.cs, Version.cs: Implement IComparable<T>.
2118 2004-07-29  Atsushi Enomoto  <atsushi@ximian.com>
2120         * Environment.cs : GacPath on windows is based on mscorlib.dll, and
2121           now its location is changed.
2123 2004-07-21  Lluis Sanchez Gual  <lluis@novell.com>
2125         * Environment.cs: Return the MS.NET 2.0 beta1 runtime version for the
2126           NET_2_0 profile.
2127         
2128 2004-07-18  Martin Baulig  <martin@ximian.com>
2130         * Array.cs: Ben Maurer implemented all the new generic methods
2131         here :-)
2133 2004-07-17  Martin Baulig  <martin@ximian.com>
2135         * Decimal.cs: Implement IComparable<Decimal>.
2137 2004-07-17  Martin Baulig  <martin@ximian.com>
2139         * Byte.cs, Int16.cs, Int32.cs, Int64.cs, SByte.cs, String.cs,
2140         UInt16.cs, UInt32.cs, UInt64.cs: Implement IComparable<T>.      
2142 2004-07-13  Sebastien Pouliot  <sebastien@ximian.com>
2144         * ActivationContext.cs: New class in Fx 2.0. Required for 
2145         System.Security.Policy.
2146         * ApplicationIdentity.cs: New class in Fx 2.0. Required for 
2147         System.Security.Policy.
2148         * IApplicationDescription.cs: New interface in Fx 2.0. Required for 
2149         System.Security.Policy.
2150         * IHostContext.cs: New interface in Fx 2.0. Required for 
2151         System.Security.Policy.
2153 2004-07-12  Geoff Norton <gnorton@customerdna.com>
2155         * DateTime.cs: Patch for bug #61112.  Our DateTime wasn't roundtripping over timezone
2156           boundaries properly.  This patch checkes ToLocalTime() to see if we're tripping over a boundary
2157           and will add/subtract the hour if needed
2159 2004-07-07  Geoff Norton <gnorton@customerdna.com>
2161         * Monotype.cs: Patch for bug #58844.  Dont throw exceptions right away;
2162           pass through all the possibly BindingInfo's and keep a bool value as to the type
2163           of exception we might need to throw;
2165 2004-07-07  Geoff Norton <gnorton@customerdna.com>
2167         * Patch to fix bug #58973
2169 2004-07-02  Jackson Harper  <jackson@ximian.com>
2171         * PlatformID.cs: New 2.0 values.
2172         
2173 2004-06-25  Ben Maurer <bmaurer@ximian.com>
2174         
2175         * Environment.cs: GetFolderPath has new behavior. r=miguel
2177 2004-06-23  Sebastien Pouliot  <sebastien@ximian.com>
2179         * DateTime.cs: Throw ArgumentOutOfRangeException if the year is
2180         bigger than 9999. Fix bug #41845.
2181         * FloatingPointFormatter.cs: Applied correction from Jon Skeet on
2182         the "R"eversible format for negative numbers.
2184 2004-06-21  Jackson Harper  <jackson@ximian.com>
2186         * Decimal.cs: Make sure to use invariant culture when parsing
2187         floats stringified with the invariant culture. Patch by Rodrigo
2188         B. de Oliveira.
2189         
2190 2004-06-19  Atsushi Enomoto  <atsushi@ximian.com>
2192         * FloatingPointFormatter.cs : Literal string should be kept in the
2193           output.
2195 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
2197         * DateTime.cs : Concatenating whitespace removal was not working fine.
2198           Modified FormatException message (1 cent kindness).
2200 2004-06-18  Ben Maurer  <bmaurer@ximian.com>
2201         
2202         * Action.cs, ArraySegment.cs, Comparison.cs, Converter.cs, Predicate.cs:
2203         new generics classes
2204         * IComparable.cs: add the new <T> version.
2205         * EventHandler.cs: new <T> version.
2206         
2207 2004-06-18  Dick Porter  <dick@ximian.com>
2209         * String.cs: The icall can cope with embedded \0 now.
2211 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
2213         * DateTime.cs :
2214           - Added new common pattern "yyyy/M/dZ"
2215           - empty string should not be compared in _ParseEnum()
2216           - Use culture independent string comparison in _ParseString()
2217           - Whitespace removal should be checked after '..' token check (some
2218             pattern such like es-ES LongDatePattern contains spaces in '..').
2219           - formats null check should be done (to throw ArgumentNullException)
2220             in ParseExact().
2221           - When specified one character format, dates are incorrectly regarded
2222             as to use invariant culture.
2224 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
2226         * ArgIterator.cs: changed layout to Auto
2227         * DateTime.cs: changed layout to Auto
2229 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
2231         * DateTime.cs: CRLF to LF
2233 2004-06-17  Sebastien Pouliot  <sebastien@ximian.com>
2235         * Decimal.cs: Fixed regression in System.Data caused by the recent 
2236         changes. Adapted (and moved) the code to correct the scale from 
2237         SqlMoney. Removed unused (and unusable) IsOne and fixed IsZero (where
2238         scale has no importance).
2240 2004-06-17  Lluis Sanchez Gual  <lluis@ximian.com>
2242         * Activator.cs: In CreateInstance(), use Public|Instance if access binding
2243           attributes are omitted.
2245 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
2247         * DateTime.cs : GetDateTimeFormats(char, IFormatProvider) should also
2248           check if the format character is valid.
2250 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
2252         * DateTime.cs : AddDays(double) rounds the input.
2254 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
2256         * DateTime.cs : Incorrect maxvalue comparison in ToUniversalTime().
2257           Fixed ToLocalTime() as well, but it does check range for MinValue.
2259 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
2261         * DateTime.cs : Added overflow check in ToUniversalTime() and
2262           ToLocalTime(). Fixed bug #60253.
2264 2004-06-16  Sebastien Pouliot  <sebastien@ximian.com>
2266         * FloatingPointFormatter.cs: Implemented "R" format using Jon Skeet
2267         source code (with permission). Fix (biggest) part of bug #60110.
2268         http://www.yoda.arachsys.com/csharp/floatingpoint.html
2270 2004-06-15  Sebastien Pouliot  <sebastien@ximian.com>
2272         * Decimal.cs: Fixed scale after Round (a different scale is correct 
2273         from a math point of view but affect the string representation of the
2274         value). Note: other operations also have scale problems!
2275         * DecimalFormatter.cs: Fixed FormatGeneral to match Fx 1.1 output.
2276         * FloatingPointFormatter.cs: Fixed ToString which doesn't use banker's
2277         rounding (which is the rounding provided by Math.Round). This fix bug
2278         #60111. The code (new Round methods) should be moved elsewhere (as it
2279         may also be required elsewhere) post Mono 1.0.
2281 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
2283         * AppDomainSetup.cs: added TODO for serialization
2284         * ExecutionEngineException.cs: added missing serialization ctor
2285         * InvalidProgramException.cs: added missing serialization ctor
2286         * MulticastNotSupportedException.cs: added missing serialization ctor
2287         * ObsoleteAttribute.cs: fixed serialization compatibility with MS.NET
2288         * Random.cs: fixed serialization compatibility with MS.NET
2290 2004-06-15  Paolo Molaro <lupus@ximian.com>
2292         * Type.cs: removed unused (and non-existing) icall type_is_instance.
2294 2004-06-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2296         * Environment.cs: use internalGetHome instead of getting "HOME" as
2297         that variable may not be defined.
2299 2004-06-14  Sebastien Pouliot  <sebastien@ximian.com>
2301         * TimeSpan.cs: Fixed timespan with large values for hours or minutes
2302         (overflow is only checked for days but can also occurs in hours and
2303         minutes which uses Int32 when multiplying). The new results match MS
2304         implementation.
2306 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
2308         * FloatingPointFormatter.cs : Recognize '%' and '\u2030' and replace
2309           them with matching NumberFormatInfo properties.
2311 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
2313         * Double.cs : Use IFormatProvider.GetFormat() instead of literal '-'.
2314         * FloatingPointFormatter.cs :
2315           Use NumberFormatInfo.NegativeSign. This change saves many XSLT test
2316           failures.
2317           Format Permille pattern (It is undocumented but actually available,
2318           and used in xsl:format-number).
2320 2004-06-14  Raja R Harinath  <rharinath@novell.com>
2322         * Console.cs (Console.Write, Console.WriteLine): Disable __arglist
2323         version with BOOTSTRAP_WITH_OLDLIB.
2324         * String.cs (STring.Concat): Likewise.
2326 2004-06-13  Atsushi Enomoto  <atsushi@ximian.com>
2328         * FloatingPointFormatter.cs :
2329           - Don't format more than 15 fraction digits. Don't report to Pedro
2330             directly (removing the error message with his concent).
2331           - When format string starts with '.', it means integral part format 
2332             is not specified. Ignore '.' characters after the first
2333             appearance. Fixed bug #59890.
2334           - 0.0 is formatted only before the third ';' appearance.
2336 2004-06-11  Sebastien Pouliot  <sebastien@ximian.com>
2338         * DateTime.cs: Added a AddRoundedMilliseconds which use the "old Mono"
2339         rounding logic which worked for FromOADate (while the newer didn't).
2340         * TimeSpan.cs: Now throw an OverflowException when the timespan is
2341         over MaxValue or under MinValue.
2343 2004-06-11  Martin Baulig  <martin@ximian.com>
2345         * Console.cs (Write, WriteLine): Implemented the varargs versions.
2347 2004-06-11  Martin Baulig  <martin@ximian.com>
2349         * String.cs (Concat): Implemented the varargs version.
2351 2004-06-10  Sebastien Pouliot  <sebastien@ximian.com>
2353         * Decimal.cs: Hacked the Parse method to allow the runtime C code to
2354         decode it properly (i.e. matching MS results). Fixed the Round method
2355         for negative decimal numbers (moved code from Math.cs).
2356         * Math.cs: Now use Decimal class for Round(Decimal,int). Required to
2357         fix a bug when rounding a negative decimal.
2359 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2361         * AppDomain.cs: set the _principal to null when changing the policy.
2362         * Console.cs: remove ClsCompliant attribute from a method marked as
2363         internal and added comment.
2365 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
2367         * Delegate.cs: marked protected fields private to match public
2368         API of MS.NET, marked DynamicInvokeImpl and GetMethodImpl
2369         protected to fix public API
2370         * Enum.cs: marked ctor protected to match public API of MS.NET
2371         * MulticastDelegate.cs: marked DynamicInvokeImpl protected to
2372         match public API of MS.NET
2374 2004-06-10  Atsushi Enomoto  <atsushi@ximian.com>
2376         * DateTime.cs : Added more common patterns.
2378 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
2380         * Decimal.cs: Fixed banker rounding by calling Math.Round. This won't
2381         be a performance winner (the actual Math code has a note to wait a
2382         better Decimal implementation) but it returns the correct results
2383         (without adding new code in corlib or the runtime). Fix #37744.
2385 2004-06-09  Atsushi Enomoto  <atsushi@ximian.com>
2387         * DateTime.cs :
2388           - A bunch of fixes (patch by Steven Brown). Fraction seconds are 
2389             now represented as double. Strict token check for 'Z'.
2390           - Pattern validity check in GetDateTimeFormats(char).
2391           - Fixed pattern "yyyy/M/d HH:mm:ss".
2393 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
2395         * Decimal.cs: Fixed remainder (and optimized some cases not to call 
2396         unmanaged code). Simplified divide. Removed workaround for bug #59793.
2397         Fixed GetHashCode to return different result for X and -X.
2399 2004-06-08  Atsushi Enomoto  <atsushi@ximian.com>
2401         * DateTime.cs :
2402           - Now re-checked all common format patterns. They should be tried
2403             with both current culture and invariant culture. Since '/' covers
2404             '-', removed extraneous patterns. Added more common patterns
2405             such as "yyyy-MM-dd" and X509Certificate pattern (it is valid
2406             only after NET_1_1). Commented out 1 character format patterns.
2407           - The format patterns we should try should not be obtained by
2408             GetAllDateTimePatterns(). Just use 'd', 'D', 't', 'T', ... (one
2409             character patterns), to handle UTC correctly. Examined patterns
2410             are changed, to 1) common patterns with specified (or current)
2411             culture, 2) common patterns with invariant, 3) The above "one
2412             character patterns" with specified (or current) culture.
2413           - When trying to parse some kind of patterns such as RFC1123, 
2414             always use invariant DateTimeFormatInfo so that they can avoid
2415             parsing with culture-dependent calendar.
2416           - Check "GMT" only when doing Parse(). Don't it when ParseExact().
2417           - Removed extraneous '-' case. It is not special one.
2418           - When ParseExact(), allow only '/' for '/' pattern character.
2419           - When Parse(), allow any non-letter & non-number characters.
2420           - When pattern is not fully parsed, reject that format.
2421           - Added "exact" parameter to some ParseExact().
2422           - RFC1123 pattern is (again) now parsed in local time. I regressed
2423             some problems in previous fix.
2425 2004-06-08  Sebastien Pouliot  <sebastien@ximian.com>
2427         * Decimal.cs: Fixed cast to integer types to truncate (not round) the
2428         value.
2430 2004-06-07  Duncan Mak  <duncan@ximian.com>
2432         * Exception.cs (Source): This can return null.
2434 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
2436         * DateTime.cs: Fixed FromFileTime for negative values. Fixed 
2437         constructor to limit range of milliseconds from 0,999. Fixed
2438         ToType method to work for object, string and DateTime.
2440 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
2442         * DateTime.cs: Fixed OLE Automation date conversions: timezone 
2443         insensitive, wrong exception in FromOADate, handling of Min/Max 
2444         values, negative doubles where integer part is negative but 
2445         decimals are positive! Charming format ;-)
2447 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
2449         * String.cs: Fixed Join in case separator parameter is null.
2450         * TimeSpan.cs: Cache format errors during parsing and throw 
2451         FormatException only if there was no overflow.
2453 2004-06-06  Gert Driesen <drieseng@users.sourceforge.net>
2455         * MonoCustomAttrs.cs: fixed issue where an empty array was 
2456         returned when GetCustomAttributes was invoked with null
2457         attribute type and there was only one result
2459 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
2461         * Decimal.cs: Fixed ToString(String.Empty) to default ("G").
2462         * Int16.cs: Fixed ToString(String.Empty) to default ("G").
2463         * Int32.cs: Fixed ToString(String.Empty) to default ("G").
2464         * Int64.cs: Fixed ToString(String.Empty) to default ("G").
2465         * SByte.cs: Fixed ToString(String.Empty) to default ("G").
2466         * UInt16.cs: Fixed ToString(String.Empty) to default ("G").
2467         * UInt32.cs: Fixed ToString(String.Empty) to default ("G").
2468         * UInt64.cs: Fixed ToString(String.Empty) to default ("G").
2470 2004-06-05  Sebastien Pouliot  <sebastien@ximian.com>
2472         * Convert.cs: Fixed the convertion of negative integers (byte, short, 
2473         int and long) into string in a specific base (2, 8, 10 or 16).
2475 2004-06-04  Sebastien Pouliot  <sebastien@ximian.com>
2477         * Math.cs: Fixed IEEERemainder to return -0 (0x8000000000000000) when
2478         the dividend is negative and the result is 0 (remainder).
2480 2004-06-03  Sebastien Pouliot  <sebastien@ximian.com>
2482         * Delegate.cs: Fix the NullReferenceException in Combine(Delegate[]).
2484 2004-06-02  Sebastien Pouliot  <sebastien@ximian.com>
2486         * TimeSpan.cs: Fixed overflow issues when delaing with big (days) time
2487         spans. Fixed parsing when only days are presents in the string (which
2488         should be illegal according to the documentation but is supported).
2490 2004-06-01  Sebastien Pouliot  <sebastien@ximian.com>
2492         * TimeSpan.cs: Fixed exceptions in FromXXX methods as they are 
2493         somewhat different from the documentation.
2495 2004-06-01  Gert Driesen <drieseng@users.sourceforge.net>
2497         * Type.cs: added missing attributes on InvokeMember
2499 2004-06-01  Miguel de Icaza  <miguel@ximian.com>
2501         * String.cs: Flag concat with four arguments internal. 
2503 2004-05-31  Sebastien Pouliot  <sebastien@ximian.com>
2505         * Array.cs: Fixed legal case where value is null.
2506         * Byte.cs: Fixed ToString when format is an empty string (use "G").
2507         * Guid.cs: Renamed private fields (and changed some to signed) to 
2508         match MS implementation and allow serialization to work. Fix 
2509         bug #59113.
2511 2004-05-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2513         * DateTime.cs: adjust milliseconds for fraction specifier ('f').
2515 2004-05-30  Miguel de Icaza  <miguel@ximian.com>
2517         * Console.cs: Remove *again* the version of WriteLine with four
2518         arguments;  That should *not* be added.  
2520         Flag it as internal as people migrate their code.
2522 2004-05-29  Sebastien Pouliot  <sebastien@ximian.com>
2524         * Convert.cs: Fixed ToSByte(string,IFormatProvider) to throw 
2525         ArgumentNullException (only case, all other returns 0). Fixed exception
2526         reporting for hex prefix only strings. Fixed ChangeTo where null could
2527         be misinterpreted between null and Empty.
2529 2004-05-28  Sebastien Pouliot  <sebastien@ximian.com>
2531         * Convert.cs: Fixed integer parsing for special cases (0x, 0X for base
2532         16), non-base 10 negative numbers ... see new unit tests. Fixed the 
2533         case when we parse Int64.MinValue (positive doesn't fit a signed long).
2535 2004-05-28  Jackson Harper  <jackson@ximian.com>
2537         * Environment.cs: Increment version number.
2538         
2539 2004-05-28  Zoltan Varga  <vargaz@freemail.hu>
2541         * AppDomain.cs (Load): Try loading from assemblyRef.CodeBase if exists.
2542         Fixes #59189.
2544 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
2546         * DateTime.cs : I reverted my fix by accident :(
2548 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
2550         * DateTime.cs :
2551           - In ToString(), Don't use culture-dependent daynames to format
2552             Universal/RFC1123 date/time. Also, use FullDateTimePattern for 'U'.
2553           - Fixed GetDateTimeFormats () that generated incorrect 'U' value 
2554             (since the format string is the same as 'F').
2556 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
2558         * DateTime.cs : don't adjust utc value in ToString(). It must output
2559           the same time value, just adding 'Z' for UTC.
2561 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
2563         * DateTime.cs : in 'Z' case, remove the 'Z' char from input before
2564           proceeding.
2566 2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2568         * AppDomainSetup.cs: InitAppDomainSetup is not needed now.
2570 2004-05-27  Sebastien Pouliot  <sebastien@ximian.com>
2572         * Byte.cs: Fixed parsing for "-0" which is valid for unsigned types.
2573         * Convert.cs: Convert with a base parameter cannot parse negative 
2574         string numbers, even "-0".
2575         * UInt16.cs: Fixed parsing for "-0" which is valid for unsigned types.
2576         * UInt32.cs: Fixed parsing for "-0" which is valid for unsigned types.
2577         * UInt64.cs: Fixed parsing for "-0" which is valid for unsigned types.
2579 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
2581         * DateTime.cs : 
2582           - Added "yyyy/MM/dd HH:mm:ss 'GMT'" and "yyyy-MM-dd HH:mm:ss 'GMT'"
2583             to common formats (yes, I know it is nothing more than hack)
2584           - Fixed some GetDateTimeFormats() that just returned patterns.
2585           - For InvariantCulture, now try both supported formats and our
2586             predefined formats.
2587           - It was accepting incorrectly extraneous characters. That caused
2588             some UTC/non-UTC bug.
2589           - RFC1123 string should return universal time. Uncomment again (the
2590             problem should went away because of the extra characters fix above.
2592             With some of the changes above, fixed bug #47720.
2594 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
2596         * DateTime.cs : quick revert 'Z' support for certificate verifications.
2598 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
2600         * Array.cs: Removed duplicate condition if LastIndexOf.
2602 2004-05-26  Atsushi Enomoto <atsushi@ximian.com>
2604         * DateTime.cs :
2605           - Added "yyyy-MM-dd HH:mm:ss" to "compatible patterns".
2606             (Fixed bug #58938.)
2607           - As a quick remedy to accept more patterns, Parse() now also tries
2608             InvariantInfo patterns (this is because we have no more than one
2609             pattern for each pattern component.)
2610           - In _DoParse(), 'Z' should not be read as timezone specifier. Some
2611             culture uses 'Z' as AM/PM designer, and it should be recognized as
2612             part of the UTCpattern (if it actually UTC pattern for the culture
2613             contains 'Z').
2615 2004-05-26  Gert Driesen (drieseng@users.sourceforge.net)
2617         * MonoCustomAttrs.cs: Fixed issue with AllowMultiple, as MS
2618         seems to allow multiple attributes with AllowMultiple at
2619         runtime.
2621 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
2623         * Byte.cs: Throw an OverflowException for negative numbers.
2624         * Convert.cs: Accept 0x and 0X as prefix when parsing base16 strings.
2625         * Environment.cs: Bumped mono_corlib_version to 20 (rng interface).
2627 2004-05-25  Sebastien Pouliot  <sebastien@ximian.com>
2629         * Array.cs: Fixed possible integer overflow.
2630         * BitConverter.cs: Fixed a possible integer overflow in ToString.
2631         * Guid.cs: Added an internal method to create a random Guid without
2632         using CryptoConfig (which is heavy on first use). This is only used
2633         in S.R.E.ModuleBuilder to speedup MCS compilation.
2634         * String.cs: Fixed reported exception for PadLeft|Right. Fixed 
2635         possible integer overflow in methods that takes index and count
2636         as parameters.
2638 2004-05-25  Zoltan Varga  <vargaz@freemail.hu>
2640         * String.cs: Add new Strcpy icalls which take a char array as 
2641         parameter.
2643 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
2645         * DateTime.cs : added more invariant format patterns. This should
2646           really fix bug #57656.
2648 2004-05-25 14:14 CET Patrik Torstensson <totte@hiddenpeaks.com>
2650         * BitConverter.cs (ToBoolean): Return true or false instead
2651         of unsafe returing byte as bool. Fixes bug #58874.
2653 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
2655         * DateTime.cs : In ToString(string, IFormatProvider), use "G" if
2656           string format argument is null.
2658 2004-05-25  Lluis Sanchez Gual  <lluis@ximian.com>
2660         * Version.cs: Rename of data fields to match those in Microsoft.NET.
2661           Patch by PAF@design.ru.
2663 2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2665         * DateTime.cs: allow double quotes in the formats. Don't set
2666         next_not_digit to true in presence of single or double quotes. Patch by
2667         Martin Probst.
2669 2004-05-24  Zoltan Varga  <vargaz@freemail.hu>
2671         * AppDomainSetup.cs (InitAppDomainSetup): This one returns void.
2673 2004-05-23  Sebastien Pouliot  <sebastien@ximian.com>
2675         * Array.cs: Fixed exception when we try to Clear outside bounds.
2676         * Boolean.cs: Fixed Equals for True!=True (see bugzilla #58874).
2677         * BitConverter.cs: Fixed negative index and integer overflow in
2678         To... methods.
2679         * Buffer.cs: Fixed integer overflow in BlockCopy.
2681 2004-05-22  Sebastien Pouliot  <sebastien@ximian.com>
2683         * Array.cs: Clear can now work on multidimentional arrays.
2684         * IntPtr.cs: We now only accept 32bits values in the long constructor
2685         unless we're on a 64 bits machine.
2686         * UIntPtr.cs: We now only accept 32bits unsigned values in the ulong 
2687         constructor unless we're on a 64 bits machine.
2689 2004-05-22  Duncan Mak  <duncan@ximian.com>
2691         * Convert.cs: The file was mostly in DOS endings already, for the
2692         sake of consistency, converted it all to DOS endings.
2693         (ToType): When value is null, immediately return null and don't
2694         ever throw a NullReferenceException. When conversionType is null,
2695         throw an InvalidCastException. Give a better error message when
2696         attempting to convert to a DBNull as well.
2698 2004-05-21  Sebastien Pouliot  <sebastien@ximian.com>
2700         * Decimal.cs: Fixed To... methods that needs to trunk the integer part
2701         of Decimal (and not use the banker's rounding like Convert.To...).
2702         * Single.cs: Fixed CompareTo and Equals (copied fix from Double) wrt
2703         to NaN compares (see new unit tests).
2705 2004-05-20  Sebastien Pouliot  <sebastien@ximian.com>
2707         * Convert.cs: Added checks for integer overflow for From|ToBase64Char.
2708         Also fixed the case where wide (16 bits) characters were converted to 
2709         bytes.
2711 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
2713         * ThreadStaticAttribute.cs
2714         * ContextStaticAttribute.cs
2715         * FlagsAttribute.cs
2716         * ObsoleteAttribute.cs : now that Inherited is false by
2717         default on AttributeUsageAttribute (as it should be) we
2718         need to explicitly set Inherited to false for those
2719         attributes should it be be false.
2721 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
2723         * AttributeUsageAttribute.cs: Inherited property should be
2724         true by defaultrs.cs: respect Inherited property, and
2726 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
2728         * MonoCustomAttrs.cs: respect Inherited property, and
2729         AllowMultiple property of a CustomAttribute. This fixes
2730         a major issue we had with respect to custom attributes.
2732 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
2734         * MonoType.cs: throw ArgumentNullException when type parameter in
2735         GetCustomAttributes(Type, bool) is null
2737 2004-05-18  Sebastien Pouliot  <sebastien@ximian.com>
2739         * Buffer.cs: Added checks for null source and destination. Fix failing
2740         CryptoStream unit test.
2741         * Guid.cs: Fixed thread-safety issue. Simplified implementation to use
2742         pseudo-random numbers to generate GUIDs (as per section 3.4 of the 
2743         spec). This removes the TODO to get the computer MAC address and
2744         the chances to get a duplicate GUID (across different machines).
2746 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2748         * TimeSpan.cs: Only catch expected exceptions, if we get other exceptions
2749           than OverflowExceptions then something went wrong internally
2751 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2753         * Char.cs: Fix long standing bug with ToLower/ToUpper not being
2754           culture - sensitive
2756 2004-05-14  Zoltan Varga  <vargaz@freemail.hu>
2758         * Buffer.cs: Optimize BlockCopy.
2760         * Environment.cs: Bump corlib version.
2762 2004-05-14  Atsushi Enomoto <atsushi@ximian.com>
2764         * __ComObject.cs : This class is not regarded as CLSCompliant by csc.
2765           See also bug #58478.
2767 2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2769         * AppDomainSetup.cs: don't throw an exception if dynamic_base has not
2770         been set. Just return null as MS. Fixes bug #58120.
2772 2004-05-14  Marek Safar  <marek.safar@seznam.cz>
2774         * Boolean.cs, Byte.cs, Char.cs, DBNull.cs, DateTime.cs,
2775           Decimal.cs, Double.cs, Enum.cs, Int16.cs, Int32.cs,
2776           Int64.cs, IntegerFormatter.cs, SByte.cs, Single.cs,
2777           String.cs, UInt16.cs, UInt32.cs, UInt64.cs: Removed
2778           useless [CLSCompliant (false)]
2781 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
2783         * __ComObject.cs: To please corcompare (no implementation).
2785 2004-05-13  Zoltan Varga  <vargaz@freemail.hu>
2787         * Environment.cs: Bump corlib version.
2789 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
2791         * Environement.cs: Removed two security attributes for CurrentDirectory
2792         that weren't documented (and anyway we don't support them).
2794 2004-05-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2796         * Char.cs: Fix exceptions
2798 2004-05-11  Lluis Sanchez Gual  <lluis@ximian.com>
2800         * MissingMemberException.cs: Fix in serialization constructor.
2802 2004-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2804         * Environment.cs: GetGacPath return value is resolved at runtime on
2805         windows.
2807 2004-05-07  Sebastien Pouliot  <sebastien@ximian.com>
2809         * Convert.cs: ToBase64CharArray method was depending on a bug in 
2810         S.S.C.ToBase64Transform class to work. Added an internal method to 
2811         provide the same functionality (multiple block processing).
2813 2004-05-06  Jackson Harper  <jackson@ximian.com>
2815         * Environment.cs: Make $HOME the personal directory.
2817 2004-05-06  Sebastien Pouliot  <sebastien@ximian.com>
2819         * Convert.cs: ToBase64String method was depending on a bug in 
2820         S.S.C.ToBase64Transform class to work. Added an internal method to 
2821         provide the same functionality (multiple block processing).
2823 2004-05-05  Sebastien Pouliot  <sebastien@ximian.com>
2825         * Environment.cs: Completed OSVersion property.
2826         * Version.cs: Added internal CreateFromString() to "try" to build the
2827         best version number form the specified string.
2829 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2831         * TimeSpan.cs: Redid a lot of stuff in TimeSpan from scratch.
2832           Fixes several potential bugs and makes things way faster.
2834 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2836         * TimeSpan.cs: Formatting changes
2838 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
2840         * Activator.cs: change _flags to a const.
2841         * IntegerFormatter.cs: make tables readonly.
2842         * Convert.cs: tables readonly
2843         * DateTime.cs: ditto.
2844         * IntPtr.cs: avoid a cctor.
2846 2004-04-29  Jackson Harper  <jackson@ximian.com>
2848         * MonoType.cs: 
2849         * Type.cs: NET_2_0 now instead of 1_2. 
2850         
2851 2004-04-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2853         * Environment.cs: implemented GetLogicalDrives.
2855 2004-04-28  Miguel de Icaza  <miguel@ximian.com>
2857         * Applied patch from Atsushi Enomoto that allows Synchronized
2858         writers to have a `dont close' flag, this fixes 52094
2860 2004-04-29  Lluis Sanchez Gual  <lluis@ximian.com>
2862         * MonoCustomAttrs.cs, MonoType.cs: Property.GetGetMethod() does not
2863         return the method if it is private (it did until now because of a
2864         bug). Make sure it works as it worked before the fix.
2865         * Type.cs: Implemented FilterAttribute delegate.
2867 2004-04-28  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2869         * IntegerFormatter.cs: Prevent the use of the explicit static constuctor
2871 2004-04-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2873         * IntegerFormatter.cs: Made functions internal (needed by other patches)
2875 2004-04-27  Lluis Sanchez Gual  <lluis@ximian.com>
2877         * DateTime.cs: TODO cleaning.
2878         * Delegate.cs: GetObjectData should be virtual.
2879         * IntegerFormatter.cs: Method factorization. I don't want to fix bugs in
2880           30 methods almost identical.
2881         * MulticastDelegate.cs: Implemented GetObjectData.
2882         
2883 2004-04-26  Jackson Harper  <jackson@ximian.com>
2885         * Environment.cs: Things going bump in the night.
2887 2004-04-25  Miguel de Icaza  <miguel@ximian.com>
2889         * Convert.cs (toBase64Transform): Make private.
2891 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2893         * Convert.cs:
2894         * Decimal.cs:
2895         * DecimalFormatter.cs:
2896         * FloatingPointFormatter.cs: Call invariant Char functions
2897         * Guid.cs: Call invariant Char and String functions
2898         * String.cs: Call invariant Char functions
2900 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2902         * String.cs: Refactored the Invariant ToXXX into its own internal methods
2903           so they are directly callable within corlib (can prevent early
2904           construction of CultureInfo, InvariantCulture and related classes)
2906 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2908         * String.cs: Managed impl. of Invariant parts of ToLower, ToUpper
2909         * Char.cs: Managed impl. of Invariant parts of ToLower, ToUpper
2911 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2913         * String.cs: Check for null values
2915 2004-04-23  Peter Bartok <pbartok@novell.com>
2917         * Environment.cs: GetLogicalDrives now returns "/" instead of null. Gonzalo
2918           will do a better fix in the future, but this way apps can at least use it.
2920 2004-04-23  Sebastien Pouliot  <sebastien@ximian.com>
2922         * Environment.cs: Better support for GetFolderPath (same results as MS 
2923           on Windows).
2925 2004-04-22  Lluis Sanchez Gual  <lluis@ximian.com>
2927         * Activator.cs: Removed TODOs for finished methods.
2928         * AppDomainSetup.cs: When setting a relative path to ApplicationBase, it
2929           must be relative to the current directory, not the temp directory.
2930           Implemented DynamicBase.
2931         * Convert.cs: No need to create a ToBase64Transform instance at every call
2932           to ToBase64CharArray.
2933         * DateTime.cs: Implemented missing methods FromFileTimeUtc and 
2934           ToFileTimeUtc.
2935         * Decimal.cs: Implemented FromOACurrency and ToOACurrency.
2936         * Delegate.cs: Removed class TODO.
2937         * IntegerFormatter.cs: Use Char.IsLetter and Char.IsDigit instead of ad-hoc
2938           methods.
2939         * Type.cs: Removed TODOs for things already implemented.
2940         
2941 2004-04-21  Lluis Sanchez Gual  <lluis@ximian.com>
2943         * Char.cs: Implemented culture-dependent ToLower and ToUpper methods.
2944         * MulticastDelegate.cs: Removed unused code.
2946 2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>
2948         * AppDomain.cs: Implemented DynamicDirectory and SetDynamicBase.
2949         * Array.cs: Removed some TODOs in CreateInstance and IndexOf.
2950         * BadImageFormatException.cs: TODO reformat.
2951         * DateTime.cs: Implemented GetDateTimeFormats and GetDateTimeFormats.
2952         * DelegateSerializationHolder.cs: Made class internal.
2953         * Enum.cs: Removed TODO for localization, since this is something that has
2954           to be done for all classes.
2955         * Environment.cs: Removed TODO.
2956         * Exception.cs: Changed ToString to use StringBuilder.
2957         * MonoDummy.cs: Made class internal.
2958         * UnitySerializationHolder.cs: Added support for modules.
2960 2004-04-16  David Sheldon <dave-mono@earth.li>
2962         * DecimalFormatter.cs: Don't append a decimal point after the
2963           end of a number. ((decimal)1).ToString("P0") should be "100 %", not
2964           "100. %"
2966 2004-04-09  Miguel de Icaza  <miguel@ximian.com>
2968         * OutOfMemoryException.cs: Removed the call to Locale.GetText from
2969           this.
2971 2004-04-10  Gert Driesen (drieseng@users.sourceforge.net)
2973         * MonoDummy.cs: added MonoTODO to make sure we remove this class
2974           when its no longer needed
2976 2004-04-09  David Sheldon <dave-mono@earth.li>
2978         * Convert.cs: Allow + signs in strings for ToInt32, and
2979           - if it is base 10.
2981 2004-04-08  Atsushi Enomoto  <atsushi@ximian.com>
2983         * Nullable.cs : usingdecl should also be conditional.
2985 2004-04-07  Martin Baulig  <martin@ximian.com>
2987         * Nullable.cs: New file.
2989 2004-04-07  Martin Baulig  <martin@ximian.com>
2991         * Type.cs (Type.GetGenericArguments): Make this abstract.
2993 2004-04-07  Jackson Harper  <jackson@ximian.com>
2995         * Environment.cs: Increase corlib version number.
2996         
2997 2004-04-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2999         * Environment.cs:
3000         (ExpandEnvironmentVariables): on windows, env. vars. are case
3001         insensitive.
3003 2004-04-06  Sebastien Pouliot  <sebastien@ximian.com>
3005         * AppDomain.cs: Added static to [ThreadStatic] _principal field. 
3006         Removed [ThreadStatic] for _principalPolicy (not required).
3008 2004-04-06  Miguel de Icaza  <miguel@ximian.com>
3010         * Guid.cs: Flag as Sequential.
3012 2004-04-02  Dick Porter  <dick@ximian.com>
3014         * String.cs: More sanity checks in Replace().  Fixes bug 55822.
3016 2004-04-02  Sebastien Pouliot  <sebastien@ximian.com>
3018         * Environment.cs: Implement ExpandEnvironmentVariables static method.
3019         Now call the runtime to get the username (fix #56144).
3021 2004-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3023         * MonoType.cs: AssemblyQualifiedName now displays culture, version...
3024         Fixes bug #56341.
3026 2004-03-29  Miguel de Icaza  <miguel@ximian.com>
3028         * Console.cs: If we fail to open stdin/stdout/stderr, create
3029         readers with a NullStream.  This can happen if our caller does not
3030         setup stdin/stoud/stderr file handles.  #56158 exposed this, but
3031         it will happen elsewhere.
3033 2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>
3035         * Convert.cs: In ToSingle(double), removed checks for Single.MaxValue
3036         and Single.MinValue. MS.NET don't do it. This fixes bug #56005.
3037         * Guid.cs: Added support for guid strings in the "N" and "P" formats in
3038           the constructor. This fixes bug #54019.
3040 2004-03-23  Lluis Sanchez Gual <lluis@ximian.com>
3042         * FloatingPointFormatter.cs: Made the class thread safe. Had to move some
3043           internal variables to structures that are moved around methods.
3044           Factorized some common formatting code into FormatNumberInternal.
3045           
3046 2004-03-23  Dick Porter  <dick@ximian.com>
3048         * DateTime.cs: Allow any character for DateSeparator when parsing,
3049         except TimeSeparator, a digit or a letter.  Fixes bug 54047.  Also
3050         deleted the previous fix for 54721, because this covers it too.
3051         
3052 2004-03-23  Dick Porter  <dick@ximian.com>
3054         * DateTime.cs: Check the date string for too many digits when
3055         parsing.  Fixes bugs 53023 and 53025.
3057 2004-03-22  Dick Porter  <dick@ximian.com>
3059         * String.cs: Use the provider when converting strings to other
3060         types.
3062         * DateTime.cs: Add MM-dd-yyyy to the list of standard date parsing
3063         formats.  Fixes bug 54721.
3065 2004-03-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3067         * Console.cs: Styled, optimized calls
3068         * CrossAppDomainDelegate.cs: Small header fix
3069         * Buffer.cs: Style, improve errors
3070         * BitConverter.cs: Style, improve errors, remove obsolete comment
3071         * Attribute.cs: Style, improve errors, small fix
3072         * Array.cs: Style, improve errors, small fix, added TODOs
3073         * Activator.cs: Style, localized errors, added error checks
3074         * Byte.cs: Style, localized errors, fixed wrong exception parameters
3075         * Char.cs: Style
3076         * Boolean.cs: Style
3077         * AppDomainSetup.cs: Style
3078         * AppDomain.cs: Style, implemented two methods (redirect)
3080 2004-03-21  Jackson Harper  <jackson@ximian.com>
3082         * FloatingPointFormatter.cs: Set precision from number format info
3083         when it is not specified. This fixes bug #54983.
3084         
3085 2004-03-18  Nick Drochak <ndrochak@ieee.org>
3087         * Math.cs: Use IsNaN() method not "x == NaN".
3089 2004-03-16  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3091         * EntryPointNotFoundException.cs
3092         * DuplicateWaitObjectException.cs
3093         * DllNotFoundException.cs
3094         * DivideByZeroException.cs
3095         * ContextMarshalException.cs
3096         * CannotUnloadAppDomainException.cs
3097         * BadImageFormatException.cs
3098         * ArrayTypeMismatchException.cs
3099         * ArithmeticException.cs
3100         * ArgumentOutOfRangeException.cs
3101         * ArgumentNullException.cs
3102         * ArgumentException.cs
3103         * ApplicationException.cs
3104         * AppDomainUnloadedException.cs: Added missing HResult overrides
3106         * BadImageFormatException.cs: Improved/ Fixed implementation
3108 2004-03-15  Sebastien Pouliot  <sebastien@ximian.com>
3110         * Random.cs: Corrected random value when Next is called with a 
3111         negative value. Testing indictae that our results aren't exactly the 
3112         same as MS, we have a +/- 1 (probably rounding errors due to 
3113         different implementation).
3115 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3117         * Environment.cs: updated corlib version.
3119 2004-03-15  Lluis Sanchez Gual <lluis@ximian.com>
3121         * Boolean.cs, Byte.cs, Char.cs, Double.cs, Int16.cs, Int32.cs, Int64.cs,
3122           SByte.cs, Single.cs, UInt16.cs, UInt32.cs, UInt64.cs: Renamed internal
3123           field "value" to "m_value", so it is interoperable with MS.NET when 
3124           serializing and deserializing data. Based on the patch from Daniel
3125           Keep.
3127 2004-03-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3129         * TypeInitializationException.cs
3130         * SystemException.cs
3131         * StackOverflowException.cs
3132         * RankException.cs
3133         * OverflowExceptionException.cs
3134         * OutOfMemoryException.cs
3135         * NullReferenceException.cs
3136         * NotSupportedException.cs
3137         * NotFiniteNumberException.cs
3138         * InvalidOperationException.cs
3139         * InvalidCastException.cs
3140         * IndexOutOfRangeException.cs
3141         * FormatException.cs
3142         * ExecutionEngineException.cs: improved parameter names
3144 2004-03-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3146         * Enum.cs
3147         * EntryPointNotFoundException.cs
3148         * DuplicateWaitObjectException.cs
3149         * DoubleFormatter.cs
3150         * DllNotFoundException.cs
3151         * DivideByZeroException.cs
3152         * DelegateSerializationHolder.cs
3153         * Delegate.cs
3154         * DBNull.cs
3155         * ContextStaticAttribute.cs
3156         * ContextMarshalException.cs
3157         * ContextBoundObject.cs
3158         * CLSCompliantAttribute.cs
3159         * CharEnumerator.cs
3160         * CannotUnloadAppDomainException.cs
3161         * BadImageFormatException.cs
3162         * AttributeUsageAttribute.cs
3163         * AttributeTargets.cs
3164         * AsyncCallback.cs
3165         * AssemblyLoadEventHandler.cs
3166         * AssemblyLoadEventArgs.cs
3167         * ArrayTypeMismatchException.cs
3168         * ArithmeticException.cs
3169         * ArgumentOutOfRangeException.cs
3170         * ArgumentNullException.cs
3171         * ArgumentException.cs
3172         * ArgIterator.cs
3173         * ApplicationException.cs
3174         * AppDomainUnloadedException.cs
3175         * AppDomain.cs: Mono styled, fixed exceptions/ locales
3176           removed excess usings
3178 2004-03-10  Sebastien Pouliot  <sebastien@ximian.com>
3180         * Convert.cs: FromBase64 now ignore some characters (tab, LF, CR and
3181         spaces) which fixed #54939. Changed the way that the length is 
3182         validated (multiple of 4) because the ignored characters must not be
3183         included in the count.
3185 2004-03-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3187         * String.cs: Monostyled
3189 2004-03-09  Jackson Harper  <jackson@ximian.com>
3191         * Char.cs: Only use a byte for numeric data.
3192         
3193 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3195         * TypedReference.cs: Added missing Attributes
3196         * ParamArrayAttribute.cs: Small style fix
3197         * OperatingSystem.cs: Added .Net 1.1 member
3199 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3201         * FieldAccessException.cs
3202         * FormatException.cs
3203         * InvalidCastException.cs
3204         * InvalidOperationException.cs
3205         * MemberAccessException.cs
3206         * MethodAccessException.cs
3207         * MissingFieldException.cs: Locale strings
3208         * MissingMemberException.cs: Locale strings
3209         * MissingMethodException.cs: Locale strings
3210         * NotFiniteNumberException.cs
3211         * NotImplementedException.cs
3212         * NotSupportedException.cs
3213         * NullReferenceException.cs
3214         * ObjectDisposedException.cs
3215         * OutOfMemoryException.cs
3216         * OverflowExceptionException.cs
3217         * PlatformNotSupportedException.cs
3218         * RankException.cs: Added missing HResult overrides
3220 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3222         * RuntimeTypeHandle.cs
3223         * RuntimeMethodHandle.cs
3224         * RuntimeFieldHandle.cs: Implemented serialization (partially untested)
3226 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3228         * EventArgs.cs
3229         * Exception.cs
3230         * ExecutionEngineException.cs
3231         * FieldAccessException.cs
3232         * FormatException.cs
3233         * GC.cs
3234         * Guid.cs
3235         * IndexOutOfRangeException.cs
3236         * IntPtr.cs
3237         * InvalidCastException.cs
3238         * InvalidOperationException.cs
3239         * InvalidProgramException.cs
3240         * IServiceProvider.cs
3241         * LoaderOptimization.cs
3242         * LoaderOptimizationAttribute.cs
3243         * MarshalByRefObject.cs
3244         * Math.cs
3245         * MemberAccessException.cs
3246         * MethodAccessException.cs
3247         * MissingFieldException.cs
3248         * MissingMemberException.cs
3249         * MissingMethodException.cs
3250         * MultiCastDelegate.cs
3251         * MulticastNotSupportedException.cs
3252         * NonSerializedAttribute.cs
3253         * NotFiniteNumberException.cs
3254         * NotImplementedException.cs
3255         * NotSupportedException.cs
3256         * NullReferenceException.cs
3257         * ObjectDisposedException.cs
3258         * ObsoleteAttribute.cs
3259         * OperatingSystem.cs
3260         * OutOfMemoryException.cs
3261         * OverflowExceptionException.cs
3262         * PlatformID.cs
3263         * PlatformNotSupportedException.cs
3264         * Random.cs
3265         * RankException.cs
3266         * ResolveEventArgs.cs
3267         * ResolveEventHandler.cs
3268         * RuntimeFieldHandle.cs
3269         * RuntimeMethodHandle.cs
3270         * RuntimeTypeHandle.cs: Mono styled, fixed exceptions/ locales
3271           removed excess usings
3273 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3275         * SystemException.cs: Exceptions set the HResult
3276         * TypeLoadException.cs: Exceptions set the HResult, fixed wrong exception usage
3277         * SByte.cs: Implemented two missing methods, fix wrong parameters for ArgumentNullException
3279 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3281         * TypedReference.cs
3282         * TypeLoadException.cs
3283         * TypeInitializationException.cs
3284         * TypeCode.cs
3285         * TimeZone.cs
3286         * ThreadStaticAttribute.cs
3287         * SystemException.cs
3288         * STAThreadAttribute.cs
3289         * StackOverflowException.cs
3290         * SingleFormatter.cs
3291         * Single.cs
3292         * SerializableAttribute.cs: Mono styled, fixed exceptions/ locales
3293           removed excess usings
3295 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3297         * UnauthorizedAccessException.cs: Exceptions set the HResult
3298         * UInt64.cs: Implemented two missing methods
3299         * UInt32.cs: Fix wrong parameters for ArgumentNullException, simpler convert
3300         * UInt16.cs: Fix wrong parameters for ArgumentNullException, simpler convert
3302 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3304         * WeakReference.cs
3305         * Void.cs
3306         * Version.cs
3307         * ValueType.cs
3308         * UnitySerializationHolder.cs
3309         * UnhandledExceptionEventHandler.cs
3310         * UnauthorizedAccessException.cs
3311         * UIntPtr.cs
3312         * UInt64.cs
3313         * UInt32.cs
3314         * UInt16.cs: Mono styled, Locale.GetText fixes, msg fixes
3316 2004-03-04  Lluis Sanchez Gual <lluis@ximian.com>
3318         * Environment.cs: Bump corlib version.
3320 2004-03-04  Jackson Harper  <jackson@ximian.com>
3322         * Char.cs: New managed implementation. Modified patch by Andreas Nahr.
3323         
3324 2004-02-27  Lluis Sanchez Gual <lluis@ximian.com>
3326         * String.cs: Concat() fixed crash when one of the arguments is an object
3327           whose ToString() method returns null.
3328         * TypeLoadException.cs: Added some serialization fiels, needed for
3329           compatibility with MS.NET.
3331 2004-02-23 Ben Maurer  <bmaurer@users.sourceforge.net>
3333         * String.cs (Equals): Speed up this method by avoiding Array
3334          Bounds Checks and by comparing by 32 bit words rather than 16 bit chars.
3336         This gives between 0x (for 1 char) and >2x (for large strings)
3337         factor of improvement.
3339         A big thanks to Miguel, who suggested the integer compares.
3341 2004-02-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3343         * MonoType.cs: use the binder in GetPropertyImpl.
3345 2004-02-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3347         * Math.cs: MonoStyled, replaced space with tabs,
3348           speedup of some methods by avoiding method calls
3350 2004-02-18  Atsushi Enomoto  <atsushi@ximian.com>
3352         * Char.cs : optimized IsSeparator(), IsWhiteSpace() and IsDigit().
3353           (Moved from InternalCall to Managed code).
3355 2004-02-17  Martin Baulig  <martin@ximian.com>
3357         * MonoType.cs (GetConstructors): Renamed the interncall to
3358         GetConstructors_internal(), made it internal and added a `Type
3359         reflected_type' argument to it.
3360         (GetEvents, GetFields): Likewise.
3361         (GetMethodsByName): Added `Type reflected_type' argument.
3362         (GetPropertiesByName): Likewise.
3364 2004-02-16  Jackson Harper  <jackson@ximian.com>
3366         * FloatingPointFormater.cs: Allow precision to be up to the number
3367         of decimals without rounding.
3368         
3369 2004-02-14  Zoltan Varga  <vargaz@freemail.hu>
3371         * Delegate.cs (Equals): Do not compare method_ptr, since it might
3372         point to a trampoline.
3374 2004-02-12  Jackson Harper  <jackson@ximian.com>
3376         * AppDomainSetup.cs: If relative paths are used they should be
3377         rooted in the temp directory.
3378         
3379 2004-02-11  Marek Safar  <marek.safar@seznam.cz>
3381         * Type.cs (FilterNameIgnoreCase_impl): Added extra check for speedup.
3383 2004-02-10  Zoltan Varga  <vargaz@freemail.hu>
3385         * AppDomain.cs (Load): Check that assemblyRef.Name is not empty, to
3386         avoid an assert in the runtime.
3388 2004-02-08  Duncan Mak  <duncan@ximian.com>
3390         * Convert.cs (ToType): Always let a Convert.ChangeType call
3391         succeed if the source object is already of the destination type.
3393         Patch by Ian MacLean (ianm@activestate.com).
3395 2004-02-05  Sebastien Pouliot  <sebastien@ximian.com>
3397         * AppDomain.cs: Implemented SetPrincipalPolicy and SetThreadPrincipal.
3399 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
3401         * Environment.cs: Bump corlib version.
3403 2004-02-02  Sebastien Pouliot  <sebastien@ximian.ca>
3405         * DateTime.cs: Corrected support for "Z" in the mask (Parse). This
3406         fix bug #53461.
3408 2004-01-27  Sebastien Pouliot  <spouliot@videotron.ca>
3410         * Exception.cs: Changed ToString to remove the \n when no stack trace
3411         is present (which fixed a unit test for SecurityException). Changed
3412         all \n to Environment.NewLine.
3414 2004-01-27  Lluis Sanchez Gual <lluis@ximian.com>
3416         * ContextBoundObject.cs: Removed TODO.
3418 2004-01-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3420         * TimeSpan.cs: fixed bug #52075. Days (int) don't rely on TotalDays
3421         (double), which might round up.
3423 2004-01-19  Jackson Harper <jackson@ximian.com>
3425         * FloatingPointFormatter.cs: Use the default decimal digits count
3426         if they are not specified. This fixes bug #52927.
3427         
3428 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
3430         * Environment.cs: Bump version number.
3432 2004-01-19  Lluis Sanchez Gual  <lluis@ximian.com>
3434         * Type.cs: Added internal call for IsInstanceOfType. The old implementation
3435         uses IsAssignableFrom(o.GetType()), which is not always valid for 
3436         transparent proxies (because GetType will not return the type of the remote
3437         object if its assembly is not present).
3439 2004-01-18  David Sheldon <dave-mono@earth.li>
3441   * FloatingPointFormatter.cs: Skip the decimal point if we have an 
3442     integer mantassa. So: 1E+15, rather than 1.E+15.
3444 2004-01-18  David Sheldon <dave-mono@earth.li>
3446         * Array.cs (GetValue/SetValue): Throw NullRef exception like .NET 1.1, 
3447         even though docs say it should be an ArgumentNull. Two test cases now
3448   pass. See also nickd's commit of 2003-12-24.
3450 2004-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3452         * Environment.cs: increased corlib version.
3454 2004-01-14  Lluis Sanchez Gual <lluis@ximian.com>
3456         * MonoCustomAttrs.cs: Removed attribute cache. Attribute instances can't
3457         be reused because they could be modified. This fixes bug #52655.
3459 2004-01-12  Patrik Torstensson
3461         * Environment.cs: Bump corlib version number due to new StringBuilder
3462         
3463         * String.cs: New internal method to support the new StringBuilder that
3464         uses the string as a buffer (until ToString is called)
3466 2004-01-12  Zoltan Varga  <vargaz@freemail.hu>
3468         * Environment.cs: Bump corlib version number for real this time.
3469         
3470         * AppDomain.cs (LoadAssembly): Pass the assembly name as a string to
3471         the runtime, so it can take into account the Culture etc.
3473         * Environment.cs: Bump corlib version number.
3474         
3475 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3477         * MonoType.cs: GetMethods renamed to GetMethodsByName. It takes a
3478         new parameter with the method name and a boolean for ignoring case.
3479         Removed some string comparisons no longer needed.
3481 2004-01-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3483         * MonoType.cs: GetProperties renamed to GetPropetiesByName. It takes a
3484         new parameter with the property name and a boolean for ignoring case.
3485         Fixes bug #52753.
3487 2004-01-11  David Sheldon <dave-mono@earth.li>
3489         * DateTime.cs: Correct processing of formats with multiple '-'s, fixing
3490         bug 52274.
3492 2004-01-10  Zoltan Varga  <vargaz@freemail.hu>
3494         * AppDomain.cs: Keep track of type resolve and assembly resolve 
3495         events in progress to prevent infinite recursion.
3497 2004-01-06  Miguel de Icaza  <miguel@ximian.com>
3499         * Console.cs: Test for UTF-8 being present anywhere on the
3500         string, also do ToUpper instead of ToLower, which will work even
3501         around the ICU bug with different locales (#52065), and addresses #52101
3503 2004-01-05  Zoltan Varga  <vargaz@freemail.hu>
3505         * Environment.cs: Bump version.
3507 2003-12-24 Ben Maurer  <bmaurer@users.sourceforge.net>
3509         * Type.cs (IsNotPublic): One would normally assume that
3510         IsNotPublic == !IsPublic, but this is not the case (note to MS,
3511         make better names ;-). Fixes #52547, `Type.IsNotPublic not 
3512         correct for Nested types'
3514 2003-12-24  Nick Drochak  <ndrochak@ieee.org>
3516         * Array.cs (CreateInstance): Throw NullRef exception like .NET 1.1, 
3517         even though docs say it should be an ArgumentNull. Sent email to MS
3518         about this "bug".
3520 2003-12-23  Lluis Sanchez Gual  <lluis@ximian.com>
3522         * Exception.cs: Several changes to make it compatible with MS.NET (needed
3523         for remoting interoperability): set a default value for hresult, added 
3524         initialization of class_name, serialization field RemoteStackTrace must
3525         be RemoteStackTraceString, added ser. field ExceptionMethod.
3527         * IndexOutOfRangeException.cs: Added serialization constructor.
3529 2003-12-22  Bernie Solomon  <bernard@ugsolutions.com>
3531         * Int32 (Parse):
3532           Int64 (Parse): Fix overflow checking for AllowHexSpecifier
3534 2003-12-20  Zoltan Varga  <vargaz@freemail.hu>
3536         * MonoType.cs (GetMethodImpl): Only call FindMostDerivedMatch if the
3537         user supplied no parameter info, but not when the user supplied an
3538         empty parameter list. This fixes IKVM.
3540         * Environment.cs: Bump corlib version.
3542 2003-12-19  Dick Porter  <dick@ximian.com>
3544         * String.cs: Added Compare shortcut for length==0.
3546 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
3548         * Environment.cs: Bump corlib version.
3550 2003-12-17  Dick Porter  <dick@ximian.com>
3552         * String.cs: Fix StartsWith and EndsWith when the argument is the
3553         empty string.  Fixes bug 52283.
3555 2003-12-16  Zoltan Varga  <vargaz@freemail.hu>
3557         * Environment.cs (HasShutdownStarted): Implement.
3559 2003-12-15  Zoltan Varga  <vargaz@freemail.hu>
3561         * Environment.cs (HasShutdownStarted): Make this static under NET 1.1.
3562         
3563         * Environment.cs: Bump version number.
3565 2003-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3567         * DateTime.cs: don't bail out with that year out of range error on
3568         stuff like "MM/dd/yyyy HH:MM:ss".
3570 2003-12-13  Zoltan Varga  <vargaz@freemail.hu>
3572         * Environment.cs: Make it a const instead.
3573         
3574         * Environment.cs: Make version field static.
3576 2003-12-10  Zoltan Varga  <vargaz@freemail.hu>
3578         * Type.cs: Make DefaultBindingFlags protected.
3580         * Environment.cs: Applied patch from Todd Berman (tbermann@gentoo.org).
3581         Add new GacPath property + its associated icall.
3583 2003-12-09 Anirban Bhattacharjee <banirban@novell.com>
3585         * DateTime.cs : Bugs fixed (41845, 51422)
3586         * MonoType.cs : Exception message changed 
3588 2003-12-08  Martin Baulig  <martin@ximian.com>
3590         * Type.cs (MakeByRefType): New public method.
3592 2003-12-08  Zoltan Varga  <vargaz@freemail.hu>
3594         * Environment.cs: Add a version number for the corlib-runtime interface
3595         to make it easier to diagnose problems resulting from a mismatch 
3596         between the two.
3598 2003-12-08  Patrik Torstensson   <p@rxc.se>
3600         * Type.cs (GetMethod): Check type arguments within array
3601         * MonoType.cs (GetMethodImpl): Handle methods with a new slot
3602         (same signature but different classes (derived level)
3604 2003-12-07  Zoltan Varga  <vargaz@freemail.hu>
3606         * Type.cs (MakeArrayType): Add argument checking.
3608 2003-12-06  Dick Porter  <dick@ximian.com>
3610         * String.cs: Don't use CompareInfo for non-culture-sensitive
3611         IndexOf and LastIndexOf methods.
3613 2003-12-06  Ravindra  <rkumar@novell.com>
3615         * DateTime.cs: Made Parse(string, IFormatProvider) method to
3616         use second argument. Fixed bug #51464.
3618 2003-12-04  Martin Baulig  <martin@ximian.com>
3620         * Type.cs (Type.MakeArrayType): New public method.
3622 2003-12-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3624         * Buffer.cs:
3625         (BlockCopy): make the exception thrown helpful.
3627 2003-12-03  Dick Porter  <dick@ximian.com>
3629         * String.cs: Calling Replace on an empty string returns itself.
3631 2003-12-03  Zoltan Varga  <vargaz@freemail.hu>
3633         * MonoType.cs: Get rid of get_type_info, use a separate icall for
3634         each property instead.
3636 2003-12-02  Dick Porter  <dick@ximian.com>
3638         * Decimal.cs: Fix NumberFormatInfo lookup.  Patch by
3639         Mohammad DAMT (mdamt@cdl2000.com), fixes bug 51443.
3641 2003-12-01  Dick Porter  <dick@ximian.com>
3643         * String.cs: Make Compare, IndexOf, LastIndexOf, StartsWith,
3644         Replace, ToLower, ToUpper and Equals use the correct CultureInfo.
3646 2003-11-28  Dick Porter  <dick@ximian.com>
3648         * Type.cs: 
3649         * MonoType.cs: 
3650         * Enum.cs: 
3651         * Boolean.cs: Do string compares with the Invariant culture.
3653 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
3655         * Array.cs: make the enumerator ICloneable
3657 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
3659         * Decimal.cs (ToXXX): Call Convert.ToXXX.
3661 2003-11-26  Zoltan Varga  <vargaz@freemail.hu>
3663         * AppDomain.cs: Applied patch from ztashev@openlinksw.co.uk (Zdravko Tashev). 
3664         Implement Load(byte[]) methods.
3666         * BadImageFormatException.cs: Fix ToString.
3668 2003-11-24  Zoltan Varga  <vargaz@freemail.hu>
3670         * MonoType.cs: Make Standard|HasThis match Standard in GetMethod and
3671         GetConstructor, as done by MS.
3673 2003-11-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3675         * FloatingPointFormatter.cs: Removed some unused variables to prevent csc compiler warnings
3677 2003-11-18  Lluis Sanchez Gual  <lluis@ximian.com>
3679         * TypeInitializationException.cs: Added missing serialization constructor.
3681 2003-11-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3683         * AppDomainSetup.cs: Don't add an extra '/' at the end of 
3684         ApplicationBase. The tests pass now with mono.
3686 2003-11-18  Zoltan Varga  <vargaz@freemail.hu>
3688         * ValueType.cs: New optimized implementation for Equals and GetHashCode.
3690 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3692         * Environment.cs: use Directory in CurrentDirectory property.
3693         We were not throwing any exception when setting the directory to an
3694         invalid path.
3696 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3698         * Array.cs:
3699         * Delegate.cs: implemented 1.1 stuff.
3701         * Enum.cs:
3702         * IntPtr.cs: removed extra attribute.
3703         * PlatformID.cs: added WinCE.
3705 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3707         * ValueType.cs:
3708         (Equals): compare the fields of structs too.
3709         (GetHashCode): combine the hash code of all the fields.
3710         Fixes bug #50901 (will remove the icall in a couple of days).
3712 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3714         * Array.cs: fixed Clear for non-zero bounded arrays. Fixes bug #50968.
3716 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3718         * DateTime.cs: handle century when we try to parse 4-digit years and
3719         only 2 digits are present. Fixes bug #49394.
3721 2003-11-13  Miguel de Icaza  <miguel@ximian.com>
3723         * Console.cs: On utf-8 consoles, use unmarked output.
3725 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3727         * IAppDomainSetup.cs:
3728         * _AppDomain.cs: 
3729         * Object.cs:
3730         * Type.cs: Added missing attribute
3732 2003-11-12 Lluis Sanchez Gual <lluis@ximian.com>
3734         * Environment.cs: Added internal method for getting the path to 
3735         machine.config.
3736         
3737 2003-11-12 Jackson Harper <jackson@ximian.com>
3739         * Environment.cs: Add MyMusic and MyPictures to the SpecialFolder
3740         enum. This fixes the SWF build.
3741         
3742 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
3744         * PlatformID.cs: Remove Unix platform, we cant expose constants
3745         that are not in the framework.
3747         * OperatingSystem.cs: Adjust for the breakage.
3749         * RuntimeMethodHandle.cs: Fix signature.
3751         * Double.cs: Fix signature of TryParse.
3753         * String.cs (Concat (object, object, object, object)): Add missing method.
3755         * OperatingSystem.cs: Removed Equals, GetHashCode, they were not
3756         in the .NET Framework.
3758         * Enum.cs: Hide constructor.  
3760         Fix ToUint16 to be explicitly implemented.
3762         * Console.cs: Add couple of extra missing methods (Write and
3763         WriteLine overloaded)
3765 2003-11-11  Miguel de Icaza  <miguel@ximian.com>
3767         * AppDomain.cs, Activator.cs: New unimplmented entry points from
3768         1.1 (Com activation related).
3769         
3770         * Exception.cs: Formatting.
3771         
3772         * IServiceProvider.cs: Add ComVisible (true).
3774         * AppDomainSetup.cs: Add a couple more properties from .NET 1.1 
3776 2003-11-03  Lluis Sanchez Gual <lluis@ximian.com>
3778         * AppDomain.cs: Added some null checks in Load methods. This fixes bug
3779           #50356.
3781 2003-11-01  Zoltan Varga  <vargaz@freemail.hu>
3783         * AppDomain.cs: Make the SetDomain icalls private + call InternalInvoke
3784         on MonoMethod instead of Invoke.
3786 2003-11-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
3788         * DateTime.cs: Fixed Add* methods handling. Now it works properly
3789         with extreme values (there is a bug with Overflow and Underflow in
3790         long type).
3792 2003-10-31  Pedro Martínez Juliá  <yoros@wanadoo.es>
3794         * DateTime.cs: Fixed a few format bugs.
3796 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
3798         * AppDomain.cs (InternalPushDomainRef): New icalls.
3800         * AppDomain.cs (InvokeInDomain): New method to execute code in a 
3801         different appdomain.
3803 2003-10-27  Zoltan Varga  <vargaz@freemail.hu>
3805         * AppDomain.cs: Fix prototype of InternalIsFinalizingForUnload.
3807 2003-10-25  Zoltan Varga  <vargaz@freemail.hu>
3809         * AppDomain.cs (IsFinalizingForUnload): Implement.
3811         * AppDomain.cs (Unload): Move the notification of OnUnload listeners
3812         to unmanaged code.
3814 2003-10-25  Martin Baulig  <martin@ximian.com>
3816         * MonoType.cs: Don't make this sealed.
3818 2003-10-24  Zoltan Varga  <vargaz@freemail.hu>
3820         * AppDomain.cs: Add InternalInvokeInDomain[ByID] icalls.
3822 2003-10-24  Pedro Martínez Juliá  <yoros@wanadoo.es>
3824         * DateTime.cs: When handling '-' as a date separator, MS.NET uses
3825         the same symbol in the parse (not DateTimeFormatInfo.DateSeparator).
3827 2003-10-22  Dick Porter  <dick@ximian.com>
3829         * DateTime.cs: Handle '-' as a date separator when parsing formats.
3831 2003-10-20  Duncan Mak  <duncan@ximian.com>
3833         * Delegate.cs (CreateDelegate): Avoid creating an extra Type array
3834         and merge the two iterations into one.
3836 2003-10-15  Zoltan Varga  <vargaz@freemail.hu>
3838         * TypedReference.cs: Add new field used by the runtime.
3840 2003-10-15  Martin Baulig  <martin@ximian.com>
3842         * Type.cs (Type.DeclaringMethod): For a generic method's type
3843         parameter, return this method - otherwise, return null.
3845 2003-10-14  Martin Baulig  <martin@ximian.com>
3847         The generics API has changed in the spec since it was added here;
3848         these modifications make it match the spec again.
3850         * Type.cs
3851         (GetGenericParameters): Renamed to `GetGenericArguments'.
3852         (HasGenericParameters): Renamed to `HasGenericArguments'.
3853         (HasUnboundGenericParameters): Renamed to `ContainsGenericParameters'.
3854         (IsGenericTypeDefinition): New property.
3855         (IsUnboundGenericParameter): Renamed to `IsGenericParameter'.
3857         * MonoType.cs (ContainsGenericParameters): Implement this here;
3858         this is no interncall anymore.
3860 2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3862         * Delegate.cs: add the method name to the exception when it cannot be
3863         bound.
3864         * Exception.cs: fix nullref in Source.
3866 2003-10-10  Zoltan Varga  <vargaz@freemail.hu>
3868         * Array.cs: Add argument checking to GetValue and SetValue.
3870 2003-10-09  Miguel de Icaza  <miguel@ximian.com>
3872         * DateTime.cs: Patch from Chris Turchin: the DateTime.MaxValue
3873         should not be TimeSpan.MaxValue, because it overflow.  Set this to
3874         be MAX_VALUE_TICKS
3876 2003-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3878         * MonoCustomAttrs.cs: from_cache is now thread-safe. Yeah, I got a
3879         duplicate entry exception.
3881 2003-10-08 Ben Maurer  <bmaurer@users.sourceforge.net>
3883         * DateTime.cs (ToString): Total rewrite, fixes #49358.
3885 2003-10-03  Zoltan Varga  <vargaz@freemail.hu>
3887         * AppDomain.cs: Change accessibility of DoTypeResolve to fix build.
3889 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3891         * Enum.cs:
3892         (Equals): check that the object is an Enum before comparing the types.
3894 2003-09-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3896         * Array.cs: reduced xsp allocated memory by 1/2.
3898 2003-09-25  Martin Baulig  <martin@ximian.com>
3900         * Type.cs (Type.IsGenericTypeDefinition): Removed this method
3901         since it was identical to GetGenericTypeDefinition().
3902         (Type.IsGenericInstance): New property.
3904 2003-09-24  Duncan Mak  <duncan@ximian.com>
3906         * Math.cs (Abs): Fix double Locale.GetText bug reported by
3907         davejp@volny.cz. This fixes #48788.
3909 2003-09-14  Pedro Martínez Juliá  <yoros@wanadoo.es>
3911         * FloatingPointFormatter.cs: Add the necessary castings to char
3912         conversions.
3914 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
3916         * FloatingPointFormatter.cs: Make the method calls more functional
3917         for protecting the values from different threads (make it more
3918         thread safe).
3920 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
3922         * FloatingPointFormatter.cs: Fix a bug with the negative value of
3923         count parameter.
3925 2003-09-12  Pedro Martínez Juliá  <yoros@wanadoo.es>
3927         * FloatingPointFormatter.cs: Applied a lot of improvements in string
3928         construction, make use of Append/Insert with the "count" parameter.
3929     Thanks to Ben Maurer.
3931 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
3933         * FloatingPointFormatter.cs: Fix a bug with Custm Format.
3935         * FloatingPointFormatter.cs: Fix a little bug I've introduced the
3936         last change.
3938 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
3940         * DoubleFormatter.cs: A few optimizations. Now, only one object
3941         is created to convert all double numbers.
3943         * SingleFormatter.cs: A few optimizations. Now, only one object
3944         is created to convert all float numbers.
3946         * FloatingPointFormatter.cs: Split the "number type parameters" from
3947         the "numver value and format parameters". The first ones are in the
3948         constructor and the others are in a method.
3950 2003-09-09  Zoltan Varga  <vargaz@freemail.hu>
3952         * Array.cs: Added argument checking to some NET_1_1 methods.
3954 2003-09-04  Martin Baulig  <martin@ximian.com>
3956         * Type.cs (GetGenericTypeDefinition): Make this method virtual.
3958 2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3960         * Array.cs: added the new overloaded CreateInstance, GetValue, SetValue
3961         taking 'longs'. All tests pass.
3963 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
3965         * Exception.cs: Add ClassInterface attr. Implement TargetSite and
3966         Source. Remove MonoTODO attributes (class is 100% done). Also
3967         passes all Rotor tests for Exception!
3969 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
3971         * Enum.cs: Remove [MonoTODO]'s that had been completed.
3973 2003-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3975         * String.cs: fixed bug #47802.
3977 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
3979         * String.cs: Created method FormatHelper that does formatting,
3980         using a StringBuilder.
3982 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3984         * Array.cs: patch by lb@lb.ods.org that fixes bug #47707.
3986 2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3988         * Delegate.cs: CreteDelegate (Type, MethodInfo) only supports static
3989         methods under MS.
3991 2003-08-11  Duncan Mak  <duncan@ximian.com>
3993         * Environment.cs (Version): Return the same numbers as the MS
3994         implementation.
3996 2003-08-10  Miguel de Icaza  <miguel@ximian.com>
3998         * Array.cs: Applied patch from Thong (Tum) Nguyen;  Removed
3999         replicated tests, and have a routine that does the heavy lifting.
4001 2003-08-08  Lluis Sanchez Gual <lluis@ximian.com>
4003         * DateTime.cs: Fixed DoParse. It was calling the wrong constructor
4004           of DateTime.
4005         * Environment.cs: return $HOME for ApplicationData folder.
4007 2003-08-04  Duncan Mak  <duncan@ximian.com>
4009         * FloatingPointFormatter.cs (Normalize): Apply a patch from Aleksey
4010         Demakov <avd@openlinksw.com> to fix formatting for Big power of 10
4011         floating point values. This fixes bug #46175.
4013         * Convert.cs (ToUInt16): Throw an OverflowException correctly, as
4014         noted by c5n4kh6u02@sneakemail.com in
4015         http://bugzilla.ximian.com/show_bug.cgi?id=43098.
4017 Sat Aug  2 13:01:46 BST 2003 Malte Hildingson <malte@amy.udd.htu.se>
4019         * Double.cs: added icall Double.AssertEndianity.
4021 Fri Aug 1 16:47:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
4023         * Type.cs, MonoType.cs: implemented generic-specific methods.
4025 2003-07-29  Miguel de Icaza  <miguel@ximian.com>
4027         * Buffer.cs: Add new internal MemCopy call.
4029         Removed the above.
4031 Tue Jul 29 12:13:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
4033         * Type.cs, MonoType.cs, ArgIterator.cs: pass the handles values
4034         to icalls, to avoid special cases in some call conventions.
4036 2003-07-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4038         * Enum.cs: added Serializable attribute.
4040 2003-07-25  Duncan Mak  <duncan@ximian.com>
4042         * AppDomain.cs (Equals):
4043         (GetHashCode): Removed because they do not need to be defined
4044         here.
4046 2003-07-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4048         * TypeLoadException.cs: removed unused fields. TypeName returns "" if
4049         cannot even get the type.
4051 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
4053         * Type.cs: Added generics stubs.
4055 2003-07-23  Duncan Mak  <duncan@ximian.com>
4057         * Environment.cs (SpecialFolder): Added 'Desktop' and 'MyComputer'
4058         as values for NET_1_1.
4059         (GetFolderPath): Return the empty string ("") for values of
4060         SpecialFolder that have no corresponding equivalents in
4061         Linux. Return "$HOME/Desktop" for SpecialFolder.DesktopDirectory
4062         and "$HOME" for SpecialFolder.Personal.
4064         * IntPtr.cs (GetObjectData): Mark it as an interface
4065         implementation, instead of a public method.
4067         * Guid.cs (NewGuid): Remove MonoTODOAttribute.
4069         * TypeLoadException.cs (GetObjectData):
4070         Create stubs for the fields that are being serialized.
4072         * UIntPtr.cs: Removed erroneous CLSCompliantAttributes.
4074 2003-07-23  Lluis Sanchez Gual <lluis@ximian.com>
4075         
4076         * Enum.cs: Fixed enum formatting. For flag enums, if one of
4077           the flags is unnamed, ToString() returns the integer value.
4079 2003-07-22  Jerome Laban <jlaban@wanadoo.fr>
4081         * Guid.cs: Fixed ToString (), was producing incorrect string.
4083 2003-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4085         * AppDomainSetup.cs: fixed bug #46609.
4087 Thu Jul 17 17:28:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
4089         * MonoType.cs: use an icall for IsPrimitiveImpl ().
4091 Thu Jul 17 15:23:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
4093         * Guid.cs: faster ToString ().
4095 2003-07-15  Pedro Martínez Juliá  <yoros@wanadoo.es>
4097         * FloatingPointFormatter.cs: Few changes for get working Rotor
4098         tests.
4100 2003-07-13  Zoltan Varga  <vargaz@freemail.hu>
4102         * Type.cs (IsAssignableFrom): Implement this as an icall since the
4103         runtime already includes the neccessary logic.
4105 2003-07-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4107         * AppDomainSetup.cs: remove the "file://" prefix from ApplicationBase
4108         if it's present and get the full path for non-Uri paths.
4110 2003-07-2  Lluis Sanchez Gual <lluis@ximian.com>
4112         * DateTime.cs: Fixed formatting of fractions of second.
4114 2003-06-30  Zoltan Varga  <vargaz@freemail.hu>
4116         * Console.cs: Turn off buffering for the streams returned by
4117         OpenStandardOutput () and OpenStandardError () if the buffer size is 0.
4119 2003-06-28  Lluis Sanchez Gual <lluis@ximian.com>
4121         * Random.cs: Changed behavior of Random to match MS.NET. When Next is
4122           called with maxvalue==0 or minvalue==maxvalue, MS.NET internally generates
4123           a new random number (although it is not needed), while mono did not. 
4124           As a result, the sequence of random numbers could be different for the
4125           same seed.
4127 Thu Jun 26 16:06:35 CEST 2003 Paolo Molaro <lupus@ximian.com>
4129         * FloatingPointFormatter.cs: use dec_len2 as default precision.
4131 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
4133         * DateTime.cs: Modified constructor. Check for valid value of TimeSpan must
4134           be done after the correspondig UTC offset has been applied.
4136 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
4138         * Object.cs: Object must have the Serializable attribute.
4139         * DateTime.cs: Fixed _DoParse() so it correctly applies the utc offset
4140           to the resulting date. Also fixed _ToString so now correctly formates the
4141           UTC offset.
4143 Wed Jun 18 19:22:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
4145         * Enum.cs: fix race in cache (bug#41841).
4147 Wed Jun 18 18:52:11 CEST 2003 Paolo Molaro <lupus@ximian.com>
4149         * FloatingPointFormatter.cs: if the precision is not specified, use
4150         the default precision for the data type.
4152 Wed Jun 18 18:11:30 CEST 2003 Paolo Molaro <lupus@ximian.com>
4154         * Array.cs: throw ArgumentOutOfRangeException in Copy if needed
4155         (patch by tum@veridicus.com (Thong (Tum) Nguyen)).
4157 2003-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4159         * MonoType.cs: don't throw nullref when the return type for a property
4160         is specified and the property doesn't have a get accessor.
4162 2003-06-10  Duncan Mak  <duncan@ximian.com>
4164         * Array.cs (CreateInstance): Fixed a typo. It should throw
4165         ArgumentNullException instead of ArgumentException.
4167 2003-06-09  Duncan Mak  <duncan@ximian.com>
4169         * Array.cs: Revert the last revert. I fixed it.
4170         (Sort): Put a try-catch block around qsort, and wrap whatever
4171         Exception we get into a InvalidOperationException.
4173 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
4175         * Array.cs: Revert last patch, it broke some other functionality.
4176                 
4177 2003-06-08  Duncan Mak  <duncan@ximian.com>
4179         * Array.cs: Throw more exceptions. This fixes the errors we see
4180         from the Rotor testsuite.
4182         (CreateInstance): Throw ArgumentNullException when the input are
4183         null. Throw ArgumentOutOfRangeException when bounds + length is
4184         greater than Int32.MaxValue.
4185         (LastIndexOf): Throw ArgumentOutOfRangeException if index is outside
4186         the valid range of indices of array.
4187         (Sort): Throw InvalidOperationException when comparer is null and
4188         none of the elements in keys implements IComparable.
4190 2003-06-08  Duncan Mak  <duncan@ximian.com>
4192         * Array.cs (CreateInstance): Throw a TypeLoadException if the
4193         Length of the input array 'lengths' is greater than 255 so that we
4194         won't see the g_assert that is in mono_array_class_get in class.c.
4196         This fixes bug #44304.
4198 2003-06-05  Nick Drochak  <ndrochak@gol.com>
4200         * UnitySerializataionHolder.cs: Cleanups according to class status page
4202 Wed Jun 4 16:59:39 CEST 2003 Paolo Molaro <lupus@ximian.com>
4204         * ArgIterator.cs, TypedReference.cs, RuntimeArgumentHandle.cs,
4205         RuntimeTypeHandle.cs: implemented the needed stuff to handle
4206         vararg calls.
4208 2003-06-02  Sebastien Pouliot  <spouliot@videotron.ca>
4210         * Random.cs: New implementation based on Knuth ran3 to fix #43597.
4211         See http://www.library.cornell.edu/nr/bookcpdf/c7-1.pdf. Commited
4212         for Ben Maurer after review and testing.
4214 2003-05-28  Ben Maurer <bmaurer@users.sourceforge.net>
4215         
4216         * Array.cs: Added better argument checking to Array.Sort ()
4217         * DBNull.cs: Made the conversions throw like they do in MS.
4219 2003-05-24  Philip Van Hoof  <me@freax.org>
4221         * Math.cs: Add the MS.NET 1.1 methods (BigMul, DivRem, DivRem).
4223 2003-05-21  Pedro Martínez Juliá  <yoros@wanadoo.es>
4225         * FloatingPointFormatter.cs: Take care with the explicit precision
4226         and round the number to that precision.
4228         * DoubleFormatter.cs: Adapt to the two level precision (15 - 17).
4230         * SingleFormatter.cs: Adapt to the two level precision (7 - 8).
4232 2003-05-20  Philip Van Hoof <me@freax.org>
4234         * DateTime.cs (FromOADate, GetDateTimeFormats, ToOADate):
4235         Implemented.
4237 2003-05-20  Zoltan Varga  <vargaz@freemail.hu>
4239         * AppDomainSetup.cs: Added new field which is used to notify the
4240         runtime that the search path has changed.
4242 2003-05-18  Pedro Martínez Juliá  <yoros@wanadoo.es>
4244         * FloatingPointFormatter.cs: Fixed NullReferenceException bug I've
4245         introduced the last change I've done.
4247 2003-05-17  Ben Maurer  <bmaurer@users.sourceforge.net>
4249         * Array.cs: Fixed SyncRoot to behave like MS (return this). Removed 
4250         MonoTODO from SyncRoot (because fixed) and IsSynchronized (it was
4251         behaving correctly).
4252         
4253 2003-05-17  Pedro Martínez Juliá  <yoros@wanadoo.es>
4255         * FloatingPointFormatter.cs: Fixed little format mismatches.
4257 2003-05-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
4259         * FloatingPointFormatter.cs: Fixed "-0" result emited.
4261 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4263         * AppDomain.cs: Added null argument check in Load().
4264         * Activator.cs: fixed bug #39926.
4266 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4268         * Enum.cs: fixed bugs #41522 and #42879.
4270 2003-05-12  Zoltan Varga  <vargaz@freemail.hu>
4272         * String.cs: Tweak IndexOf and LastIndexOf to match specification and
4273         undocumented MS behaviour.
4275 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4277         * Activator.cs: applied patch for bug #39926. Thanks to Jean Marc and
4278         Jaime.
4280 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4282         * String.cs: fixed bug #41411 and another similar problem in
4283         LastIndexOf (string).
4285 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4287         * String.cs: patch by Jean Marc <jean-marc.andre@polymtl.ca> that fixes
4288         bug #42695.
4290 2003-05-09  Zoltan Varga  <vargaz@freemail.hu>
4292         * MulticastDelegate.cs (GetInvocationList): Avoid ArrayList 
4293         construction if the delegate list only has one element.
4295 2003-05-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
4297         * Environment.cs: Changed the method GetFolderPath because it must
4298         return at least a directory name (not null).
4300         * Convert.cs: In ToType, if the destination type is unknown, try to
4301         cast the value to object (then, the calling method will downcast it
4302         to the type it wants).
4304 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4306         * Enum.cs: fixed bug #41522.
4308 Tue Apr 29 13:58:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
4310         * Enum.cs: protect with the lock also the lookup (bug #41841).
4312 Tue Apr 29 13:24:32 CEST 2003 Paolo Molaro <lupus@ximian.com>
4314         * MonoType.cs: allow a null name if InvokeMember is called with
4315         BindingFlags.CreateInstance set.
4317 2003-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4319         * Enum.cs: reverted my previous patch.
4321 2003-04-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4323         * Enum.cs: fixed bug #41841.
4325 2003-04-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4327         * MonoType.cs:
4328         (GetPropertyImpl): handle BindingFlags.IgnoreCase.
4330 2003-04-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
4332         * FloatingPointFormatter.cs: Little fixes for get the same results
4333         as MS.NET and show a message when something goes wrong with the
4334         parser of Custom Formats.
4336 2003-04-22  Nick Drochak  <ndrochak@gol.com>
4338         * Double.cs (ToString):
4339         * Single.cs (ToString): Handle case where param is a CultureInfo.
4341 2003-04-18  Zoltan Varga  <vargaz@freemail.hu>
4343         * Object.cs ValueType.cs: Make the Object::GetHashCode() and 
4344         ValueType::Equals() icalls static non-virtual, so they can be called
4345         by the code in RuntimeHelpers.
4347 2003-04-18  Miguel de Icaza  <miguel@ximian.com>
4349         * Delegate.cs (operator ==): Do not crash if the second argument
4350         is null.  Bug fix submitted by Juan Cri.
4352 2003-04-18  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
4354         * Array.cs: Deleted the exception in Array.Initialize(), it looks
4355         like the method do nothing for C#, is still a MonoTODO until
4356         we find a compiler that uses that.
4358 2003-04-14  Miguel de Icaza  <miguel@ximian.com>
4360         * Delegate.cs (Delegate): Seems like a typo, we were checking the
4361         a field rather than the argument 
4363         * MonoType.cs: Make GetNestedType an external method implementation.
4365 2003-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4367         * Enum.cs: fixed bug #41294.
4369 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4371         * DateTime.cs: fixes bug #40910, part 2.
4373 2003-04-11  Dietmar Maurer  <dietmar@ximian.com>
4375         * String.cs (Equals): avoid the internal call, code cleanups
4377 2003-04-11  Alan Tam <Tam@SiuLung.com>
4379         * Convert.cs: fixed bug #41085.
4381 2003-04-10  Lluis Sanchez Gual <lluis@ideary.com>
4383         * AppDomain.cs: Added internal method for getting process guid.
4385 2003-04-09  Ville Palo <vi64pa@kolumbus.fi>
4387         * Array.cs: Little fix to compare () method.
4388         
4389 2003-04-09  Zoltan Varga  <vargaz@freemail.hu>
4391         * String.cs (Equals): Add trivial optimization.
4393 2003-04-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4395         * DateTime.cs: fixed bug #40910.
4397 2003-04-05  Miguel de Icaza  <miguel@ximian.com>
4399         * Console.cs: Make stderr, stdout and stdin use synchronized
4400         versions of the their readers/writers.
4402 2003-04-04  Dick Porter  <dick@ximian.com>
4404         * Version.cs: Make operator== and operator!= cope with null
4405         objects.  Didn't change operator<, operator<=, operator> or
4406         operator>= because its not meaningful to use those to compare
4407         against null, and throwing a NullReferenceException is probably
4408         the best thing to do there anyway.
4410         Fixes bug 40720.
4412 2003-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4414         * AppDomain.cs: fixed InvalidCastException.
4416 2003-03-30  Zoltan Varga  <vargaz@freemail.hu>
4418         * Array.cs (Copy): Call FastCopy() earlier to avoid the expensive
4419         type checks and let it decide whenever a fast copy is possible.
4421 2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4423         * MonoType.cs:
4424         (GetMethodImpl): support BindingFlags.IgnoreCase flag. Fixes bug #40322.
4426 2003-03-25  Zoltan Varga  <vargaz@freemail.hu>
4428         * Activator.cs (CreateInstance): Call GetConstructor with the right
4429         arguments so the nonPublic argument is handled correctly.
4431 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4433         * Type.cs: fixed bug #40123.
4435 2003-03-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
4437         * FloatingPointFormatter.cs: Fixed some bugs for get the same
4438         results than MS.NET. Added simple error recovering, now ToString
4439         will return a general format if there is any exception in the
4440         process of formatting. This make the library more robust while the
4441         formatters are refined.
4443 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
4445         * FloatingPointFormatter.cs: Added support for group separators.
4447 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
4449         * Single.cs:
4450         * Double.cs: Apply changes of .ToString methods.
4451         * SingleFormatter.cs:
4452         * DoubleFormatter.cs: Simple wrappers to FloatingPointFormatter.
4453         * FloatingPointFormatter.cs: New class. Implementation of double and
4454         single formatters. It is unified now and parametrized with precission
4455         values.
4457 2003-03-15  Lluis Sanchez Gual <lluis@ideary.com>
4459         * AppDomain.cs: fixes bugs #39380 and #39331.
4461 2003-03-06  Nick Drochak  <ndrochak@gol.com>
4463         * TimeSpan.cs (Negate): Throw exception when value is MinValue.
4465 2003-03-04  Dick Porter  <dick@ximian.com>
4467         * Single.cs:
4468         * Double.cs: Temporarily reverted the Double and Single ToString()
4469         change, because it broke nunit.
4472 2003-03-04  Pedro Martínez Juliá  <yoros@wanadoo.es>
4474         * Double.cs: Changed ToString method. Added NumberFormatInfo support
4475         with DoubleFormatter class.
4476         * Single.cs: Changed ToString method. Added NumberFormatInfo support
4477         with SingleFormatter class.
4478         * DoubleFormatter.cs: New class with Double formatting functions.
4479         * SingleFormatter.cs: New class with Single formatting functions.
4481 2003-03-03  Lluis Sanchez Gual <lluis@ideary.com>
4483         * Activator.cs: Added support for activation using activation attributes.
4484         * AppDomain.cs: Added internal method to get the default context from the runtime.
4486 2003-02-28  Elan Feingold  <efeingold@mn.rr.com>
4488         * DateTime.cs: FileTime is expressed in Universal time, and as such must
4489         be converted before subtracting the magic offset.
4490         * DateTime.cs: Strings in the format "2003-02-27T10:05:03-11:00" (note
4491         the timezone at the end) *must* be parsed by DateTime.Parse() for
4492         compatibility with Microsoft.
4494 2003-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4496         * Attribute.cs:
4497         * MonoCustomAttrs.cs: fix for the regression test failure (see bug
4498         #38238).
4500         * IntPtr.cs: added serialization .ctor
4502 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4504         * AppDomain.cs: check for null in Unload and changed method name.
4506 2003-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4508         * MonoCustomAttrs.cs: fixed bug #38238.
4510 2003-02-17  Martin Baulig  <martin@ximian.com>
4512         * Exception.cs (Exception.ToString): Print a newline between the
4513         exception message and the stack trace.
4515 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4517         * AppDomain.cs: implemented GetCurrentThreadId ().
4519 2003-02-14  Patrik Torstensson
4521         * Exception.cs: Fixed message output formating
4523 2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4525         * Int32.cs:
4526         (Parse): ignore everything after a \0 (MS parses: "512\0hola" as 512).
4528 2003-02-12  Miguel de Icaza  <miguel@ximian.com>
4530         * Type.cs: IsClass should return false for Enumerations
4532 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4534         * MonoCustomAttrs.cs: return the correct array type in the short case.
4535         Fixes bug #37818.
4537 2003-02-08  Pedro Martíenz Juliá  <yoros@wanadoo.es>
4539         * Math.cs: Fix a few methods (like Round) and add with comments the
4540         new methods: BigMul and DivRem that were in ECMA specs.
4542 2003-02-07  Patrik Torstensson
4544         * Exception.cs: Fixed formating
4546 2003-02-05  Patrik Torstensson
4548         * AppDomain.cs: Partly fixed the unload method 
4549         
4550 2003-02-04  Patrik Torstensson
4552         * AppDomain.cs: Fixed lease issue with appdomain
4554 2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
4556         * MarshalByRefObject.cs: Implemented GetLifetimeService() and 
4557           InitializeLifetimeService().
4559 2003-02-03  Patrik Torstensson
4561         * AppDomain.cs: New internalcalls for handling domain/context switches
4562         * AppDomain.cs (CreateDomain): Return transparant proxy for appdomain object
4564 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4566         * AppDomain.cs: implemented AppendPrivatePath, ClearPrivatePath
4567         and ClearShadowCopyPath and fixed GetType ().
4569         * Attribute.cs: clean up.
4571         * Console.cs: removed UnixConsoleEncoding. Use Default.
4573 2003-02-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4575         * Attribute.cs: fixed all IsDefined overloads. Gotta fix
4576         GetCustomAttributes later.
4578 2003-01-31  Patrik Torstensson
4580         * Buffer.cs: Changed access level of BlockCopyInternal
4582 Thu Jan 30 19:54:30 CET 2003 Paolo Molaro <lupus@ximian.com>
4584         * String.cs, IntegerFormatter.cs: use const where appropriate.
4586 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4588         * MonoCustomAttrs.cs: fixed GetBase () for Type. Thanks to Zoltan for
4589         reporting.
4591 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4593         * MonoCustomAttrs.cs: fixed shortcut in GetCustomAttributes.
4594         The argument ICustomAttributeProvider can be of other types different
4595         from Type. Handle it.
4597 2003-01-28  Zoltan Varga  <vargaz@freemail.hu>
4599         * DateTime.cs: fix FromFileTime so the time returned by 
4600         File::GetLastModificationTime etc. is in the correct timezone.
4602 2003-01-28  Patrik Torstensson
4603         * Exception.cs: reverted formating/endline changes (sorry guys)
4605 2003-01-28  Patrik Torstensson
4607         * MarshalByRefObject.cs: implemented GetObjectIdentity
4608         * Exception.cs: added support for remote exceptions
4610 2003-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4612         * DateTime.cs: fixed bug #37225.
4614 2003-01-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4616         * Enum.cs: Clone the arrays in GetNames and GetValues. Thanks lupus!
4618 2003-01-27  Zoltan Varga  <vargaz@freemail.hu>
4620         * AppDomain.cs: Added DoTypeResolve method which will be called by
4621         the runtime to raise TypeResolve events.
4623 2003-01-27  Duncan Mak  <duncan@ximian.com>
4625         * Enum.cs (ToType): Implement this using Convert.ToType.
4627 2003-01-21  Miguel de Icaza  <miguel@ximian.com>
4629         * Math.cs: Remove Pow's implementation body as it was wrong.  The
4630         C code does the right thing.  The code was trying to handle a
4631         number of cases, and that was incorrect.
4633 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4635         * CharEnumerator.cs: fix to Current by crainaj@hotmail.com. Closes
4636         bug #37113.
4638 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4640         * Enum.cs: added caching to GetInfo.
4642 2003-01-23  Dick Porter  <dick@ximian.com>
4644         * Environment.cs (System): Implemented ExitCode
4646 2003-01-23  Zoltan Varga  <vargaz@freemail.hu>
4648         * Type.cs (IsInstanceOfType): fixed regression caused by the change
4649         to IsSubclassOf().
4651 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4653         * MonoType.cs: re-added lines that were removed in the previous commit.
4655 2003-01-16  Lluis Sanchez Gual <lsg@ctv.es>
4657         * Type.cs: corrected property IsSerializable. It should always return
4658         true for enums and delegates
4659         * MonoType.cs: added serialization support.
4660         * Delegate.cs: added serialization support.
4661         * DBNull.cs: added serialization support.
4662         * UnitySerializationHolder.cs: supports serialization of Assembly,
4663         MonoType and DBNull.
4664         * DelegateSerializationHolder.cs: added.
4666 2003-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4668         * Exception.cs: changed default message to match MS one.
4670 2003-01-12  Patrik Torstensson <totte@race-x-change.com>
4672         * String.cs: Fixed bug with CompareOrdinal
4674 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4676         * Enum.cs: implements IFormattable.
4678 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4680         * AppDomain.cs: implemented DoCallBack method.
4681         * MonoType.cs:
4682         (GetConstructorImpl): when the flag is BindingFlags.Default, set it to
4683         Public, Instance.
4685         NUnit2 tests start moving.
4687 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4689         * Activator.cs: fixed bug #36052. Also added checks to avoid trying to
4690         instantiate an abstract class.
4692 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4694         * Type.cs:
4695         (IsSubclassOf): return false when null. Use != instead of Equals.
4697 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4699         * Type.cs: fixed IsSubclassOf. Patch from Zoltan Varga.
4701 Fri Jan 3 20:18:51 CET 2003 Paolo Molaro <lupus@ximian.com>
4703         * MonoType.cs: fixed Namespace property for nested types.
4705 Fri Jan 3 16:18:27 CET 2003 Paolo Molaro <lupus@ximian.com>
4707         * MonoCustomAttrs.cs: create properly typed arrays when returning
4708         arrays of attributes of a given type.
4710 Fri Jan 3 11:10:14 CET 2003 Paolo Molaro <lupus@ximian.com>
4712         * MonoType.cs: fixed MemberType property for nested types.
4714 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4716         * String.cs: fixed bug #36209.
4718 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
4720         * Activator.cs: implemented method GetObject.
4722 2002-12-28  Marcus Urban <mathpup@mylinuxisp.com>
4724         * Activator.cs: Since the documentation indicates the method
4725         either succeeds or throws one of the listed exceptions, we weren't
4726         expecting that CreateInstance might be returning null.
4728         For more information on the bug, see http://bugs.ximian.com/show_bug.cgi?id=36109
4730 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
4732         * MarshalByRefObject.cs: implemented CreateObjRef.
4734 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4736         * DateTime.cs: fixed bug #30076.
4737         * TimeZone.cs: provide the parameter name in a exception.
4739 2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4741         * DecimalFormatter.cs: fixed bug #35560.
4743 Wed Dec 4 16:04:28 CET 2002 Paolo Molaro <lupus@ximian.com>
4745         * Type.cs: implemented GetInterfaceMap (needs an updated runtime).
4747 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4749         * Array.cs: use Object.Equals (obj, obj) to compare objects to avoid
4750         nulls. Fixes #34909.
4752 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4754         * AppDomain.cs: DoAssemblyResolve now returns when one of the handlers
4755         returns a non-null assembly.
4757 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4759         * MulticastDelegate.cs: make GetInvocationList work for more than 1
4760         delegate.
4762 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4764         * MulticastDelegate.cs: implemented GetInvocationList. I'll check later
4765         if this is the correct order of invocation.
4767 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4769         * Type.cs: changed the signature of internal_from_name. Modified
4770         the overloads of GetType to use it and check the typeName argument.
4771         Implemented FindInterfaces.
4773 2002-11-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4775         * MarshalByRefObject.cs: undo latest changes. It breaks the build by
4776         some obscure reasons (try make -f makefile.gnu using a corlib which has
4777         the modified version).
4779 2002-11-26  Miguel de Icaza  <miguel@ximian.com>
4781         * String.cs (Concat): Reduce the number of compares required. 
4783 Mon Nov 18 17:54:22 CET 2002 Paolo Molaro <lupus@ximian.com>
4785         * Activator.cs: throw a MissingMethodException if the default
4786         constructor is not found in CreateInstance.
4788 2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4790         * String.cs:
4791         (Equals (str, str)): use 'as' instead of casting to object.
4792         (Equals (obj)): check the length of the strings (until now,
4793         "Hello".Equals ((object) "Hellow World!) was true!).
4795 2002-11-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4797         * MonoType.cs: implemented GetEvent (name, flags).
4799 2002-11-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4801         * AppDomain.cs: implemented a couple of methods called from the runtime
4802         to fire AssemblyLoad and AssemblyResolve events.
4804 2002-10-31  Dick Porter  <dick@ximian.com>
4806         * Environment.cs: MonoIO methods now have an error parameter
4808 2002-10-29  Zoltan Varga  <vargaz@freemail.hu>
4810         * Enum.cs: Added support for whitespaces in Enum:Parse().
4812 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4814         * Type.cs: fixed GetProperty (string, Type []) and removed get_property
4815         internal call. Closes bug #32992.
4817 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4819         * Exception.cs: display the inner exception, if any, in ToString ().
4821 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4823         * Environment.cs: fixed StackTrace property.
4825 2002-10-16  Nick Drochak  <ndrochak@gol.com>
4827         * Enum.cs (Parse): Then fix the code so that it works too.
4829 2002-10-15  Nick Drochak  <ndrochak@gol.com>
4831         * Enum.cs (Parse): Use unsigned casts to avoid compiler warnings.
4833 2002-10-12  Nick Drochak  <ndrochak@gol.com>
4835         * IntegerFormatter.cs: Fix compiler warnings.
4837 2002-10-11  Tim Haynes <thaynes@openlinksw.com>
4839         * Type.cs (GetConstructors): Use the correct flags.
4841 2002-10-09  Nick Drochak  <ndrochak@gol.com>
4843         * IntegerFormatter.cs: Suppress insignificant leading zeros
4845 Fri Sep 27 15:06:29 CEST 2002 Paolo Molaro <lupus@ximian.com>
4847         * MonoCustomAttrs.cs: applied patch by "Si Jingnan"
4848         <stonewell@21cn.com> to return also derived types.
4850 2002-09-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4852         * Activator.cs: little fix in CreateInstance (Type, bool).
4854 2002-09-19  Duncan Mak  <duncan@ximian.com>
4856         * Array.cs (CopyTo): Revert back to 1.40, this is stopping
4857         I18N/Common from building right now.
4859 2002-09-19  Nick Drochak  <ndrochak@gol.com>
4861         * Array.cs (CopyTo): Account for Object type and base (primitive) types
4862         * Type.cs (IsAssignableFrom): return false for a null parameter
4864 2002-09-19  Nick Drochak <ndrochak@gol.com>
4866         * Array.cs (CopyTo): Check that source type can be cast automatically
4867         to the destination type.
4869 2002-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4871         * Type.cs: implemented IsAssignableFrom, DefaultBinder and
4872         GetDefaultMembers.
4874 2002-09-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4876         * Char.cs: implemented ToString (char)
4877         * IntegerFormatter.cs: made it internal.
4879 2002-09-13  Nick Drochak  <ndrochak@gol.com>
4881         * Enum.cs (Format): handle the "d" format for both signed and unsigned
4882         underlying types.
4884 2002-09-12  Dick Porter  <dick@ximian.com>
4886         * UIntPtr.cs: Remove the [StructLayout(LayoutKind.Auto)]
4887         attribute, as there doesn't appear to be any struct
4888         layout-depending code here (and corcompare says it should be
4889         LayoutKind.Sequential)
4891         * Decimal.cs: Stub out missing methods, add
4892         [DecimalConstantAttribute] to the constant fields (as shown by
4893         corcompare).
4895         * LocalDataStoreSlot.cs: 
4896         * Environment.cs: 
4897         * Char.cs: 
4898         * Array.cs: Stub out missing methods.
4900         * TypedReference.cs: 
4901         * ArgIterator.cs: Stub out
4903         * AppDomainSetup.cs: 
4904         * AppDomain.cs: Stub out missing methods, add missing
4905         ClassInterface(ClassInterfaceType.None) attribute.
4907 2002-09-12  Nick Drochak  <ndrochak@gol.com>
4909         * Double.cs (ToString): Throw exception when "X" format is passed in.
4911 Wed Sep 11 15:26:34 CEST 2002 Paolo Molaro <lupus@ximian.com>
4913         * MonoType.cs: implemented Module property.
4915 Wed Sep 11 12:49:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
4917         * MonoType.cs, Type.cs: implemented InvokeMember.
4919 Wed Sep 11 11:06:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
4921         * Delegate.cs: check the type passed to CreateDelegate is a Delegate
4922         type. Check the method signature matches.
4924 Sat Sep 7 10:16:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
4926         * RuntimeMethodHandle.cs: implemented GetFunctionPointer().
4928 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
4930         * Console.cs: Specify an encoder, otherwise we will get the UTF8
4931         encoder that by default emits the byte markers.
4933 Fri Sep 6 20:14:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
4935         * Delegate.cs: look also for non-public methods until we have the
4936         security checks in place.
4938 Fri Sep 6 12:20:06 CEST 2002 Paolo Molaro <lupus@ximian.com>
4940         * MonoType.cs: consider also the full name in GetInterface.
4942 Fri Sep 6 12:11:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
4944         * MonoType.cs: implemented GetMembers, GetConstructorImpl and
4945         GetMethodImpl using the binder.
4946         * Type.cs: GetConstructorImpl/GetConstructor fixes.
4948 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
4949         * Enum.cs: Get rid of warning CS0162.
4951 2002-09-04  Miguel de Icaza  <miguel@ximian.com>
4953         * Double.cs, Single.cs, Char.cs, Boolean.cs: Use internal for the
4954         actual value instead of public.
4956         * LocalDataStoreSlot.cs: Make constructor internal.
4958         * Int16.cs, UInt16.cs, Int32.cs, UInt32.cs, Int64.cs, UInt64.cs,
4959         SByte.cs, Byte.cs, Char.cs: Use internal for the actual value
4960         instead of public.
4962 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
4963         * Enum.cs: Fixed Enum.Format so that the "x" format specifier would work
4964                    properly.
4966 2002-08-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4968         * DateTime.cs: fixed buglet.
4970 Tue Aug 27 16:39:47 CEST 2002 Paolo Molaro <lupus@ximian.com>
4972         * MonoType.cs: speedup access to common data.
4974 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4976         * Double.cs: implemented TryParse.
4978         * Math.cs: PowImpl is now private.
4980         * MissingFieldException.cs: implemented Message.
4982         * RuntimeMethodHandle.cs: stubbed GetFunctionPointer.
4984         * _AppDomain.cs: Uncommented ToString.
4986 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4988         * Type.cs:
4989         (IsValueTypeImpl): it's virtual, not abstract. Implemented.
4991 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4993         * ArgumentException.cs: use the field instead of the property for
4994         param_name.
4996         * ArgumentOutOfRangeException.cs: modified Message.
4998         * DateTime.cs: 
4999         (_DoParse): throw out of range exception for year. Removed check
5000         for month (it's done in the constructor).
5002 2002-08-21  Miguel de Icaza  <miguel@ximian.com>
5004         * Environment.cs: Implemented OSVersion property.
5006 2002-08-21  Dietmar Maurer  <dietmar@ximian.com>
5008         * Exception.cs: set stack_trace to null
5010 Wed Aug 21 13:02:20 CEST 2002 Paolo Molaro <lupus@ximian.com>
5012         * AppDomain.cs: implemented ToString().
5014 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5016         * AppDomain.cs: securityInfo can be null in CreateDomain.
5018 2002-08-19  Dick Porter  <dick@ximian.com>
5020         * MonoType.cs: Add a space before the Assembly name in
5021         AssemblyQualifiedName (needed for resource files so the MS runtime
5022         can load types)
5024 2002-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5026         * AppDomain.cs: parameter name when throwing ArgumentNullException.
5028         * ArgumentException.cs: modified Message to do what MS does.
5030         * ArgumentNullException.cs: don't use {0} in message.
5032         * Exception.cs: use Message property in ToString ().
5034 2002-08-14  Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
5036         * WeakReference.cs: Changed the constructor and GetObjectData
5037         method needed for ISerializable implementation in order to be
5038         compatible with SOAP generated by MS.
5040 Wed Aug 14 17:34:07 CEST 2002 Paolo Molaro <lupus@ximian.com>
5042         * MonoType.cs, Type.cs: DeclaringType/ReflectedType fixes.
5044 2002-08-12  Dietmar Maurer  <dietmar@ximian.com>
5046         * Exception.cs (ToString): changed the ouput format.
5048 2002-08-07  Dietmar Maurer  <dietmar@ximian.com>
5050         * MonoType.cs: moved get_method icall to this class, we can
5051         remove it as soon someone provides a full featured GetMethodImpl.
5053         * Type.cs: use GetMethodImpl everywhere.
5055         * Delegate.cs: new CreateDelegate implementations.
5057 2002-08-06  Tim Coleman <tim@timcoleman.com>
5058         * MonoType.cs: 
5059                 Fix bug #28582.  Now checks parameters for properties
5060                 in GetPropertyImpl.
5062 2002-08-04  Nick Drochak  <ndrochak@gol.com>
5064         * Buffer.cs: Throw correct exception in GetByte() and SetByte().
5066 2002-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5068         * String.cs:
5069         (FormatSpecifier): allow white space between the comman and the width
5070         specifier.
5072 2002-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5074         * Int32.cs:
5075         * Int64.cs:
5076         * UInt32.cs:
5077         * UInt64.cs: fixed bug #28050. May be a MS bug?
5079 Thu Jul 18 14:47:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
5081         * MonoType.cs: fix IsArrayImpl.
5083 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5085         * String.cs: make ToLower (culture) and ToUpper (culture) use the
5086         default ToLower and ToUpper and don't throw NotImplemented.
5088 Sat Jul 13 15:09:01 CEST 2002 Paolo Molaro <lupus@ximian.com>
5090         * Type.cs: make GettTypeCode an icall. Test implementation of
5091         GetMember().
5093 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5095         * AppDomainSetup.cs: implemented LoaderOptimization.
5097 2002-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5099         * Activator.cs: some more intermediate results checking in
5100         in CreateInstance and CreateInstanceFrom and use GetConstructor and
5101         Invoke only with Type [] until the other overloaded versions work.
5103 2002-07-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5105         * Activator.cs: reformatted. Implemented CreateInstance* methods
5106         that return ObjectHandle.
5108         * AppDomain.cs: implemented CreateInstance*AndUnwrap methods.
5110 2002-07-03  Nick Drochak  <ndrochak@gol.com>
5112         * Decimal.cs (Divide): Short cut the case where the dividend is 0 (and
5113         the divisor is not) and avoid the icall, which seems to have a bug.
5115 2002-07-03  Nick Drochak  <ndrochak@gol.com>
5117         * Double.cs (CompareTo): Correctly handle the case where the instance
5118         is NaN. Also return 0 if the values are equal.
5120 2002/07/03  Nick Drochak <ndrochak@gol.com>
5122         * MissingMethodException: Add missing Message property
5123         * MissingMemberException: Add missing Message property
5125 2002-06-30  Nick Drochak  <ndrochak@gol.com>
5127         * Double.cs (CompareTo): Just see which is bigger.  Don't use the
5128         subtraction trick, it doesn't work when the values have a diference of
5129         less than one.
5131         * Single.cs (CompareTo): same
5133 2002-06-27  Martin Baulig  <martin@gnome.org>
5135         * UIntPtr.cs (UIntPtr.Zero): Use an explicit `u' suffix in the
5136         constructor argument.  [FIXME: The implicit conversion to an
5137         unsigned integer doesn't work with mcs.]
5139 2002-06-26  Martin Baulig  <martin@gnome.org>
5141         * DecimalFormatter.cs: Removed MSTEST stuff, use `System',
5142         not `S = System'.  This file now compiles with mcs.
5144         * String.cs: Removed the already ifdef-outed __arglist Concat function
5145         to make it compile with mcs.
5147 2002-06-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5149         * IntegerFormatter.cs:
5150         (FormatParse.FormatNumber): fixed custom format for negative numbers.
5152 2002-06-21  Martin Baulig  <martin@gnome.org>
5154         * Double.cs: Replace the private `enum State' with constants since this
5155         will avoid some bigger headaches in mcs.
5157 Thu Jun 20 17:51:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
5159         * TimeSpan.cs: do not pollute the namespace with the
5160         System.Parser name.
5162 2002-06-18  Nick Drochak  <ndrochak@gol.com>
5164         * ArgumentException.cs: Use the message given in the constructor when
5165         accessing the Message property.  Thanks to Dietmar for the help with 
5166         "base".
5168 2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
5170         * MonoType.cs: GetField is now a InternalCall
5172 2002-06-13  Nick Drochak  <ndrochak@gol.com>
5174         * DateTime.cs: (Parse): Accept dates that have no hour,min,sec. in the
5175         sortable format(s), e.g. "2002-02-25"
5177 2002/06/12  Nick Drochak <ndrochak@gol.com>
5179         * Random.cs (Next): Fix math error.  Return a number within the range.
5181 2002-06-12  Nick Drochak  <ndrochak@gol.com>
5183         * String.cs (IndexOf): Return -1 if start index is equal to string
5184         length.
5186 2002-06-10  Duncan Mak  <duncan@ximian.com>
5188         * Convert.cs (ToDouble): Remove rounding in ToDouble (float).
5189         (ToType): Added null field in conversionTable to avoid
5190         IndexOutOfRangeException. Changed what exceptions we throw to match
5191         the spec.
5192         
5193 2002-06-11  Nick Drochak  <ndrochak@gol.com>
5195         * Int64.cs (Parse): Added unique strings to the messages where we throw
5196         a FormatException. Needed these to debug, so just left them in since
5197         they might be useful later. Fixed Currency parsing where we weren't
5198         looking at CurrencyDecimalSeparator, etc.
5200 2002-06-09  Lawrence Pit  <loz@cable.a2000.nl>
5202         * DateTime.cs: fixes to pass tests M0 to M6:
5203                 if yy pattern then year values >= 30 are in 20th century
5204                 rfc1123 pattern is always in GMT, therefor useutc must be false
5205         made GetNow() internal static so it can be called from TimeZone.
5206         * TimeZone.cs: removed dependency on year 2002 from initialization of 
5207         current timezone.
5209 2002-06-09  Duncan Mak  <duncan@ximian.com>
5211         * Convert.cs (ToType): Rearranged what Exceptions we throw to
5212         match MS behavior.
5214 2002-06-08  Duncan Mak  <duncan@ximian.com>
5216         * Decimal.cs: Added support for the IConvertible interface.
5218 2002-06-08  Martin Baulig  <martin@gnome.org>
5220         * Enum.cs (IsDefined): `value' may be of the enum's type itself, it
5221         doesn't necessarily need to be of the enum's underlying type.
5223 2002/06/07  Nick Drochak <ndrochak@gol.com>
5225         * String.cs: Add [Serializable] to class
5226         * SByte.cs (Parse): Add [CLSCompliant(false)] to all the overloads
5228 2002-06-04  Nick Drochak  <ndrochak@gol.com>
5230         * Double.cs (Parse): Recognize the group separator string, but still we
5231         don't check the format for the proper number of digits between
5232         separators. Also throw OverflowException when we get Pos or Neg
5233         Infinity from runtime.
5235 2002-06-03  Duncan Mak  <duncan@ximian.com>
5237         * Convert.cs (ToDouble): Fixed ToDouble (byte value).
5239 Mon Jun 3 12:18:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
5241         * Type.cs: fixed GetTypeCode.
5243 2002-06-02  Duncan Mak  <duncan@ximian.com>
5245         * Convert.cs (ToInt16): use Convert.ToInt16 (int) instead of a direct
5246         cast from an int so that we throw OverFlowException correctly.
5247         
5248         (ToInt64): Use a new 64bit version of ConvertToBase.
5249         
5250         (ConvertToBase): Add checks for overflow (checks Int32.MinValue
5251         and Int32.MaxValue).
5253         (ConvertFromBase64): New 64-bit version of ConvertFromBase.
5255 2002-06-02  Nick Drochak  <ndrochak@gol.com>
5257         * Convert.cs (ToSByte): Check for special value.
5258         * Single.cs (Parse): 
5259         * UInt16.cs (Parse):
5260         * UInt32.cs (Parse): Throw OverflowException if negative
5262 2002-06-02  Duncan Mak  <duncan@ximian.com>
5264         * Convert.cs (DBNull): Point it to DBNull.Value.
5265         (IsDBNull): Instead of checking typecodes, just check to see if
5266         it's the same as the DBNull field.
5268 2002-06-02  Nick Drochak  <ndrochak@gol.com>
5270         * Convert.cs (ConvertFromBase): Detect bad digits correctly.
5272 2002-06-02  Duncan Mak  <duncan@ximian.com>
5274         * Char.cs (Parse): Simplify the Exception handling.
5276         * Convert.cs (ToDecimal): Remove call to Math.Round () when
5277         converting from a float.
5279 2002-05-30  Martin Baulig  <martin@gnome.org>
5281         * MonoType.cs (GetInterface): Implemented.
5283 Thu May 23 17:17:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
5285         * Activator.cs: implemented CreateInstance ().
5287 2002-05-22  Duncan Mak  <duncan@ximian.com>
5289         * Convert.cs (ConvertToBase): Added new 64bit version.
5290         (BuildConvertedString64): New 64bit version of
5291         BuildConvertedString.
5293         This fixes bug 25068.
5295         (ConvertFromBase): Added additional test for checking if the
5296         digits are valid. Thanks to Miguel for coming up with this test.
5298         This fixes bug 25071.
5299         
5300 2002-05-21  Duncan Mak  <duncan@ximian.com>
5302         * Convert.cs (ToType): Rearranged to fit the new layout of
5303         conversionTable.
5305         (conversionTable): Rearranged to fit the layout of the
5306         System.TypeCode enum.
5308         This should fix bug 25075.
5309         
5310 2002-05-21  Duncan Mak  <duncan@ximian.com>
5312         * Convert.cs (ToString): Fixed the ToString methods. Previously I had
5313         mixed up the two code paths, one for converting to a specific base
5314         (this case), another from converting from a foreign base to base10
5315         (used by ToInt16|32|64 (string, int)). This fixes bug 25068.
5317         * Convert.cs (ToByte)
5318         (ToSByte): Fixed bug 25074. Added more bits to ConvertFromBase so
5319         that we won't confuse FormatException with OverflowException.
5321 2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
5323         * Environment.cs: CommandLine missed spaces between arguments.
5324         Implemented StackTrace. Returning MachineName in UserDomainName
5325         instead of null.
5326         
5327 Tue May 21 17:25:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
5329         * MonoCustomAttrs.cs: handle inherit argument.
5331 2002-05-21  Nick Drochak  <ndrochak@gol.com>
5333         * Math.cs (Pow): Change icall method name and insert parameter
5334         checks in for infinities and NaN.
5336 2002-05-13  Miguel de Icaza  <miguel@ximian.com>
5338         * Double.cs (Parse): Reimplement by cleaning up the string first,
5339         and then passing to strtof in the mono runtime.
5341         * Single.cs (Parse): Use the Double implementation and cast to
5342         float. 
5344 2002-05-21  Nick Drochak  <ndrochak@gol.com>
5346         * Math.cs 
5347                 (Ceiling): Check for "special" values
5348                 (Floor): Check for "special" values
5349                 (Round): Fix off-by-one error on decimal shifting
5351 2002-05-20  Lawrence Pit  <loz@cable.a2000.nl>
5353         * DateTime.cs: ToString () using "G" format specifier 
5355 2002-05-19  Martin Baulig  <martin@gnome.org>
5357         * Convert.cs (FromBase64CharArray): Do correct exception handling.
5359 2002-05-19  Martin Baulig  <martin@gnome.org>
5361         * Convert.cs (FromBase64CharArray): Convert the char array using
5362         System.Text.UTF8Encoding, not UnicodeEncoding (which is UTF-16) to
5363         a byte array.
5365 2002-05-17  Miguel de Icaza  <miguel@ximian.com>
5367         * MonoType.cs: Style changes.
5369         * Type.cs: Style changes.
5371 2002-05-16  Piers Haken <piersh@friksit.com
5373         * UInt64.cs: fix declaration of IConvertible.To* overrides.
5375 2002-05-16  Nick Drochak  <ndrochak@gol.com>
5377         * BitConverter.cs (ToString): Add parameter check for invalid start 
5378         index.
5380         * Console.cs: Use AutoFlush on the StreamWriter for stdin and stdout
5381         now that StreamWriter uses buffering
5383 2002-05-14  Miguel de Icaza  <miguel@ximian.com>
5385         * Double.cs: Oops.  Also handle exponents without finding a dot.
5387 2002-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5389         * ChangeLog: removed empty entry at the top of the file.
5391         * Int32.cs: made static functions used by Parse internal.
5393         * Int64.cs:
5394         * UInt32.cs:
5395         * UInt64.cs: removed static fucntions used by Parse and use the ones
5396         in Int32.cs
5398 2002-05-12  Daniel Morgan <danmorg@sc.rr.com>
5400         * IServiceProvider.cs: added using System
5402 2002-05-09  Daniel Morgan <danmorg@sc.rr.com>
5404         * Single.cs: copied ToString() and Parse() methods from 
5405         Double to Single and modified a tiny bit for Single.  
5406         There is still a FIXME for Double and Single about
5407         passing the format and provider info to the icall too.
5409 2002-05-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5411         * Int32.cs:
5412         * Int64.cs:
5413         * UInt32.cs:
5414         * UInt64.cs (Parse): don't use Char.IsNumber to test for hex digits.
5415         Don't use a delegate to test for valid digits.
5417 2002-05-01  Duncan Mak  <duncan@ximian.com>
5419         * Convert.cs: 
5420         * Math.cs: Added missing CLSCompliant attributes where necessary.
5421         
5422 2002-04-30  Duncan Mak  <duncan@ximian.com>
5424         * ArgumentException.cs (Message): 
5425         * ArgumentOutOfRangeException.cs (Message): Added.
5427 2002-04-30  Nick Drochak  <ndrochak@gol.com>
5429         * MonoType.cs: Remove unused variable and eliminate a compiler warning.
5431 Mon Apr 29 15:32:02 CEST 2002 Paolo Molaro <lupus@ximian.com>
5433         * Environment.cs: support for Exit(), CommandLine, CommandLineArgs ().
5435 2002-04-28  Duncan Mak  <duncan@ximian.com>
5437         * DivideByZeroException.cs: Added missing serialization constructor.
5439         * UnauthorizedAccessException.cs: Added the missing Serializable attribute.
5441 2002-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5443         * Math.cs: fix Floor () and Round (). Closes #23960.
5445 2002-04-27  Nick Drochak  <ndrochak@gol.com>
5447         * Array.cs (IList.Contains): Should throw a RankException if this is 
5448         called on a Rank > 1 array. Not in the docs, but this is what the 
5449         MS.NET does.
5451 2002-04-26  Duncan Mak  <duncan@ximian.com>
5453         * MissingMemberException.cs: Made the message variable 'protected'
5454         instead of 'private', so that we can see it in
5455         MissingMethodException and MissingFieldException.
5457         * MissingFieldException.cs:
5458         * MissingMethodException.cs: Added missing (string, string)
5459         constructor, and also the Message property.
5461 2002-04-26  Martin Baulig  <martin@gnome.org>
5463         * Enum.cs: Implemented the IConvertible methods.
5465 2002-04-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5467         * SByte.cs: little change in Parse (string) to avoid incorrect
5468         OverflowException thrown (reported by nickd).
5470 2002-04-22  Miguel de Icaza  <miguel@ximian.com>
5472         * ValueType.cs: Add Serializable attribute.
5474         * String.cs: ifdef-out out the __arglist Concat function until I
5475         add support for that to mcs.
5477 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
5479         * AppDomain.cs (GetValue): usage of the correct icall (bug)
5481 Wed Apr 24 21:15:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
5483         * GC.cs: implement most of the methods as icalls.
5485 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5487         * DecimalFormatter.cs (ToString): return correct value when the
5488         decimal number is 0.
5490 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
5491         
5492         * Type.cs (GetProperty): fixed call syntax (needs an empty array not null)
5493         * MonoType.cs (GetPropertyImpl) : basic implementation (ignores types, bindingAttr, modifiers)
5495 2002-04-24  Nick Drochak  <ndrochak@gol.com>
5497         * Double.cs (Parse): Handle case where there are no digits before the 
5498         decimal point, such as ".1".
5500 2002-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5502         * Int32.cs:
5503         * UInt32.cs:
5504         * Int64.cs:
5505         * UInt64.cs: fixed bug #23738 (hex numbers parsed wrong).
5507 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
5509         * String.cs (Split): fixed invalid split of count 0 and 1.
5510         
5511 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
5512         
5513         * String.cs (LastIndexOf): fixed argument checking.
5514         * String.cs (Equals): made internal for performace.
5516 2002-04-23  Nick Drochak  <ndrochak@gol.com>
5518         * String.cs (Join): check argument and throw exception if needed
5520 2002-04-23  Nick Drochak  <ndrochak@gol.com>
5522         * String.cs (StartsWith): check argument and throw exception if needed
5524 2002-04-22  Nick Drochak  <ndrochak@gol.com>
5526         * String.cs (IndexOfAny): check arguments and throw exceptions as
5527         neccessary.  ALso remove some debug WriteLines.
5529 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
5531         * String.cs: use internal constructors
5532         buf fix in Concat.
5534 Thu Apr 18 17:16:15 CEST 2002 Paolo Molaro <lupus@ximian.com>
5536         * MonoType.cs: make GetElementType its own icall.
5538 2002-04-18  Nick Drochak <ndrochak@gol.com>
5540         * String.cs: Modified file. Re-add methods needed by the unit tests.
5542 Thu Apr 18 12:38:32 CEST 2002 Paolo Molaro <lupus@ximian.com>
5544         * String.cs: some code speedups and restored GetTypeCode().
5546 2002-04-17      Patrik Torstensson <patrik.torstensson@labs2.com>
5548         * String.cs: New implementation using internal calls.
5549         
5550 2002-04-16  Nick Drochak  <ndrochak@gol.com>
5552         * DecimalFormatter.cs: Trim off excess null characters from the string
5553         that decimal2string gives back.
5555 2002-04-16  Nick Drochak  <ndrochak@gol.com>
5557         * String.cs (SubString): revert my change.  I can't reproduce the
5558         problem anymore.
5560 2002-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5562         * Attribute.cs: added GetHashCode and Equals.
5564 2002-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5566         * Enum.cs: little improvements to Format ().
5568 Thu Apr 11 12:28:13 CEST 2002 Paolo Molaro <lupus@ximian.com>
5570         * String.cs: internalcall GetHashCode().
5571         * Array.cS: optimize access to elements.
5573 Wed Apr 10 21:20:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
5575         * String.cs: make IndexOfAny() use an internalcall.
5577 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5579         * Int32.cs:
5580         * UInt32.cs:
5581         * Int64.cs: 
5582         * UInt64.cs: fixed error when testing for validity of flags.
5584 2002-04-11  Nick Drochak  <ndrochak@gol.com>
5586         * Double.cs: Use an internal call for ToString(). This is just a simple
5587         implementation to get away from throwing a NotImplementedException.
5589 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5591         * Int32.cs:
5592         * UInt32.cs:
5593         * Int64.cs: 
5594         * UInt64.cs: changed Type.GetType () by typeof (), as suggested by
5595         lupus.
5597         * Int32.cs:
5598         * Int64.cs: throw an OverFlowException when parsing a string 
5599         containing a dot followed by any non '0' number.
5601 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5603         * Byte.cs:
5604         * UInt16.cs:
5605         * UInt32.cs:
5606         * UInt64.cs: added complex Parse ().
5608 2002-04-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5610         * SByte.cs:
5611         * Int16.cs:
5612         * Int32.cs:
5613         * Int64.cs: added complex Parse ().
5615 2002-04-09  Nick Drochak  <ndrochak@gol.com>
5617         * Array.cs (BinarySearch): Add checks on paramters before using them
5618         and throw exceptions as needed.
5620         * Enum.cs (Format): Check if [Flags] is applied to enum and convert
5621         "G" format to "F" if so.
5623 Tue Apr 9 13:12:09 CEST 2002 Paolo Molaro <lupus@ximian.com>
5625         * MonoCustomAttrs.cs: return arrays of type Attribute[]
5626         instead of object[].
5628 2002/04/09  Nick Drochak <ndrochak@gol.com>
5630         * String.cs (Substring): Copy only non-null characters to the new
5631         string.
5633 2002-04-09  Nick Drochak  <ndrochak@gol.com>
5635         * IntegerFormatter.cs: Don't use a format character to indicate a
5636         custom format was passed in. It was using 'z' to indicate a custom
5637         format, but really it should throw a format exception if the user
5638         tries to use "z" as the format string. Now it does.
5640         * Activator.cs: New File.
5642 2002-04-08  Nick Drochak  <ndrochak@gol.com>
5644         * Enum.cs (ToString): Big ugly fix for the case where [Flags] is
5645         applied to an enum. Need to handle the different possible integer
5646         types of an enum somehow.  Can anyone say generics?
5648 Mon Apr  8 06:22:42  2002 Piers Haken <piersh@friskit.com>
5650         * Convert.cs: switched the To*(object) methods to use
5651         IConvertible directly instead of calling ChangeType
5653 Sat Apr 6 20:08:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
5655         * ValueType.cs: make Equals() an internalcall.
5657 Fri Apr 5 15:38:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
5659         * Type.cs: also look for nested types in FindMembers.
5660         * MonoType.cs: make GetNestedTypes() an internalcall.
5662 2002-04-05  Nick Drochak  <ndrochak@gol.com>
5664         * Enum.cs (Parse): Handle different underlying types.
5666 2002/04/04 Nick Drochak <ndrochak@gol.com>
5668         * Enum.cs (IsDefined): Throw exception when type of value to look for
5669         is not the correct one.  Attempt to have it work with string values
5670         too, but not sure if the unit tests are getting that far yet.
5672 2002-04-04  Nick Drochak  <ndrochak@gol.com>
5674         * Decimal.cs: Fix a couple of typos.
5676 Wed Apr 3 19:46:00 CEST 2002 Paolo Molaro <lupus@ximian.com>
5678         * Enum.cs: the values array is of the enum and not of the underlying
5679         type. Updates and some bug fixes.
5680         * MonoType.cs: make the internalcall return FullName instead of the
5681         assembly qualified name.
5682         * Type.cs: make ToString () simply return FullName.
5684 2002-04-03  Nick Drochak  <ndrochak@gol.com>
5686         * Type.cs (GetTypeCode): provide some of the implementation for this
5687         method.  It's still too simplistic to be considered complete.
5689 2002-04-02  Dietmar Maurer  <dietmar@ximian.com>
5691         * Object.cs: fixed FieldGetter/FieldSetter signature
5693 2002-04-02  Nick Drochak  <ndrochak@gol.com>
5695         * Environment.cs: add MonoTODO's on parts that should have it.
5697 2002-04-01  Nick Drochak  <ndrochak@gol.com>
5699         * Enum.cs: added reality checks (check parameters to most methods that
5700         need them).
5702 2002-03-30  Dietmar Maurer  <dietmar@ximian.com>
5704         * Object.cs: added FieldGetter/FieldSetter
5706 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5708         * IntegerFormatter.cs: fixed initialization error in static
5709         constructor.
5711 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
5713         * Delegate.cs: added new field to store a trampoline function
5715 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5717         * IntegerFormatter.cs: added workaround for bug #22668. First patch to
5718         make custom format strings work (not fully functional yet).
5720 2002/03/28  Nick Drochak <ndrochak@gol.com>
5722         * IntegerFormatter.cs: Change class from internal to public.  Add
5723         necessary [CLSCompliant(false)] attributes.
5725 2002-03-27  Duco Fijma  <duco@lorentz.xs4all.nl>
5726         * _AppDomain.cs, AppDomain.cs: renamed method GetDate to GetData
5727         (was a typo)
5729 2002-03-28  Nick Drochak  <ndrochak@gol.com>
5731         * Type.cs: Added MonoTODO tags on members that have FIXME, etc.
5733 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
5735         * Console.cs: Modified to get std handles from MonoIO.
5736         * Environment.cs: removed PAL dependencies.
5738 2002-03-25  Miguel de Icaza  <miguel@ximian.com>
5740         * String.cs (System): Removed internal enumeration, because
5741         bootstrapping the corlib at this point does not support
5742         enumerations. 
5744         * IntPtr.cs: Temporary work-around until I fix the assembly
5745         attributes bug.
5747 2002-03-24  Martin Baulig  <martin@gnome.org>
5749         * Enum.cs (GetValues): According to the docu this is sorted after
5750         values, not names.
5752         * String.cs (System): Removed enumeration, because it is pretty
5753         hard to support enumerations in /nostdlib mode for the core types.
5755 Tue Mar 19 18:18:49 CET 2002 Paolo Molaro <lupus@ximian.com>
5757         * Array.cs: move error handling in the catch block.
5758         * MulticastDelegate.cs: remove == and != operators that were
5759         removed with the delegate changes (when you add stuff, please do not
5760         remove existing functionality!).
5761         * Type.cs: if a property is not found in a type, search for it
5762         in the parent types, too.
5764 2002-03-18  Dan Lewis <dihlewis@yahoo.co.uk>
5765         
5766         * Math.cs: changed to use icall instead of PAL.
5768 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
5770         * Double.cs: added check for NaN (Bug [22082])
5772 2002-03-19  Nick Drochak  <ndrochak@gol.com>
5774         * Enum.cs (Equals): check for null and throw if it is.
5775         * Enum.cs (Format): check for null parameters and throw if necessary.
5776         This method still needs more argument checking.
5778 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
5780         * Enum.cs (Equals): check if Enums are of the same type
5782 2002-03-18  Nick Drochak  <ndrochak@gol.com>
5784         * Double.cs: Explicitly handle comparisons in CompareTo() for
5785         Positive/Negative Infinity and NaN. Unit Test now passes on Linux.
5787         * Enum.cs(CompareTo): Check types of values before trying to compare.
5788         Throw exceptions if types are invalid or don't match.
5790 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
5792         * Array.cs: Add some extra debugging information.
5794 2002-03-15  Nick Drochak  <ndrochak@gol.com>
5796         * Array.cs: Added IList and IEnumerable. 
5798 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
5800         * UInt64.cs, UInt32.cs, UInt16.cs: Mark public parse methods as
5801         NonCLSCompliant. 
5803 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
5805         * Delegate.cs (Equals): also compare method_ptr 
5806         (GetHashCode): returm method_ptr as hash
5808 2002-03-13  Duco Fijma  <duco@lorentz.xs4all.n>
5809         * TimeSpan.cs: removed the use of Custom Numeric Format Strings,
5810         such as 42.ToString("0000000"), as these are (currently) not implemented
5811         in System.IntegerFormatter. TimeSpan luckely can do with Standard
5812         Numeric Format Strings, such as 42.ToString("D7").
5814 2002-03-12  Duncan Mak  <duncan@ximian.com>
5816         * FieldAccessException.cs: 
5817         * MethodAccessException.cs: 
5818         * PlatformNotSupportedException.cs: Inherit from
5819         MemberAccessException, not SystemException.
5821         * ObsoleteAttribute.cs: Made Message and IsError properties
5822         instead of fields.
5824 Tue Mar 12 19:21:18 CET 2002 Paolo Molaro <lupus@ximian.com>
5826         * GC.cs: make SuppressFinalize() a nop.
5827         * Delegate.cs: fix == operator.
5829 2002-03-13  Nick Drochak  <ndrochak@gol.com>
5831         * Enum.cs: Add IConvertible methods. Cyclic dependancy fixed in the
5832         runtime that goes with this patch.
5834 2002-03-10  Martin Baulig  <martin@gnome.org>
5836         * Int32.cs (Parse): Correctly parse negative numbers.
5838 2002-03-08  Martin Baulig  <martin@gnome.org>
5840         * String.cs (Split): Really fix it this time. Also adding several new
5841         testcase to the testsuite.       
5843 2002-03-08  Martin Baulig  <martin@gnome.org>
5845         * Array.cs (Copy): Optimized: removed duplicate null check, removed
5846         two duplicate GetLowerBound() calls and one duplicate IsValueType.
5848 Fri Mar 8 18:49:19 CET 2002 Paolo Molaro <lupus@ximian.com>
5850         * Object.cs: commit my hacked GetHashCode(): it's good enough for now.
5851         * String.cs: use the dumb code for IndexOf(string): this is worth
5852         15-20 % speedup in mcs compile with mint.
5854 Fri Mar 8 12:45:44 CET 2002 Paolo Molaro <lupus@ximian.com>
5856         * String.cs: revert change to Split() that broke the compiler (hi martin!:-).
5858 2002-03-07  Martin Baulig  <martin@gnome.org>
5860         * String.cs (Join): Throw an ArgumentNullException.
5861         (LastIndexOf (string,int,int)): This method does a backwards search,
5862         so startIndex points to the end of value, not to its beginning. Don't
5863         throw an exception if startIndex equals this.Length. Always return -1
5864         if startIndex is smaller than the length of value.
5865         (Replace (string,string)): Replace all occurences of oldValue.
5866         If newValue is null, all occurences of oldValue are to be removed.
5867         (Split (char[],int)): Return an empty array if maxCount is zero, throw
5868         an ArgumentOutOfRangeException if it's less than zero. Return maxValue
5869         elements, not maxValue+1.
5871 Thu Mar 7 17:16:06 CET 2002 Paolo Molaro <lupus@ximian.com>
5873         * MonoType.cs: make GetEvents() an internal call.
5874         * MulticastDelegate.cs: copy the passed in array.
5876 2002-03-06  Martin Baulig  <martin@gnome.org>
5878         * Array.cs (Copy): Use FastCopy when appropriate and do correct
5879         exception handling.
5881 2002-03-06  Duco Fijma  <duco@lorentz.xs4all.nl>
5882         * CharEnumerator.cs: fixes to CharEnumertor.MoveNext, fixing 
5883         some of the failures found be new tests (see ChangeLog in 
5884         Test/System). Comments added to this method, based on
5885         the representation invariant of this class, that (try to) explain
5886         why it now should be correct.
5888 2002-03-06  Dietmar Maurer  <dietmar@ximian.com>
5890         * Int64.cs (Parse): bug fix for max. negative value. 
5892 2002-03-07  Nick Drochak  <ndrochak@gol.com>
5894         * RuntimeTypeHandle.cs: Add Serializable attribute as the docs say.
5895         I need to understand what the difference between the attribute and
5896         the interface is.
5898 2002-03-06  Martin Baulig  <martin@gnome.org>
5900         * Array.cs (Copy): Always throw an ArrayTypeMismatchException, not
5901         an InvalidCastException if the widening conversion failed. See
5902         testcases #M94-#M96.
5904         * Array.cs (CopyTo): Bug fix from Ajay Dwivedi, correctly handle
5905         arrays with non-zero lower bounds. Also adding testcases #F10-#F13
5906         for this.
5908         * Array.cs (CopyTo): Reverted my last change, it was incorrect.
5909         (Copy): Actually allow copying multi-dimensional arrays.
5911 2002-03-05  Duncan Mak  <duncan@ximian.com>
5913         * Convert.cs:
5914         (DBNull) Added the missing field.
5915         (IsDBNull) Fixed typo.
5916         (ToByte (string, int)) Implemented.
5917         (ToString (byte, int)) Implemented.
5918         (ConvertToBase)
5919         (BuildConvertedString) internal functions used for converting values to
5920         a specific base.
5922         * Int16.cs: 
5923         * Int32.cs:
5924         * Int64.cs:
5925         * Single.cs:
5926         * UInt16.cs: 
5927         * UInt32.cs: Implemented the IConvertible interface.    
5929         * CharEnumerator.cs: Renamed to variables to be clearer and
5930         changed some of the tests to conform to the 1.0 spec.
5932 2002-03-06  Martin Baulig  <martin@gnome.org>
5934         * Array.cs (Copy): Calculate absolute array position here and use
5935         GetValueImpl() and SetValueImpl() with that position. We can now
5936         copy multi-dimensional arrays.
5937         (CopyTo): Small bug fix.
5939 2002-03-05  Duco Fijma  <duco@lorentz.xs4all.nl>
5941         * Version.cs: CompareTo changed according the LAMESPEC discovered by 
5942         Nick (See VersionTest.cs).
5943         * CharEnumerator.cs: fixed two bugs in MoveNext. It had an off-by-one
5944         error comparing the current position (idx) against the length of the
5945         string iterated and it set idx to an unrecognized special value (-2)
5947 Tue Mar 5 17:34:14 CET 2002 Paolo Molaro <lupus@ximian.com>
5949         * SByte.cs, UInt64.cs: implement IConvertible interface. Nobody wants
5950         to do this dirty work, but someone has to do it (and I need it to pass
5951         the "200 sample tests compiled on linux" mark).
5953 2002-03-06  Nick Drochak  <ndrochak@gol.com>
5955         * Attribute.cs
5956         * DecimalFormatter.cs
5957         * Delegate.cs
5958         * Double.cs
5959         * GC.cs
5960         * Int16.cs
5961         * Int32.cs
5962         * MonoType.cs
5963         * RuntimeMethodHandle.cs
5964         * RuntimeTypeHandle.cs
5965         * String.cs
5966         * Type.cs:
5967                 Add [MonoTODO]'s to places where we currently throw a
5968                 NotImplementedException.
5970 2002-03-05  Dietmar Maurer  <dietmar@ximian.com>
5972         * Int16.cs (Parse): do not overflow on max negative value
5974         * Int32.cs (Parse): do not overflow on max negative value
5976 Mon Mar 4 20:36:05 CET 2002 Paolo Molaro <lupus@ximian.com>
5978         * Type.cs: fixed IsClass.
5979         * MonoType.cs: fixed MemberType, IsPrimitiveImpl, IsPointerImpl,
5980         IsByRefImpl. Added GetInterfaces().
5981         * IServiceProvider.cs: compilation fix.
5983 Mon Mar 4 18:37:03 CET 2002 Paolo Molaro <lupus@ximian.com>
5985         * Array.cs: allow copying an empty array to an empty array.
5987 Mon Mar 4 17:59:16 CET 2002 Paolo Molaro <lupus@ximian.com>
5989         * String.cs: fixed LastIndexOf (string) to do a bit of argument
5990         checking.
5992 2002-03-04  Duco Fijma  <duco@lorentz.xs4all.nl>
5993         * Version.cs: many fixes to failures found by the newly created
5994         test cases for this class. Specifically, the CompareTo member
5995         returned wrong values due to the use of Int32.MaxValue as a special
5996         value indicating an "undefined" version component. Also implemented the
5997         missing operators (==, <, >, etc.), one missing constructor and
5998         and some exception throwing.
6000 2002-03-04  Nick Drochak  <ndrochak@gol.com>
6002         * IServiceProvider.cs: Add missing attribute: ComVisible(false)
6003         * Attribute.cs: Add missing attributes: Serializable and
6004         AttributeUsage(AttributeTargets.All)
6006 Mon Mar 4 11:26:49 CET 2002 Paolo Molaro <lupus@ximian.com>
6008         * MonoType.cs: implemented GetConstructors(), GetFields(),
6009         GetMethods(), GetProperties().
6010         * Object.cs: added debugging icall obj_address().
6011         * Type.cs: fixed the binding flags for some Get* methods.
6012         Implemented FindMembers() as calls to the specific GetMember
6013         methods.
6015 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
6016         * BitConverter.cs: fixed one little bug: ToString(s, n, 0) 
6017         should give an exception for n>=s.Length.
6019 2002-03-01  Martin Baulig  <martin@gnome.org>
6021         * Array.cs: More argument checking and bug fixing.
6023 2002-03-01  Miguel de Icaza  <miguel@ximian.com>
6025         * BitConverter.cs: Indentation match
6027         * AppDomain.cs: Added MonoTODOs to this too.
6029         * Buffer.cs: Added MonoTODOs to this.
6031 2002-03-01  Martin Baulig  <martin@gnome.org>
6033         * Array.cs: Added argument checking to all methods where it was missing.
6035 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
6037         * BitConverter.cs: Fixed bugs in ToString methods
6039 Fri Mar 1 15:20:00 CET 2002 Paolo Molaro <lupus@ximian.com>
6041         * MulticastDelegate.cs: implement operators so mcs3 can be used on linux.
6043 2002-03-01  Nick Drochak  <ndrochak@gol.com>
6045         * BitConverter.cs: Throw ArgumentException like mscorlib, instead of
6046         ArgumentOutOfRangeException like the docs say.
6048 2002-03-01  Martin Baulig  <martin@gnome.org>
6050         * Enum.cs (CompareTo): Correctly override this method from IComparable.
6052         * Console.cs (setIn, setOut, setError): It's called SetIn, SetOut, SetError.
6054 2002-02-28  Martin Baulig  <martin@gnome.org>
6056         * String.cs: This file now passes the testsuite on Linux :-)
6057         
6058         * String.cs (Intern, IsInterned): The interncalls are now called _Intern and _IsInterned;
6059         make them private and provide C# wrappers which do proper argument checking.
6061         * String.cs (Format): Correctly handle escaped brackets.
6063         * String.cs (_CompareChar): New internal function which compares two chars.
6064         (_Compare): Provide an internal compare method which can do all sorts of
6065         comparision and call it from all the Compare() methods. Also fixed a lot of
6066         bugs here, this code now actually passes the testsuite.
6068 2002-02-28  Duncan Mak  <duncan@ximian.com>
6070         * Convert.cs: Added the missing methods. The new class status page
6071         kicks ass, it even found my typos! Woohoo!
6072         (ConvertFromBase): Moved the Exception throwing in here and
6073         removed the other occurances so it's all centralized now.
6074         (ISDBNull): Implemented.
6075         (GetTypeCode): Implemented.
6077 2002-02-27  Duco Fijma  <duco@lorentz.xs4all.nl>
6078         * Guid.cs: Guid.ToString("") and Guid.ToString(null) is now understood as Guid.ToString("D") 
6079         just as in mscorlib. There is (probably) a documentation bug in the MS FrameWork SDK, which
6080         states that a lacking format should be interpreted as "N".  
6081         Also added [Serializable] attribute
6082         * TimeSpan.cs: some formatting and added the [Serializable] attribute
6084 2002-02-26  Duncan Mak  <duncan@ximian.com>
6086         * WeakReference.cs: Committed for Ajay Kumar Dwivedi.   
6088 2002-02-26  Martin Baulig  <martin@gnome.org>
6090         * TimeZone.cs: Use an internal enum rather than magic numbers to access the
6091         fields of the interncall GetTimeZoneData.
6093         * DateTime.cs: Implemented Parse and fixed a few bugs.
6095         * String.cs (TrimStart): Small fix.
6097 2002-02-26  Martin Baulig  <martin@gnome.org>
6099         * DateTime.cs: ParseExact is now fully functional.
6101         * String.cs (TrimEnd): Small fix.
6103 2002-02-26  Duco Fijma <duco@lorentz.xs4all.nl>
6104         * TimeSpan.cs: Added method TimeSpan.FromMilliseconds, mysteriously 
6105         missing for about six months.
6107 Tue Feb 26 14:21:19 CET 2002 Paolo Molaro <lupus@ximian.com>
6109         * UInt64.cs: fixed Parse method () to handle some of the NumberStyle flags.
6111 2002-02-26  Martin Baulig  <martin@gnome.org>
6113         * DateTime.cs: Miguel already committed this, but there was still a
6114         ChangeLog entry for this missing ....
6115         We're now reusing functionality from TimeSpan, printing dates is
6116         fully implemented, currently working on parsing.
6118         * TimeZone.cs: Fully implemented this. There's a new InternCall in the
6119         runtime for this.
6121 Fri Feb 22 18:47:08 CET 2002 Paolo Molaro <lupus@ximian.com>
6123         * MonoType.cs: disable constructor.
6124         * Object.cs: make GetType() an internalcall.
6125         * Type.cs: added correct bindingflags to GetMethods ().
6126         All such calls should be reviewed to use the correct flags.
6128 Thu Feb 21 19:23:46 CET 2002 Paolo Molaro <lupus@ximian.com>
6130         * Type.cs, MonoType.cs: type_is_subtype_of () changed to include extra
6131         argument.
6133 Thu Feb 21 16:56:51 CET 2002 Paolo Molaro <lupus@ximian.com>
6135         * Type.cs: implemented IsAssignableFrom.
6137 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
6138         * Guid.cs: fixed Guid.Guid(string) ctor. Changed format:
6139         "{0xdddddddd,0xdddd,0xdddd,{0xdd},{0xdd},{0xdd},{0xdd},{0xdd},{0xdd}}" 
6140         to "{0xdddddddd,0xdddd,0xdddd,{0xdd,0xdd,0xdd,0xdd,0xdd,0xdd}}" 
6141         The former is documented by Microsoft. The latter is how they
6142         actually implemented it in mscorlib:-)
6144 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
6146         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
6147         runtime.
6148         * MonoType.cs: Implemented custom attributes methods.
6151 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
6152         * Guid.cs: 
6154 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
6156         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
6157         runtime.
6158         * MonoType.cs: Implemented custom attributes methods.
6160 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
6162         * Array.cs (CopyTo): use GetLength() instead of GetUpperBound() 
6164 2002-02-19  Duncan Mak  <duncan@ximian.com>
6166         * Convert.cs: Finished up the missing methods in Convert. Added a
6167         new private method ConvertFromBase.
6169 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
6171         * String.cs: impl. IConvertible interface
6173 2002-02-18  Duco Fijma <duco@lorentz.xs4all.nl>
6174         * Guid.cs: actual implementation for Guid.Guid(string) Ctor
6176 2002-02-18  Duncan Mak  <duncan@ximian.com>
6178         * Convert.cs: Changed from using Type.GetType (string) to just
6179         typeof (). Probably will speed things up a bit?         
6181 2002-02-18  Ajay Kumar Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>
6183         * Array.cs:         
6184         1. Fix for GetUpperBound to return correct values
6185         2. made some Properties virtual
6186         3. Adds IsFixedSize and IsReadOnly properties.
6187         4. changes CreateInstance(Type,int[],int[]) to throw Exception
6188         when third arg is null. InternalCall CreateInstance changed to  
6189         CreateInstanceImpl
6190         5. Fixed array.GetUpperBound at a couple of places
6191         6. IndexOf and LastIndexOf now use Object.Equals instead of "=="
6192         7. Added two FIXME's in BinarySearch functions.
6194 2002-02-17  Duncan Mak  <duncan@ximian.com>
6196         * TimeZone.cs:  Applied the rest of Ajay's patch for    
6197         IsDaylightSavingTime. Thanks a lot for the nice explanation of how
6198         it works!
6200 2002-02-17  Duco Fijma  <duco@lorentz.xs4all.nl>
6201         * Guid.cs: added stub for Guid(string) ctor
6203 2002-02-17  Duncan Mak  <duncan@ximian.com>
6205         * Convert.cs: Near-complete implementation of Convert.cs
6207         Added all the To* methods taking (object) and
6208         (object, IFormatProvider) as parameters.
6210         Added [CLSCompliant (false)] attributes to methods dealing with
6211         unsigned types.
6213         Added the missing section on converting to and from DateTime. Only
6214         6 missing methods, all marked with MonoTODOs. Will tackle them later.           
6216 2002-02-16  Duncan Mak  <duncan@ximian.com>
6218         * TimeZone.cs: patch from Ajay Kumar Dwivedi (adwiv@yahoo.com) to
6219         make IsDaylightSavingTime (DateTime) call 
6220         IsDaylightSavingTime (DateTime, DaylightTime).  
6221         
6222         Added internal class CurrentTimeZone from Ajay. It needs more work
6223         to fill in the appropriate internal calls.
6224         
6225 Sat Feb 16 12:41:41 CET 2002 Paolo Molaro <lupus@ximian.com>
6227         * Type.cs: fix IsClass.
6229 Sat Feb 16 12:02:02 CET 2002 Paolo Molaro <lupus@ximian.com>
6231         * String.cs: fix Trim().
6233 Fri Feb 15 21:02:46 CET 2002 Paolo Molaro <lupus@ximian.com>
6235         * String.cs: fix more off by one errors.
6237 Thu Feb 14 18:54:09 CET 2002 Paolo Molaro <lupus@ximian.com>
6239         * MonoType.cs: fix IsValueTypeImpl.
6240         * Type.cs: fix IsEnum. Implement Equals methods.
6242 Wed Feb 13 21:50:13 CET 2002 Paolo Molaro <lupus@ximian.com>
6244         * Int32.cs: implement IConvertible interface.
6245         
6246 2002-02-12  Duncan Mak  <duncan@ximian.com>
6248         * TimeZone.cs: Implemented and added to CVS.
6250 2002-02-11  Duncan Mak  <duncan@ximian.com>
6252         * Convert.cs: Implemented the ChangeType () methods.
6254 Mon Feb 11 19:48:58 CET 2002 Paolo Molaro <lupus@ximian.com>
6256         * Array.cs: make Clone() an internal call.
6258 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
6259         * Changed Guid.NewGuid so that it can use both System.Random and 
6260           System.Security.Cryptography.RandomNumberGenerator
6262 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
6263         * First version of Guid.NewGuid
6265 2002-02-08  Duncan Mak  <duncan@ximian.com>
6267         * RuntimeArgumentHandle.cs: Added to CVS.
6269 Fri Feb 8 19:14:54 CET 2002 Paolo Molaro <lupus@ximian.com>
6271         * CrossAppDomainDelegate.cs, AssemblyLoadEventHandler.cs,
6272         UnhandledExceptionEventHandler.cs: added delegates.
6274 Fri Feb 8 18:06:20 CET 2002 Paolo Molaro <lupus@ximian.com>
6276         * MarshalByRefObject.cs: add ToString () method
6277         (apparently needed by nunit).
6278         * _AppDomain.cs: uncomment ToString(): dietmar fixed the bug triggered
6279         by it in the runtime.
6281 2002-02-08  Dan Lewis <dihlewis@yahoo.co.uk>
6282         
6283         * String.cs (Format): implemented
6285 2002-02-07  Duncan Mak  <duncan@ximian.com>
6286         
6287         * DuplicateWaitObjectException:
6288         * InvalidCastException:
6289         * NotImplementedException:
6290         * NotSupportedException:
6291         * NullReferenceException:
6292         * OutOfMemoryException:
6293         * OverflowException:
6294         * RankException:
6295         * StackOverflowException.cs:
6296         * UnauthorizedAccessException: Added missing constructor used for serialization.
6298 2002-02-07  Dietmar Maurer  <dietmar@ximian.com>
6300         * String.cs (System.Compare): bug fix 
6302 2002-02-06  Dietmar Maurer  <dietmar@ximian.com>
6304         * Enum.cs (Parse,  GetHashCode): impl. 
6306 2002-02-05  Duncan Mak  <duncan@ximian.com>
6308         * DBNull.cs: This is my first crack at the DBNull class. I think I
6309         actually got most of the IConvertible methods right, but I haven't
6310         done the research to test whether or not this is the correct
6311         behavior. IConvertible.ToType () is the most iffy of all, IMHO.
6313         * DllNotFoundException.cs: Inherits from TypeLoadException, not SystemException.
6315 2002-02-05  Dietmar Maurer  <dietmar@ximian.com>
6317         * Enum.cs: added more functionality (GetName, ToObject, Equals)
6319 2002-01-31  Duncan Mak  <duncan@ximian.com>
6321         * InvalidOperationException.cs:
6322         * NotFiniteNumberException.cs:
6323         * ObjectDisposedException.cs:
6324         * TypeInitializationException.cs: Added missing bits for serialization/
6325         
6326         * AppDomainUnloadedException.cs:
6327         * ApplicationException.cs:
6328         * ArgumentOutOfRangeException.cs:
6329         * ArithmeticException.cs:
6330         * ArrayTypeMismatchException:
6331         * BadImageFormatException.cs:
6332         * Exception.cs:
6333         * MissingMemberException.cs:
6334         * TypeLoadException.cs: Added missing bits for serialization.
6336 2002-01-30  Duco Fijma <duco@lorentz.xs4all.nl>
6337         * Guid.cs: implemented everything but Guid.NewGuid
6339 Tue Jan 29 22:32:36 CET 2002 Paolo Molaro <lupus@ximian.com>
6341         * _AppDomain.cs: remove ToString() method: it doesn't seem right 
6342         to have it in this interface and it screws up the method vtable setup.
6344 2002-01-28  Andrei Zmievski <andrei@php.net>
6346         * Double.cs: implemented IConvertible interface.
6348 2002-01-28  Miguel de Icaza  <miguel@ximian.com>
6350         * ArgumentException.cs: Implement serialization constructor.
6351         (GetObjectData): Implement serializer.
6352         
6353         * ArgumentNullException.cs: Implement serialization constructor.
6355         * Exception.cs: Implement serialization constructor.
6356         (GetObjectData): Implement serializer.
6358 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
6360         * DateTime.cs (UnixEpoch): The Begining of the Unix epoch.
6362 2002-01-23  Duncan Mak  <duncan@ximian.com>
6364         * EntryPointNotFoundException.cs:
6365         * FormatException: Added missing constructor and related bits.
6367         * TypeLoadException: Added missing constructor, methods and properties.
6369 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
6371         * AppDomain.cs (GetAssemblies): Use foreach construct instead of
6372         manually getting the enumerator.
6374         (AppDomain.AppDomain): Prime the loaded assemblies with the
6375         assemblies loaded by the runtime in our behalf.
6377         * AppDomainSetup.cs: Remove private keyword, that is the default.
6378         Add a new property DisallowPublisherPolicy.
6380         * AppDomain.cs (AppDomain.GetAssemblies): Implement.
6382 Tue Jan 22 22:51:48 CET 2002 Paolo Molaro <lupus@ximian.com>
6384         * MonoType.cs, Type.cs: many updates, corrected implementation,
6385         completed stubs.
6387 2002-01-20  Andrei Zmievski <andrei@php.net>
6389         * Byte.cs:
6390         * Char.cs: implemented IConvertible interface.
6392         * Boolean.cs: use our own ToString() method directly.
6394 2002-01-20  Duncan Mak  <duncan@ximian.com>
6396         * Files I commited recently: Fixed indentation style.
6398 2002-01-20 Nick Drochak  <ndrochak@gol.com>
6400         * SerializableAttribute.cs: this attrib can be used on enums, structs, 
6401         and delegates too. Added the appropriate usage flags.
6403 2002-01-18  Duncan Mak  <duncan@ximian.com>
6405         * CharEnumerator.cs: Implemented.
6406         * String.cs (System): Fixed the GetEnumerator () method(s).
6408         * ObsoleteAttribute.cs:
6409         * STAThreadAttribute.cs:
6410         * MTAThreadAttribute.cs:
6411         * ThreadStaticAttribute.cs:
6412         * LoaderOptimizationAttribute.cs:
6413         * PlatformNotSupportedException.cs:
6414         * LoaderOptimization.cs: Added to CVS.
6416 2002-01-18  Duncan Mak  <duncan@ximian.com>
6418         * AppDomainUnloadedException.cs:
6419         * MethodAccessException.cs:
6420         * ContextMarshalException.cs:
6421         * CannotUnloadAppDomainException.cs:
6422         * DllNotFoundException.cs:
6423         * EntryPointNotFoundException.cs:
6424         * FieldAccessException.cs:
6425         * TypeUnloadedException.cs:
6426         * MissingFieldException.cs: Added to CVS.
6428         * ApplicationException.cs: 
6429         * MemberAccessException.cs:
6430         * MissingMemberException.cs
6431         * MissingMethodException.cs:
6432         * SystemException.cs: Added [Serializable] attribute.
6434         * Exception.cs: Added [Serializable] attribute, made properties
6435         'Message', 'Source' and 'StackTrace' virtual methods, per 1.0
6436         spec.
6438         * ContextStaticAttribute.cs: Added [Serializable] attribute and
6439         put in the missing constructor.
6441         * Environment.cs: Commented out references to
6442         EnvironmentPermissionAttribute, because they're just stubbed out
6443         right now and has no implementation.
6445 2002-01-16  Andrei Zmievski <andrei@php.net>
6447         * Boolean.cs: implemented IConvertible interface
6449 2002-01-15  Nick Drochak  <ndrochak@gol.com>
6451         * ResolveEventArgs.cs: class should derive from EventArgs.
6453 2002-01-14  Miguel de Icaza  <miguel@ximian.com>
6455         * String.cs (System): Use DefaultMemberName for the String class.
6457 Mon Jan 14 17:06:40 CET 2002 Paolo Molaro <lupus@ximian.com>
6459         * String.cs: use IndexerName in index char accessor.
6461 Thu Jan 10 21:05:23 CET 2002 Paolo Molaro <lupus@ximian.com>
6463         * MonoType.cs: add rank to MonoTypeInfo and implement GetArrayRank.
6464         * String.c: eliminate 64k+ method calls in search.
6465         * Type.cs: handle byref and array types in ToString ().
6467 2002-01-09  Duco Fijma <duco@lorentz.xs4all.nl>
6469         * Guid.cs: created first version
6471 2002-01-10  Dietmar Maurer  <dietmar@ximian.com>
6473         * MonoType.cs: added missing TypeAttributes to MonoTypeInfo 
6475 Wed Jan 9 19:35:07 CET 2002 Paolo Molaro <lupus@ximian.com>
6477         * MulticastDelegate.cs: add == and != operator stubs.
6478         * String.cs: check for null in == operator.
6479         * Type.cs: use a virtual method to get TypeAttributes.
6481 Tue Jan  8 23:30:19 EST 2002 Matt Kimball <matt@kimball.net>
6482         * String.cs: Fixed several off-by-one errors in LastIndexOf* methods
6484 2002-01-09  Nick Drochak  <ndrochak@gol.com>
6485         
6486         * Environment.cs: Comment out Security attribute and put a MonoTODO
6487         there as a reminder.  We need mcs magic to handle security attributes in
6488         corlib.
6490 2002-01-07  Duco Fijma <duco@lorentz.xs4all.nl>
6491         * Created IAppDomainSetup.cs
6493 2002-01-06  Duco Fijma <duco@lorentz.xs4all.nl>
6494         * Created System._AppDomain interface in _AppDomain.cs
6496 2002-01-06  Nick Drochak  <ndrochak@gol.com>
6498         * ResolveEventArgs.cs: New File, completely implemented! ;)
6500 Sat Jan 5 15:53:50 CET 2002 Paolo Molaro <lupus@ximian.com>
6502         * Enum.cs: dummy ToString impl.
6503         * String.cs: dummy format implementations to get compiler errors
6504         somewhat working.
6505         * Type.cs: implemented filter delegates. FindMembers runs the filter, now.
6507 2002-01-05  Ravi Pratap  <ravi@ximian.com>
6509         * TODOAttribute.cs : Augment some more; provide two constructors
6510         with support for a comment too.
6512 2002-01-05  Nick Drochak  <ndrochak@gol.com>
6514         * Uncommented those MonoTODO's now that Ravi's got
6515         the class in there
6517 2001-01-04  Ravi Pratap  <ravi@ximian.com>
6519         * TODOAttribute.cs : Actually add this time ;-)
6521         Change name to MonoTODO.
6523 2002-01-04  Jeffrey Stedfast  <fejj@ximian.com>
6525         * String.cs (Trim): Fixed a few logic bugs in the code that
6526         calculated how much to trim off the end of the string.
6528 2001-01-04  Nick Drochak  <ndrochak@gol.com>
6529         
6530         * Commented out the [TODO] attributes for now.  We don't have the
6531         class written.  Also changed it to [MonoTODO]
6533 2002-01-04  Ravi Pratap  <ravi@ximian.com>
6535         * TODOAttribute.cs : Add. We use this attribute to tag all bits in
6536         our class libraries that are incomplete.
6538         * Array.cs : Apply attribute wherever we find a FIXME which says
6539         we need something to be implemented there.
6541         * Int32.cs : Ditto.
6543         * MulticastDelegate.cs : Ditto.
6545         * RuntimeFieldHandler.cs, RuntimeMethodHandle.cs,
6546         RuntimeTypeHandle.cs : Ditto.
6548         * String.cs : Ditto.
6550         * Type.cs : Ditto.
6552         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs, Delegate.cs : Ditto.
6554         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs, Single.cs, 
6555         UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
6557         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs,
6558         Delegate.cs : Ditto.
6560         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs,
6561         Single.cs, UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
6562         
6563 Thu Jan 3 23:24:04 CET 2002 Paolo Molaro <lupus@ximian.com>
6565         * Delegate.cs: add Remove() stub.
6566         * Enum.cs: add ToObject().
6567         * Type.cs: add IsEnum property.
6569 2002-01-03  Kristian Rietveld  <kris@gtk.org>
6571         * Convert.cs: add non-CLS-compliant ToBoolean methods for char,
6572         DateTime and object.
6574 2001-12-30  Nick Drochak  <ndrochak@gol.com>
6576         * Byte.cs (Parse): Add comments to aid in testing.
6578 2001-12-21  Miguel de Icaza  <miguel@ximian.com>
6580         * Char.cs (Parse): Implement.
6582         * Byte.cs (Parse): Implement a fast parser.
6583         
6584         * SByte.cs (Parse): Implement a fast parser.
6586         * UInt16.cs (Parse): Implement a fast parser.
6587         
6588         * Int16.cs (Parse): Implement a fast parser.
6590         * UInt32.cs (Parse): Implement a fast parser.
6592         * Int32.cs (Parse): Implement a fast parser.
6594 Fri Dec 21 15:14:52 CET 2001 Paolo Molaro <lupus@ximian.com>
6596         * Array.cs: fix null ref in sort code.
6597         * UInt64.cs: add bare-bones parse.
6599 Thu Dec 20 15:29:52 CET 2001 Paolo Molaro <lupus@ximian.com>
6600         
6601         * Byte.cs: removed use of Regexes.
6603 Tue Dec 18 18:39:54 CET 2001 Paolo Molaro <lupus@ximian.com>
6605         * Enum.cs: implemented GetValues(), GetNames(), GetName(),
6606         IsDefined(), GetUnderlyingType().
6607         * String.cs: fix one instance of Compare().
6608         * Type.cs: implemented GetProperties(), GetProperty().
6610 Thu Dec 13 20:10:57 CET 2001 Paolo Molaro <lupus@ximian.com>
6612         * Array.cs: implement CopyTo ().
6613         * Char.cs: implement ToString ().
6614         * Exception.cs: bugfix.
6615         * Int32.cs: bare-bones Parse ().
6616         * MonoType.cs: query the needed info with an internalcall.
6617         * String.cs: speedups, bugfixes, reduced copies.
6618         * Type.cs: added missing fields. Implemented many of the Is*
6619         properties. Implemented GetMethod(), GetConstructor(), GetMethods(),
6620         GetFields(), FindMembers(), ToString().
6621         
6622 2001-12-11  Dick Porter  <dick@ximian.com>
6624         * DateTime.cs: Implemented FromFileTime() and ToFileTime()
6626         * Console.cs: Use handles rather than casting file descriptors
6628 2001-12-08  Nick Drochak  <ndrochak@gol.com>
6630         * Byte.cs (Parse): Start implementation. Parse(string) works, but
6631         now we need to handle other formats
6633 2001-12-06  Dietmar Maurer  <dietmar@ximian.com>
6635         * DateTime.cs: added an icall to GetNow()
6637 2001-12-04  Dietmar Maurer  <dietmar@ximian.com>
6639         * Double.cs: added the parse method from Bob Smith
6641 2001-11-28  Miguel de Icaza  <miguel@ximian.com>
6643         * UInt64.cs: ditto.
6645         * UInt32.cs: ditto.
6647         * Int32.cs (Int32.CompareTo): Fix because we can not just
6648         substract the values.
6650         Return possitive value if the object is null.
6652         * Boolean.cs: (Boolean.CompareTo): ditto.
6654         * Int16.cs (Int16.CompareTo): ditto.
6656         * Byte.cs (Byte.CompareTo): ditto.
6658         * SByte.cs (SByte.CompareTo): ditto.
6660         * Char.cs (Char.CompareTo): ditto.
6661         
6662         * Decimal.cs (Decimal.CompareTo): ditto.
6664         * Int64.cs (Int64.CompareTo): ditto.
6666         * Single.cs: Ditto.
6668         * UInt16.cs: Ditto.
6670 2001-11-28  Nick Drochak <ndrochak@gol.com>
6672         * Byte.cs: Throw NotImplementedException for Parse.
6674 2001-11-27  Derek Holden  <dholden@draper.com>
6676         * IntegerFormatter.cs: Formatting of type "Number" was not
6677         using NumberFormatInfo.NumberNegativePattern.
6679 2001-11-26  Dick Porter  <dick@ximian.com>
6681         * LocalDataStoreSlot.cs: No need to delete a system TLS slot in
6682         the finalise routine any more
6684 2001-11-21  Miguel de Icaza  <miguel@ximian.com>
6686         * ApplicationException.cs: internationalize by adding calls to
6687         Locale.GetText ().  And throw NotImplementedExceptions on calls
6688         that we have to implement.
6690         * Version.cs: Ditto.
6692         * ValueType.cs: ditto.
6694         * UnauthorizedAccessException.cs: ditto.
6696         * UInt32.cs: ditto.
6698         * UInt64.cs: ditto.
6700         * UInt16.cs: ditto.
6702         * TypeLoadException.cs: ditto
6704         * TypeInitializationException.cs: ditto.
6706         * Type.cs: ditto.
6708         * TimeSpan.cs: ditto.
6710         * SystemException.cs: ditto.
6712         * String.cs: ditto.
6714         * StackOverflowException.cs: ditto.x
6716         * Single.cs: ditto.
6718         * SByte.cs: ditto.
6720         * RuntimeTypeHandle.cs: ditto.
6722         * RuntimeMethodHandle.cs: ditto.
6724         * RuntimeFieldHandle.cs: ditto.
6726         * Random.cs: ditto.
6728         * OutOfMemoryException.cs: ditto.
6730         * OperatingSystem.cs: ditto.
6732         * ObjectDisposedException.cs: ditto.
6734         * NullReferenceException.cs: ditto.
6736         * NotImplementedException.cs: ditto.
6738         * NotFiniteNumberException.cs: ditto.o
6740         * MulticastNotSupportedException.cs: ditto.
6742         * MissingMethodException.cs: ditto.
6744         * MemberAccessException.cs: ditto.
6746         * Math.cs: ditto.
6748         * InvalidCastException.cs: ditto.
6750         * IntegerFormatter.cs: ditto.
6752         * Int32.cs: ditto.
6754         * Int16.cs: ditto.
6756         * IndexOutOfRangeException.cs: ditto.
6758         * Environment.cs: ditto
6760         * Enum.cs: ditto.
6762         * DuplicateWaitObjectException.cs: ditto.
6764         * DivideByZeroException.cs: ditto.
6766         * Delegate.cs: ditto
6768         * DecimalFormatter.cs: ditto.
6770         * Decimal.cs: ditto.
6772         * DateTime.cs: ditto.
6774         * Convert.cs: ditto.
6776         * Char.cs: ditto.
6778         * Byte.cs: ditto.
6780         * Boolean.cs: ditto.
6782         * ArrayTypeMismatchException.cs: ditto.
6784         * ArithmeticException.cs: ditto.
6786         * ArgumentOutOfRangeException.cs: ditto.
6788         * ArgumentNullException.cs: ditto.
6790         * Enum.cs: Make it derive from ValueType, add CompareTo method.
6792         * Attribute.cs: Reformat.
6794 2001-11-14  Miguel de Icaza  <miguel@ximian.com>
6796         * Decimal.cs, Double.cs, Byte.cs, Char.cs, Int16, UInt16, Int32,
6797         UInt32, Int64, UInt64, SByte, Single (CompareTo): Throw the
6798         exception if the value is null too.
6800         * Char.cs (CompareTo): ditto.
6802         * ApplicationException.cs: Added constructor that does serialization.
6804         * ParamArrayAttribute.cs: Define attribute correctly.
6806 Wed Nov 14 16:31:19 CET 2001 Paolo Molaro <lupus@ximian.com>
6808         * AppDomain.cs: rename dummy interface _AppDomain to AppDomain_Intf.
6809         * Array.cs: fix Array.Copy.
6810         * AssemblyLoadEventArgs.cs: rename field.
6811         * CLSCompliantAttribute.cs: use correct name for the class.
6812         * Char.cs: fix IsLetter.
6813         * Console.cs, DateTime.cs, Decimal.cs, IConvertible.cs, Math.cs,
6814         SByte.cs, UInt16.cs, UInt32.cs, UInt64.cs, UIntPtr.cs: CLSCompliant updates.
6815         * Convert.cs: CLSCompliant updates, add ChangeType() methods.
6816         * Delegate.cs: renamed target field to m_target.
6817         * Enum.cs: added missing methods.
6818         * MonoType.cs: add a constructor and some needed properties.
6819         * Object.cs: implement GetType().
6820         * String.cs: CLSCompliant updates. Fixes everywhere to remove the
6821         ending 0 char.
6822         * Type.cs: add missing methods/properties.
6824 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
6826         * AttributeUseage.cs: Should define AttributeUsageAttribute.
6828         * CLSCompliant.cs: Marked with AttributeUsage attribute.
6830         * Decimal.cs: Fixed CLSCompliant attributes.
6832         * Type.cs: changed _impl to internal (needs to be accessable by
6833         subclasses).
6835         (TypeHandle): Marked as abstract, implementation removed.
6837         (IsNotPublic, IsPublic, GetMethods, GetPropery, GetConstructor,
6838         GetMethod): Added stub implementations so NUnit would link against
6839         corlib
6841 Tue Nov 6 09:11:43 CET 2001 Paolo Molaro <lupus@ximian.com>
6843         * AppDomain.cs: use an internal constructor for AssemblyBuilder.
6845 2001-11-05  Miguel de Icaza  <miguel@ximian.com>
6847         * NonSerializedAttribute.cs: Add AttributeUsage rules for this
6848         attribute. 
6850 Fri Nov 2 18:23:15 CET 2001 Paolo Molaro <lupus@ximian.com>
6852         * String.cs: fix a couple of bugs.
6853         * AppDomain.cs: use new AppBuilder constructor.
6854         * Buffer.cs, GC.cs, NonSerializedAttribute.cs,
6855         NotImplementedException.cs, ObjectDisposedException.cs,
6856         UnauthorizedAccessException.cs: add implementation.
6857         * OverflowException.cs: fix class name.
6859 2001-10-28  Jeffrey Stedfast  <fejj@ximian.com>
6861         * String.cs: Don't use a terminating nil char for our internal
6862         array.
6864 2001-10-27  Miguel de Icaza  <miguel@ximian.com>
6866         * Delegate.cs (Delegate.CombineImpl): Implement.
6867         (Delegate.Combine): Implement.
6869         * MulticastDelegate.cs (MulticastDelegate.Equals): Implement.
6871         (MulticastDelegate.CombineImpl): This was not as trivial as I
6872         thought. 
6874         * ContextStaticAttribute.cs: Added AttributeUsage to
6875         ContextStaticAttribute. 
6877         * FlagsAttribute.cs: Add AttributeUsage to FlagsAttribute
6879 2001-10-15  Martin Weindel <martin.weindel@t-online.de>
6881         * added Decimal.cs * added DecimalFormatter.cs (internal class
6882         used from System.Decimal)
6884 2001-10-11  Thomas Neidhart <tome@sbox.tugraz.at>
6886         * Convert.cs: Added methods for Base64 transforming just used the
6887           existing System.Security.Cryptography.ToBase64Transform, should
6888           be changed to use a stand-alone class, e.g. Base64Encoder
6889           
6890 2001-10-10  Derek Holden  <dholden@draper.com>
6892         * IntegerFormatter.cs: Added. Implements ToString for all the
6893         integer data types for all the format types.
6895         * Byte.cs: Using IntegerFormatter for ToString's.
6897         * SByte.cs: Using IntegerFormatter for ToString's.
6899         * Int16.cs: Using IntegerFormatter for ToString's.
6901         * Int32.cs: Using IntegerFormatter for ToString's.
6903         * Int64.cs: Using IntegerFormatter for ToString's.
6905         * UInt16.cs: Using IntegerFormatter for ToString's.
6907         * UInt32.cs: Using IntegerFormatter for ToString's.
6909         * UInt64.cs: Using IntegerFormatter for ToString's.
6911 2001-10-07  Miguel de Icaza  <miguel@ximian.com>
6913         * Exception.cs: Implement bits of serialization.
6915         * RuntimeFieldHandle.cs: Implement Serialization features.
6917         * Type.cs: Implement TypeHandle property.
6919 2001-09-28  Dick Porter  <dick@ximian.com>
6921         * LocalDataStoreSlot.cs: Implemented
6923 Tue Sep 25 19:58:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
6925         * String.cs: fix off-by-one error in Trim().
6927 Tue Sep 25 18:52:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
6929         * Type.cs: added GetType () method.
6931 Tue Sep 25 17:29:02 CEST 2001 Paolo Molaro <lupus@ximian.com>
6933         * MissingMethodException.cs, MissingMemberException.cs,
6934         MemberAccessException.cs: added.
6936 Tue Sep 25 16:46:43 CEST 2001 Paolo Molaro <lupus@ximian.com>
6938         * String.cs: don't access the string array out of bounds in
6939         LastIndexOf.  * Type.cs: fix return type of the Assembly property.
6941 Mon Sep 24 20:35:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
6943         * String.cs: make Intern and IsIntern internalcalls.
6945 2001-09-13  Dick Porter  <dick@ximian.com>
6947         * Type.cs: Added a stub for the IsValueType property.
6949         * SystemException.cs (System): Added the other constructor, so
6950         that System.Threading exceptions can inherit it.
6952 2001-09-08  Jeffrey Stedfast  <fejj@ximian.com>
6954         * String.cs (TrimStart): Don't keep looping through the trimchars
6955         once we've found a match.
6956         (TrimEnd): Same here.
6957         (Trim): And finally here.
6959 2001-09-07  Ravi Pratap  <ravi@ximian.com>
6961         * Char.cs (IsLetterOrDigit): Implement.
6962         (IsLower): Implement, but we need to be Unicode aware.
6963         (IsNumber): Implement.
6964         (IsPunctuation): Implement.
6965         (IsWhiteSpace): Implement.
6966         (ToUpper): Fix to subtract 32 from the ASCII value, not 33 :)
6967         (ToLower): Same here.
6969 2001-09-04  Miguel de Icaza  <miguel@ximian.com>
6971         * Object.cs: Shortcut, if (a == b) then return true.
6973 Fri Sep 7 18:34:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
6975         * Delegate.cs: we need a pointer to the method thunk in
6976         the delegate object.
6978 Fri Sep 7 12:28:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
6980         * AsyncCallback.cs, common.src: add AsyncCallback delegate.
6982 2001-09-06  Jeffrey Stedfast  <fejj@ximian.com>
6984         * String.cs (System): Don't mix uint and int.
6986 2001-09-04  Jeffrey Stedfast  <fejj@ximian.com>
6988         * String.cs (BoyerMoore): Modified to not use pointers and to instead
6989         use indexes.
6990         (IndexOf): Use BoyerMoore.
6992 2001-09-02  Miguel de Icaza  <miguel@ximian.com>
6994         * All over: Use the autogenerated enumerations from the ECMA
6995         documentation that Sergey wrote.
6996         
6997         * PlatformID.cs: Add Unix definition.
6999         * OperatingSystem.cs: Use Unix instead of Linux here.
7001         * MarshalByRefObject.cs: Mark class as [Serializable].
7003 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
7005         * Console.cs: impl. (write only)
7006         implemented the stdin stuff
7008         * Int32.cs: impl. real op_Equal
7010 2001-08-24  Miguel de Icaza  <miguel@ximian.com>
7012         * (common.src): Removed IAsyncResult as it is not on CVS yet.
7014         * UIntPtr.cs: Removed CLSCompliant attribute before the namespace,
7015         as it breaks the build.
7017 2001-08-23  Michael Lambert <michaellambert@email.com>
7019         * IntPtr.cs: Optimized unsafe declaration, implemented GetObjectData, 
7020         added CLSCompliant attribute
7022         * IAsyncResult.cs: Added
7024         * common.src: Added IAsyncResult.cs
7026 2001-08-23  Michael Lambert <michaellambert@email.com>
7028         * UIntPtr.cs: Added
7030         * common.src: Added UIntPtr.cs
7032 2001-08-20  Dietmar Maurer  <dietmar@ximian.com>
7034         * Attribute.cs: uncomment some code to make it compile again
7036         * mono.src: removed duplicated Attribute.cs
7038 2001-08-16  Nick Drochak <ndrochak@gol.com>
7040         * Attribute.cs: implemented all methods except GetHashCode()
7042         * common.src: added Attribute.cs so it would compile in
7044 2001-08-10  Dietmar Maurer  <dietmar@ximian.com>
7046         * Object.cs: changed MemberWiseClone to MemberwiseClone, and
7047         marked it as InternalCall
7048         
7049         * common.src: removed UriFormatException.cs because the file is
7050         not there.
7052         * RuntimeTypeHandle.cs: replaced IntrPtr with IntPtr
7053         * Char.cs: replaced byte with char
7055         * Array.cs: make it work with the mono interpreter
7057 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
7059         * Version.cs: Make the class sealed
7061 2001-08-08  Bob Smith  <bob@thestuff.net>
7063         * Random.cs: Many compile fixes.
7064         * Random.cs: I read a bad spec. Class updated to match real spec.
7066 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
7068         * IntPtr.cs: Added and Completed implementation.
7070         * Uri.cs: Add a note.
7072 2001-08-06  Bob Smith  <bob@thestuff.net>
7074         * Random.cs: Compile fix. Needs more testing.
7076 2001-08-06 Garrett Rooney <rooneg@electricjellyfish.net>
7078         * Uri.cs: Initial Implementation.  Parsing needs to be fixed to take 
7079         into account IPv6 addresses, url encoding needs to be implemented, and 
7080         various minor methods need to be written, but this is a decent start.
7082 2001-08-06  Dietmar Maurer  <dietmar@ximian.com>
7084         * common.src: added Object.cs
7086         * mono.src: added ValueType.cs
7088 2001-08-02  Dietmar Maurer  <dietmar@ximian.com>
7090         * Math.cs: replaced libc with libm
7092 2001-08-02  Bob Smith  <bob@thestuff.net>
7094         * Random.cs: Implemented. Needs testing.
7096 2001-08-02  Miguel de Icaza  <miguel@ximian.com>
7098         * IServiceProvider.cs, EventHandler.cs: New files.
7100 2001-08-02  Marcel Narings  <marcel@narings.nl>
7101         
7102         * DateTime.cs: Cleaned up a bit. Added the Add* family members.
7103         Added exceptions. Added IConvertible. Still needs some platform 
7104         dependend stuff, the Parse and ToString members
7106 2001-08-01  Dietmar Maurer  <dietmar@ximian.com>
7108         * Type.cs (GetTypeFromHandle): added placeholder 
7110 2001-07-24  Derek Holden  <dholden@draper.com>
7112         * Boolean.cs: Formatted to code style standard. Added GetTypeCode
7113         which is really an IConvertible defined method.
7115         * Byte.cs: Added a missing Parse method. Put in Parse and ToString
7116         behavior, still need to do the main Parse and ToString.
7118         * Char.cs: Added a bunch of missing ECMA methods. Commented a
7119         specification discrepency. Still didn't any unicode stuff, though
7120         every IsFoo(char c) method has an IsFoo(string, index)
7121         counterpart, added wrappers for those.
7122         
7123         * Convert.cs: Fixed NaN/Inf checking and double/float
7124         rounding. Added ToType for IConvertible classes
7126         * Double.cs: Fixed ECMA min and max values. Added IsInfinity /
7127         IsNaN methods. Changed Inf/NaN internals.
7129         * IConvertible.cs: Added comments for using
7130         Convert.ToType. Changed return values to draft base values.
7132         * Int16.cs: Added a missing Parse statement. Put in behavior for
7133         overloaded ToString and Parse methods.
7135         * Int32.cs: Added a missing Parse statement. Put in behavior for
7136         overloaded ToString and Parse methods.
7138         * Int64.cs: Added a missing Parse statement. Put in behavior for
7139         overloaded ToString and Parse methods.
7140         
7141         * Single.cs: Put in ECMA epsilon value. Added IsInfinity / IsNaN
7142         methods. Changed Inf/NaN internals.
7144         * SByte.cs: Added a missing Parse method. Put in Parse and
7145         ToString behavior, still need to do the main Parse and ToString.
7147         * UInt16.cs: Added a missing Parse statement. Put in behavior for
7148         overloaded ToString and Parse methods.
7150         * UInt32.cs: Added a missing Parse statement. Put in behavior for
7151         overloaded ToString and Parse methods.
7153         * UInt64.cs: Added a missing Parse statement. Put in behavior for
7154         overloaded ToString and Parse methods.
7155         
7156 2001-07-20  Miguel de Icaza  <miguel@ximian.com>
7158         * MulticastDelegate.cs: New File.
7160         * Delegate.cs: New file.
7162         * Enum.cs: New file.
7164         * Attribute.cs: New file.
7166         * Type.cs: New file.
7168         * ParamArrayAttribute.cs: New file.
7170         * RuntimeTypeHandle.cs: New file.
7172         * MulticastDelegate.cs: Added.
7174         * DateTime.cs: Added
7176         * Delegate.cs: Added
7178 2001-07-18  Michael Lambert <michaellambert@email.com>
7180         * AttributeTargets.cs: Add.
7182 2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>
7184         * Char.cs: Made ToUpper and ToLower public methods.
7186         * String.cs: Lots and lots of compile fixes - just need to write
7187         DateTime.cs and this should build completely now.
7189 2001-07-19  Bob Smith (bob@thestuff.net)
7191         * Math.cs: Implemented. 
7193 2001-07-19  Miguel de Icaza  <miguel@ximian.com>
7195         * String.cs: Removed tolower and toupper.
7197         * Char.cs: Moved ToLower and ToUpper from string to here. 
7199         * Convert.cs ToByte (float value), ToByte (double value) Use IsNan
7200         instead of comparing the value to Nan.
7202 2001-07-19  Duco Fijma (duco@lorentz.xs4all.nl)
7204         * TimeSpan.cs: New implementation.
7206 2001-07-18  Scott Sanders <scott@stonecobra.com>
7208          * UriFormatExcpetion.cs: Add - 85% complete
7210 2001-07-17  Jeffrey Stedfast  <fejj@ximian.com>
7212         * String.cs (IndexOf): Slight optimization that allows skipping
7213         over a few chars here and there. This isn't as good as using my
7214         Boyer-Moore implementation, however, Boyer-Moore is only really
7215         good for long strings (I plan on making the code decide which
7216         string search algorithm it should use on-the-fly at some point).
7217         (LastIndexOf): Fix to work correctly.
7218         (BoyerMoore): Took out some unneeded code and fixed an edge-case.
7220 2001-07-16  Michael Lambert <michaellambert@email.com>
7222         * EventArgs.cs: Add.
7223         
7224 2001-07-16  Miguel de Icaza  <miguel@ximian.com>
7226         * Version.cs: Remove my buggy comment.
7228 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
7230         * String.cs: Spelling error of IComparable, object's
7231         MemberwiseClone cannot be overridden.  Made indexer valid for now,
7232         but not sure what to do about this in the long run.  Seems to be a
7233         couple bugs in csc.exe having to do with multiple pointer defs in
7234         the same statement, and returning subclasses of a class in the
7235         return type of an interface function implementation.  Also moved
7236         operators inside of class definition.
7238 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
7240         * String.cs: A tom of compile fixes, although we still don't compile.
7242         * IConvertible.cs: The To*Int64() methods return *Int64's, not
7243         *Int32's. Also, it's ToDateTime() not ToDateType().
7245 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
7247         * String.cs: Apparently I needed to at least write stubs for the
7248         IConvertible interfaces. *sigh*
7250 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
7252         * String.cs: Many logic/other fixes and better usage of the
7253         features of c#
7254         (tolower): New convenience method to help condense code.
7255         (toupper): Another new helper method.
7256         (Compare): Use the new helper methods.
7257         (ToLower): use tolower().
7258         (ToUpper): use toupper().
7259         (LastIndexOfAny): Implemented.
7260         (BoyerMoore): New private helper method that implements a modified
7261         version of the Boyer-Moore search algorithm. Noothing uses it yet
7262         as I'm not 100% sure it even works properly with unicode strings
7263         not to mention it uses a huge lookup-table :-)
7264         (Split): Implemented.
7266 2001-07-13  Jeffrey Stedfast  <fejj@ximian.com>
7268         * TODO: Added things that need to be finished in System.String
7270         * String.cs: New source file implementing the System.String class
7272 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
7274         * TypeCode.cs: UInt64 was UInt63.
7276         * Object.cs: Fixed a numer of compiler errors.
7278         * Array.cs: Fixed some compiler errors.
7280         * IComparable.cs: Fixed some compiler errors.
7282         * ICloneable.cs: Fixed some compiler errors.
7284         * IConvertible.cs: Fixed some compiler errors.
7286         * IFormattable.cs: Fixed a compiler error.
7288         * IFormatProvider.cs: Fixed a compiler error.
7290         * IDisposable.cs: Fixed a compiler error.
7292         * IFormatProvider.cs: Added public accesability type to
7293         IFormatProvider.
7295         * Exception.cs: Added a using statement to remove compile time
7296         error.
7298         * ApplicationException.cs: Removed a ; that was causing a compiler
7299         error.
7301         * Int16.cs: Fixed some compiler errors.
7303         * Int32.cs: Fixed some compiler errors.
7305         * Int64.cs: Fixed some compiler errors.
7307         * SystemException.cs: Fixed a compiler error.
7309         * UInt16.cs: Fixed some compiler errors.
7311         * UInt32.cs: Fixed some compiler errors.
7313         * UInt64.cs: Fixed some compiler errors.
7315         * Void.cs: Fixed a compiler error.      
7317 2001-07-12  Joe Shaw  <joe@ximian.com>
7319         * Array.cs: Fix backwards parameters to Array.SetValue()
7320         throughout.
7321         (BinarySearch): Fix backward logic surrounding whether to call
7322         value.CompareTo or comparer.Compare.
7323         (LastIndexOf): Stop being stupid. I am so not used to strongly
7324         bounded arrays...
7325         (Sort): Implement a quicksort.
7327 2001-07-11  Joe Shaw  <joe@ximian.com>
7329         * Array.cs: Change all instances of trying to access an array with
7330         the index operator to calls to GetValue and SetValue, and add
7331         InternalGetValue and InternalSetValue which are internal calls
7332         into the runtime. Ew.
7334 2001-07-10  Joe Shaw  <joe@ximian.com>
7336         * Array.cs: Implemented everything but Sort().
7338 2001-07-09  Jeffrey Stedfast  <fejj@ximian.com>
7340         * Object.cs (Object::Equals): Object variable name is `o'.
7342 2001-07-06  Joe Shaw  <joe@ximian.com>
7344         * Int16.cs, Int32.cs, Int64.cs, UInt16.cs, UInt32.cs, UInt64.cs:
7345         Implement the IComparable and IFormattable interfaces. Fix a typo
7346         (publig -> public)
7348         * ApplicationException.cs, ArgumentException.cs,
7349         ArgumentNullException.cs, ArgumentOutOfRangeException.cs,
7350         ArtithmeticException.cs, ArrayTypeMismatchException.cs,
7351         DivideByZeroException.cs, DuplicateWaitObjectException.cs,
7352         ExecutionEngineException.cs, FormatException.cs,
7353         IndexOutOfRangeException.cs, InvalidCastException.cs,
7354         InvalidOperationException.cs, InvalidProgramException.cs,
7355         MulticateNotSupportedException.cs, NotFiniteNumberException.cs,
7356         NotSupportedException.cs, NullReferenceException.cs,
7357         OutOfMemoryException.cs, OverflowException.cs, RankException.cs,
7358         StackOverflowException.cs, SystemException.cs,
7359         TypeInitializationException.cs: Added all of the exceptions
7360         specified by the language spec. Mmmm... bloat.
7362 2001-07-06  Miguel de Icaza  <miguel@ximian.com>
7364         * Int64.cs, Int32.cs: Put.  Parsing and ToString missing.  Should
7365         do a generic routine all of these guys use.
7367         * Int16.cs: identified missing methods.
7369         * UInt16.cs, UInt32.cs, UInt64.cs: Add.
7371 2001-06-26  Miguel de Icaza  <miguel@ximian.com>
7373         * TypeCode.cs: Implement
7375         * Void.cs: Implement.
7377         * TODO: Add file to keep track of pending tasks.
7379         * Object.cs, ValueType.cs: Implement.