2009-11-09 Chris Toshok <toshok@ximian.com>
[mono-project.git] / mcs / class / corlib / System / ChangeLog
blob35f62aeeef881aef5fde4857e37ecd8950bf48f6
1 2009-11-09  Chris Toshok  <toshok@ximian.com>
3         * Console.cs (OpenStandardError,OpenStandardOut,OpenStandardInput):
4         for NET_2_1 && !MONOTOUCH, disable these streams unless a debugger
5         is attached, or unless the MOONLIGHT_ENABLE_CONSOLE environment
6         variable is defined.
8         reviewed: alan
9         
10 2009-10-30  Sebastien Pouliot  <sebastien@ximian.com>
12         * MonoType.cs: Don't pass null value to icalls 
13         GetCorrespondingInflated[Constructor|Method]
14         [Backport r145099]
16 2009-10-28  Lluis Sanchez Gual  <lluis@novell.com>
18         * MarshalByRefObject.cs: In InitializeLifetimeService, if a lease
19         exists for the object return it, instead of always creating
20         a new one. Fixes bug #544357.
22 2009-10-27  Sebastien Pouliot  <sebastien@ximian.com>
24         * String.cs: Remove unused (and unneeded) internal call defs.
25         Reduce duplication (and fix test) for Concat (object,object).
26         Avoid allocating zero-length strings in the cases where the
27         FX does not do so.
28         [Backport r144921]
30 2009-10-14  Jonathan Pryor  <jpryor@novell.com>
32         * AppDomain.cs: Re-add BaseDirectory in the MonoTouch profile.
34 2009-10-14  Sebastien Pouliot  <sebastien@ximian.com>
36         * Exception.cs: Use StackFrame.GetSecureFileName to display (or 
37         not) the file names (and paths). Don't serialize Source for
38         Moonlight.
39         * ValueType.cs: Change InternalEquals (icall) visibility to 
40         private since it is not used elsewhere outside the type.
41         [Backport r144104]
43 2009-10-08  Sebastien Pouliot  <sebastien@ximian.com>
45         * AppDomain.cs: Remove NET_2_1 specific DefineDynamicAssembly(
46         AssemblyName,AssemblyBuilderAccess,bool) since it is not part
47         of SL. Provide a ToString implementation similar to Silverlight
48         for Moonlight (and without directly using an icall)
49         [Backport r143799]
51 2009-10-07  Sebastien Pouliot  <sebastien@ximian.com>
53         * String.cs: Remove unsafe code duplication in ToCharArray.
54         Define out the unused InternalStrcpy icalls
55         * StringComparer.cs: Seal internal/private inner classes.
56         [Backport r143651]
58 2009-10-06  Sebastien Pouliot  <sebastien@ximian.com>
60         * Decimal.cs: Use Compare method instead of directly using the
61         decimalCompare internal call.
62         [Backport r143554]
64 2009-10-06  Sebastien Pouliot  <sebastien@ximian.com> 
66         * Enum.cs: Add an internal Value property as a single point to 
67         call the internal call get_value.
68         [Backport r143549]
70 2009-10-06  Sebastien Pouliot  <sebastien@ximian.com>
72         * String.cs: Remove normalization methods for Moonlight
73         [Backport r143533]
75 2009-10-06  Jonathan Chambers  <joncham@gmail.com>
77         * String.cs (Contains): Use CompareOptions.Ordinal. Fixes bug
78         #535425.
80 2009-09-28  Atsushi Enomoto  <atsushi@ximian.com>
82         * Console.cs : do not use codepage 28591. It breaks build on
83           Japanese Windows.
85 2009-09-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
87         * TermInfoDriver.cs: avoid segv if the pointer is not properly
88         initialized.
90 2009-09-24  Zoltan Varga  <vargaz@gmail.com>
92         * Type.cs: Initialize the Missing field.
94 2009-09-22  Sebastien Pouliot  <sebastien@ximian.com>
96         * Environment.cs: Remove imperative CAS environment
97         permission checks under NET_2_1
99 2009-09-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
101         * Console.cs: mark methods/properties that only work on windows.
102         Fixes bug #540593.
104 2009-09-21  Sebastien Pouliot  <sebastien@ximian.com>
106         * AppDomain.cs: Remove use of IPrincipal, Evidence and
107         PermissionSet types for NET_2_1
109 2009-09-20  Sebastien Pouliot  <sebastien@ximian.com>
111         * Activator.cs: Remove COM related method for NET_2_1
112         * AppDomain.cs: Remove extra methods and properties for NET_2_1
113         * AppDomainSetup.cs: Remove some properties for NET_2_1
115 2009-09-20  Sebastien Pouliot  <sebastien@ximian.com> 
117         * AppDomain.cs, Environment.cs: Remove imperative CAS file IO
118         permission checks under NET_2_1
120 2009-09-20  Sebastien Pouliot  <sebastien@ximian.com>
122         * AppDomainManager.cs: Remove NET_2_1 defines
123         * AppDomainManager_2_1.cs: New. NET_2_1 specific implementation
125 2009-09-04  Miguel de Icaza  <miguel@novell.com>
127         * TermInfoDriver.cs: Handle a few more key combinations.
129 2009-08-14  Miguel de Icaza  <miguel@novell.com>
131         * TermInfoDriver.cs (GetCursorPosition): Before we probe the
132         terminal for the cursor location, read all the pending console
133         input into our internal buffer and then send the cursor location
134         request.
136 2009-08-26  Sebastien Pouliot  <sebastien@ximian.com>
138         * TimeSpan.cs: Fix parsing when seconds are not specified.
140 2009-08-14  Marek Safar  <marek.safar@gmail.com>
142         * Type.cs: Made IsClass work under compiler context.
144 2009-08-12  Zoltan Varga  <vargaz@gmail.com>
146         * ResolveEventArgs.cs: Add net 4.0 RequestingAssembly property.
148 2009-08-11  Jérémie Laval  <jeremie.laval@gmail.com>
150         * Funcs.cs:
151         * Action.cs:
152         * AggregateException.cs: Add BOOTSTRAP_NET_4_0.
154 2009-08-07  Marek Safar  <marek.safar@gmail.com>
156         * AppDomain.cs: IsHomogenous always returns true for now.
158 2009-08-06 Rodrigo Kumpera  <rkumpera@novell.com>
160         * Environment.cs: Bump corlib version.
162 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
164         * Environment.cs: Bump corlib version.
166 2009-08-03  Zoltan Varga  <vargaz@gmail.com>
168         * Environment.cs: Bump corlib version.
170 2009-07-30  Marek Safar  <marek.safar@gmail.com>
172         * AppDomain.cs: Implemented 2.0 CreateDomain.
174 2009-07-28 Rodrigo Kumpera  <rkumpera@novell.com>
176         Type.cs (MakeArrayType): Handle one-dym multidimensional array
177         created with Type::MakeArrayType (1).
179 2009-07-28  Rodrigo Kumpera  <rkumpera@novell.com>
181         * Type.cs (FindMembers): Fix the ordering of returned members
182         to method, ctor, property, event, field and nested type.
184 2009-07-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
186         * Array.cs: empty arrays just return -1 in LastIndexOf().
188 2009-07-27  Miguel de Icaza  <miguel@novell.com>
190         * Value types implementing IConvertible.ToType now throw an
191         ArgumentNullException if they are passed a null as the
192         "targetType" argument.
194         This code can not be put directly in the Convert.ToType method, as
195         this method is used by Convert.ToType (object o, TypeCode tc)
196         which uses null as a target to throw a different kind of error
197         (InvalidCastException).
199         Fixes a few more bugs in the Silverlight BCL test suite.
201         Additionally, the parameter type has been renamed.
203 2009-07-26  Miguel de Icaza  <miguel@novell.com>
205         * Type.cs: (GetMember) call directly the worker method, instead of
206         calling through an intermediary.
208         (GetMember, full): throw if the name is null.
210 2009-07-19  Robert Jordan  <robertj@gmx.net>
212         * __ComObject.cs: Factor out Initialize method and expose it to
213         ComInteropProxy. Fixes bug #520437.
215 2009-07-14  Rodrigo Kumpera  <rkumpera@novell.com>
217         * Attribute.cs (GetCustomAttributes): Pass typeof(Attribute)
218         to GetCustomAttributes to match MS.
220         * MonoCustomAttrs.cs (GetCustomAttributesBase): Do proper
221         checking of which types are handled by the runtime.
223         * MonoCustomAttrs.cs (IsDefined): Same.
225         Fixes #521885.
227 2009-07-14  Zoltan Varga  <vargaz@gmail.com>
229         * Environment.cs: Bump corlib version.
231 2009-07-07  Rodrigo Kumpera  <rkumpera@novell.com>
233         * Type.cs (IsUserType): Only TypeDelegator and types
234         outside of corlib are unhandled usertypes.
236 2009-07-02  Marek Safar  <marek.safar@gmail.com>
238         * Type.cs, AppDomain.cs: 4.0 bits.
240 2009-06-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
242         * DateTime.cs: if the DateTimeOffset is out of bounds, let Parse
243         report the error. Fix stupid harmless typo.
244         * DateTimeOffset.cs: report error if the UTC date/time is out of
245         bounds.
247 2009-06-25  Miguel de Icaza  <miguel@novell.com>
249         * Array.cs: IList.this needs to throw IndexOutOfRangeException
250         when the index is invalid, not ArgumentOutOfRangeException.
252         * Int32.cs: Do not crash if the FormatProvider returns a null
253         value on the call to GetFormat (Type).
255         Validate the NumberStyles, passes Int/Int32Parse2.exe
257         Fix regression introduced in 2005, we need to throw
258         ArgumentNullException on Parse.
260 2009-06-25  Miguel de Icaza  <miguel@novell.com>
262         * Int32.cs: Fix regression introduced in 2005, we need to throw
263         ArgumentNullException on Parse.
265 2009-06-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
267         * DateTime.cs: ignore MinValue to avoid DateTimeOffset ctor throwing
268         when adjusting for TZ.
270 2009-06-22  Miguel de Icaza  <miguel@novell.com>
272         * String.cs: In Silverlight the whitespace characters 0x202f and
273         0x205f are considered for Trim and Split purposes. 
275 2009-06-21  Marek Safar  <marek.safar@gmail.com>
277         * Tuples.cs: Add Equals, GetHashCode.
279 2009-06-21  Zoltan Varga  <vargaz@gmail.com>
281         * IntPtr.cs (.ctor): Disable the check in the long ctor until we
282         can figure out how to do it properly.
284 2009-06-20  Zoltan Varga  <vargaz@gmail.com>
286         * IntPtr.cs (.ctor): Allow long values whose 31th bit is set.
288 2009-06-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
290         * DateTime.cs: quick fix for the 1.x build.
292 2009-06-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
294         * AppDomainSetup.cs: update attribute.
295         * TermInfoDriver.cs: ensure we are initialized in CheckWindowDimensions().
296         * DateTimeOffset.cs: Implement Parse().
297         * DateTime.cs: add 'zzz' to the list of default time formats. Return a
298         DateTimeOffset from _DoParse. Fixed the offset minutes when the
299         timezone is specified as a negative one.
300         * Console.cs: updates for MoveBufferArea().
301         * AppDomainManager.cs: implement EntryAssembly.
302         * AppDomain.cs: update attribute.
304 2009-06-15  Atsushi Enomoto  <atsushi@ximian.com>
306         * Environment.cs : bump corlib version.
308 2009-06-12  Bill Holmes  <billholmes54@gmail.com>
310         * Variant.cs (GetValue):  Changing the bool case to use the short value.  
311           This is to avoid junk in the high word.
313         Contributed under MIT/X11 license.
315 2009-06-10  Marek Safar  <marek.safar@gmail.com>
317         * Predicate.cs, Action.cs, Funcs.cs, Comparison.cs, IComparable.cs,
318         Converter.cs, EventHandler.cs: Add type variance.
319         
320         * InvalidTimeZoneException.cs,
321         TimeZoneNotFoundException.cs: New file.
323 2009-05-27  Zoltan Varga  <vargaz@gmail.com>
325         * AppDomain.cs (DoAssemblyResolve): Fix recursion detection. Fixes #507003.
327 2009-05-26  Mark Probst  <mark.probst@gmail.com>
329         * Thread.cs: Don't set the execution context when creating a
330         thread because the _ec member is thread static and we set the
331         wrong one.  It's now set by the runtime.  We just provide the
332         correct one.
334         * Environment.cs: Bump corlib version.
336 2009-05-22  Zoltan Varga  <vargaz@gmail.com>
338         * Tuple.cs Tuples.cs: New files.
340         * Lazy.cs LazyExecutionMode.cs Funcs.cs: New files.
342 2009-05-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
344         * Type.cs: (GetInterfaceMap) 'this' can't be an interface itself.
345         Fixed bug #503728.
347 2009-05-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
349         * TermInfoDriver.cs: replace Peek with DataAvailable.
351 2009-05-02  Sebastien Pouliot  <sebastien@ximian.com>
353         * Console.cs: Remove Windows-specific p/invokes and SSC code
354         from the NET_2_1 build.
356 2009-05-01  Sebastien Pouliot  <sebastien@ximian.com>
358         * AppDomainManager.cs: Fix base class for NET_2_1 and implement
359         CheckSecuritySettings (added in 2.0SP and part of SL API)
361 2009-04-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
363         * Enum.cs: return the value as an enum of the right type.
365 2009-04-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
367         * Enum.cs: avoid exceptions from ToObject and use Try* instead.
369 2009-04-25  Miguel de Icaza  <miguel@novell.com>
371         * TermInfoDriver.cs: Use the new StreamReader.DataAvailable to
372         load all the data that was added into the `stdin' stream when we
373         did the `Read'.
375 2009-04-24  Sebastien Pouliot  <sebastien@ximian.com>
377         * Environment.cs: #ifdef out code that use the registry for the 
378         NET_2_1 profile and some other properties (2) that added
379         [SecuritySafeCritical] methods to audit inside Moonlight.
381 2009-04-21  Mark Probst  <mark.probst@gmail.com>
383         * Environment.cs: Bump corlib version.
385 2009-04-21  Miguel de Icaza  <miguel@novell.com>
387         * TermInfoDriver.cs: Prevent race condition if two threads try to
388         initialize the Console at the same time. 
390         What happens is that inited is set, and elsewhere we try to
391         dereference native_terminal_size before it is set.
393         * Reduce code size by using a table instead of manually making a
394         few hundred calls.
395         
396 2009-04-20  Miguel de Icaza  <miguel@novell.com>
398         * Enum.cs (MonoEnumInfo): Compare bytes, shorts, ints and longs as
399         unsigned values as specified and to fix 371559, from the bug:
401                 So the actual difference is that MSFT's Enum.GetValues
402                 orders the members as unsigned even when the underlying
403                 type is int.  See the following.  Perhaps that's what's
404                 being implied by "binary values" in that Enum.GetValues
405                 MSDN quote above.
407 2009-04-18  Mark Probst  <mark.probst@gmail.com>
409         * NumberFormatter.cs: Keep the current thread's number formatter
410         as a ThreadStatic member.
412 2009-04-18  Mark Probst  <mark.probst@gmail.com>
414         * Environment.cs: Bump corlib version.
416 2009-04-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
418         * GCNotificationStatus.cs: new enum.
420 2009-04-10  Zoltan Varga  <vargaz@gmail.com>
422         * Array.cs: Make some of the InternalArray methods non-generic to cut down
423         on the number of instantiations. Add implementation for 
424         ICollection:IsReadOnly.
426 2009-03-26  Jb Evain  <jbevain@novell.com>
428         * Delegate.cs (CreateDelegate): Support for delegates
429         on static methods closed on a null target.
431 2009-03-26  Zoltan Varga  <vargaz@gmail.com>
433         * Environment.cs: Bump corlib version.
435 2009-03-25  Sebastien Pouliot  <sebastien@ximian.com>
437         * Delegate.cs: Add new parameter to CreateDelegate_internal (icall)
438         * Environment.cs: Bump mono_corlib_version to 73
440 2009-03-25  Jb Evain  <jbevain@novell.com>
442         * Delegate.cs (CreateDelegate): fix checks to deal with
443         valuetypes -> obj conversions for arguments, and avoid
444         issues with such unallowed conversion for return types.
446 2009-03-23  Zoltan Varga  <vargaz@gmail.com>
448         * String.cs (LastIndexOf): Handle empty strings correctly. Fixes #486234.
450 2009-03-18  Zoltan Varga  <vargaz@gmail.com>
452         * Type.cs (GetGenericTypeDefinition): Make this throw an exception to be
453         consistent with MS.NET. Move the real implementation to MonoType.
455 2009-03-18  Marek Safar  <marek.safar@gmail.com>
457         * Decimal.cs: Initialize all fields.
459 2009-03-16 Gonzalo Paniagua Javier <gonzalo@novell.com>
461         * ConsoleDriver.cs:
462         * TermInfoDriver.cs: handle Ctrl-D (or similar) in ReadLine.
463         Fixes bug #483950.
465         * ControlCharacters.cs: index to the control characters list.
466         * Environment.cs: bumped corlib version.
468 2009-03-14  Miguel de Icaza  <miguel@novell.com>
470         * Convert.cs (ToType): Control whether this internal function will
471         call an IConvertible.ToType method or not.  
473         Classes and structs implementing IConvertible in mscorlib (the
474         only callers that can access Convert.ToType) must pass false to
475         avoid a infinite recursion problem and callers from the public
476         Convert API must call it with true.
478         This fixes the regression reported in #485377 that was introduced
479         by the fix for #481687.
481         * Int16.cs, UInt64.cs, Double.cs, Enum.cs, SByte.cs, UInt16.cs,
482         Byte.cs, Decimal.cs, Int32.cs, String.cs, Int64.cs, Char.cs,
483         Boolean.cs, Single.cs, UInt32.cs: Update the call sites.
485 2009-03-07  Gert Driesen  <drieseng@users.sourceforge.net>
487         * Convert.cs: Do not throw InvalidCastException if
488         IConvertible.ToType returns null.
490 2009-03-06  Andrés G. Aragoneses  <aaragoneses@novell.com>
492         * Convert.cs: Correct typo in exception message.
494 2009-03-06  Miguel de Icaza  <miguel@novell.com>
496         * Convert.cs: Apply patch from Tom Hindle that uses
497         IConvertible.ToType if there are no other possible conversions
498         defined. 
500         Fixes: #481687 
502 2009-03-06  Rodrigo Kumpera  <rkumpera@novell.com>
504         * MonoType.cs (MonoTypeInfo): Add default_ctor field.
506         * MonoType.cs: Add GetDefaultConstructor that caches using
507         type_info.default_ctor.
509         * MonoType.cs (FullName): Protects against type_info been replaced
510         under the hood.
512         * Activator.cs (CreateInstance): If the type is a MonoType resolve the
513         default constructor using the new method from MonoType.
515         Improves Activator::CreateInstance performance by at least 30%, reduces object churn
516         and domain lock contention.
518 2009-03-03  Rodrigo Kumpera  <rkumpera@novell.com>
520         * Guid.cs (BaseToString): Reduce allocations.
522 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
524         * Environment.cs: Bump corlib version.
526 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
528         * Enum.cs (IsDefined): If the enum underlying type is int32, use
529         the generic version, which doesn't box every element of the array.
531 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
533         * Enum.cs (GetName): If the enum underlying type is int32, use
534         the generic version, which doesn't box every element of the array.
536 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
538         * Enum.cs (MonoEnumInfo::GetInfo): Share the boxed form of the
539         MonoEnumInfo between both caches.
541 2009-02-28  Zoltan Varga  <vargaz@gmail.com>
543         * Enum.cs (FindName): Use a hash table for looking up names instead of
544         a linear search for enums with a lot of values.
546 2009-02-27  Rodrigo Kumpera  <rkumpera@novell.com>
548         * UInt16.cs (CompareTo/short): Make it return the
549         same values as the /object version.
551         * Enum.cs (CompareTo): Use new compare_value_to icall to do the comparison.
552         This avoids two allocations and reduce the number of trips to unmanaged land
553         by one.
555         The performance improvement is up to 3.5x with the bonus of reducing the generated
556         garbage.
558 2009-02-26  Marek Safar  <marek.safar@gmail.com>
560         * Nullable.cs: Inline GetValueOrDefault.
562 2009-02-26  Zoltan Varga  <vargaz@gmail.com>
564         * String.cs (FormatHelper): If all the arguments are strings, compute an
565         initial length for the stringbuilder to avoid reallocations.
567         * MonoType.cs (FullName): Cache the result of this in a field, as
568         computing it is expensive.
570         * Environment.cs: Bump corlib version.
571         
572 2009-02-25  Zoltan Varga  <vargaz@gmail.com>
574         * Enum.cs (GetInfo): Add a global cache in addition to the thread-local
575         caches to accomodate short living threads like threadpool threads.
577 2009-02-23  Zoltan Varga  <vargaz@gmail.com>
579         * Type.cs: Add IsUserType internal property.
581 2009-02-21  Jb Evain  <jbevain@novell.com>
583         * MonoType.cs (InvokeMember): don't pass a null args to
584         Binder.BindToMethod. Fix for #471275.
586 2009-02-12  Robert Jordan  <robertj@gmx.net>
588         * Exception.cs: Rename remote_stack_trace for MS.NET
589         compatibility. Fixes #425512.
591 2009-02-12  Lluis Sanchez Gual  <lluis@novell.com>
593         * MarshalByRefObject.cs: Implemented MemberwiseClone(bool).
595 2009-02-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
597         * AppDomain.cs: this fixes the remoting tests.
598         Zoltan found out that there was a domain improperly using shadow
599         copy.
601 2009-02-04 Gonzalo Paniagua Javier <gonzalo@novell.com>
603         * DateTime.cs: check for null and empty strings before anything else
604         in CoreParse.
606 2009-01-27  Zoltan Varga  <vargaz@gmail.com>
608         * Type.cs (GetHashCode): Work on UnderlyingSystemType. Fixes #467229.
610 2009-01-24  Zoltan Varga  <vargaz@gmail.com>
612         * Variant.cs ApplicationIdentity.cs ActivationContext.cs Environment.cs
613         AppDomain.cs: Fix warnings.
615 2009-01-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
617         * AppDomain.cs: LoadAssembly() returns null instead of throwing now.
618         Add new LoadSatellite method.
620 2009-01-20  Mark Probst  <mark.probst@gmail.com>
622         * Exception.cs: Added a comment explaining the use of trace_ips.
624 2009-01-12  Bill Holmes  <billholmes54@gmail.com>
626         * Variant.cs (GetValue):  Handling the NULL IDispatch 
627           and IUnknown case.
629         Contributed under MIT/X11 license.
631 2009-01-09  Miguel de Icaza  <miguel@novell.com>
633         * DateTime.cs: Implement TryParse in a way that will not depend on
634         the try/catch statement.   The try/catch statement is still there
635         *just in case*, I might have missed some codepaths.
637 2009-01-06  Atsushi Enomoto  <atsushi@ximian.com>
639         * DateTime.cs : when ".FF..." is specified, allow milliseconds-less
640           time. Fix #444103.
642 2008-12-19  Bill Holmes  <billholmes54@gmail.com>
644         * Environment.cs (GetEnvironmentVariable) :  Avoiding an nre if 
645           the variable is not set.
647         * Environment.cs (SetEnvironmentVariable) : Adding a call to 
648           internalBroadcastSettingChange to notify Windows that an environment 
649           variable has changed.
651         Contributed under MIT/X11 license.
653 2008-12-18  Jb Evain  <jbevain@novell.com>
655         * String.cs: the Compare methods that were specific to SL2 are now
656         also in .net 2/3.5 sp1.
658 2008-12-10  Bill Holmes  <billholmes54@gmail.com>
660         * Variant.cs (SetValue):   Changing the behavior for COM object in 
661           VARIANTs to match MS.  Also adding support for BStrWrapper, 
662           UnknownWrapper, and DispatchWrapper.
664         Contributed under MIT/X11 license.
666 2008-11-28  Miguel De Icaza  <miguel@novell.com>
668         * TermInfoDriver.cs: Also register a mapping to make verase be the
669         backspace key.  Funny thing: verase was fetched from the termios,
670         but it was *never* actually used in this file.
672         VSUSP and VINTR are likewise ignored.   Must ponder this.
674         This makes the backspace key in MacOS work on interactive
675         applications.
676         
677 2008-11-15  Kornél Pál  <kornelpal@gmail.com>
679         * Convert.cs: Removed useless check from ToChar (ushort).
681 2008-11-06  Bill Holmes  <billholmes54@gmail.com>
683         * Type.cs (FindMembers):  Changing the instantiated type of the 
684           returned MemberInfo array to match the MemberTypes flag
685           passed in argument 1.
687         Contributed under MIT/X11 license.
689 Mon Nov 3 16:39:37 CET 2008 Paolo Molaro <lupus@ximian.com>
691         * Array.cs: in the IList set_Item, ensure the array
692         element is set using the proper type checks (bug #440819).
694 Mon Oct 13 16:40:56 CEST 2008 Paolo Molaro <lupus@ximian.com>
696         * Environment.cs, OperatingSystem.cs: complete support for
697         PlatformID (bug #433108).
699 2008-10-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
701         * AppDomain.cs: (Load(AssemblyName)) Use the CodeBase after the Name
702         when both are provided.
703         Fixes bug #322228.
705 2008-10-08  Bill Holmes  <billholmes54@gmail.com>
707         * Variant.cs : Adding the BRECORD field to ensure the right size on
708           a 64-bit OS.  32-bit 16 bytes, 32-bit 24 bytes.
710         Contributed under MIT/X11 license.
712 2008-10-08  Bill Holmes  <billholmes54@gmail.com>
714         * Variant.cs (SetValue) : Adding code to handle enums.
716         Contributed under MIT/X11 license.
718 2008-10-08  Bill Holmes  <billholmes54@gmail.com>
720         * Variant.cs : Cleaning up some tab formatting problems.
722         Contributed under MIT/X11 license.
724 2008-10-08  Zoltan Varga  <vargaz@gmail.com>
726         * PlatformID.cs: Define Xbox/MacOSX on the 2.0 profile too, since it
727         is part of NET 3.5 SP1.
729 2008-10-07  Marek Habersack  <mhabersack@novell.com>
731         * Math.cs: implemented the away from zero rounding for the Round
732         (double, int, MidpointRounding) overload.
734 2008-10-06  Zoltan Varga  <vargaz@gmail.com>
736         * Activator.cs (CreateInstance): Don't return the return value of the
737         ctor.Invoke (object, ...) overload since it is null, return 'newOb' instead.
739 Mon Oct 6 15:12:25 CEST 2008 Paolo Molaro <lupus@ximian.com>
741         * Array.cs: better message when keys cannot be compared
742         when sorting (bug #368455).
744 2008-09-29  Rodrigo Kumpera  <rkumpera@novell.com>
746         * Type.cs (MakeGenericType): Only use UnderlyingSystemType for user types.
747         This must exclude TypeBuilder and EnumBuilder. Fixes #430508.
749 2008-09-28  Juraj Skripsky  <js@hotfeet.ch>
751         * String.cs (ReplaceUnchecked): Avoid any unnecessary work and 
752         string allocations by returning early when no oldValue was found.
754 2008-09-24  Marek Habersack  <mhabersack@novell.com>
756         * Double.cs: check whether decimal_separator, group_separator and
757         currency_symbol strings aren't empty before trying to index them
758         in Parse ().
760 2008-09-24  Jb Evain  <jbevain@novell.com>
762         * AppDomain.cs (CreateDomain): call the domain initializer in
763         the newly created AppDomain. Fixes #429545.
765 2008-09-24  Jb Evain  <jbevain@novell.com>
767         * AppDomain.cs: implement the CreateDomain overload which
768         takes an AppDomain initializer. Fixes #429545.
770 2008-09-17  Robert Jordan  <robertj@gmx.net>
772         * DelegateSerializationHolder.cs: Starting with .NET 2.0, delegates
773         of non-public methods are allowed to be serialized. Fixes #425345.
775 2008-09-15  Andy Hume  <andyhume32@yahoo.co.uk>
777         * DateTimeOffset.cs: DateTimeOffset currently has no
778         deserialization constructor, thus deserialization
779         fails ("SerializationException: The constructor to deserialize an
780         object of type System.DateTimeOffset was not found.")
782         Patch attached, implements GetObjectData and that constructor.
783         Also includes tests, which include round-tripping to/from MSFT.
785 2008-09-14  Zoltan Varga  <vargaz@gmail.com>
787         * ConsoleDriver.cs: Remove obsolete GetTtySize icall.
789 2008-09-09  Marek Safar  <marek.safar@gmail.com>
791         * Convert.cs, Decimal.cs: Fixed float/double to decimal range check.
793 2008-09-07  Miguel de Icaza  <miguel@novell.com>
795         * TermInfoDriver.cs: Add support for updating the size of the
796         terminal when it changes.   
798 2008-08-27  Miguel de Icaza  <miguel@novell.com>
800         * TermInfoDriver.cs: Adds support for the Insert and Delete keys
801         on the keyboard.   
803 2008-08-26  Miguel de Icaza  <miguel@novell.com>
805         * New console features are used by gmcs.exe, but since we only
806         build gmcs.exe with the bootstrap corlib, we need to ensure all
807         the new stuff is included in BOOTSTRAP_NET_2_0
809 2008-08-26  Robert Jordan  <robertj@gmx.net>
811         * AppDomain.cs (get_Evidence): Fix endless recursion exposed
812         by the test case of bug #420197.
814 2008-08-24  Miguel de Icaza  <miguel@novell.com>
816         * TermInfoDriver.cs (GetKeyFromBuffer): Add support for reporting
817         Alt-LETTER sequences.   They were ignored previously.
819 2008-08-22  Sebastien Pouliot  <sebastien@ximian.com>
821         * AppDomainSetup.cs: Remove IAppDomainSetup for SL2. This helps
822         the tuner since the methods are then defined correctly (wrt to the
823         implicit implementation of the interfaces)/
825 2008-08-21  Sebastien Pouliot  <sebastien@ximian.com> 
827         * Nullable.cs: Add two ComVisible(false) for SL2 profile.
828         * PlatformID.cs: Add Xbox and MacOX for SL2 profile.
829         * WeakReference.cs: Add default, protected, ctor for SL2.
831 2008-08-20  Miguel de Icaza  <miguel@novell.com>
833         * ConsoleDriver.cs: TtySetup now takes an extra argument: the
834         keypadXmit string.
836 2008-08-16  Gert Driesen  <drieseng@users.sourceforge.net>
838         * Exception.cs: Fixed value of HResult to match MS. Added support for
839         (de)serializing Data. Use deserialized ClassName, if available, to
840         when name of type is used.
842 2008-08-10  Gert Driesen  <drieseng@users.sourceforge.net>
844         * IServiceProvider.cs: Added ComVisible attribute (1.0 only).
845         * String.cs: Fixed argument names to match MS.
847 2008-08-10  Gert Driesen  <drieseng@users.sourceforge.net>
849         * Boolean.cs
850         * Byte.cs
851         * Char.cs
852         * DateTime.cs
853         * DBNull.cs
854         * Decimal.cs
855         * Double.cs
856         * Enum.cs
857         * Int16.cs
858         * Int32.cs
859         * Int64.cs
860         * Single.cs
861         * String.cs
862         * UInt16.cs
863         * UInt32.cs
864         * UInt64.cs: Added missing CLSCompliant attributes for 1.0 profile.
866 2008-08-07  Atsushi Enomoto  <atsushi@ximian.com>
868         * DateTime.cs : zzzz format allows non-fixed length of number, even
869           in exact parsing mode. Fixed bug #377042.
871 2008-08-05  Jb Evain  <jbevain@novell.com>
873         * String.cs: add new NET_2_1 Compare methods.
875 2008-08-03  Miguel de Icaza  <miguel@novell.com>
877         * ConsoleDriver.cs: If the terminal is dumb, do not activate the
878         full terminal support.
880 2008-08-02  Marek Safar  <marek.safar@gmail.com>
882         * Type.cs: Removed _MemberInfo from base classes list.
883         
884 2008-07-28  Marek Safar  <marek.safar@gmail.com>
886         * KnownTerminals.cs: Don't initialize rarely used static data.
888 2008-07-24  Zoltan Varga  <vargaz@gmail.com>
890         * Delegate.cs: Move the rarely used fields to a separate object, add
891         'method_code' field.
893         * Environment.cs: Bump corlib version.
895         * ConsoleDriver.cs: Remove unused Suspend icall.
897 2008-07-21  Marek Safar  <marek.safar@gmail.com>
899         * AppDomain.cs (Load): Check for 0-length assembly name.
901 2008-07-21  Rodrigo Kumpera  <rkumpera@novell.com>
903         * Enum.cs (GetHashCode): Use new icall get_hashcode to
904         avoid allocating a boxed version of the enum basetype.
906 2008-07-17  Marek Safar  <marek.safar@gmail.com>
908         * String.cs: reverted GetHashCode changes.
910 2008-07-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
912         * Char.cs: Remove obsolete lamespecs (it implements IConvertible, small formatting)
914 2008-07-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
916         * Char.cs: Optimize some Is* checks
918 2008-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
920         * DateTimeOffset.cs: Fix parameter name
922 2008-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
924         * DateTimeOffset.cs: Remove public, make implicit method
926 2008-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
928         * Environment.cs: Add missing attribute
930 2008-07-04  Rodrigo Kumpera  <rkumpera@novell.com>
932         * Delegate.cs (get_Method): Use the internal version
933         of GetMethodFromHandle to avoid the generic class check.
935 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
937         * GCCollectionMode.cs: Add attribute
938         * GC.cs: Add semi-stubbed missing method, remove obsolete Lamespec, hide non-public method
940 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
942         * Delegate.cs: Fix parameter names for 2.0 profile
943         * Int64.cs: Fix parameter names
945 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
947         * IntPtr.cs: Fix parameter names, change internal name to accomodate for parameter changes
949 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
951         * Predicate.cs:
952         * Object.cs:
953         * Nullable.cs
954         * MultiCastDelegate.cs
955         * ModuleHandle.cs
956         * Math.cs
957         * MarshalByRefObject.cs
958         * Int64.cs
959         * Int32.cs
960         * Int16.cs
961         * Environment.cs
962         * Delegate.cs
963         * DateTimeOffset.cs
964         * ConsoleKeyInfo.cs
965         * Console.cs
966         * Array.cs
967         * AppDomain.cs: Fix parameter names
969 2008-07-03  Rodrigo Kumpera  <rkumpera@novell.com>
971         * Exception.cs (GetFullNameForStackTrace): Don't do string
972         concatenation.
974 2008-06-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
976         * ContextMarshalException.cs:
977         * DllNotFoundException.cs:
978         * EntryPointNotFoundException.cs:
979         * FieldAccessException.cs:
980         * MethodAccessException.cs:
981         * MissingFieldException.cs:
982         * PlatformNotSupportedException.cs: Fix parameter names
984 2008-06-30  Marek Safar  <marek.safar@gmail.com>
986         * String.cs: Tweaked hash code methods for better distibution, and speed-up.
988 2008-06-29  Zoltan Varga  <vargaz@gmail.com>
990         * MonoCustomAttrs.cs (IsDefined): Avoid calling the .Assembly property in some
991         cases.
993 2008-06-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
995         * Char.cs: Fix formatting, rename wrong named param, remove code duplication
997 2008-06-28  Zoltan Varga  <vargaz@gmail.com>
999         * Enum.cs (GetUnderlyingType): Implement this using an icall.
1000         
1001         * Enum.cs (Format): Call IsDefined with inherited=false.
1003         * Exception.cs: Fix a warning.
1005 2008-06-27  Zoltan Varga  <vargaz@gmail.com>
1007         * Enum.cs (FindName): Avoid calling String.Compare for the !ignoreCase case.
1009 2008-06-27  Rodrigo Kumpera  <rkumpera@novell.com>
1011         * Exception.cs: Build method traces using the
1012         stack trace StringBuilder.
1014 2008-06-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1016         * Version.cs: Fix parameter names
1017         * UInt64.cs: 
1018         * UInt32.cs:
1019         * UInt16.cs:
1020         * Int64.cs: Fix parameter names
1021         * Int32.cs: Fix parameter names; some small formatting
1022         * Int16.cs: Fix parameter names
1023         * Double.cs: Fix parameter names; small formatting
1024         * Single.cs:
1025         * SByte.cs:
1026         * Byte.cs:
1027         * Boolean.cs:
1028         * DateTime.cs:
1029         * Enum.cs:
1030         * Decimal.cs: Fix parameter names
1032 2008-06-14  Zoltan Varga  <vargaz@gmail.com>
1034         * Environment.cs: Bump corlib version.
1036 2008-06-10  Zoltan Varga  <vargaz@gmail.com>
1038         * Math.cs (IEERemainder): Use the normal BitConverter.Int64BitsToDouble method
1039         here to fix this on sparc.
1041 2008-06-07  Marek Safar  <marek.safar@gmail.com>
1043         * Array.cs (IndexOf, LastIndexOf): Fixed more array element comparers used
1044         instead of tested value comparers.
1046 2008-06-07  Zoltan Varga  <vargaz@gmail.com>
1048         * Environment.cs: Bump corlib version.
1050 2008-06-05  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1052         * String.cs: Managed replacement for Replace method ;)
1054 2008-06-03  Zoltan Varga  <vargaz@gmail.com>
1056         * Decimal.cs (Divide): Move expensive equality checks to unmanaged code.
1058 2008-06-02  Ivan N. Zlatev  <contact@i-nz.net>
1060         * MonoType.cs: For property reflection we should strictly match the return 
1061         type if available.
1063 2008-06-01  Juraj Skripsky  <js@hotfeet.ch>
1065         * String.cs (Substring): Blocking bug #395904 has been fixed,
1066         re-enable optimization.
1068 2008-06-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1070         * String.cs: Replace Split IndexOf
1072 2008-05-30  Marek Safar  <marek.safar@gmail.com>
1074         * Array.cs (IndexOf): Use an array element comparer instead of tested value
1075         comparer.
1077 2008-05-28  Zoltan Varga  <vargaz@gmail.com>
1079         * Console.cs (.cctor): Make sdout synchronized in the console case too.
1080         Fixes #395069.
1082 2008-05-27  Eyal Alaluf <eyala@mainsoft.com>
1084         * NumberFormatter.jvm.cs: Fix tables to avoid arithemtic overflow
1085           in Double.ToString as exposed by Bug #383531.
1087 2008-05-24  Gert Driesen  <drieseng@users.sourceforge.net>
1089         * String.cs: Comment out 2.0 compatibility fix for SubString, since it
1090         causes regressions in System.Xml.
1092 2008-05-24  Gert Driesen  <drieseng@users.sourceforge.net>
1094         * String.cs: Changed exception to match MS. Fixed ToCharArray to use
1095         startindex for source. In PadLeft and PadRight, only return current
1096         string if totalWidth is less than length.
1098 2008-05-24 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
1100         * Enum.cs: use Array.BinarySearch on the values in IsDefined and
1101         GetName instead of looping through the list. Made the cache in
1102         MonoEnumInfo thread static to avoid contention.
1104 2008-05-20  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1106         * String.cs: Replace Split function
1108 2008-05-19  Sebastien Pouliot  <sebastien@ximian.com>
1110         * Boolean.cs,
1111         * Double.cs,
1112         * Enum.cs,
1113         * Int64.cs,
1114         * Single.cs,
1115         * UInt32.cs,
1116         * UInt64.cs: Avoid unboxing primitive types more than one time.
1117         [Found using Gendarme]
1119 2008-05-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1121         * String.cs: Update Trim functions
1123 2008-05-19  Zoltan Varga  <vargaz@gmail.com>
1125         * ConsoleDriver.cs: Avoid initializing the three driver classes when only one
1126         is needed.
1128 2008-05-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1130         * String.cs: Update Join and Pad functions
1132 2008-05-18  Sebastien Pouliot  <sebastien@ximian.com>
1134         * Environment.cs: Use String.IsNullOrEmpty inside 2.0 code.
1135         [Found using Gendarme]
1137 2008-05-16  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1139         * String.cs: Directly create charenumerator
1141 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1143         * String.cs: Resubmit uncritical parts of String patch
1145 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1147         * DateTime.cs: Fix parameter names
1149 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1151         * Decimal.cs: Fix parameter names
1153 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1155         * Decimal.cs: Tabbify/Format
1157 2008-05-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1159         * Version.cs
1160           UnhandledExceptionEventHandler.cs
1161           UInt64.cs
1162           UInt32.cs
1163           UInt16.cs: Fix parameter names
1164           Type.cs: Fix parameter names, formatting
1165           TimeSpan.cs
1166           StringComparer.cs
1167           Single.cs
1168           SByte.cs: Fix parameter names
1170 2008-05-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1172         * Double.cs
1173           Enum.cs
1174           Exception.cs
1175           IComparable.cs
1176           IEquatable.cs
1177           IFormatProvider.cs
1178           IFormattable.cs
1179           InsufficientMemoryException.cs: Fix parameter names
1181 2008-05-14  Jb Evain  <jbevain@novell.com>
1183         * Exception.cs (ToString): output a new line before the 
1184         inner exception separator. Fixes #390150.
1186 2008-05-12  Gert Driesen  <drieseng@users.sourceforge.net>
1188         * Type.cs: Modifies exceptions to match MS. Changed GetTypeFromHandle
1189         on 1.0 profile to throw ArgumentException when handle is invalid,
1191 2008-05-08  Rodrigo Kumpera  <rkumpera@novell.com>
1193         * Activator.cs (CreateInstance): Check for null types when creating
1194         the error message.
1196 2008-05-07  Robert Jordan  <robertj@gmx.net>
1198         * RuntimeFieldHandle.cs, RuntimeTypeHandle.cs, RuntimeMethodHandle.cs:
1199         Don't try to serialize uninitialized handles. Fixes #386641.
1201 2008-05-06  Marek Safar  <marek.safar@gmail.com>
1203         * IntPtr.cs (eplicit long, GetObjectData): Use ToInt64.
1205 2008-05-05  Zoltan Varga  <vargaz@gmail.com>
1207         * Type.cs (GetTypeFromHandle): Apparently, it is possible to create a 
1208         RuntimeTypeHandle with a zero handle value by calling its ctor. Add an argument
1209         check for that.
1211         * IntPtr.cs (ToInt64): Use (long)(int) on 32 bit platforms to avoid the default
1212         unsigned conversion done by the compiler. Fixes #386466.
1214 2008-05-04  Zoltan Varga  <vargaz@gmail.com>
1216         * Type.cs (UnderlyingSystemType): Add a comment pointing people to 
1217         Enum.GetUnderlyingType ().
1219 2008-04-26  Zoltan Varga  <vargaz@gmail.com>
1221         * Array.cs (LastIndexOf): Return GetLowerBound (0) -1 instead of -1.
1222         
1223         * Array.cs (LastIndexOf): Fix handling of empty arrays. Fixes #383876.
1225 2008-04-13  Zoltan Varga  <vargaz@gmail.com>
1227         * String.cs (Split): Fix the handling of RemoveEmptyEntries when the separator
1228         matches at the beginning of the string. Fixes #374511.
1230 2008-04-13  Jb Evain  <jbevain@novell.com>
1232         * ICloneable.cs: use the INSIDE_CORLIB pattern to
1233         internalize code that is used outside the corlib.
1234         Merged from the Moonlight 2 branch.
1236 2008-04-04  Raja R Harinath  <harinath@hurrynot.org>
1238         * String.cs (EndsWith) [CultureInfo variant]: Handle null 'culture'.
1239         (StartsWith, EndsWith, IndexOf, LastIndexOf) [StringComparison variant]:
1240         Throw exception on invalid StringComparison.
1242 2008-04-01  Eyal Alaluf <eyala@mainsoft.com>
1244         * NumberFormatter.cs NumberFormatter.jvm.cs: Performance optimizations.
1245           Reuse a per thread instance to format all the primitive types. Modify
1246           class accordingly so the same
1247           instance can be used multiple times.
1248         * Int16.cs UInt64.cs Double.cs SByte.cs UInt16.cs Byte.csDecimal.cs
1249           TimeSpan.cs Int32.cs Int64.cs Single.cs UInt32.cs: Change use of
1250           NumberFormatter to adapt to above changes in class interface.
1252 2008-03-31  Mark Probst  <mark.probst@gmail.com>
1254         * MonoType.cs: Don't do CAS security checks in CheckMethodSecurity
1255         for 2.1 profile.
1257 2008-03-28  Marek Safar  <marek.safar@gmail.com>
1259         * Nullable.cs (Box): Do things explicitly and not rely on broken gmcs
1260         behaviour.
1262 2008-03-25  Zoltan Varga  <vargaz@gmail.com>
1264         * AppDomain.cs: Update after MonoMethod.InternalInvoke signature change.
1266         * Environment.cs: Bump corlib version.
1268         * DateTime.cs: Fix a warning.
1270 2008-03-21  Sebastien Pouliot  <sebastien@ximian.com>
1272         * String.cs: Use "this" in Split method instead of calling ToString.
1273         Found using Gendarme.
1275 2008-03-06  Marek Safar  <marek.safar@gmail.com>
1277         * MonoCustomAttrs (GetCustomAttributes): Type cannot be null with
1278         typeof (MonoCustomAttrs) hack.
1280 Wed Mar 5 19:39:01 CET 2008 Paolo Molaro <lupus@ximian.com>
1282         * Type.cs: optimize GetTypeCode () for the common case
1283         (fixes bug #367354).
1285 2008-03-02  Roei Erez  <roeie@mainsoft.com>
1287         * DateTime.cs: Improve the patch supplied by James Purcell to be
1288           dotnet-compatible, and add support for RoundTripKind parsing. 
1289           Fixed reopened bug #352210.
1292 Tue Feb 26 17:50:17 CET 2008 Paolo Molaro <lupus@ximian.com>
1294         * DateTime.cs: instroduce a method that returns ticks monotonically.
1296 2008-02-26  Ivan N. Zlatev  <contact@i-nz.net>
1298         * Attribute.cs, MonoCustomAttrs: MS ignores the inherit param in 
1299         PropertyInfo's ICustomAttributeProvider implementation, but not 
1300         in the Attributes, so directly get the attributes from 
1301         MonoCustomAttrs instead of going throught the PropertyInfo's 
1302         ICustomAttributeProvider.
1303         [Fixes bugs #324472 and #322464]
1305 2008-02-26  Atsushi Enomoto  <atsushi@ximian.com>
1307         * DateTime.cs : fix roundtrip regression in Sys.Xml.XmlConvertTests,
1308           patch by James Purcell (at #352210).
1310 2008-02-25  Atsushi Enomoto  <atsushi@ximian.com>
1312         * DateTime.cs, DateTimeUtils.cs : make Kind value from parse result
1313           as dotnet-compatible. Patch by James Purcell, fixed bug #352210.
1315 2008-02-18  Atsushi Enomoto  <atsushi@ximian.com>
1317         * DBNull.cs : ToType(typeof(DBNull),...) should be allowed.
1319 2008-02-16  Sebastien Pouliot  <sebastien@ximian.com>
1321         * Object.cs: Fix parameter name to match MS implementation. Found
1322         using Gendarme.
1323         * ValueType.cs: Fix parameter name to match MS implementation. 
1324         Found using Gendarme.
1326 2008-02-14  Jb Evain  <jbevain@novell.com>
1328         * Delegate.cs (CreateDelegate): refactor. DRY!
1330 2008-02-12  Gert Driesen  <drieseng@users.sourceforge.net>
1332         * Delegate.cs (CreateDelegate): Walk the inheritance change to find
1333         matching method. Skip methods for which the return type does not match
1334         the delegate. Fixes bug #360784.
1336 2008-02-11  Eyal Alaluf <eyala@mainsoft.com>
1338         * NumberFormatter.cs: Fix ToString("R") for +-Infinity & NaN.
1340 2008-02-08  Sebastien Pouliot  <sebastien@ximian.com>
1342         * Random.cs: Explain (and extend) special case in Next(min,max)
1344 2008-02-08  Juraj Skripsky  <js@hotfeet.ch>
1346         * Random.cs (Next): Use rounding (via implicit conversion) only on
1347         positive values. Fixes bug 359918.
1349 2008-02-03  Sebastien Pouliot  <sebastien@ximian.com>
1351         * Environment.cs: Remove unused method found with Gendarme.
1353 2008-02-02  Gert Driesen  <drieseng@users.sourceforge.net>
1355         * Variant.cs: Fixed line endings.
1356         * MonoType.cs: Fixed parameter name for ArgumentException to match MS.
1358 2008-01-29  Zoltan Varga  <vargaz@gmail.com>
1360         * Type.cs (MakeGenericType): Fix exception message.
1362 2008-01-29  Jb Evain  <jbevain@novell.com>
1364         * AppDomain.cs: add SL overload of DefineDynamicAssembly.
1366 2008-01-29  Marek Safar  <marek.safar@gmail.com>
1368         * Type.cs (MakeGenericType): More argument checks. Fixes #356863 by
1369          Sanghyeon Seo.
1371 2008-01-25  Rodrigo Kumpera  <rkumpera@novell.com>
1373         * MonoType.cs (InvokeMember): Fixed exceptions arguments for last comit.
1375 2008-01-24  Rodrigo Kumpera  <rkumpera@novell.com>
1377         * MonoType.cs (InvokeMember): Check for parameters without default value which
1378         the supplied argument is Missing.Value. Fixes one of the issues of #348522.
1380 2008-01-21  Sebastien Pouliot  <sebastien@ximian.com>
1382         * DateTimeOffset.cs: Avoid NRE on bad cast if null is provided to
1383         Equals(object). Found using Gendarme.
1385 2008-01-16  Zoltan Varga  <vargaz@gmail.com>
1387         * DateTimeOffset.cs: Fix warnings.
1389 2008-01-15  Stephane Delcroix  <sdelcroix@novell.com>
1391         * DateTimeOffset.cs: ParseExact: parse f, F, s too.
1393 2008-01-15  Stephane Delcroix  <sdelcroix@novell.com>
1395         * DateTimeOffset.cs: ParseExact: honor the DateTimeStyles parameter.
1397 2008-01-15  Zoltan Varga  <vargaz@gmail.com>
1399         * AppDomainSetup.cs Buffer.cs Action.cs Array.cs BadImageFormatException.cs Byte.cs
1400         Attribute.cs _AppDomain.cs Boolean.cs AppDomain.cs: Fix some argument names to be 
1401         consistent with MS.
1403 2008-01-14  Sephane Delcroix  <sdelcroix@novell.com>
1405         * DateTimeOffset.cs: start refactoring DoParse.
1407 2008-01-14  Zoltan Varga  <vargaz@gmail.com>
1409         * Type.cs (GetConstructor): Use correct binding flags in type (Type[]) overload.
1410         Fixes #353604.
1412 2008-01-13  Eyal Alaluf <eyala@mainsoft.com>
1414         * NumberFormatter.cs, Double.cs, Single.cs: Fix Single & Double default
1415           ToString to handle +-Infinity & NaN.
1417 2008-01-14  Sephane Delcroix  <sdelcroix@novell.com>
1419         * DateTimeOffset.cs: ParseExact (string, string, IFormatProvider) 
1420         implemented.
1423 2008-01-14  Zoltan Varga  <vargaz@gmail.com>
1425         * NumberFormatter.cs: Remove some redundant assignments.
1427 2008-01-13  Gert Driesen  <drieseng@users.sourceforge.net>
1429         * AppDomain.cs: Also fix bug #350530 for overload taking evidence and
1430         args. On 1.0 profile, throw COMException to match MS and to allow
1431         our unit tests to pass on MS.
1433 2008-01-13  Eyal Alaluf <eyala@mainsoft.com>
1435         * NumberFormatter.cs: Check in redesigned implementation. Improves
1436           double.ToString performance by 2-3 orders of magnitude and other
1437           primitive numeric types ToString performance.
1438         * NumberFormatter.jvm.cs: The TARGET_JVM managed tables for NumberFormatter
1439           class for reuse if a completely managed NumberFormatter is required.
1440         * Int16.cs UInt64.cs Double.cs UInt16.cs SByte.cs Byte.cs TimeSpan.cs
1441           Int32.cs Int64.cs Single.cs UInt32.cs: Adapt to new NumberFormatter.
1443 2008-01-13  Zoltan Varga  <vargaz@gmail.com>
1445         * AppDomain.cs: Check for a missing entry point in the ExecuteAssembly methods.
1446         Fixes #350530.
1448 2008-01-11  Stephane Delcroix  <sdelcroix@novell.com>
1450         * DateTimeOffset.cs: Fixes the MinValue (was equal to MaxValue)...
1452 2008-01-10  Zoltan Varga  <vargaz@gmail.com>
1454         * Delegate.cs: Implement argument checking in CreateDelegate(Type,object,MethodInfo)
1455         method. Make the CreateDelegate(Type,MethodInfo) overload calls this version.
1456         Fixes #352805.
1458 2008-01-10  Stephane Delcroix  <sdelcroix@novell.com>
1460         * DateTimeOffset.cs: chain the Parse* methods together.
1462 2008-01-09  Atsushi Enomoto  <atsushi@ximian.com>
1464         * DateTime.cs : revert the previous fix. It caused regression on
1465           the buildbot.
1467 2008-01-09  Atsushi Enomoto  <atsushi@ximian.com>
1469         * DateTime.cs : fixed bug #352210. Kind is unspecified by default,
1470           while the tick is for local time by default. This fix also involved
1471           special x509 handling.
1473 2008-01-08  Marek Safar  <marek.safar@gmail.com>
1475         * Array.cs (LastIndexOf<T>): Fixed bound checking.
1477 2008-01-06  Zoltan Varga  <vargaz@gmail.com>
1479         * AppDomain.cs: Move the assembly loading in ExecuteAssembly and 
1480         ExecuteAssemblyByName to managed to as said by the MSDN docs. Fixes #350530.
1482         * Environment.cs: Bump corlib version.
1483         
1484 2008-01-02  Marek Habersack  <mhabersack@novell.com>
1486         * Array.cs: fix a typo to unbreak the build.
1488 2008-1-1  Scott Peterson  <lunchtimemama@gmail.com>
1490         * Array.cs: Slight improvement to the quicksort algorithm.
1492 2007-12-28  Gert Driesen  <drieseng@users.sourceforge.net>
1494         * Environment.cs: Bump corlib version.
1496 2007-12-20  Gert Driesen  <drieseng@users.sourceforge.net>
1498         * AppDomain.cs: Added check for null AssemblyName, and invalid
1499         AssemblyName.Name to DefineDynamicAssembly overloads. Loosely based on
1500         patch provided by Cedric Vivier. Fixes bug #349272.
1502 2007-12-20  Stephane Delcroix  <sdelcroix@novell.com>
1504         * DateTimeOffset.cs: set [Min|Max]Value to UTC. Fixes #349621.
1506 2007-12-19  Stephane Delcroix  <sdelcroix@novell.com>
1508         * DateTime.cs:
1509         * DateTimeOffset.cs:
1510         * DateTimeUtils.cs: factored out the common pieces of DT and DTO into DTU.
1512 2007-12-18  Stephane Delcroix  <sdelcroix@novell.com>
1514         * DateTimeOffset.cs: implementing the 4 ToString overloads by reusing
1515         large chunks of System.DateTime code.
1517 2007-12-16  Stephane Delcroix  <sdelcroix@novell.com>
1519         * DateTimeOffset.cs: some bugfix discovered by unit tests.
1521 2007-12-16  Stephane Delcroix  <sdelcroix@novell.com>
1523         * DateTimeOffset.cs: almost complete implementation, still missing the
1524         Parse* and ToString methods.
1526 2007-12-11  Zoltan Varga  <vargaz@gmail.com>
1528         * AppDomain.cs (DoAssemblyResolve): Fix detection of whenever there is a
1529         reflection-only assembly resolve hook.
1531 2007-12-10  Stephane Delcroix  <sdelcroix@novell.com>
1533         * DateTimeOffset.cs: partial implementation. no longer just a stub.
1535 2007-11-30  Zoltan Varga  <vargaz@gmail.com>
1537         * Delegate.cs: Compute the Method property lazily.
1538         
1539         * Delegate.cs: Add a 'method' field.
1541         * Environment.cs: Bump corlib version.
1543 2007-11-21  Zoltan Varga  <vargaz@gmail.com>
1545         * Array.cs: Make the InternalArray_... methods internal.
1547         * Environment.cs: Bump corlib version.
1549 2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>
1551         * AppDomain.cs : filled 2.0 API (extra ones are from 2.0 SP1).
1552         * ContextMarshalException.cs : obsolete in 2.0.
1554 2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>
1556         * MarshalByRefObject.cs : Added MemberwiseClose() stub.
1557           GetLifetimeService() is not virtual (in both 2.0 and 1.1).
1558         * Console.cs : implemented missing 2.0 key members.
1560 2007-11-18  Gert Driesen  <drieseng@users.sourceforge.net>
1562         * Enum.cs: Provided ParamName of Argument(Null)Exceptions. Rewrote
1563         some exception messages.
1565 2007-11-16  Gert Driesen  <drieseng@users.sourceforge.net>
1567         * AppDomain.cs: Added some obsolete messages.
1569 2007-11-15  Gert Driesen  <drieseng@users.sourceforge.net>
1571         * MonoType.cs: Modified ParamName for ArgumentException to match
1572         MS. Provide meaningful exception messages. On 2.0, throw ANE instead
1573         of ArgumentException when args is null.
1575 2007-11-15  Zoltan Varga  <vargaz@gmail.com>
1577         * MonoType.cs (Invoke): Allow BindingFlags.SetField and
1578         BindingFlags.SetProperty to be specified together. Fixes #321735.
1580 2007-11-14  Miguel de Icaza  <miguel@novell.com>
1582         * Console.cs, ConsoleDriver.cs, TermInfoDriver.cs,
1583         TermInfoReader.cs, TermInfoNumber.cs, TermInfoStrings.cs,
1584         CStreamReader.cs, CStreamWriter.cs, NullConsoleDriver.cs,
1585         WindowsConsoleDriver.cs: In the 2.1 profile we do not need the
1586         full-blown Console (the terminal-addressable console) so we shrink
1587         it down to the basic 1.0 Console.
1589 2007-11-14  Marek Safar  <marek.safar@gmail.com>
1591         * Nullable.cs: Optimized to use generic comparers.
1593 2007-11-14  Zoltan Varga  <vargaz@gmail.com>
1595         * Array.cs (Copy): Throw InvalidCastException in more cases.
1597 2007-11-13  Zoltan Varga  <vargaz@gmail.com>
1599         * GCCollectionMode.cs GCLatencyMode.cs: New net 3.5 types.
1601 2007-11-12  Atsushi Enomoto  <atsushi@ximian.com>
1603         * NumberFormatter.cs : revert previous two changes. It does not
1604           really work for float and hence will rather bring confusion.
1606 2007-11-12  Atsushi Enomoto  <atsushi@ximian.com>
1608         * NumberFormatter.cs : limit the situation that needs roundtrip
1609           verification in the previous change to Double.
1611 2007-11-12  Atsushi Enomoto  <atsushi@ximian.com>
1613         * NumberFormatter.cs : applied a quick fix for bug #320433. It needs
1614           true fix to avoid extra perf. loss.
1616 2007-11-08  Sebastien Pouliot  <sebastien@ximian.com>
1618         * TimeZone.cs: Under 2.0 we must return a Local DateTime.MinValue.
1619         Fix the regression on the x86_64 bot which seems to be in it's own
1620         timezone.
1622 2007-11-07  Gert Driesen  <drieseng@users.sourceforge.net>
1624         * Exception.cs: Cosmetic change to default exception message on
1625         2.0 profile.
1627 2007-11-05  Gert Driesen  <drieseng@users.sourceforge.net>
1629         * Array.cs: Distinguish between notstarted and finished state when
1630         throwing IOE in Current, and provide meaningful exception message.
1632 2007-11-05  Sebastien Pouliot  <sebastien@ximian.com>
1634         * Array.cs: Fix Enumerator<T>.Reset (#322248).
1636 2007-11-05  Rodrigo Kumpera  <rkumpera@novell.com>
1638         * Type.cs (MakeGenericType): fix for #331199. If an user-defined type
1639         was used, the runtime would crash. Now we apply UnderlyingSystemType to
1640         all types before handling to the runtime.
1642 2007-11-05  Stephane Delcroix  <sdelcroix@novell.com>
1644         * TimeZone.cs: fix for #323911. The our after DST.Start is already DST.
1646 2007-11-03  Atsushi Enomoto  <atsushi@ximian.com>
1648         * DateTime.cs : fix for #330085. for Local time, convert to Utc
1649           before getting ticks.
1651 2007-11-03  Gert Driesen  <drieseng@users.sourceforge.net>
1653         * ArgumentException.cs: Change default message to match MS. Removed
1654         unnecessary check from Message, since base.Message can never be null.
1656 2007-11-01  Atsushi Enomoto  <atsushi@ximian.com>
1658         * DateTime.cs : ParseExact() should ignore 'K' when there is no
1659           character is left.
1661 2007-11-01  Atsushi Enomoto  <atsushi@ximian.com>
1663         * DateTime.cs : in roundtrip mode, 'Z' should turn the tick value to
1664           utc time and should not result in different ticks.
1665           Fixed bug #338064.
1667 2007-10-30  Miguel de Icaza  <miguel@novell.com>
1669         * UInt32.cs (Parse): Use Jeff Stedfast's parsing code which is
1670         smaller and does not need checked() constructs. 
1672         * Int64.cs, Int32.cs, Int16.cs: small tuneup: do not throw
1673         exception, instead return the exception like every other place in
1674         this code. 
1676         * Int16.cs, Int32.cs, Int64.cs: Use the Jeff Stedfast parsing code
1677         which is smaller.  We no longer use "checked" to check for
1678         overflows, I refactored some stuff and cleaned up the rest and
1679         fixes #331525.
1681 2007-10-27  Zoltan Varga  <vargaz@gmail.com>
1683         * MonoType.cs: Applied patch from Mario A Chavez 
1684         <mario.chavez@gmail.com>. Add support for invoking members with the 
1685         ParamArray attribute. Fixes #336841.
1687 2007-10-26  Zoltan Varga  <vargaz@gmail.com>
1689         * MonoType.cs (InvokeMember): Make sure one operation is passed in the binding
1690         flags. Fixes #336936.
1692 Fri Oct 26 19:43:09 CEST 2007 Paolo Molaro <lupus@ximian.com>
1694         * Environment.cs, String.cs: patch from Tyler Larson
1695         <mono-devel@tlarson.com> to fix the handling of the RemoveEmptyEntries
1696         option in string.Split (bug #322375).
1698 2007-10-26  Dick Porter  <dick@ximian.com>
1700         * Environment.cs: Bump version because of Thread initialisation
1701         changes
1703 2007-10-25  Lluis Sanchez Gual  <lluis@novell.com>
1705         * AppDomain.cs: In DefaultDomain, wrap the returned domain with
1706         a proxy if the current domain is not the root domain.
1708 2007-10-24  Atsushi Enomoto  <atsushi@ximian.com>
1710         * Type.cs : implemented ReflectionOnlyGetType().
1712 2007-10-19  Zoltan Varga  <vargaz@gmail.com>
1714         * AppDomain.cs: Add NET 3.5 DefineDynamicAssembly () overloads.
1716 2007-10-13  Zoltan Varga  <vargaz@gmail.com>
1718         * Delegate.cs (CreateDelegate): Allow binding instance methods to 
1719         delegates with an extra argument, a NET 2.0 feature. Fixes #333647.
1721 Fri Oct 12 08:11:50 CEST 2007 Paolo Molaro <lupus@ximian.com>
1723         * String.cs: reverted unapproved patch that breaks the build.
1725 2007-10-11  Joel Reed  <joelwreed@comcast.com>
1727         * String.cs: fix String.Split(char[],int,StringSplitOptions)
1728         with StringSplitOptions.RemoveEmptyEntries option. The correct 
1729         behavior is to remove empty entries while the string is being split, 
1730         and always return the maximum number of elements possible.
1731         Patch from: Tyler Larson <mono-devel@tlarson.com>
1732         
1733 2007-09-28  Jb Evain  <jbevain@novell.com>
1735         * Object.cs: Make ToString return Type.ToString ()
1736         by default instead of Type.FullName to match .net
1737         behavior. Fix #329419.
1739 2007-09-28  William Holmes  <billholmes54@gmail.com>
1741         * DateTime.cs: Check for AssumeUniversal when parsing string.
1742          Fixes bug #324845
1744 2007-09-21  Gert Driesen  <drieseng@users.sourceforge.net>
1746         * Enum.cs: Use regular single quotes in exception message.
1748 2007-09-14  Paolo Molaro <lupus@ximian.com>
1750         * String.cs: implemented all the string ctors using CreateString
1751         methods, so they can run completely in managed code.
1753 2007-09-13  Marek Safar  <marek.safar@gmail.com>
1755         * DateTimeOffset.cs: Implemented few properties.
1757 2007-09-13  Atsushi Enomoto  <atsushi@ximian.com>
1759         * Decimal.cs, Math.cs : implemented midpoint rounding.
1761 2007-09-13  Atsushi Enomoto  <atsushi@ximian.com>
1763         * Activator.cs : implemented 2.0 CreateInstance()
1764           and CreateInstanceFrom () overloads.
1766 2007-09-12  Sebastien Pouliot  <sebastien@ximian.com>
1768         * Decimal.cs: More explicit text in exception (old and almost 
1769         forgetten patch on laptop ;-)
1771 2007-09-10  Atsushi Enomoto  <atsushi@ximian.com>
1773         * OperatingSystem.cs : implemented ISerializable.
1775 2007-08-28  Zoltan Varga  <vargaz@gmail.com>
1777         * DateTime.cs: Fix a warning.
1779 2007-08-25  Robert Jordan  <robertj@gmx.net>
1781         * DateTime.cs: Implement internal To/FromBinary for the 1.1 profile.
1783 2007-08-25  Alan McGovern  <amcgovern@novell.com>
1785         * DateTime.cs: Reverted DateTime changes.
1787 2007-08-25  Robert Jordan  <robertj@gmx.net>
1789         * DateTime.cs: Implement internal To/FromBinary for the 1.1 profile.
1791 2007-08-24  Zoltan Varga  <vargaz@gmail.com>
1793         * Array.cs: Fix min + max / 2 overflows in the BinarySearch and qsort methods.
1794         Fixes #82469.
1796 2007-08-23  Marek Safar  <marek.safar@gmail.com>
1798         * DateTimeOffset.cs: New .NET 3.5 struct for 2.0 mscorlib.
1799         
1800 2007-08-23  Eyal Alaluf <eyala@mainsoft.com>
1802         * DateTime.cs: Numerous improvements to DateTime.Parse. It handles a lot
1803           more possible formats and more correctly at that. It is also now easier
1804           to manage the formats DateTime.Parse supports.
1806 2007-08-17  Zoltan Varga  <vargaz@gmail.com>
1808         * Exception.cs: Make 1.0 and 2.0 object layout the same since this class is seen
1809         by the runtime. Fixes #82459.
1811 2007-08-16  Gert Driesen  <drieseng@users.sourceforge.net>
1813         * MonoCustomAttrs.cs: In IsDefined, throw ArgumentNullException if
1814         attributeType is null to avoid a SIGSEGV (and match MS). Only partial
1815         fix for bug #82431 on 1.0 profile; it fully fixes the problem for the
1816         1.0 profile, but more changes (in the runtime) are required for the
1817         2.0 profile. Added a FIXME explaining the problem.
1819 2007-08-15  Gert Driesen  <drieseng@users.sourceforge.net>
1821         * MonoCustomAttrs.cs: In IsDefined, only walk inheritance chain if
1822         both AttributeUsage.Inherited and inherit are true. Fixed bug #82431.
1824 2007-08-13  Gert Driesen  <drieseng@users.sourceforge.net>
1826         * ArgumentException.cs: Ignore zero-length ParamName for Message.
1827         Use ParamName property instead of field, since the property is marked
1828         virtual.
1829         * Array.cs: Provide more meaningful exception message when destination
1830         array is not long enough.
1832 2007-08-11  Zoltan Varga  <vargaz@gmail.com>
1834         * Array.cs: Implement InternalArray__set_Item. Fixes #82345.
1836 2007-08-08  Atsushi Enomoto  <atsushi@ximian.com>
1838         * IntPtr.cs : oops, do not ignore format in ToString(string).
1840 2007-08-08  Atsushi Enomoto  <atsushi@ximian.com>
1842         * GC.cs, Exception.cs, IntPtr.cs, Enum.cs, DateTime.cs, Convert.cs
1843           ConsoleKeyInfo.cs, String.cs, Object.cs, Attribute.cs,
1844           Version.cs : couple of cosmetic 2.0 API fixes.
1846 2007-08-06  Aaron Bockover  <abockover@novell.com>
1848         * Environment.cs (ReadXdgUserDir): Support the changes to the
1849         xdg-user-dirs spec that allow $HOME to start the path; also allows
1850         for quotes surrounding the path (Patch ported from Banshee,
1851         BGO #461596)
1853 2007-07-28  Miguel de Icaza  <miguel@novell.com>
1855         * MulticastDelegate.cs (Equals): do not cast to avoid exceptions,
1856         instead use the "as" operator, as pointed out by Jesse Jones'
1857         tool. 
1859 2007-07-21  Gert Driesen  <drieseng@users.sourceforge.net>
1861         * BitConverter.cs: Fixed exceptions to match MS. Fixed invalid use
1862         of ArgumentOutOfRangeException and ArgumentException ctors that take
1863         both parameter name and message. In ToString throws ArgumentException
1864         instead of ArgumentOutOfRangeException when length is negative, and
1865         return zero-length string when length is 0.
1867 2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
1869         * AppDomainSetup.cs : fix serialization regression.
1871 2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
1873         * AppDomainSetup.cs :
1874           MonoTODO AppDomainInitializer as its implementation is wrong.
1876 2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
1878         * AppDomainSetup.cs : added missing 2.0 members.
1879         * AppDomain.cs : support AppDomainInitializer.
1881 2007-06-06  Miguel de Icaza  <miguel@novell.com>
1883         * Int16.cs, UInt64.cs, SByte.cs, UInt16.cs, Byte.cs, Int32.cs,
1884         Int64.cs, UInt32.cs: Fix for 81775.
1886         I removed Parse from a Byte.cs and UInt16.cs as in various cases
1887         they still depended on UInt32.cs for parsing, there is no reason
1888         to keep all of this code duplicated (UInt64 is a different case
1889         though). 
1891         I was hoping for some feedback on whether my tests are correct,
1892         but so far no takers.
1894 2007-07-14  Zoltan Varga  <vargaz@gmail.com>
1896         * ModuleHandle.cs: Implement the generic versions of the ResolveXXXHandle () methods.
1897         
1898         * ModuleHandle.cs: Add stubs for generic ResolveXXXHandle () methods.
1900 2007-07-10  Alan McGovern <amcgovern@novell.com>
1902         * Guid.cs: All whitespace should be trimmed from before and
1903         after a string passed into the Guid constructor. Fixes #81958
1905 2007-07-10  Zoltan Varga  <vargaz@gmail.com>
1907         * RuntimeTypeHandle.cs: Fix signatures of == and != operators.
1909         * ModuleHandle.cs: Add missing 2.0 stuff.
1911 2007-07-08  Zoltan Varga  <vargaz@gmail.com>
1913         * *.cs: Add missing ComVisible attributes.
1915         * Delegate.cs: Add missing 2.0 CreateDelegate () methods.
1917 2007-07-07  Gert Driesen  <drieseng@users.sourceforge.net>
1919         * DateTime.cs: In ParseExact, throw ArgumentNullException if format
1920         is null; throw FormatException if formats array is empty or if one of
1921         items is null or a zero-length string.
1923 2007-07-06  Rodrigo Kumpera  <rkumpera@novell.com>
1925         * Double.cs (Parse): Fix for string ending in garbaga, it was just ignoring it
1926         instead of throwing FormatException. Fixes #81777
1928 2007-07-06  Rodrigo Kumpera  <rkumpera@novell.com>
1930         * Double.cs (Parse): Fix for whitespace only strings, it was returning zero 
1931         instead of throwing FormatException. Fixes #81630 
1933 2007-07-06  Alan McGovern  <amcgovern@novell.com>
1935         * DateTime.cs: If the format is null or empty, it should default to 'G'.
1936         Fixes bug 81778
1938 2007-07-06  Jonathan Chambers  <joncham@gmail.com>
1940         * __ComObject.cs: Support ExtensibleClassFactory.
1943 2007-07-06  Aaron Bockover  <abockover@novell.com>
1945         * Environment.cs (InternalGetFolderPath): Try reading some
1946         paths from ~/.config/user-dirs.dirs (XDG user dirs spec);
1947         always return something for MyPictures
1949 2007-07-04  Atsushi Enomoto  <atsushi@ximian.com>
1951         * Type.cs : 2.0 TypeHandle and ContainsGenericParameters are virtual
1952           (required fix for 2.0 reflection API fixes).
1954 2007-06-22  Jonathan Chambers  <joncham@gmail.com>
1956         * __ComObject.cs: Move interface lookup to unmanaged.
1958 2007-06-21  Zoltan Varga  <vargaz@gmail.com>
1960         * Environment.cs: Bump corlib version.
1962         * Delegate.cs: Applied patch from Robert Jordan (robertj@gmx.net). Keep
1963         the dynamic method referenced by a delegate alive.
1965 2007-06-05  David Ferguson <davecferguson@gmail.com>
1967         * DateTime.cs: Changed DateTime.Parse() to throw a FormatException
1968           instead of an ArgumentOutOfRangeException for .NET 2.0.  An
1969           ArgumentOutOfRangeException is still thrown for .NET 1.1.
1970           Fixes bug #77633
1971           
1972 Mon Jun 4 14:52:17 CEST 2007 Paolo Molaro <lupus@ximian.com>
1974         * String.cs: optimized CompareOrdinal ().
1976 2007-06-02  Zoltan Varga  <vargaz@gmail.com>
1978         * MonoCustomAttrs.cs (GetBase): Revert last change as it breaks the build.
1979         
1980         * MonoCustomAttrs.cs (GetBase): Handle properties correctly. Fixes #81797.
1982 2007-05-31  Zoltan Varga  <vargaz@gmail.com>
1984         * Delegate.cs: Add invoke_impl field. Reorder fields for better cache behavior. Add
1985         SetMulticastDelegate icall.
1987         * MulticastDelegate.cs (CombineImpl): Call SetMulticastDelegate () on newly created
1988         delegate.
1990         * Environment.cs: Bump corlib version.
1991         
1992 2007-05-25  Jonathan Chambers  <joncham@gmail.com>
1994         * __ComObject.cs: Add overload to GetInterface to allow
1995         not throwing exceptions. Fixes as and is operators for COM objects.
1997 2007-05-23  Atsushi Enomoto  <atsushi@ximian.com>
1999         * Array.cs : reverting Array.cs fixes since the runtime depends on
2000           those method attributes.
2002 2007-05-23  Atsushi Enomoto  <atsushi@ximian.com>
2004         * Int16.cs UInt64.cs UIntPtr.cs Double.cs CrossAppDomainDelegate.cs
2005           ResolveEventHandler.cs IntPtr.cs UnhandledExceptionEventHandler.cs
2006           Void.cs AssemblyLoadEventHandler.cs SByte.cs UInt16.cs DateTime.cs
2007           Byte.cs TimeSpan.cs Decimal.cs Int32.cs Delegate.cs
2008           AppDomainInitializer.cs MulticastDelegate.cs Int64.cs
2009           EventHandler.cs Single.cs UInt32.cs AsyncCallback.cs :
2010           cosmetic attribute fixes (ComVisible/Serializable).
2012 2007-05-22  Atsushi Enomoto  <atsushi@ximian.com>
2014         * Convert.cs : completed 2.0 (ToBase64CharArray).
2015         * String.cs : removed MonoTODO.
2016         * DataMisalignedException.cs : removed extra .ctor().
2017         * Array.cs : internalize extra members. Fixed reliability contract.
2019 2007-05-17  Atsushi Enomoto  <atsushi@ximian.com>
2021         * DateTime.cs : added support for 'K'.
2023 2007-05-11  Jonathan Chambers  <joncham@gmail.com>
2025         * __ComObject.cs: No need to call CoInitialize anymore since
2026         Thread.ApartmentState was implemented.
2028 2007-05-11  Jeffrey Stedfast  <fejj@novell.com>
2030         Fixes bug #81540
2032         * TermInfoDriver.cs (WriteSpecialKey): Actually clear the screen
2033         and reset the cursor position to 0,0 when the key is
2034         ConsoleKey.Clear.
2035         (Clear): Reset the cursor position to 0,0
2037 2007-05-09  Marek Safar  <marek.safar@gmail.com>
2039         * MulticastDelegate.cs: Fixed operators logic.
2041 2007-05-09  Marek Habersack  <mhabersack@novell.com>
2043         * DateTime.cs: add a format used in ASP.NET QuickStarts 
2044           ("HH':'mm tt MM/dd/yyyy")
2046 2007-04-30  Zoltan Varga  <vargaz@gmail.com>
2048         * Type.cs (Equals): Allow a null argument.
2050 2007-04-27  Zoltan Varga  <vargaz@gmail.com>
2052         * Environment.cs (StackTrace): Avoid skipping a frame to be
2053         compatible with MS.
2055 2007-04-25  Atsushi Enomoto  <atsushi@ximian.com>
2057         * DateTimeTest.cs : looks like 'F' even removes preceding '.' ...
2059 2007-04-25  Atsushi Enomoto  <atsushi@ximian.com>
2061         * DateTime.cs : implemented new-2.0 'F' pattern letter.
2063 2007-04-24  Jeffrey Stedfast  <fejj@novell.com>
2065         Fixes the last of the bugs listed in bug #77525
2067         * TermInfoDriver.cs (ctor): For known terminal types, set color16
2068         to true (since we know they support 16 colours).
2069         (Init): set the setlfgcolor and setlbgcolor format strings.
2070         (BackgroundColor): Use the appropriate formatter string for
2071         setting the bgcolor.
2072         (ForegroundColor): Use the appropriate formatter string for
2073         setting the fgcolor.
2074         (TranslateColor): Now takes (and sets appropriately) an output
2075         'bool light' argument.
2077 2007-04-24  Marek Habersack  <mhabersack@novell.com>
2079         * TermInfoDriver.cs: don't include debug stuff by default - it
2080         breaks multithreaded applications (they all attempt to open
2081         console.log and fail because of sharing violation).
2083 2007-04-23  Jeffrey Stedfast  <fejj@novell.com>
2085         * TermInfoDriver.cs (ReadKeyInternal): Since our input stream is
2086         buffered, check if it has more buffered input in addition to our
2087         timeout check. This makes it such that we will actually correctly
2088         match multi-char escape sequences.
2089         (Read): Changed the logic slightly wrt 'fresh' echoing. Once we
2090         encounter a fresh char, all chars afterward should also be
2091         considered 'fresh' even if 'fresh' is returned as false later.
2092         (ReadLine): Same logic here.
2094 2007-04-23  Jeffrey Stedfast  <fejj@novell.com>
2096         Fixes bug #80702 (via getting rid of the casting) and more.
2098         The following change makes it such that even if an application
2099         calls Console.SetOut() with its own output stream, we can still
2100         properly echo user-input from stdin to the real stdout.
2102         * TermInfoDriver.cs (ctor): Grab a reference to the original
2103         Console.stdout so we can be sure we always echo to console.
2104         (QueueEcho): No need to cast Console.stdout anymore.
2105         (EchoFlush): Same.
2106         (WriteConsole: Here too.
2108 2007-04-20  Jeffrey Stedfast  <fejj@novell.com>
2110         * TermInfoDriver.cs (QueueEcho): Renamed from Echo(char). Use
2111         CStreamWriter's new InternalWriteChars().
2112         (Echo): Since we can no longer go thru CStreamWriter's ::Write()
2113         method that does checks for special keys, do the checks here
2114         instead - if it is a special key, flush the echo buffer and then
2115         write the special key.
2116         (EchoFlush): Also updated to use CStreamWriter's new
2117         InternalWriteChars().
2118         (Read): Use the Echo(key) variety.
2119         (ReadKey): Same.
2120         (ReadLine): And here too.
2122         * CStreamWriter.cs (InternalWriteChars): Write a char array
2123         directly to stdout. Do not pass Go, do not collect $200.
2125 2007-04-19  Jeffrey Stedfast  <fejj@novell.com>
2127         Optimization for echoing keypresses back to the console when the
2128         user pastes a block of text rather than manually typing text.
2130         * TermInfoDriver.cs (Echo): A new convenience function for echoing
2131         characters/keys back to the console with an optimization twist and
2132         a bit of lime.
2133         (EchoFlush): Flush our pending echo queue
2134         (Read): Make use of Echo() both for convenience and for speed.
2135         (ReadLine): Same.
2136         (ReadKey): Make use of Echo()/EchoFlush() for simplicity of code,
2137         but we won't get the same optimization out of it.
2139 2007-04-19  Jeffrey Stedfast  <fejj@novell.com>
2141         Fix for bug #81373.
2143         * TermInfoDriver.cs: Changed 'buffer' to be a char array instead
2144         of a byte array and stdin is now a StreamReader rather than a
2145         Stream.
2146         (Init): Setup stdin as a StreamReader using Console.InputEncoding
2147         as our encoding.
2148         (GetCursorPosition): Use stdin.Read() instead of the old
2149         ReadByte() code.
2150         (AddToBuffer): Updated to allocate the correct array type for
2151         'buffer'.
2152         (ReadKeyInternal): Updated to use stdin.Read() rather than
2153         stdin.ReadByte(). This is the main reason we needed to use chars
2154         instead of bytes. Characters entered by the user need to be
2155         represented as unicode chars and not bytes like before.
2156         (Match): Now takes a char[] buffer argument instad of byte[] and
2157         compares the input buffer to the byte-map as chars.
2159 2007-04-18  Jeffrey Stedfast  <fejj@novell.com>
2161         Fixes bug #81159: behave the same as mscorlib
2163         * TermInfoDriver.cs (ReadKeyInternal): Now has an 'out bool fresh'
2164         argument which is used to tell our caller if the key was freshly
2165         read from the console or pre-buffered.
2166         (Read): New implementation of Console.In.Read(char[], int, int)
2167         that behaves exactly like mscorlib's implementation.
2168         (ReadKey): Updated for the ReadKeyInternal() API change - only
2169         echo if the key was fresh.
2170         (ReadLine): Same.
2172         * CStreamReader.cs (Read): Call the new TermInfoDriver.Read()
2174 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
2176         * CStreamWriter.cs (Write): Optimized this some more, we don't
2177         need a temporary buffer. Just blit chunks of the src buffer
2178         instead.
2180         * CStreamReader.cs (Read): Need to increment our array index so
2181         that we don't store each byte read into the same
2182         position. Discovered this while testing bug #81159 (which appears
2183         to work as expected with current svn, other than this buglet).
2185         * TermInfoDriver.cs (CursorTop::set): SetCursorPosition() sets our
2186         internal cursorTop variable, so no need to explicitly set it again
2187         after calling SetCursorPosition().
2188         (CursorLeft::set): Same idea here.
2190 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
2192         * TermInfoDriver.cs (ReadLine): Implemented a workaround for
2193         IronPython going behind System.Console's back when writing text to
2194         the screen (it doesn't seem to use Console.stdout, instead it
2195         creates its own file stream or something which just so happens to
2196         write to the same file descriptor) by querying for the cursor
2197         position in ReadLine(), so we lose no real performance (since we
2198         have to wait for user input anyway).
2200 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
2202         * TermInfoDriver.cs (Init): SetEcho(false), we'll be manually
2203         echoing from now on (ReadLine() has already been doing this, might
2204         as well make ReadKey() behave the same).
2205         (GetCursorPosition): No longer need to disable/re-enable echo
2206         anymore since it is now always false.
2207         (ReadKey): Manually echo the key back to the console just like
2208         ReadLine() has been doing (in the interest of consistancy) if
2209         intercept is false.
2210         (ReadLine): No longer need to disable/re-enable echo, echo is
2211         always off now. Also, fixed what appears to have been a typo.
2213 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
2215         * TermInfoDriver.cs (IsSpecialKey): Oops, Enter should not be
2216         treated as a special key. Just update out cursor state here like
2217         we do with normal chars.
2218         (WriteSpecialKey): Enter is a no-op now because it is not treated
2219         as a special key anymore.
2221         * CStreamWriter.cs (Write): Only flush our buffer if j > 0
2223 2007-04-17  Jeffrey Stedfast  <fejj@gnome.org>
2225         Turns out my last patch was broken wrt handling some special keys
2226         like Backspace and anything else that changed the cursor position
2227         in some non-standard way.
2229         * CStreamWriter.cs (Write): Instead of calling NotifyWrite(), we
2230         instead need to check IsSpecialKey(), and, if so, flush whatever
2231         we have saved in our temporary buffer and then call
2232         WriteSpecialKey(). Otherwise go on as we did in the last patch.
2234         * TermInfoDriver.cs (NotifyWrite): Broken up into 2 functions:
2235         (IsSpecialKey): Returns true if we need to do some special voodoo
2236         for this key
2237         (WriteSpecialKey): Write the special key (using whatever voodoo
2238         necessary)
2240 2007-04-16  Jeffrey Stedfast  <fejj@gnome.org>
2242         * CStreamWriter.cs (Write): Instead of writing 1 char at a time,
2243         copy the bytes into a temporary char array (with a fixed max size)
2244         so that we can minimize the number of Write() calls we make on the
2245         underlying stream (and thus on the write() system call).
2247 2007-04-17  Alp Toker  <alp@atoker.com>
2249         * Array.cs: Make GetRank() icall private. Subclasses should use the
2250         public Rank property.
2252 2007-04-16  Jeffrey Stedfast  <fejj@novell.com>
2254         * WindowsConsoleDriver.cs: Get rid of unused Echo property.
2256         * NullConsoleDriver.cs: Get rid of Echo property.
2258         * IConsoleDriver.cs: Get rid of Echo property.
2260         * ConsoleDriver.cs (Echo::get/set): Removed, not needed.
2262         * TermInfoDriver.cs (Echo::get/set): Removed, this isn't necessary
2263         and is confusing.
2264         (ReadKey): If we are intercepting the key, call SetEcho (false)
2265         and then reset back to true after reading the key.
2266         (ReadLine): Same idea here.
2267         (GetCursorPosition): We no longer need to keep track of the
2268         previous echo state, we no longer have it :)
2270 2007-04-16  Jeffrey Stedfast  <fejj@novell.com>
2272         Fix for bug #80710 (and a bug I introduced in my last fix due to
2273         this code assuming the underlying term echo state was always
2274         false) and other buglets that I noticed.
2276         * TermInfoDriver.cs (ReadLine): Set (term) Echo to false as we do
2277         our own manual echoing which prevents ^H from getting displayed on
2278         the screen when the user hits backspace.
2279         (ReadLine): If the user hits Backspace and builder.Length is 0, DO
2280         NOT echo the backspace back to the console, ever.
2281         (ReadLine): Only echo characters back to the console if echo is
2282         set to true. Seems the Echo ConsoleDriver property is a Mono
2283         extension, and I'm assuming this is the intended behavior? I can't
2284         see what else the Echo property would be useful for...
2286 2007-04-16  Jeffrey Stedfast  <fejj@novell.com>
2288         Fixes bug #81050
2290         * TermInfoDriver.cs: Renamed the noEcho variable to echo, makes
2291         the logic cleaner/simpler/etc. Plus it was never actually used
2292         other than in the property methods which are called Echo.
2293         (Init): Call ConsoleDriver.SetEcho() with the 'echo' value -
2294         allows for a slight optimization if called from within the
2295         Echo::set property.
2296         (GetCursorPosition): Instead of calling the Echo property methods,
2297         call ConsoleDriver.SetEcho() directly to toggle echo off (if echo
2298         isn't already off, and then back on once we're finished getting
2299         the position - assuming the echo state is on, of course) - this
2300         avoids calling back into Init() which just felt dirty.
2301         (Echo::set): If the Echo state differs from our current state,
2302         call ConsoleDriver.SetEcho() with the new state (this is the
2303         important piece of the fix for bug #81050).
2304         (ReadKey): Simplified the echo logic to make it a bit clearer.
2305         (ReadLine): Same.
2307 2007-04-16  Marek Safar  <marek.safar@gmail.com>
2309         * Char.cs (IsLetter): Faster version.
2311 2007-04-15  Alp Toker  <alp@atoker.com>
2313         * Decimal.cs: Provide 2.0 Round() overloads using System.Math.
2315 2007-04-15  Alp Toker  <alp@atoker.com>
2317         * Activator.cs: CreateInstance(Type,object[]) was not params before
2318         2.0.
2320 2007-04-15  Alp Toker  <alp@atoker.com>
2322         * NonSerializedAttribute.cs: Inherited=false in 2.0.
2324 2007-04-05  Dick Porter  <dick@ximian.com>
2326         * Environment.cs: Increment mono_corlib_version
2328 2007-04-03  Alp Toker  <alp@atoker.com>
2330         * Array.cs: CreateInstance(Type,int[]) is params.
2331         * AppDomain.cs: ExecuteAssemblyByName(string,Evidence,string[]) is
2332         params.
2334 2007-04-03  Alp Toker  <alp@atoker.com>
2336         * Convert.cs:
2337         * Math.cs: Should be static classes in 2.0.
2339 2007-04-03  Alp Toker  <alp@atoker.com>
2341         * Delegate.cs: DynamicInvoke(object[]) is params in 2.0.
2343 2007-04-03  Alp Toker  <alp@atoker.com>
2345         * Delegate.cs: Combine(Delegate[]) is params in 2.0.
2347 2007-03-27  Dick Porter  <dick@ximian.com>
2349         * Environment.cs: Increment mono_corlib_version;
2351 2007-03-16  Miguel de Icaza  <miguel@novell.com>
2353         * BitConverter.cs: Revert the patch from 72237 as that introduces
2354         a regression and we are not sure yet what we will be doing about
2355         that.
2357         Introduce a new InternalInt64BitsToDouble method that provides the
2358         fixed functionality, mark it as internal.
2360         Introduce a new SwappableToDouble method that includes the
2361         swapping ToDouble routine as introduced by Zoltan on 72237, this
2362         is used by InternalInt64BitsToDouble.
2364         * Math.cs (IEEERemainder): Use the InternalInt64BitsToDouble
2365         routine here to preserve the semantics from Zoltan.  
2367         The problem with BitConverter.cs is that it is completely hossed.
2368         In .NET 1.1 it is a bitwise copy, no attempt is ever done to do
2369         endian-specific swapping.   In .NET 2.0 it is *almost* like that,
2370         but it is subtly broken: if data is unaligned then endian
2371         conversions happen.  If the data is properly aligned it behaves
2372         like 1.0.
2374         In general BitConverter is a sad class that offers little control,
2375         we will be introducing a new mono bit converter and encourage
2376         users to use that instead of the entirely broken
2377         System.BitConverter. 
2379 2007-03-11  Gert Driesen  <drieseng@users.sourceforge.net>
2381         * Delegate.cs: Fixed bootstrap build.
2383 2007-03-08  Gert Driesen  <drieseng@users.sourceforge.net>
2385         * StringComparer.cs: Renamed StringComparer classes and promoted them
2386         to top-level classes. Merged Ordinal and OrdinalIgnoreCase comparers.
2387         Fixes binary serialization compatibility with MS.
2389 2007-03-06  Zoltan Varga  <vargaz@gmail.com>
2390   
2391         * Type.cs (Equals): Remove a useless check.
2393         * Type.cs: Rename Type:Equals(Type) to EqualsInternal, and add support for checking
2394         UnderlyingSystemType. Fixes #81037.
2396 2007-03-05 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
2398         * TermInfoDriver.cs: adjust buffer indexes after *every* read. Fixes
2399         bug #80329. Robert Jordan attached a similar patch to the bug report
2400         but I didn't see it until after my commit...
2402 2007-03-05  Peter Dettman <peter.dettman@iinet.net.au>
2404         * Enum.cs: The above patch makes the formatting for specifiers 'x'
2405         and 'X' behave like MS.NET, including the correct length for each
2406         possible underlying type, and correctly using capital letters for
2407         the 'X' case.
2409         Patch also includes some more test cases in EnumTests.cs.
2411 2007-02-25  Gert Driesen  <drieseng@users.sourceforge.net>
2413         * AppDomainSetup.cs: If configuration file is not an absolute path,
2414         then throw a MemberAccessException if ApplicationBase is not set,
2415         or otherwise consider it as a path relative to ApplicationBase.
2416         Fixes bug #80934. Patch provided by Jamie Cansdale.
2417         * AppDomain.cs: In CreateDomain, construct AppDomain with
2418         ApplicationBase of default domain if not explicitly set in specified
2419         AppDomainSetup. If config file is not set, then use filename of the
2420         default domain config file. Base on patch provided by Jamie Cansdale.
2422 2007-02-16  Sebastien Pouliot  <sebastien@ximian.com>
2424         * Random.cs: Fix exception messages ("then" -> "than"). Spotted by
2425         Mark A. Nicolosi (#80873).
2427 2007-02-12  Miguel de Icaza  <miguel@novell.com>
2429         * CStreamWriter.cs (Write with char []): take the lock once for
2430         all characters and call manually the InternalWriteChar properly to
2431         speed things up.
2433         (Write with string parameter): same thing, if the driver is not
2434         initialized use a fast path.
2436         If the driver has not been initialized, use a fast path instead. 
2438 Mon Feb 12 21:54:57 CET 2007 Paolo Molaro <lupus@ximian.com>
2440         * MonoType.cs: patch from Cedric Vivier <cedricv@neonux.com> to
2441         get correctly non-public fields from generic types.
2443 2007-02-08  Jonathan Chambers  <joncham@gmail.com>
2445         * __ComObject.cs: Add IUnknown field to object. Cleanup icalls.
2446         
2447 2007-02-03  Zoltan Varga  <vargaz@gmail.com>
2449         * BitConverter.cs (ToDouble): Fix this on big-endian machines.
2451 2007-01-30  Atsushi Enomoto  <atsushi@ximian.com>
2453         * TimeZone.cs: According to the docs, we should not throw when
2454         converting to Localtime if we are a negative value.  Instead we
2455         return DateTime.MinValue.
2457 2007-01-25  Atsushi Enomoto  <atsushi@ximian.com>
2459         * DateTime.cs : copy Kind in those members that return DateTime.
2460           Fixed bug #80614.
2462 2007-01-20  Miguel de Icaza  <miguel@novell.com>
2464         * Array.cs (InternalArray__ICollection_Contains,
2465         InternalArray__IndexOf): Cope with null values in the array (See
2466         bug #80563).
2468 2007-01-19  Marek Habersack  <grendello@gmail.com>
2470         * AppDomain.cs: Make sure that domain
2471         SetupInformation.ConfigurationFile is never null. MS.NET by
2472         default copies the default domain's ConfigurationFile value
2473         there. Fixes bug #80547.
2475 2007-01-14  Jensen Somers <jensen.somers@gmail.com>
2477         * ArraySegment.cs: Added Equals() method, operator == and !=
2478         overloading and GetHashCode().
2480 2007-01-10  Andy Hume <andyhume32@yahoo.co.uk>
2482         * Fixes to a number of exception classes.
2483         
2484         A project of mine uses #ctor(String,Exception) on 
2485         ObjectDisposedException, so I looked at adding that, and any 
2486         other similar constructors missing as per the class status report.
2487         
2488         I also spotted inconsistent setting of HResult, and fixed 
2489         those too.  For instance, ArgumentNullException sets HResult 
2490         only in three out of the four constuctors; not setting it in 
2491         the v2 (String,Exception) one -- and correctly not in the 
2492         Serialization constructor.
2493         
2494         
2495         So, I fixed the remaining missing (String,Exception) 
2496         constructors in corlib (2 of), and fixed the Hresult setting 
2497         in all exceptions there (4 of).
2498         
2499         The remaining Exception constructor omission listed was 
2500         InvalidCastException.ctor(System.String, System.Int32).  MSDN   says:
2501         "This constructor supplies an HRESULT value that is 
2502         accessible to inheritors of the InvalidCastException class, 
2503         via the protected HResult property of the Exception class."
2504         I added that method too, setting the HResult property from 
2505         the Int32 argument.
2507 2007-01-10  Atsushi Enomoto  <atsushi@ximian.com>
2509         * String.cs, StringComparer.cs : avoid extra string creation in
2510           StringComparer.OrdinalIgnoreCase.
2512 2007-01-05  Sebastien Pouliot  <sebastien@ximian.com>
2514         * DateTime.cs: Under 2.0 fix ParseExact to set DateTimeKind.Utc when
2515         DateTimeStyles.AdjustToUniversal is used.
2517 2007-01-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2519         * TermInfoDriver.cs: honor the backspace in ReadLine.
2521 2006-12-30  Marek Safar  <marek.safar@gmail.com>
2523         * String.cs: Character based method only.
2524         (IndexOf, LastIndexOf, Replace, IndexOfAny): Performance improvements.
2525         (Substring): Returns same instance when index is 0.
2527 2006-12-30  Alp Toker  <alp@atoker.com>
2529         * Decimal.cs:
2530         * Math.cs: Implement missing Decimal.Ceiling methods for 2.0.
2531         Closes #80384.
2533 2006-12-22  Sebastien Pouliot  <sebastien@ximian.com> 
2535         * DateTime.cs: Implement missing [To|From]Binary methods for 2.0.
2536         * OperatingSystem.cs: Implement missing ServicePack and VersionString
2537         properties (2.0).
2538         * Version.cs: Add missing Major|MinorRevision properties for 2.0.
2540 2006-12-14  Raja R Harinath  <rharinath@novell.com>
2542         * Type.cs (MakeGenericType): Can only be called on a generic type
2543         definition.
2545 2006-12-03  Miguel de Icaza  <miguel@novell.com>
2547         * DateTime.cs: Fix this on the 2.0 profile, return the
2548         DateTimeKind for the Now property
2550 2006-12-01  Duncan Mak  <duncan@a-chinaman.com>
2552         * ArgumentOutOfRangeException.cs (.ctor): 
2553         * NotFiniteNumberException.cs (.ctor): Add the 2.0 constructor
2554         that takes a string and an inner Exception.
2556 2006-12-01  Atsushi Enomoto  <atsushi@ximian.com>
2558         * DateTime.cs :
2559           When comparing enumerations, two or more enumeration values might
2560           match. Thus basically we should do complete matching, but right
2561           now just do reverse order search since only numbered abbrev month
2562           names matter (and full iteration is a mess). Fixed bug #80094.
2564 2006-12-01  Atsushi Enomoto  <atsushi@ximian.com>
2566         * DateTime.cs :
2567           use new internal clone-less DateTimeFormatInfo members.
2569 2006-11-29  Martin Baulig  <martin@ximian.com>
2571         * INullableValue.cs: Removed.
2573 2006-11-28  Duncan Mak  <duncan@novell.com>
2575         * ArgumentNullException.cs (.ctor): Added new constructor that's
2576         new in .NET 2.0.
2578         * InsufficientMemoryException.cs: Added missing 2.0 exception.
2579         
2580 2006-11-27  Jonathan Chambers  <joncham@gmail.com>
2582         * __ComObject.cs: Removed IDispatchMono.
2583         
2584 2006-11-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2586         * TermInfoDriver.cs:
2587         * Console.cs: lazy initialization of Console 2.0 (also when
2588         CancelKeyPress is used).
2590 2006-11-27  Miguel de Icaza  <miguel@novell.com>
2592         * Exception.cs (GetType): New method in 2.x, Another Moma catch. 
2594 Mon Nov 27 19:34:16 CET 2006 Paolo Molaro <lupus@ximian.com>
2596         * GC.cs: implemented the needed methods with icalls.
2598 2006-11-26  Miguel de Icaza  <miguel@novell.com>
2600         * Math.cs: Add Floor(Decimal d), for CreativeDocs.NET.
2602         Go Moma!  http://www.mono-project.com/Moma
2604         * Decimal.cs: Refactor code to implement TryParse.
2606         Also, avoid initializing messages on every call to stripStyles
2608 2006-11-22  Miguel de Icaza  <miguel@novell.com>
2610         * DateTime.cs: A small performance hit, we store the actual time
2611         span in a boxed object.   This way, it can be updated from other
2612         threads if necessary.   We always unbox to get the value before
2613         any potential updates. 
2615         Thanks to Gonzalo for catching this.
2617 2006-11-21  Miguel de Icaza  <miguel@novell.com>
2619         * TimeZone.cs (CurrentSystemTimeZone): Cache the current year
2620         daylight savings time in static variables.
2622         (CurrentSystemTimeZone.OnDeserialization): Initialize
2623         this_year_dlt and this_year on this method.
2625         (TimeZone): init statically the currentTimeZone instead of
2626         delaying that to the static property, avoiding a compare. 
2628 2006-11-22  Lluis Sanchez Gual  <lluis@novell.com>
2630         * Array.cs: (compare<T>) if a comparer is provided, it has
2631           priority over other comparison methods.
2633 2006-11-14  Miguel de Icaza  <miguel@novell.com>
2635         * Array.cs: TODOs will from now on be used to flag information
2636         that will be developer-visible, not to flag internal information
2637         that none of us reads or bothers about.
2639         For those, use "FIXME" strings in the source code instead. 
2641         * AppDomain.cs: Update to be more useful.
2643 2006-11-13  Atsushi Enomoto  <atsushi@ximian.com>
2645         * String.cs : fixed incorrect startIndex/length count in
2646           IndexOf(string,StringComparison).
2648 2006-11-07  Marek Safar  <marek.safar@gmail.com>
2650         * String.cs (LastIndexOf): If value is Empty, the return value is
2651         the start index position in value.
2653 2006-10-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2655         * TermInfoDriver.cs: prevent an invalid cast.
2657 2006-10-26  Marek Safar  <marek.safar@seznam.cz>
2659         * String.cs (Concat): Add fast-path for empty strings.
2661 2006-10-20  Jonathan Chambers  <joncham@gmail.com>
2663         * Variant.cs: Add support for bool and interfaces.
2664         
2665 2006-10-18  Kornél Pál  <kornelpal@gmail.com>
2667         * Type.cs: Removed is_subtype_of because IsSubclassOf should be used
2668           that is public and virtual. IsClass: Checking for ValueType is
2669           unnecessary. IsEnum: UnderlyingSystemType is not used anymore so
2670           no EnumBuilder hack is necessary. Checking for Enum is
2671           unnecessary. IsSerializable: Walk BaseType for user defined types.
2672           IsSubclassOf: Walk BaseType for user defined types.
2674         * MonoType.cs: IsValueTypeImpl is unnecessary. IsSubclassOf: Unlike
2675           Type system types throw ArgumentNullException on null Type
2676           argument.
2678 2006-10-14  Gert Driesen  <drieseng@users.sourceforge.net>
2680         * BadImageFormatException.cs: Changed message for default ctor to
2681         match MS. Use internal message field of Exception to check whether
2682         Message is null. Match MS default messages when no message is 
2683         set. Fixed ToString to match MS.
2685 2006-10-09  Miguel de Icaza  <miguel@novell.com>
2687         * Environment.cs: Handle SpecialFolder.MyMusic
2689 2006-10-07 Gert Driesen <drieseng@users.sourceforge.net>
2691         * Enum.cs: Use different exception message depending on whether the
2692         type of the passed in value is an Enum or not. Avoid looking up the
2693         enum's underlying type twice in case of "D" or "d" format specifier.
2695 2006-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2697         * TermInfoDriver.cs: don't allow backspace if we're at the beginning
2698         position for a ReadLine.
2700 2006-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2702         * TermInfoDriver.cs: ironpython autocompletion works now.
2704 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2706         * Console.cs: avoid casting on windows.
2708 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2710         * ConsoleDriver.cs:
2711         * TermInfoDriver.cs:
2712         * IConsoleDriver.cs:
2713         * CStreamWriter.cs:
2714         * ConsoleKeyInfo.cs:
2715         * NullConsoleDriver.cs:
2716         * Console.cs:
2717         * CStreamReader.cs:
2718         * WindowsConsoleDriver.cs: initial changes to handle cursor position
2719         and screen buffers.
2721 2006-09-21  Gert Driesen  <drieseng@users.sourceforge.net>
2723         * ArithmeticException.cs: Modified default message to match MS, to
2724         ensure a local regression test passes on both Mono and .NET.
2726 2006-09-21  Gert Driesen  <drieseng@users.sourceforge.net>
2728         * Exception.cs: Marked message internal to allow derived classes to
2729         access the raw message (without changing the public API).
2731 2006-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2733         * ConsoleDriver.cs:
2734         * TermInfoDriver.cs:
2735         * IConsoleDriver.cs:
2736         * Console.cs:
2737         * WindowsConsoleDriver.cs: don't switch to the alternate window.
2738         Trigger the cancel event. Retrieve the cursor position at the
2739         beginning, as we're going to keep track of it instead of querying it
2740         all the time.
2742 2006-09-14  Jonathan Chambers  <joncham@gmail.com>
2744         * Environment.cs (ProcessorCount): Implement as icall.
2745         Patch by Jason McFall.
2747 2006-09-05  Raja R Harinath  <rharinath@novell.com>
2749         * DateTime.cs (Today) [NET_2_0]: Set kind to Local.
2751 2006-09-02  Zoltan Varga  <vargaz@gmail.com>
2753         * Enum.cs (Equals): Use the generic Equals implementation from ValueType which
2754         is faster and avoids allocations.
2756 2006-09-01  Martin Baulig  <martin@ximian.com>
2758         * Array.cs (Array.InternalArray): Removed the helper class;
2759         instead we use private generic methods in System.Array which are
2760         inserted into the vtable at runtime.
2762 2006-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2764         * ConsoleCancelEventArgs.cs: fix my build.
2766 2006-08-22  Miguel de Icaza  <miguel@novell.com>
2768         * MulticastDelegate.cs: Make DynamicInvokeImpl internal in 2.0 
2770         * Converter.cs: update signature to final.
2772         * ModuleHandle.cs: Removed the [Obsolete] flags as they removed
2773         those in the final 2.0
2775         * DateTime.cs: Fixed the signature. 
2777         * Convert.cs: Removed API calls that were deprecated in final 2.0
2779         * Enum.cs: Updated to use the obsoletes flagged in 2.0.
2781         * ConsoleCancelEventArgs.cs: Updated to 2.0
2783 2006-08-19  Miguel de Icaza  <miguel@novell.com>
2785         * Attribute.cs: This needs to do a deep compare, not a shallow
2786         one.   Ran into this bug with the VBNC compiler that compares two
2787         separate attributes for equality using this.
2789         * String.cs (StartsWith): Fix the overloaded constructor that
2790         takes a CultureInfo, if that is null, it means to use the current
2791         culture. 
2793         * TermInfoDriver.cs: Do not throw exceptions on the driver for
2794         SetWindowSize and SetWindowPosition, they can be treated as nops.
2796 2006-08-18  Zoltan Varga  <vargaz@gmail.com>
2798         * *.cs: Use String.Empty instead of "" in a lot of places.
2800 2006-08-17  Sebastien Pouliot  <sebastien@ximian.com>
2802         * DateTime.cs: Remove last patch to DateTime as the fix wasn't correct
2803         and made most x.509 unit tests fails. However the original problem is 
2804         back (only on 2.0).
2806 2006-08-14  Raja R Harinath  <rharinath@novell.com>
2808         Fix #78943
2809         * Activator.cs (CreateInstance): Throw ArgumentException on open
2810         generic types.
2812 2006-08-14  Miguel de Icaza  <miguel@novell.com>
2814         * MonoType.cs: Do the argument testinf for SetField later,
2815         otherwise the implicit (and not documented, but already considered
2816         side effect of checking SetProperty) did not work.
2818         Bug fix #79023
2820 2006-08-13  Atsushi Enomoto  <atsushi@ximian.com>
2822         * String.cs : Normalize() and IsNormalized() implementation.
2824 2006-08-10  Jonathan Chambers  <joncham@gmail.com>
2826         * __ComObject.cs: Added defintion of IDispatch interface, and
2827         property. Get CLSID of supertype for creation if class not
2828         ComImport attributed (allows for inheritance of RCW).
2829         * MonoType.cs: Implement IsCOMObjectImpl.
2831 2006-08-09  Atsushi Enomoto  <atsushi@ximian.com>
2833         * DateTime.cs : fixed X509Certificate() case that regressed only
2834           under NET_2_0.
2836 2006-08-07  Kornél Pál  <kornelpal@gmail.com>
2838         * Console.cs: Use correct code pages on Windows and initialize
2839           InputEncoding and OutputEncoding to the actual encodings used.
2841 2006-08-05  Duncan Mak  <duncan@novell.com>
2843         * Char.cs (TryParse): Implemented missing 2.0 method, which fixed
2844         bug #79007.
2846 2006-07-28  Jonathan Chambers  <joncham@gmail.com>
2848         * __ComObject.cs: Added support for marshalling objects.
2849         
2850 2006-07-24  Atsushi Enomoto  <atsushi@ximian.com>
2852         * Char.cs : implemented utf32 conversion methods thus fixed bug #78856.
2854 2006-07-19  John Luke  <john.luke@gmail.com>
2856         * TermInfoDriver.cs: switch order of alt and control when
2857         calling new ConsoleKeyInfo()
2859 2006-07-19  Kornél Pál  <kornelpal@gmail.com>
2861         * String.cs: Improve CreateString () performance when length is zero.
2863 2006-07-18  Kornél Pál  <kornelpal@gmail.com>
2865         * String.cs: Added CreateString () methods. Constructors with matching
2866           argument list are redirected to these methods that improves
2867           performance as well as fixes bug #78703.
2869 2006-07-15  Jonathan Chambers  <joncham@gmail.com>
2871         * __ComObject.cs: Begin implementing COM Interop.
2872         * Environment.cs: Increment corlib version.
2873         
2874 2006-07-12  Zoltan Varga  <vargaz@gmail.com>
2876         * Delegate.cs (DynamicInvokeImpl): Add support for bound delegates in Net 2.0.
2878 2006-07-11  Zoltan Varga  <vargaz@gmail.com>
2880         * Double.cs (Parse): Fix handling of inner whitespace.
2882 2006-07-09  Zoltan Varga  <vargaz@gmail.com>
2884         * Int32.cs: Fix a warning.
2886 2006-07-07  Atsushi Enomoto  <atsushi@ximian.com>
2888         * TimeZone.cs : consider DateTimeKind in ToLocalTime() and 
2889           ToUniversalTime(). Fixed bug #78784. Patch by Thong Nguyen.
2890         * DateTime.cs : DateTimeKind for UtcNow should be Utc.
2892 2006-06-28  Kornél Pál  <kornelpal@gmail.com>
2894         * Char.cs: Implemented IsHighSurrogate and IsLowSurrogate methods.
2896 2006-06-27  Atsushi Enomoto  <atsushi@ximian.com>
2898         * Double.cs : don't throw Exception in TryParse() for 'E'.
2899           Fixed bug #78546.
2901 2006-06-20  Jb Evain  <jbevain@gmail.com>
2903         * Math.cs: implement Math.Truncate.
2905 2006-06-13  Atsushi Enomoto  <atsushi@ximian.com>
2907         * DateTime.cs :
2908           Another lame win32 dependent pattern. Fixed bug #78618.
2910 2006-06-09  Jonathan Chambers  <jonathan.chambers@ansys.com>
2912         * Environment.cs: Implement Set/GetEnvironmentVariable for User/Machine.        
2914 2006-06-07  Kornél Pál  <kornelpal@gmail.com>
2916         * Environment.cs: Use Consts.FxFileVersion for Environment.Version
2917           as Consts.RuntimeVersion was removed.
2919 2006-06-05  Jonathan Chambers  <jonathan.chambers@ansys.com>
2921         * Variant.cs: Added.
2922         * Environment.cs: Incremented corlib version since adding Variant.      
2923         
2924 2006-06-01  Raja R Harinath  <rharinath@novell.com>
2926         * Nullable.cs (operator==, operator!=): Remove.
2928 2006-05-31  Zoltan Varga  <vargaz@gmail.com>
2930         * MonoDummy.cs: Removed as it is no longer needed.
2932         * Environment.cs: Bump corlib version.
2933         
2934         * Environment.cs: Revert the last change.
2935         
2936         * Environment.cs: Bump corlib version.
2938         * MonoAsyncCall.cs: New file.
2940 2006-05-30  Gert Driesen  <drieseng@users.sourceforge.net>
2942         * Char.cs: Removed duplicate (explicit) interface implementation.
2943         * String.cs: Removed duplicate (explicit) interface implemenation.
2944         * MulticastDelegate.cs: Fixed API mismatches.
2946 2006-05-29 Paolo Molaro <lupus@ximian.com>
2948         * String.cs: make sure that the chars truncated by a stringbuilder
2949         are zeroed.
2951 2006-05-29  Martin Baulig  <martin@ximian.com>
2953         * Exception.cs
2954         (Exception.StackTrace): Use the new stack trace format which is
2955         very similar to the one of MS.NET - method name goes first,
2956         file / line number last and in the method name, we separate class
2957         and method name by `.'.
2959         * Environment.cs
2960         (Environment.StackTrace): Enable line-number information.
2962 2006-05-24  Atsushi Enomoto  <atsushi@ximian.com>
2964         * DateTime.cs :
2965           Implement 2.0 TryParseExact(). Patch by Seo Sanghyeon.
2967 2006-05-17  Kazuki Oikawa  <kazuki@panicode.com>
2969         * Array.cs : added internal sort method used
2970           in System.Collections.Generics.List<T>.Sort(Comparison<T>).
2972 2006-05-15  Zoltan Varga  <vargaz@gmail.com>
2974         * Environment.cs: Bump corlib version.
2976 2006-05-10  Zoltan Varga  <vargaz@gmail.com>
2978         * MonoType.cs (GetMethodImpl): Fix a warning.
2980 2006-05-08  Atsushi Enomoto  <atsushi@ximian.com>
2982         * ArrayTest.cs : use proper comparer in IndexOf() and LastIndexOf().
2983           Patch by Kazuki Oikawa. Fixed bug #77277.
2985 2006-05-07  Zoltan Varga  <vargaz@gmail.com>
2987         * Nullable.cs (Equals): Fix comparison to null. Fixes #78322.
2989 2006-04-28  Atsushi Enomoto  <atsushi@ximian.com>
2991         * Nullable.cs : updated Nullable<T> API to 2.0 RTM.
2993 2006-04-26  Atsushi Enomoto  <atsushi@ximian.com>
2995         * Double.cs : (Parse) handle currency symbol when
2996           AllowCurrencySymbol is passed as part of the style. Patch by
2997           nede@aliquant.com, modified to eliminate redundant Substring().
2998           This fixes bug #77721.
3000 2006-04-26  Atsushi Enomoto  <atsushi@ximian.com>
3002         * MonoType.cs : (GetMethod) when zero-length type[] is explicitly
3003           passed, don't return methods with some arguments. Fixed bug #77367.
3005 2006-04-21  Gert Driesen  <drieseng@users.souceforge.net>
3007         * Enum.cs: Provide meaningful message when type of passed in value
3008         does not match enum type.
3010 2006-04-19  Raja R Harinath  <rharinath@novell.com>
3012         * Char.cs (Equals): Don't access 'm_value' field of other
3013         instances.  Cast directly to 'char'.
3015 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
3017         * DateTime.cs : implement SpecifyKind(). Patch by Thong Nguyen.
3019 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
3021         * NumberFormatter.cs : general performance improvements. Avoid 
3022           extraneous evaluation for simple formatting. Details are seen in 
3023           bug #77792. Patch by Kazuki Oikawa.
3025 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
3027         * DateTime.cs : implement IsDaylightSavingTime().
3028           Patch by Seo Sanghyeon <tinuviel@sparcs.kaist.ac.kr>.
3030 2006-04-04  Atsushi Enomoto  <atsushi@ximian.com>
3032         * Array.cs :
3033           added some more [ReliabilityContract].
3034           removed some [CLSCompliant].
3035           renamed generic method parameter names.
3037 2006-03-31  Zoltan Varga  <vargaz@gmail.com>
3039         * Environment.cs (SetEnvironmentVariable): Implement.
3041 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
3043         * Array.cs : oops, the last change caused regression. The array must
3044           be transparent to ReadOnlyCollection, not create another list.
3046 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
3048         * Array.cs : AsReadOnly<T>() in RTM returns ReadOnlyCollection<T>.
3049           Thus removed ReadOnlyArray<T> and ReadOnlyArrayEnumerator<T>.
3050           In 2.0 some members became non-virtual.
3052 2006-03-23  Atsushi Enomoto  <atsushi@ximian.com>
3054         * String.cs : oops, NET_2_0.
3056 2006-03-23  Atsushi Enomoto  <atsushi@ximian.com>
3058         * String.cs : added new IndexOf() and LastIndexOf() overloads, and
3059           IEnumerable<char>.GetEnumerator().
3061 2006-03-21  Kornél Pál  <kornelpal@gmail.com>
3063         * String.cs: Make memcpy4 private as it is a helper method.
3064           Make memcpy internal to can be used from UnicodeEncoding.
3066 2006-03-19  Marek Safar  <marek.safar@seznam.cz>
3068         * Nullable.cs (Compare, Equals): Added constrain as gmcs now correctly
3069         reports an error here.
3071 2006-03-16  Atsushi Enomoto  <atsushi@ximian.com>
3073         * Double.cs : (Parse) reject String.Empty.
3075 Wed Mar 15 16:30:51 CET 2006 Paolo Molaro <lupus@ximian.com>
3077         * LocalDataStoreSlot.cs: implement as index in an array.
3078         Implemented finalizer and allow it to remove the data stored
3079         in the slot.
3081 2006-03-15  Zoltan Varga  <vargaz@gmail.com>
3083         * Environment.cs: Bump corlib version.
3085 2006-03-10  Zoltan Varga  <vargaz@gmail.com>
3087         * MonoCustomAttrs.cs (IsDefined): Avoid a runtime assert if a type
3088         overwrites GetCustomAttributes () but not IsDefined ().
3090 2006-03-07  Peter Dennis Bartok  <pbartok@novell.com>
3092         * Environment.cs: Bumped corlib version to 48 (due to r57532)
3094 2006-03-07  Martin Baulig  <martin@ximian.com>
3096         * String.cs (String.FormatHelper): Try getting an `ICustomFormatter'
3097         from the `provider' if possible.
3099 2006-02-26  Gert Driesen  <drieseng@users.souceforge.net>
3101         * DecimalFormatter.cs: Removed obsolete class, as it has been replaced
3102         by NumberFormatter.
3103         * DoubleFormatter.cs: Same.
3104         * SingleFormatter.cs: Same.
3106 2006-02-21  Marek Safar  <marek.safar@seznam.cz>
3108         * String.cs (Equals): Optimized for speed.
3110 2006-02-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3112         * TermInfoDriver.cs: patch by Mike Hull that fixes bug #77518.
3114 Mon Feb 20 11:19:54 CET 2006 Paolo Molaro <lupus@ximian.com>
3116         * MonoType.cs: patch from Joachim Ante <joe@otee.dk> to
3117         improve error messages.
3119 2006-02-15  Martin Baulig  <martin@ximian.com>
3121         * Type.cs (Type.IsGenericInstance): Removed.
3123 2006-02-14  Ankit Jain  <jankit@novell.com>
3124             Raja R Harinath  <rharinath@novell.com>
3126         * ArraySegment.cs (.ctor): Fix bounds check. Rename param 'length' to
3127         'count'.
3129 2006-02-11  Zoltan Varga  <vargaz@gmail.com>
3131         * TermInfoDriver.cs (CreateKeyInfoFromInt): Fix handling of tab and its
3132         friends.
3133         
3134         * TermInfoDriver.cs (GetWindowDimensions): Obtain the exact terminal
3135         size using an icall.
3136         (GetCursorPosition): Convert the row and column to 0 based indexing. 
3137         Also fix reading of large values.
3138         (CreateKeyInfoFromInt): Convert LF to ConsoleKey.Enter.
3140         * ConsoleDriver.cs (GetTtySize): New icall.
3142 2006-02-10  Zoltan Varga  <vargaz@gmail.com>
3144         * Array.cs: Fix some methods which previously returned Nullable<T>.
3146         * Nullable.cs: Add T: struct constraint and fix constructor.
3148 Fri Feb 3 11:01:46 CET 2006 Paolo Molaro <lupus@ximian.com>
3150         * String.cs: changed StartsWith/EndsWith to faster versions.
3152 2006-02-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3154         * String.cs: implement 2.0 StartsWith and EndsWith new overloads. Based
3155         on a patch by Thong Nguyen.
3157 2006-01-31  Zoltan Varga  <vargaz@gmail.com>
3159         * String.cs: Implement one of the new net 2.0 Split methods.
3161 2006-01-31  Atsushi Enomoto  <atsushi@ximian.com>
3163         * String.cs : (LastIndexOf) Fixed bug #77412. It should not expect
3164           that value length is bigger than its index.
3166 2006-01-27  Zoltan Varga  <vargaz@gmail.com>
3168         * DateTime.cs: Add some 2.0 methods and properties.
3170 2006-01-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3172         * Console.cs: if InternalCodePage returns -1, use the default encoding.
3173         Also match the UTF8 one properly. Patch by wall_john@sohu.com.
3175 2006-01-19  Atsushi Enomoto  <atsushi@ximian.com>
3177         * ModuleHandle.cs : GetPEKind() is not public in 2.0 RTM.
3179 2006-01-16  Alp Toker  <alp@atoker.com>
3181         * TimeSpan.cs: Simple implementation of NET 2.0 TryParse() using
3182         try/catch
3184 2006-01-05  Raja R Harinath  <rharinath@novell.com>
3186         Fix regressions introduced by the fix to #71300.
3187         * Activator.cs (CreateInstance): Use Binder.SelectMethod instead
3188         of home-grown FindBestCtor.
3189         (FindBestCtor): Delete.
3191 2006-01-03  Zoltan Varga  <vargaz@gmail.com>
3193         * Nullable.cs: Update to Net 2.0 RTM.
3194         
3195         * Nullable.cs: Add comments about runtime dependencies on the layout of
3196         this type.
3198 2006-01-02  Sebastien Pouliot  <sebastien@ximian.com>
3200         * Activator.cs: Now find the best ctor when null are used for 
3201         paramaters. Fix bug #71300. Added checks for specific types (void,
3202         TypedReference, ArgIterator and RuntimeArgumentHandle).
3203         * Console.cs: Re-use Environment logic to detect Windows.
3204         * Type.cs: Re-applied r45150 as the real bug was in Activator.
3206 2006-01-02  Zoltan Varga  <vargaz@gmail.com>
3208         * Activator.cs: Add a 'params' to one of the CreateInstance overloads.
3210         * RuntimeTypeHandle.cs RuntimeMethodHandle.cs RuntimeFieldHandle.cs:
3211         Add == and != operators.
3213 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com>
3215         * Environment.cs: Bump corlib version to 46.
3216         * TimeZone.cs: Partial fix for #76094. Added [Serializable] attribute 
3217         and renamed internal CurrentTimeZone class to CurrentSystemTimeZone 
3218         (like MS). This allows serialization roundtrip to work in Mono but 
3219         there's still an issue when deserializing a stream from MS. 
3221 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com> 
3223         * NumberFormatter.cs: Fixed rounding for float and the string output
3224         now includes all the precision (not counting preceding zeros). This
3225         fix the DecimalTest.TestConstructSingleRounding_NotWorking test cases.
3227 2005-12-21  Sebastien Pouliot  <sebastien@ximian.com> 
3229         * Array.cs: Fixed Sort<T> with IComparable (generic or not) bug #77039
3231 2005-12-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
3233         * Array.cs: Added the Sort<T> methods (generics). 
3235 2005-12-19  Sebastien Pouliot  <sebastien@ximian.com> 
3237         * Array.cs: Fixed BinarySearch when the array is empty (#77030). Added
3238         some null check which throws ArgumentNullException under 2.0.
3240 2005-12-15  Sebastien Pouliot  <sebastien@ximian.com>
3242         * DateTime.cs: Added MonoTODO to ctor accepting a Calandar instance.
3243         * Double.cs: Under 2.0 throw a ArgumentException when parsing with
3244          NumberStyles.AllowHexSpecifier. Partial fix for #72221. Added the
3245         second, simpler, TryParse method (2.0).
3246         * Single.cs: Added the TryParse methods for 2.0.
3248 2005-12-15  Raja R Harinath  <rharinath@novell.com>
3250         * Type.cs (IsGenericType): Make virtual.
3252 2005-12-08  Sebastien Pouliot  <sebastien@ximian.com> 
3254         * AppDomainSetup.cs: ApplicationBase throw exception on get (not on 
3255         set). New behaviour is more like MS - but most issues (unit tests)
3256         were really path issues. Fix bug #71291.
3257         * DateTime.cs: Add more information when throwing an exception in 
3258         ctor(long). Useful for debugging.
3260 2005-12-07  Zoltan Varga  <vargaz@gmail.com>
3262         * Single.cs Double.cs: Fix warnings.
3264 2005-12-06  Sebastien Pouliot  <sebastien@ximian.com> 
3266         * Convert.cs: ToBase64String method didn't use the option parameter so
3267         we always included new lines. Fix bug #76876.
3269 2005-12-06  Sebastien Pouliot  <sebastien@ximian.com>
3271         * AppDomainSetup.cs: Added missing ComVisible and removed LAMESPEC 
3272         (the docs were fixed).
3273         * NumberFormatter.cs: Fixed the "NotWorking" case where 1.15 was 
3274         misrounded compared to MS implementation. Extra care is required when
3275         dealing with the extra 2 digits information (e.g. double precision is
3276         15 digits but 17 are kept - for a reason ;-)
3278 2005-12-05  Ben Maurer  <bmaurer@ximian.com>
3280         * Environment.cs: Bump version
3282         * Nullable.cs: New Box and Unbox methods for the jit
3284 2004-12-05  Peter Dennis Bartok <pbartok@novell.com>
3286         * Enum.cs: Properly handle "No bits set" case even if the sorted numbers
3287           list does not have enum value 0 as the first item. Fixes #76921
3289 2005-12-05  Sebastien Pouliot  <sebastien@ximian.com>
3291         * AppDomain.cs: CreateComInstanceFrom isn't static in any profile.
3293 Mon Dec 5 15:14:59 CET 2005 Paolo Molaro <lupus@ximian.com>
3295         * Double.cs: remove unused icall.
3296         * BitConverter.cs: handle double binary format on ARM FPA.
3298 2005-12-02  Alp Toker  <alp@atoker.com>
3300         * MonoType.cs:
3301         * Type.cs: DeclaringMethod should return MethodBase, not MethodInfo
3303 2005-12-02  Alp Toker  <alp@atoker.com>
3305         * AppDomain.cs: ReflectionOnlyPreBindAssemblyResolve renamed to
3306         ReflectionOnlyAssemblyResolve in 2.0 final
3308 2005-12-01  Alp Toker  <alp@atoker.com>
3310         * String.cs: Add static and non-static Equals(... StringComparison) for
3311         2.0.
3313 2005-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3315         * TermInfoDriver.cs: special case for the escape key. Fixes bug #76781.
3317 2005-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3319         * TermInfoDriver.cs: if the cursor_address capability contains a %i, we
3320         have to add 1 to x and y when setting the cursor position.
3321         Fixes bug #76856.
3323         * Convert.cs: remove unused variables.
3325 Wed Nov 30 12:14:20 EST 2005 Paolo Molaro <lupus@ximian.com>
3327         * NumberFormatter.cs: work around arch-specific ulong cast behaviour
3328         with large numbers.
3330 Tue Nov 29 05:38:37 EST 2005 Paolo Molaro <lupus@ximian.com>
3332         * Convert.cs: fix endianess issue when converting to base-8
3333         format. All the base code would need a rewrite for efficience.
3335 2005-11-25  Sebastien Pouliot  <sebastien@ximian.com>
3337         * String.cs: Added support for Compare(... StringComparison) in 2.0.
3339 2005-11-25  Alp Toker  <alp@atoker.com>
3341         * Type.cs (IsVisible): New 2.0 property, implemented recursively.
3343 2005-11-17  Dick Porter  <dick@ximian.com>
3345         * Environment.cs: Incremented corlib version
3347 2005-11-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
3349         * Int32.cs, UInt32.cs, Int16.cs, UInt16.cs, Int64.cs,
3350         UInt64.cs, Byte.cs, SByte.cs, Double.cs : Modify internal Parse
3351         methods to return the exception as an out parameter,
3352         instead of throwing it. This will be of special help
3353         to TryParse methods.
3354         * Environment.cs: Update corlib version to 42.
3355         
3356 2005-11-14  Raja R Harinath  <rharinath@novell.com>
3358         * EventHandler.cs (EventHandler<TEventArgs>): Rename from EventHandler<T>.
3360 2005-11-11  Zoltan Varga  <vargaz@gmail.com>
3362         * Type.cs (GetPseudoCustomAttributes): Return ComImportAttribute as well.
3364 2005-11-11  Lluis Sanchez Gual  <lluis@novell.com>
3366         * TimeZone.cs: Removed incorrect double-check lock and unneeded
3367         hashtable access.
3369 2005-11-11  Marek Safar  <marek.safar@seznam.cz>
3371         * Type.cs: IsNested implemented, signature fixes.
3373 2005-11-11  Raja R Harinath  <rharinath@novell.com>
3375         * Array.cs (Resize<T>) [2-argument variant]: Fix nullref.
3377 2005-11-10  Zoltan Varga  <vargaz@gmail.com>
3379         * Array.cs (Resize<T>): New internal method which takes a 'length' argument
3380         as well to avoid copying the whole array.
3382 2005-11-09  Atsushi Enomoto  <atsushi@ximian.com>
3384         * Int64.cs : ditto for long.
3386 2005-11-09  Atsushi Enomoto  <atsushi@ximian.com>
3388         * Int32.cs : Parse("2147483648", format_provider) should be rejected.
3390 2005-11-09  Sebastien Pouliot  <sebastien@ximian.com>
3392         * AttributeTargets.cs: Added [ComVisible (true)] and [Serializable] 
3393         in 2.0 profile.
3394         * Base64FormattingOptions.cs: Added missing [Flags] attribute.
3395         * ConsoleKey.cs: Removed old BackSpace and WhiteSpace (they were 
3396         already replaced by Backspace and Whitespace)
3397         * DateTime.cs: Moved DayOfWeek enum to it's own file.
3398         * DateTimeKind.cs: New (2.0) enum.
3399         * DayOfWeek.cs: New file (extracted from DateTime.cs).
3400         * DomainManagerInitializationFlags.cs: Removed extra [Serializable].
3401         * EnvironmentVariableTarget.cs: Added [ComVisible (true)] and fixed 
3402         values (-1 to all of them).
3403         *  Exception.cs: Added a LinkDemand for SerializationFormatter on
3404         GetObjectData method.
3405         *  LoaderOptimization.cs: Added [ComVisible (true)] and [Serializable] 
3406         on enum and added [Obsolete] to DomainMask and DisallowBindings in 2.0
3407         profile.
3408         * PlatformID.cs: Added [ComVisible (true)] and [Serializable] in 2.0 
3409         profile.
3410         * StringComparison.cs: New (2.0) enum (needed for Uri).
3411         * TermInfoDriver.cs: Fixed BackSpace -> Backspace (see ConsoleKey.cs).
3412         * TypeCode.cs: Added [ComVisible (true)] and [Serializable] in 2.0 
3413         profile.
3415 2005-11-08  Atsushi Enomoto  <atsushi@ximian.com>
3417         * Type.cs : I forgot to mention, some '(' were missing in the
3418           improved patch ;-)
3420 2005-11-08  Zoltan Varga  <vargaz@freemail.hu>
3422         * Type.cs (GetPseudoCustomAttributes): Check for TypeAttributes.Serializable instead of
3423         IsSerializable property, since the latter returns true for delegates/enums.
3425 2005-11-05  Kornél Pál  <kornelpal@hotmail.com>
3427         * Environment.cs: Use Consts.RuntimeVersion as Environment.Version that
3428           makes maintenance easier.
3430 2005-10-24  Martin Baulig  <martin@ximian.com>
3432         * Type.cs (Type.IsGenericTypeDefinition): Make this virtual.
3434 2005-10-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3436         * String.cs: fix bound checkings for LastIndexOfAny. Closes bug #76519.
3438 2005-10-20  Raja R Harinath  <rharinath@novell.com>
3440         * Array.cs (Swapper): Remove NET_2_0 guards from nested declaration.
3442 2005-10-16  Michal Moskal  <malekith@nemerle.org>
3444        * TermInfoDriver.cs: Call Init () in Background/ForegroundColor.
3446 2005-10-14  Atsushi Enomoto  <atsushi@ximian.com>
3448         * DateTime.cs : another crappy Windows dependent format.
3450 2005-10-14  Ben Maurer  <bmaurer@ximian.com>
3452         * DateTime.cs: Speed up when parsing date time objects by not
3453         duplicating cultureinfo arrays.
3455 2005-10-13  Zoltan Varga  <vargaz@gmail.com>
3457         * Type.cs (GetTypeCode): Applied patch from 
3458         Mike Welham <mwelham@gmail.com>. Return TypeCode.Empty when null is
3459         passed in.
3461 2005-10-07  Zoltan Varga  <vargaz@gmail.com>
3463         * Delegate.cs: Add support for delegate covariance and contravariance
3464         from net 2.0.
3466 2005-10-03  Atsushi Enomoto  <atsushi@ximian.com>
3468         * StringComparer.cs : (OrdinalIgnoreCaseComparer.Equals()) reverse.
3470 2005-09-26  Zoltan Varga  <vargaz@gmail.com>
3472         * String.cs (ParseFormatSpecifier): Fix skipping of whitespace. Fixes
3473         #76204.
3475 2005-09-23  Miguel de Icaza  <miguel@novell.com>
3477         * Decimal.cs: Fix typo, patch from Tomas Kukol <tomas.kukol@gmail.com>
3479 2005-09-19  Zoltan Varga  <vargaz@gmail.com>
3481         * MonoCustomAttrs.cs (GetCustomAttributesInternal): Add
3482         attributeType parameter.
3483         (IsDefined): New icall.
3485         * MonoCustomAttrs.cs: Avoid instantiating all custom attrs of an
3486         object when only a specific attribute type is requested. Fixes #76062.
3488         * Environment.cs: Bump corlib version.
3490 2005-09-09  Zoltan Varga  <vargaz@gmail.com>
3492         * TypeLoadException.cs MissingMethodException.cs MissingFieldException.cs: Add new ctors called by the runtime. Improve Message property.
3494 2005-09-14  Atsushi Enomoto  <atsushi@ximian.com>
3496         * DateTime.cs : (_DoParse) don't check ticks range before computing
3497           the actual value. Fixed bug #76082.
3499 2005-09-14  Atsushi Enomoto  <atsushi@ximian.com>
3501         * TimeZone.cs : When the target DateTime is in the range of
3502           DST end to DST + delta, don't adjust UtcOffset gap between that of
3503           DST and that of STD. This should fix bug #75985.
3505 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
3507         * TimeZone.cs, DateTime.cs :
3508           - ToLocalTime() and ToUniversalTime() are moved to TimeZone.
3509           - Added more COM patterns. Patch by Ankit Jain. Fixed bug #72132.
3510           - use ToLocalTime() and don't depend on the own offset computation.
3511             Parse() with 'Z' pattern is closer to correct value on switching
3512             Daylight Saving Time. See bug #75985.
3514 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
3516         * DateTime.cs : (DoParse) DateTimeStyles.AdjustToUniversal was not
3517           handled as expected and it kept time value as local one.
3518           Patch by Brion Vibber. Fixed bug #75995.
3520 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
3522         * DateTime.cs : Literal escape (\) was not checking format as
3523           expected. Fixed bug #75213.
3525 2005-09-05  Miguel de Icaza  <miguel@novell.com>
3527         * MonoType.cs: Patch from Jonathan Chambers to implement
3528         Type.GUID. 
3530 2005-09-05  Martin Baulig  <martin@ximian.com>
3532         Reflect latest API changes in the August CTP.
3534         * Type.cs (Type.HasGenericArguments): Removed.
3535         (Type.BindGenericParameters): Renamed to MakeGenericType().
3537 2005-09-01  Atsushi Enomoto  <atsushi@ximian.com>
3539         * DateTime.cs : another idiotic COM dependent format.
3541 2005-09-01  Kornél Pál  <kornelpal@hotmail.com>
3543         * __ComObject.cs: Fixed to be internal. Removed CLSCompliant attribute.
3544         Added some comments about the class.
3546 2005-08-30  Sebastien Pouliot  <sebastien@ximian.com>
3548         * AppDomain.cs: Use the more concise property syntax for declarative
3549         security.
3550         * AppDomainManager.cs: Default HostSecurityManager is null.
3552 2005-08-25  Atsushi Enomoto  <atsushi@ximian.com>
3554         * NumberFormatter.cs : eliminate non-ASCII character.
3556 2005-08-25  Marek Safar  <marek.safar@seznam.cz>
3558         * Enum.cs: Better exception message.
3559         
3560 2005-08-21  Gert Driesen  <drieseng@users.sourceforge.net>
3562         * Convert.cs: In FromBase64String, return empty byte array for zero
3563         length string. Pass bool to InternalFromBase64String to control 
3564         whether to allow a whitespace-only string.
3565         * Environment.cs: Bump corlib version.
3567 2005-08-20  Zoltan Varga  <vargaz@freemail.hu>
3569         * Environment.cs: Bump corlib version.
3571 2005-08-19  Zoltan Varga  <vargaz@freemail.hu>
3573         * Math.cs: Implement a new 2.0 Round method.
3575 2005-08-19  Gert Driesen  <drieseng@users.sourceforge.net>
3577         * Convert.cs: Throw OverflowException if result is larger than
3578         ushort.MaxValue to match MS.NET. Remove commented code.
3580 2005-08-17  Gert Driesen  <drieseng@users.sourceforge.net>
3582         * Convert.cs: For now, do not throw OverflowException if hex prefixed
3583         value is negative for signed types (other than int64). Need to look
3584         into this further.      
3586 2005-08-17  Gert Driesen  <drieseng@users.sourceforge.net>
3588         * Convert.cs: Numerous fixed in overloads taking base to match 
3589         behaviour of MS.NET. Throw ArgumentOutOfRangeException is string is
3590         empty. If base is 16, 8 or 2, then throw ArgumentException if first 
3591         character is a negative sign. Throw OverflowException if hex prefixed 
3592         value is negative for signed types (other than int64) to match MS.NET. 
3594 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
3596         * DateTime.cs : added another COM dependent pattern (rather to describe
3597           how it works on .NET than to add the pattern itself...).
3599 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
3601         * DateTime.cs : added case for bug #53023.
3603 2005-08-10  Zoltan Varga  <vargaz@freemail.hu>
3605         * Type.cs: Add IsGenericType property from NET 2.0.
3607 2005-08-10  Atsushi Enomoto  <atsushi@ximian.com>
3609         * String.cs : added new StartsWith()/EndsWith() override, fixing
3610           existing EndsWith() which incorrectly assumed that both string
3611           lengths must be equivalent (they are not always equal).
3612         * StringComparer.cs : added Ordinal and OrdinalIgnoreCase.
3614 2005-08-09  Zoltan Varga  <vargaz@freemail.hu>
3616         * String.cs: Implement Split(String[]) methods.
3618 2005-08-09  Miguel de Icaza  <miguel@novell.com>
3620         * AppDomainSetup.cs: Full-pathization of the appBase should only
3621         be done on Windows, the ":" condition never applied to Linux.
3623         * ConsoleKey.cs: Include a few aliases for a few values that were
3624         introduced recently.
3626 2005-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3628         * ConsoleKey.cs: added Backspace, which has the same value as BackSpace.
3629         Fixes bug #75697.
3631 2005-08-08  Atsushi Enomoto  <atsushi@ximian.com>
3633         * String.cs : (StartsWith) compared string lengths are not always the
3634           same in culture-sensitive comparison.
3636 2005-08-05  Gert Driesen  <drieseng@users.sourceforge.net>
3638         * Array.cs: Changed protected ctor to private. Fixes API compatibility
3639         with MS.NET.
3640         * RuntimeFieldHandle.cs: Equals methods and GetHashCode should only
3641         be exposed in 2.0 profile.
3642         * RuntimeMethodHandle.cs: Equals methods and GetHashCode should only
3643         be exposed in 2.0 profile.
3644         * RuntimeTypeHandle.cs: Equals methods and GetHashCode should only
3645         be exposed in 2.0 profile.
3646         * Type.cs: Added GetType method and implemented _Type interface.
3647         Fixes API compatibility with MS.NET.
3649 2005-07-28  Marek Safar  <marek.safar@seznam.cz>
3651         * StringComparer.cs: Add generics version of string interfaces.
3653 2005-07-26  Atsushi Enomoto  <atsushi@ximian.com>
3655         * StringComparer.cs : implemented StringCultureComparer.GetHashCode().
3657 2005-07-26  Zoltan Varga  <vargaz@freemail.hu>
3659         * StringSplitOptions.cs MidpointRounding.cs: New files.
3661         * String.cs Math.cs: Add stubs for some new 2.0 APIs.
3663 2005-07-26  Marek Safar  <marek.safar@seznam.cz>
3665         * StringComparer.cs: New file.
3667 2005-07-26  Raja R Harinath  <harinath@gmail.com>
3669         * Enum.cs (GetValue): Make private.  Return an ulong.
3670         (Parse): Tighten scope of couple of variables.  Use ulong when
3671         twiddling bits.
3673 2005-07-25  Raja R Harinath  <rharinath@novell.com>
3675         * Enum.cs (FindName, GetValue): New.  Carved out of ...
3676         (Parse): ... this.  Refactor and simplify code.  Avoid incurring
3677         exceptions when parsing names.  Avoid allocating arrays unless
3678         necessary.  Avoid conversion of an enumeration constant to its own
3679         type.  (Incorporates ideas from a patch by Gonzalo Paniagua Javier.)
3681 2005-07-13  Lluis Sanchez Gual  <lluis@novell.com>
3683         * MarshalByRefObject.cs: GetLifetimeService() should be virtual.
3684         Fixes bug #75527.
3686 2005-07-13  Miguel de Icaza  <miguel@novell.com>
3688         * Array.cs: Patch from rodrigobamboo@gmail.com that fixes the
3689         signature for GetValue and SetValue to make the long [] argument
3690         be a params argument. 
3692 2005-07-11  Pedro Martínez Juliá  <pedromj@gmail.com>
3694         * Convert.cs: Fix the bug when Convert.ChangeType was using
3695         NumberFormatInfo instead of DateTimeFormatInfo when the type to
3696         change is a DateTime.
3698 2005-07-11  Martin Baulig  <martin@ximian.com>
3700         * Array.cs: Use Type.Equals() instead of `==' to compare type
3701         parameters.     
3703 2005-07-10  Kamil Skalski <nazgul@nemerle.org>
3705         * Type.cs: Mark BindGenericParameters as deprecated. Use
3706         MakeGenericType as default implementation with updated signature.
3708 2005-07-09  Zoltan Varga  <vargaz@freemail.hu>
3710         * Attribute.cs (IsDefined): Fix IsDefined for ParameterInfo's. Fixes
3711         #75514.
3713 2005-07-05  Lluis Sanchez Gual  <lluis@novell.com>
3715         * DelegateSerializationHolder.cs: When the deserialized target is
3716         a proxy, call IsInstanceOfType to force the proxy to load the
3717         real type of the remote object. This is needed to make sure that
3718         subsequent calls to GetType() return the expected type. This fixes
3719         bug #75447.
3721 2005-07-03  Ben Maurer  <bmaurer@ximian.com>
3723         * OperatingSystem.cs: patch from Aleksandar Dezelin to fix
3724         serialization.
3726 2005-06-30  Sebastien Pouliot  <sebastien@ximian.com> 
3728         * Guid.cs: Avoid code duplication between overriden methods (new in 
3729         2.0). Avoid exception processing when possible. Renamed parameters to
3730         match the framework. Added ComVisible to NET_2_0.
3732 2005-06-28  Elliott Draper  <el@eldiablo.co.uk>
3734         * Activator.cs: This implements the generic Activator.CreateInstance<T>()
3735         function for NET_2_0. It's full signature is:
3736                 public static T CreateInstance<T>();
3738 2005-06-28  Lluis Sanchez Gual  <lluis@novell.com>
3740         * Decimal.cs: Renamed internal fields for the sake of serialization
3741         interoperability with MS.NET.
3742         * Exception.cs: In the StackTrace property, return the stack trace
3743         if it has a value, even if the exception has not been thrown
3744         (it may have been deserialized).
3746 2005-06-28  Martin Baulig  <martin@ximian.com>
3748         * Array.cs (Array.InternalArray<T>): New nested class; derives
3749         from Array.  This is now used by the runtime for arrays; fixes #74953.
3751 2005-06-27  Atsushi Enomoto  <atsushi@ximian.com>
3753         * String.cs : added some extra whitespace characters for Trim().
3754           Fixed bug #75259.
3756 2005-06-13  Michal Moskal <malekith@nemerle.org>
3757         
3758         * MonoType.cs: Don't use MethodHandle in GetMethod/GetConstructor,
3759         since it now throws on MethodBuilders. Don't use FieldHandle in
3760         GetField (throws on FieldBuilder) - just use the name.
3762 2005-06-13  Martin Baulig  <martin@ximian.com>
3764         * MonoType.cs
3765         (MonoType.getFullName): Added `bool assembly_qualified' argument.
3766         (MonoType.AssemblyQualifiedName): The interncall now adds the
3767         assembly name, so we don't need to do it here.
3768         (MonoType.FullName): Use the new getFullName() API.
3770 2005-06-14  Sebastien Pouliot  <sebastien@ximian.com>
3772         * Char.cs: ToLowerInvariant and ToUpperInvariant are now public in 
3773         NET_2_0. Added "new" white char and ComVisible for 2.0.
3775 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3777         * Convert.cs: FromBase64String and FromBase64CharArray are now internal
3778         calls to avoid extra allocations.
3780 2005-06-09  Kamil Skalski <nazgul@nemerle.org>
3782         * Type.cs: Add MakeGenericType method form .NET 2.0 beta 2 API
3784         * Type.cs MonoType.cs: Add internal virtual
3785         Get{Method,Constructor,Field} for obtaining instanciated *Info objects
3786         from non-instanciated counterparts
3788 2005-06-09  Zoltan Varga  <vargaz@freemail.hu>
3790         * ModuleHandle RuntimeMethodHandle.cs RuntimeTypeHandle.cs RuntimeFieldHandle.cs RuntimeArgumentHandle.cs: Add missing 2.0 attributes.
3792 2005-06-08  Zoltan Varga  <vargaz@freemail.hu>
3794         * Type.cs: Add missing 2.0 attributes.
3796 2005-06-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
3798         * MonoCustomAttrs.cs: Added GetCustomAttributesDataInternal icall, and
3799         also internal method GetCustomAttributesData, used by 
3800         System.Reflection.CustomAttributeData.
3801         
3802 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
3804         * Activator.cs: Added  _Activator interface (and members) for 1.1 and
3805         missing attributes (for both 1.1 and 2.0).
3806         * String.cs: Made internal To[Lower|Upper]Invariant methods public for
3807         2.0. Reworked Trim() to skip a useless call. Added missing attribute
3808         for 2.0.
3809         * Type.cs: Added  _Type, _MemberInfo interfaces (1.1/2.0). Added 
3810         missing attribute for 2.0. Hided some public/protected methods.
3812 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
3814         * ModuleHandle.cs: Update after PortableExecutableKinds name change.
3816 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
3818         * _AppDomain.cs: Added new members in the interface (added in 1.1 SP1)
3819         * AppDomain.cs: Added new members from _AppDomain interface.
3820         * AppDomainManager.cs: Fixed flags and added attributes.
3821         * DomainManagerInitializationFlags.cs: The flag has been renamed to 
3822         AppDomainManagerInitializationOptions in beta2.
3824 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
3826         * Type.cs MonoCustomAttrs.cs: Return SerializableAttribute for types as well.
3828 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
3830         * Exception.cs: Implements _Exception only for 2.0.
3832 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
3834         * GC.cs: Fix build.
3835         
3836         * GC.cs UnhandledExceptionEventArgs.cs IntPtr.cs RuntimeFieldHandle.cs 
3837           String.cs Object.cs Math.cs RuntimeMethodHandle.cs ModuleHandle.cs 
3838           RuntimeTypeHandle.cs AppDomain.cs: Add some missing 2.0 methods/attributes.
3840 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3842         * Environment.cs:
3843         * AppDomain.cs: if the assembly is loaded from a byte array, Location
3844         returns "". Fixes bug #74958.
3846 2005-06-04  Ben Maurer  <bmaurer@ximian.com>
3848         * *.cs: More 2.0 API fixups
3850         * *.cs: In beta 2, generics are no longer non-cls-compliant.
3852 2005-06-05  Kazuki Oikawa  <kazuki@panicode.com>
3854         * NumberFormatter.cs: Fixed the output of 0.ToString("00.00E00")
3855         that was different from MSFT.
3856         * String.cs: Fixed IndexOfAny thrown an exception
3857         when startIndex of arguments equals Length. (Closes bug #75083.)
3859         * Decimal.cs: Changed to use NumberFormatter in ToString.
3860         * NumberFormatter.cs: Implemented decimal formatter.
3862 2005-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3864         * Type.cs: reverted wrong fix for bug #71300 in r45150. This makes SSL
3865         support in System.Net work again.
3867 2005-06-01  Ben Maurer  <bmaurer@ximian.com>
3869         * CharEnumerator.cs: add IEnumerable <char> support
3871 2005-05-30  Sebastien Pouliot  <sebastien@ximian.com>
3873         * Activator.cs: Added missing validation on parameters.
3875 2005-05-28  Ben Maurer  <bmaurer@ximian.com>
3877         * Type.cs: Check that the arguments of the `types' array are
3878         non-null. Fixes bug 71300
3880 2005-05-28  Sebastien Pouliot  <sebastien@ximian.com>
3882         * AppDomainSetup.cs: Added new 2,0 constructors and the 
3883         ActivationArguments property.
3884         * AppDomainManager.cs: Added using System.Runtime.Hosting as it is the
3885         new location for the ApplicationActivator class.
3886         * ApplicationActivator.cs: Moved to System.Runtime.Hosting namespace.
3888 2005-05-27  Vladimir Vukicevic  <vladimir@pobox.com>
3890         * Environment.cs: bump corlib version for bug #75060.
3892 2005-05-27  Raja R Harinath  <rharinath@novell.com>
3894         * Environment.cs (ExpandEnvironmentVariables): Rewrite
3895         sb.Append (s.SubString (a, b)) to sb.Append (s, a, b).
3896         * String.cs (FormatHelper): Rewrite sb.Append (s.SubString (a)) to
3897         sb.Append (s, a, s.Length - a).  Avoid allocating 'pad' string --
3898         StringBuilder has an appropriate Append overload.
3900 2005-05-26  Zoltan Varga  <vargaz@freemail.hu>
3902         * Type.cs (IsEnum): Special case EnumBuilder here.
3904 2005-05-26  Sebastien Pouliot  <sebastien@ximian.com>
3906         * MonoType.cs: Changed call from GetName to UnprotectedGetName to
3907         allow call to work with serialization under a restrictive policy.
3908         The code path (the protected information) isn't being used.
3910 2005-05-25  Zoltan Varga  <vargaz@freemail.hu>
3912         * Exception.cs: Use the new StackTrace ctor.
3914         * Type.cs: Improve support for user defined type subclasses.
3916 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
3918         * DateTime.cs : Added minimum digit parameter to ParseNumber() to
3919           reject 2 digit years for "yyyy".
3920           Use GetAllDateTimePatterns() instead of constant string.
3921           Fixed bug #72788.
3923 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
3925         * DateTime.cs : next_not_digit prevented some valid parse.
3926           Just remove it, since now we pass max length to ParseNumber() and
3927           thus it is not needed anymore. Fixed bug 63137.
3929 2005-05-24  Atsushi Enomoto  <atsushi@ximian.com>
3931         * DateTime.cs : HH should not always block tt. Fixed bug #60912.
3932           Reset num after whitespace parsing.
3933           Added "M/d/yyyy HH':'mm':'ss tt" as an invariant pattern.
3935 2005-05-24  Atsushi Enomoto  <atsushi@ximian.com>
3937         * DateTime.cs : Allow ',' where whitespaces are allowed.
3938           Fixed bug #71289.
3940 2005-05-22  Ben Maurer  <bmaurer@ximian.com>
3942         * BitConverter.cs: Speed this up, fixing 74014. Patch from
3943         `Aleksandar Dezelin'.
3945 2005-05-20  Zoltan Varga  <vargaz@freemail.hu>
3947         * Type.cs: Add some helper methods needed by other classes.
3949         * Array.cs: Improve support for user defined Type subclasses.   
3950         
3951         * Type.cs: Rename GetTypeCode icall to GetTypeCodeInternal and add a managed
3952         wrapper function, not used yet.
3954         * Type.cs Array.cs: Revert this as it breaks the build.
3956         * Type.cs Array.cs: Improve support for user defined Type subclasses.
3958 2005-05-19  Ben Maurer  <bmaurer@ximian.com>
3960         * Delegate.cs (Equals): Use `as' to protect in the case where !
3961         (obj is Delegate)
3963 2005-05-19  Raja R Harinath  <rharinath@novell.com>
3965         * Console.cs (Readline) [NET_2_0]: Avoid "uninitialized variable"
3966         error.
3968 2005-05-19  Miguel de Icaza  <miguel@novell.com>
3970         * TermInfoDriver.cs: Removed warning.
3972         * Array.cs (Resize<T>, TrueForAll<T>, ConvertAll<TInput,TOutput>,
3973         FindLastIndex<T>: Parameter names are normative.        
3974         Fix coding style ("Method<T>" not "Method <T>")
3975         Throw argument exceptions per argument.
3976         
3977         (FindAll): Fix bug, actually return the values that were computed,
3978         not a short version of the original array.
3979         
3980 2005-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3982         * Console.cs: fix error in the 2_0 side and split ReadLine in 2, one
3983         for each framework version.
3985 2005-05-15  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
3987         * Attribute.cs:
3988         * Exception.cs: .Net 1.1 already has these interfaces
3990 Mon May 16 18:23:49 CEST 2005 Paolo Molaro <lupus@ximian.com>
3992         * MonoCustomAttrs.cs, Type.cs: do not create a SerializableAttribute
3993         object on GetCustomAttributes (fixes bug #74717).
3995 2005-05-15  Atsushi Enomoto  <atsushi@ximian.com>
3997         * DateTime.cs : for 'z' next_not_digit didn't work as expected.
3998           Fixed bug #74775.
4000 2005-05-15  Atsushi Enomoto  <atsushi@ximian.com>
4002         * DateTime.cs : don't allow extraneous pattern characters also for
4003           non-exact parsing (ParseExact() was fine). Bug #74936 fixed
4005 2005-05-13  Gert Driesen <drieseng@users.sourceforge.net>
4007         * Activator.cs: Match exceptions thrown by MS.NET for
4008         CreateInstance overloads if type is abstract. Fixes bug #74861.
4010 2005-05-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4012         * OperatingSystem.cs: PlatformID.Unix.
4014 2005-05-09  Sebastien Pouliot  <sebastien@ximian.com>
4016         * Environment.cs: Patch from Gonzalo to fix Environment.OSVersion.
4017         Platform under NET_2_0 to return PlatformID.Unix. Fix bug #74841.
4019 2005-05-07  Atsushi Enomoto  <atsushi@ximian.com>
4021         * NumberFormatter.cs : roundtrip number is already rounded before
4022           FormatGeneral() and DefaultMaxPrecision was extraneous. This fixes
4023           bug #72955.
4025 2005-05-07  Ben Maurer  <bmaurer@ximian.com>
4027         * Array.cs (BinarySearch): Patch from kazuki to pass arguments to
4028         the comparer in the same order as msft. Fixes #70725
4030 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4032         * Enum.cs: the hashtable don't need to be synchronized any more, since
4033         it's only accessed from withint a lock.
4035         * Console.cs: stdin, stdout and stderr will never be finalized. Fixes
4036         bug 74768.
4038 2005-05-06  Zoltan Varga  <vargaz@freemail.hu>
4040         * Array.cs: Remove CLSCompliant (false) attributes.
4042 2005-05-06  Martin Baulig  <martin@ximian.com>
4044         * Predicate.cs, Action.cs, Comparision.cs, Converter.cs: Add
4045         [CLSCompliant(true)] attribute.
4047 2005-05-04  Miguel de Icaza  <miguel@novell.com>
4049         * Enum.cs (MonoEnumInfo): Based on a patch from James Willcox,
4050         initialize cache as a static method.  Fixes #74828.
4052 2005-05-03  Marek Safar  <marek.safar@seznam.cz>
4054         * Console.cs: CancelKeyPress is stubbed.
4056 2005-04-25  Sebastien Pouliot  <sebastien@ximian.com>
4058         * ActivationContext.cs: Updated for beta2.
4059         * AppDomainManager.cs: Updated for beta2.
4060         * ApplicationId.cs: Updated for beta2.
4061         * ApplicationIdentity.cs: Updated for beta2.
4062         * Exception.cs: Now use Assembly.UnprotectedGetName () as Exception 
4063         doesn't leak the code base from the returned AssemblyName.
4065 2005-04-25  Martin Baulig  <martin@ximian.com>
4067         * Environment.cs (Environment.Version): Changed to 2.0.50215.
4069 2005-04-22  Sebastien Pouliot  <sebastien@ximian.com>
4071         * Attribute.cs: Added _Attribute interface to NET_2_0 to reduce the 
4072         number of "missing" in the class status pages.
4074 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4076         * MulticastDelegate.cs: (GetInvocationList) when building the list that
4077         is later traversed forward, mark 'this' as the end of the chain.
4078         Fixes bug #74607.
4080 2005-04-19  Zoltan Varga  <vargaz@freemail.hu>
4082         * Environment.cs: Bump corlib version.
4084 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4086         * WindowsConsoleDriver.cs: ignore key release events.
4088 2005-04-06  Atsushi Enomoto  <atsushi@ximian.com>
4090         * Char.cs : ToUpper()/ToLower() comparison ranges were incorrect.
4092 2005-04-05  Sebastien Pouliot  <sebastien@ximian.com>
4094         * _AppDomain.cs: Add security checks to the interface. Declarative 
4095         security on events requires BOOTSTRAP_WITH_OLDLIB to work properly 
4096         with older MCS.
4097         * AppDomain.cs: Add some (not complete) security checks. Bug#74411 is
4098         blocking some cases from working properly. Declarative security on 
4099         events requires BOOTSTRAP_WITH_OLDLIB to work properly with older MCS.
4101 2005-04-04  Sebastien Pouliot  <sebastien@ximian.com>
4103         * AppDomain.cs: Use the PolicyLevel to resolve the granted permissions
4104         on the AppDomain. Added an internal property to get the granted set.
4106 2005-04-04  Atsushi Enomoto  <atsushi@ximian.com>
4108         * String.cs,
4109           Char.cs : use TextInfo for ToLower() and ToUpper().
4111 2005-03-31  Sebastien Pouliot  <sebastien@ximian.com>
4113         * Exception.cs: Added Assert for TypeInformation to GetObjectData and
4114         ToString methods (not required for 2.0 as TypeInformation will be 
4115         deprecated). Added null check for GetObjectData.
4117 Tue Mar 29 11:47:19 CEST 2005 Paolo Molaro <lupus@ximian.com>
4119         * Delegate.cs: allow IronPython 0.7 to compile.
4121 2005-03-24  Miguel de Icaza  <miguel@novell.com>
4123         * Delegate.cs: Add CreateDelegate with a target option, currently
4124         internal as it is not exposed by the framework yet.
4126 2005-03-24  Zoltan Varga  <vargaz@freemail.hu>
4128         * String.cs: Add some 2.0 methods.
4130 2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
4132         * Activator.cs: Now use the supplied evidences when loading 
4133         assemblies. Added LinkDemand for RemotingConfiguration on both
4134         GetObject methods.
4135         * Console.cs: Added Assert for UnmanagedCode on OpenStandard[Error|
4136         Input|Output] as they use a handle on a FileStream (which is
4137         restricted otherwise). Added Demand for UnmanagedCode for the
4138         Set[Error|In|Out] methods.
4139         * MarshalByRefObject.cs: Added LinkDemand for Infrastructure on 
4140         CreateObjRef, GetLifetimeService and InitializeLifetimeService.
4141         * RuntimeMethodHandle.cs: Added Demand for UnmanagedCode on 
4142         GetFunctionPointer method.
4143         * TypedReference.cs: Added LinkDemand for ReflectionPermission's
4144         MemberAccess on MakeTypedReference.
4146 2005-03-14  Sebastien Pouliot  <sebastien@ximian.com>
4148         * Environment.cs: Fix CAS unit tests for NET_1_1.
4149         * Exception.cs: Fix CAS unit tests for NET_1_1.
4151 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4153         * Version.cs: don't ignore the last number. Fixes bug #73539.
4155 2005-03-11  Sebastien Pouliot  <sebastien@ximian.com>
4157         * MonoType.cs: When the security manager is active, constructors and
4158         methods will return null if a linkdemand fails during reflection 
4159         query.
4161 2005-03-11  Zoltan Varga  <vargaz@freemail.hu>
4163         * Array.cs (Sort): Bail out early if length <= 1. Fixes #72721.
4165 2005-03-10  Zoltan Varga  <vargaz@freemail.hu>
4167         * Environment.cs: Bump corlib version.
4169 2005-03-10  Martin Baulig  <martin@ximian.com>
4171         * Nullable.cs (Nullable<T>.ToString): Return an empty string if
4172         we're null.
4174 2005-03-09  Zoltan Varga  <vargaz@freemail.hu>
4176         * Activator.cs MonoType.cs: Applied patch from Carlos Alberto Cortez
4177         (carlos@unixmexico.org). Allow creation of valuetypes with no ctor.
4178         Fixes #73432.
4180 2005-03-04  Zoltan Varga  <vargaz@freemail.hu>
4182         * Environment.cs: Bump corlib version.
4184         * Exception.cs (StackTrace): Return the wrapper info as well.
4186 2005-03-02  Kazuki Oikawa  <kazuki@panicode.com>
4188         * NumberFormatter.cs: Some internal classes was converted to structs,
4189         and improved some points.
4191 2005-02-26  Kazuki Oikawa  <kazuki@panicode.com>
4193         * NumberFormatter.cs: Improved performance and memory usage
4194         when integer standard format.
4195         * SByte.cs:
4196         * Int16.cs:
4197         * Int32.cs:
4198         * Int64.cs:
4199         * Byte.cs:
4200         * UInt16.cs:
4201         * UInt32.cs:
4202         * UInt64.cs:
4203         * Single.cs:
4204         * Double.cs:
4205         * TimeSpan.cs: Improved these directly call to NumberFormatter.
4207 2005-02-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4209         * TermInfoDriver.cs: set the xmit mode if available. Handle key input
4210         and translate them into a ConsoleKeyInfo.
4211         * TermInfoReader.cs: added a method to return the bytes of a string
4212         property.
4213         * ConsoleKeyInfo.cs: added copy constructor and setters.
4215 2005-02-24  Zoltan Varga  <vargaz@freemail.hu>
4217         * Array.cs: Add missing 2.0 attributes and correct some parameter names.
4219 2005-02-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
4221         * AppDomain.cs: Changed GetAssemblies, LoadAssembly, and Load signatures,
4222         and added some to support the reflection only methods. DoAssemblyResolve
4223         was modified to invoke the new PreBindAssemblyResolve event when the
4224         assembly is reflection only.
4225         
4226 2005-02-21  Zoltan Varga  <vargaz@freemail.hu>
4228         * GC.cs Double.cs IntPtr.cs Array.cs Decimal.cs Math.cs Single.cs:
4229         Add net 2.0 ReliabilityContractAttributes.
4231 2005-02-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4233         * TermInfoDriver.cs: cygwin terminals are handled by the windows
4234         console driver.
4236         * TermInfoReader.cs:
4237         * TermInfoNumbers.cs:
4238         * KnownTerminals.cs:
4239         * TermInfoBooleans.cs:
4240         * TermInfoStrings.cs: documented.
4242 2005-02-19  Kazuki Oikawa <kazuki@panicode.com>
4244         * Array.cs: Reverse the order in the Equals calls.
4246 2005-02-18  Zoltan Varga  <vargaz@freemail.hu>
4248         * Exception.cs (StackTrace): Implement this in managed code since it is
4249         needed by CAS. Fixes #72146.
4251 2005-02-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4253         * WindowsConsoleDriver.cs: implemented MoveBufferArea.
4255 2005-02-14  Raja R Harinath  <rharinath@novell.com>
4257         * Array.cs (Array.Swapper) [!BOOTSTRAP_WITH_OLDLIB]: Make nested.
4258         See #72015.
4260 2005-02-12  Ben Maurer  <bmaurer@ximian.com>
4262         * Version.cs (CompareTo, Equals): Make sure the versions for
4263         generics handle `null'. The non-generics versions now just call
4264         the regular versions, to reduce code duplication.
4266         * Boolean.cs (CompareTo): make this really work for generics 
4268         * Type.cs (GetProperty): Passing new Type [0] is different than
4269         null. null means `I don't care how many types this has,' while new
4270         Type [0] means `this must have 0 types.'
4272 2005-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4274         * corlib.dll.sources: added WindowsConsoleDriver.cs
4276         * System/ConsoleDriver.cs: use WindowsConsoleDriver on windows and
4277         implemented the few missing properties/methods.
4279         * System/IConsoleDriver.cs: uncommented all methods/properties.
4280         * System/TermInfoDriver.cs: implement changes from IConsoleDriver.
4281         * System/WindowsConsoleDriver.cs: implemented IConsoleDriver for
4282         windows. Only missing MoveBufferArea by now.
4284 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
4286         * Type.cs (IsAssignableFrom): Add support for TypeBuilders.
4288         * Int32.cs AppDomain.cs: Fix warnings.
4290 2005-02-10  Marek Safar  <marek.safar@seznam.cz>
4292         * IServiceProvider.cs: Is not ComVisible.
4294         * NonSerializedAttribute.cs: Fix AttributeUsage flags.
4296         * Type.cs: Fix ClassInterface attribute.
4298 Tue Feb 8 19:26:47 CET 2005 Paolo Molaro <lupus@ximian.com>
4300         * Delegate.cs: remove the finalizer from Delegate: this
4301         is handled internally by the runtime now.
4303 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4305         * Activator.cs: provide the Type name when throwing an exception.
4307 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4309         * TimeZone.cs: lock on the static Hashtable instead of 'this'. Fixes
4310         bug #72238.
4312 Fri Feb 4 15:46:04 CET 2005 Paolo Molaro <lupus@ximian.com>
4314         * Array.cs: provide specialized versions of some methods.
4316 Thu Feb 3 15:15:25 CET 2005 Paolo Molaro <lupus@ximian.com>
4318         * String.cs: provide a managed memcpy and memset method
4319         for use both in corlib and from the JIT. Implement
4320         some methods with the managed helpers and remove some icalls.
4322 2005-01-31  Sebastien Pouliot  <sebastien@ximian.com>
4324         * Exception.cs: Added Data property for NET_2_0 (required for new
4325         unit tests).
4327 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4329         * ConsoleDriver.cs:
4330         * TermInfoDriver.cs:
4331         * IConsoleDriver.cs:
4332         * Console.cs: added BufferWidth and BufferHeight.
4334 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4336         * ConsoleDriver.cs:
4337         * Console.cs:
4338         * TermInfoDriver.cs:
4339         * IConsoleDriver.cs: added a few more properties and fixed cursor
4340         addressing.
4342 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4344         * ConsoleDriver.cs: static class that forwards the Console 2.0 class
4345         calls to the proper driver.
4346         * TermInfoDriver.cs: terminfo based console driver.
4347         * IConsoleDriver.cs: interface implemented by console drivers.
4349         * ConsoleCancelEventArgs.cs:
4350         * ConsoleCancelEventHandler.cs:
4352         * ConsoleModifiers.cs: 
4353         * ConsoleSpecialKey.cs:
4354         * ConsoleColor.cs:
4355         * ConsoleKey.cs: new enumerations.
4357         * ConsoleKeyInfo.cs: New file.
4359         * TermInfoReader.cs: reader for terminfo capabilities files.
4361         * TermInfoNumbers.cs:
4362         * TermInfoBooleans.cs:
4363         * TermInfoStrings.cs: enumations for terminfo property names.
4365         * KnownTerminals.cs: byte arrays for selected terminals.
4367         * Console.cs: added more 2.0 methods and implemented some of them.
4370 2005-01-30  Atsushi Enomoto  <atsushi@ximian.com>
4372         * Int32.cs : (FindSign) IndexOf() is better than creating substring.
4374 2005-01-27  Sebastien Pouliot  <sebastien@ximian.com>
4376         * BadImageFormatException.cs: Protect the fusion (GAC) log from being
4377         disclosed unless code has ControlPolicy and ControlEvidence.
4379 2005-01-27  Zoltan Varga  <vargaz@freemail.hu>
4381         * Exception.cs: Compute stack trace on demand.
4383 2005-01-26  Sebastien Pouliot  <sebastien@ximian.com>
4385         * Environment.cs: Removed hack for static class (NET_2_0). Added 
4386         proper security for FailFast (documented in FDBK20543). Added new
4387         method IsRunningOnWindows to replace (Platform == 128) as the logic is
4388         gonna change in the future (Unix is id #4 in NET_2_0).
4390 2005-01-24  Sebastien Pouliot  <sebastien@ximian.com>
4392         * Environment.cs: Added CAS security (both declarative and imperative)
4393         as a test. This shouldn't affect execution unless --security is 
4394         specified.
4396 2005-01-19  Rafael Teixeira  <rafaelteixeirabr@hotmail.com>
4397         * Type.cs: Corrected implementation for the Type.FilterNameIgnoreCase
4398         and Type.FilterName delegates They weren't dealing with the optional '*'
4399         at the end of the filter mask
4401 2005-01-19  Zoltan Varga  <vargaz@freemail.hu>
4403         * Array.cs: Fix a typo in the previous patch.
4404         
4405         * Array.cs: Fix some test failures in the generic methods.
4407         * Array.cs: Implement AsReadOnly.
4409 2005-01-13  Geoff Norton  <gnorton@customerdna.com>
4411         * Guid.cs: Fix endian issues (use Mono.Security.BitConverterLE).  Fixes
4412         #71242
4414 2005-01-11  Sebastien Pouliot  <sebastien@ximian.com>
4416         * AppDomain.cs: Removed Activate and ActivateNewProcess methods. They
4417         have been removed from 2.0.
4419 2005-01-11  Zoltan Varga  <vargaz@freemail.hu>
4421         * Boolean.cs Char.cs Single.cs Double.cs: Implement IComparable<T> in
4422         NET 2.0.
4424 2005-01-10  Sebastien Pouliot  <sebastien@ximian.com>
4426         * ApplicationIdentity.cs: Throw ArgumentNullException if name is null.
4427         Add default culture (neutral) to the name when none is specified.
4428         * AppDomain.cs: Changed IsDefaultAppDomain (2.0). Is seems that we 
4429         can't trust Id ?
4431 2005-01-09  Sebastien Pouliot  <sebastien@ximian.com>
4433         * DateTime.cs: Reverted last patch for utc as it broke all certificate
4434         handling and another unit test in DateTime.
4436 2005-01-09  Miguel de Icaza  <miguel@ximian.com>
4438         * DateTime.cs: Return immediately if useutc is set to true, there
4439         is no need to do the extra computation (which also happened to
4440         create a new DateTime using the `use_localtime' constructor, which
4441         lead to the erroneous date returns when using 'u' or `U'
4442         formats).   
4444         Fixes another bug in the regression test suite.
4446 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com> 
4448         * AppDomain.cs: Fix the DefaultDomain property to return the root 
4449         domain (as it seems that the root's Id isn't always 0).
4450         * BitConverter.cs: The "special support" for ToString(new byte[0]) is
4451         only for NET_2_0 - previously this was an ArgumentOutOfRangeException.
4453 2005-01-08  Miguel de Icaza  <miguel@ximian.com>
4455         * IntegerFormatter.cs: The - sign inside the "negative" section in
4456         a multi-format string means `show the sign' only if it is the
4457         first token, not `copy verbatim'.  In the other sections it means
4458         `copy-verbatim'.
4460         This makes things like:  (-34).ToString ("#;-#") show up as "-34"
4461         instead of "--34".
4463         The bad news is that this code needs to be rewritten to handle all
4464         the formatting cases, see bug #71112 for details.
4466         * Convert.cs (Convert.ToType): Throw an InvalidCastException if
4467         the conversion is invalid, not ArgumentException, this fixes
4468         another regression in our test suite.
4470 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com>
4472         * AppDomain.cs: Add ApplicationIdentity property for 2.0;
4473         * AppDomainManager.cs: Remove HostRefusedSet support (it does not 
4474         exists anymore).
4476 2005-01-08  Zoltan Varga  <vargaz@freemail.hu>
4478         * DateTime.cs: Create MaxValue and MinValue using a different constructor to avoid static 
4479         initialization problems.
4481 2005-01-02  Ben Maurer  <bmaurer@ximian.com>
4483         * Int32.cs: NumberStyles.AllowExponent was supported by the
4484         Int32.Parse function. From Akira <mei@work.email.ne.jp>. Fixes bug
4485         70469.
4487 2005-01-01  Atsushi Enomoto  <atsushi@ximian.com>
4489         * Base64FormattingOptions.cs : it was not in System namespace.
4491 2004-12-21  Atsushi Enomoto  <atsushi@ximian.com>
4493         * DateTime.cs : If no progress on value string, don't regard as
4494           matched. This fixes bug #70707.
4496 2004-12-20  Sebastien Pouliot  <sebastien@ximian.com>
4498         * Environment.cs: Bump corlib version.
4500 2004-12-16  Zoltan Varga  <vargaz@freemail.hu>
4502         * Array.cs (DoBinarySearch): Fix a warning.
4504 2004-12-08  Zoltan Varga  <vargaz@freemail.hu>
4506         * Environment.cs: Bump corlib version.
4508         * AppDomain.cs: Add new DefineInternalDynamicAssembly () method.
4510 2004-12-06  Ben Maurer  <bmaurer@ximian.com>
4512         * Exception.cs: Prevent stringifying the type name on the
4513         ctor. this gets called a few times on every execution to create a
4514         nullref exception.
4516 2004-12-06  Martin Baulig  <martin@ximian.com>
4518         * Decimal.cs: Decimal constant support has been merged into GMCS,
4519         removed the FIXME.
4521 2004-12-06  Zoltan Varga  <vargaz@freemail.hu>
4523         * Environment.cs: Bump corlib version.
4524         
4525         * Environment.cs: Bump corlib version.
4527 2004-11-30  Zoltan Varga  <vargaz@freemail.hu>
4529         * MonoType.cs (UnderlyingSystemType): Make this return this as in
4530         MS.NET. Fixes #56245.
4532 2004-11-29  Atsushi Enomoto  <atsushi@ximian.com>
4534         * GC.cs : Collect(generation) actually does not throw an exception
4535           even if generation > MaxGeneration (MS document bug).
4537 2004-11-28  Zoltan Varga  <vargaz@freemail.hu>
4539         * Exception.cs: Implement _Exception under NET_2_0.
4541         * Byte.cs SByte.cs UInt16.cs Int16.cs: Make these compile under csc 2.0.
4543         * AccessViolationException.cs DataMisalignedException.cs OperationCanceledException.cs
4544         NotCancelableException.cs TimeoutException.cs: New files.
4546 2004-11-23  Raja R Harinath  <rharinath@novell.com>
4548         * Decimal.cs [NET_2_0]: Use old code till GMCS imports decimal
4549         constant support.
4551 2004-11-23  Raja R Harinath  <rharinath@novell.com>
4553         * Decimal.cs [BOOTSTRAP_WITH_OLDLIB]: Use old code for compilers
4554         without decimal constant support.
4556 2004-11-23  Marek Safar  <marek.safar@seznam.cz>
4558         * Decimal.cs: Updated to use compiler decimal constant support.
4560 2004-11-20  Zoltan Varga  <vargaz@freemail.hu>
4562         * MonoType.cs: Revert last change since it breaks remoting.
4564 2004-11-18  Zoltan Varga  <vargaz@freemail.hu>
4566         * MonoType.cs (UnderlyingSystemType): Make this return this as in
4567         MS.NET. Fixes #56245.
4569 2004-11-17  Carlos Alberto Cortez <carlos@unixmexico.org>
4571         * INullable.cs: New interface added.
4572         * Nullable.cs: Methods added. Also a static Nullable class
4573         containing static methods.
4574         
4575 2004-11-15  Sebastien Pouliot  <sebastien@ximian.com>
4577         * BitConverter.cs: Added support for special case when ToString is 
4578         called with (new byte [0]).
4580 2004-11-10  Lluis Sanchez  <lluis@novell.com>
4582         * Exception.cs: Added setter for StackTrace.
4584 2004-11-07  Ben Maurer  <bmaurer@ximian.com>
4586         * IntegerFormatter.cs: Avoid .ToCharArray
4588 2004-11-06  Ben Maurer  <bmaurer@ximian.com>
4590         * Single.cs, Double.cs (GetHashCode): Better hashcode impl
4592 2004-11-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4594         * InvalidOperationException.cs: make the message more meaningful and
4595         real. Fixes bug #69055.
4597 2004-10-28  Ben Maurer  <bmaurer@ximian.com>
4599         * String.cs: Rather than == String.Empty, use .Length == 0. It
4600         is a bit faster (avoids a method call, and the code is less complex).
4602 2004-10-24  Fawad Halim  <fawad@fawad.net>
4603         * Environment.cs: If an Environment variable value isn't found, leave the trailing % of the reference for further matches.
4604         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.
4605         This fixes bug #64995.
4607 2004-10-19  Lluis Sanchez  <lluis@novell.com>
4609         * MarshalByRefObject.cs: Field _identity is not serializable.
4610         This fixes bug #68567.
4612 2004-10-17  Ben Maurer  <bmaurer@ximian.com>
4614         * DateTime.cs (ZeroPad): Use unsafe code to speed this up. We
4615         avoid entering slow integer formatting code.
4617         (_ToString): Use ZeroPad here when possible, as it is faster.
4619 2004-10-11  Martin Baulig  <martin@ximian.com>
4621         * Environment.cs: Bump corlib version to 28.
4623 2004-10-08  Zoltan Varga  <vargaz@freemail.hu>
4625         * Convert.cs (ToType): Throw an exception when converting null to a
4626         valuetype. Fixes #67780.
4628 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
4630         * DateTime.cs : Performance fix. ParseExact() implementation should
4631           avoid s = s.Substring(1).
4633 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
4635         * DateTime.cs : When it it not exact parse, 'Z' is allowed as a suffix
4636           of m/s/t/z. This fixes bug 66723.
4638 Wed Oct 6 12:37:54 CEST 2004 Paolo Molaro <lupus@ximian.com>
4640         * String.cs: make GetHashCode() managed.
4642 2004-10-04  Zoltan Varga  <vargaz@freemail.hu>
4644         * AppDomain.cs: Make ThreadStatic variables static. Fixes #56614.
4646         * Runtime*Handle.cs ModuleHandle.cs: Add Equals + GetHashCode.
4648         * ModuleHandle.cs: Add missing methods.
4650         * RuntimeTypeHandle.cs: Add GetModuleHandle () method.
4652 2004-10-03  Zoltan Varga  <vargaz@freemail.hu>
4654         * AttributeTargets.cs: Add 2.0 GenericParameter value.
4656         * Environment.cs: Bump corlib version.
4658 2004-10-02  Zoltan Varga  <vargaz@freemail.hu>
4660         * Int32.cs UInt32.cs Byte.cs SByte.cs Int16.cs UInt16.cs Int64.cs UInt64.cs: Implement 2.0 TryParse methods.
4662 2004-09-30  Geoff Norton  <gnorton@customerdna.com>
4664         * Convert.cs: ConvertToBase* was not endian aware.  Implemented EndianSwap
4665         and swapping of all values before going into the BitConverter so that values
4666         are returned with proper endianess.
4668 2004-09-23  Martin Garton  <martin@wrasse.demon.co.uk>
4670         * Convert.cs: ToType was returning unconverted object when it should
4671         fail with an ArgumentException.
4673 2004-09-27  Zoltan Varga  <vargaz@freemail.hu>
4675         * Array.cs: Add stub for AsReadOnly<T>.
4676         
4677 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
4679         * Type.cs: Add MakePointerType && stub for ReflectionOnlyGetType.
4681         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
4682         parameters.
4684 2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
4686         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
4687         methods and fields.
4688         
4689         * MonoCustomAttrs.cs: Beginnings of support for returning 2.0 pseudo
4690         custom attributes.
4692         * MonoCustomAttrs.cs (RetrieveAttributeUsage): Avoid infinite recursion.
4694         * MonoCustomAttrs.cs (GetCustomAttributes): Fix the 'attributeType is 
4695         sealed' optimization.
4697         * Type.cs: Implement 2.0 StructLayoutAttribute property. 
4699         * Type.cs Add GetPseudoCustomAttributes () method.
4701 2004-09-24  Martin Baulig  <martin@ximian.com>
4703         * Type.cs (Type.GetGenericParameterConstraints): New public method.
4705 2004-09-23  Zoltan Varga  <vargaz@freemail.hu>
4707         * MonoCustomAttrs.cs (GetCustomAttributes): Rename the icall to
4708         GetCustomAttributesInternal and add a 'pseudoAttrs' argument.
4710         * Type.cs: Tweak Module property in 2.0 build.
4712 2004-09-23  Martin Baulig  <martin@ximian.com>
4714         * Type.cs (Type.GenericParameterAttributes): New public property.
4716 2004-09-23  Martin Baulig  <martin@ximian.com>
4718         * GenericParameterAttributes.cs: New file.
4720 2004-09-22  Zoltan Varga  <vargaz@freemail.hu>
4722         * ModuleHandle.cs: Updated after changes to Module class.
4724 2004-09-21  Geoff Norton <gnorton@customerdna.com>
4726         * Type.cs: BindingFlags.IgnoreCase was being ignored, this reimplements
4727         this filter. Fixes bug #65778.
4729 2004-09-20  Zoltan Varga  <vargaz@freemail.hu>
4731         * Environment.cs: Bump corlib version.
4733 2004-09-19  Zoltan Varga  <vargaz@freemail.hu>
4735         * ModuleHandle.cs: New file.
4737         * RuntimeFieldHandle.cs: Add an internal ctor.
4739 2004-09-19  Dick Porter  <dick@ximian.com>
4741         * Console.cs: Use the internal wrappers for StreamReader and
4742         StreamWriter that catch IOException.
4744 2004-09-16  Sebastien Pouliot  <sebastien@ximian.com>
4746         * Environment.cs: Bumped mono_corlib_version to 25.
4748 2004-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4750         * AppDomain.cs: added SetupInformationNoCopy property, since
4751         SetupInformation creates a copy now, all updates to it should use the
4752         actual data. Fixes bug #61991 take 2.
4754 2004-09-09  Tim Coleman <tim@timcoleman.com>
4755         * Base64FormattingOptions.cs: New enum
4756         * Convert.cs: Add new ToBase64String methods for Fx 2.0
4758 2004-09-08  Marek Safar  <marek.safar@seznam.cz>
4760         * Console.cs,
4761         * GC.cs: Class is static for NET_2_0.
4763 2004-09-07 Ben Maurer  <bmaurer@users.sourceforge.net>
4765         * Activator.cs: Make sure not to call .GetType on a
4766         null argument. fixes 63852
4768 2004-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
4770         * Array.cs (Clear): make this an icall.
4772 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
4774         * MonoCustomAttribute.cs: Avoid the call to GetBase when possible.
4776 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4778         * Environment.cs: (ExpandEnvironmentVariables) don't nullify the case
4779         insensitive enironment variables hashtable once we create it.
4781 2004-09-04  Sebastien Pouliot  <sebastien@ximian.com>
4783         * AppDomain.cs: Changed 2 imperative security demands to declarative
4784         (unsupported) so it doesn't (for now) call the security runtime.
4786 2004-09-02  Zoltan Varga  <vargaz@freemail.hu>
4788         * Delegate.cs: Free the delegate trampoline in the finalizer.
4790 2004-08-26  Sebastien Pouliot  <sebastien@ximian.com>
4792         * ApplicationId.cs: Completed GetHashCode using information from MS
4793         (FDBK13339).
4795 2004-08-23  Sebastien Pouliot  <sebastien@ximian.com>
4797         * Boolean.cs: Added TryParse static method for NET_2_0 profile.
4799 2004-08-19  Atsushi Enomoto  <atsushi@ximian.com>
4801         * DateTime.cs : When hour format is "hh", MS.NET (maybe incorrectly)
4802           allows 12, that should not be accepted (13 is rejected) and
4803           interpreted as 0. This fixes bug 63376.
4805 2004-08-17  Sebastien Pouliot  <sebastien@ximian.com>
4807         * Version.cs: Fixed Clone so we can use it on versions with only
4808         major/minor or major/minor/build.
4810 2004-08-17  Martin Baulig  <martin@ximian.com>
4812         * MonoType.cs (MonoType.getFullName): Added `bool full_name'
4813         argument specifying whether or not to include the type arguments.
4814         (MonoType.FullName): Don't include the type arguments.
4815         (MonoType.ToString): Include them here.
4817         * Environment.cs: Bumped mono_corlib_version to 24.
4819 2004-08-16  Duncan Mak  <duncan@ximian.com>
4821         * AttributeUsageAttribute.cs: Change the AttributeUsage to
4822         AttributeTargets.Class, from AttributeTargets.All, fixes Zoltan's
4823         bug #62895.
4825 2004-08-11  Marek Safar  <marek.safar@seznam.cz>
4827         * AppDomain.cs: Fixed typo of DefineDynamicAssembly argument.
4828         Added call to AddPermissionRequests to pass permissions
4829         arguments.
4830         * Environment.cs: Added a few Fx 2.0 methods
4832 2004-08-09  Sebastien Pouliot  <sebastien@ximian.com>
4834         * ApplicationId.cs: Fixed typo to fix NET_2_0 compilation.
4835         * AppDomain.cs: Fixed use of Evidence and AppDomainSetup (copies, not
4836         references). Added (non-obsolete) Fx 2.0 properties and methods.
4837         * AppDomainSetup.cs: Added internal copy constructor.
4838         * DomainManagerInitializationFlags.cs: Fixed values.
4840 2004-08-08  Sebastien Pouliot  <sebastien@ximian.com>
4842         * AppDomainInitializer.cs: New Fx 2.0 class for AppDomain.
4843         * AppDomainManager.cs: New Fx 2.0 class for AppDomain.
4844         * ApplicationActivator.cs: New Fx 2.0 class for AppDomain.
4845         * ApplicationId.cs: New Fx 2.0 class.
4846         * ApplicationIdentity.cs: Fixed ToString.
4847         * DomainManagerInitializationFlags.cs: New Fx 2.0 flags for AppDomain.
4849 2004-08-05  Sebastien Pouliot  <sebastien@ximian.com>
4851         * AppDomain.cs: Added a new icall, getDomainByID, to get the an 
4852         AppDomain using it's Id. Completed SetAppDomainPolicy.
4853         * Environment.cs: Bumped mono_corlib_version to 23.
4855 2004-08-02  Martin Baulig  <martin@ximian.com>
4857         * DateTime.cs, TimeSpan.cs, Guid.cs, Version.cs: Implement IComparable<T>.
4859 2004-07-29  Atsushi Enomoto  <atsushi@ximian.com>
4861         * Environment.cs : GacPath on windows is based on mscorlib.dll, and
4862           now its location is changed.
4864 2004-07-21  Lluis Sanchez Gual  <lluis@novell.com>
4866         * Environment.cs: Return the MS.NET 2.0 beta1 runtime version for the
4867           NET_2_0 profile.
4868         
4869 2004-07-18  Martin Baulig  <martin@ximian.com>
4871         * Array.cs: Ben Maurer implemented all the new generic methods
4872         here :-)
4874 2004-07-17  Martin Baulig  <martin@ximian.com>
4876         * Decimal.cs: Implement IComparable<Decimal>.
4878 2004-07-17  Martin Baulig  <martin@ximian.com>
4880         * Byte.cs, Int16.cs, Int32.cs, Int64.cs, SByte.cs, String.cs,
4881         UInt16.cs, UInt32.cs, UInt64.cs: Implement IComparable<T>.      
4883 2004-07-13  Sebastien Pouliot  <sebastien@ximian.com>
4885         * ActivationContext.cs: New class in Fx 2.0. Required for 
4886         System.Security.Policy.
4887         * ApplicationIdentity.cs: New class in Fx 2.0. Required for 
4888         System.Security.Policy.
4889         * IApplicationDescription.cs: New interface in Fx 2.0. Required for 
4890         System.Security.Policy.
4891         * IHostContext.cs: New interface in Fx 2.0. Required for 
4892         System.Security.Policy.
4894 2004-07-12  Geoff Norton <gnorton@customerdna.com>
4896         * DateTime.cs: Patch for bug #61112.  Our DateTime wasn't roundtripping over timezone
4897           boundaries properly.  This patch checkes ToLocalTime() to see if we're tripping over a boundary
4898           and will add/subtract the hour if needed
4900 2004-07-07  Geoff Norton <gnorton@customerdna.com>
4902         * Monotype.cs: Patch for bug #58844.  Dont throw exceptions right away;
4903           pass through all the possibly BindingInfo's and keep a bool value as to the type
4904           of exception we might need to throw;
4906 2004-07-07  Geoff Norton <gnorton@customerdna.com>
4908         * Patch to fix bug #58973
4910 2004-07-02  Jackson Harper  <jackson@ximian.com>
4912         * PlatformID.cs: New 2.0 values.
4913         
4914 2004-06-25  Ben Maurer <bmaurer@ximian.com>
4915         
4916         * Environment.cs: GetFolderPath has new behavior. r=miguel
4918 2004-06-23  Sebastien Pouliot  <sebastien@ximian.com>
4920         * DateTime.cs: Throw ArgumentOutOfRangeException if the year is
4921         bigger than 9999. Fix bug #41845.
4922         * FloatingPointFormatter.cs: Applied correction from Jon Skeet on
4923         the "R"eversible format for negative numbers.
4925 2004-06-21  Jackson Harper  <jackson@ximian.com>
4927         * Decimal.cs: Make sure to use invariant culture when parsing
4928         floats stringified with the invariant culture. Patch by Rodrigo
4929         B. de Oliveira.
4930         
4931 2004-06-19  Atsushi Enomoto  <atsushi@ximian.com>
4933         * FloatingPointFormatter.cs : Literal string should be kept in the
4934           output.
4936 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
4938         * DateTime.cs : Concatenating whitespace removal was not working fine.
4939           Modified FormatException message (1 cent kindness).
4941 2004-06-18  Ben Maurer  <bmaurer@ximian.com>
4942         
4943         * Action.cs, ArraySegment.cs, Comparison.cs, Converter.cs, Predicate.cs:
4944         new generics classes
4945         * IComparable.cs: add the new <T> version.
4946         * EventHandler.cs: new <T> version.
4947         
4948 2004-06-18  Dick Porter  <dick@ximian.com>
4950         * String.cs: The icall can cope with embedded \0 now.
4952 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
4954         * DateTime.cs :
4955           - Added new common pattern "yyyy/M/dZ"
4956           - empty string should not be compared in _ParseEnum()
4957           - Use culture independent string comparison in _ParseString()
4958           - Whitespace removal should be checked after '..' token check (some
4959             pattern such like es-ES LongDatePattern contains spaces in '..').
4960           - formats null check should be done (to throw ArgumentNullException)
4961             in ParseExact().
4962           - When specified one character format, dates are incorrectly regarded
4963             as to use invariant culture.
4965 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
4967         * ArgIterator.cs: changed layout to Auto
4968         * DateTime.cs: changed layout to Auto
4970 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
4972         * DateTime.cs: CRLF to LF
4974 2004-06-17  Sebastien Pouliot  <sebastien@ximian.com>
4976         * Decimal.cs: Fixed regression in System.Data caused by the recent 
4977         changes. Adapted (and moved) the code to correct the scale from 
4978         SqlMoney. Removed unused (and unusable) IsOne and fixed IsZero (where
4979         scale has no importance).
4981 2004-06-17  Lluis Sanchez Gual  <lluis@ximian.com>
4983         * Activator.cs: In CreateInstance(), use Public|Instance if access binding
4984           attributes are omitted.
4986 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
4988         * DateTime.cs : GetDateTimeFormats(char, IFormatProvider) should also
4989           check if the format character is valid.
4991 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
4993         * DateTime.cs : AddDays(double) rounds the input.
4995 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
4997         * DateTime.cs : Incorrect maxvalue comparison in ToUniversalTime().
4998           Fixed ToLocalTime() as well, but it does check range for MinValue.
5000 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5002         * DateTime.cs : Added overflow check in ToUniversalTime() and
5003           ToLocalTime(). Fixed bug #60253.
5005 2004-06-16  Sebastien Pouliot  <sebastien@ximian.com>
5007         * FloatingPointFormatter.cs: Implemented "R" format using Jon Skeet
5008         source code (with permission). Fix (biggest) part of bug #60110.
5009         http://www.yoda.arachsys.com/csharp/floatingpoint.html
5011 2004-06-15  Sebastien Pouliot  <sebastien@ximian.com>
5013         * Decimal.cs: Fixed scale after Round (a different scale is correct 
5014         from a math point of view but affect the string representation of the
5015         value). Note: other operations also have scale problems!
5016         * DecimalFormatter.cs: Fixed FormatGeneral to match Fx 1.1 output.
5017         * FloatingPointFormatter.cs: Fixed ToString which doesn't use banker's
5018         rounding (which is the rounding provided by Math.Round). This fix bug
5019         #60111. The code (new Round methods) should be moved elsewhere (as it
5020         may also be required elsewhere) post Mono 1.0.
5022 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
5024         * AppDomainSetup.cs: added TODO for serialization
5025         * ExecutionEngineException.cs: added missing serialization ctor
5026         * InvalidProgramException.cs: added missing serialization ctor
5027         * MulticastNotSupportedException.cs: added missing serialization ctor
5028         * ObsoleteAttribute.cs: fixed serialization compatibility with MS.NET
5029         * Random.cs: fixed serialization compatibility with MS.NET
5031 2004-06-15  Paolo Molaro <lupus@ximian.com>
5033         * Type.cs: removed unused (and non-existing) icall type_is_instance.
5035 2004-06-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5037         * Environment.cs: use internalGetHome instead of getting "HOME" as
5038         that variable may not be defined.
5040 2004-06-14  Sebastien Pouliot  <sebastien@ximian.com>
5042         * TimeSpan.cs: Fixed timespan with large values for hours or minutes
5043         (overflow is only checked for days but can also occurs in hours and
5044         minutes which uses Int32 when multiplying). The new results match MS
5045         implementation.
5047 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
5049         * FloatingPointFormatter.cs : Recognize '%' and '\u2030' and replace
5050           them with matching NumberFormatInfo properties.
5052 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
5054         * Double.cs : Use IFormatProvider.GetFormat() instead of literal '-'.
5055         * FloatingPointFormatter.cs :
5056           Use NumberFormatInfo.NegativeSign. This change saves many XSLT test
5057           failures.
5058           Format Permille pattern (It is undocumented but actually available,
5059           and used in xsl:format-number).
5061 2004-06-14  Raja R Harinath  <rharinath@novell.com>
5063         * Console.cs (Console.Write, Console.WriteLine): Disable __arglist
5064         version with BOOTSTRAP_WITH_OLDLIB.
5065         * String.cs (STring.Concat): Likewise.
5067 2004-06-13  Atsushi Enomoto  <atsushi@ximian.com>
5069         * FloatingPointFormatter.cs :
5070           - Don't format more than 15 fraction digits. Don't report to Pedro
5071             directly (removing the error message with his concent).
5072           - When format string starts with '.', it means integral part format 
5073             is not specified. Ignore '.' characters after the first
5074             appearance. Fixed bug #59890.
5075           - 0.0 is formatted only before the third ';' appearance.
5077 2004-06-11  Sebastien Pouliot  <sebastien@ximian.com>
5079         * DateTime.cs: Added a AddRoundedMilliseconds which use the "old Mono"
5080         rounding logic which worked for FromOADate (while the newer didn't).
5081         * TimeSpan.cs: Now throw an OverflowException when the timespan is
5082         over MaxValue or under MinValue.
5084 2004-06-11  Martin Baulig  <martin@ximian.com>
5086         * Console.cs (Write, WriteLine): Implemented the varargs versions.
5088 2004-06-11  Martin Baulig  <martin@ximian.com>
5090         * String.cs (Concat): Implemented the varargs version.
5092 2004-06-10  Sebastien Pouliot  <sebastien@ximian.com>
5094         * Decimal.cs: Hacked the Parse method to allow the runtime C code to
5095         decode it properly (i.e. matching MS results). Fixed the Round method
5096         for negative decimal numbers (moved code from Math.cs).
5097         * Math.cs: Now use Decimal class for Round(Decimal,int). Required to
5098         fix a bug when rounding a negative decimal.
5100 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5102         * AppDomain.cs: set the _principal to null when changing the policy.
5103         * Console.cs: remove ClsCompliant attribute from a method marked as
5104         internal and added comment.
5106 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
5108         * Delegate.cs: marked protected fields private to match public
5109         API of MS.NET, marked DynamicInvokeImpl and GetMethodImpl
5110         protected to fix public API
5111         * Enum.cs: marked ctor protected to match public API of MS.NET
5112         * MulticastDelegate.cs: marked DynamicInvokeImpl protected to
5113         match public API of MS.NET
5115 2004-06-10  Atsushi Enomoto  <atsushi@ximian.com>
5117         * DateTime.cs : Added more common patterns.
5119 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
5121         * Decimal.cs: Fixed banker rounding by calling Math.Round. This won't
5122         be a performance winner (the actual Math code has a note to wait a
5123         better Decimal implementation) but it returns the correct results
5124         (without adding new code in corlib or the runtime). Fix #37744.
5126 2004-06-09  Atsushi Enomoto  <atsushi@ximian.com>
5128         * DateTime.cs :
5129           - A bunch of fixes (patch by Steven Brown). Fraction seconds are 
5130             now represented as double. Strict token check for 'Z'.
5131           - Pattern validity check in GetDateTimeFormats(char).
5132           - Fixed pattern "yyyy/M/d HH:mm:ss".
5134 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
5136         * Decimal.cs: Fixed remainder (and optimized some cases not to call 
5137         unmanaged code). Simplified divide. Removed workaround for bug #59793.
5138         Fixed GetHashCode to return different result for X and -X.
5140 2004-06-08  Atsushi Enomoto  <atsushi@ximian.com>
5142         * DateTime.cs :
5143           - Now re-checked all common format patterns. They should be tried
5144             with both current culture and invariant culture. Since '/' covers
5145             '-', removed extraneous patterns. Added more common patterns
5146             such as "yyyy-MM-dd" and X509Certificate pattern (it is valid
5147             only after NET_1_1). Commented out 1 character format patterns.
5148           - The format patterns we should try should not be obtained by
5149             GetAllDateTimePatterns(). Just use 'd', 'D', 't', 'T', ... (one
5150             character patterns), to handle UTC correctly. Examined patterns
5151             are changed, to 1) common patterns with specified (or current)
5152             culture, 2) common patterns with invariant, 3) The above "one
5153             character patterns" with specified (or current) culture.
5154           - When trying to parse some kind of patterns such as RFC1123, 
5155             always use invariant DateTimeFormatInfo so that they can avoid
5156             parsing with culture-dependent calendar.
5157           - Check "GMT" only when doing Parse(). Don't it when ParseExact().
5158           - Removed extraneous '-' case. It is not special one.
5159           - When ParseExact(), allow only '/' for '/' pattern character.
5160           - When Parse(), allow any non-letter & non-number characters.
5161           - When pattern is not fully parsed, reject that format.
5162           - Added "exact" parameter to some ParseExact().
5163           - RFC1123 pattern is (again) now parsed in local time. I regressed
5164             some problems in previous fix.
5166 2004-06-08  Sebastien Pouliot  <sebastien@ximian.com>
5168         * Decimal.cs: Fixed cast to integer types to truncate (not round) the
5169         value.
5171 2004-06-07  Duncan Mak  <duncan@ximian.com>
5173         * Exception.cs (Source): This can return null.
5175 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
5177         * DateTime.cs: Fixed FromFileTime for negative values. Fixed 
5178         constructor to limit range of milliseconds from 0,999. Fixed
5179         ToType method to work for object, string and DateTime.
5181 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
5183         * DateTime.cs: Fixed OLE Automation date conversions: timezone 
5184         insensitive, wrong exception in FromOADate, handling of Min/Max 
5185         values, negative doubles where integer part is negative but 
5186         decimals are positive! Charming format ;-)
5188 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
5190         * String.cs: Fixed Join in case separator parameter is null.
5191         * TimeSpan.cs: Cache format errors during parsing and throw 
5192         FormatException only if there was no overflow.
5194 2004-06-06  Gert Driesen <drieseng@users.sourceforge.net>
5196         * MonoCustomAttrs.cs: fixed issue where an empty array was 
5197         returned when GetCustomAttributes was invoked with null
5198         attribute type and there was only one result
5200 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
5202         * Decimal.cs: Fixed ToString(String.Empty) to default ("G").
5203         * Int16.cs: Fixed ToString(String.Empty) to default ("G").
5204         * Int32.cs: Fixed ToString(String.Empty) to default ("G").
5205         * Int64.cs: Fixed ToString(String.Empty) to default ("G").
5206         * SByte.cs: Fixed ToString(String.Empty) to default ("G").
5207         * UInt16.cs: Fixed ToString(String.Empty) to default ("G").
5208         * UInt32.cs: Fixed ToString(String.Empty) to default ("G").
5209         * UInt64.cs: Fixed ToString(String.Empty) to default ("G").
5211 2004-06-05  Sebastien Pouliot  <sebastien@ximian.com>
5213         * Convert.cs: Fixed the convertion of negative integers (byte, short, 
5214         int and long) into string in a specific base (2, 8, 10 or 16).
5216 2004-06-04  Sebastien Pouliot  <sebastien@ximian.com>
5218         * Math.cs: Fixed IEEERemainder to return -0 (0x8000000000000000) when
5219         the dividend is negative and the result is 0 (remainder).
5221 2004-06-03  Sebastien Pouliot  <sebastien@ximian.com>
5223         * Delegate.cs: Fix the NullReferenceException in Combine(Delegate[]).
5225 2004-06-02  Sebastien Pouliot  <sebastien@ximian.com>
5227         * TimeSpan.cs: Fixed overflow issues when delaing with big (days) time
5228         spans. Fixed parsing when only days are presents in the string (which
5229         should be illegal according to the documentation but is supported).
5231 2004-06-01  Sebastien Pouliot  <sebastien@ximian.com>
5233         * TimeSpan.cs: Fixed exceptions in FromXXX methods as they are 
5234         somewhat different from the documentation.
5236 2004-06-01  Gert Driesen <drieseng@users.sourceforge.net>
5238         * Type.cs: added missing attributes on InvokeMember
5240 2004-06-01  Miguel de Icaza  <miguel@ximian.com>
5242         * String.cs: Flag concat with four arguments internal. 
5244 2004-05-31  Sebastien Pouliot  <sebastien@ximian.com>
5246         * Array.cs: Fixed legal case where value is null.
5247         * Byte.cs: Fixed ToString when format is an empty string (use "G").
5248         * Guid.cs: Renamed private fields (and changed some to signed) to 
5249         match MS implementation and allow serialization to work. Fix 
5250         bug #59113.
5252 2004-05-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5254         * DateTime.cs: adjust milliseconds for fraction specifier ('f').
5256 2004-05-30  Miguel de Icaza  <miguel@ximian.com>
5258         * Console.cs: Remove *again* the version of WriteLine with four
5259         arguments;  That should *not* be added.  
5261         Flag it as internal as people migrate their code.
5263 2004-05-29  Sebastien Pouliot  <sebastien@ximian.com>
5265         * Convert.cs: Fixed ToSByte(string,IFormatProvider) to throw 
5266         ArgumentNullException (only case, all other returns 0). Fixed exception
5267         reporting for hex prefix only strings. Fixed ChangeTo where null could
5268         be misinterpreted between null and Empty.
5270 2004-05-28  Sebastien Pouliot  <sebastien@ximian.com>
5272         * Convert.cs: Fixed integer parsing for special cases (0x, 0X for base
5273         16), non-base 10 negative numbers ... see new unit tests. Fixed the 
5274         case when we parse Int64.MinValue (positive doesn't fit a signed long).
5276 2004-05-28  Jackson Harper  <jackson@ximian.com>
5278         * Environment.cs: Increment version number.
5279         
5280 2004-05-28  Zoltan Varga  <vargaz@freemail.hu>
5282         * AppDomain.cs (Load): Try loading from assemblyRef.CodeBase if exists.
5283         Fixes #59189.
5285 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
5287         * DateTime.cs : I reverted my fix by accident :(
5289 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
5291         * DateTime.cs :
5292           - In ToString(), Don't use culture-dependent daynames to format
5293             Universal/RFC1123 date/time. Also, use FullDateTimePattern for 'U'.
5294           - Fixed GetDateTimeFormats () that generated incorrect 'U' value 
5295             (since the format string is the same as 'F').
5297 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
5299         * DateTime.cs : don't adjust utc value in ToString(). It must output
5300           the same time value, just adding 'Z' for UTC.
5302 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
5304         * DateTime.cs : in 'Z' case, remove the 'Z' char from input before
5305           proceeding.
5307 2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5309         * AppDomainSetup.cs: InitAppDomainSetup is not needed now.
5311 2004-05-27  Sebastien Pouliot  <sebastien@ximian.com>
5313         * Byte.cs: Fixed parsing for "-0" which is valid for unsigned types.
5314         * Convert.cs: Convert with a base parameter cannot parse negative 
5315         string numbers, even "-0".
5316         * UInt16.cs: Fixed parsing for "-0" which is valid for unsigned types.
5317         * UInt32.cs: Fixed parsing for "-0" which is valid for unsigned types.
5318         * UInt64.cs: Fixed parsing for "-0" which is valid for unsigned types.
5320 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
5322         * DateTime.cs : 
5323           - Added "yyyy/MM/dd HH:mm:ss 'GMT'" and "yyyy-MM-dd HH:mm:ss 'GMT'"
5324             to common formats (yes, I know it is nothing more than hack)
5325           - Fixed some GetDateTimeFormats() that just returned patterns.
5326           - For InvariantCulture, now try both supported formats and our
5327             predefined formats.
5328           - It was accepting incorrectly extraneous characters. That caused
5329             some UTC/non-UTC bug.
5330           - RFC1123 string should return universal time. Uncomment again (the
5331             problem should went away because of the extra characters fix above.
5333             With some of the changes above, fixed bug #47720.
5335 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
5337         * DateTime.cs : quick revert 'Z' support for certificate verifications.
5339 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
5341         * Array.cs: Removed duplicate condition if LastIndexOf.
5343 2004-05-26  Atsushi Enomoto <atsushi@ximian.com>
5345         * DateTime.cs :
5346           - Added "yyyy-MM-dd HH:mm:ss" to "compatible patterns".
5347             (Fixed bug #58938.)
5348           - As a quick remedy to accept more patterns, Parse() now also tries
5349             InvariantInfo patterns (this is because we have no more than one
5350             pattern for each pattern component.)
5351           - In _DoParse(), 'Z' should not be read as timezone specifier. Some
5352             culture uses 'Z' as AM/PM designer, and it should be recognized as
5353             part of the UTCpattern (if it actually UTC pattern for the culture
5354             contains 'Z').
5356 2004-05-26  Gert Driesen (drieseng@users.sourceforge.net)
5358         * MonoCustomAttrs.cs: Fixed issue with AllowMultiple, as MS
5359         seems to allow multiple attributes with AllowMultiple at
5360         runtime.
5362 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
5364         * Byte.cs: Throw an OverflowException for negative numbers.
5365         * Convert.cs: Accept 0x and 0X as prefix when parsing base16 strings.
5366         * Environment.cs: Bumped mono_corlib_version to 20 (rng interface).
5368 2004-05-25  Sebastien Pouliot  <sebastien@ximian.com>
5370         * Array.cs: Fixed possible integer overflow.
5371         * BitConverter.cs: Fixed a possible integer overflow in ToString.
5372         * Guid.cs: Added an internal method to create a random Guid without
5373         using CryptoConfig (which is heavy on first use). This is only used
5374         in S.R.E.ModuleBuilder to speedup MCS compilation.
5375         * String.cs: Fixed reported exception for PadLeft|Right. Fixed 
5376         possible integer overflow in methods that takes index and count
5377         as parameters.
5379 2004-05-25  Zoltan Varga  <vargaz@freemail.hu>
5381         * String.cs: Add new Strcpy icalls which take a char array as 
5382         parameter.
5384 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
5386         * DateTime.cs : added more invariant format patterns. This should
5387           really fix bug #57656.
5389 2004-05-25 14:14 CET Patrik Torstensson <totte@hiddenpeaks.com>
5391         * BitConverter.cs (ToBoolean): Return true or false instead
5392         of unsafe returing byte as bool. Fixes bug #58874.
5394 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
5396         * DateTime.cs : In ToString(string, IFormatProvider), use "G" if
5397           string format argument is null.
5399 2004-05-25  Lluis Sanchez Gual  <lluis@ximian.com>
5401         * Version.cs: Rename of data fields to match those in Microsoft.NET.
5402           Patch by PAF@design.ru.
5404 2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5406         * DateTime.cs: allow double quotes in the formats. Don't set
5407         next_not_digit to true in presence of single or double quotes. Patch by
5408         Martin Probst.
5410 2004-05-24  Zoltan Varga  <vargaz@freemail.hu>
5412         * AppDomainSetup.cs (InitAppDomainSetup): This one returns void.
5414 2004-05-23  Sebastien Pouliot  <sebastien@ximian.com>
5416         * Array.cs: Fixed exception when we try to Clear outside bounds.
5417         * Boolean.cs: Fixed Equals for True!=True (see bugzilla #58874).
5418         * BitConverter.cs: Fixed negative index and integer overflow in
5419         To... methods.
5420         * Buffer.cs: Fixed integer overflow in BlockCopy.
5422 2004-05-22  Sebastien Pouliot  <sebastien@ximian.com>
5424         * Array.cs: Clear can now work on multidimentional arrays.
5425         * IntPtr.cs: We now only accept 32bits values in the long constructor
5426         unless we're on a 64 bits machine.
5427         * UIntPtr.cs: We now only accept 32bits unsigned values in the ulong 
5428         constructor unless we're on a 64 bits machine.
5430 2004-05-22  Duncan Mak  <duncan@ximian.com>
5432         * Convert.cs: The file was mostly in DOS endings already, for the
5433         sake of consistency, converted it all to DOS endings.
5434         (ToType): When value is null, immediately return null and don't
5435         ever throw a NullReferenceException. When conversionType is null,
5436         throw an InvalidCastException. Give a better error message when
5437         attempting to convert to a DBNull as well.
5439 2004-05-21  Sebastien Pouliot  <sebastien@ximian.com>
5441         * Decimal.cs: Fixed To... methods that needs to trunk the integer part
5442         of Decimal (and not use the banker's rounding like Convert.To...).
5443         * Single.cs: Fixed CompareTo and Equals (copied fix from Double) wrt
5444         to NaN compares (see new unit tests).
5446 2004-05-20  Sebastien Pouliot  <sebastien@ximian.com>
5448         * Convert.cs: Added checks for integer overflow for From|ToBase64Char.
5449         Also fixed the case where wide (16 bits) characters were converted to 
5450         bytes.
5452 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
5454         * ThreadStaticAttribute.cs
5455         * ContextStaticAttribute.cs
5456         * FlagsAttribute.cs
5457         * ObsoleteAttribute.cs : now that Inherited is false by
5458         default on AttributeUsageAttribute (as it should be) we
5459         need to explicitly set Inherited to false for those
5460         attributes should it be be false.
5462 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
5464         * AttributeUsageAttribute.cs: Inherited property should be
5465         true by defaultrs.cs: respect Inherited property, and
5467 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
5469         * MonoCustomAttrs.cs: respect Inherited property, and
5470         AllowMultiple property of a CustomAttribute. This fixes
5471         a major issue we had with respect to custom attributes.
5473 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
5475         * MonoType.cs: throw ArgumentNullException when type parameter in
5476         GetCustomAttributes(Type, bool) is null
5478 2004-05-18  Sebastien Pouliot  <sebastien@ximian.com>
5480         * Buffer.cs: Added checks for null source and destination. Fix failing
5481         CryptoStream unit test.
5482         * Guid.cs: Fixed thread-safety issue. Simplified implementation to use
5483         pseudo-random numbers to generate GUIDs (as per section 3.4 of the 
5484         spec). This removes the TODO to get the computer MAC address and
5485         the chances to get a duplicate GUID (across different machines).
5487 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5489         * TimeSpan.cs: Only catch expected exceptions, if we get other exceptions
5490           than OverflowExceptions then something went wrong internally
5492 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5494         * Char.cs: Fix long standing bug with ToLower/ToUpper not being
5495           culture - sensitive
5497 2004-05-14  Zoltan Varga  <vargaz@freemail.hu>
5499         * Buffer.cs: Optimize BlockCopy.
5501         * Environment.cs: Bump corlib version.
5503 2004-05-14  Atsushi Enomoto <atsushi@ximian.com>
5505         * __ComObject.cs : This class is not regarded as CLSCompliant by csc.
5506           See also bug #58478.
5508 2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5510         * AppDomainSetup.cs: don't throw an exception if dynamic_base has not
5511         been set. Just return null as MS. Fixes bug #58120.
5513 2004-05-14  Marek Safar  <marek.safar@seznam.cz>
5515         * Boolean.cs, Byte.cs, Char.cs, DBNull.cs, DateTime.cs,
5516           Decimal.cs, Double.cs, Enum.cs, Int16.cs, Int32.cs,
5517           Int64.cs, IntegerFormatter.cs, SByte.cs, Single.cs,
5518           String.cs, UInt16.cs, UInt32.cs, UInt64.cs: Removed
5519           useless [CLSCompliant (false)]
5522 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
5524         * __ComObject.cs: To please corcompare (no implementation).
5526 2004-05-13  Zoltan Varga  <vargaz@freemail.hu>
5528         * Environment.cs: Bump corlib version.
5530 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
5532         * Environement.cs: Removed two security attributes for CurrentDirectory
5533         that weren't documented (and anyway we don't support them).
5535 2004-05-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5537         * Char.cs: Fix exceptions
5539 2004-05-11  Lluis Sanchez Gual  <lluis@ximian.com>
5541         * MissingMemberException.cs: Fix in serialization constructor.
5543 2004-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5545         * Environment.cs: GetGacPath return value is resolved at runtime on
5546         windows.
5548 2004-05-07  Sebastien Pouliot  <sebastien@ximian.com>
5550         * Convert.cs: ToBase64CharArray method was depending on a bug in 
5551         S.S.C.ToBase64Transform class to work. Added an internal method to 
5552         provide the same functionality (multiple block processing).
5554 2004-05-06  Jackson Harper  <jackson@ximian.com>
5556         * Environment.cs: Make $HOME the personal directory.
5558 2004-05-06  Sebastien Pouliot  <sebastien@ximian.com>
5560         * Convert.cs: ToBase64String method was depending on a bug in 
5561         S.S.C.ToBase64Transform class to work. Added an internal method to 
5562         provide the same functionality (multiple block processing).
5564 2004-05-05  Sebastien Pouliot  <sebastien@ximian.com>
5566         * Environment.cs: Completed OSVersion property.
5567         * Version.cs: Added internal CreateFromString() to "try" to build the
5568         best version number form the specified string.
5570 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5572         * TimeSpan.cs: Redid a lot of stuff in TimeSpan from scratch.
5573           Fixes several potential bugs and makes things way faster.
5575 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5577         * TimeSpan.cs: Formatting changes
5579 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
5581         * Activator.cs: change _flags to a const.
5582         * IntegerFormatter.cs: make tables readonly.
5583         * Convert.cs: tables readonly
5584         * DateTime.cs: ditto.
5585         * IntPtr.cs: avoid a cctor.
5587 2004-04-29  Jackson Harper  <jackson@ximian.com>
5589         * MonoType.cs: 
5590         * Type.cs: NET_2_0 now instead of 1_2. 
5591         
5592 2004-04-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5594         * Environment.cs: implemented GetLogicalDrives.
5596 2004-04-28  Miguel de Icaza  <miguel@ximian.com>
5598         * Applied patch from Atsushi Enomoto that allows Synchronized
5599         writers to have a `dont close' flag, this fixes 52094
5601 2004-04-29  Lluis Sanchez Gual  <lluis@ximian.com>
5603         * MonoCustomAttrs.cs, MonoType.cs: Property.GetGetMethod() does not
5604         return the method if it is private (it did until now because of a
5605         bug). Make sure it works as it worked before the fix.
5606         * Type.cs: Implemented FilterAttribute delegate.
5608 2004-04-28  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5610         * IntegerFormatter.cs: Prevent the use of the explicit static constuctor
5612 2004-04-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5614         * IntegerFormatter.cs: Made functions internal (needed by other patches)
5616 2004-04-27  Lluis Sanchez Gual  <lluis@ximian.com>
5618         * DateTime.cs: TODO cleaning.
5619         * Delegate.cs: GetObjectData should be virtual.
5620         * IntegerFormatter.cs: Method factorization. I don't want to fix bugs in
5621           30 methods almost identical.
5622         * MulticastDelegate.cs: Implemented GetObjectData.
5623         
5624 2004-04-26  Jackson Harper  <jackson@ximian.com>
5626         * Environment.cs: Things going bump in the night.
5628 2004-04-25  Miguel de Icaza  <miguel@ximian.com>
5630         * Convert.cs (toBase64Transform): Make private.
5632 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5634         * Convert.cs:
5635         * Decimal.cs:
5636         * DecimalFormatter.cs:
5637         * FloatingPointFormatter.cs: Call invariant Char functions
5638         * Guid.cs: Call invariant Char and String functions
5639         * String.cs: Call invariant Char functions
5641 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5643         * String.cs: Refactored the Invariant ToXXX into its own internal methods
5644           so they are directly callable within corlib (can prevent early
5645           construction of CultureInfo, InvariantCulture and related classes)
5647 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5649         * String.cs: Managed impl. of Invariant parts of ToLower, ToUpper
5650         * Char.cs: Managed impl. of Invariant parts of ToLower, ToUpper
5652 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5654         * String.cs: Check for null values
5656 2004-04-23  Peter Bartok <pbartok@novell.com>
5658         * Environment.cs: GetLogicalDrives now returns "/" instead of null. Gonzalo
5659           will do a better fix in the future, but this way apps can at least use it.
5661 2004-04-23  Sebastien Pouliot  <sebastien@ximian.com>
5663         * Environment.cs: Better support for GetFolderPath (same results as MS 
5664           on Windows).
5666 2004-04-22  Lluis Sanchez Gual  <lluis@ximian.com>
5668         * Activator.cs: Removed TODOs for finished methods.
5669         * AppDomainSetup.cs: When setting a relative path to ApplicationBase, it
5670           must be relative to the current directory, not the temp directory.
5671           Implemented DynamicBase.
5672         * Convert.cs: No need to create a ToBase64Transform instance at every call
5673           to ToBase64CharArray.
5674         * DateTime.cs: Implemented missing methods FromFileTimeUtc and 
5675           ToFileTimeUtc.
5676         * Decimal.cs: Implemented FromOACurrency and ToOACurrency.
5677         * Delegate.cs: Removed class TODO.
5678         * IntegerFormatter.cs: Use Char.IsLetter and Char.IsDigit instead of ad-hoc
5679           methods.
5680         * Type.cs: Removed TODOs for things already implemented.
5681         
5682 2004-04-21  Lluis Sanchez Gual  <lluis@ximian.com>
5684         * Char.cs: Implemented culture-dependent ToLower and ToUpper methods.
5685         * MulticastDelegate.cs: Removed unused code.
5687 2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>
5689         * AppDomain.cs: Implemented DynamicDirectory and SetDynamicBase.
5690         * Array.cs: Removed some TODOs in CreateInstance and IndexOf.
5691         * BadImageFormatException.cs: TODO reformat.
5692         * DateTime.cs: Implemented GetDateTimeFormats and GetDateTimeFormats.
5693         * DelegateSerializationHolder.cs: Made class internal.
5694         * Enum.cs: Removed TODO for localization, since this is something that has
5695           to be done for all classes.
5696         * Environment.cs: Removed TODO.
5697         * Exception.cs: Changed ToString to use StringBuilder.
5698         * MonoDummy.cs: Made class internal.
5699         * UnitySerializationHolder.cs: Added support for modules.
5701 2004-04-16  David Sheldon <dave-mono@earth.li>
5703         * DecimalFormatter.cs: Don't append a decimal point after the
5704           end of a number. ((decimal)1).ToString("P0") should be "100 %", not
5705           "100. %"
5707 2004-04-09  Miguel de Icaza  <miguel@ximian.com>
5709         * OutOfMemoryException.cs: Removed the call to Locale.GetText from
5710           this.
5712 2004-04-10  Gert Driesen (drieseng@users.sourceforge.net)
5714         * MonoDummy.cs: added MonoTODO to make sure we remove this class
5715           when its no longer needed
5717 2004-04-09  David Sheldon <dave-mono@earth.li>
5719         * Convert.cs: Allow + signs in strings for ToInt32, and
5720           - if it is base 10.
5722 2004-04-08  Atsushi Enomoto  <atsushi@ximian.com>
5724         * Nullable.cs : usingdecl should also be conditional.
5726 2004-04-07  Martin Baulig  <martin@ximian.com>
5728         * Nullable.cs: New file.
5730 2004-04-07  Martin Baulig  <martin@ximian.com>
5732         * Type.cs (Type.GetGenericArguments): Make this abstract.
5734 2004-04-07  Jackson Harper  <jackson@ximian.com>
5736         * Environment.cs: Increase corlib version number.
5737         
5738 2004-04-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5740         * Environment.cs:
5741         (ExpandEnvironmentVariables): on windows, env. vars. are case
5742         insensitive.
5744 2004-04-06  Sebastien Pouliot  <sebastien@ximian.com>
5746         * AppDomain.cs: Added static to [ThreadStatic] _principal field. 
5747         Removed [ThreadStatic] for _principalPolicy (not required).
5749 2004-04-06  Miguel de Icaza  <miguel@ximian.com>
5751         * Guid.cs: Flag as Sequential.
5753 2004-04-02  Dick Porter  <dick@ximian.com>
5755         * String.cs: More sanity checks in Replace().  Fixes bug 55822.
5757 2004-04-02  Sebastien Pouliot  <sebastien@ximian.com>
5759         * Environment.cs: Implement ExpandEnvironmentVariables static method.
5760         Now call the runtime to get the username (fix #56144).
5762 2004-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5764         * MonoType.cs: AssemblyQualifiedName now displays culture, version...
5765         Fixes bug #56341.
5767 2004-03-29  Miguel de Icaza  <miguel@ximian.com>
5769         * Console.cs: If we fail to open stdin/stdout/stderr, create
5770         readers with a NullStream.  This can happen if our caller does not
5771         setup stdin/stoud/stderr file handles.  #56158 exposed this, but
5772         it will happen elsewhere.
5774 2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>
5776         * Convert.cs: In ToSingle(double), removed checks for Single.MaxValue
5777         and Single.MinValue. MS.NET don't do it. This fixes bug #56005.
5778         * Guid.cs: Added support for guid strings in the "N" and "P" formats in
5779           the constructor. This fixes bug #54019.
5781 2004-03-23  Lluis Sanchez Gual <lluis@ximian.com>
5783         * FloatingPointFormatter.cs: Made the class thread safe. Had to move some
5784           internal variables to structures that are moved around methods.
5785           Factorized some common formatting code into FormatNumberInternal.
5786           
5787 2004-03-23  Dick Porter  <dick@ximian.com>
5789         * DateTime.cs: Allow any character for DateSeparator when parsing,
5790         except TimeSeparator, a digit or a letter.  Fixes bug 54047.  Also
5791         deleted the previous fix for 54721, because this covers it too.
5792         
5793 2004-03-23  Dick Porter  <dick@ximian.com>
5795         * DateTime.cs: Check the date string for too many digits when
5796         parsing.  Fixes bugs 53023 and 53025.
5798 2004-03-22  Dick Porter  <dick@ximian.com>
5800         * String.cs: Use the provider when converting strings to other
5801         types.
5803         * DateTime.cs: Add MM-dd-yyyy to the list of standard date parsing
5804         formats.  Fixes bug 54721.
5806 2004-03-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5808         * Console.cs: Styled, optimized calls
5809         * CrossAppDomainDelegate.cs: Small header fix
5810         * Buffer.cs: Style, improve errors
5811         * BitConverter.cs: Style, improve errors, remove obsolete comment
5812         * Attribute.cs: Style, improve errors, small fix
5813         * Array.cs: Style, improve errors, small fix, added TODOs
5814         * Activator.cs: Style, localized errors, added error checks
5815         * Byte.cs: Style, localized errors, fixed wrong exception parameters
5816         * Char.cs: Style
5817         * Boolean.cs: Style
5818         * AppDomainSetup.cs: Style
5819         * AppDomain.cs: Style, implemented two methods (redirect)
5821 2004-03-21  Jackson Harper  <jackson@ximian.com>
5823         * FloatingPointFormatter.cs: Set precision from number format info
5824         when it is not specified. This fixes bug #54983.
5825         
5826 2004-03-18  Nick Drochak <ndrochak@ieee.org>
5828         * Math.cs: Use IsNaN() method not "x == NaN".
5830 2004-03-16  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5832         * EntryPointNotFoundException.cs
5833         * DuplicateWaitObjectException.cs
5834         * DllNotFoundException.cs
5835         * DivideByZeroException.cs
5836         * ContextMarshalException.cs
5837         * CannotUnloadAppDomainException.cs
5838         * BadImageFormatException.cs
5839         * ArrayTypeMismatchException.cs
5840         * ArithmeticException.cs
5841         * ArgumentOutOfRangeException.cs
5842         * ArgumentNullException.cs
5843         * ArgumentException.cs
5844         * ApplicationException.cs
5845         * AppDomainUnloadedException.cs: Added missing HResult overrides
5847         * BadImageFormatException.cs: Improved/ Fixed implementation
5849 2004-03-15  Sebastien Pouliot  <sebastien@ximian.com>
5851         * Random.cs: Corrected random value when Next is called with a 
5852         negative value. Testing indictae that our results aren't exactly the 
5853         same as MS, we have a +/- 1 (probably rounding errors due to 
5854         different implementation).
5856 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5858         * Environment.cs: updated corlib version.
5860 2004-03-15  Lluis Sanchez Gual <lluis@ximian.com>
5862         * Boolean.cs, Byte.cs, Char.cs, Double.cs, Int16.cs, Int32.cs, Int64.cs,
5863           SByte.cs, Single.cs, UInt16.cs, UInt32.cs, UInt64.cs: Renamed internal
5864           field "value" to "m_value", so it is interoperable with MS.NET when 
5865           serializing and deserializing data. Based on the patch from Daniel
5866           Keep.
5868 2004-03-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5870         * TypeInitializationException.cs
5871         * SystemException.cs
5872         * StackOverflowException.cs
5873         * RankException.cs
5874         * OverflowExceptionException.cs
5875         * OutOfMemoryException.cs
5876         * NullReferenceException.cs
5877         * NotSupportedException.cs
5878         * NotFiniteNumberException.cs
5879         * InvalidOperationException.cs
5880         * InvalidCastException.cs
5881         * IndexOutOfRangeException.cs
5882         * FormatException.cs
5883         * ExecutionEngineException.cs: improved parameter names
5885 2004-03-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5887         * Enum.cs
5888         * EntryPointNotFoundException.cs
5889         * DuplicateWaitObjectException.cs
5890         * DoubleFormatter.cs
5891         * DllNotFoundException.cs
5892         * DivideByZeroException.cs
5893         * DelegateSerializationHolder.cs
5894         * Delegate.cs
5895         * DBNull.cs
5896         * ContextStaticAttribute.cs
5897         * ContextMarshalException.cs
5898         * ContextBoundObject.cs
5899         * CLSCompliantAttribute.cs
5900         * CharEnumerator.cs
5901         * CannotUnloadAppDomainException.cs
5902         * BadImageFormatException.cs
5903         * AttributeUsageAttribute.cs
5904         * AttributeTargets.cs
5905         * AsyncCallback.cs
5906         * AssemblyLoadEventHandler.cs
5907         * AssemblyLoadEventArgs.cs
5908         * ArrayTypeMismatchException.cs
5909         * ArithmeticException.cs
5910         * ArgumentOutOfRangeException.cs
5911         * ArgumentNullException.cs
5912         * ArgumentException.cs
5913         * ArgIterator.cs
5914         * ApplicationException.cs
5915         * AppDomainUnloadedException.cs
5916         * AppDomain.cs: Mono styled, fixed exceptions/ locales
5917           removed excess usings
5919 2004-03-10  Sebastien Pouliot  <sebastien@ximian.com>
5921         * Convert.cs: FromBase64 now ignore some characters (tab, LF, CR and
5922         spaces) which fixed #54939. Changed the way that the length is 
5923         validated (multiple of 4) because the ignored characters must not be
5924         included in the count.
5926 2004-03-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5928         * String.cs: Monostyled
5930 2004-03-09  Jackson Harper  <jackson@ximian.com>
5932         * Char.cs: Only use a byte for numeric data.
5933         
5934 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5936         * TypedReference.cs: Added missing Attributes
5937         * ParamArrayAttribute.cs: Small style fix
5938         * OperatingSystem.cs: Added .Net 1.1 member
5940 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5942         * FieldAccessException.cs
5943         * FormatException.cs
5944         * InvalidCastException.cs
5945         * InvalidOperationException.cs
5946         * MemberAccessException.cs
5947         * MethodAccessException.cs
5948         * MissingFieldException.cs: Locale strings
5949         * MissingMemberException.cs: Locale strings
5950         * MissingMethodException.cs: Locale strings
5951         * NotFiniteNumberException.cs
5952         * NotImplementedException.cs
5953         * NotSupportedException.cs
5954         * NullReferenceException.cs
5955         * ObjectDisposedException.cs
5956         * OutOfMemoryException.cs
5957         * OverflowExceptionException.cs
5958         * PlatformNotSupportedException.cs
5959         * RankException.cs: Added missing HResult overrides
5961 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5963         * RuntimeTypeHandle.cs
5964         * RuntimeMethodHandle.cs
5965         * RuntimeFieldHandle.cs: Implemented serialization (partially untested)
5967 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5969         * EventArgs.cs
5970         * Exception.cs
5971         * ExecutionEngineException.cs
5972         * FieldAccessException.cs
5973         * FormatException.cs
5974         * GC.cs
5975         * Guid.cs
5976         * IndexOutOfRangeException.cs
5977         * IntPtr.cs
5978         * InvalidCastException.cs
5979         * InvalidOperationException.cs
5980         * InvalidProgramException.cs
5981         * IServiceProvider.cs
5982         * LoaderOptimization.cs
5983         * LoaderOptimizationAttribute.cs
5984         * MarshalByRefObject.cs
5985         * Math.cs
5986         * MemberAccessException.cs
5987         * MethodAccessException.cs
5988         * MissingFieldException.cs
5989         * MissingMemberException.cs
5990         * MissingMethodException.cs
5991         * MultiCastDelegate.cs
5992         * MulticastNotSupportedException.cs
5993         * NonSerializedAttribute.cs
5994         * NotFiniteNumberException.cs
5995         * NotImplementedException.cs
5996         * NotSupportedException.cs
5997         * NullReferenceException.cs
5998         * ObjectDisposedException.cs
5999         * ObsoleteAttribute.cs
6000         * OperatingSystem.cs
6001         * OutOfMemoryException.cs
6002         * OverflowExceptionException.cs
6003         * PlatformID.cs
6004         * PlatformNotSupportedException.cs
6005         * Random.cs
6006         * RankException.cs
6007         * ResolveEventArgs.cs
6008         * ResolveEventHandler.cs
6009         * RuntimeFieldHandle.cs
6010         * RuntimeMethodHandle.cs
6011         * RuntimeTypeHandle.cs: Mono styled, fixed exceptions/ locales
6012           removed excess usings
6014 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6016         * SystemException.cs: Exceptions set the HResult
6017         * TypeLoadException.cs: Exceptions set the HResult, fixed wrong exception usage
6018         * SByte.cs: Implemented two missing methods, fix wrong parameters for ArgumentNullException
6020 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6022         * TypedReference.cs
6023         * TypeLoadException.cs
6024         * TypeInitializationException.cs
6025         * TypeCode.cs
6026         * TimeZone.cs
6027         * ThreadStaticAttribute.cs
6028         * SystemException.cs
6029         * STAThreadAttribute.cs
6030         * StackOverflowException.cs
6031         * SingleFormatter.cs
6032         * Single.cs
6033         * SerializableAttribute.cs: Mono styled, fixed exceptions/ locales
6034           removed excess usings
6036 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6038         * UnauthorizedAccessException.cs: Exceptions set the HResult
6039         * UInt64.cs: Implemented two missing methods
6040         * UInt32.cs: Fix wrong parameters for ArgumentNullException, simpler convert
6041         * UInt16.cs: Fix wrong parameters for ArgumentNullException, simpler convert
6043 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6045         * WeakReference.cs
6046         * Void.cs
6047         * Version.cs
6048         * ValueType.cs
6049         * UnitySerializationHolder.cs
6050         * UnhandledExceptionEventHandler.cs
6051         * UnauthorizedAccessException.cs
6052         * UIntPtr.cs
6053         * UInt64.cs
6054         * UInt32.cs
6055         * UInt16.cs: Mono styled, Locale.GetText fixes, msg fixes
6057 2004-03-04  Lluis Sanchez Gual <lluis@ximian.com>
6059         * Environment.cs: Bump corlib version.
6061 2004-03-04  Jackson Harper  <jackson@ximian.com>
6063         * Char.cs: New managed implementation. Modified patch by Andreas Nahr.
6064         
6065 2004-02-27  Lluis Sanchez Gual <lluis@ximian.com>
6067         * String.cs: Concat() fixed crash when one of the arguments is an object
6068           whose ToString() method returns null.
6069         * TypeLoadException.cs: Added some serialization fiels, needed for
6070           compatibility with MS.NET.
6072 2004-02-23 Ben Maurer  <bmaurer@users.sourceforge.net>
6074         * String.cs (Equals): Speed up this method by avoiding Array
6075          Bounds Checks and by comparing by 32 bit words rather than 16 bit chars.
6077         This gives between 0x (for 1 char) and >2x (for large strings)
6078         factor of improvement.
6080         A big thanks to Miguel, who suggested the integer compares.
6082 2004-02-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6084         * MonoType.cs: use the binder in GetPropertyImpl.
6086 2004-02-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6088         * Math.cs: MonoStyled, replaced space with tabs,
6089           speedup of some methods by avoiding method calls
6091 2004-02-18  Atsushi Enomoto  <atsushi@ximian.com>
6093         * Char.cs : optimized IsSeparator(), IsWhiteSpace() and IsDigit().
6094           (Moved from InternalCall to Managed code).
6096 2004-02-17  Martin Baulig  <martin@ximian.com>
6098         * MonoType.cs (GetConstructors): Renamed the interncall to
6099         GetConstructors_internal(), made it internal and added a `Type
6100         reflected_type' argument to it.
6101         (GetEvents, GetFields): Likewise.
6102         (GetMethodsByName): Added `Type reflected_type' argument.
6103         (GetPropertiesByName): Likewise.
6105 2004-02-16  Jackson Harper  <jackson@ximian.com>
6107         * FloatingPointFormater.cs: Allow precision to be up to the number
6108         of decimals without rounding.
6109         
6110 2004-02-14  Zoltan Varga  <vargaz@freemail.hu>
6112         * Delegate.cs (Equals): Do not compare method_ptr, since it might
6113         point to a trampoline.
6115 2004-02-12  Jackson Harper  <jackson@ximian.com>
6117         * AppDomainSetup.cs: If relative paths are used they should be
6118         rooted in the temp directory.
6119         
6120 2004-02-11  Marek Safar  <marek.safar@seznam.cz>
6122         * Type.cs (FilterNameIgnoreCase_impl): Added extra check for speedup.
6124 2004-02-10  Zoltan Varga  <vargaz@freemail.hu>
6126         * AppDomain.cs (Load): Check that assemblyRef.Name is not empty, to
6127         avoid an assert in the runtime.
6129 2004-02-08  Duncan Mak  <duncan@ximian.com>
6131         * Convert.cs (ToType): Always let a Convert.ChangeType call
6132         succeed if the source object is already of the destination type.
6134         Patch by Ian MacLean (ianm@activestate.com).
6136 2004-02-05  Sebastien Pouliot  <sebastien@ximian.com>
6138         * AppDomain.cs: Implemented SetPrincipalPolicy and SetThreadPrincipal.
6140 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
6142         * Environment.cs: Bump corlib version.
6144 2004-02-02  Sebastien Pouliot  <sebastien@ximian.ca>
6146         * DateTime.cs: Corrected support for "Z" in the mask (Parse). This
6147         fix bug #53461.
6149 2004-01-27  Sebastien Pouliot  <spouliot@videotron.ca>
6151         * Exception.cs: Changed ToString to remove the \n when no stack trace
6152         is present (which fixed a unit test for SecurityException). Changed
6153         all \n to Environment.NewLine.
6155 2004-01-27  Lluis Sanchez Gual <lluis@ximian.com>
6157         * ContextBoundObject.cs: Removed TODO.
6159 2004-01-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6161         * TimeSpan.cs: fixed bug #52075. Days (int) don't rely on TotalDays
6162         (double), which might round up.
6164 2004-01-19  Jackson Harper <jackson@ximian.com>
6166         * FloatingPointFormatter.cs: Use the default decimal digits count
6167         if they are not specified. This fixes bug #52927.
6168         
6169 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
6171         * Environment.cs: Bump version number.
6173 2004-01-19  Lluis Sanchez Gual  <lluis@ximian.com>
6175         * Type.cs: Added internal call for IsInstanceOfType. The old implementation
6176         uses IsAssignableFrom(o.GetType()), which is not always valid for 
6177         transparent proxies (because GetType will not return the type of the remote
6178         object if its assembly is not present).
6180 2004-01-18  David Sheldon <dave-mono@earth.li>
6182   * FloatingPointFormatter.cs: Skip the decimal point if we have an 
6183     integer mantassa. So: 1E+15, rather than 1.E+15.
6185 2004-01-18  David Sheldon <dave-mono@earth.li>
6187         * Array.cs (GetValue/SetValue): Throw NullRef exception like .NET 1.1, 
6188         even though docs say it should be an ArgumentNull. Two test cases now
6189   pass. See also nickd's commit of 2003-12-24.
6191 2004-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6193         * Environment.cs: increased corlib version.
6195 2004-01-14  Lluis Sanchez Gual <lluis@ximian.com>
6197         * MonoCustomAttrs.cs: Removed attribute cache. Attribute instances can't
6198         be reused because they could be modified. This fixes bug #52655.
6200 2004-01-12  Patrik Torstensson
6202         * Environment.cs: Bump corlib version number due to new StringBuilder
6203         
6204         * String.cs: New internal method to support the new StringBuilder that
6205         uses the string as a buffer (until ToString is called)
6207 2004-01-12  Zoltan Varga  <vargaz@freemail.hu>
6209         * Environment.cs: Bump corlib version number for real this time.
6210         
6211         * AppDomain.cs (LoadAssembly): Pass the assembly name as a string to
6212         the runtime, so it can take into account the Culture etc.
6214         * Environment.cs: Bump corlib version number.
6215         
6216 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6218         * MonoType.cs: GetMethods renamed to GetMethodsByName. It takes a
6219         new parameter with the method name and a boolean for ignoring case.
6220         Removed some string comparisons no longer needed.
6222 2004-01-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6224         * MonoType.cs: GetProperties renamed to GetPropetiesByName. It takes a
6225         new parameter with the property name and a boolean for ignoring case.
6226         Fixes bug #52753.
6228 2004-01-11  David Sheldon <dave-mono@earth.li>
6230         * DateTime.cs: Correct processing of formats with multiple '-'s, fixing
6231         bug 52274.
6233 2004-01-10  Zoltan Varga  <vargaz@freemail.hu>
6235         * AppDomain.cs: Keep track of type resolve and assembly resolve 
6236         events in progress to prevent infinite recursion.
6238 2004-01-06  Miguel de Icaza  <miguel@ximian.com>
6240         * Console.cs: Test for UTF-8 being present anywhere on the
6241         string, also do ToUpper instead of ToLower, which will work even
6242         around the ICU bug with different locales (#52065), and addresses #52101
6244 2004-01-05  Zoltan Varga  <vargaz@freemail.hu>
6246         * Environment.cs: Bump version.
6248 2003-12-24 Ben Maurer  <bmaurer@users.sourceforge.net>
6250         * Type.cs (IsNotPublic): One would normally assume that
6251         IsNotPublic == !IsPublic, but this is not the case (note to MS,
6252         make better names ;-). Fixes #52547, `Type.IsNotPublic not 
6253         correct for Nested types'
6255 2003-12-24  Nick Drochak  <ndrochak@ieee.org>
6257         * Array.cs (CreateInstance): Throw NullRef exception like .NET 1.1, 
6258         even though docs say it should be an ArgumentNull. Sent email to MS
6259         about this "bug".
6261 2003-12-23  Lluis Sanchez Gual  <lluis@ximian.com>
6263         * Exception.cs: Several changes to make it compatible with MS.NET (needed
6264         for remoting interoperability): set a default value for hresult, added 
6265         initialization of class_name, serialization field RemoteStackTrace must
6266         be RemoteStackTraceString, added ser. field ExceptionMethod.
6268         * IndexOutOfRangeException.cs: Added serialization constructor.
6270 2003-12-22  Bernie Solomon  <bernard@ugsolutions.com>
6272         * Int32 (Parse):
6273           Int64 (Parse): Fix overflow checking for AllowHexSpecifier
6275 2003-12-20  Zoltan Varga  <vargaz@freemail.hu>
6277         * MonoType.cs (GetMethodImpl): Only call FindMostDerivedMatch if the
6278         user supplied no parameter info, but not when the user supplied an
6279         empty parameter list. This fixes IKVM.
6281         * Environment.cs: Bump corlib version.
6283 2003-12-19  Dick Porter  <dick@ximian.com>
6285         * String.cs: Added Compare shortcut for length==0.
6287 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
6289         * Environment.cs: Bump corlib version.
6291 2003-12-17  Dick Porter  <dick@ximian.com>
6293         * String.cs: Fix StartsWith and EndsWith when the argument is the
6294         empty string.  Fixes bug 52283.
6296 2003-12-16  Zoltan Varga  <vargaz@freemail.hu>
6298         * Environment.cs (HasShutdownStarted): Implement.
6300 2003-12-15  Zoltan Varga  <vargaz@freemail.hu>
6302         * Environment.cs (HasShutdownStarted): Make this static under NET 1.1.
6303         
6304         * Environment.cs: Bump version number.
6306 2003-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6308         * DateTime.cs: don't bail out with that year out of range error on
6309         stuff like "MM/dd/yyyy HH:MM:ss".
6311 2003-12-13  Zoltan Varga  <vargaz@freemail.hu>
6313         * Environment.cs: Make it a const instead.
6314         
6315         * Environment.cs: Make version field static.
6317 2003-12-10  Zoltan Varga  <vargaz@freemail.hu>
6319         * Type.cs: Make DefaultBindingFlags protected.
6321         * Environment.cs: Applied patch from Todd Berman (tbermann@gentoo.org).
6322         Add new GacPath property + its associated icall.
6324 2003-12-09 Anirban Bhattacharjee <banirban@novell.com>
6326         * DateTime.cs : Bugs fixed (41845, 51422)
6327         * MonoType.cs : Exception message changed 
6329 2003-12-08  Martin Baulig  <martin@ximian.com>
6331         * Type.cs (MakeByRefType): New public method.
6333 2003-12-08  Zoltan Varga  <vargaz@freemail.hu>
6335         * Environment.cs: Add a version number for the corlib-runtime interface
6336         to make it easier to diagnose problems resulting from a mismatch 
6337         between the two.
6339 2003-12-08  Patrik Torstensson   <p@rxc.se>
6341         * Type.cs (GetMethod): Check type arguments within array
6342         * MonoType.cs (GetMethodImpl): Handle methods with a new slot
6343         (same signature but different classes (derived level)
6345 2003-12-07  Zoltan Varga  <vargaz@freemail.hu>
6347         * Type.cs (MakeArrayType): Add argument checking.
6349 2003-12-06  Dick Porter  <dick@ximian.com>
6351         * String.cs: Don't use CompareInfo for non-culture-sensitive
6352         IndexOf and LastIndexOf methods.
6354 2003-12-06  Ravindra  <rkumar@novell.com>
6356         * DateTime.cs: Made Parse(string, IFormatProvider) method to
6357         use second argument. Fixed bug #51464.
6359 2003-12-04  Martin Baulig  <martin@ximian.com>
6361         * Type.cs (Type.MakeArrayType): New public method.
6363 2003-12-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6365         * Buffer.cs:
6366         (BlockCopy): make the exception thrown helpful.
6368 2003-12-03  Dick Porter  <dick@ximian.com>
6370         * String.cs: Calling Replace on an empty string returns itself.
6372 2003-12-03  Zoltan Varga  <vargaz@freemail.hu>
6374         * MonoType.cs: Get rid of get_type_info, use a separate icall for
6375         each property instead.
6377 2003-12-02  Dick Porter  <dick@ximian.com>
6379         * Decimal.cs: Fix NumberFormatInfo lookup.  Patch by
6380         Mohammad DAMT (mdamt@cdl2000.com), fixes bug 51443.
6382 2003-12-01  Dick Porter  <dick@ximian.com>
6384         * String.cs: Make Compare, IndexOf, LastIndexOf, StartsWith,
6385         Replace, ToLower, ToUpper and Equals use the correct CultureInfo.
6387 2003-11-28  Dick Porter  <dick@ximian.com>
6389         * Type.cs: 
6390         * MonoType.cs: 
6391         * Enum.cs: 
6392         * Boolean.cs: Do string compares with the Invariant culture.
6394 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
6396         * Array.cs: make the enumerator ICloneable
6398 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
6400         * Decimal.cs (ToXXX): Call Convert.ToXXX.
6402 2003-11-26  Zoltan Varga  <vargaz@freemail.hu>
6404         * AppDomain.cs: Applied patch from ztashev@openlinksw.co.uk (Zdravko Tashev). 
6405         Implement Load(byte[]) methods.
6407         * BadImageFormatException.cs: Fix ToString.
6409 2003-11-24  Zoltan Varga  <vargaz@freemail.hu>
6411         * MonoType.cs: Make Standard|HasThis match Standard in GetMethod and
6412         GetConstructor, as done by MS.
6414 2003-11-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6416         * FloatingPointFormatter.cs: Removed some unused variables to prevent csc compiler warnings
6418 2003-11-18  Lluis Sanchez Gual  <lluis@ximian.com>
6420         * TypeInitializationException.cs: Added missing serialization constructor.
6422 2003-11-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6424         * AppDomainSetup.cs: Don't add an extra '/' at the end of 
6425         ApplicationBase. The tests pass now with mono.
6427 2003-11-18  Zoltan Varga  <vargaz@freemail.hu>
6429         * ValueType.cs: New optimized implementation for Equals and GetHashCode.
6431 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6433         * Environment.cs: use Directory in CurrentDirectory property.
6434         We were not throwing any exception when setting the directory to an
6435         invalid path.
6437 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6439         * Array.cs:
6440         * Delegate.cs: implemented 1.1 stuff.
6442         * Enum.cs:
6443         * IntPtr.cs: removed extra attribute.
6444         * PlatformID.cs: added WinCE.
6446 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6448         * ValueType.cs:
6449         (Equals): compare the fields of structs too.
6450         (GetHashCode): combine the hash code of all the fields.
6451         Fixes bug #50901 (will remove the icall in a couple of days).
6453 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6455         * Array.cs: fixed Clear for non-zero bounded arrays. Fixes bug #50968.
6457 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6459         * DateTime.cs: handle century when we try to parse 4-digit years and
6460         only 2 digits are present. Fixes bug #49394.
6462 2003-11-13  Miguel de Icaza  <miguel@ximian.com>
6464         * Console.cs: On utf-8 consoles, use unmarked output.
6466 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6468         * IAppDomainSetup.cs:
6469         * _AppDomain.cs: 
6470         * Object.cs:
6471         * Type.cs: Added missing attribute
6473 2003-11-12 Lluis Sanchez Gual <lluis@ximian.com>
6475         * Environment.cs: Added internal method for getting the path to 
6476         machine.config.
6477         
6478 2003-11-12 Jackson Harper <jackson@ximian.com>
6480         * Environment.cs: Add MyMusic and MyPictures to the SpecialFolder
6481         enum. This fixes the SWF build.
6482         
6483 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
6485         * PlatformID.cs: Remove Unix platform, we cant expose constants
6486         that are not in the framework.
6488         * OperatingSystem.cs: Adjust for the breakage.
6490         * RuntimeMethodHandle.cs: Fix signature.
6492         * Double.cs: Fix signature of TryParse.
6494         * String.cs (Concat (object, object, object, object)): Add missing method.
6496         * OperatingSystem.cs: Removed Equals, GetHashCode, they were not
6497         in the .NET Framework.
6499         * Enum.cs: Hide constructor.  
6501         Fix ToUint16 to be explicitly implemented.
6503         * Console.cs: Add couple of extra missing methods (Write and
6504         WriteLine overloaded)
6506 2003-11-11  Miguel de Icaza  <miguel@ximian.com>
6508         * AppDomain.cs, Activator.cs: New unimplmented entry points from
6509         1.1 (Com activation related).
6510         
6511         * Exception.cs: Formatting.
6512         
6513         * IServiceProvider.cs: Add ComVisible (true).
6515         * AppDomainSetup.cs: Add a couple more properties from .NET 1.1 
6517 2003-11-03  Lluis Sanchez Gual <lluis@ximian.com>
6519         * AppDomain.cs: Added some null checks in Load methods. This fixes bug
6520           #50356.
6522 2003-11-01  Zoltan Varga  <vargaz@freemail.hu>
6524         * AppDomain.cs: Make the SetDomain icalls private + call InternalInvoke
6525         on MonoMethod instead of Invoke.
6527 2003-11-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
6529         * DateTime.cs: Fixed Add* methods handling. Now it works properly
6530         with extreme values (there is a bug with Overflow and Underflow in
6531         long type).
6533 2003-10-31  Pedro Martínez Juliá  <yoros@wanadoo.es>
6535         * DateTime.cs: Fixed a few format bugs.
6537 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
6539         * AppDomain.cs (InternalPushDomainRef): New icalls.
6541         * AppDomain.cs (InvokeInDomain): New method to execute code in a 
6542         different appdomain.
6544 2003-10-27  Zoltan Varga  <vargaz@freemail.hu>
6546         * AppDomain.cs: Fix prototype of InternalIsFinalizingForUnload.
6548 2003-10-25  Zoltan Varga  <vargaz@freemail.hu>
6550         * AppDomain.cs (IsFinalizingForUnload): Implement.
6552         * AppDomain.cs (Unload): Move the notification of OnUnload listeners
6553         to unmanaged code.
6555 2003-10-25  Martin Baulig  <martin@ximian.com>
6557         * MonoType.cs: Don't make this sealed.
6559 2003-10-24  Zoltan Varga  <vargaz@freemail.hu>
6561         * AppDomain.cs: Add InternalInvokeInDomain[ByID] icalls.
6563 2003-10-24  Pedro Martínez Juliá  <yoros@wanadoo.es>
6565         * DateTime.cs: When handling '-' as a date separator, MS.NET uses
6566         the same symbol in the parse (not DateTimeFormatInfo.DateSeparator).
6568 2003-10-22  Dick Porter  <dick@ximian.com>
6570         * DateTime.cs: Handle '-' as a date separator when parsing formats.
6572 2003-10-20  Duncan Mak  <duncan@ximian.com>
6574         * Delegate.cs (CreateDelegate): Avoid creating an extra Type array
6575         and merge the two iterations into one.
6577 2003-10-15  Zoltan Varga  <vargaz@freemail.hu>
6579         * TypedReference.cs: Add new field used by the runtime.
6581 2003-10-15  Martin Baulig  <martin@ximian.com>
6583         * Type.cs (Type.DeclaringMethod): For a generic method's type
6584         parameter, return this method - otherwise, return null.
6586 2003-10-14  Martin Baulig  <martin@ximian.com>
6588         The generics API has changed in the spec since it was added here;
6589         these modifications make it match the spec again.
6591         * Type.cs
6592         (GetGenericParameters): Renamed to `GetGenericArguments'.
6593         (HasGenericParameters): Renamed to `HasGenericArguments'.
6594         (HasUnboundGenericParameters): Renamed to `ContainsGenericParameters'.
6595         (IsGenericTypeDefinition): New property.
6596         (IsUnboundGenericParameter): Renamed to `IsGenericParameter'.
6598         * MonoType.cs (ContainsGenericParameters): Implement this here;
6599         this is no interncall anymore.
6601 2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6603         * Delegate.cs: add the method name to the exception when it cannot be
6604         bound.
6605         * Exception.cs: fix nullref in Source.
6607 2003-10-10  Zoltan Varga  <vargaz@freemail.hu>
6609         * Array.cs: Add argument checking to GetValue and SetValue.
6611 2003-10-09  Miguel de Icaza  <miguel@ximian.com>
6613         * DateTime.cs: Patch from Chris Turchin: the DateTime.MaxValue
6614         should not be TimeSpan.MaxValue, because it overflow.  Set this to
6615         be MAX_VALUE_TICKS
6617 2003-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6619         * MonoCustomAttrs.cs: from_cache is now thread-safe. Yeah, I got a
6620         duplicate entry exception.
6622 2003-10-08 Ben Maurer  <bmaurer@users.sourceforge.net>
6624         * DateTime.cs (ToString): Total rewrite, fixes #49358.
6626 2003-10-03  Zoltan Varga  <vargaz@freemail.hu>
6628         * AppDomain.cs: Change accessibility of DoTypeResolve to fix build.
6630 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6632         * Enum.cs:
6633         (Equals): check that the object is an Enum before comparing the types.
6635 2003-09-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6637         * Array.cs: reduced xsp allocated memory by 1/2.
6639 2003-09-25  Martin Baulig  <martin@ximian.com>
6641         * Type.cs (Type.IsGenericTypeDefinition): Removed this method
6642         since it was identical to GetGenericTypeDefinition().
6643         (Type.IsGenericInstance): New property.
6645 2003-09-24  Duncan Mak  <duncan@ximian.com>
6647         * Math.cs (Abs): Fix double Locale.GetText bug reported by
6648         davejp@volny.cz. This fixes #48788.
6650 2003-09-14  Pedro Martínez Juliá  <yoros@wanadoo.es>
6652         * FloatingPointFormatter.cs: Add the necessary castings to char
6653         conversions.
6655 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
6657         * FloatingPointFormatter.cs: Make the method calls more functional
6658         for protecting the values from different threads (make it more
6659         thread safe).
6661 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
6663         * FloatingPointFormatter.cs: Fix a bug with the negative value of
6664         count parameter.
6666 2003-09-12  Pedro Martínez Juliá  <yoros@wanadoo.es>
6668         * FloatingPointFormatter.cs: Applied a lot of improvements in string
6669         construction, make use of Append/Insert with the "count" parameter.
6670     Thanks to Ben Maurer.
6672 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
6674         * FloatingPointFormatter.cs: Fix a bug with Custm Format.
6676         * FloatingPointFormatter.cs: Fix a little bug I've introduced the
6677         last change.
6679 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
6681         * DoubleFormatter.cs: A few optimizations. Now, only one object
6682         is created to convert all double numbers.
6684         * SingleFormatter.cs: A few optimizations. Now, only one object
6685         is created to convert all float numbers.
6687         * FloatingPointFormatter.cs: Split the "number type parameters" from
6688         the "numver value and format parameters". The first ones are in the
6689         constructor and the others are in a method.
6691 2003-09-09  Zoltan Varga  <vargaz@freemail.hu>
6693         * Array.cs: Added argument checking to some NET_1_1 methods.
6695 2003-09-04  Martin Baulig  <martin@ximian.com>
6697         * Type.cs (GetGenericTypeDefinition): Make this method virtual.
6699 2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6701         * Array.cs: added the new overloaded CreateInstance, GetValue, SetValue
6702         taking 'longs'. All tests pass.
6704 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
6706         * Exception.cs: Add ClassInterface attr. Implement TargetSite and
6707         Source. Remove MonoTODO attributes (class is 100% done). Also
6708         passes all Rotor tests for Exception!
6710 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
6712         * Enum.cs: Remove [MonoTODO]'s that had been completed.
6714 2003-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6716         * String.cs: fixed bug #47802.
6718 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
6720         * String.cs: Created method FormatHelper that does formatting,
6721         using a StringBuilder.
6723 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6725         * Array.cs: patch by lb@lb.ods.org that fixes bug #47707.
6727 2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6729         * Delegate.cs: CreteDelegate (Type, MethodInfo) only supports static
6730         methods under MS.
6732 2003-08-11  Duncan Mak  <duncan@ximian.com>
6734         * Environment.cs (Version): Return the same numbers as the MS
6735         implementation.
6737 2003-08-10  Miguel de Icaza  <miguel@ximian.com>
6739         * Array.cs: Applied patch from Thong (Tum) Nguyen;  Removed
6740         replicated tests, and have a routine that does the heavy lifting.
6742 2003-08-08  Lluis Sanchez Gual <lluis@ximian.com>
6744         * DateTime.cs: Fixed DoParse. It was calling the wrong constructor
6745           of DateTime.
6746         * Environment.cs: return $HOME for ApplicationData folder.
6748 2003-08-04  Duncan Mak  <duncan@ximian.com>
6750         * FloatingPointFormatter.cs (Normalize): Apply a patch from Aleksey
6751         Demakov <avd@openlinksw.com> to fix formatting for Big power of 10
6752         floating point values. This fixes bug #46175.
6754         * Convert.cs (ToUInt16): Throw an OverflowException correctly, as
6755         noted by c5n4kh6u02@sneakemail.com in
6756         http://bugzilla.ximian.com/show_bug.cgi?id=43098.
6758 Sat Aug  2 13:01:46 BST 2003 Malte Hildingson <malte@amy.udd.htu.se>
6760         * Double.cs: added icall Double.AssertEndianity.
6762 Fri Aug 1 16:47:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
6764         * Type.cs, MonoType.cs: implemented generic-specific methods.
6766 2003-07-29  Miguel de Icaza  <miguel@ximian.com>
6768         * Buffer.cs: Add new internal MemCopy call.
6770         Removed the above.
6772 Tue Jul 29 12:13:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
6774         * Type.cs, MonoType.cs, ArgIterator.cs: pass the handles values
6775         to icalls, to avoid special cases in some call conventions.
6777 2003-07-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6779         * Enum.cs: added Serializable attribute.
6781 2003-07-25  Duncan Mak  <duncan@ximian.com>
6783         * AppDomain.cs (Equals):
6784         (GetHashCode): Removed because they do not need to be defined
6785         here.
6787 2003-07-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6789         * TypeLoadException.cs: removed unused fields. TypeName returns "" if
6790         cannot even get the type.
6792 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
6794         * Type.cs: Added generics stubs.
6796 2003-07-23  Duncan Mak  <duncan@ximian.com>
6798         * Environment.cs (SpecialFolder): Added 'Desktop' and 'MyComputer'
6799         as values for NET_1_1.
6800         (GetFolderPath): Return the empty string ("") for values of
6801         SpecialFolder that have no corresponding equivalents in
6802         Linux. Return "$HOME/Desktop" for SpecialFolder.DesktopDirectory
6803         and "$HOME" for SpecialFolder.Personal.
6805         * IntPtr.cs (GetObjectData): Mark it as an interface
6806         implementation, instead of a public method.
6808         * Guid.cs (NewGuid): Remove MonoTODOAttribute.
6810         * TypeLoadException.cs (GetObjectData):
6811         Create stubs for the fields that are being serialized.
6813         * UIntPtr.cs: Removed erroneous CLSCompliantAttributes.
6815 2003-07-23  Lluis Sanchez Gual <lluis@ximian.com>
6816         
6817         * Enum.cs: Fixed enum formatting. For flag enums, if one of
6818           the flags is unnamed, ToString() returns the integer value.
6820 2003-07-22  Jerome Laban <jlaban@wanadoo.fr>
6822         * Guid.cs: Fixed ToString (), was producing incorrect string.
6824 2003-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6826         * AppDomainSetup.cs: fixed bug #46609.
6828 Thu Jul 17 17:28:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
6830         * MonoType.cs: use an icall for IsPrimitiveImpl ().
6832 Thu Jul 17 15:23:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
6834         * Guid.cs: faster ToString ().
6836 2003-07-15  Pedro Martínez Juliá  <yoros@wanadoo.es>
6838         * FloatingPointFormatter.cs: Few changes for get working Rotor
6839         tests.
6841 2003-07-13  Zoltan Varga  <vargaz@freemail.hu>
6843         * Type.cs (IsAssignableFrom): Implement this as an icall since the
6844         runtime already includes the neccessary logic.
6846 2003-07-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6848         * AppDomainSetup.cs: remove the "file://" prefix from ApplicationBase
6849         if it's present and get the full path for non-Uri paths.
6851 2003-07-2  Lluis Sanchez Gual <lluis@ximian.com>
6853         * DateTime.cs: Fixed formatting of fractions of second.
6855 2003-06-30  Zoltan Varga  <vargaz@freemail.hu>
6857         * Console.cs: Turn off buffering for the streams returned by
6858         OpenStandardOutput () and OpenStandardError () if the buffer size is 0.
6860 2003-06-28  Lluis Sanchez Gual <lluis@ximian.com>
6862         * Random.cs: Changed behavior of Random to match MS.NET. When Next is
6863           called with maxvalue==0 or minvalue==maxvalue, MS.NET internally generates
6864           a new random number (although it is not needed), while mono did not. 
6865           As a result, the sequence of random numbers could be different for the
6866           same seed.
6868 Thu Jun 26 16:06:35 CEST 2003 Paolo Molaro <lupus@ximian.com>
6870         * FloatingPointFormatter.cs: use dec_len2 as default precision.
6872 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
6874         * DateTime.cs: Modified constructor. Check for valid value of TimeSpan must
6875           be done after the correspondig UTC offset has been applied.
6877 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
6879         * Object.cs: Object must have the Serializable attribute.
6880         * DateTime.cs: Fixed _DoParse() so it correctly applies the utc offset
6881           to the resulting date. Also fixed _ToString so now correctly formates the
6882           UTC offset.
6884 Wed Jun 18 19:22:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
6886         * Enum.cs: fix race in cache (bug#41841).
6888 Wed Jun 18 18:52:11 CEST 2003 Paolo Molaro <lupus@ximian.com>
6890         * FloatingPointFormatter.cs: if the precision is not specified, use
6891         the default precision for the data type.
6893 Wed Jun 18 18:11:30 CEST 2003 Paolo Molaro <lupus@ximian.com>
6895         * Array.cs: throw ArgumentOutOfRangeException in Copy if needed
6896         (patch by tum@veridicus.com (Thong (Tum) Nguyen)).
6898 2003-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6900         * MonoType.cs: don't throw nullref when the return type for a property
6901         is specified and the property doesn't have a get accessor.
6903 2003-06-10  Duncan Mak  <duncan@ximian.com>
6905         * Array.cs (CreateInstance): Fixed a typo. It should throw
6906         ArgumentNullException instead of ArgumentException.
6908 2003-06-09  Duncan Mak  <duncan@ximian.com>
6910         * Array.cs: Revert the last revert. I fixed it.
6911         (Sort): Put a try-catch block around qsort, and wrap whatever
6912         Exception we get into a InvalidOperationException.
6914 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
6916         * Array.cs: Revert last patch, it broke some other functionality.
6917                 
6918 2003-06-08  Duncan Mak  <duncan@ximian.com>
6920         * Array.cs: Throw more exceptions. This fixes the errors we see
6921         from the Rotor testsuite.
6923         (CreateInstance): Throw ArgumentNullException when the input are
6924         null. Throw ArgumentOutOfRangeException when bounds + length is
6925         greater than Int32.MaxValue.
6926         (LastIndexOf): Throw ArgumentOutOfRangeException if index is outside
6927         the valid range of indices of array.
6928         (Sort): Throw InvalidOperationException when comparer is null and
6929         none of the elements in keys implements IComparable.
6931 2003-06-08  Duncan Mak  <duncan@ximian.com>
6933         * Array.cs (CreateInstance): Throw a TypeLoadException if the
6934         Length of the input array 'lengths' is greater than 255 so that we
6935         won't see the g_assert that is in mono_array_class_get in class.c.
6937         This fixes bug #44304.
6939 2003-06-05  Nick Drochak  <ndrochak@gol.com>
6941         * UnitySerializataionHolder.cs: Cleanups according to class status page
6943 Wed Jun 4 16:59:39 CEST 2003 Paolo Molaro <lupus@ximian.com>
6945         * ArgIterator.cs, TypedReference.cs, RuntimeArgumentHandle.cs,
6946         RuntimeTypeHandle.cs: implemented the needed stuff to handle
6947         vararg calls.
6949 2003-06-02  Sebastien Pouliot  <spouliot@videotron.ca>
6951         * Random.cs: New implementation based on Knuth ran3 to fix #43597.
6952         See http://www.library.cornell.edu/nr/bookcpdf/c7-1.pdf. Commited
6953         for Ben Maurer after review and testing.
6955 2003-05-28  Ben Maurer <bmaurer@users.sourceforge.net>
6956         
6957         * Array.cs: Added better argument checking to Array.Sort ()
6958         * DBNull.cs: Made the conversions throw like they do in MS.
6960 2003-05-24  Philip Van Hoof  <me@freax.org>
6962         * Math.cs: Add the MS.NET 1.1 methods (BigMul, DivRem, DivRem).
6964 2003-05-21  Pedro Martínez Juliá  <yoros@wanadoo.es>
6966         * FloatingPointFormatter.cs: Take care with the explicit precision
6967         and round the number to that precision.
6969         * DoubleFormatter.cs: Adapt to the two level precision (15 - 17).
6971         * SingleFormatter.cs: Adapt to the two level precision (7 - 8).
6973 2003-05-20  Philip Van Hoof <me@freax.org>
6975         * DateTime.cs (FromOADate, GetDateTimeFormats, ToOADate):
6976         Implemented.
6978 2003-05-20  Zoltan Varga  <vargaz@freemail.hu>
6980         * AppDomainSetup.cs: Added new field which is used to notify the
6981         runtime that the search path has changed.
6983 2003-05-18  Pedro Martínez Juliá  <yoros@wanadoo.es>
6985         * FloatingPointFormatter.cs: Fixed NullReferenceException bug I've
6986         introduced the last change I've done.
6988 2003-05-17  Ben Maurer  <bmaurer@users.sourceforge.net>
6990         * Array.cs: Fixed SyncRoot to behave like MS (return this). Removed 
6991         MonoTODO from SyncRoot (because fixed) and IsSynchronized (it was
6992         behaving correctly).
6993         
6994 2003-05-17  Pedro Martínez Juliá  <yoros@wanadoo.es>
6996         * FloatingPointFormatter.cs: Fixed little format mismatches.
6998 2003-05-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
7000         * FloatingPointFormatter.cs: Fixed "-0" result emited.
7002 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7004         * AppDomain.cs: Added null argument check in Load().
7005         * Activator.cs: fixed bug #39926.
7007 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7009         * Enum.cs: fixed bugs #41522 and #42879.
7011 2003-05-12  Zoltan Varga  <vargaz@freemail.hu>
7013         * String.cs: Tweak IndexOf and LastIndexOf to match specification and
7014         undocumented MS behaviour.
7016 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7018         * Activator.cs: applied patch for bug #39926. Thanks to Jean Marc and
7019         Jaime.
7021 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7023         * String.cs: fixed bug #41411 and another similar problem in
7024         LastIndexOf (string).
7026 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7028         * String.cs: patch by Jean Marc <jean-marc.andre@polymtl.ca> that fixes
7029         bug #42695.
7031 2003-05-09  Zoltan Varga  <vargaz@freemail.hu>
7033         * MulticastDelegate.cs (GetInvocationList): Avoid ArrayList 
7034         construction if the delegate list only has one element.
7036 2003-05-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
7038         * Environment.cs: Changed the method GetFolderPath because it must
7039         return at least a directory name (not null).
7041         * Convert.cs: In ToType, if the destination type is unknown, try to
7042         cast the value to object (then, the calling method will downcast it
7043         to the type it wants).
7045 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7047         * Enum.cs: fixed bug #41522.
7049 Tue Apr 29 13:58:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
7051         * Enum.cs: protect with the lock also the lookup (bug #41841).
7053 Tue Apr 29 13:24:32 CEST 2003 Paolo Molaro <lupus@ximian.com>
7055         * MonoType.cs: allow a null name if InvokeMember is called with
7056         BindingFlags.CreateInstance set.
7058 2003-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7060         * Enum.cs: reverted my previous patch.
7062 2003-04-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7064         * Enum.cs: fixed bug #41841.
7066 2003-04-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7068         * MonoType.cs:
7069         (GetPropertyImpl): handle BindingFlags.IgnoreCase.
7071 2003-04-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
7073         * FloatingPointFormatter.cs: Little fixes for get the same results
7074         as MS.NET and show a message when something goes wrong with the
7075         parser of Custom Formats.
7077 2003-04-22  Nick Drochak  <ndrochak@gol.com>
7079         * Double.cs (ToString):
7080         * Single.cs (ToString): Handle case where param is a CultureInfo.
7082 2003-04-18  Zoltan Varga  <vargaz@freemail.hu>
7084         * Object.cs ValueType.cs: Make the Object::GetHashCode() and 
7085         ValueType::Equals() icalls static non-virtual, so they can be called
7086         by the code in RuntimeHelpers.
7088 2003-04-18  Miguel de Icaza  <miguel@ximian.com>
7090         * Delegate.cs (operator ==): Do not crash if the second argument
7091         is null.  Bug fix submitted by Juan Cri.
7093 2003-04-18  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
7095         * Array.cs: Deleted the exception in Array.Initialize(), it looks
7096         like the method do nothing for C#, is still a MonoTODO until
7097         we find a compiler that uses that.
7099 2003-04-14  Miguel de Icaza  <miguel@ximian.com>
7101         * Delegate.cs (Delegate): Seems like a typo, we were checking the
7102         a field rather than the argument 
7104         * MonoType.cs: Make GetNestedType an external method implementation.
7106 2003-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7108         * Enum.cs: fixed bug #41294.
7110 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7112         * DateTime.cs: fixes bug #40910, part 2.
7114 2003-04-11  Dietmar Maurer  <dietmar@ximian.com>
7116         * String.cs (Equals): avoid the internal call, code cleanups
7118 2003-04-11  Alan Tam <Tam@SiuLung.com>
7120         * Convert.cs: fixed bug #41085.
7122 2003-04-10  Lluis Sanchez Gual <lluis@ideary.com>
7124         * AppDomain.cs: Added internal method for getting process guid.
7126 2003-04-09  Ville Palo <vi64pa@kolumbus.fi>
7128         * Array.cs: Little fix to compare () method.
7129         
7130 2003-04-09  Zoltan Varga  <vargaz@freemail.hu>
7132         * String.cs (Equals): Add trivial optimization.
7134 2003-04-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7136         * DateTime.cs: fixed bug #40910.
7138 2003-04-05  Miguel de Icaza  <miguel@ximian.com>
7140         * Console.cs: Make stderr, stdout and stdin use synchronized
7141         versions of the their readers/writers.
7143 2003-04-04  Dick Porter  <dick@ximian.com>
7145         * Version.cs: Make operator== and operator!= cope with null
7146         objects.  Didn't change operator<, operator<=, operator> or
7147         operator>= because its not meaningful to use those to compare
7148         against null, and throwing a NullReferenceException is probably
7149         the best thing to do there anyway.
7151         Fixes bug 40720.
7153 2003-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7155         * AppDomain.cs: fixed InvalidCastException.
7157 2003-03-30  Zoltan Varga  <vargaz@freemail.hu>
7159         * Array.cs (Copy): Call FastCopy() earlier to avoid the expensive
7160         type checks and let it decide whenever a fast copy is possible.
7162 2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7164         * MonoType.cs:
7165         (GetMethodImpl): support BindingFlags.IgnoreCase flag. Fixes bug #40322.
7167 2003-03-25  Zoltan Varga  <vargaz@freemail.hu>
7169         * Activator.cs (CreateInstance): Call GetConstructor with the right
7170         arguments so the nonPublic argument is handled correctly.
7172 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7174         * Type.cs: fixed bug #40123.
7176 2003-03-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
7178         * FloatingPointFormatter.cs: Fixed some bugs for get the same
7179         results than MS.NET. Added simple error recovering, now ToString
7180         will return a general format if there is any exception in the
7181         process of formatting. This make the library more robust while the
7182         formatters are refined.
7184 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
7186         * FloatingPointFormatter.cs: Added support for group separators.
7188 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
7190         * Single.cs:
7191         * Double.cs: Apply changes of .ToString methods.
7192         * SingleFormatter.cs:
7193         * DoubleFormatter.cs: Simple wrappers to FloatingPointFormatter.
7194         * FloatingPointFormatter.cs: New class. Implementation of double and
7195         single formatters. It is unified now and parametrized with precission
7196         values.
7198 2003-03-15  Lluis Sanchez Gual <lluis@ideary.com>
7200         * AppDomain.cs: fixes bugs #39380 and #39331.
7202 2003-03-06  Nick Drochak  <ndrochak@gol.com>
7204         * TimeSpan.cs (Negate): Throw exception when value is MinValue.
7206 2003-03-04  Dick Porter  <dick@ximian.com>
7208         * Single.cs:
7209         * Double.cs: Temporarily reverted the Double and Single ToString()
7210         change, because it broke nunit.
7213 2003-03-04  Pedro Martínez Juliá  <yoros@wanadoo.es>
7215         * Double.cs: Changed ToString method. Added NumberFormatInfo support
7216         with DoubleFormatter class.
7217         * Single.cs: Changed ToString method. Added NumberFormatInfo support
7218         with SingleFormatter class.
7219         * DoubleFormatter.cs: New class with Double formatting functions.
7220         * SingleFormatter.cs: New class with Single formatting functions.
7222 2003-03-03  Lluis Sanchez Gual <lluis@ideary.com>
7224         * Activator.cs: Added support for activation using activation attributes.
7225         * AppDomain.cs: Added internal method to get the default context from the runtime.
7227 2003-02-28  Elan Feingold  <efeingold@mn.rr.com>
7229         * DateTime.cs: FileTime is expressed in Universal time, and as such must
7230         be converted before subtracting the magic offset.
7231         * DateTime.cs: Strings in the format "2003-02-27T10:05:03-11:00" (note
7232         the timezone at the end) *must* be parsed by DateTime.Parse() for
7233         compatibility with Microsoft.
7235 2003-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7237         * Attribute.cs:
7238         * MonoCustomAttrs.cs: fix for the regression test failure (see bug
7239         #38238).
7241         * IntPtr.cs: added serialization .ctor
7243 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7245         * AppDomain.cs: check for null in Unload and changed method name.
7247 2003-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7249         * MonoCustomAttrs.cs: fixed bug #38238.
7251 2003-02-17  Martin Baulig  <martin@ximian.com>
7253         * Exception.cs (Exception.ToString): Print a newline between the
7254         exception message and the stack trace.
7256 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7258         * AppDomain.cs: implemented GetCurrentThreadId ().
7260 2003-02-14  Patrik Torstensson
7262         * Exception.cs: Fixed message output formating
7264 2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7266         * Int32.cs:
7267         (Parse): ignore everything after a \0 (MS parses: "512\0hola" as 512).
7269 2003-02-12  Miguel de Icaza  <miguel@ximian.com>
7271         * Type.cs: IsClass should return false for Enumerations
7273 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7275         * MonoCustomAttrs.cs: return the correct array type in the short case.
7276         Fixes bug #37818.
7278 2003-02-08  Pedro Martíenz Juliá  <yoros@wanadoo.es>
7280         * Math.cs: Fix a few methods (like Round) and add with comments the
7281         new methods: BigMul and DivRem that were in ECMA specs.
7283 2003-02-07  Patrik Torstensson
7285         * Exception.cs: Fixed formating
7287 2003-02-05  Patrik Torstensson
7289         * AppDomain.cs: Partly fixed the unload method 
7290         
7291 2003-02-04  Patrik Torstensson
7293         * AppDomain.cs: Fixed lease issue with appdomain
7295 2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
7297         * MarshalByRefObject.cs: Implemented GetLifetimeService() and 
7298           InitializeLifetimeService().
7300 2003-02-03  Patrik Torstensson
7302         * AppDomain.cs: New internalcalls for handling domain/context switches
7303         * AppDomain.cs (CreateDomain): Return transparant proxy for appdomain object
7305 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7307         * AppDomain.cs: implemented AppendPrivatePath, ClearPrivatePath
7308         and ClearShadowCopyPath and fixed GetType ().
7310         * Attribute.cs: clean up.
7312         * Console.cs: removed UnixConsoleEncoding. Use Default.
7314 2003-02-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7316         * Attribute.cs: fixed all IsDefined overloads. Gotta fix
7317         GetCustomAttributes later.
7319 2003-01-31  Patrik Torstensson
7321         * Buffer.cs: Changed access level of BlockCopyInternal
7323 Thu Jan 30 19:54:30 CET 2003 Paolo Molaro <lupus@ximian.com>
7325         * String.cs, IntegerFormatter.cs: use const where appropriate.
7327 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7329         * MonoCustomAttrs.cs: fixed GetBase () for Type. Thanks to Zoltan for
7330         reporting.
7332 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7334         * MonoCustomAttrs.cs: fixed shortcut in GetCustomAttributes.
7335         The argument ICustomAttributeProvider can be of other types different
7336         from Type. Handle it.
7338 2003-01-28  Zoltan Varga  <vargaz@freemail.hu>
7340         * DateTime.cs: fix FromFileTime so the time returned by 
7341         File::GetLastModificationTime etc. is in the correct timezone.
7343 2003-01-28  Patrik Torstensson
7344         * Exception.cs: reverted formating/endline changes (sorry guys)
7346 2003-01-28  Patrik Torstensson
7348         * MarshalByRefObject.cs: implemented GetObjectIdentity
7349         * Exception.cs: added support for remote exceptions
7351 2003-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7353         * DateTime.cs: fixed bug #37225.
7355 2003-01-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7357         * Enum.cs: Clone the arrays in GetNames and GetValues. Thanks lupus!
7359 2003-01-27  Zoltan Varga  <vargaz@freemail.hu>
7361         * AppDomain.cs: Added DoTypeResolve method which will be called by
7362         the runtime to raise TypeResolve events.
7364 2003-01-27  Duncan Mak  <duncan@ximian.com>
7366         * Enum.cs (ToType): Implement this using Convert.ToType.
7368 2003-01-21  Miguel de Icaza  <miguel@ximian.com>
7370         * Math.cs: Remove Pow's implementation body as it was wrong.  The
7371         C code does the right thing.  The code was trying to handle a
7372         number of cases, and that was incorrect.
7374 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7376         * CharEnumerator.cs: fix to Current by crainaj@hotmail.com. Closes
7377         bug #37113.
7379 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7381         * Enum.cs: added caching to GetInfo.
7383 2003-01-23  Dick Porter  <dick@ximian.com>
7385         * Environment.cs (System): Implemented ExitCode
7387 2003-01-23  Zoltan Varga  <vargaz@freemail.hu>
7389         * Type.cs (IsInstanceOfType): fixed regression caused by the change
7390         to IsSubclassOf().
7392 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7394         * MonoType.cs: re-added lines that were removed in the previous commit.
7396 2003-01-16  Lluis Sanchez Gual <lsg@ctv.es>
7398         * Type.cs: corrected property IsSerializable. It should always return
7399         true for enums and delegates
7400         * MonoType.cs: added serialization support.
7401         * Delegate.cs: added serialization support.
7402         * DBNull.cs: added serialization support.
7403         * UnitySerializationHolder.cs: supports serialization of Assembly,
7404         MonoType and DBNull.
7405         * DelegateSerializationHolder.cs: added.
7407 2003-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7409         * Exception.cs: changed default message to match MS one.
7411 2003-01-12  Patrik Torstensson <totte@race-x-change.com>
7413         * String.cs: Fixed bug with CompareOrdinal
7415 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7417         * Enum.cs: implements IFormattable.
7419 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7421         * AppDomain.cs: implemented DoCallBack method.
7422         * MonoType.cs:
7423         (GetConstructorImpl): when the flag is BindingFlags.Default, set it to
7424         Public, Instance.
7426         NUnit2 tests start moving.
7428 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7430         * Activator.cs: fixed bug #36052. Also added checks to avoid trying to
7431         instantiate an abstract class.
7433 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7435         * Type.cs:
7436         (IsSubclassOf): return false when null. Use != instead of Equals.
7438 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7440         * Type.cs: fixed IsSubclassOf. Patch from Zoltan Varga.
7442 Fri Jan 3 20:18:51 CET 2003 Paolo Molaro <lupus@ximian.com>
7444         * MonoType.cs: fixed Namespace property for nested types.
7446 Fri Jan 3 16:18:27 CET 2003 Paolo Molaro <lupus@ximian.com>
7448         * MonoCustomAttrs.cs: create properly typed arrays when returning
7449         arrays of attributes of a given type.
7451 Fri Jan 3 11:10:14 CET 2003 Paolo Molaro <lupus@ximian.com>
7453         * MonoType.cs: fixed MemberType property for nested types.
7455 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7457         * String.cs: fixed bug #36209.
7459 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
7461         * Activator.cs: implemented method GetObject.
7463 2002-12-28  Marcus Urban <mathpup@mylinuxisp.com>
7465         * Activator.cs: Since the documentation indicates the method
7466         either succeeds or throws one of the listed exceptions, we weren't
7467         expecting that CreateInstance might be returning null.
7469         For more information on the bug, see http://bugs.ximian.com/show_bug.cgi?id=36109
7471 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
7473         * MarshalByRefObject.cs: implemented CreateObjRef.
7475 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7477         * DateTime.cs: fixed bug #30076.
7478         * TimeZone.cs: provide the parameter name in a exception.
7480 2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7482         * DecimalFormatter.cs: fixed bug #35560.
7484 Wed Dec 4 16:04:28 CET 2002 Paolo Molaro <lupus@ximian.com>
7486         * Type.cs: implemented GetInterfaceMap (needs an updated runtime).
7488 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7490         * Array.cs: use Object.Equals (obj, obj) to compare objects to avoid
7491         nulls. Fixes #34909.
7493 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7495         * AppDomain.cs: DoAssemblyResolve now returns when one of the handlers
7496         returns a non-null assembly.
7498 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7500         * MulticastDelegate.cs: make GetInvocationList work for more than 1
7501         delegate.
7503 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7505         * MulticastDelegate.cs: implemented GetInvocationList. I'll check later
7506         if this is the correct order of invocation.
7508 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7510         * Type.cs: changed the signature of internal_from_name. Modified
7511         the overloads of GetType to use it and check the typeName argument.
7512         Implemented FindInterfaces.
7514 2002-11-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7516         * MarshalByRefObject.cs: undo latest changes. It breaks the build by
7517         some obscure reasons (try make -f makefile.gnu using a corlib which has
7518         the modified version).
7520 2002-11-26  Miguel de Icaza  <miguel@ximian.com>
7522         * String.cs (Concat): Reduce the number of compares required. 
7524 Mon Nov 18 17:54:22 CET 2002 Paolo Molaro <lupus@ximian.com>
7526         * Activator.cs: throw a MissingMethodException if the default
7527         constructor is not found in CreateInstance.
7529 2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7531         * String.cs:
7532         (Equals (str, str)): use 'as' instead of casting to object.
7533         (Equals (obj)): check the length of the strings (until now,
7534         "Hello".Equals ((object) "Hellow World!) was true!).
7536 2002-11-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7538         * MonoType.cs: implemented GetEvent (name, flags).
7540 2002-11-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7542         * AppDomain.cs: implemented a couple of methods called from the runtime
7543         to fire AssemblyLoad and AssemblyResolve events.
7545 2002-10-31  Dick Porter  <dick@ximian.com>
7547         * Environment.cs: MonoIO methods now have an error parameter
7549 2002-10-29  Zoltan Varga  <vargaz@freemail.hu>
7551         * Enum.cs: Added support for whitespaces in Enum:Parse().
7553 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7555         * Type.cs: fixed GetProperty (string, Type []) and removed get_property
7556         internal call. Closes bug #32992.
7558 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7560         * Exception.cs: display the inner exception, if any, in ToString ().
7562 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7564         * Environment.cs: fixed StackTrace property.
7566 2002-10-16  Nick Drochak  <ndrochak@gol.com>
7568         * Enum.cs (Parse): Then fix the code so that it works too.
7570 2002-10-15  Nick Drochak  <ndrochak@gol.com>
7572         * Enum.cs (Parse): Use unsigned casts to avoid compiler warnings.
7574 2002-10-12  Nick Drochak  <ndrochak@gol.com>
7576         * IntegerFormatter.cs: Fix compiler warnings.
7578 2002-10-11  Tim Haynes <thaynes@openlinksw.com>
7580         * Type.cs (GetConstructors): Use the correct flags.
7582 2002-10-09  Nick Drochak  <ndrochak@gol.com>
7584         * IntegerFormatter.cs: Suppress insignificant leading zeros
7586 Fri Sep 27 15:06:29 CEST 2002 Paolo Molaro <lupus@ximian.com>
7588         * MonoCustomAttrs.cs: applied patch by "Si Jingnan"
7589         <stonewell@21cn.com> to return also derived types.
7591 2002-09-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7593         * Activator.cs: little fix in CreateInstance (Type, bool).
7595 2002-09-19  Duncan Mak  <duncan@ximian.com>
7597         * Array.cs (CopyTo): Revert back to 1.40, this is stopping
7598         I18N/Common from building right now.
7600 2002-09-19  Nick Drochak  <ndrochak@gol.com>
7602         * Array.cs (CopyTo): Account for Object type and base (primitive) types
7603         * Type.cs (IsAssignableFrom): return false for a null parameter
7605 2002-09-19  Nick Drochak <ndrochak@gol.com>
7607         * Array.cs (CopyTo): Check that source type can be cast automatically
7608         to the destination type.
7610 2002-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7612         * Type.cs: implemented IsAssignableFrom, DefaultBinder and
7613         GetDefaultMembers.
7615 2002-09-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7617         * Char.cs: implemented ToString (char)
7618         * IntegerFormatter.cs: made it internal.
7620 2002-09-13  Nick Drochak  <ndrochak@gol.com>
7622         * Enum.cs (Format): handle the "d" format for both signed and unsigned
7623         underlying types.
7625 2002-09-12  Dick Porter  <dick@ximian.com>
7627         * UIntPtr.cs: Remove the [StructLayout(LayoutKind.Auto)]
7628         attribute, as there doesn't appear to be any struct
7629         layout-depending code here (and corcompare says it should be
7630         LayoutKind.Sequential)
7632         * Decimal.cs: Stub out missing methods, add
7633         [DecimalConstantAttribute] to the constant fields (as shown by
7634         corcompare).
7636         * LocalDataStoreSlot.cs: 
7637         * Environment.cs: 
7638         * Char.cs: 
7639         * Array.cs: Stub out missing methods.
7641         * TypedReference.cs: 
7642         * ArgIterator.cs: Stub out
7644         * AppDomainSetup.cs: 
7645         * AppDomain.cs: Stub out missing methods, add missing
7646         ClassInterface(ClassInterfaceType.None) attribute.
7648 2002-09-12  Nick Drochak  <ndrochak@gol.com>
7650         * Double.cs (ToString): Throw exception when "X" format is passed in.
7652 Wed Sep 11 15:26:34 CEST 2002 Paolo Molaro <lupus@ximian.com>
7654         * MonoType.cs: implemented Module property.
7656 Wed Sep 11 12:49:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
7658         * MonoType.cs, Type.cs: implemented InvokeMember.
7660 Wed Sep 11 11:06:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
7662         * Delegate.cs: check the type passed to CreateDelegate is a Delegate
7663         type. Check the method signature matches.
7665 Sat Sep 7 10:16:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
7667         * RuntimeMethodHandle.cs: implemented GetFunctionPointer().
7669 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
7671         * Console.cs: Specify an encoder, otherwise we will get the UTF8
7672         encoder that by default emits the byte markers.
7674 Fri Sep 6 20:14:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
7676         * Delegate.cs: look also for non-public methods until we have the
7677         security checks in place.
7679 Fri Sep 6 12:20:06 CEST 2002 Paolo Molaro <lupus@ximian.com>
7681         * MonoType.cs: consider also the full name in GetInterface.
7683 Fri Sep 6 12:11:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
7685         * MonoType.cs: implemented GetMembers, GetConstructorImpl and
7686         GetMethodImpl using the binder.
7687         * Type.cs: GetConstructorImpl/GetConstructor fixes.
7689 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
7690         * Enum.cs: Get rid of warning CS0162.
7692 2002-09-04  Miguel de Icaza  <miguel@ximian.com>
7694         * Double.cs, Single.cs, Char.cs, Boolean.cs: Use internal for the
7695         actual value instead of public.
7697         * LocalDataStoreSlot.cs: Make constructor internal.
7699         * Int16.cs, UInt16.cs, Int32.cs, UInt32.cs, Int64.cs, UInt64.cs,
7700         SByte.cs, Byte.cs, Char.cs: Use internal for the actual value
7701         instead of public.
7703 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
7704         * Enum.cs: Fixed Enum.Format so that the "x" format specifier would work
7705                    properly.
7707 2002-08-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7709         * DateTime.cs: fixed buglet.
7711 Tue Aug 27 16:39:47 CEST 2002 Paolo Molaro <lupus@ximian.com>
7713         * MonoType.cs: speedup access to common data.
7715 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7717         * Double.cs: implemented TryParse.
7719         * Math.cs: PowImpl is now private.
7721         * MissingFieldException.cs: implemented Message.
7723         * RuntimeMethodHandle.cs: stubbed GetFunctionPointer.
7725         * _AppDomain.cs: Uncommented ToString.
7727 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7729         * Type.cs:
7730         (IsValueTypeImpl): it's virtual, not abstract. Implemented.
7732 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7734         * ArgumentException.cs: use the field instead of the property for
7735         param_name.
7737         * ArgumentOutOfRangeException.cs: modified Message.
7739         * DateTime.cs: 
7740         (_DoParse): throw out of range exception for year. Removed check
7741         for month (it's done in the constructor).
7743 2002-08-21  Miguel de Icaza  <miguel@ximian.com>
7745         * Environment.cs: Implemented OSVersion property.
7747 2002-08-21  Dietmar Maurer  <dietmar@ximian.com>
7749         * Exception.cs: set stack_trace to null
7751 Wed Aug 21 13:02:20 CEST 2002 Paolo Molaro <lupus@ximian.com>
7753         * AppDomain.cs: implemented ToString().
7755 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7757         * AppDomain.cs: securityInfo can be null in CreateDomain.
7759 2002-08-19  Dick Porter  <dick@ximian.com>
7761         * MonoType.cs: Add a space before the Assembly name in
7762         AssemblyQualifiedName (needed for resource files so the MS runtime
7763         can load types)
7765 2002-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7767         * AppDomain.cs: parameter name when throwing ArgumentNullException.
7769         * ArgumentException.cs: modified Message to do what MS does.
7771         * ArgumentNullException.cs: don't use {0} in message.
7773         * Exception.cs: use Message property in ToString ().
7775 2002-08-14  Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
7777         * WeakReference.cs: Changed the constructor and GetObjectData
7778         method needed for ISerializable implementation in order to be
7779         compatible with SOAP generated by MS.
7781 Wed Aug 14 17:34:07 CEST 2002 Paolo Molaro <lupus@ximian.com>
7783         * MonoType.cs, Type.cs: DeclaringType/ReflectedType fixes.
7785 2002-08-12  Dietmar Maurer  <dietmar@ximian.com>
7787         * Exception.cs (ToString): changed the ouput format.
7789 2002-08-07  Dietmar Maurer  <dietmar@ximian.com>
7791         * MonoType.cs: moved get_method icall to this class, we can
7792         remove it as soon someone provides a full featured GetMethodImpl.
7794         * Type.cs: use GetMethodImpl everywhere.
7796         * Delegate.cs: new CreateDelegate implementations.
7798 2002-08-06  Tim Coleman <tim@timcoleman.com>
7799         * MonoType.cs: 
7800                 Fix bug #28582.  Now checks parameters for properties
7801                 in GetPropertyImpl.
7803 2002-08-04  Nick Drochak  <ndrochak@gol.com>
7805         * Buffer.cs: Throw correct exception in GetByte() and SetByte().
7807 2002-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7809         * String.cs:
7810         (FormatSpecifier): allow white space between the comman and the width
7811         specifier.
7813 2002-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7815         * Int32.cs:
7816         * Int64.cs:
7817         * UInt32.cs:
7818         * UInt64.cs: fixed bug #28050. May be a MS bug?
7820 Thu Jul 18 14:47:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
7822         * MonoType.cs: fix IsArrayImpl.
7824 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7826         * String.cs: make ToLower (culture) and ToUpper (culture) use the
7827         default ToLower and ToUpper and don't throw NotImplemented.
7829 Sat Jul 13 15:09:01 CEST 2002 Paolo Molaro <lupus@ximian.com>
7831         * Type.cs: make GettTypeCode an icall. Test implementation of
7832         GetMember().
7834 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7836         * AppDomainSetup.cs: implemented LoaderOptimization.
7838 2002-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7840         * Activator.cs: some more intermediate results checking in
7841         in CreateInstance and CreateInstanceFrom and use GetConstructor and
7842         Invoke only with Type [] until the other overloaded versions work.
7844 2002-07-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7846         * Activator.cs: reformatted. Implemented CreateInstance* methods
7847         that return ObjectHandle.
7849         * AppDomain.cs: implemented CreateInstance*AndUnwrap methods.
7851 2002-07-03  Nick Drochak  <ndrochak@gol.com>
7853         * Decimal.cs (Divide): Short cut the case where the dividend is 0 (and
7854         the divisor is not) and avoid the icall, which seems to have a bug.
7856 2002-07-03  Nick Drochak  <ndrochak@gol.com>
7858         * Double.cs (CompareTo): Correctly handle the case where the instance
7859         is NaN. Also return 0 if the values are equal.
7861 2002/07/03  Nick Drochak <ndrochak@gol.com>
7863         * MissingMethodException: Add missing Message property
7864         * MissingMemberException: Add missing Message property
7866 2002-06-30  Nick Drochak  <ndrochak@gol.com>
7868         * Double.cs (CompareTo): Just see which is bigger.  Don't use the
7869         subtraction trick, it doesn't work when the values have a diference of
7870         less than one.
7872         * Single.cs (CompareTo): same
7874 2002-06-27  Martin Baulig  <martin@gnome.org>
7876         * UIntPtr.cs (UIntPtr.Zero): Use an explicit `u' suffix in the
7877         constructor argument.  [FIXME: The implicit conversion to an
7878         unsigned integer doesn't work with mcs.]
7880 2002-06-26  Martin Baulig  <martin@gnome.org>
7882         * DecimalFormatter.cs: Removed MSTEST stuff, use `System',
7883         not `S = System'.  This file now compiles with mcs.
7885         * String.cs: Removed the already ifdef-outed __arglist Concat function
7886         to make it compile with mcs.
7888 2002-06-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7890         * IntegerFormatter.cs:
7891         (FormatParse.FormatNumber): fixed custom format for negative numbers.
7893 2002-06-21  Martin Baulig  <martin@gnome.org>
7895         * Double.cs: Replace the private `enum State' with constants since this
7896         will avoid some bigger headaches in mcs.
7898 Thu Jun 20 17:51:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
7900         * TimeSpan.cs: do not pollute the namespace with the
7901         System.Parser name.
7903 2002-06-18  Nick Drochak  <ndrochak@gol.com>
7905         * ArgumentException.cs: Use the message given in the constructor when
7906         accessing the Message property.  Thanks to Dietmar for the help with 
7907         "base".
7909 2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
7911         * MonoType.cs: GetField is now a InternalCall
7913 2002-06-13  Nick Drochak  <ndrochak@gol.com>
7915         * DateTime.cs: (Parse): Accept dates that have no hour,min,sec. in the
7916         sortable format(s), e.g. "2002-02-25"
7918 2002/06/12  Nick Drochak <ndrochak@gol.com>
7920         * Random.cs (Next): Fix math error.  Return a number within the range.
7922 2002-06-12  Nick Drochak  <ndrochak@gol.com>
7924         * String.cs (IndexOf): Return -1 if start index is equal to string
7925         length.
7927 2002-06-10  Duncan Mak  <duncan@ximian.com>
7929         * Convert.cs (ToDouble): Remove rounding in ToDouble (float).
7930         (ToType): Added null field in conversionTable to avoid
7931         IndexOutOfRangeException. Changed what exceptions we throw to match
7932         the spec.
7933         
7934 2002-06-11  Nick Drochak  <ndrochak@gol.com>
7936         * Int64.cs (Parse): Added unique strings to the messages where we throw
7937         a FormatException. Needed these to debug, so just left them in since
7938         they might be useful later. Fixed Currency parsing where we weren't
7939         looking at CurrencyDecimalSeparator, etc.
7941 2002-06-09  Lawrence Pit  <loz@cable.a2000.nl>
7943         * DateTime.cs: fixes to pass tests M0 to M6:
7944                 if yy pattern then year values >= 30 are in 20th century
7945                 rfc1123 pattern is always in GMT, therefor useutc must be false
7946         made GetNow() internal static so it can be called from TimeZone.
7947         * TimeZone.cs: removed dependency on year 2002 from initialization of 
7948         current timezone.
7950 2002-06-09  Duncan Mak  <duncan@ximian.com>
7952         * Convert.cs (ToType): Rearranged what Exceptions we throw to
7953         match MS behavior.
7955 2002-06-08  Duncan Mak  <duncan@ximian.com>
7957         * Decimal.cs: Added support for the IConvertible interface.
7959 2002-06-08  Martin Baulig  <martin@gnome.org>
7961         * Enum.cs (IsDefined): `value' may be of the enum's type itself, it
7962         doesn't necessarily need to be of the enum's underlying type.
7964 2002/06/07  Nick Drochak <ndrochak@gol.com>
7966         * String.cs: Add [Serializable] to class
7967         * SByte.cs (Parse): Add [CLSCompliant(false)] to all the overloads
7969 2002-06-04  Nick Drochak  <ndrochak@gol.com>
7971         * Double.cs (Parse): Recognize the group separator string, but still we
7972         don't check the format for the proper number of digits between
7973         separators. Also throw OverflowException when we get Pos or Neg
7974         Infinity from runtime.
7976 2002-06-03  Duncan Mak  <duncan@ximian.com>
7978         * Convert.cs (ToDouble): Fixed ToDouble (byte value).
7980 Mon Jun 3 12:18:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
7982         * Type.cs: fixed GetTypeCode.
7984 2002-06-02  Duncan Mak  <duncan@ximian.com>
7986         * Convert.cs (ToInt16): use Convert.ToInt16 (int) instead of a direct
7987         cast from an int so that we throw OverFlowException correctly.
7988         
7989         (ToInt64): Use a new 64bit version of ConvertToBase.
7990         
7991         (ConvertToBase): Add checks for overflow (checks Int32.MinValue
7992         and Int32.MaxValue).
7994         (ConvertFromBase64): New 64-bit version of ConvertFromBase.
7996 2002-06-02  Nick Drochak  <ndrochak@gol.com>
7998         * Convert.cs (ToSByte): Check for special value.
7999         * Single.cs (Parse): 
8000         * UInt16.cs (Parse):
8001         * UInt32.cs (Parse): Throw OverflowException if negative
8003 2002-06-02  Duncan Mak  <duncan@ximian.com>
8005         * Convert.cs (DBNull): Point it to DBNull.Value.
8006         (IsDBNull): Instead of checking typecodes, just check to see if
8007         it's the same as the DBNull field.
8009 2002-06-02  Nick Drochak  <ndrochak@gol.com>
8011         * Convert.cs (ConvertFromBase): Detect bad digits correctly.
8013 2002-06-02  Duncan Mak  <duncan@ximian.com>
8015         * Char.cs (Parse): Simplify the Exception handling.
8017         * Convert.cs (ToDecimal): Remove call to Math.Round () when
8018         converting from a float.
8020 2002-05-30  Martin Baulig  <martin@gnome.org>
8022         * MonoType.cs (GetInterface): Implemented.
8024 Thu May 23 17:17:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
8026         * Activator.cs: implemented CreateInstance ().
8028 2002-05-22  Duncan Mak  <duncan@ximian.com>
8030         * Convert.cs (ConvertToBase): Added new 64bit version.
8031         (BuildConvertedString64): New 64bit version of
8032         BuildConvertedString.
8034         This fixes bug 25068.
8036         (ConvertFromBase): Added additional test for checking if the
8037         digits are valid. Thanks to Miguel for coming up with this test.
8039         This fixes bug 25071.
8040         
8041 2002-05-21  Duncan Mak  <duncan@ximian.com>
8043         * Convert.cs (ToType): Rearranged to fit the new layout of
8044         conversionTable.
8046         (conversionTable): Rearranged to fit the layout of the
8047         System.TypeCode enum.
8049         This should fix bug 25075.
8050         
8051 2002-05-21  Duncan Mak  <duncan@ximian.com>
8053         * Convert.cs (ToString): Fixed the ToString methods. Previously I had
8054         mixed up the two code paths, one for converting to a specific base
8055         (this case), another from converting from a foreign base to base10
8056         (used by ToInt16|32|64 (string, int)). This fixes bug 25068.
8058         * Convert.cs (ToByte)
8059         (ToSByte): Fixed bug 25074. Added more bits to ConvertFromBase so
8060         that we won't confuse FormatException with OverflowException.
8062 2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
8064         * Environment.cs: CommandLine missed spaces between arguments.
8065         Implemented StackTrace. Returning MachineName in UserDomainName
8066         instead of null.
8067         
8068 Tue May 21 17:25:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
8070         * MonoCustomAttrs.cs: handle inherit argument.
8072 2002-05-21  Nick Drochak  <ndrochak@gol.com>
8074         * Math.cs (Pow): Change icall method name and insert parameter
8075         checks in for infinities and NaN.
8077 2002-05-13  Miguel de Icaza  <miguel@ximian.com>
8079         * Double.cs (Parse): Reimplement by cleaning up the string first,
8080         and then passing to strtof in the mono runtime.
8082         * Single.cs (Parse): Use the Double implementation and cast to
8083         float. 
8085 2002-05-21  Nick Drochak  <ndrochak@gol.com>
8087         * Math.cs 
8088                 (Ceiling): Check for "special" values
8089                 (Floor): Check for "special" values
8090                 (Round): Fix off-by-one error on decimal shifting
8092 2002-05-20  Lawrence Pit  <loz@cable.a2000.nl>
8094         * DateTime.cs: ToString () using "G" format specifier 
8096 2002-05-19  Martin Baulig  <martin@gnome.org>
8098         * Convert.cs (FromBase64CharArray): Do correct exception handling.
8100 2002-05-19  Martin Baulig  <martin@gnome.org>
8102         * Convert.cs (FromBase64CharArray): Convert the char array using
8103         System.Text.UTF8Encoding, not UnicodeEncoding (which is UTF-16) to
8104         a byte array.
8106 2002-05-17  Miguel de Icaza  <miguel@ximian.com>
8108         * MonoType.cs: Style changes.
8110         * Type.cs: Style changes.
8112 2002-05-16  Piers Haken <piersh@friksit.com
8114         * UInt64.cs: fix declaration of IConvertible.To* overrides.
8116 2002-05-16  Nick Drochak  <ndrochak@gol.com>
8118         * BitConverter.cs (ToString): Add parameter check for invalid start 
8119         index.
8121         * Console.cs: Use AutoFlush on the StreamWriter for stdin and stdout
8122         now that StreamWriter uses buffering
8124 2002-05-14  Miguel de Icaza  <miguel@ximian.com>
8126         * Double.cs: Oops.  Also handle exponents without finding a dot.
8128 2002-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8130         * ChangeLog: removed empty entry at the top of the file.
8132         * Int32.cs: made static functions used by Parse internal.
8134         * Int64.cs:
8135         * UInt32.cs:
8136         * UInt64.cs: removed static fucntions used by Parse and use the ones
8137         in Int32.cs
8139 2002-05-12  Daniel Morgan <danmorg@sc.rr.com>
8141         * IServiceProvider.cs: added using System
8143 2002-05-09  Daniel Morgan <danmorg@sc.rr.com>
8145         * Single.cs: copied ToString() and Parse() methods from 
8146         Double to Single and modified a tiny bit for Single.  
8147         There is still a FIXME for Double and Single about
8148         passing the format and provider info to the icall too.
8150 2002-05-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8152         * Int32.cs:
8153         * Int64.cs:
8154         * UInt32.cs:
8155         * UInt64.cs (Parse): don't use Char.IsNumber to test for hex digits.
8156         Don't use a delegate to test for valid digits.
8158 2002-05-01  Duncan Mak  <duncan@ximian.com>
8160         * Convert.cs: 
8161         * Math.cs: Added missing CLSCompliant attributes where necessary.
8162         
8163 2002-04-30  Duncan Mak  <duncan@ximian.com>
8165         * ArgumentException.cs (Message): 
8166         * ArgumentOutOfRangeException.cs (Message): Added.
8168 2002-04-30  Nick Drochak  <ndrochak@gol.com>
8170         * MonoType.cs: Remove unused variable and eliminate a compiler warning.
8172 Mon Apr 29 15:32:02 CEST 2002 Paolo Molaro <lupus@ximian.com>
8174         * Environment.cs: support for Exit(), CommandLine, CommandLineArgs ().
8176 2002-04-28  Duncan Mak  <duncan@ximian.com>
8178         * DivideByZeroException.cs: Added missing serialization constructor.
8180         * UnauthorizedAccessException.cs: Added the missing Serializable attribute.
8182 2002-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8184         * Math.cs: fix Floor () and Round (). Closes #23960.
8186 2002-04-27  Nick Drochak  <ndrochak@gol.com>
8188         * Array.cs (IList.Contains): Should throw a RankException if this is 
8189         called on a Rank > 1 array. Not in the docs, but this is what the 
8190         MS.NET does.
8192 2002-04-26  Duncan Mak  <duncan@ximian.com>
8194         * MissingMemberException.cs: Made the message variable 'protected'
8195         instead of 'private', so that we can see it in
8196         MissingMethodException and MissingFieldException.
8198         * MissingFieldException.cs:
8199         * MissingMethodException.cs: Added missing (string, string)
8200         constructor, and also the Message property.
8202 2002-04-26  Martin Baulig  <martin@gnome.org>
8204         * Enum.cs: Implemented the IConvertible methods.
8206 2002-04-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8208         * SByte.cs: little change in Parse (string) to avoid incorrect
8209         OverflowException thrown (reported by nickd).
8211 2002-04-22  Miguel de Icaza  <miguel@ximian.com>
8213         * ValueType.cs: Add Serializable attribute.
8215         * String.cs: ifdef-out out the __arglist Concat function until I
8216         add support for that to mcs.
8218 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
8220         * AppDomain.cs (GetValue): usage of the correct icall (bug)
8222 Wed Apr 24 21:15:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
8224         * GC.cs: implement most of the methods as icalls.
8226 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8228         * DecimalFormatter.cs (ToString): return correct value when the
8229         decimal number is 0.
8231 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
8232         
8233         * Type.cs (GetProperty): fixed call syntax (needs an empty array not null)
8234         * MonoType.cs (GetPropertyImpl) : basic implementation (ignores types, bindingAttr, modifiers)
8236 2002-04-24  Nick Drochak  <ndrochak@gol.com>
8238         * Double.cs (Parse): Handle case where there are no digits before the 
8239         decimal point, such as ".1".
8241 2002-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8243         * Int32.cs:
8244         * UInt32.cs:
8245         * Int64.cs:
8246         * UInt64.cs: fixed bug #23738 (hex numbers parsed wrong).
8248 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
8250         * String.cs (Split): fixed invalid split of count 0 and 1.
8251         
8252 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
8253         
8254         * String.cs (LastIndexOf): fixed argument checking.
8255         * String.cs (Equals): made internal for performace.
8257 2002-04-23  Nick Drochak  <ndrochak@gol.com>
8259         * String.cs (Join): check argument and throw exception if needed
8261 2002-04-23  Nick Drochak  <ndrochak@gol.com>
8263         * String.cs (StartsWith): check argument and throw exception if needed
8265 2002-04-22  Nick Drochak  <ndrochak@gol.com>
8267         * String.cs (IndexOfAny): check arguments and throw exceptions as
8268         neccessary.  ALso remove some debug WriteLines.
8270 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
8272         * String.cs: use internal constructors
8273         buf fix in Concat.
8275 Thu Apr 18 17:16:15 CEST 2002 Paolo Molaro <lupus@ximian.com>
8277         * MonoType.cs: make GetElementType its own icall.
8279 2002-04-18  Nick Drochak <ndrochak@gol.com>
8281         * String.cs: Modified file. Re-add methods needed by the unit tests.
8283 Thu Apr 18 12:38:32 CEST 2002 Paolo Molaro <lupus@ximian.com>
8285         * String.cs: some code speedups and restored GetTypeCode().
8287 2002-04-17      Patrik Torstensson <patrik.torstensson@labs2.com>
8289         * String.cs: New implementation using internal calls.
8290         
8291 2002-04-16  Nick Drochak  <ndrochak@gol.com>
8293         * DecimalFormatter.cs: Trim off excess null characters from the string
8294         that decimal2string gives back.
8296 2002-04-16  Nick Drochak  <ndrochak@gol.com>
8298         * String.cs (SubString): revert my change.  I can't reproduce the
8299         problem anymore.
8301 2002-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8303         * Attribute.cs: added GetHashCode and Equals.
8305 2002-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8307         * Enum.cs: little improvements to Format ().
8309 Thu Apr 11 12:28:13 CEST 2002 Paolo Molaro <lupus@ximian.com>
8311         * String.cs: internalcall GetHashCode().
8312         * Array.cS: optimize access to elements.
8314 Wed Apr 10 21:20:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
8316         * String.cs: make IndexOfAny() use an internalcall.
8318 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8320         * Int32.cs:
8321         * UInt32.cs:
8322         * Int64.cs: 
8323         * UInt64.cs: fixed error when testing for validity of flags.
8325 2002-04-11  Nick Drochak  <ndrochak@gol.com>
8327         * Double.cs: Use an internal call for ToString(). This is just a simple
8328         implementation to get away from throwing a NotImplementedException.
8330 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8332         * Int32.cs:
8333         * UInt32.cs:
8334         * Int64.cs: 
8335         * UInt64.cs: changed Type.GetType () by typeof (), as suggested by
8336         lupus.
8338         * Int32.cs:
8339         * Int64.cs: throw an OverFlowException when parsing a string 
8340         containing a dot followed by any non '0' number.
8342 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8344         * Byte.cs:
8345         * UInt16.cs:
8346         * UInt32.cs:
8347         * UInt64.cs: added complex Parse ().
8349 2002-04-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8351         * SByte.cs:
8352         * Int16.cs:
8353         * Int32.cs:
8354         * Int64.cs: added complex Parse ().
8356 2002-04-09  Nick Drochak  <ndrochak@gol.com>
8358         * Array.cs (BinarySearch): Add checks on paramters before using them
8359         and throw exceptions as needed.
8361         * Enum.cs (Format): Check if [Flags] is applied to enum and convert
8362         "G" format to "F" if so.
8364 Tue Apr 9 13:12:09 CEST 2002 Paolo Molaro <lupus@ximian.com>
8366         * MonoCustomAttrs.cs: return arrays of type Attribute[]
8367         instead of object[].
8369 2002/04/09  Nick Drochak <ndrochak@gol.com>
8371         * String.cs (Substring): Copy only non-null characters to the new
8372         string.
8374 2002-04-09  Nick Drochak  <ndrochak@gol.com>
8376         * IntegerFormatter.cs: Don't use a format character to indicate a
8377         custom format was passed in. It was using 'z' to indicate a custom
8378         format, but really it should throw a format exception if the user
8379         tries to use "z" as the format string. Now it does.
8381         * Activator.cs: New File.
8383 2002-04-08  Nick Drochak  <ndrochak@gol.com>
8385         * Enum.cs (ToString): Big ugly fix for the case where [Flags] is
8386         applied to an enum. Need to handle the different possible integer
8387         types of an enum somehow.  Can anyone say generics?
8389 Mon Apr  8 06:22:42  2002 Piers Haken <piersh@friskit.com>
8391         * Convert.cs: switched the To*(object) methods to use
8392         IConvertible directly instead of calling ChangeType
8394 Sat Apr 6 20:08:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
8396         * ValueType.cs: make Equals() an internalcall.
8398 Fri Apr 5 15:38:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
8400         * Type.cs: also look for nested types in FindMembers.
8401         * MonoType.cs: make GetNestedTypes() an internalcall.
8403 2002-04-05  Nick Drochak  <ndrochak@gol.com>
8405         * Enum.cs (Parse): Handle different underlying types.
8407 2002/04/04 Nick Drochak <ndrochak@gol.com>
8409         * Enum.cs (IsDefined): Throw exception when type of value to look for
8410         is not the correct one.  Attempt to have it work with string values
8411         too, but not sure if the unit tests are getting that far yet.
8413 2002-04-04  Nick Drochak  <ndrochak@gol.com>
8415         * Decimal.cs: Fix a couple of typos.
8417 Wed Apr 3 19:46:00 CEST 2002 Paolo Molaro <lupus@ximian.com>
8419         * Enum.cs: the values array is of the enum and not of the underlying
8420         type. Updates and some bug fixes.
8421         * MonoType.cs: make the internalcall return FullName instead of the
8422         assembly qualified name.
8423         * Type.cs: make ToString () simply return FullName.
8425 2002-04-03  Nick Drochak  <ndrochak@gol.com>
8427         * Type.cs (GetTypeCode): provide some of the implementation for this
8428         method.  It's still too simplistic to be considered complete.
8430 2002-04-02  Dietmar Maurer  <dietmar@ximian.com>
8432         * Object.cs: fixed FieldGetter/FieldSetter signature
8434 2002-04-02  Nick Drochak  <ndrochak@gol.com>
8436         * Environment.cs: add MonoTODO's on parts that should have it.
8438 2002-04-01  Nick Drochak  <ndrochak@gol.com>
8440         * Enum.cs: added reality checks (check parameters to most methods that
8441         need them).
8443 2002-03-30  Dietmar Maurer  <dietmar@ximian.com>
8445         * Object.cs: added FieldGetter/FieldSetter
8447 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8449         * IntegerFormatter.cs: fixed initialization error in static
8450         constructor.
8452 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
8454         * Delegate.cs: added new field to store a trampoline function
8456 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8458         * IntegerFormatter.cs: added workaround for bug #22668. First patch to
8459         make custom format strings work (not fully functional yet).
8461 2002/03/28  Nick Drochak <ndrochak@gol.com>
8463         * IntegerFormatter.cs: Change class from internal to public.  Add
8464         necessary [CLSCompliant(false)] attributes.
8466 2002-03-27  Duco Fijma  <duco@lorentz.xs4all.nl>
8467         * _AppDomain.cs, AppDomain.cs: renamed method GetDate to GetData
8468         (was a typo)
8470 2002-03-28  Nick Drochak  <ndrochak@gol.com>
8472         * Type.cs: Added MonoTODO tags on members that have FIXME, etc.
8474 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
8476         * Console.cs: Modified to get std handles from MonoIO.
8477         * Environment.cs: removed PAL dependencies.
8479 2002-03-25  Miguel de Icaza  <miguel@ximian.com>
8481         * String.cs (System): Removed internal enumeration, because
8482         bootstrapping the corlib at this point does not support
8483         enumerations. 
8485         * IntPtr.cs: Temporary work-around until I fix the assembly
8486         attributes bug.
8488 2002-03-24  Martin Baulig  <martin@gnome.org>
8490         * Enum.cs (GetValues): According to the docu this is sorted after
8491         values, not names.
8493         * String.cs (System): Removed enumeration, because it is pretty
8494         hard to support enumerations in /nostdlib mode for the core types.
8496 Tue Mar 19 18:18:49 CET 2002 Paolo Molaro <lupus@ximian.com>
8498         * Array.cs: move error handling in the catch block.
8499         * MulticastDelegate.cs: remove == and != operators that were
8500         removed with the delegate changes (when you add stuff, please do not
8501         remove existing functionality!).
8502         * Type.cs: if a property is not found in a type, search for it
8503         in the parent types, too.
8505 2002-03-18  Dan Lewis <dihlewis@yahoo.co.uk>
8506         
8507         * Math.cs: changed to use icall instead of PAL.
8509 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
8511         * Double.cs: added check for NaN (Bug [22082])
8513 2002-03-19  Nick Drochak  <ndrochak@gol.com>
8515         * Enum.cs (Equals): check for null and throw if it is.
8516         * Enum.cs (Format): check for null parameters and throw if necessary.
8517         This method still needs more argument checking.
8519 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
8521         * Enum.cs (Equals): check if Enums are of the same type
8523 2002-03-18  Nick Drochak  <ndrochak@gol.com>
8525         * Double.cs: Explicitly handle comparisons in CompareTo() for
8526         Positive/Negative Infinity and NaN. Unit Test now passes on Linux.
8528         * Enum.cs(CompareTo): Check types of values before trying to compare.
8529         Throw exceptions if types are invalid or don't match.
8531 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
8533         * Array.cs: Add some extra debugging information.
8535 2002-03-15  Nick Drochak  <ndrochak@gol.com>
8537         * Array.cs: Added IList and IEnumerable. 
8539 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
8541         * UInt64.cs, UInt32.cs, UInt16.cs: Mark public parse methods as
8542         NonCLSCompliant. 
8544 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
8546         * Delegate.cs (Equals): also compare method_ptr 
8547         (GetHashCode): returm method_ptr as hash
8549 2002-03-13  Duco Fijma  <duco@lorentz.xs4all.n>
8550         * TimeSpan.cs: removed the use of Custom Numeric Format Strings,
8551         such as 42.ToString("0000000"), as these are (currently) not implemented
8552         in System.IntegerFormatter. TimeSpan luckely can do with Standard
8553         Numeric Format Strings, such as 42.ToString("D7").
8555 2002-03-12  Duncan Mak  <duncan@ximian.com>
8557         * FieldAccessException.cs: 
8558         * MethodAccessException.cs: 
8559         * PlatformNotSupportedException.cs: Inherit from
8560         MemberAccessException, not SystemException.
8562         * ObsoleteAttribute.cs: Made Message and IsError properties
8563         instead of fields.
8565 Tue Mar 12 19:21:18 CET 2002 Paolo Molaro <lupus@ximian.com>
8567         * GC.cs: make SuppressFinalize() a nop.
8568         * Delegate.cs: fix == operator.
8570 2002-03-13  Nick Drochak  <ndrochak@gol.com>
8572         * Enum.cs: Add IConvertible methods. Cyclic dependancy fixed in the
8573         runtime that goes with this patch.
8575 2002-03-10  Martin Baulig  <martin@gnome.org>
8577         * Int32.cs (Parse): Correctly parse negative numbers.
8579 2002-03-08  Martin Baulig  <martin@gnome.org>
8581         * String.cs (Split): Really fix it this time. Also adding several new
8582         testcase to the testsuite.       
8584 2002-03-08  Martin Baulig  <martin@gnome.org>
8586         * Array.cs (Copy): Optimized: removed duplicate null check, removed
8587         two duplicate GetLowerBound() calls and one duplicate IsValueType.
8589 Fri Mar 8 18:49:19 CET 2002 Paolo Molaro <lupus@ximian.com>
8591         * Object.cs: commit my hacked GetHashCode(): it's good enough for now.
8592         * String.cs: use the dumb code for IndexOf(string): this is worth
8593         15-20 % speedup in mcs compile with mint.
8595 Fri Mar 8 12:45:44 CET 2002 Paolo Molaro <lupus@ximian.com>
8597         * String.cs: revert change to Split() that broke the compiler (hi martin!:-).
8599 2002-03-07  Martin Baulig  <martin@gnome.org>
8601         * String.cs (Join): Throw an ArgumentNullException.
8602         (LastIndexOf (string,int,int)): This method does a backwards search,
8603         so startIndex points to the end of value, not to its beginning. Don't
8604         throw an exception if startIndex equals this.Length. Always return -1
8605         if startIndex is smaller than the length of value.
8606         (Replace (string,string)): Replace all occurences of oldValue.
8607         If newValue is null, all occurences of oldValue are to be removed.
8608         (Split (char[],int)): Return an empty array if maxCount is zero, throw
8609         an ArgumentOutOfRangeException if it's less than zero. Return maxValue
8610         elements, not maxValue+1.
8612 Thu Mar 7 17:16:06 CET 2002 Paolo Molaro <lupus@ximian.com>
8614         * MonoType.cs: make GetEvents() an internal call.
8615         * MulticastDelegate.cs: copy the passed in array.
8617 2002-03-06  Martin Baulig  <martin@gnome.org>
8619         * Array.cs (Copy): Use FastCopy when appropriate and do correct
8620         exception handling.
8622 2002-03-06  Duco Fijma  <duco@lorentz.xs4all.nl>
8623         * CharEnumerator.cs: fixes to CharEnumertor.MoveNext, fixing 
8624         some of the failures found be new tests (see ChangeLog in 
8625         Test/System). Comments added to this method, based on
8626         the representation invariant of this class, that (try to) explain
8627         why it now should be correct.
8629 2002-03-06  Dietmar Maurer  <dietmar@ximian.com>
8631         * Int64.cs (Parse): bug fix for max. negative value. 
8633 2002-03-07  Nick Drochak  <ndrochak@gol.com>
8635         * RuntimeTypeHandle.cs: Add Serializable attribute as the docs say.
8636         I need to understand what the difference between the attribute and
8637         the interface is.
8639 2002-03-06  Martin Baulig  <martin@gnome.org>
8641         * Array.cs (Copy): Always throw an ArrayTypeMismatchException, not
8642         an InvalidCastException if the widening conversion failed. See
8643         testcases #M94-#M96.
8645         * Array.cs (CopyTo): Bug fix from Ajay Dwivedi, correctly handle
8646         arrays with non-zero lower bounds. Also adding testcases #F10-#F13
8647         for this.
8649         * Array.cs (CopyTo): Reverted my last change, it was incorrect.
8650         (Copy): Actually allow copying multi-dimensional arrays.
8652 2002-03-05  Duncan Mak  <duncan@ximian.com>
8654         * Convert.cs:
8655         (DBNull) Added the missing field.
8656         (IsDBNull) Fixed typo.
8657         (ToByte (string, int)) Implemented.
8658         (ToString (byte, int)) Implemented.
8659         (ConvertToBase)
8660         (BuildConvertedString) internal functions used for converting values to
8661         a specific base.
8663         * Int16.cs: 
8664         * Int32.cs:
8665         * Int64.cs:
8666         * Single.cs:
8667         * UInt16.cs: 
8668         * UInt32.cs: Implemented the IConvertible interface.    
8670         * CharEnumerator.cs: Renamed to variables to be clearer and
8671         changed some of the tests to conform to the 1.0 spec.
8673 2002-03-06  Martin Baulig  <martin@gnome.org>
8675         * Array.cs (Copy): Calculate absolute array position here and use
8676         GetValueImpl() and SetValueImpl() with that position. We can now
8677         copy multi-dimensional arrays.
8678         (CopyTo): Small bug fix.
8680 2002-03-05  Duco Fijma  <duco@lorentz.xs4all.nl>
8682         * Version.cs: CompareTo changed according the LAMESPEC discovered by 
8683         Nick (See VersionTest.cs).
8684         * CharEnumerator.cs: fixed two bugs in MoveNext. It had an off-by-one
8685         error comparing the current position (idx) against the length of the
8686         string iterated and it set idx to an unrecognized special value (-2)
8688 Tue Mar 5 17:34:14 CET 2002 Paolo Molaro <lupus@ximian.com>
8690         * SByte.cs, UInt64.cs: implement IConvertible interface. Nobody wants
8691         to do this dirty work, but someone has to do it (and I need it to pass
8692         the "200 sample tests compiled on linux" mark).
8694 2002-03-06  Nick Drochak  <ndrochak@gol.com>
8696         * Attribute.cs
8697         * DecimalFormatter.cs
8698         * Delegate.cs
8699         * Double.cs
8700         * GC.cs
8701         * Int16.cs
8702         * Int32.cs
8703         * MonoType.cs
8704         * RuntimeMethodHandle.cs
8705         * RuntimeTypeHandle.cs
8706         * String.cs
8707         * Type.cs:
8708                 Add [MonoTODO]'s to places where we currently throw a
8709                 NotImplementedException.
8711 2002-03-05  Dietmar Maurer  <dietmar@ximian.com>
8713         * Int16.cs (Parse): do not overflow on max negative value
8715         * Int32.cs (Parse): do not overflow on max negative value
8717 Mon Mar 4 20:36:05 CET 2002 Paolo Molaro <lupus@ximian.com>
8719         * Type.cs: fixed IsClass.
8720         * MonoType.cs: fixed MemberType, IsPrimitiveImpl, IsPointerImpl,
8721         IsByRefImpl. Added GetInterfaces().
8722         * IServiceProvider.cs: compilation fix.
8724 Mon Mar 4 18:37:03 CET 2002 Paolo Molaro <lupus@ximian.com>
8726         * Array.cs: allow copying an empty array to an empty array.
8728 Mon Mar 4 17:59:16 CET 2002 Paolo Molaro <lupus@ximian.com>
8730         * String.cs: fixed LastIndexOf (string) to do a bit of argument
8731         checking.
8733 2002-03-04  Duco Fijma  <duco@lorentz.xs4all.nl>
8734         * Version.cs: many fixes to failures found by the newly created
8735         test cases for this class. Specifically, the CompareTo member
8736         returned wrong values due to the use of Int32.MaxValue as a special
8737         value indicating an "undefined" version component. Also implemented the
8738         missing operators (==, <, >, etc.), one missing constructor and
8739         and some exception throwing.
8741 2002-03-04  Nick Drochak  <ndrochak@gol.com>
8743         * IServiceProvider.cs: Add missing attribute: ComVisible(false)
8744         * Attribute.cs: Add missing attributes: Serializable and
8745         AttributeUsage(AttributeTargets.All)
8747 Mon Mar 4 11:26:49 CET 2002 Paolo Molaro <lupus@ximian.com>
8749         * MonoType.cs: implemented GetConstructors(), GetFields(),
8750         GetMethods(), GetProperties().
8751         * Object.cs: added debugging icall obj_address().
8752         * Type.cs: fixed the binding flags for some Get* methods.
8753         Implemented FindMembers() as calls to the specific GetMember
8754         methods.
8756 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
8757         * BitConverter.cs: fixed one little bug: ToString(s, n, 0) 
8758         should give an exception for n>=s.Length.
8760 2002-03-01  Martin Baulig  <martin@gnome.org>
8762         * Array.cs: More argument checking and bug fixing.
8764 2002-03-01  Miguel de Icaza  <miguel@ximian.com>
8766         * BitConverter.cs: Indentation match
8768         * AppDomain.cs: Added MonoTODOs to this too.
8770         * Buffer.cs: Added MonoTODOs to this.
8772 2002-03-01  Martin Baulig  <martin@gnome.org>
8774         * Array.cs: Added argument checking to all methods where it was missing.
8776 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
8778         * BitConverter.cs: Fixed bugs in ToString methods
8780 Fri Mar 1 15:20:00 CET 2002 Paolo Molaro <lupus@ximian.com>
8782         * MulticastDelegate.cs: implement operators so mcs3 can be used on linux.
8784 2002-03-01  Nick Drochak  <ndrochak@gol.com>
8786         * BitConverter.cs: Throw ArgumentException like mscorlib, instead of
8787         ArgumentOutOfRangeException like the docs say.
8789 2002-03-01  Martin Baulig  <martin@gnome.org>
8791         * Enum.cs (CompareTo): Correctly override this method from IComparable.
8793         * Console.cs (setIn, setOut, setError): It's called SetIn, SetOut, SetError.
8795 2002-02-28  Martin Baulig  <martin@gnome.org>
8797         * String.cs: This file now passes the testsuite on Linux :-)
8798         
8799         * String.cs (Intern, IsInterned): The interncalls are now called _Intern and _IsInterned;
8800         make them private and provide C# wrappers which do proper argument checking.
8802         * String.cs (Format): Correctly handle escaped brackets.
8804         * String.cs (_CompareChar): New internal function which compares two chars.
8805         (_Compare): Provide an internal compare method which can do all sorts of
8806         comparision and call it from all the Compare() methods. Also fixed a lot of
8807         bugs here, this code now actually passes the testsuite.
8809 2002-02-28  Duncan Mak  <duncan@ximian.com>
8811         * Convert.cs: Added the missing methods. The new class status page
8812         kicks ass, it even found my typos! Woohoo!
8813         (ConvertFromBase): Moved the Exception throwing in here and
8814         removed the other occurances so it's all centralized now.
8815         (ISDBNull): Implemented.
8816         (GetTypeCode): Implemented.
8818 2002-02-27  Duco Fijma  <duco@lorentz.xs4all.nl>
8819         * Guid.cs: Guid.ToString("") and Guid.ToString(null) is now understood as Guid.ToString("D") 
8820         just as in mscorlib. There is (probably) a documentation bug in the MS FrameWork SDK, which
8821         states that a lacking format should be interpreted as "N".  
8822         Also added [Serializable] attribute
8823         * TimeSpan.cs: some formatting and added the [Serializable] attribute
8825 2002-02-26  Duncan Mak  <duncan@ximian.com>
8827         * WeakReference.cs: Committed for Ajay Kumar Dwivedi.   
8829 2002-02-26  Martin Baulig  <martin@gnome.org>
8831         * TimeZone.cs: Use an internal enum rather than magic numbers to access the
8832         fields of the interncall GetTimeZoneData.
8834         * DateTime.cs: Implemented Parse and fixed a few bugs.
8836         * String.cs (TrimStart): Small fix.
8838 2002-02-26  Martin Baulig  <martin@gnome.org>
8840         * DateTime.cs: ParseExact is now fully functional.
8842         * String.cs (TrimEnd): Small fix.
8844 2002-02-26  Duco Fijma <duco@lorentz.xs4all.nl>
8845         * TimeSpan.cs: Added method TimeSpan.FromMilliseconds, mysteriously 
8846         missing for about six months.
8848 Tue Feb 26 14:21:19 CET 2002 Paolo Molaro <lupus@ximian.com>
8850         * UInt64.cs: fixed Parse method () to handle some of the NumberStyle flags.
8852 2002-02-26  Martin Baulig  <martin@gnome.org>
8854         * DateTime.cs: Miguel already committed this, but there was still a
8855         ChangeLog entry for this missing ....
8856         We're now reusing functionality from TimeSpan, printing dates is
8857         fully implemented, currently working on parsing.
8859         * TimeZone.cs: Fully implemented this. There's a new InternCall in the
8860         runtime for this.
8862 Fri Feb 22 18:47:08 CET 2002 Paolo Molaro <lupus@ximian.com>
8864         * MonoType.cs: disable constructor.
8865         * Object.cs: make GetType() an internalcall.
8866         * Type.cs: added correct bindingflags to GetMethods ().
8867         All such calls should be reviewed to use the correct flags.
8869 Thu Feb 21 19:23:46 CET 2002 Paolo Molaro <lupus@ximian.com>
8871         * Type.cs, MonoType.cs: type_is_subtype_of () changed to include extra
8872         argument.
8874 Thu Feb 21 16:56:51 CET 2002 Paolo Molaro <lupus@ximian.com>
8876         * Type.cs: implemented IsAssignableFrom.
8878 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
8879         * Guid.cs: fixed Guid.Guid(string) ctor. Changed format:
8880         "{0xdddddddd,0xdddd,0xdddd,{0xdd},{0xdd},{0xdd},{0xdd},{0xdd},{0xdd}}" 
8881         to "{0xdddddddd,0xdddd,0xdddd,{0xdd,0xdd,0xdd,0xdd,0xdd,0xdd}}" 
8882         The former is documented by Microsoft. The latter is how they
8883         actually implemented it in mscorlib:-)
8885 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
8887         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
8888         runtime.
8889         * MonoType.cs: Implemented custom attributes methods.
8892 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
8893         * Guid.cs: 
8895 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
8897         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
8898         runtime.
8899         * MonoType.cs: Implemented custom attributes methods.
8901 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
8903         * Array.cs (CopyTo): use GetLength() instead of GetUpperBound() 
8905 2002-02-19  Duncan Mak  <duncan@ximian.com>
8907         * Convert.cs: Finished up the missing methods in Convert. Added a
8908         new private method ConvertFromBase.
8910 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
8912         * String.cs: impl. IConvertible interface
8914 2002-02-18  Duco Fijma <duco@lorentz.xs4all.nl>
8915         * Guid.cs: actual implementation for Guid.Guid(string) Ctor
8917 2002-02-18  Duncan Mak  <duncan@ximian.com>
8919         * Convert.cs: Changed from using Type.GetType (string) to just
8920         typeof (). Probably will speed things up a bit?         
8922 2002-02-18  Ajay Kumar Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>
8924         * Array.cs:         
8925         1. Fix for GetUpperBound to return correct values
8926         2. made some Properties virtual
8927         3. Adds IsFixedSize and IsReadOnly properties.
8928         4. changes CreateInstance(Type,int[],int[]) to throw Exception
8929         when third arg is null. InternalCall CreateInstance changed to  
8930         CreateInstanceImpl
8931         5. Fixed array.GetUpperBound at a couple of places
8932         6. IndexOf and LastIndexOf now use Object.Equals instead of "=="
8933         7. Added two FIXME's in BinarySearch functions.
8935 2002-02-17  Duncan Mak  <duncan@ximian.com>
8937         * TimeZone.cs:  Applied the rest of Ajay's patch for    
8938         IsDaylightSavingTime. Thanks a lot for the nice explanation of how
8939         it works!
8941 2002-02-17  Duco Fijma  <duco@lorentz.xs4all.nl>
8942         * Guid.cs: added stub for Guid(string) ctor
8944 2002-02-17  Duncan Mak  <duncan@ximian.com>
8946         * Convert.cs: Near-complete implementation of Convert.cs
8948         Added all the To* methods taking (object) and
8949         (object, IFormatProvider) as parameters.
8951         Added [CLSCompliant (false)] attributes to methods dealing with
8952         unsigned types.
8954         Added the missing section on converting to and from DateTime. Only
8955         6 missing methods, all marked with MonoTODOs. Will tackle them later.           
8957 2002-02-16  Duncan Mak  <duncan@ximian.com>
8959         * TimeZone.cs: patch from Ajay Kumar Dwivedi (adwiv@yahoo.com) to
8960         make IsDaylightSavingTime (DateTime) call 
8961         IsDaylightSavingTime (DateTime, DaylightTime).  
8962         
8963         Added internal class CurrentTimeZone from Ajay. It needs more work
8964         to fill in the appropriate internal calls.
8965         
8966 Sat Feb 16 12:41:41 CET 2002 Paolo Molaro <lupus@ximian.com>
8968         * Type.cs: fix IsClass.
8970 Sat Feb 16 12:02:02 CET 2002 Paolo Molaro <lupus@ximian.com>
8972         * String.cs: fix Trim().
8974 Fri Feb 15 21:02:46 CET 2002 Paolo Molaro <lupus@ximian.com>
8976         * String.cs: fix more off by one errors.
8978 Thu Feb 14 18:54:09 CET 2002 Paolo Molaro <lupus@ximian.com>
8980         * MonoType.cs: fix IsValueTypeImpl.
8981         * Type.cs: fix IsEnum. Implement Equals methods.
8983 Wed Feb 13 21:50:13 CET 2002 Paolo Molaro <lupus@ximian.com>
8985         * Int32.cs: implement IConvertible interface.
8986         
8987 2002-02-12  Duncan Mak  <duncan@ximian.com>
8989         * TimeZone.cs: Implemented and added to CVS.
8991 2002-02-11  Duncan Mak  <duncan@ximian.com>
8993         * Convert.cs: Implemented the ChangeType () methods.
8995 Mon Feb 11 19:48:58 CET 2002 Paolo Molaro <lupus@ximian.com>
8997         * Array.cs: make Clone() an internal call.
8999 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
9000         * Changed Guid.NewGuid so that it can use both System.Random and 
9001           System.Security.Cryptography.RandomNumberGenerator
9003 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
9004         * First version of Guid.NewGuid
9006 2002-02-08  Duncan Mak  <duncan@ximian.com>
9008         * RuntimeArgumentHandle.cs: Added to CVS.
9010 Fri Feb 8 19:14:54 CET 2002 Paolo Molaro <lupus@ximian.com>
9012         * CrossAppDomainDelegate.cs, AssemblyLoadEventHandler.cs,
9013         UnhandledExceptionEventHandler.cs: added delegates.
9015 Fri Feb 8 18:06:20 CET 2002 Paolo Molaro <lupus@ximian.com>
9017         * MarshalByRefObject.cs: add ToString () method
9018         (apparently needed by nunit).
9019         * _AppDomain.cs: uncomment ToString(): dietmar fixed the bug triggered
9020         by it in the runtime.
9022 2002-02-08  Dan Lewis <dihlewis@yahoo.co.uk>
9023         
9024         * String.cs (Format): implemented
9026 2002-02-07  Duncan Mak  <duncan@ximian.com>
9027         
9028         * DuplicateWaitObjectException:
9029         * InvalidCastException:
9030         * NotImplementedException:
9031         * NotSupportedException:
9032         * NullReferenceException:
9033         * OutOfMemoryException:
9034         * OverflowException:
9035         * RankException:
9036         * StackOverflowException.cs:
9037         * UnauthorizedAccessException: Added missing constructor used for serialization.
9039 2002-02-07  Dietmar Maurer  <dietmar@ximian.com>
9041         * String.cs (System.Compare): bug fix 
9043 2002-02-06  Dietmar Maurer  <dietmar@ximian.com>
9045         * Enum.cs (Parse,  GetHashCode): impl. 
9047 2002-02-05  Duncan Mak  <duncan@ximian.com>
9049         * DBNull.cs: This is my first crack at the DBNull class. I think I
9050         actually got most of the IConvertible methods right, but I haven't
9051         done the research to test whether or not this is the correct
9052         behavior. IConvertible.ToType () is the most iffy of all, IMHO.
9054         * DllNotFoundException.cs: Inherits from TypeLoadException, not SystemException.
9056 2002-02-05  Dietmar Maurer  <dietmar@ximian.com>
9058         * Enum.cs: added more functionality (GetName, ToObject, Equals)
9060 2002-01-31  Duncan Mak  <duncan@ximian.com>
9062         * InvalidOperationException.cs:
9063         * NotFiniteNumberException.cs:
9064         * ObjectDisposedException.cs:
9065         * TypeInitializationException.cs: Added missing bits for serialization/
9066         
9067         * AppDomainUnloadedException.cs:
9068         * ApplicationException.cs:
9069         * ArgumentOutOfRangeException.cs:
9070         * ArithmeticException.cs:
9071         * ArrayTypeMismatchException:
9072         * BadImageFormatException.cs:
9073         * Exception.cs:
9074         * MissingMemberException.cs:
9075         * TypeLoadException.cs: Added missing bits for serialization.
9077 2002-01-30  Duco Fijma <duco@lorentz.xs4all.nl>
9078         * Guid.cs: implemented everything but Guid.NewGuid
9080 Tue Jan 29 22:32:36 CET 2002 Paolo Molaro <lupus@ximian.com>
9082         * _AppDomain.cs: remove ToString() method: it doesn't seem right 
9083         to have it in this interface and it screws up the method vtable setup.
9085 2002-01-28  Andrei Zmievski <andrei@php.net>
9087         * Double.cs: implemented IConvertible interface.
9089 2002-01-28  Miguel de Icaza  <miguel@ximian.com>
9091         * ArgumentException.cs: Implement serialization constructor.
9092         (GetObjectData): Implement serializer.
9093         
9094         * ArgumentNullException.cs: Implement serialization constructor.
9096         * Exception.cs: Implement serialization constructor.
9097         (GetObjectData): Implement serializer.
9099 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
9101         * DateTime.cs (UnixEpoch): The Begining of the Unix epoch.
9103 2002-01-23  Duncan Mak  <duncan@ximian.com>
9105         * EntryPointNotFoundException.cs:
9106         * FormatException: Added missing constructor and related bits.
9108         * TypeLoadException: Added missing constructor, methods and properties.
9110 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
9112         * AppDomain.cs (GetAssemblies): Use foreach construct instead of
9113         manually getting the enumerator.
9115         (AppDomain.AppDomain): Prime the loaded assemblies with the
9116         assemblies loaded by the runtime in our behalf.
9118         * AppDomainSetup.cs: Remove private keyword, that is the default.
9119         Add a new property DisallowPublisherPolicy.
9121         * AppDomain.cs (AppDomain.GetAssemblies): Implement.
9123 Tue Jan 22 22:51:48 CET 2002 Paolo Molaro <lupus@ximian.com>
9125         * MonoType.cs, Type.cs: many updates, corrected implementation,
9126         completed stubs.
9128 2002-01-20  Andrei Zmievski <andrei@php.net>
9130         * Byte.cs:
9131         * Char.cs: implemented IConvertible interface.
9133         * Boolean.cs: use our own ToString() method directly.
9135 2002-01-20  Duncan Mak  <duncan@ximian.com>
9137         * Files I commited recently: Fixed indentation style.
9139 2002-01-20 Nick Drochak  <ndrochak@gol.com>
9141         * SerializableAttribute.cs: this attrib can be used on enums, structs, 
9142         and delegates too. Added the appropriate usage flags.
9144 2002-01-18  Duncan Mak  <duncan@ximian.com>
9146         * CharEnumerator.cs: Implemented.
9147         * String.cs (System): Fixed the GetEnumerator () method(s).
9149         * ObsoleteAttribute.cs:
9150         * STAThreadAttribute.cs:
9151         * MTAThreadAttribute.cs:
9152         * ThreadStaticAttribute.cs:
9153         * LoaderOptimizationAttribute.cs:
9154         * PlatformNotSupportedException.cs:
9155         * LoaderOptimization.cs: Added to CVS.
9157 2002-01-18  Duncan Mak  <duncan@ximian.com>
9159         * AppDomainUnloadedException.cs:
9160         * MethodAccessException.cs:
9161         * ContextMarshalException.cs:
9162         * CannotUnloadAppDomainException.cs:
9163         * DllNotFoundException.cs:
9164         * EntryPointNotFoundException.cs:
9165         * FieldAccessException.cs:
9166         * TypeUnloadedException.cs:
9167         * MissingFieldException.cs: Added to CVS.
9169         * ApplicationException.cs: 
9170         * MemberAccessException.cs:
9171         * MissingMemberException.cs
9172         * MissingMethodException.cs:
9173         * SystemException.cs: Added [Serializable] attribute.
9175         * Exception.cs: Added [Serializable] attribute, made properties
9176         'Message', 'Source' and 'StackTrace' virtual methods, per 1.0
9177         spec.
9179         * ContextStaticAttribute.cs: Added [Serializable] attribute and
9180         put in the missing constructor.
9182         * Environment.cs: Commented out references to
9183         EnvironmentPermissionAttribute, because they're just stubbed out
9184         right now and has no implementation.
9186 2002-01-16  Andrei Zmievski <andrei@php.net>
9188         * Boolean.cs: implemented IConvertible interface
9190 2002-01-15  Nick Drochak  <ndrochak@gol.com>
9192         * ResolveEventArgs.cs: class should derive from EventArgs.
9194 2002-01-14  Miguel de Icaza  <miguel@ximian.com>
9196         * String.cs (System): Use DefaultMemberName for the String class.
9198 Mon Jan 14 17:06:40 CET 2002 Paolo Molaro <lupus@ximian.com>
9200         * String.cs: use IndexerName in index char accessor.
9202 Thu Jan 10 21:05:23 CET 2002 Paolo Molaro <lupus@ximian.com>
9204         * MonoType.cs: add rank to MonoTypeInfo and implement GetArrayRank.
9205         * String.c: eliminate 64k+ method calls in search.
9206         * Type.cs: handle byref and array types in ToString ().
9208 2002-01-09  Duco Fijma <duco@lorentz.xs4all.nl>
9210         * Guid.cs: created first version
9212 2002-01-10  Dietmar Maurer  <dietmar@ximian.com>
9214         * MonoType.cs: added missing TypeAttributes to MonoTypeInfo 
9216 Wed Jan 9 19:35:07 CET 2002 Paolo Molaro <lupus@ximian.com>
9218         * MulticastDelegate.cs: add == and != operator stubs.
9219         * String.cs: check for null in == operator.
9220         * Type.cs: use a virtual method to get TypeAttributes.
9222 Tue Jan  8 23:30:19 EST 2002 Matt Kimball <matt@kimball.net>
9223         * String.cs: Fixed several off-by-one errors in LastIndexOf* methods
9225 2002-01-09  Nick Drochak  <ndrochak@gol.com>
9226         
9227         * Environment.cs: Comment out Security attribute and put a MonoTODO
9228         there as a reminder.  We need mcs magic to handle security attributes in
9229         corlib.
9231 2002-01-07  Duco Fijma <duco@lorentz.xs4all.nl>
9232         * Created IAppDomainSetup.cs
9234 2002-01-06  Duco Fijma <duco@lorentz.xs4all.nl>
9235         * Created System._AppDomain interface in _AppDomain.cs
9237 2002-01-06  Nick Drochak  <ndrochak@gol.com>
9239         * ResolveEventArgs.cs: New File, completely implemented! ;)
9241 Sat Jan 5 15:53:50 CET 2002 Paolo Molaro <lupus@ximian.com>
9243         * Enum.cs: dummy ToString impl.
9244         * String.cs: dummy format implementations to get compiler errors
9245         somewhat working.
9246         * Type.cs: implemented filter delegates. FindMembers runs the filter, now.
9248 2002-01-05  Ravi Pratap  <ravi@ximian.com>
9250         * TODOAttribute.cs : Augment some more; provide two constructors
9251         with support for a comment too.
9253 2002-01-05  Nick Drochak  <ndrochak@gol.com>
9255         * Uncommented those MonoTODO's now that Ravi's got
9256         the class in there
9258 2001-01-04  Ravi Pratap  <ravi@ximian.com>
9260         * TODOAttribute.cs : Actually add this time ;-)
9262         Change name to MonoTODO.
9264 2002-01-04  Jeffrey Stedfast  <fejj@ximian.com>
9266         * String.cs (Trim): Fixed a few logic bugs in the code that
9267         calculated how much to trim off the end of the string.
9269 2001-01-04  Nick Drochak  <ndrochak@gol.com>
9270         
9271         * Commented out the [TODO] attributes for now.  We don't have the
9272         class written.  Also changed it to [MonoTODO]
9274 2002-01-04  Ravi Pratap  <ravi@ximian.com>
9276         * TODOAttribute.cs : Add. We use this attribute to tag all bits in
9277         our class libraries that are incomplete.
9279         * Array.cs : Apply attribute wherever we find a FIXME which says
9280         we need something to be implemented there.
9282         * Int32.cs : Ditto.
9284         * MulticastDelegate.cs : Ditto.
9286         * RuntimeFieldHandler.cs, RuntimeMethodHandle.cs,
9287         RuntimeTypeHandle.cs : Ditto.
9289         * String.cs : Ditto.
9291         * Type.cs : Ditto.
9293         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs, Delegate.cs : Ditto.
9295         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs, Single.cs, 
9296         UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
9298         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs,
9299         Delegate.cs : Ditto.
9301         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs,
9302         Single.cs, UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
9303         
9304 Thu Jan 3 23:24:04 CET 2002 Paolo Molaro <lupus@ximian.com>
9306         * Delegate.cs: add Remove() stub.
9307         * Enum.cs: add ToObject().
9308         * Type.cs: add IsEnum property.
9310 2002-01-03  Kristian Rietveld  <kris@gtk.org>
9312         * Convert.cs: add non-CLS-compliant ToBoolean methods for char,
9313         DateTime and object.
9315 2001-12-30  Nick Drochak  <ndrochak@gol.com>
9317         * Byte.cs (Parse): Add comments to aid in testing.
9319 2001-12-21  Miguel de Icaza  <miguel@ximian.com>
9321         * Char.cs (Parse): Implement.
9323         * Byte.cs (Parse): Implement a fast parser.
9324         
9325         * SByte.cs (Parse): Implement a fast parser.
9327         * UInt16.cs (Parse): Implement a fast parser.
9328         
9329         * Int16.cs (Parse): Implement a fast parser.
9331         * UInt32.cs (Parse): Implement a fast parser.
9333         * Int32.cs (Parse): Implement a fast parser.
9335 Fri Dec 21 15:14:52 CET 2001 Paolo Molaro <lupus@ximian.com>
9337         * Array.cs: fix null ref in sort code.
9338         * UInt64.cs: add bare-bones parse.
9340 Thu Dec 20 15:29:52 CET 2001 Paolo Molaro <lupus@ximian.com>
9341         
9342         * Byte.cs: removed use of Regexes.
9344 Tue Dec 18 18:39:54 CET 2001 Paolo Molaro <lupus@ximian.com>
9346         * Enum.cs: implemented GetValues(), GetNames(), GetName(),
9347         IsDefined(), GetUnderlyingType().
9348         * String.cs: fix one instance of Compare().
9349         * Type.cs: implemented GetProperties(), GetProperty().
9351 Thu Dec 13 20:10:57 CET 2001 Paolo Molaro <lupus@ximian.com>
9353         * Array.cs: implement CopyTo ().
9354         * Char.cs: implement ToString ().
9355         * Exception.cs: bugfix.
9356         * Int32.cs: bare-bones Parse ().
9357         * MonoType.cs: query the needed info with an internalcall.
9358         * String.cs: speedups, bugfixes, reduced copies.
9359         * Type.cs: added missing fields. Implemented many of the Is*
9360         properties. Implemented GetMethod(), GetConstructor(), GetMethods(),
9361         GetFields(), FindMembers(), ToString().
9362         
9363 2001-12-11  Dick Porter  <dick@ximian.com>
9365         * DateTime.cs: Implemented FromFileTime() and ToFileTime()
9367         * Console.cs: Use handles rather than casting file descriptors
9369 2001-12-08  Nick Drochak  <ndrochak@gol.com>
9371         * Byte.cs (Parse): Start implementation. Parse(string) works, but
9372         now we need to handle other formats
9374 2001-12-06  Dietmar Maurer  <dietmar@ximian.com>
9376         * DateTime.cs: added an icall to GetNow()
9378 2001-12-04  Dietmar Maurer  <dietmar@ximian.com>
9380         * Double.cs: added the parse method from Bob Smith
9382 2001-11-28  Miguel de Icaza  <miguel@ximian.com>
9384         * UInt64.cs: ditto.
9386         * UInt32.cs: ditto.
9388         * Int32.cs (Int32.CompareTo): Fix because we can not just
9389         substract the values.
9391         Return possitive value if the object is null.
9393         * Boolean.cs: (Boolean.CompareTo): ditto.
9395         * Int16.cs (Int16.CompareTo): ditto.
9397         * Byte.cs (Byte.CompareTo): ditto.
9399         * SByte.cs (SByte.CompareTo): ditto.
9401         * Char.cs (Char.CompareTo): ditto.
9402         
9403         * Decimal.cs (Decimal.CompareTo): ditto.
9405         * Int64.cs (Int64.CompareTo): ditto.
9407         * Single.cs: Ditto.
9409         * UInt16.cs: Ditto.
9411 2001-11-28  Nick Drochak <ndrochak@gol.com>
9413         * Byte.cs: Throw NotImplementedException for Parse.
9415 2001-11-27  Derek Holden  <dholden@draper.com>
9417         * IntegerFormatter.cs: Formatting of type "Number" was not
9418         using NumberFormatInfo.NumberNegativePattern.
9420 2001-11-26  Dick Porter  <dick@ximian.com>
9422         * LocalDataStoreSlot.cs: No need to delete a system TLS slot in
9423         the finalise routine any more
9425 2001-11-21  Miguel de Icaza  <miguel@ximian.com>
9427         * ApplicationException.cs: internationalize by adding calls to
9428         Locale.GetText ().  And throw NotImplementedExceptions on calls
9429         that we have to implement.
9431         * Version.cs: Ditto.
9433         * ValueType.cs: ditto.
9435         * UnauthorizedAccessException.cs: ditto.
9437         * UInt32.cs: ditto.
9439         * UInt64.cs: ditto.
9441         * UInt16.cs: ditto.
9443         * TypeLoadException.cs: ditto
9445         * TypeInitializationException.cs: ditto.
9447         * Type.cs: ditto.
9449         * TimeSpan.cs: ditto.
9451         * SystemException.cs: ditto.
9453         * String.cs: ditto.
9455         * StackOverflowException.cs: ditto.x
9457         * Single.cs: ditto.
9459         * SByte.cs: ditto.
9461         * RuntimeTypeHandle.cs: ditto.
9463         * RuntimeMethodHandle.cs: ditto.
9465         * RuntimeFieldHandle.cs: ditto.
9467         * Random.cs: ditto.
9469         * OutOfMemoryException.cs: ditto.
9471         * OperatingSystem.cs: ditto.
9473         * ObjectDisposedException.cs: ditto.
9475         * NullReferenceException.cs: ditto.
9477         * NotImplementedException.cs: ditto.
9479         * NotFiniteNumberException.cs: ditto.o
9481         * MulticastNotSupportedException.cs: ditto.
9483         * MissingMethodException.cs: ditto.
9485         * MemberAccessException.cs: ditto.
9487         * Math.cs: ditto.
9489         * InvalidCastException.cs: ditto.
9491         * IntegerFormatter.cs: ditto.
9493         * Int32.cs: ditto.
9495         * Int16.cs: ditto.
9497         * IndexOutOfRangeException.cs: ditto.
9499         * Environment.cs: ditto
9501         * Enum.cs: ditto.
9503         * DuplicateWaitObjectException.cs: ditto.
9505         * DivideByZeroException.cs: ditto.
9507         * Delegate.cs: ditto
9509         * DecimalFormatter.cs: ditto.
9511         * Decimal.cs: ditto.
9513         * DateTime.cs: ditto.
9515         * Convert.cs: ditto.
9517         * Char.cs: ditto.
9519         * Byte.cs: ditto.
9521         * Boolean.cs: ditto.
9523         * ArrayTypeMismatchException.cs: ditto.
9525         * ArithmeticException.cs: ditto.
9527         * ArgumentOutOfRangeException.cs: ditto.
9529         * ArgumentNullException.cs: ditto.
9531         * Enum.cs: Make it derive from ValueType, add CompareTo method.
9533         * Attribute.cs: Reformat.
9535 2001-11-14  Miguel de Icaza  <miguel@ximian.com>
9537         * Decimal.cs, Double.cs, Byte.cs, Char.cs, Int16, UInt16, Int32,
9538         UInt32, Int64, UInt64, SByte, Single (CompareTo): Throw the
9539         exception if the value is null too.
9541         * Char.cs (CompareTo): ditto.
9543         * ApplicationException.cs: Added constructor that does serialization.
9545         * ParamArrayAttribute.cs: Define attribute correctly.
9547 Wed Nov 14 16:31:19 CET 2001 Paolo Molaro <lupus@ximian.com>
9549         * AppDomain.cs: rename dummy interface _AppDomain to AppDomain_Intf.
9550         * Array.cs: fix Array.Copy.
9551         * AssemblyLoadEventArgs.cs: rename field.
9552         * CLSCompliantAttribute.cs: use correct name for the class.
9553         * Char.cs: fix IsLetter.
9554         * Console.cs, DateTime.cs, Decimal.cs, IConvertible.cs, Math.cs,
9555         SByte.cs, UInt16.cs, UInt32.cs, UInt64.cs, UIntPtr.cs: CLSCompliant updates.
9556         * Convert.cs: CLSCompliant updates, add ChangeType() methods.
9557         * Delegate.cs: renamed target field to m_target.
9558         * Enum.cs: added missing methods.
9559         * MonoType.cs: add a constructor and some needed properties.
9560         * Object.cs: implement GetType().
9561         * String.cs: CLSCompliant updates. Fixes everywhere to remove the
9562         ending 0 char.
9563         * Type.cs: add missing methods/properties.
9565 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
9567         * AttributeUseage.cs: Should define AttributeUsageAttribute.
9569         * CLSCompliant.cs: Marked with AttributeUsage attribute.
9571         * Decimal.cs: Fixed CLSCompliant attributes.
9573         * Type.cs: changed _impl to internal (needs to be accessable by
9574         subclasses).
9576         (TypeHandle): Marked as abstract, implementation removed.
9578         (IsNotPublic, IsPublic, GetMethods, GetPropery, GetConstructor,
9579         GetMethod): Added stub implementations so NUnit would link against
9580         corlib
9582 Tue Nov 6 09:11:43 CET 2001 Paolo Molaro <lupus@ximian.com>
9584         * AppDomain.cs: use an internal constructor for AssemblyBuilder.
9586 2001-11-05  Miguel de Icaza  <miguel@ximian.com>
9588         * NonSerializedAttribute.cs: Add AttributeUsage rules for this
9589         attribute. 
9591 Fri Nov 2 18:23:15 CET 2001 Paolo Molaro <lupus@ximian.com>
9593         * String.cs: fix a couple of bugs.
9594         * AppDomain.cs: use new AppBuilder constructor.
9595         * Buffer.cs, GC.cs, NonSerializedAttribute.cs,
9596         NotImplementedException.cs, ObjectDisposedException.cs,
9597         UnauthorizedAccessException.cs: add implementation.
9598         * OverflowException.cs: fix class name.
9600 2001-10-28  Jeffrey Stedfast  <fejj@ximian.com>
9602         * String.cs: Don't use a terminating nil char for our internal
9603         array.
9605 2001-10-27  Miguel de Icaza  <miguel@ximian.com>
9607         * Delegate.cs (Delegate.CombineImpl): Implement.
9608         (Delegate.Combine): Implement.
9610         * MulticastDelegate.cs (MulticastDelegate.Equals): Implement.
9612         (MulticastDelegate.CombineImpl): This was not as trivial as I
9613         thought. 
9615         * ContextStaticAttribute.cs: Added AttributeUsage to
9616         ContextStaticAttribute. 
9618         * FlagsAttribute.cs: Add AttributeUsage to FlagsAttribute
9620 2001-10-15  Martin Weindel <martin.weindel@t-online.de>
9622         * added Decimal.cs * added DecimalFormatter.cs (internal class
9623         used from System.Decimal)
9625 2001-10-11  Thomas Neidhart <tome@sbox.tugraz.at>
9627         * Convert.cs: Added methods for Base64 transforming just used the
9628           existing System.Security.Cryptography.ToBase64Transform, should
9629           be changed to use a stand-alone class, e.g. Base64Encoder
9630           
9631 2001-10-10  Derek Holden  <dholden@draper.com>
9633         * IntegerFormatter.cs: Added. Implements ToString for all the
9634         integer data types for all the format types.
9636         * Byte.cs: Using IntegerFormatter for ToString's.
9638         * SByte.cs: Using IntegerFormatter for ToString's.
9640         * Int16.cs: Using IntegerFormatter for ToString's.
9642         * Int32.cs: Using IntegerFormatter for ToString's.
9644         * Int64.cs: Using IntegerFormatter for ToString's.
9646         * UInt16.cs: Using IntegerFormatter for ToString's.
9648         * UInt32.cs: Using IntegerFormatter for ToString's.
9650         * UInt64.cs: Using IntegerFormatter for ToString's.
9652 2001-10-07  Miguel de Icaza  <miguel@ximian.com>
9654         * Exception.cs: Implement bits of serialization.
9656         * RuntimeFieldHandle.cs: Implement Serialization features.
9658         * Type.cs: Implement TypeHandle property.
9660 2001-09-28  Dick Porter  <dick@ximian.com>
9662         * LocalDataStoreSlot.cs: Implemented
9664 Tue Sep 25 19:58:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
9666         * String.cs: fix off-by-one error in Trim().
9668 Tue Sep 25 18:52:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
9670         * Type.cs: added GetType () method.
9672 Tue Sep 25 17:29:02 CEST 2001 Paolo Molaro <lupus@ximian.com>
9674         * MissingMethodException.cs, MissingMemberException.cs,
9675         MemberAccessException.cs: added.
9677 Tue Sep 25 16:46:43 CEST 2001 Paolo Molaro <lupus@ximian.com>
9679         * String.cs: don't access the string array out of bounds in
9680         LastIndexOf.  * Type.cs: fix return type of the Assembly property.
9682 Mon Sep 24 20:35:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
9684         * String.cs: make Intern and IsIntern internalcalls.
9686 2001-09-13  Dick Porter  <dick@ximian.com>
9688         * Type.cs: Added a stub for the IsValueType property.
9690         * SystemException.cs (System): Added the other constructor, so
9691         that System.Threading exceptions can inherit it.
9693 2001-09-08  Jeffrey Stedfast  <fejj@ximian.com>
9695         * String.cs (TrimStart): Don't keep looping through the trimchars
9696         once we've found a match.
9697         (TrimEnd): Same here.
9698         (Trim): And finally here.
9700 2001-09-07  Ravi Pratap  <ravi@ximian.com>
9702         * Char.cs (IsLetterOrDigit): Implement.
9703         (IsLower): Implement, but we need to be Unicode aware.
9704         (IsNumber): Implement.
9705         (IsPunctuation): Implement.
9706         (IsWhiteSpace): Implement.
9707         (ToUpper): Fix to subtract 32 from the ASCII value, not 33 :)
9708         (ToLower): Same here.
9710 2001-09-04  Miguel de Icaza  <miguel@ximian.com>
9712         * Object.cs: Shortcut, if (a == b) then return true.
9714 Fri Sep 7 18:34:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
9716         * Delegate.cs: we need a pointer to the method thunk in
9717         the delegate object.
9719 Fri Sep 7 12:28:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
9721         * AsyncCallback.cs, common.src: add AsyncCallback delegate.
9723 2001-09-06  Jeffrey Stedfast  <fejj@ximian.com>
9725         * String.cs (System): Don't mix uint and int.
9727 2001-09-04  Jeffrey Stedfast  <fejj@ximian.com>
9729         * String.cs (BoyerMoore): Modified to not use pointers and to instead
9730         use indexes.
9731         (IndexOf): Use BoyerMoore.
9733 2001-09-02  Miguel de Icaza  <miguel@ximian.com>
9735         * All over: Use the autogenerated enumerations from the ECMA
9736         documentation that Sergey wrote.
9737         
9738         * PlatformID.cs: Add Unix definition.
9740         * OperatingSystem.cs: Use Unix instead of Linux here.
9742         * MarshalByRefObject.cs: Mark class as [Serializable].
9744 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
9746         * Console.cs: impl. (write only)
9747         implemented the stdin stuff
9749         * Int32.cs: impl. real op_Equal
9751 2001-08-24  Miguel de Icaza  <miguel@ximian.com>
9753         * (common.src): Removed IAsyncResult as it is not on CVS yet.
9755         * UIntPtr.cs: Removed CLSCompliant attribute before the namespace,
9756         as it breaks the build.
9758 2001-08-23  Michael Lambert <michaellambert@email.com>
9760         * IntPtr.cs: Optimized unsafe declaration, implemented GetObjectData, 
9761         added CLSCompliant attribute
9763         * IAsyncResult.cs: Added
9765         * common.src: Added IAsyncResult.cs
9767 2001-08-23  Michael Lambert <michaellambert@email.com>
9769         * UIntPtr.cs: Added
9771         * common.src: Added UIntPtr.cs
9773 2001-08-20  Dietmar Maurer  <dietmar@ximian.com>
9775         * Attribute.cs: uncomment some code to make it compile again
9777         * mono.src: removed duplicated Attribute.cs
9779 2001-08-16  Nick Drochak <ndrochak@gol.com>
9781         * Attribute.cs: implemented all methods except GetHashCode()
9783         * common.src: added Attribute.cs so it would compile in
9785 2001-08-10  Dietmar Maurer  <dietmar@ximian.com>
9787         * Object.cs: changed MemberWiseClone to MemberwiseClone, and
9788         marked it as InternalCall
9789         
9790         * common.src: removed UriFormatException.cs because the file is
9791         not there.
9793         * RuntimeTypeHandle.cs: replaced IntrPtr with IntPtr
9794         * Char.cs: replaced byte with char
9796         * Array.cs: make it work with the mono interpreter
9798 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
9800         * Version.cs: Make the class sealed
9802 2001-08-08  Bob Smith  <bob@thestuff.net>
9804         * Random.cs: Many compile fixes.
9805         * Random.cs: I read a bad spec. Class updated to match real spec.
9807 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
9809         * IntPtr.cs: Added and Completed implementation.
9811         * Uri.cs: Add a note.
9813 2001-08-06  Bob Smith  <bob@thestuff.net>
9815         * Random.cs: Compile fix. Needs more testing.
9817 2001-08-06 Garrett Rooney <rooneg@electricjellyfish.net>
9819         * Uri.cs: Initial Implementation.  Parsing needs to be fixed to take 
9820         into account IPv6 addresses, url encoding needs to be implemented, and 
9821         various minor methods need to be written, but this is a decent start.
9823 2001-08-06  Dietmar Maurer  <dietmar@ximian.com>
9825         * common.src: added Object.cs
9827         * mono.src: added ValueType.cs
9829 2001-08-02  Dietmar Maurer  <dietmar@ximian.com>
9831         * Math.cs: replaced libc with libm
9833 2001-08-02  Bob Smith  <bob@thestuff.net>
9835         * Random.cs: Implemented. Needs testing.
9837 2001-08-02  Miguel de Icaza  <miguel@ximian.com>
9839         * IServiceProvider.cs, EventHandler.cs: New files.
9841 2001-08-02  Marcel Narings  <marcel@narings.nl>
9842         
9843         * DateTime.cs: Cleaned up a bit. Added the Add* family members.
9844         Added exceptions. Added IConvertible. Still needs some platform 
9845         dependend stuff, the Parse and ToString members
9847 2001-08-01  Dietmar Maurer  <dietmar@ximian.com>
9849         * Type.cs (GetTypeFromHandle): added placeholder 
9851 2001-07-24  Derek Holden  <dholden@draper.com>
9853         * Boolean.cs: Formatted to code style standard. Added GetTypeCode
9854         which is really an IConvertible defined method.
9856         * Byte.cs: Added a missing Parse method. Put in Parse and ToString
9857         behavior, still need to do the main Parse and ToString.
9859         * Char.cs: Added a bunch of missing ECMA methods. Commented a
9860         specification discrepency. Still didn't any unicode stuff, though
9861         every IsFoo(char c) method has an IsFoo(string, index)
9862         counterpart, added wrappers for those.
9863         
9864         * Convert.cs: Fixed NaN/Inf checking and double/float
9865         rounding. Added ToType for IConvertible classes
9867         * Double.cs: Fixed ECMA min and max values. Added IsInfinity /
9868         IsNaN methods. Changed Inf/NaN internals.
9870         * IConvertible.cs: Added comments for using
9871         Convert.ToType. Changed return values to draft base values.
9873         * Int16.cs: Added a missing Parse statement. Put in behavior for
9874         overloaded ToString and Parse methods.
9876         * Int32.cs: Added a missing Parse statement. Put in behavior for
9877         overloaded ToString and Parse methods.
9879         * Int64.cs: Added a missing Parse statement. Put in behavior for
9880         overloaded ToString and Parse methods.
9881         
9882         * Single.cs: Put in ECMA epsilon value. Added IsInfinity / IsNaN
9883         methods. Changed Inf/NaN internals.
9885         * SByte.cs: Added a missing Parse method. Put in Parse and
9886         ToString behavior, still need to do the main Parse and ToString.
9888         * UInt16.cs: Added a missing Parse statement. Put in behavior for
9889         overloaded ToString and Parse methods.
9891         * UInt32.cs: Added a missing Parse statement. Put in behavior for
9892         overloaded ToString and Parse methods.
9894         * UInt64.cs: Added a missing Parse statement. Put in behavior for
9895         overloaded ToString and Parse methods.
9896         
9897 2001-07-20  Miguel de Icaza  <miguel@ximian.com>
9899         * MulticastDelegate.cs: New File.
9901         * Delegate.cs: New file.
9903         * Enum.cs: New file.
9905         * Attribute.cs: New file.
9907         * Type.cs: New file.
9909         * ParamArrayAttribute.cs: New file.
9911         * RuntimeTypeHandle.cs: New file.
9913         * MulticastDelegate.cs: Added.
9915         * DateTime.cs: Added
9917         * Delegate.cs: Added
9919 2001-07-18  Michael Lambert <michaellambert@email.com>
9921         * AttributeTargets.cs: Add.
9923 2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>
9925         * Char.cs: Made ToUpper and ToLower public methods.
9927         * String.cs: Lots and lots of compile fixes - just need to write
9928         DateTime.cs and this should build completely now.
9930 2001-07-19  Bob Smith (bob@thestuff.net)
9932         * Math.cs: Implemented. 
9934 2001-07-19  Miguel de Icaza  <miguel@ximian.com>
9936         * String.cs: Removed tolower and toupper.
9938         * Char.cs: Moved ToLower and ToUpper from string to here. 
9940         * Convert.cs ToByte (float value), ToByte (double value) Use IsNan
9941         instead of comparing the value to Nan.
9943 2001-07-19  Duco Fijma (duco@lorentz.xs4all.nl)
9945         * TimeSpan.cs: New implementation.
9947 2001-07-18  Scott Sanders <scott@stonecobra.com>
9949          * UriFormatExcpetion.cs: Add - 85% complete
9951 2001-07-17  Jeffrey Stedfast  <fejj@ximian.com>
9953         * String.cs (IndexOf): Slight optimization that allows skipping
9954         over a few chars here and there. This isn't as good as using my
9955         Boyer-Moore implementation, however, Boyer-Moore is only really
9956         good for long strings (I plan on making the code decide which
9957         string search algorithm it should use on-the-fly at some point).
9958         (LastIndexOf): Fix to work correctly.
9959         (BoyerMoore): Took out some unneeded code and fixed an edge-case.
9961 2001-07-16  Michael Lambert <michaellambert@email.com>
9963         * EventArgs.cs: Add.
9964         
9965 2001-07-16  Miguel de Icaza  <miguel@ximian.com>
9967         * Version.cs: Remove my buggy comment.
9969 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
9971         * String.cs: Spelling error of IComparable, object's
9972         MemberwiseClone cannot be overridden.  Made indexer valid for now,
9973         but not sure what to do about this in the long run.  Seems to be a
9974         couple bugs in csc.exe having to do with multiple pointer defs in
9975         the same statement, and returning subclasses of a class in the
9976         return type of an interface function implementation.  Also moved
9977         operators inside of class definition.
9979 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
9981         * String.cs: A tom of compile fixes, although we still don't compile.
9983         * IConvertible.cs: The To*Int64() methods return *Int64's, not
9984         *Int32's. Also, it's ToDateTime() not ToDateType().
9986 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
9988         * String.cs: Apparently I needed to at least write stubs for the
9989         IConvertible interfaces. *sigh*
9991 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
9993         * String.cs: Many logic/other fixes and better usage of the
9994         features of c#
9995         (tolower): New convenience method to help condense code.
9996         (toupper): Another new helper method.
9997         (Compare): Use the new helper methods.
9998         (ToLower): use tolower().
9999         (ToUpper): use toupper().
10000         (LastIndexOfAny): Implemented.
10001         (BoyerMoore): New private helper method that implements a modified
10002         version of the Boyer-Moore search algorithm. Noothing uses it yet
10003         as I'm not 100% sure it even works properly with unicode strings
10004         not to mention it uses a huge lookup-table :-)
10005         (Split): Implemented.
10007 2001-07-13  Jeffrey Stedfast  <fejj@ximian.com>
10009         * TODO: Added things that need to be finished in System.String
10011         * String.cs: New source file implementing the System.String class
10013 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
10015         * TypeCode.cs: UInt64 was UInt63.
10017         * Object.cs: Fixed a numer of compiler errors.
10019         * Array.cs: Fixed some compiler errors.
10021         * IComparable.cs: Fixed some compiler errors.
10023         * ICloneable.cs: Fixed some compiler errors.
10025         * IConvertible.cs: Fixed some compiler errors.
10027         * IFormattable.cs: Fixed a compiler error.
10029         * IFormatProvider.cs: Fixed a compiler error.
10031         * IDisposable.cs: Fixed a compiler error.
10033         * IFormatProvider.cs: Added public accesability type to
10034         IFormatProvider.
10036         * Exception.cs: Added a using statement to remove compile time
10037         error.
10039         * ApplicationException.cs: Removed a ; that was causing a compiler
10040         error.
10042         * Int16.cs: Fixed some compiler errors.
10044         * Int32.cs: Fixed some compiler errors.
10046         * Int64.cs: Fixed some compiler errors.
10048         * SystemException.cs: Fixed a compiler error.
10050         * UInt16.cs: Fixed some compiler errors.
10052         * UInt32.cs: Fixed some compiler errors.
10054         * UInt64.cs: Fixed some compiler errors.
10056         * Void.cs: Fixed a compiler error.      
10058 2001-07-12  Joe Shaw  <joe@ximian.com>
10060         * Array.cs: Fix backwards parameters to Array.SetValue()
10061         throughout.
10062         (BinarySearch): Fix backward logic surrounding whether to call
10063         value.CompareTo or comparer.Compare.
10064         (LastIndexOf): Stop being stupid. I am so not used to strongly
10065         bounded arrays...
10066         (Sort): Implement a quicksort.
10068 2001-07-11  Joe Shaw  <joe@ximian.com>
10070         * Array.cs: Change all instances of trying to access an array with
10071         the index operator to calls to GetValue and SetValue, and add
10072         InternalGetValue and InternalSetValue which are internal calls
10073         into the runtime. Ew.
10075 2001-07-10  Joe Shaw  <joe@ximian.com>
10077         * Array.cs: Implemented everything but Sort().
10079 2001-07-09  Jeffrey Stedfast  <fejj@ximian.com>
10081         * Object.cs (Object::Equals): Object variable name is `o'.
10083 2001-07-06  Joe Shaw  <joe@ximian.com>
10085         * Int16.cs, Int32.cs, Int64.cs, UInt16.cs, UInt32.cs, UInt64.cs:
10086         Implement the IComparable and IFormattable interfaces. Fix a typo
10087         (publig -> public)
10089         * ApplicationException.cs, ArgumentException.cs,
10090         ArgumentNullException.cs, ArgumentOutOfRangeException.cs,
10091         ArtithmeticException.cs, ArrayTypeMismatchException.cs,
10092         DivideByZeroException.cs, DuplicateWaitObjectException.cs,
10093         ExecutionEngineException.cs, FormatException.cs,
10094         IndexOutOfRangeException.cs, InvalidCastException.cs,
10095         InvalidOperationException.cs, InvalidProgramException.cs,
10096         MulticateNotSupportedException.cs, NotFiniteNumberException.cs,
10097         NotSupportedException.cs, NullReferenceException.cs,
10098         OutOfMemoryException.cs, OverflowException.cs, RankException.cs,
10099         StackOverflowException.cs, SystemException.cs,
10100         TypeInitializationException.cs: Added all of the exceptions
10101         specified by the language spec. Mmmm... bloat.
10103 2001-07-06  Miguel de Icaza  <miguel@ximian.com>
10105         * Int64.cs, Int32.cs: Put.  Parsing and ToString missing.  Should
10106         do a generic routine all of these guys use.
10108         * Int16.cs: identified missing methods.
10110         * UInt16.cs, UInt32.cs, UInt64.cs: Add.
10112 2001-06-26  Miguel de Icaza  <miguel@ximian.com>
10114         * TypeCode.cs: Implement
10116         * Void.cs: Implement.
10118         * TODO: Add file to keep track of pending tasks.
10120         * Object.cs, ValueType.cs: Implement.