2010-05-27 Jb Evain <jbevain@novell.com>
[mcs.git] / class / corlib / System / ChangeLog
blobbb4c3f3d4414a46f3675bed15cdabcdf4942fc7b
1 2010-05-27  Jb Evain  <jbevain@novell.com>
3         * AppDomain.cs (DefineDynamicAssembly): add new net_4_0 overloads.
5 2010-05-17  Atsushi Enomoto  <atsushi@ximian.com>
7         * Enum.cs : TryParse() should raise ArgumentException when the
8           type parameter is not an enum. Fixed bug #604134
10 2010-05-11 Rodrigo Kumpera  <rkumpera@novell.com>
12         * GC.cs: Add EPHEMERON_TOMBSTONE reandonly variable.
14 2010-05-06 Rodrigo Kumpera  <rkumpera@novell.com>
16         * GC.cs: Add new register_ephemeron_array icall.
18 2010-04-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
20         * TimeSpan.cs: Support custom formats in ToString().
22 2010-04-23  Rolf Bjarne Kvinge  <RKvinge@novell.com>
24         * Lazy.cs: Include in Moonlight build.
26 2010-04-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
28         * TimeSpan.cs: The final 4.0 release removed the restriction of
29         preceding zeroes when parsing, and it also added 't' and 'T' as valid
30         formats equivalent to 'c' (default).
32 2010-04-16 Rodrigo Kumpera  <rkumpera@novell.com>
34         * MonoType.cs (GetInterface): Compare against the name
35         of the generic type definition.
37         Fixes #484246.
39 2010-04-16 Rodrigo Kumpera  <rkumpera@novell.com>
41         * MonoCustomAttrs.cs (GetBasePropertyDefinition): Use
42         GetBaseMethod instead of GetMethodDefinition otherwise
43         we skip intermediate overloads.
45         Fixes #499569.
47 2010-04-16  Sebastien Pouliot  <sebastien@ximian.com>
49         * Environment.cs: Ensure elevated trust when calling
50         GetFolderPath on Moonlight
52 2010-04-16  Sebastien Pouliot  <sebastien@ximian.com>
54         * Action.cs: SL4 moved some Action in mscorlib
55         * Funcs.cs: SL4 moved some Func<> in mscorlib
56         * String.cs: Make IsNullOrWhiteSpace available, internally, 
57         before NET_4_0 (or SL4) since it's proving useful.
59 2010-04-15  Jb Evain  <jbevain@novell.com>
61         * Guid.cs: rework the Guid parser to implement the net_4_0
62         [Try]ParseExact methods.
64 2010-04-15  Jérémie Laval  <jeremie.laval@gmail.com>
66         * Tuple.cs:
67         * Tuples.cs: Add BOOTSTRAP_NET_4_0 define
69 2010-04-13 Rodrigo Kumpera  <rkumpera@novell.com>
71         * MonoCustomAttrs.cs: Raise an exception if the runtime
72         returned a null cattr.
74 2010-04-13  Zoltan Varga  <vargaz@gmail.com>
76         * Convert.cs (ToInt32): Do a checked cast. Fixes #596339.
78 2010-04-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
80         * TimeSpan.cs: Implement support for custom formats parsing. This
81         should as well include the bits required to easily implement the same
82         for ToString methods, when the final release fixes the mess we found
83         in the latest beta.
85 2010-04-08 Rodrigo Kumpera  <rkumpera@novell.com>
87         * Type.cs: Add ResolveInternal virtual call that
88         resolves a given type to it's concrete type.
90 2010-03-07 Rodrigo Kumpera  <rkumpera@novell.com>
92         * Enum.cs (GetInfo): Don't use isinst tests as they can
93         return true for both signed and unsigned version of a
94         primitive type.
96         * Enum.cs (FindPosition): Ditto.
98 2010-04-06  Marek Safar  <marek.safar@gmail.com>
100         * Array.cs: Don't make read-only collection read-only.
102 2010-03-31  Miguel de Icaza  <miguel@novell.com>
104         * UInt32.cs, Int64.cs, UInt64.cs: cope with the case that the
105         IFormatProvider is not a NumberFormatInfo, preventing a crash.
106         This was already handled by Int32.cs, but these other routines
107         were never properly updated. 
109         Fixes #588356
111         * DateTimeOffset.cs: Add support for format K in DateTimeOffset,
112         fixes bug 589227.
114         * DateTime.cs: Add serialization support, fixes #588198.
116         Perhaps we should change the format as well since this is the new
117         format serialized anyways (see bug 592221, it saves 4 bytes of
118         memory as well)
120 2010-03-30  Sebastien Pouliot  <sebastien@ximian.com>
122         * InvalidTimeZoneException.cs
123         * TimeZoneNotFoundException.cs:
124                 Fix Moonlight since these types now reside in mscorlib
125                 (instead of System.Core) for NET_4_0 and also for SL4
127 2010-03-30  Jb Evain  <jbevain@novell.com>
129         * MonoType.cs: let the binder reorder arguments when invoking
130         params methods.
131         * Activator.cs (CreateInstance): use BindToMethod instead of
132         SelectMethod to make sure that params constructors are properly called.
134         Fixes #591877
136 2010-03-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
138         * TimeSpan.cs: Implement all the overloads of both TryParseExact and
139         ParseExact methods, by detecting the specific semantic changes in the
140         parse process, so we can properly re-utilize our new approach. This
141         included indicating our parser its culture sensitiveness, usage of colon as
142         day separator fallback or as a precise separator, and other minor bits.
143         We are only missing composite parsing right now.
145 2010-03-29  Sebastien Pouliot  <sebastien@ximian.com>
147         * AppDomainSetup.cs: Add new (FX4 and SL4) SetCompatibilitySwitches
148         method (empty is good enough for moonlight testing)
149         * Environment.cs: Expose MyVideos in Moonlight build
151 2010-03-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
153         * TimeSpan.cs: We always give higher precedence to the first found
154         error, but for versions before 4.0 we need to give a higher one to
155         per-element overflow *specifically* (as opposed to int32 overflow,
156         which remains the same). This is not needed for 4.0, so report
157         per-element overflow as a normal error. 
158         This should fix a compatibility case, as well as simplifying the code.
160 2010-03-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
162         * MonoAsyncCall.cs: remove unused field.
163         * Delegate.cs: add new IsTransparentProxy property.
164         * MulticastDelegate.cs: add new HasSingleTarget property.
165         * Environment.cs: bump up corlib version.
167 2010-03-25  Sebastien Pouliot  <sebastien@ximian.com>
169         * AppDomain.cs: Add new properties that are in both FX4 and SL4
170         since Moonlight needs them (for testing purpose).
171         * Environment.cs: FailFast overloads are present in SL4 (and also
172         needed for testing Moonlight)
174 2010-03-24  Sebastien Pouliot  <sebastien@ximian.com>
176         * AppDomain.cs: Change default value from null to false for new
177         (NET_4_0 and SL4) IsCompatibilitySwitchSet. Not sure when (or even
178         if) it can return null (at least not when testing SL4 RC). 
179         Fix DRT198
181 2010-03-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
183         * TimeSpan.cs: When parsing ticks, we used to only parse
184         the first 7 digits, and more than that would cause a FormatException -
185         starting in 4.0 we need to throw an OverflowException, however. Also,
186         for hours/minutes/seconds, two or more preceding zeroes will cause an
187         OverflowException as well.
189 2010-03-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
191         * TimeSpan.cs: Create a new Parser.Execute method for 4.0 -and use the
192         previous impl for 2.0-, to handle the new semantics gracefully -
193         specifically the new 'dd:hh:mm:ss' format and related bits, instead of
194         of a ton of #ifdef blocks. Remove any 4.0 bits from the previous
195         version as well, to keep it clean.
197 2010-03-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
199         * TimeSpan.cs: Move the error detection code to a separate method.
200         This way depending on the version we decide what error takes
201         precedence: OverlowException in 2.0, and FormatException in 4.0. This
202         also lets us keep the Execute() code cleaner and easier to understand.
204 2010-03-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
206         * TimeSpan.cs: Put the error info in a single field, to make it easier
207         to preserve the very first error we get while parsing, and discard the
208         next ones. This will help us in a pair of cases where we were
209         overriding the previous error and reporting the wrong exception.
211 2010-03-17  Sebastien Pouliot  <sebastien@ximian.com>
213         * String.cs: SL4 includes new IsNullOrWhiteSpace and Concat/Join 
214         overloads.
216 2010-03-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
218         * TimeSpan.cs: TimeSpan is actually implementing IFormattable.
220 2010-03-17  Rolf Bjarne Kvinge  <RKvinge@novell.com>
222         * AppDomain.cs: Added MonoTODO for IsCompatibilitySwitchSet.
224 2010-03-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
226         * TimeSpan.cs: In 4.0 the Parse/TryParse methods always try to use its
227         associated CultureInfo.NumberFormat.NumberDecimalSeparator value, as well as
228         providing backwards compatibility by also supporting '.' as the
229         separator.
231 2010-03-16  Jb Evain  <jbevain@novell.com>
233         * AppDomainSetup.cs
234         * Tuple.cs
235         * ChangeLog
236         * Exception.cs
237         * String.cs
238         * Console.cs
239         * Tuples.cs
240         * Activator.cs
241         * AppDomain.cs:
242                 Use MOONLIGHT symbol to disambiguate MonoTouch and Moonlight code.
244 2010-03-16  Rolf Bjarne Kvinge  <RKvinge@novell.com>
246         * Enum.cs: Added a few 4.0 api to Moonlight.
248 2010-03-16  Rolf Bjarne Kvinge  <RKvinge@novell.com>
250         * AppDomain.cs: Added IsCompatibilitySwitchSet for .NET 4.0 and Moonlight.
252 2010-03-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
254         * TimeSpan.cs: In 4.0 if the part parsed as days exceeds the allowed
255         range -this is, 23-, then it is processed as days instead - opposed to
256         2.0, where we are throwing an OverflowException.
258 2010-03-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
260         * TimeSpan.cs: Make the colon parsing optional -and adjust the name to
261         reflect it-, so we can properly parse the case where we only have the
262         hours and minutes. This subtle bug was hidden before, since a string
263         such "10:12" would be parsed correctly, but "10:12  " (trailing white
264         space) was getting a FormatException.
266 2010-03-12  Sebastien Pouliot  <sebastien@ximian.com>
268         * Tuple.cs, Tuples.cs: Add them to NET_2_1 since they are parts
269         of SL4
271 2010-03-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
273         * TimeSpan.cs: Implement 4.0 overloads of TryParse/Parse.
275 2010-03-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
277         * TimeSpan.cs: Implement 4.0 ToString overloads.
279 2010-03-06 Rodrigo Kumpera  <rkumpera@novell.com>
281         * UIntPtr.cs: Remove some v4 custom attributes that were
282         on Beta2 but aren't there on RC.
284 2010-03-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
286         * TimeSpan.cs: Implement correctly the TryParse method, instead of
287         using a try/catch block.
289 2010-03-04 Rodrigo Kumpera  <rkumpera@novell.com>
291         * Type.cs : Fix for bug #574696: don't recurse into base types in GetMember when
292         getting properties.
293         Patch by Eberhard Beilharz <eb1@sil.org>
295 2010-03-03  Miguel de Icaza  <miguel@novell.com>
297         * Decimal.cs: Disable the fast double2decimal code, and go back to
298         string parsing as there is a rounding/precision bug.
300                 //
301                 // We cant use the double2decimal method
302                 // because it incorrectly turns the floating point
303                 // value 1.23456789E-25F which should be:
304                 //    0.0000000000000000000000001235
305                 // into the incorrect:
306                 //   0.0000000000000000000000001234
307                 //
308                 //    The code currently parses the double value 0.6 as
309                 //    0.600000000000000
310                 //
311                 // And we have a patch for that called (trim
313 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
315         * Type.cs (Equals): Better version that does less
316         trips to runtime land.
318 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
320         * MonoType.cs: Add v4 security properties.
322 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
324         * Type.cs: Add v4 security properties.
326 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
328         * Type.cs: Fix identation.
330 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
332         * Activator.cs: : Implement new v4 overloads and [Obsolete].
334 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
336         * AppDomain.cs: Add bunch of trivial overloads.
338 2010-03-01 Rodrigo Kumpera  <rkumpera@novell.com>
340         * TypeSpec.cs: New file. Managed code implementation of type name
341         parsing.
343         * Type.cs: Implement new v4 overloads of GetType.
345 2010-03-01  Zoltan Varga  <vargaz@gmail.com>
347         * Array.cs (CreateArray): Disallow creation of arrays of unfinished types.
349 2010-03-01  Miguel de Icaza  <miguel@novell.com>
351         * DateTime.cs (DoParse): patch from Tom Philpot, while using
352         TryParse if s is null, we should return false, not crash.
354 2010-02-28 Rodrigo Kumpera  <rkumpera@novell.com>
356         * Type.cs: Forgot a pair of #if NET_4_0.
358 2010-02-28  Miguel de Icaza  <miguel@novell.com>
360         * Decimal.cs: If the NumberFormatInfo is broken and contains the
361         same character for grouping than is used for decimals, the decimal
362         separator gets a priority.  This issue was exposed by the
363         Silverlight Test suite.
365         Allow null trailing characters when parsing, this is valid in
366         .NET: "5\0" and "5\0\0\0\0", but "5\05" is not.
368         * Decimal.cs: Enabling the unmanaged double to decimal and float
369         to decimal conversions code again as I am unable to find any
370         regressions in corlib, System.Data, the Silverlight test suite or
371         Rotor's test suite.
373         I am enabling it hoping that we can find the original problem that
374         lead us to use the slow path.
376 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
378         * AggregateException.cs: Fix ctor vibility.
380         * Type.cs: IsEnum and IsSerializable are virtual
381         properties now.
383         * Tuple.cs: Fix Tuple'8 Create method.
385 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
387         * UIntPtr.cs: Add some v4 custom attributes.
389 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
391         * Float.cs: New v4 operators.
393 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
395         * IntPtr.cs: Add some v4 custom attributes.
397 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
399         * Double.cs: New v4 operators.
401 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
403         * Type.cs: Make cor-compare happy.
405 2010-02-26 Rodrigo Kumpera  <rkumpera@novell.com>
407         * Lazy.cs: Implement all lazy modes.
409 2010-02-26 Rodrigo Kumpera  <rkumpera@novell.com>
411         * ExecutionEngineException.cs: Type is obsolete.
413 2010-02-26 Rodrigo Kumpera  <rkumpera@novell.com>
415         * Type.cs: Implement new v4 IsEnumDefined ().
417 2010-02-24 Rodrigo Kumpera  <rkumpera@novell.com>
419         * Type.cs: Implement new v4 GetEnumValue ().
421 2010-02-24 Rodrigo Kumpera  <rkumpera@novell.com>
423         * Type.cs: Implement new v4 GetEnumValues ().
425         * MonoType.cs: Ditto.
427 2010-02-23 Rodrigo Kumpera  <rkumpera@novell.com>
429         * Type.cs: Use the right kind of annotations.
431 2010-02-23 Rodrigo Kumpera  <rkumpera@novell.com>
433         * Type.cs:  Implement new v4 GetEnumNames ().
435 2010-02-22 Rodrigo Kumpera  <rkumpera@novell.com>
437         * Type.cs:  Implement new v4 GetEnumUnderlyingType ().
439 2010-02-22 Rodrigo Kumpera  <rkumpera@novell.com>
441         * Type.cs: Implement new v4 GetTypeCodeImpl ().
443 2010-02-19 Rodrigo Kumpera  <rkumpera@novell.com>
445         * Type.cs: Implement new v4 behavior for Equals.
446         
447 Fri Feb 19 09:05:36 CET 2010 Paolo Molaro <lupus@ximian.com>
449         * Decimal.cs: fixed Remainder (bug #576341).
451 2010-02-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
453         * Environment.cs: implement SystemPageSize.
455 Fri Feb 12 18:38:01 CET 2010 Paolo Molaro <lupus@ximian.com>
457         * InsufficientExecutionStackException.cs: new exception type in 4.0.
459 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
461         * MonoType.cs: Implement GetCustomAttributesData.
463 2010-02-06  Chris Toshok  <toshok@ximian.com>
465         * AppDomain.cs (SetupInformationNoCopy): make this internal for
466         moonlight.
468 2010-02-02  Jérémie Laval  <jeremie.laval@gmail.com>
470         * AggregateException.cs:
471         * OperationCanceledException.cs: Port to .NET 4 beta 2 API
473 2010-01-31  Zoltan Varga  <vargaz@gmail.com>
475         * Enum.cs: Fix a warning.
477 2010-01-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
479         * Version.cs: Implement Parse and TryParse.
481 2010-01-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
483         * AppDomain.cs: LoadSatellite: add a boolean parameter specifiying
484         whether we should throw on exceptions or not.
486 2010-01-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
488         * TimeSpan.cs: TryParse: Handle null values to not throw ANEs.
490 2010-01-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
492         * Array.cs: updates to the API from beta2.
493         * _AppDomain.cs: no GetLifeTimeService() in 4.0
495 2010-01-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
497         * Enum.cs: Implement TryParse and do the required refactoring of our
498         Parse method to support it.
500 2010-01-25  Atsushi Enomoto  <atsushi@ximian.com>
502         * Single.cs : parse MaxValue and PositiveInfinity as expected.
503           Patch by Tiaan Geldenhuys.
505 2010-01-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
507         * Activator.cs: When calling CreateInstance() and no default .ctor is
508         found for the type, don't pass the member argument to the
509         MissingMethodException, to have a better and simpler error message.
510         Fixes #396986.
512 2010-01-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
514         * Tuples.cs: explicitly implement IStructural*.
516 2010-01-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
518         * UInt64.cs: Implement a lightweight version of the Parse method for
519         the overload that does not take IFormatProvider/NumberStyle
520         parameters - this gets us a nice speed up, just like we do for the
521         other number types.
522         Fixes #338022.
524 2010-01-15 Rodrigo Kumpera  <rkumpera@novell.com>
526         * Array.cs: Implement IStructuralComparer.
528 2010-01-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
530         * Int32.cs: In Parse() cast the parsed value to long *before* changing
531         its sign - this way we preserve the original value, instead of
532         accidentally changing it. This was happening parsing _exactly_
533         MaxValue + 1.
534         Fixes #475815.
536 2010-01-15  Atsushi Enomoto  <atsushi@ximian.com>
538         * DateTime.cs : In AddMilliseconds(), it seems fractional
539           milliseconds are first rounded and then added.
541 2010-01-15  Atsushi Enomoto  <atsushi@ximian.com>
543         * DateTimeOffset.cs : preserve fractions (it is somehow dropped).
545 2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
547         * Double.cs : no need to preserve old code.
549 2010-01-12  Atsushi Enomoto  <atsushi@ximian.com>
551         * Double.cs : AllowLeading/TrailingWhite should also check those
552           surrounding string constants such as "NaN".
554 2010-01-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
556         * Int32.cs: Implement support for exponent in the Parse methods.
557         Fixes #542464.
559 2010-01-10  Zoltan Varga  <vargaz@gmail.com>
561         * GC.cs: Add stubs for new net 4.0 methods.
563 2010-01-07  Jb Evain  <jbevain@novell.com>
565         * MonoType.cs (.MemberType): return the proper member type
566         for generic parameters.
568 2010-01-07  Sebastien Pouliot  <sebastien@ximian.com>
570         * Convert.cs: Fix line endings in ToBase64String (bug #568778)
571         and also the default line length. Code changed to not require
572         a BinaryReader over a MemoryStream to reduce memory requirements.
574 2010-01-07  Zoltan Varga  <vargaz@gmail.com>
576         * TermInfoDriver.cs (GetCursorPosition): Avoid waiting 1 sec here.
578 2010-01-03  Zoltan Varga  <vargaz@gmail.com>
580         * Array.cs: Fix ArrayReadOnlyList.CopyTo. Fixes #564095.
582 2010-01-03  Zoltan Varga  <vargaz@gmail.com>
584         * DateTime.cs (TryParseExact): Handle exceptions. Fixes #567857.
586 2009-12-21  Marek Habersack  <mhabersack@novell.com>
588         * Int32.cs: treat terminating null as whitespace
590 2009-12-19  Zoltan Varga  <vargaz@gmail.com>
592         * String.cs: Fix the various IndexOf and LastIndexOf methods so they handle
593         "" and a non-zero startIndex correctly. Fixes #566106.
595 2009-12-17  Sebastien Pouliot  <sebastien@ximian.com>
597         * String.cs: Fix #565602 right-padding empty strings.
599 2009-12-15  Marek Safar  <marek.safar@gmail.com>
601         * Array.cs: Optimize sort operations on all primitive types.
603 2009-12-14 Rodrigo Kumpera  <rkumpera@novell.com>
605         Type.cs (IsCompilerContext): The default implementation now checks if the
606         type's assembly is under compiler context or not.
608 2009-12-12 Rodrigo Kumpera  <rkumpera@novell.com>
610         * Environment.cs: Bump corlib version.
612 2009-12-12 Rodrigo Kumpera  <rkumpera@novell.com>
614         * MonoType.cs: Make the GetConstructorImpl machinery available
615         to be used by others.
617         * Type.cs (MakeGenericType): Is any of the arguments is not a system
618         type create an instance of MonoGenericClass instead. 
620 2009-12-09  Jb Evain  <jbevain@novell.com>
622         * StringComparer.cs (GetHashCode): properly throw
623         an ANE instead of an NRE.
625 2009-12-09  Miguel de Icaza  <miguel@novell.com>
627         * Enum.cs: Add new .NET 4.0 API.
629 2009-12-08  Marek Habersack  <mhabersack@novell.com>
631         * Type.cs: added overloads for the == and != operators (4.0).
633 2009-12-08 Rodrigo Kumpera  <rkumpera@novell.com>
635         * Type.cs: Add virtual property IsCompilerContext to cleanup
636         compiler context resolution across SRE.
638 2009-12-05  Mark Probst  <mark.probst@gmail.com>
640         * String.cs: A new LOS_limit variable which gives the maximum
641         string length that's not put in the LOS.
643         * StringBuilder.cs: Copy the string also if it's in the LOS and
644         chopping it would bring its size below the LOS limit.
646         * Environment.cs: Bump corlib version.
648 2009-12-03  Stephane Delcroix  <stephane@delcroix.org>
650         * DateTimeOffset.cs: fix dates arithmetic to avoid throwing
651         while crossing dst boundaries.
653 2009-12-03  Jb Evain  <jbevain@novell.com>
655         * Attribute.cs: remove code duplication.
657 2009-12-02  Jb Evain  <jbevain@novell.com>
659         * Enum.cs (IConvertible.ToType): properly convert enum values
660         to strings instead of their numeric value.
662 2009-12-02  Jb Evain  <jbevain@novell.com>
664         * Environment.cs (mono_corlib_version): bump.
665         * Attribute.cs: when retrieving custom attributes defined
666         on parameters belonging to a virtual method, walk
667         the inheritance chain to check for parameters attributes
668         all the way down.
670 2009-12-01  Jb Evain  <jbevain@novell.com>
672         * Type.cs (MakeByRefType): throw a TypeLoadException when being
673         called on type which is already ByRef.
675 2009-11-26  Sebastien Pouliot  <sebastien@ximian.com>
677         * Random.cs: Fix case where the diff between min and max
678         is very large in Next(int,int). Fix bug #558593
680 2009-11-25  Zoltan Varga  <vargaz@gmail.com>
682         * Delegate.cs (GetHashCode): Fix this so it is constant.
684 2009-11-24  Jb Evain  <jbevain@novell.com>
686         * Array.cs: use ContainsGenericParameters instead of
687         IsGenericTypeDefinition as it catches more cases.
689 2009-11-24  Jb Evain  <jbevain@novell.com>
691         * Array.cs (IList.this[int]): prevent the use of the IList indexer 
692         when dealing with a multi dimensional array.
694 2009-11-24  Jb Evain  <jbevain@novell.com>
696         * Array.cs (Clear): throw an IndexOutOfRangeException instead
697         of an ArgumentOutRangeException for a negative length.
699 2009-11-24  Jb Evain  <jbevain@novell.com>
701         * Array.cs (CreateInstance): do not allow open generic types.
703 2009-11-24  Jb Evain <jbevain@novell.com>
705         * Array.cs (CreateInstance): do not allow void arrays.
707 2009-11-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
709         * Array.cs: When sorting and we are sorting value types implementing
710         IComparable<T>, use its corresponding Comparer<T>.Default helper. 
711         This way we avoid casting our values to IComparable<T>, and thus we 
712         avoid *all* the boxing for them. Using Comparer<T>.Default seems to be
713         slower for reference types, so we don't use it for those ones.
715 2009-11-22  Miguel de Icaza  <miguel@novell.com>
717         * Environment (IsUnix): expose this common property, so we avoid
718         duplicating code. 
720 2009-11-18  Marek Safar  <marek.safar@gmail.com>
722         * Type.cs: Use faster string comparers.
724 2009-11-17  Atsushi Enomoto  <atsushi@ximian.com>
726         * DateTimeOffset.cs : fix parse failure on missing colon.
727           Fixed bug #547675, patch by Santa Marta (see bugzilla).
729 2009-11-13  Marek Safar  <marek.safar@gmail.com>
731         * Lazy.cs: Check recursive initializations.
733 2009-11-11 Rodrigo Kumpera  <rkumpera@novell.com>
735         * Type.cs: Fix Make(Array|ByRef|Pointer)Type to not crash
736         with user types. 
738         * Type.cs (MakeGenericType): Don't crash with user types.
740         * Type.cs (GetGenericParameterConstraints): Don't crash with user types.
742         * Type.cs (GenericParameterAttributes): Don't crash with user types.
744         * Type.cs (IsInstanceOfType): Don't crash with user types.
746         * Type.cs (IsAssignableFrom): Better handle User Types.
748         * Type.cs (GetInterfaceMap): Don't crash with user types.
750         * Type.cs (Equals): Fix behavior to be more MS compatible.
752 2009-11-11  Sebastien Pouliot  <sebastien@ximian.com>
754         * Console.cs: Reduce duplication between OpenStandard[Input|
755         Output|Error] and, for Moonlight, don't return a NullStream if
756         security is disabled (e.g. when smcs executes) r: alan
757         Note: include changes from r145773 (2-6) from toshok
759 2009-11-10  Miguel de Icaza  <miguel@novell.com>
761         * Lazy.cs: Updated API to 4.0 Beta 2
763 2009-11-08  Juraj Skripsky  <js@hotfeet.ch>
765         * Array.cs (Sort):
766         - Sort(..) without IComparer param call Sort(.., (IComparer)null) siblings
767         - Sort(keys, items,..) with items == null call Sort(keys,..) siblings
768         Add missing argument checks. Add SortImpl method to be used by
769         List<T>.Sort(Comparison <T>).
771         Part 3 of 3 fixing bug #351638.
773 2009-11-08  Juraj Skripsky  <js@hotfeet.ch>
775         * Array.cs (Sort): Add and call
776         - SortImpl methods which do the real work without argument checking
777         - MoveNullKeysToFront methods which do a null <-> non-null sorting and
778         ensure that all non-null object implement IComparable/IComparable<T>
780         Part 2 of 3 fixing bug #351638.
782 2009-11-08  Juraj Skripsky  <js@hotfeet.ch>
784         * Array.cs (Sort): optimize qsort by employing multiple, faster copies
785         of the inner-most loops:
786         - for case "comparer != null"
787         - for case "pivot is IComparable<T>"
788         - for case "pivot is IComparable"
789         Remove compare methods as the inner loops now do their work.
790         Use GetValueImpl instead of GetValue in swap.
792         Part 1 of 3 fixing bug #351638.
794 2009-11-03  Miguel de Icaza  <miguel@novell.com>
796         * TermInfoDriver.cs (CheckWindowDimensions) Avoid extra checks, as
797         the condition was always checked previously.
799         (WriteSpecialKey): Actually write the tab character.
800         
801 2009-11-02  Miguel de Icaza  <miguel@novell.com>
803         * More NET_2_0 define removal, assume that it is now always true. 
805 2009-10-30  Sebastien Pouliot  <sebastien@ximian.com>
807         * MonoType.cs: Don't pass null value to icalls 
808         GetCorrespondingInflated[Constructor|Method]
810 2009-10-28  Lluis Sanchez Gual  <lluis@novell.com>
812         * MarshalByRefObject.cs: In InitializeLifetimeService, if a lease
813         exists for the object return it, instead of always creating
814         a new one. Fixes bug #544357.
816 2009-10-27  Sebastien Pouliot  <sebastien@ximian.com>
818         * String.cs: Remove unused (and unneeded) internal call defs.
819         Reduce duplication (and fix test) for Concat (object,object).
820         Avoid allocating zero-length strings in the cases where the
821         FX does not do so.
823 2009-10-22  Miguel de Icaza  <miguel@novell.com>
825         *  String.cs (IsNullOrWhiteSpace, Concat, Join): New 4.0 methods. 
827         * IntPtr.cs (Add, Subtract): New 4.0 methods.
829         * Tuple.cs: Updated signature.
831 2009-10-19  Marek Safar  <marek.safar@gmail.com>
833         * IObservable.cs, IObserver.cs: New files.
834         
835         * EventHandler.cs: Cleanup.
837 2009-10-16  Miguel de Icaza  <miguel@novell.com>
839         * Jumbo patch to drop support for pre-NET_2_0 code:
841         Remove ONLY_1_1 code
842         Remove NET_1_0 only code
843         Remove NET_2_0 defines assuming the value is true.
845         Improve one MonoTODO;   Implement one MonoTODO/Niex.
847         Ran a textual diff on the resulting assembly to validate that the
848         restul is the same on NET_2_0
850 2009-10-14  Jonathan Pryor  <jpryor@novell.com>
852         * AppDomain.cs: Re-add BaseDirectory in the MonoTouch profile.
854 2009-10-14  Sebastien Pouliot  <sebastien@ximian.com>
856         * Exception.cs: Use StackFrame.GetSecureFileName to display (or 
857         not) the file names (and paths). Don't serialize Source for
858         Moonlight.
859         * ValueType.cs: Change InternalEquals (icall) visibility to 
860         private since it is not used elsewhere outside the type.
862 2009-10-08  Sebastien Pouliot  <sebastien@ximian.com>
864         * AppDomain.cs: Remove NET_2_1 specific DefineDynamicAssembly(
865         AssemblyName,AssemblyBuilderAccess,bool) since it is not part
866         of SL. Provide a ToString implementation similar to Silverlight
867         for Moonlight (and without directly using an icall)
869 2009-10-07  Sebastien Pouliot  <sebastien@ximian.com>
871         * String.cs: Remove unsafe code duplication in ToCharArray.
872         Define out the unused InternalStrcpy icalls
873         * StringComparer.cs: Seal internal/private inner classes.
875 2009-10-06  Sebastien Pouliot  <sebastien@ximian.com>
877         * Decimal.cs: Use Compare method instead of directly using the
878         decimalCompare internal call.
880 2009-10-06  Sebastien Pouliot  <sebastien@ximian.com> 
882         * Enum.cs: Add an internal Value property as a single point to 
883         call the internal call get_value.
885 2009-10-06  Sebastien Pouliot  <sebastien@ximian.com>
887         * String.cs: Remove normalization methods for Moonlight
889 2009-10-06  Jonathan Chambers  <joncham@gmail.com>
891         * String.cs (Contains): Use CompareOptions.Ordinal. Fixes bug
892         #535425.
894 2009-10-04  Mark Probst  <mark.probst@gmail.com>
896         * AppDomain.cs: Check for static AppDomainInitializer earlier to
897         throw the appropriate exception instead of failing at
898         serialization.
900 2009-10-04  Mark Probst  <mark.probst@gmail.com>
902         * AppDomainSetup.cs: Functionality for serializing a few members
903         to simplify cross-domain copying from within the runtime.
905         * AppDomain.cs (CreateDomain): Make AppDomainSetup serialize the
906         necessary members in preparation for the cross-domain copy.
908         * Environment.cs: Corlib version bump.
910 2009-10-02  Marek Safar  <marek.safar@gmail.com>
912         * Array.cs, Decimal.cs, String.cs, Console.cs, _AppDomain.cs,
913         AppDomain.cs: Removed prehistoric mcs workarounds.
915 2009-09-30  Mark Probst  <mark.probst@gmail.com>
917         * Thread.cs: Remove serialized culture icall stuff from
918         InternalThread.  Implement it by using the cross-domain byte array
919         transfer icalls.
921         * Environment.cs: Corlib version bump.
923 2009-09-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
925         * TermInfoDriver.cs: attempt to fix bug #527487.
927 2009-09-28  Atsushi Enomoto  <atsushi@ximian.com>
929         * Console.cs : do not use codepage 28591. It breaks build on
930           Japanese Windows.
932 2009-09-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
934         * TermInfoDriver.cs: avoid segv if the pointer is not properly
935         initialized.
937 2009-09-26  Mark Probst  <mark.probst@gmail.com>
939         * NumberFormatter.cs: Remove the _thread field.
941 2009-09-26  Mark Probst  <mark.probst@gmail.com>
943         * Environment.cs: Corlib version bump.
945 2009-09-24  Zoltan Varga  <vargaz@gmail.com>
947         * Type.cs: Initialize the Missing field.
949 2009-09-22  Sebastien Pouliot  <sebastien@ximian.com>
951         * Environment.cs: Remove imperative CAS environment
952         permission checks under NET_2_1
954 2009-09-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
956         * Console.cs: mark methods/properties that only work on windows.
957         Fixes bug #540593.
959 2009-09-21  Sebastien Pouliot  <sebastien@ximian.com>
961         * AppDomain.cs: Remove use of IPrincipal, Evidence and
962         PermissionSet types for NET_2_1
964 2009-09-20  Sebastien Pouliot  <sebastien@ximian.com>
966         * Activator.cs: Remove COM related method for NET_2_1
967         * AppDomain.cs: Remove extra methods and properties for NET_2_1
968         * AppDomainSetup.cs: Remove some properties for NET_2_1
970 2009-09-20  Sebastien Pouliot  <sebastien@ximian.com> 
972         * AppDomain.cs, Environment.cs: Remove imperative CAS file IO
973         permission checks under NET_2_1
975 2009-09-20  Sebastien Pouliot  <sebastien@ximian.com>
977         * AppDomainManager.cs: Remove NET_2_1 defines
978         * AppDomainManager_2_1.cs: New. NET_2_1 specific implementation
980 2009-09-04  Miguel de Icaza  <miguel@novell.com>
982         * TermInfoDriver.cs: Handle a few more key combinations.
984 2009-08-14  Miguel de Icaza  <miguel@novell.com>
986         * TermInfoDriver.cs (GetCursorPosition): Before we probe the
987         terminal for the cursor location, read all the pending console
988         input into our internal buffer and then send the cursor location
989         request.
991 2009-08-26  Sebastien Pouliot  <sebastien@ximian.com>
993         * TimeSpan.cs: Fix parsing when seconds are not specified.
995 2009-08-14  Marek Safar  <marek.safar@gmail.com>
997         * Type.cs: Made IsClass work under compiler context.
999 2009-08-12  Zoltan Varga  <vargaz@gmail.com>
1001         * ResolveEventArgs.cs: Add net 4.0 RequestingAssembly property.
1003 2009-08-11  Jérémie Laval  <jeremie.laval@gmail.com>
1005         * Funcs.cs:
1006         * Action.cs:
1007         * AggregateException.cs: Add BOOTSTRAP_NET_4_0.
1009 2009-08-07  Marek Safar  <marek.safar@gmail.com>
1011         * AppDomain.cs: IsHomogenous always returns true for now.
1013 2009-08-06 Rodrigo Kumpera  <rkumpera@novell.com>
1015         * Environment.cs: Bump corlib version.
1017 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
1019         * Environment.cs: Bump corlib version.
1021 2009-08-03  Zoltan Varga  <vargaz@gmail.com>
1023         * Environment.cs: Bump corlib version.
1025 2009-07-30  Marek Safar  <marek.safar@gmail.com>
1027         * AppDomain.cs: Implemented 2.0 CreateDomain.
1029 2009-07-28 Rodrigo Kumpera  <rkumpera@novell.com>
1031         Type.cs (MakeArrayType): Handle one-dym multidimensional array
1032         created with Type::MakeArrayType (1).
1034 2009-07-28  Rodrigo Kumpera  <rkumpera@novell.com>
1036         * Type.cs (FindMembers): Fix the ordering of returned members
1037         to method, ctor, property, event, field and nested type.
1039 2009-07-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
1041         * Array.cs: empty arrays just return -1 in LastIndexOf().
1043 2009-07-27  Miguel de Icaza  <miguel@novell.com>
1045         * Value types implementing IConvertible.ToType now throw an
1046         ArgumentNullException if they are passed a null as the
1047         "targetType" argument.
1049         This code can not be put directly in the Convert.ToType method, as
1050         this method is used by Convert.ToType (object o, TypeCode tc)
1051         which uses null as a target to throw a different kind of error
1052         (InvalidCastException).
1054         Fixes a few more bugs in the Silverlight BCL test suite.
1056         Additionally, the parameter type has been renamed.
1058 2009-07-26  Miguel de Icaza  <miguel@novell.com>
1060         * Type.cs: (GetMember) call directly the worker method, instead of
1061         calling through an intermediary.
1063         (GetMember, full): throw if the name is null.
1065 2009-07-19  Robert Jordan  <robertj@gmx.net>
1067         * __ComObject.cs: Factor out Initialize method and expose it to
1068         ComInteropProxy. Fixes bug #520437.
1070 2009-07-14  Rodrigo Kumpera  <rkumpera@novell.com>
1072         * Attribute.cs (GetCustomAttributes): Pass typeof(Attribute)
1073         to GetCustomAttributes to match MS.
1075         * MonoCustomAttrs.cs (GetCustomAttributesBase): Do proper
1076         checking of which types are handled by the runtime.
1078         * MonoCustomAttrs.cs (IsDefined): Same.
1080         Fixes #521885.
1082 2009-07-14  Zoltan Varga  <vargaz@gmail.com>
1084         * Environment.cs: Bump corlib version.
1086 2009-07-07  Rodrigo Kumpera  <rkumpera@novell.com>
1088         * Type.cs (IsUserType): Only TypeDelegator and types
1089         outside of corlib are unhandled usertypes.
1091 2009-07-02  Marek Safar  <marek.safar@gmail.com>
1093         * Type.cs, AppDomain.cs: 4.0 bits.
1095 2009-06-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
1097         * DateTime.cs: if the DateTimeOffset is out of bounds, let Parse
1098         report the error. Fix stupid harmless typo.
1099         * DateTimeOffset.cs: report error if the UTC date/time is out of
1100         bounds.
1102 2009-06-25  Miguel de Icaza  <miguel@novell.com>
1104         * Array.cs: IList.this needs to throw IndexOutOfRangeException
1105         when the index is invalid, not ArgumentOutOfRangeException.
1107         * Int32.cs: Do not crash if the FormatProvider returns a null
1108         value on the call to GetFormat (Type).
1110         Validate the NumberStyles, passes Int/Int32Parse2.exe
1112         Fix regression introduced in 2005, we need to throw
1113         ArgumentNullException on Parse.
1115 2009-06-25  Miguel de Icaza  <miguel@novell.com>
1117         * Int32.cs: Fix regression introduced in 2005, we need to throw
1118         ArgumentNullException on Parse.
1120 2009-06-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
1122         * DateTime.cs: ignore MinValue to avoid DateTimeOffset ctor throwing
1123         when adjusting for TZ.
1125 2009-06-22  Miguel de Icaza  <miguel@novell.com>
1127         * String.cs: In Silverlight the whitespace characters 0x202f and
1128         0x205f are considered for Trim and Split purposes. 
1130 2009-06-21  Marek Safar  <marek.safar@gmail.com>
1132         * Tuples.cs: Add Equals, GetHashCode.
1134 2009-06-21  Zoltan Varga  <vargaz@gmail.com>
1136         * IntPtr.cs (.ctor): Disable the check in the long ctor until we
1137         can figure out how to do it properly.
1139 2009-06-20  Zoltan Varga  <vargaz@gmail.com>
1141         * IntPtr.cs (.ctor): Allow long values whose 31th bit is set.
1143 2009-06-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
1145         * DateTime.cs: quick fix for the 1.x build.
1147 2009-06-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
1149         * AppDomainSetup.cs: update attribute.
1150         * TermInfoDriver.cs: ensure we are initialized in CheckWindowDimensions().
1151         * DateTimeOffset.cs: Implement Parse().
1152         * DateTime.cs: add 'zzz' to the list of default time formats. Return a
1153         DateTimeOffset from _DoParse. Fixed the offset minutes when the
1154         timezone is specified as a negative one.
1155         * Console.cs: updates for MoveBufferArea().
1156         * AppDomainManager.cs: implement EntryAssembly.
1157         * AppDomain.cs: update attribute.
1159 2009-06-15  Atsushi Enomoto  <atsushi@ximian.com>
1161         * Environment.cs : bump corlib version.
1163 2009-06-12  Bill Holmes  <billholmes54@gmail.com>
1165         * Variant.cs (GetValue):  Changing the bool case to use the short value.  
1166           This is to avoid junk in the high word.
1168         Contributed under MIT/X11 license.
1170 2009-06-10  Marek Safar  <marek.safar@gmail.com>
1172         * Predicate.cs, Action.cs, Funcs.cs, Comparison.cs, IComparable.cs,
1173         Converter.cs, EventHandler.cs: Add type variance.
1174         
1175         * InvalidTimeZoneException.cs,
1176         TimeZoneNotFoundException.cs: New file.
1178 2009-05-27  Zoltan Varga  <vargaz@gmail.com>
1180         * AppDomain.cs (DoAssemblyResolve): Fix recursion detection. Fixes #507003.
1182 2009-05-26  Mark Probst  <mark.probst@gmail.com>
1184         * Thread.cs: Don't set the execution context when creating a
1185         thread because the _ec member is thread static and we set the
1186         wrong one.  It's now set by the runtime.  We just provide the
1187         correct one.
1189         * Environment.cs: Bump corlib version.
1191 2009-05-22  Zoltan Varga  <vargaz@gmail.com>
1193         * Tuple.cs Tuples.cs: New files.
1195         * Lazy.cs LazyExecutionMode.cs Funcs.cs: New files.
1197 2009-05-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
1199         * Type.cs: (GetInterfaceMap) 'this' can't be an interface itself.
1200         Fixed bug #503728.
1202 2009-05-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
1204         * TermInfoDriver.cs: replace Peek with DataAvailable.
1206 2009-05-02  Sebastien Pouliot  <sebastien@ximian.com>
1208         * Console.cs: Remove Windows-specific p/invokes and SSC code
1209         from the NET_2_1 build.
1211 2009-05-01  Sebastien Pouliot  <sebastien@ximian.com>
1213         * AppDomainManager.cs: Fix base class for NET_2_1 and implement
1214         CheckSecuritySettings (added in 2.0SP and part of SL API)
1216 2009-04-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
1218         * Enum.cs: return the value as an enum of the right type.
1220 2009-04-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
1222         * Enum.cs: avoid exceptions from ToObject and use Try* instead.
1224 2009-04-25  Miguel de Icaza  <miguel@novell.com>
1226         * TermInfoDriver.cs: Use the new StreamReader.DataAvailable to
1227         load all the data that was added into the `stdin' stream when we
1228         did the `Read'.
1230 2009-04-24  Sebastien Pouliot  <sebastien@ximian.com>
1232         * Environment.cs: #ifdef out code that use the registry for the 
1233         NET_2_1 profile and some other properties (2) that added
1234         [SecuritySafeCritical] methods to audit inside Moonlight.
1236 2009-04-21  Mark Probst  <mark.probst@gmail.com>
1238         * Environment.cs: Bump corlib version.
1240 2009-04-21  Miguel de Icaza  <miguel@novell.com>
1242         * TermInfoDriver.cs: Prevent race condition if two threads try to
1243         initialize the Console at the same time. 
1245         What happens is that inited is set, and elsewhere we try to
1246         dereference native_terminal_size before it is set.
1248         * Reduce code size by using a table instead of manually making a
1249         few hundred calls.
1250         
1251 2009-04-20  Miguel de Icaza  <miguel@novell.com>
1253         * Enum.cs (MonoEnumInfo): Compare bytes, shorts, ints and longs as
1254         unsigned values as specified and to fix 371559, from the bug:
1256                 So the actual difference is that MSFT's Enum.GetValues
1257                 orders the members as unsigned even when the underlying
1258                 type is int.  See the following.  Perhaps that's what's
1259                 being implied by "binary values" in that Enum.GetValues
1260                 MSDN quote above.
1262 2009-04-18  Mark Probst  <mark.probst@gmail.com>
1264         * NumberFormatter.cs: Keep the current thread's number formatter
1265         as a ThreadStatic member.
1267 2009-04-18  Mark Probst  <mark.probst@gmail.com>
1269         * Environment.cs: Bump corlib version.
1271 2009-04-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
1273         * GCNotificationStatus.cs: new enum.
1275 2009-04-10  Zoltan Varga  <vargaz@gmail.com>
1277         * Array.cs: Make some of the InternalArray methods non-generic to cut down
1278         on the number of instantiations. Add implementation for 
1279         ICollection:IsReadOnly.
1281 2009-03-26  Jb Evain  <jbevain@novell.com>
1283         * Delegate.cs (CreateDelegate): Support for delegates
1284         on static methods closed on a null target.
1286 2009-03-26  Zoltan Varga  <vargaz@gmail.com>
1288         * Environment.cs: Bump corlib version.
1290 2009-03-25  Sebastien Pouliot  <sebastien@ximian.com>
1292         * Delegate.cs: Add new parameter to CreateDelegate_internal (icall)
1293         * Environment.cs: Bump mono_corlib_version to 73
1295 2009-03-25  Jb Evain  <jbevain@novell.com>
1297         * Delegate.cs (CreateDelegate): fix checks to deal with
1298         valuetypes -> obj conversions for arguments, and avoid
1299         issues with such unallowed conversion for return types.
1301 2009-03-23  Zoltan Varga  <vargaz@gmail.com>
1303         * String.cs (LastIndexOf): Handle empty strings correctly. Fixes #486234.
1305 2009-03-18  Zoltan Varga  <vargaz@gmail.com>
1307         * Type.cs (GetGenericTypeDefinition): Make this throw an exception to be
1308         consistent with MS.NET. Move the real implementation to MonoType.
1310 2009-03-18  Marek Safar  <marek.safar@gmail.com>
1312         * Decimal.cs: Initialize all fields.
1314 2009-03-16 Gonzalo Paniagua Javier <gonzalo@novell.com>
1316         * ConsoleDriver.cs:
1317         * TermInfoDriver.cs: handle Ctrl-D (or similar) in ReadLine.
1318         Fixes bug #483950.
1320         * ControlCharacters.cs: index to the control characters list.
1321         * Environment.cs: bumped corlib version.
1323 2009-03-14  Miguel de Icaza  <miguel@novell.com>
1325         * Convert.cs (ToType): Control whether this internal function will
1326         call an IConvertible.ToType method or not.  
1328         Classes and structs implementing IConvertible in mscorlib (the
1329         only callers that can access Convert.ToType) must pass false to
1330         avoid a infinite recursion problem and callers from the public
1331         Convert API must call it with true.
1333         This fixes the regression reported in #485377 that was introduced
1334         by the fix for #481687.
1336         * Int16.cs, UInt64.cs, Double.cs, Enum.cs, SByte.cs, UInt16.cs,
1337         Byte.cs, Decimal.cs, Int32.cs, String.cs, Int64.cs, Char.cs,
1338         Boolean.cs, Single.cs, UInt32.cs: Update the call sites.
1340 2009-03-07  Gert Driesen  <drieseng@users.sourceforge.net>
1342         * Convert.cs: Do not throw InvalidCastException if
1343         IConvertible.ToType returns null.
1345 2009-03-06  Andrés G. Aragoneses  <aaragoneses@novell.com>
1347         * Convert.cs: Correct typo in exception message.
1349 2009-03-06  Miguel de Icaza  <miguel@novell.com>
1351         * Convert.cs: Apply patch from Tom Hindle that uses
1352         IConvertible.ToType if there are no other possible conversions
1353         defined. 
1355         Fixes: #481687 
1357 2009-03-06  Rodrigo Kumpera  <rkumpera@novell.com>
1359         * MonoType.cs (MonoTypeInfo): Add default_ctor field.
1361         * MonoType.cs: Add GetDefaultConstructor that caches using
1362         type_info.default_ctor.
1364         * MonoType.cs (FullName): Protects against type_info been replaced
1365         under the hood.
1367         * Activator.cs (CreateInstance): If the type is a MonoType resolve the
1368         default constructor using the new method from MonoType.
1370         Improves Activator::CreateInstance performance by at least 30%, reduces object churn
1371         and domain lock contention.
1373 2009-03-03  Rodrigo Kumpera  <rkumpera@novell.com>
1375         * Guid.cs (BaseToString): Reduce allocations.
1377 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
1379         * Environment.cs: Bump corlib version.
1381 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
1383         * Enum.cs (IsDefined): If the enum underlying type is int32, use
1384         the generic version, which doesn't box every element of the array.
1386 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
1388         * Enum.cs (GetName): If the enum underlying type is int32, use
1389         the generic version, which doesn't box every element of the array.
1391 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
1393         * Enum.cs (MonoEnumInfo::GetInfo): Share the boxed form of the
1394         MonoEnumInfo between both caches.
1396 2009-02-28  Zoltan Varga  <vargaz@gmail.com>
1398         * Enum.cs (FindName): Use a hash table for looking up names instead of
1399         a linear search for enums with a lot of values.
1401 2009-02-27  Rodrigo Kumpera  <rkumpera@novell.com>
1403         * UInt16.cs (CompareTo/short): Make it return the
1404         same values as the /object version.
1406         * Enum.cs (CompareTo): Use new compare_value_to icall to do the comparison.
1407         This avoids two allocations and reduce the number of trips to unmanaged land
1408         by one.
1410         The performance improvement is up to 3.5x with the bonus of reducing the generated
1411         garbage.
1413 2009-02-26  Marek Safar  <marek.safar@gmail.com>
1415         * Nullable.cs: Inline GetValueOrDefault.
1417 2009-02-26  Zoltan Varga  <vargaz@gmail.com>
1419         * String.cs (FormatHelper): If all the arguments are strings, compute an
1420         initial length for the stringbuilder to avoid reallocations.
1422         * MonoType.cs (FullName): Cache the result of this in a field, as
1423         computing it is expensive.
1425         * Environment.cs: Bump corlib version.
1426         
1427 2009-02-25  Zoltan Varga  <vargaz@gmail.com>
1429         * Enum.cs (GetInfo): Add a global cache in addition to the thread-local
1430         caches to accomodate short living threads like threadpool threads.
1432 2009-02-23  Zoltan Varga  <vargaz@gmail.com>
1434         * Type.cs: Add IsUserType internal property.
1436 2009-02-21  Jb Evain  <jbevain@novell.com>
1438         * MonoType.cs (InvokeMember): don't pass a null args to
1439         Binder.BindToMethod. Fix for #471275.
1441 2009-02-12  Robert Jordan  <robertj@gmx.net>
1443         * Exception.cs: Rename remote_stack_trace for MS.NET
1444         compatibility. Fixes #425512.
1446 2009-02-12  Lluis Sanchez Gual  <lluis@novell.com>
1448         * MarshalByRefObject.cs: Implemented MemberwiseClone(bool).
1450 2009-02-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
1452         * AppDomain.cs: this fixes the remoting tests.
1453         Zoltan found out that there was a domain improperly using shadow
1454         copy.
1456 2009-02-04 Gonzalo Paniagua Javier <gonzalo@novell.com>
1458         * DateTime.cs: check for null and empty strings before anything else
1459         in CoreParse.
1461 2009-01-27  Zoltan Varga  <vargaz@gmail.com>
1463         * Type.cs (GetHashCode): Work on UnderlyingSystemType. Fixes #467229.
1465 2009-01-24  Zoltan Varga  <vargaz@gmail.com>
1467         * Variant.cs ApplicationIdentity.cs ActivationContext.cs Environment.cs
1468         AppDomain.cs: Fix warnings.
1470 2009-01-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
1472         * AppDomain.cs: LoadAssembly() returns null instead of throwing now.
1473         Add new LoadSatellite method.
1475 2009-01-20  Mark Probst  <mark.probst@gmail.com>
1477         * Exception.cs: Added a comment explaining the use of trace_ips.
1479 2009-01-12  Bill Holmes  <billholmes54@gmail.com>
1481         * Variant.cs (GetValue):  Handling the NULL IDispatch 
1482           and IUnknown case.
1484         Contributed under MIT/X11 license.
1486 2009-01-09  Miguel de Icaza  <miguel@novell.com>
1488         * DateTime.cs: Implement TryParse in a way that will not depend on
1489         the try/catch statement.   The try/catch statement is still there
1490         *just in case*, I might have missed some codepaths.
1492 2009-01-06  Atsushi Enomoto  <atsushi@ximian.com>
1494         * DateTime.cs : when ".FF..." is specified, allow milliseconds-less
1495           time. Fix #444103.
1497 2008-12-19  Bill Holmes  <billholmes54@gmail.com>
1499         * Environment.cs (GetEnvironmentVariable) :  Avoiding an nre if 
1500           the variable is not set.
1502         * Environment.cs (SetEnvironmentVariable) : Adding a call to 
1503           internalBroadcastSettingChange to notify Windows that an environment 
1504           variable has changed.
1506         Contributed under MIT/X11 license.
1508 2008-12-18  Jb Evain  <jbevain@novell.com>
1510         * String.cs: the Compare methods that were specific to SL2 are now
1511         also in .net 2/3.5 sp1.
1513 2008-12-10  Bill Holmes  <billholmes54@gmail.com>
1515         * Variant.cs (SetValue):   Changing the behavior for COM object in 
1516           VARIANTs to match MS.  Also adding support for BStrWrapper, 
1517           UnknownWrapper, and DispatchWrapper.
1519         Contributed under MIT/X11 license.
1521 2008-11-28  Miguel De Icaza  <miguel@novell.com>
1523         * TermInfoDriver.cs: Also register a mapping to make verase be the
1524         backspace key.  Funny thing: verase was fetched from the termios,
1525         but it was *never* actually used in this file.
1527         VSUSP and VINTR are likewise ignored.   Must ponder this.
1529         This makes the backspace key in MacOS work on interactive
1530         applications.
1531         
1532 2008-11-15  Kornél Pál  <kornelpal@gmail.com>
1534         * Convert.cs: Removed useless check from ToChar (ushort).
1536 2008-11-06  Bill Holmes  <billholmes54@gmail.com>
1538         * Type.cs (FindMembers):  Changing the instantiated type of the 
1539           returned MemberInfo array to match the MemberTypes flag
1540           passed in argument 1.
1542         Contributed under MIT/X11 license.
1544 Mon Nov 3 16:39:37 CET 2008 Paolo Molaro <lupus@ximian.com>
1546         * Array.cs: in the IList set_Item, ensure the array
1547         element is set using the proper type checks (bug #440819).
1549 Mon Oct 13 16:40:56 CEST 2008 Paolo Molaro <lupus@ximian.com>
1551         * Environment.cs, OperatingSystem.cs: complete support for
1552         PlatformID (bug #433108).
1554 2008-10-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
1556         * AppDomain.cs: (Load(AssemblyName)) Use the CodeBase after the Name
1557         when both are provided.
1558         Fixes bug #322228.
1560 2008-10-08  Bill Holmes  <billholmes54@gmail.com>
1562         * Variant.cs : Adding the BRECORD field to ensure the right size on
1563           a 64-bit OS.  32-bit 16 bytes, 32-bit 24 bytes.
1565         Contributed under MIT/X11 license.
1567 2008-10-08  Bill Holmes  <billholmes54@gmail.com>
1569         * Variant.cs (SetValue) : Adding code to handle enums.
1571         Contributed under MIT/X11 license.
1573 2008-10-08  Bill Holmes  <billholmes54@gmail.com>
1575         * Variant.cs : Cleaning up some tab formatting problems.
1577         Contributed under MIT/X11 license.
1579 2008-10-08  Zoltan Varga  <vargaz@gmail.com>
1581         * PlatformID.cs: Define Xbox/MacOSX on the 2.0 profile too, since it
1582         is part of NET 3.5 SP1.
1584 2008-10-07  Marek Habersack  <mhabersack@novell.com>
1586         * Math.cs: implemented the away from zero rounding for the Round
1587         (double, int, MidpointRounding) overload.
1589 2008-10-06  Zoltan Varga  <vargaz@gmail.com>
1591         * Activator.cs (CreateInstance): Don't return the return value of the
1592         ctor.Invoke (object, ...) overload since it is null, return 'newOb' instead.
1594 Mon Oct 6 15:12:25 CEST 2008 Paolo Molaro <lupus@ximian.com>
1596         * Array.cs: better message when keys cannot be compared
1597         when sorting (bug #368455).
1599 2008-09-29  Rodrigo Kumpera  <rkumpera@novell.com>
1601         * Type.cs (MakeGenericType): Only use UnderlyingSystemType for user types.
1602         This must exclude TypeBuilder and EnumBuilder. Fixes #430508.
1604 2008-09-28  Juraj Skripsky  <js@hotfeet.ch>
1606         * String.cs (ReplaceUnchecked): Avoid any unnecessary work and 
1607         string allocations by returning early when no oldValue was found.
1609 2008-09-24  Marek Habersack  <mhabersack@novell.com>
1611         * Double.cs: check whether decimal_separator, group_separator and
1612         currency_symbol strings aren't empty before trying to index them
1613         in Parse ().
1615 2008-09-24  Jb Evain  <jbevain@novell.com>
1617         * AppDomain.cs (CreateDomain): call the domain initializer in
1618         the newly created AppDomain. Fixes #429545.
1620 2008-09-24  Jb Evain  <jbevain@novell.com>
1622         * AppDomain.cs: implement the CreateDomain overload which
1623         takes an AppDomain initializer. Fixes #429545.
1625 2008-09-17  Robert Jordan  <robertj@gmx.net>
1627         * DelegateSerializationHolder.cs: Starting with .NET 2.0, delegates
1628         of non-public methods are allowed to be serialized. Fixes #425345.
1630 2008-09-15  Andy Hume  <andyhume32@yahoo.co.uk>
1632         * DateTimeOffset.cs: DateTimeOffset currently has no
1633         deserialization constructor, thus deserialization
1634         fails ("SerializationException: The constructor to deserialize an
1635         object of type System.DateTimeOffset was not found.")
1637         Patch attached, implements GetObjectData and that constructor.
1638         Also includes tests, which include round-tripping to/from MSFT.
1640 2008-09-14  Zoltan Varga  <vargaz@gmail.com>
1642         * ConsoleDriver.cs: Remove obsolete GetTtySize icall.
1644 2008-09-09  Marek Safar  <marek.safar@gmail.com>
1646         * Convert.cs, Decimal.cs: Fixed float/double to decimal range check.
1648 2008-09-07  Miguel de Icaza  <miguel@novell.com>
1650         * TermInfoDriver.cs: Add support for updating the size of the
1651         terminal when it changes.   
1653 2008-08-27  Miguel de Icaza  <miguel@novell.com>
1655         * TermInfoDriver.cs: Adds support for the Insert and Delete keys
1656         on the keyboard.   
1658 2008-08-26  Miguel de Icaza  <miguel@novell.com>
1660         * New console features are used by gmcs.exe, but since we only
1661         build gmcs.exe with the bootstrap corlib, we need to ensure all
1662         the new stuff is included in BOOTSTRAP_NET_2_0
1664 2008-08-26  Robert Jordan  <robertj@gmx.net>
1666         * AppDomain.cs (get_Evidence): Fix endless recursion exposed
1667         by the test case of bug #420197.
1669 2008-08-24  Miguel de Icaza  <miguel@novell.com>
1671         * TermInfoDriver.cs (GetKeyFromBuffer): Add support for reporting
1672         Alt-LETTER sequences.   They were ignored previously.
1674 2008-08-22  Sebastien Pouliot  <sebastien@ximian.com>
1676         * AppDomainSetup.cs: Remove IAppDomainSetup for SL2. This helps
1677         the tuner since the methods are then defined correctly (wrt to the
1678         implicit implementation of the interfaces)/
1680 2008-08-21  Sebastien Pouliot  <sebastien@ximian.com> 
1682         * Nullable.cs: Add two ComVisible(false) for SL2 profile.
1683         * PlatformID.cs: Add Xbox and MacOX for SL2 profile.
1684         * WeakReference.cs: Add default, protected, ctor for SL2.
1686 2008-08-20  Miguel de Icaza  <miguel@novell.com>
1688         * ConsoleDriver.cs: TtySetup now takes an extra argument: the
1689         keypadXmit string.
1691 2008-08-16  Gert Driesen  <drieseng@users.sourceforge.net>
1693         * Exception.cs: Fixed value of HResult to match MS. Added support for
1694         (de)serializing Data. Use deserialized ClassName, if available, to
1695         when name of type is used.
1697 2008-08-10  Gert Driesen  <drieseng@users.sourceforge.net>
1699         * IServiceProvider.cs: Added ComVisible attribute (1.0 only).
1700         * String.cs: Fixed argument names to match MS.
1702 2008-08-10  Gert Driesen  <drieseng@users.sourceforge.net>
1704         * Boolean.cs
1705         * Byte.cs
1706         * Char.cs
1707         * DateTime.cs
1708         * DBNull.cs
1709         * Decimal.cs
1710         * Double.cs
1711         * Enum.cs
1712         * Int16.cs
1713         * Int32.cs
1714         * Int64.cs
1715         * Single.cs
1716         * String.cs
1717         * UInt16.cs
1718         * UInt32.cs
1719         * UInt64.cs: Added missing CLSCompliant attributes for 1.0 profile.
1721 2008-08-07  Atsushi Enomoto  <atsushi@ximian.com>
1723         * DateTime.cs : zzzz format allows non-fixed length of number, even
1724           in exact parsing mode. Fixed bug #377042.
1726 2008-08-05  Jb Evain  <jbevain@novell.com>
1728         * String.cs: add new NET_2_1 Compare methods.
1730 2008-08-03  Miguel de Icaza  <miguel@novell.com>
1732         * ConsoleDriver.cs: If the terminal is dumb, do not activate the
1733         full terminal support.
1735 2008-08-02  Marek Safar  <marek.safar@gmail.com>
1737         * Type.cs: Removed _MemberInfo from base classes list.
1738         
1739 2008-07-28  Marek Safar  <marek.safar@gmail.com>
1741         * KnownTerminals.cs: Don't initialize rarely used static data.
1743 2008-07-24  Zoltan Varga  <vargaz@gmail.com>
1745         * Delegate.cs: Move the rarely used fields to a separate object, add
1746         'method_code' field.
1748         * Environment.cs: Bump corlib version.
1750         * ConsoleDriver.cs: Remove unused Suspend icall.
1752 2008-07-21  Marek Safar  <marek.safar@gmail.com>
1754         * AppDomain.cs (Load): Check for 0-length assembly name.
1756 2008-07-21  Rodrigo Kumpera  <rkumpera@novell.com>
1758         * Enum.cs (GetHashCode): Use new icall get_hashcode to
1759         avoid allocating a boxed version of the enum basetype.
1761 2008-07-17  Marek Safar  <marek.safar@gmail.com>
1763         * String.cs: reverted GetHashCode changes.
1765 2008-07-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1767         * Char.cs: Remove obsolete lamespecs (it implements IConvertible, small formatting)
1769 2008-07-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1771         * Char.cs: Optimize some Is* checks
1773 2008-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1775         * DateTimeOffset.cs: Fix parameter name
1777 2008-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1779         * DateTimeOffset.cs: Remove public, make implicit method
1781 2008-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1783         * Environment.cs: Add missing attribute
1785 2008-07-04  Rodrigo Kumpera  <rkumpera@novell.com>
1787         * Delegate.cs (get_Method): Use the internal version
1788         of GetMethodFromHandle to avoid the generic class check.
1790 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1792         * GCCollectionMode.cs: Add attribute
1793         * GC.cs: Add semi-stubbed missing method, remove obsolete Lamespec, hide non-public method
1795 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1797         * Delegate.cs: Fix parameter names for 2.0 profile
1798         * Int64.cs: Fix parameter names
1800 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1802         * IntPtr.cs: Fix parameter names, change internal name to accomodate for parameter changes
1804 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1806         * Predicate.cs:
1807         * Object.cs:
1808         * Nullable.cs
1809         * MultiCastDelegate.cs
1810         * ModuleHandle.cs
1811         * Math.cs
1812         * MarshalByRefObject.cs
1813         * Int64.cs
1814         * Int32.cs
1815         * Int16.cs
1816         * Environment.cs
1817         * Delegate.cs
1818         * DateTimeOffset.cs
1819         * ConsoleKeyInfo.cs
1820         * Console.cs
1821         * Array.cs
1822         * AppDomain.cs: Fix parameter names
1824 2008-07-03  Rodrigo Kumpera  <rkumpera@novell.com>
1826         * Exception.cs (GetFullNameForStackTrace): Don't do string
1827         concatenation.
1829 2008-06-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1831         * ContextMarshalException.cs:
1832         * DllNotFoundException.cs:
1833         * EntryPointNotFoundException.cs:
1834         * FieldAccessException.cs:
1835         * MethodAccessException.cs:
1836         * MissingFieldException.cs:
1837         * PlatformNotSupportedException.cs: Fix parameter names
1839 2008-06-30  Marek Safar  <marek.safar@gmail.com>
1841         * String.cs: Tweaked hash code methods for better distibution, and speed-up.
1843 2008-06-29  Zoltan Varga  <vargaz@gmail.com>
1845         * MonoCustomAttrs.cs (IsDefined): Avoid calling the .Assembly property in some
1846         cases.
1848 2008-06-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1850         * Char.cs: Fix formatting, rename wrong named param, remove code duplication
1852 2008-06-28  Zoltan Varga  <vargaz@gmail.com>
1854         * Enum.cs (GetUnderlyingType): Implement this using an icall.
1855         
1856         * Enum.cs (Format): Call IsDefined with inherited=false.
1858         * Exception.cs: Fix a warning.
1860 2008-06-27  Zoltan Varga  <vargaz@gmail.com>
1862         * Enum.cs (FindName): Avoid calling String.Compare for the !ignoreCase case.
1864 2008-06-27  Rodrigo Kumpera  <rkumpera@novell.com>
1866         * Exception.cs: Build method traces using the
1867         stack trace StringBuilder.
1869 2008-06-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1871         * Version.cs: Fix parameter names
1872         * UInt64.cs: 
1873         * UInt32.cs:
1874         * UInt16.cs:
1875         * Int64.cs: Fix parameter names
1876         * Int32.cs: Fix parameter names; some small formatting
1877         * Int16.cs: Fix parameter names
1878         * Double.cs: Fix parameter names; small formatting
1879         * Single.cs:
1880         * SByte.cs:
1881         * Byte.cs:
1882         * Boolean.cs:
1883         * DateTime.cs:
1884         * Enum.cs:
1885         * Decimal.cs: Fix parameter names
1887 2008-06-14  Zoltan Varga  <vargaz@gmail.com>
1889         * Environment.cs: Bump corlib version.
1891 2008-06-10  Zoltan Varga  <vargaz@gmail.com>
1893         * Math.cs (IEERemainder): Use the normal BitConverter.Int64BitsToDouble method
1894         here to fix this on sparc.
1896 2008-06-07  Marek Safar  <marek.safar@gmail.com>
1898         * Array.cs (IndexOf, LastIndexOf): Fixed more array element comparers used
1899         instead of tested value comparers.
1901 2008-06-07  Zoltan Varga  <vargaz@gmail.com>
1903         * Environment.cs: Bump corlib version.
1905 2008-06-05  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1907         * String.cs: Managed replacement for Replace method ;)
1909 2008-06-03  Zoltan Varga  <vargaz@gmail.com>
1911         * Decimal.cs (Divide): Move expensive equality checks to unmanaged code.
1913 2008-06-02  Ivan N. Zlatev  <contact@i-nz.net>
1915         * MonoType.cs: For property reflection we should strictly match the return 
1916         type if available.
1918 2008-06-01  Juraj Skripsky  <js@hotfeet.ch>
1920         * String.cs (Substring): Blocking bug #395904 has been fixed,
1921         re-enable optimization.
1923 2008-06-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1925         * String.cs: Replace Split IndexOf
1927 2008-05-30  Marek Safar  <marek.safar@gmail.com>
1929         * Array.cs (IndexOf): Use an array element comparer instead of tested value
1930         comparer.
1932 2008-05-28  Zoltan Varga  <vargaz@gmail.com>
1934         * Console.cs (.cctor): Make sdout synchronized in the console case too.
1935         Fixes #395069.
1937 2008-05-27  Eyal Alaluf <eyala@mainsoft.com>
1939         * NumberFormatter.jvm.cs: Fix tables to avoid arithemtic overflow
1940           in Double.ToString as exposed by Bug #383531.
1942 2008-05-24  Gert Driesen  <drieseng@users.sourceforge.net>
1944         * String.cs: Comment out 2.0 compatibility fix for SubString, since it
1945         causes regressions in System.Xml.
1947 2008-05-24  Gert Driesen  <drieseng@users.sourceforge.net>
1949         * String.cs: Changed exception to match MS. Fixed ToCharArray to use
1950         startindex for source. In PadLeft and PadRight, only return current
1951         string if totalWidth is less than length.
1953 2008-05-24 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
1955         * Enum.cs: use Array.BinarySearch on the values in IsDefined and
1956         GetName instead of looping through the list. Made the cache in
1957         MonoEnumInfo thread static to avoid contention.
1959 2008-05-20  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1961         * String.cs: Replace Split function
1963 2008-05-19  Sebastien Pouliot  <sebastien@ximian.com>
1965         * Boolean.cs,
1966         * Double.cs,
1967         * Enum.cs,
1968         * Int64.cs,
1969         * Single.cs,
1970         * UInt32.cs,
1971         * UInt64.cs: Avoid unboxing primitive types more than one time.
1972         [Found using Gendarme]
1974 2008-05-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1976         * String.cs: Update Trim functions
1978 2008-05-19  Zoltan Varga  <vargaz@gmail.com>
1980         * ConsoleDriver.cs: Avoid initializing the three driver classes when only one
1981         is needed.
1983 2008-05-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1985         * String.cs: Update Join and Pad functions
1987 2008-05-18  Sebastien Pouliot  <sebastien@ximian.com>
1989         * Environment.cs: Use String.IsNullOrEmpty inside 2.0 code.
1990         [Found using Gendarme]
1992 2008-05-16  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1994         * String.cs: Directly create charenumerator
1996 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1998         * String.cs: Resubmit uncritical parts of String patch
2000 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2002         * DateTime.cs: Fix parameter names
2004 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2006         * Decimal.cs: Fix parameter names
2008 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2010         * Decimal.cs: Tabbify/Format
2012 2008-05-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2014         * Version.cs
2015           UnhandledExceptionEventHandler.cs
2016           UInt64.cs
2017           UInt32.cs
2018           UInt16.cs: Fix parameter names
2019           Type.cs: Fix parameter names, formatting
2020           TimeSpan.cs
2021           StringComparer.cs
2022           Single.cs
2023           SByte.cs: Fix parameter names
2025 2008-05-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2027         * Double.cs
2028           Enum.cs
2029           Exception.cs
2030           IComparable.cs
2031           IEquatable.cs
2032           IFormatProvider.cs
2033           IFormattable.cs
2034           InsufficientMemoryException.cs: Fix parameter names
2036 2008-05-14  Jb Evain  <jbevain@novell.com>
2038         * Exception.cs (ToString): output a new line before the 
2039         inner exception separator. Fixes #390150.
2041 2008-05-12  Gert Driesen  <drieseng@users.sourceforge.net>
2043         * Type.cs: Modifies exceptions to match MS. Changed GetTypeFromHandle
2044         on 1.0 profile to throw ArgumentException when handle is invalid,
2046 2008-05-08  Rodrigo Kumpera  <rkumpera@novell.com>
2048         * Activator.cs (CreateInstance): Check for null types when creating
2049         the error message.
2051 2008-05-07  Robert Jordan  <robertj@gmx.net>
2053         * RuntimeFieldHandle.cs, RuntimeTypeHandle.cs, RuntimeMethodHandle.cs:
2054         Don't try to serialize uninitialized handles. Fixes #386641.
2056 2008-05-06  Marek Safar  <marek.safar@gmail.com>
2058         * IntPtr.cs (eplicit long, GetObjectData): Use ToInt64.
2060 2008-05-05  Zoltan Varga  <vargaz@gmail.com>
2062         * Type.cs (GetTypeFromHandle): Apparently, it is possible to create a 
2063         RuntimeTypeHandle with a zero handle value by calling its ctor. Add an argument
2064         check for that.
2066         * IntPtr.cs (ToInt64): Use (long)(int) on 32 bit platforms to avoid the default
2067         unsigned conversion done by the compiler. Fixes #386466.
2069 2008-05-04  Zoltan Varga  <vargaz@gmail.com>
2071         * Type.cs (UnderlyingSystemType): Add a comment pointing people to 
2072         Enum.GetUnderlyingType ().
2074 2008-04-26  Zoltan Varga  <vargaz@gmail.com>
2076         * Array.cs (LastIndexOf): Return GetLowerBound (0) -1 instead of -1.
2077         
2078         * Array.cs (LastIndexOf): Fix handling of empty arrays. Fixes #383876.
2080 2008-04-13  Zoltan Varga  <vargaz@gmail.com>
2082         * String.cs (Split): Fix the handling of RemoveEmptyEntries when the separator
2083         matches at the beginning of the string. Fixes #374511.
2085 2008-04-13  Jb Evain  <jbevain@novell.com>
2087         * ICloneable.cs: use the INSIDE_CORLIB pattern to
2088         internalize code that is used outside the corlib.
2089         Merged from the Moonlight 2 branch.
2091 2008-04-04  Raja R Harinath  <harinath@hurrynot.org>
2093         * String.cs (EndsWith) [CultureInfo variant]: Handle null 'culture'.
2094         (StartsWith, EndsWith, IndexOf, LastIndexOf) [StringComparison variant]:
2095         Throw exception on invalid StringComparison.
2097 2008-04-01  Eyal Alaluf <eyala@mainsoft.com>
2099         * NumberFormatter.cs NumberFormatter.jvm.cs: Performance optimizations.
2100           Reuse a per thread instance to format all the primitive types. Modify
2101           class accordingly so the same
2102           instance can be used multiple times.
2103         * Int16.cs UInt64.cs Double.cs SByte.cs UInt16.cs Byte.csDecimal.cs
2104           TimeSpan.cs Int32.cs Int64.cs Single.cs UInt32.cs: Change use of
2105           NumberFormatter to adapt to above changes in class interface.
2107 2008-03-31  Mark Probst  <mark.probst@gmail.com>
2109         * MonoType.cs: Don't do CAS security checks in CheckMethodSecurity
2110         for 2.1 profile.
2112 2008-03-28  Marek Safar  <marek.safar@gmail.com>
2114         * Nullable.cs (Box): Do things explicitly and not rely on broken gmcs
2115         behaviour.
2117 2008-03-25  Zoltan Varga  <vargaz@gmail.com>
2119         * AppDomain.cs: Update after MonoMethod.InternalInvoke signature change.
2121         * Environment.cs: Bump corlib version.
2123         * DateTime.cs: Fix a warning.
2125 2008-03-21  Sebastien Pouliot  <sebastien@ximian.com>
2127         * String.cs: Use "this" in Split method instead of calling ToString.
2128         Found using Gendarme.
2130 2008-03-06  Marek Safar  <marek.safar@gmail.com>
2132         * MonoCustomAttrs (GetCustomAttributes): Type cannot be null with
2133         typeof (MonoCustomAttrs) hack.
2135 Wed Mar 5 19:39:01 CET 2008 Paolo Molaro <lupus@ximian.com>
2137         * Type.cs: optimize GetTypeCode () for the common case
2138         (fixes bug #367354).
2140 2008-03-02  Roei Erez  <roeie@mainsoft.com>
2142         * DateTime.cs: Improve the patch supplied by James Purcell to be
2143           dotnet-compatible, and add support for RoundTripKind parsing. 
2144           Fixed reopened bug #352210.
2147 Tue Feb 26 17:50:17 CET 2008 Paolo Molaro <lupus@ximian.com>
2149         * DateTime.cs: instroduce a method that returns ticks monotonically.
2151 2008-02-26  Ivan N. Zlatev  <contact@i-nz.net>
2153         * Attribute.cs, MonoCustomAttrs: MS ignores the inherit param in 
2154         PropertyInfo's ICustomAttributeProvider implementation, but not 
2155         in the Attributes, so directly get the attributes from 
2156         MonoCustomAttrs instead of going throught the PropertyInfo's 
2157         ICustomAttributeProvider.
2158         [Fixes bugs #324472 and #322464]
2160 2008-02-26  Atsushi Enomoto  <atsushi@ximian.com>
2162         * DateTime.cs : fix roundtrip regression in Sys.Xml.XmlConvertTests,
2163           patch by James Purcell (at #352210).
2165 2008-02-25  Atsushi Enomoto  <atsushi@ximian.com>
2167         * DateTime.cs, DateTimeUtils.cs : make Kind value from parse result
2168           as dotnet-compatible. Patch by James Purcell, fixed bug #352210.
2170 2008-02-18  Atsushi Enomoto  <atsushi@ximian.com>
2172         * DBNull.cs : ToType(typeof(DBNull),...) should be allowed.
2174 2008-02-16  Sebastien Pouliot  <sebastien@ximian.com>
2176         * Object.cs: Fix parameter name to match MS implementation. Found
2177         using Gendarme.
2178         * ValueType.cs: Fix parameter name to match MS implementation. 
2179         Found using Gendarme.
2181 2008-02-14  Jb Evain  <jbevain@novell.com>
2183         * Delegate.cs (CreateDelegate): refactor. DRY!
2185 2008-02-12  Gert Driesen  <drieseng@users.sourceforge.net>
2187         * Delegate.cs (CreateDelegate): Walk the inheritance change to find
2188         matching method. Skip methods for which the return type does not match
2189         the delegate. Fixes bug #360784.
2191 2008-02-11  Eyal Alaluf <eyala@mainsoft.com>
2193         * NumberFormatter.cs: Fix ToString("R") for +-Infinity & NaN.
2195 2008-02-08  Sebastien Pouliot  <sebastien@ximian.com>
2197         * Random.cs: Explain (and extend) special case in Next(min,max)
2199 2008-02-08  Juraj Skripsky  <js@hotfeet.ch>
2201         * Random.cs (Next): Use rounding (via implicit conversion) only on
2202         positive values. Fixes bug 359918.
2204 2008-02-03  Sebastien Pouliot  <sebastien@ximian.com>
2206         * Environment.cs: Remove unused method found with Gendarme.
2208 2008-02-02  Gert Driesen  <drieseng@users.sourceforge.net>
2210         * Variant.cs: Fixed line endings.
2211         * MonoType.cs: Fixed parameter name for ArgumentException to match MS.
2213 2008-01-29  Zoltan Varga  <vargaz@gmail.com>
2215         * Type.cs (MakeGenericType): Fix exception message.
2217 2008-01-29  Jb Evain  <jbevain@novell.com>
2219         * AppDomain.cs: add SL overload of DefineDynamicAssembly.
2221 2008-01-29  Marek Safar  <marek.safar@gmail.com>
2223         * Type.cs (MakeGenericType): More argument checks. Fixes #356863 by
2224          Sanghyeon Seo.
2226 2008-01-25  Rodrigo Kumpera  <rkumpera@novell.com>
2228         * MonoType.cs (InvokeMember): Fixed exceptions arguments for last comit.
2230 2008-01-24  Rodrigo Kumpera  <rkumpera@novell.com>
2232         * MonoType.cs (InvokeMember): Check for parameters without default value which
2233         the supplied argument is Missing.Value. Fixes one of the issues of #348522.
2235 2008-01-21  Sebastien Pouliot  <sebastien@ximian.com>
2237         * DateTimeOffset.cs: Avoid NRE on bad cast if null is provided to
2238         Equals(object). Found using Gendarme.
2240 2008-01-16  Zoltan Varga  <vargaz@gmail.com>
2242         * DateTimeOffset.cs: Fix warnings.
2244 2008-01-15  Stephane Delcroix  <sdelcroix@novell.com>
2246         * DateTimeOffset.cs: ParseExact: parse f, F, s too.
2248 2008-01-15  Stephane Delcroix  <sdelcroix@novell.com>
2250         * DateTimeOffset.cs: ParseExact: honor the DateTimeStyles parameter.
2252 2008-01-15  Zoltan Varga  <vargaz@gmail.com>
2254         * AppDomainSetup.cs Buffer.cs Action.cs Array.cs BadImageFormatException.cs Byte.cs
2255         Attribute.cs _AppDomain.cs Boolean.cs AppDomain.cs: Fix some argument names to be 
2256         consistent with MS.
2258 2008-01-14  Sephane Delcroix  <sdelcroix@novell.com>
2260         * DateTimeOffset.cs: start refactoring DoParse.
2262 2008-01-14  Zoltan Varga  <vargaz@gmail.com>
2264         * Type.cs (GetConstructor): Use correct binding flags in type (Type[]) overload.
2265         Fixes #353604.
2267 2008-01-13  Eyal Alaluf <eyala@mainsoft.com>
2269         * NumberFormatter.cs, Double.cs, Single.cs: Fix Single & Double default
2270           ToString to handle +-Infinity & NaN.
2272 2008-01-14  Sephane Delcroix  <sdelcroix@novell.com>
2274         * DateTimeOffset.cs: ParseExact (string, string, IFormatProvider) 
2275         implemented.
2278 2008-01-14  Zoltan Varga  <vargaz@gmail.com>
2280         * NumberFormatter.cs: Remove some redundant assignments.
2282 2008-01-13  Gert Driesen  <drieseng@users.sourceforge.net>
2284         * AppDomain.cs: Also fix bug #350530 for overload taking evidence and
2285         args. On 1.0 profile, throw COMException to match MS and to allow
2286         our unit tests to pass on MS.
2288 2008-01-13  Eyal Alaluf <eyala@mainsoft.com>
2290         * NumberFormatter.cs: Check in redesigned implementation. Improves
2291           double.ToString performance by 2-3 orders of magnitude and other
2292           primitive numeric types ToString performance.
2293         * NumberFormatter.jvm.cs: The TARGET_JVM managed tables for NumberFormatter
2294           class for reuse if a completely managed NumberFormatter is required.
2295         * Int16.cs UInt64.cs Double.cs UInt16.cs SByte.cs Byte.cs TimeSpan.cs
2296           Int32.cs Int64.cs Single.cs UInt32.cs: Adapt to new NumberFormatter.
2298 2008-01-13  Zoltan Varga  <vargaz@gmail.com>
2300         * AppDomain.cs: Check for a missing entry point in the ExecuteAssembly methods.
2301         Fixes #350530.
2303 2008-01-11  Stephane Delcroix  <sdelcroix@novell.com>
2305         * DateTimeOffset.cs: Fixes the MinValue (was equal to MaxValue)...
2307 2008-01-10  Zoltan Varga  <vargaz@gmail.com>
2309         * Delegate.cs: Implement argument checking in CreateDelegate(Type,object,MethodInfo)
2310         method. Make the CreateDelegate(Type,MethodInfo) overload calls this version.
2311         Fixes #352805.
2313 2008-01-10  Stephane Delcroix  <sdelcroix@novell.com>
2315         * DateTimeOffset.cs: chain the Parse* methods together.
2317 2008-01-09  Atsushi Enomoto  <atsushi@ximian.com>
2319         * DateTime.cs : revert the previous fix. It caused regression on
2320           the buildbot.
2322 2008-01-09  Atsushi Enomoto  <atsushi@ximian.com>
2324         * DateTime.cs : fixed bug #352210. Kind is unspecified by default,
2325           while the tick is for local time by default. This fix also involved
2326           special x509 handling.
2328 2008-01-08  Marek Safar  <marek.safar@gmail.com>
2330         * Array.cs (LastIndexOf<T>): Fixed bound checking.
2332 2008-01-06  Zoltan Varga  <vargaz@gmail.com>
2334         * AppDomain.cs: Move the assembly loading in ExecuteAssembly and 
2335         ExecuteAssemblyByName to managed to as said by the MSDN docs. Fixes #350530.
2337         * Environment.cs: Bump corlib version.
2338         
2339 2008-01-02  Marek Habersack  <mhabersack@novell.com>
2341         * Array.cs: fix a typo to unbreak the build.
2343 2008-1-1  Scott Peterson  <lunchtimemama@gmail.com>
2345         * Array.cs: Slight improvement to the quicksort algorithm.
2347 2007-12-28  Gert Driesen  <drieseng@users.sourceforge.net>
2349         * Environment.cs: Bump corlib version.
2351 2007-12-20  Gert Driesen  <drieseng@users.sourceforge.net>
2353         * AppDomain.cs: Added check for null AssemblyName, and invalid
2354         AssemblyName.Name to DefineDynamicAssembly overloads. Loosely based on
2355         patch provided by Cedric Vivier. Fixes bug #349272.
2357 2007-12-20  Stephane Delcroix  <sdelcroix@novell.com>
2359         * DateTimeOffset.cs: set [Min|Max]Value to UTC. Fixes #349621.
2361 2007-12-19  Stephane Delcroix  <sdelcroix@novell.com>
2363         * DateTime.cs:
2364         * DateTimeOffset.cs:
2365         * DateTimeUtils.cs: factored out the common pieces of DT and DTO into DTU.
2367 2007-12-18  Stephane Delcroix  <sdelcroix@novell.com>
2369         * DateTimeOffset.cs: implementing the 4 ToString overloads by reusing
2370         large chunks of System.DateTime code.
2372 2007-12-16  Stephane Delcroix  <sdelcroix@novell.com>
2374         * DateTimeOffset.cs: some bugfix discovered by unit tests.
2376 2007-12-16  Stephane Delcroix  <sdelcroix@novell.com>
2378         * DateTimeOffset.cs: almost complete implementation, still missing the
2379         Parse* and ToString methods.
2381 2007-12-11  Zoltan Varga  <vargaz@gmail.com>
2383         * AppDomain.cs (DoAssemblyResolve): Fix detection of whenever there is a
2384         reflection-only assembly resolve hook.
2386 2007-12-10  Stephane Delcroix  <sdelcroix@novell.com>
2388         * DateTimeOffset.cs: partial implementation. no longer just a stub.
2390 2007-11-30  Zoltan Varga  <vargaz@gmail.com>
2392         * Delegate.cs: Compute the Method property lazily.
2393         
2394         * Delegate.cs: Add a 'method' field.
2396         * Environment.cs: Bump corlib version.
2398 2007-11-21  Zoltan Varga  <vargaz@gmail.com>
2400         * Array.cs: Make the InternalArray_... methods internal.
2402         * Environment.cs: Bump corlib version.
2404 2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>
2406         * AppDomain.cs : filled 2.0 API (extra ones are from 2.0 SP1).
2407         * ContextMarshalException.cs : obsolete in 2.0.
2409 2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>
2411         * MarshalByRefObject.cs : Added MemberwiseClose() stub.
2412           GetLifetimeService() is not virtual (in both 2.0 and 1.1).
2413         * Console.cs : implemented missing 2.0 key members.
2415 2007-11-18  Gert Driesen  <drieseng@users.sourceforge.net>
2417         * Enum.cs: Provided ParamName of Argument(Null)Exceptions. Rewrote
2418         some exception messages.
2420 2007-11-16  Gert Driesen  <drieseng@users.sourceforge.net>
2422         * AppDomain.cs: Added some obsolete messages.
2424 2007-11-15  Gert Driesen  <drieseng@users.sourceforge.net>
2426         * MonoType.cs: Modified ParamName for ArgumentException to match
2427         MS. Provide meaningful exception messages. On 2.0, throw ANE instead
2428         of ArgumentException when args is null.
2430 2007-11-15  Zoltan Varga  <vargaz@gmail.com>
2432         * MonoType.cs (Invoke): Allow BindingFlags.SetField and
2433         BindingFlags.SetProperty to be specified together. Fixes #321735.
2435 2007-11-14  Miguel de Icaza  <miguel@novell.com>
2437         * Console.cs, ConsoleDriver.cs, TermInfoDriver.cs,
2438         TermInfoReader.cs, TermInfoNumber.cs, TermInfoStrings.cs,
2439         CStreamReader.cs, CStreamWriter.cs, NullConsoleDriver.cs,
2440         WindowsConsoleDriver.cs: In the 2.1 profile we do not need the
2441         full-blown Console (the terminal-addressable console) so we shrink
2442         it down to the basic 1.0 Console.
2444 2007-11-14  Marek Safar  <marek.safar@gmail.com>
2446         * Nullable.cs: Optimized to use generic comparers.
2448 2007-11-14  Zoltan Varga  <vargaz@gmail.com>
2450         * Array.cs (Copy): Throw InvalidCastException in more cases.
2452 2007-11-13  Zoltan Varga  <vargaz@gmail.com>
2454         * GCCollectionMode.cs GCLatencyMode.cs: New net 3.5 types.
2456 2007-11-12  Atsushi Enomoto  <atsushi@ximian.com>
2458         * NumberFormatter.cs : revert previous two changes. It does not
2459           really work for float and hence will rather bring confusion.
2461 2007-11-12  Atsushi Enomoto  <atsushi@ximian.com>
2463         * NumberFormatter.cs : limit the situation that needs roundtrip
2464           verification in the previous change to Double.
2466 2007-11-12  Atsushi Enomoto  <atsushi@ximian.com>
2468         * NumberFormatter.cs : applied a quick fix for bug #320433. It needs
2469           true fix to avoid extra perf. loss.
2471 2007-11-08  Sebastien Pouliot  <sebastien@ximian.com>
2473         * TimeZone.cs: Under 2.0 we must return a Local DateTime.MinValue.
2474         Fix the regression on the x86_64 bot which seems to be in it's own
2475         timezone.
2477 2007-11-07  Gert Driesen  <drieseng@users.sourceforge.net>
2479         * Exception.cs: Cosmetic change to default exception message on
2480         2.0 profile.
2482 2007-11-05  Gert Driesen  <drieseng@users.sourceforge.net>
2484         * Array.cs: Distinguish between notstarted and finished state when
2485         throwing IOE in Current, and provide meaningful exception message.
2487 2007-11-05  Sebastien Pouliot  <sebastien@ximian.com>
2489         * Array.cs: Fix Enumerator<T>.Reset (#322248).
2491 2007-11-05  Rodrigo Kumpera  <rkumpera@novell.com>
2493         * Type.cs (MakeGenericType): fix for #331199. If an user-defined type
2494         was used, the runtime would crash. Now we apply UnderlyingSystemType to
2495         all types before handling to the runtime.
2497 2007-11-05  Stephane Delcroix  <sdelcroix@novell.com>
2499         * TimeZone.cs: fix for #323911. The our after DST.Start is already DST.
2501 2007-11-03  Atsushi Enomoto  <atsushi@ximian.com>
2503         * DateTime.cs : fix for #330085. for Local time, convert to Utc
2504           before getting ticks.
2506 2007-11-03  Gert Driesen  <drieseng@users.sourceforge.net>
2508         * ArgumentException.cs: Change default message to match MS. Removed
2509         unnecessary check from Message, since base.Message can never be null.
2511 2007-11-01  Atsushi Enomoto  <atsushi@ximian.com>
2513         * DateTime.cs : ParseExact() should ignore 'K' when there is no
2514           character is left.
2516 2007-11-01  Atsushi Enomoto  <atsushi@ximian.com>
2518         * DateTime.cs : in roundtrip mode, 'Z' should turn the tick value to
2519           utc time and should not result in different ticks.
2520           Fixed bug #338064.
2522 2007-10-30  Miguel de Icaza  <miguel@novell.com>
2524         * UInt32.cs (Parse): Use Jeff Stedfast's parsing code which is
2525         smaller and does not need checked() constructs. 
2527         * Int64.cs, Int32.cs, Int16.cs: small tuneup: do not throw
2528         exception, instead return the exception like every other place in
2529         this code. 
2531         * Int16.cs, Int32.cs, Int64.cs: Use the Jeff Stedfast parsing code
2532         which is smaller.  We no longer use "checked" to check for
2533         overflows, I refactored some stuff and cleaned up the rest and
2534         fixes #331525.
2536 2007-10-27  Zoltan Varga  <vargaz@gmail.com>
2538         * MonoType.cs: Applied patch from Mario A Chavez 
2539         <mario.chavez@gmail.com>. Add support for invoking members with the 
2540         ParamArray attribute. Fixes #336841.
2542 2007-10-26  Zoltan Varga  <vargaz@gmail.com>
2544         * MonoType.cs (InvokeMember): Make sure one operation is passed in the binding
2545         flags. Fixes #336936.
2547 Fri Oct 26 19:43:09 CEST 2007 Paolo Molaro <lupus@ximian.com>
2549         * Environment.cs, String.cs: patch from Tyler Larson
2550         <mono-devel@tlarson.com> to fix the handling of the RemoveEmptyEntries
2551         option in string.Split (bug #322375).
2553 2007-10-26  Dick Porter  <dick@ximian.com>
2555         * Environment.cs: Bump version because of Thread initialisation
2556         changes
2558 2007-10-25  Lluis Sanchez Gual  <lluis@novell.com>
2560         * AppDomain.cs: In DefaultDomain, wrap the returned domain with
2561         a proxy if the current domain is not the root domain.
2563 2007-10-24  Atsushi Enomoto  <atsushi@ximian.com>
2565         * Type.cs : implemented ReflectionOnlyGetType().
2567 2007-10-19  Zoltan Varga  <vargaz@gmail.com>
2569         * AppDomain.cs: Add NET 3.5 DefineDynamicAssembly () overloads.
2571 2007-10-13  Zoltan Varga  <vargaz@gmail.com>
2573         * Delegate.cs (CreateDelegate): Allow binding instance methods to 
2574         delegates with an extra argument, a NET 2.0 feature. Fixes #333647.
2576 Fri Oct 12 08:11:50 CEST 2007 Paolo Molaro <lupus@ximian.com>
2578         * String.cs: reverted unapproved patch that breaks the build.
2580 2007-10-11  Joel Reed  <joelwreed@comcast.com>
2582         * String.cs: fix String.Split(char[],int,StringSplitOptions)
2583         with StringSplitOptions.RemoveEmptyEntries option. The correct 
2584         behavior is to remove empty entries while the string is being split, 
2585         and always return the maximum number of elements possible.
2586         Patch from: Tyler Larson <mono-devel@tlarson.com>
2587         
2588 2007-09-28  Jb Evain  <jbevain@novell.com>
2590         * Object.cs: Make ToString return Type.ToString ()
2591         by default instead of Type.FullName to match .net
2592         behavior. Fix #329419.
2594 2007-09-28  William Holmes  <billholmes54@gmail.com>
2596         * DateTime.cs: Check for AssumeUniversal when parsing string.
2597          Fixes bug #324845
2599 2007-09-21  Gert Driesen  <drieseng@users.sourceforge.net>
2601         * Enum.cs: Use regular single quotes in exception message.
2603 2007-09-14  Paolo Molaro <lupus@ximian.com>
2605         * String.cs: implemented all the string ctors using CreateString
2606         methods, so they can run completely in managed code.
2608 2007-09-13  Marek Safar  <marek.safar@gmail.com>
2610         * DateTimeOffset.cs: Implemented few properties.
2612 2007-09-13  Atsushi Enomoto  <atsushi@ximian.com>
2614         * Decimal.cs, Math.cs : implemented midpoint rounding.
2616 2007-09-13  Atsushi Enomoto  <atsushi@ximian.com>
2618         * Activator.cs : implemented 2.0 CreateInstance()
2619           and CreateInstanceFrom () overloads.
2621 2007-09-12  Sebastien Pouliot  <sebastien@ximian.com>
2623         * Decimal.cs: More explicit text in exception (old and almost 
2624         forgetten patch on laptop ;-)
2626 2007-09-10  Atsushi Enomoto  <atsushi@ximian.com>
2628         * OperatingSystem.cs : implemented ISerializable.
2630 2007-08-28  Zoltan Varga  <vargaz@gmail.com>
2632         * DateTime.cs: Fix a warning.
2634 2007-08-25  Robert Jordan  <robertj@gmx.net>
2636         * DateTime.cs: Implement internal To/FromBinary for the 1.1 profile.
2638 2007-08-25  Alan McGovern  <amcgovern@novell.com>
2640         * DateTime.cs: Reverted DateTime changes.
2642 2007-08-25  Robert Jordan  <robertj@gmx.net>
2644         * DateTime.cs: Implement internal To/FromBinary for the 1.1 profile.
2646 2007-08-24  Zoltan Varga  <vargaz@gmail.com>
2648         * Array.cs: Fix min + max / 2 overflows in the BinarySearch and qsort methods.
2649         Fixes #82469.
2651 2007-08-23  Marek Safar  <marek.safar@gmail.com>
2653         * DateTimeOffset.cs: New .NET 3.5 struct for 2.0 mscorlib.
2654         
2655 2007-08-23  Eyal Alaluf <eyala@mainsoft.com>
2657         * DateTime.cs: Numerous improvements to DateTime.Parse. It handles a lot
2658           more possible formats and more correctly at that. It is also now easier
2659           to manage the formats DateTime.Parse supports.
2661 2007-08-17  Zoltan Varga  <vargaz@gmail.com>
2663         * Exception.cs: Make 1.0 and 2.0 object layout the same since this class is seen
2664         by the runtime. Fixes #82459.
2666 2007-08-16  Gert Driesen  <drieseng@users.sourceforge.net>
2668         * MonoCustomAttrs.cs: In IsDefined, throw ArgumentNullException if
2669         attributeType is null to avoid a SIGSEGV (and match MS). Only partial
2670         fix for bug #82431 on 1.0 profile; it fully fixes the problem for the
2671         1.0 profile, but more changes (in the runtime) are required for the
2672         2.0 profile. Added a FIXME explaining the problem.
2674 2007-08-15  Gert Driesen  <drieseng@users.sourceforge.net>
2676         * MonoCustomAttrs.cs: In IsDefined, only walk inheritance chain if
2677         both AttributeUsage.Inherited and inherit are true. Fixed bug #82431.
2679 2007-08-13  Gert Driesen  <drieseng@users.sourceforge.net>
2681         * ArgumentException.cs: Ignore zero-length ParamName for Message.
2682         Use ParamName property instead of field, since the property is marked
2683         virtual.
2684         * Array.cs: Provide more meaningful exception message when destination
2685         array is not long enough.
2687 2007-08-11  Zoltan Varga  <vargaz@gmail.com>
2689         * Array.cs: Implement InternalArray__set_Item. Fixes #82345.
2691 2007-08-08  Atsushi Enomoto  <atsushi@ximian.com>
2693         * IntPtr.cs : oops, do not ignore format in ToString(string).
2695 2007-08-08  Atsushi Enomoto  <atsushi@ximian.com>
2697         * GC.cs, Exception.cs, IntPtr.cs, Enum.cs, DateTime.cs, Convert.cs
2698           ConsoleKeyInfo.cs, String.cs, Object.cs, Attribute.cs,
2699           Version.cs : couple of cosmetic 2.0 API fixes.
2701 2007-08-06  Aaron Bockover  <abockover@novell.com>
2703         * Environment.cs (ReadXdgUserDir): Support the changes to the
2704         xdg-user-dirs spec that allow $HOME to start the path; also allows
2705         for quotes surrounding the path (Patch ported from Banshee,
2706         BGO #461596)
2708 2007-07-28  Miguel de Icaza  <miguel@novell.com>
2710         * MulticastDelegate.cs (Equals): do not cast to avoid exceptions,
2711         instead use the "as" operator, as pointed out by Jesse Jones'
2712         tool. 
2714 2007-07-21  Gert Driesen  <drieseng@users.sourceforge.net>
2716         * BitConverter.cs: Fixed exceptions to match MS. Fixed invalid use
2717         of ArgumentOutOfRangeException and ArgumentException ctors that take
2718         both parameter name and message. In ToString throws ArgumentException
2719         instead of ArgumentOutOfRangeException when length is negative, and
2720         return zero-length string when length is 0.
2722 2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
2724         * AppDomainSetup.cs : fix serialization regression.
2726 2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
2728         * AppDomainSetup.cs :
2729           MonoTODO AppDomainInitializer as its implementation is wrong.
2731 2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
2733         * AppDomainSetup.cs : added missing 2.0 members.
2734         * AppDomain.cs : support AppDomainInitializer.
2736 2007-06-06  Miguel de Icaza  <miguel@novell.com>
2738         * Int16.cs, UInt64.cs, SByte.cs, UInt16.cs, Byte.cs, Int32.cs,
2739         Int64.cs, UInt32.cs: Fix for 81775.
2741         I removed Parse from a Byte.cs and UInt16.cs as in various cases
2742         they still depended on UInt32.cs for parsing, there is no reason
2743         to keep all of this code duplicated (UInt64 is a different case
2744         though). 
2746         I was hoping for some feedback on whether my tests are correct,
2747         but so far no takers.
2749 2007-07-14  Zoltan Varga  <vargaz@gmail.com>
2751         * ModuleHandle.cs: Implement the generic versions of the ResolveXXXHandle () methods.
2752         
2753         * ModuleHandle.cs: Add stubs for generic ResolveXXXHandle () methods.
2755 2007-07-10  Alan McGovern <amcgovern@novell.com>
2757         * Guid.cs: All whitespace should be trimmed from before and
2758         after a string passed into the Guid constructor. Fixes #81958
2760 2007-07-10  Zoltan Varga  <vargaz@gmail.com>
2762         * RuntimeTypeHandle.cs: Fix signatures of == and != operators.
2764         * ModuleHandle.cs: Add missing 2.0 stuff.
2766 2007-07-08  Zoltan Varga  <vargaz@gmail.com>
2768         * *.cs: Add missing ComVisible attributes.
2770         * Delegate.cs: Add missing 2.0 CreateDelegate () methods.
2772 2007-07-07  Gert Driesen  <drieseng@users.sourceforge.net>
2774         * DateTime.cs: In ParseExact, throw ArgumentNullException if format
2775         is null; throw FormatException if formats array is empty or if one of
2776         items is null or a zero-length string.
2778 2007-07-06  Rodrigo Kumpera  <rkumpera@novell.com>
2780         * Double.cs (Parse): Fix for string ending in garbaga, it was just ignoring it
2781         instead of throwing FormatException. Fixes #81777
2783 2007-07-06  Rodrigo Kumpera  <rkumpera@novell.com>
2785         * Double.cs (Parse): Fix for whitespace only strings, it was returning zero 
2786         instead of throwing FormatException. Fixes #81630 
2788 2007-07-06  Alan McGovern  <amcgovern@novell.com>
2790         * DateTime.cs: If the format is null or empty, it should default to 'G'.
2791         Fixes bug 81778
2793 2007-07-06  Jonathan Chambers  <joncham@gmail.com>
2795         * __ComObject.cs: Support ExtensibleClassFactory.
2798 2007-07-06  Aaron Bockover  <abockover@novell.com>
2800         * Environment.cs (InternalGetFolderPath): Try reading some
2801         paths from ~/.config/user-dirs.dirs (XDG user dirs spec);
2802         always return something for MyPictures
2804 2007-07-04  Atsushi Enomoto  <atsushi@ximian.com>
2806         * Type.cs : 2.0 TypeHandle and ContainsGenericParameters are virtual
2807           (required fix for 2.0 reflection API fixes).
2809 2007-06-22  Jonathan Chambers  <joncham@gmail.com>
2811         * __ComObject.cs: Move interface lookup to unmanaged.
2813 2007-06-21  Zoltan Varga  <vargaz@gmail.com>
2815         * Environment.cs: Bump corlib version.
2817         * Delegate.cs: Applied patch from Robert Jordan (robertj@gmx.net). Keep
2818         the dynamic method referenced by a delegate alive.
2820 2007-06-05  David Ferguson <davecferguson@gmail.com>
2822         * DateTime.cs: Changed DateTime.Parse() to throw a FormatException
2823           instead of an ArgumentOutOfRangeException for .NET 2.0.  An
2824           ArgumentOutOfRangeException is still thrown for .NET 1.1.
2825           Fixes bug #77633
2826           
2827 Mon Jun 4 14:52:17 CEST 2007 Paolo Molaro <lupus@ximian.com>
2829         * String.cs: optimized CompareOrdinal ().
2831 2007-06-02  Zoltan Varga  <vargaz@gmail.com>
2833         * MonoCustomAttrs.cs (GetBase): Revert last change as it breaks the build.
2834         
2835         * MonoCustomAttrs.cs (GetBase): Handle properties correctly. Fixes #81797.
2837 2007-05-31  Zoltan Varga  <vargaz@gmail.com>
2839         * Delegate.cs: Add invoke_impl field. Reorder fields for better cache behavior. Add
2840         SetMulticastDelegate icall.
2842         * MulticastDelegate.cs (CombineImpl): Call SetMulticastDelegate () on newly created
2843         delegate.
2845         * Environment.cs: Bump corlib version.
2846         
2847 2007-05-25  Jonathan Chambers  <joncham@gmail.com>
2849         * __ComObject.cs: Add overload to GetInterface to allow
2850         not throwing exceptions. Fixes as and is operators for COM objects.
2852 2007-05-23  Atsushi Enomoto  <atsushi@ximian.com>
2854         * Array.cs : reverting Array.cs fixes since the runtime depends on
2855           those method attributes.
2857 2007-05-23  Atsushi Enomoto  <atsushi@ximian.com>
2859         * Int16.cs UInt64.cs UIntPtr.cs Double.cs CrossAppDomainDelegate.cs
2860           ResolveEventHandler.cs IntPtr.cs UnhandledExceptionEventHandler.cs
2861           Void.cs AssemblyLoadEventHandler.cs SByte.cs UInt16.cs DateTime.cs
2862           Byte.cs TimeSpan.cs Decimal.cs Int32.cs Delegate.cs
2863           AppDomainInitializer.cs MulticastDelegate.cs Int64.cs
2864           EventHandler.cs Single.cs UInt32.cs AsyncCallback.cs :
2865           cosmetic attribute fixes (ComVisible/Serializable).
2867 2007-05-22  Atsushi Enomoto  <atsushi@ximian.com>
2869         * Convert.cs : completed 2.0 (ToBase64CharArray).
2870         * String.cs : removed MonoTODO.
2871         * DataMisalignedException.cs : removed extra .ctor().
2872         * Array.cs : internalize extra members. Fixed reliability contract.
2874 2007-05-17  Atsushi Enomoto  <atsushi@ximian.com>
2876         * DateTime.cs : added support for 'K'.
2878 2007-05-11  Jonathan Chambers  <joncham@gmail.com>
2880         * __ComObject.cs: No need to call CoInitialize anymore since
2881         Thread.ApartmentState was implemented.
2883 2007-05-11  Jeffrey Stedfast  <fejj@novell.com>
2885         Fixes bug #81540
2887         * TermInfoDriver.cs (WriteSpecialKey): Actually clear the screen
2888         and reset the cursor position to 0,0 when the key is
2889         ConsoleKey.Clear.
2890         (Clear): Reset the cursor position to 0,0
2892 2007-05-09  Marek Safar  <marek.safar@gmail.com>
2894         * MulticastDelegate.cs: Fixed operators logic.
2896 2007-05-09  Marek Habersack  <mhabersack@novell.com>
2898         * DateTime.cs: add a format used in ASP.NET QuickStarts 
2899           ("HH':'mm tt MM/dd/yyyy")
2901 2007-04-30  Zoltan Varga  <vargaz@gmail.com>
2903         * Type.cs (Equals): Allow a null argument.
2905 2007-04-27  Zoltan Varga  <vargaz@gmail.com>
2907         * Environment.cs (StackTrace): Avoid skipping a frame to be
2908         compatible with MS.
2910 2007-04-25  Atsushi Enomoto  <atsushi@ximian.com>
2912         * DateTimeTest.cs : looks like 'F' even removes preceding '.' ...
2914 2007-04-25  Atsushi Enomoto  <atsushi@ximian.com>
2916         * DateTime.cs : implemented new-2.0 'F' pattern letter.
2918 2007-04-24  Jeffrey Stedfast  <fejj@novell.com>
2920         Fixes the last of the bugs listed in bug #77525
2922         * TermInfoDriver.cs (ctor): For known terminal types, set color16
2923         to true (since we know they support 16 colours).
2924         (Init): set the setlfgcolor and setlbgcolor format strings.
2925         (BackgroundColor): Use the appropriate formatter string for
2926         setting the bgcolor.
2927         (ForegroundColor): Use the appropriate formatter string for
2928         setting the fgcolor.
2929         (TranslateColor): Now takes (and sets appropriately) an output
2930         'bool light' argument.
2932 2007-04-24  Marek Habersack  <mhabersack@novell.com>
2934         * TermInfoDriver.cs: don't include debug stuff by default - it
2935         breaks multithreaded applications (they all attempt to open
2936         console.log and fail because of sharing violation).
2938 2007-04-23  Jeffrey Stedfast  <fejj@novell.com>
2940         * TermInfoDriver.cs (ReadKeyInternal): Since our input stream is
2941         buffered, check if it has more buffered input in addition to our
2942         timeout check. This makes it such that we will actually correctly
2943         match multi-char escape sequences.
2944         (Read): Changed the logic slightly wrt 'fresh' echoing. Once we
2945         encounter a fresh char, all chars afterward should also be
2946         considered 'fresh' even if 'fresh' is returned as false later.
2947         (ReadLine): Same logic here.
2949 2007-04-23  Jeffrey Stedfast  <fejj@novell.com>
2951         Fixes bug #80702 (via getting rid of the casting) and more.
2953         The following change makes it such that even if an application
2954         calls Console.SetOut() with its own output stream, we can still
2955         properly echo user-input from stdin to the real stdout.
2957         * TermInfoDriver.cs (ctor): Grab a reference to the original
2958         Console.stdout so we can be sure we always echo to console.
2959         (QueueEcho): No need to cast Console.stdout anymore.
2960         (EchoFlush): Same.
2961         (WriteConsole: Here too.
2963 2007-04-20  Jeffrey Stedfast  <fejj@novell.com>
2965         * TermInfoDriver.cs (QueueEcho): Renamed from Echo(char). Use
2966         CStreamWriter's new InternalWriteChars().
2967         (Echo): Since we can no longer go thru CStreamWriter's ::Write()
2968         method that does checks for special keys, do the checks here
2969         instead - if it is a special key, flush the echo buffer and then
2970         write the special key.
2971         (EchoFlush): Also updated to use CStreamWriter's new
2972         InternalWriteChars().
2973         (Read): Use the Echo(key) variety.
2974         (ReadKey): Same.
2975         (ReadLine): And here too.
2977         * CStreamWriter.cs (InternalWriteChars): Write a char array
2978         directly to stdout. Do not pass Go, do not collect $200.
2980 2007-04-19  Jeffrey Stedfast  <fejj@novell.com>
2982         Optimization for echoing keypresses back to the console when the
2983         user pastes a block of text rather than manually typing text.
2985         * TermInfoDriver.cs (Echo): A new convenience function for echoing
2986         characters/keys back to the console with an optimization twist and
2987         a bit of lime.
2988         (EchoFlush): Flush our pending echo queue
2989         (Read): Make use of Echo() both for convenience and for speed.
2990         (ReadLine): Same.
2991         (ReadKey): Make use of Echo()/EchoFlush() for simplicity of code,
2992         but we won't get the same optimization out of it.
2994 2007-04-19  Jeffrey Stedfast  <fejj@novell.com>
2996         Fix for bug #81373.
2998         * TermInfoDriver.cs: Changed 'buffer' to be a char array instead
2999         of a byte array and stdin is now a StreamReader rather than a
3000         Stream.
3001         (Init): Setup stdin as a StreamReader using Console.InputEncoding
3002         as our encoding.
3003         (GetCursorPosition): Use stdin.Read() instead of the old
3004         ReadByte() code.
3005         (AddToBuffer): Updated to allocate the correct array type for
3006         'buffer'.
3007         (ReadKeyInternal): Updated to use stdin.Read() rather than
3008         stdin.ReadByte(). This is the main reason we needed to use chars
3009         instead of bytes. Characters entered by the user need to be
3010         represented as unicode chars and not bytes like before.
3011         (Match): Now takes a char[] buffer argument instad of byte[] and
3012         compares the input buffer to the byte-map as chars.
3014 2007-04-18  Jeffrey Stedfast  <fejj@novell.com>
3016         Fixes bug #81159: behave the same as mscorlib
3018         * TermInfoDriver.cs (ReadKeyInternal): Now has an 'out bool fresh'
3019         argument which is used to tell our caller if the key was freshly
3020         read from the console or pre-buffered.
3021         (Read): New implementation of Console.In.Read(char[], int, int)
3022         that behaves exactly like mscorlib's implementation.
3023         (ReadKey): Updated for the ReadKeyInternal() API change - only
3024         echo if the key was fresh.
3025         (ReadLine): Same.
3027         * CStreamReader.cs (Read): Call the new TermInfoDriver.Read()
3029 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
3031         * CStreamWriter.cs (Write): Optimized this some more, we don't
3032         need a temporary buffer. Just blit chunks of the src buffer
3033         instead.
3035         * CStreamReader.cs (Read): Need to increment our array index so
3036         that we don't store each byte read into the same
3037         position. Discovered this while testing bug #81159 (which appears
3038         to work as expected with current svn, other than this buglet).
3040         * TermInfoDriver.cs (CursorTop::set): SetCursorPosition() sets our
3041         internal cursorTop variable, so no need to explicitly set it again
3042         after calling SetCursorPosition().
3043         (CursorLeft::set): Same idea here.
3045 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
3047         * TermInfoDriver.cs (ReadLine): Implemented a workaround for
3048         IronPython going behind System.Console's back when writing text to
3049         the screen (it doesn't seem to use Console.stdout, instead it
3050         creates its own file stream or something which just so happens to
3051         write to the same file descriptor) by querying for the cursor
3052         position in ReadLine(), so we lose no real performance (since we
3053         have to wait for user input anyway).
3055 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
3057         * TermInfoDriver.cs (Init): SetEcho(false), we'll be manually
3058         echoing from now on (ReadLine() has already been doing this, might
3059         as well make ReadKey() behave the same).
3060         (GetCursorPosition): No longer need to disable/re-enable echo
3061         anymore since it is now always false.
3062         (ReadKey): Manually echo the key back to the console just like
3063         ReadLine() has been doing (in the interest of consistancy) if
3064         intercept is false.
3065         (ReadLine): No longer need to disable/re-enable echo, echo is
3066         always off now. Also, fixed what appears to have been a typo.
3068 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
3070         * TermInfoDriver.cs (IsSpecialKey): Oops, Enter should not be
3071         treated as a special key. Just update out cursor state here like
3072         we do with normal chars.
3073         (WriteSpecialKey): Enter is a no-op now because it is not treated
3074         as a special key anymore.
3076         * CStreamWriter.cs (Write): Only flush our buffer if j > 0
3078 2007-04-17  Jeffrey Stedfast  <fejj@gnome.org>
3080         Turns out my last patch was broken wrt handling some special keys
3081         like Backspace and anything else that changed the cursor position
3082         in some non-standard way.
3084         * CStreamWriter.cs (Write): Instead of calling NotifyWrite(), we
3085         instead need to check IsSpecialKey(), and, if so, flush whatever
3086         we have saved in our temporary buffer and then call
3087         WriteSpecialKey(). Otherwise go on as we did in the last patch.
3089         * TermInfoDriver.cs (NotifyWrite): Broken up into 2 functions:
3090         (IsSpecialKey): Returns true if we need to do some special voodoo
3091         for this key
3092         (WriteSpecialKey): Write the special key (using whatever voodoo
3093         necessary)
3095 2007-04-16  Jeffrey Stedfast  <fejj@gnome.org>
3097         * CStreamWriter.cs (Write): Instead of writing 1 char at a time,
3098         copy the bytes into a temporary char array (with a fixed max size)
3099         so that we can minimize the number of Write() calls we make on the
3100         underlying stream (and thus on the write() system call).
3102 2007-04-17  Alp Toker  <alp@atoker.com>
3104         * Array.cs: Make GetRank() icall private. Subclasses should use the
3105         public Rank property.
3107 2007-04-16  Jeffrey Stedfast  <fejj@novell.com>
3109         * WindowsConsoleDriver.cs: Get rid of unused Echo property.
3111         * NullConsoleDriver.cs: Get rid of Echo property.
3113         * IConsoleDriver.cs: Get rid of Echo property.
3115         * ConsoleDriver.cs (Echo::get/set): Removed, not needed.
3117         * TermInfoDriver.cs (Echo::get/set): Removed, this isn't necessary
3118         and is confusing.
3119         (ReadKey): If we are intercepting the key, call SetEcho (false)
3120         and then reset back to true after reading the key.
3121         (ReadLine): Same idea here.
3122         (GetCursorPosition): We no longer need to keep track of the
3123         previous echo state, we no longer have it :)
3125 2007-04-16  Jeffrey Stedfast  <fejj@novell.com>
3127         Fix for bug #80710 (and a bug I introduced in my last fix due to
3128         this code assuming the underlying term echo state was always
3129         false) and other buglets that I noticed.
3131         * TermInfoDriver.cs (ReadLine): Set (term) Echo to false as we do
3132         our own manual echoing which prevents ^H from getting displayed on
3133         the screen when the user hits backspace.
3134         (ReadLine): If the user hits Backspace and builder.Length is 0, DO
3135         NOT echo the backspace back to the console, ever.
3136         (ReadLine): Only echo characters back to the console if echo is
3137         set to true. Seems the Echo ConsoleDriver property is a Mono
3138         extension, and I'm assuming this is the intended behavior? I can't
3139         see what else the Echo property would be useful for...
3141 2007-04-16  Jeffrey Stedfast  <fejj@novell.com>
3143         Fixes bug #81050
3145         * TermInfoDriver.cs: Renamed the noEcho variable to echo, makes
3146         the logic cleaner/simpler/etc. Plus it was never actually used
3147         other than in the property methods which are called Echo.
3148         (Init): Call ConsoleDriver.SetEcho() with the 'echo' value -
3149         allows for a slight optimization if called from within the
3150         Echo::set property.
3151         (GetCursorPosition): Instead of calling the Echo property methods,
3152         call ConsoleDriver.SetEcho() directly to toggle echo off (if echo
3153         isn't already off, and then back on once we're finished getting
3154         the position - assuming the echo state is on, of course) - this
3155         avoids calling back into Init() which just felt dirty.
3156         (Echo::set): If the Echo state differs from our current state,
3157         call ConsoleDriver.SetEcho() with the new state (this is the
3158         important piece of the fix for bug #81050).
3159         (ReadKey): Simplified the echo logic to make it a bit clearer.
3160         (ReadLine): Same.
3162 2007-04-16  Marek Safar  <marek.safar@gmail.com>
3164         * Char.cs (IsLetter): Faster version.
3166 2007-04-15  Alp Toker  <alp@atoker.com>
3168         * Decimal.cs: Provide 2.0 Round() overloads using System.Math.
3170 2007-04-15  Alp Toker  <alp@atoker.com>
3172         * Activator.cs: CreateInstance(Type,object[]) was not params before
3173         2.0.
3175 2007-04-15  Alp Toker  <alp@atoker.com>
3177         * NonSerializedAttribute.cs: Inherited=false in 2.0.
3179 2007-04-05  Dick Porter  <dick@ximian.com>
3181         * Environment.cs: Increment mono_corlib_version
3183 2007-04-03  Alp Toker  <alp@atoker.com>
3185         * Array.cs: CreateInstance(Type,int[]) is params.
3186         * AppDomain.cs: ExecuteAssemblyByName(string,Evidence,string[]) is
3187         params.
3189 2007-04-03  Alp Toker  <alp@atoker.com>
3191         * Convert.cs:
3192         * Math.cs: Should be static classes in 2.0.
3194 2007-04-03  Alp Toker  <alp@atoker.com>
3196         * Delegate.cs: DynamicInvoke(object[]) is params in 2.0.
3198 2007-04-03  Alp Toker  <alp@atoker.com>
3200         * Delegate.cs: Combine(Delegate[]) is params in 2.0.
3202 2007-03-27  Dick Porter  <dick@ximian.com>
3204         * Environment.cs: Increment mono_corlib_version;
3206 2007-03-16  Miguel de Icaza  <miguel@novell.com>
3208         * BitConverter.cs: Revert the patch from 72237 as that introduces
3209         a regression and we are not sure yet what we will be doing about
3210         that.
3212         Introduce a new InternalInt64BitsToDouble method that provides the
3213         fixed functionality, mark it as internal.
3215         Introduce a new SwappableToDouble method that includes the
3216         swapping ToDouble routine as introduced by Zoltan on 72237, this
3217         is used by InternalInt64BitsToDouble.
3219         * Math.cs (IEEERemainder): Use the InternalInt64BitsToDouble
3220         routine here to preserve the semantics from Zoltan.  
3222         The problem with BitConverter.cs is that it is completely hossed.
3223         In .NET 1.1 it is a bitwise copy, no attempt is ever done to do
3224         endian-specific swapping.   In .NET 2.0 it is *almost* like that,
3225         but it is subtly broken: if data is unaligned then endian
3226         conversions happen.  If the data is properly aligned it behaves
3227         like 1.0.
3229         In general BitConverter is a sad class that offers little control,
3230         we will be introducing a new mono bit converter and encourage
3231         users to use that instead of the entirely broken
3232         System.BitConverter. 
3234 2007-03-11  Gert Driesen  <drieseng@users.sourceforge.net>
3236         * Delegate.cs: Fixed bootstrap build.
3238 2007-03-08  Gert Driesen  <drieseng@users.sourceforge.net>
3240         * StringComparer.cs: Renamed StringComparer classes and promoted them
3241         to top-level classes. Merged Ordinal and OrdinalIgnoreCase comparers.
3242         Fixes binary serialization compatibility with MS.
3244 2007-03-06  Zoltan Varga  <vargaz@gmail.com>
3245   
3246         * Type.cs (Equals): Remove a useless check.
3248         * Type.cs: Rename Type:Equals(Type) to EqualsInternal, and add support for checking
3249         UnderlyingSystemType. Fixes #81037.
3251 2007-03-05 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
3253         * TermInfoDriver.cs: adjust buffer indexes after *every* read. Fixes
3254         bug #80329. Robert Jordan attached a similar patch to the bug report
3255         but I didn't see it until after my commit...
3257 2007-03-05  Peter Dettman <peter.dettman@iinet.net.au>
3259         * Enum.cs: The above patch makes the formatting for specifiers 'x'
3260         and 'X' behave like MS.NET, including the correct length for each
3261         possible underlying type, and correctly using capital letters for
3262         the 'X' case.
3264         Patch also includes some more test cases in EnumTests.cs.
3266 2007-02-25  Gert Driesen  <drieseng@users.sourceforge.net>
3268         * AppDomainSetup.cs: If configuration file is not an absolute path,
3269         then throw a MemberAccessException if ApplicationBase is not set,
3270         or otherwise consider it as a path relative to ApplicationBase.
3271         Fixes bug #80934. Patch provided by Jamie Cansdale.
3272         * AppDomain.cs: In CreateDomain, construct AppDomain with
3273         ApplicationBase of default domain if not explicitly set in specified
3274         AppDomainSetup. If config file is not set, then use filename of the
3275         default domain config file. Base on patch provided by Jamie Cansdale.
3277 2007-02-16  Sebastien Pouliot  <sebastien@ximian.com>
3279         * Random.cs: Fix exception messages ("then" -> "than"). Spotted by
3280         Mark A. Nicolosi (#80873).
3282 2007-02-12  Miguel de Icaza  <miguel@novell.com>
3284         * CStreamWriter.cs (Write with char []): take the lock once for
3285         all characters and call manually the InternalWriteChar properly to
3286         speed things up.
3288         (Write with string parameter): same thing, if the driver is not
3289         initialized use a fast path.
3291         If the driver has not been initialized, use a fast path instead. 
3293 Mon Feb 12 21:54:57 CET 2007 Paolo Molaro <lupus@ximian.com>
3295         * MonoType.cs: patch from Cedric Vivier <cedricv@neonux.com> to
3296         get correctly non-public fields from generic types.
3298 2007-02-08  Jonathan Chambers  <joncham@gmail.com>
3300         * __ComObject.cs: Add IUnknown field to object. Cleanup icalls.
3301         
3302 2007-02-03  Zoltan Varga  <vargaz@gmail.com>
3304         * BitConverter.cs (ToDouble): Fix this on big-endian machines.
3306 2007-01-30  Atsushi Enomoto  <atsushi@ximian.com>
3308         * TimeZone.cs: According to the docs, we should not throw when
3309         converting to Localtime if we are a negative value.  Instead we
3310         return DateTime.MinValue.
3312 2007-01-25  Atsushi Enomoto  <atsushi@ximian.com>
3314         * DateTime.cs : copy Kind in those members that return DateTime.
3315           Fixed bug #80614.
3317 2007-01-20  Miguel de Icaza  <miguel@novell.com>
3319         * Array.cs (InternalArray__ICollection_Contains,
3320         InternalArray__IndexOf): Cope with null values in the array (See
3321         bug #80563).
3323 2007-01-19  Marek Habersack  <grendello@gmail.com>
3325         * AppDomain.cs: Make sure that domain
3326         SetupInformation.ConfigurationFile is never null. MS.NET by
3327         default copies the default domain's ConfigurationFile value
3328         there. Fixes bug #80547.
3330 2007-01-14  Jensen Somers <jensen.somers@gmail.com>
3332         * ArraySegment.cs: Added Equals() method, operator == and !=
3333         overloading and GetHashCode().
3335 2007-01-10  Andy Hume <andyhume32@yahoo.co.uk>
3337         * Fixes to a number of exception classes.
3338         
3339         A project of mine uses #ctor(String,Exception) on 
3340         ObjectDisposedException, so I looked at adding that, and any 
3341         other similar constructors missing as per the class status report.
3342         
3343         I also spotted inconsistent setting of HResult, and fixed 
3344         those too.  For instance, ArgumentNullException sets HResult 
3345         only in three out of the four constuctors; not setting it in 
3346         the v2 (String,Exception) one -- and correctly not in the 
3347         Serialization constructor.
3348         
3349         
3350         So, I fixed the remaining missing (String,Exception) 
3351         constructors in corlib (2 of), and fixed the Hresult setting 
3352         in all exceptions there (4 of).
3353         
3354         The remaining Exception constructor omission listed was 
3355         InvalidCastException.ctor(System.String, System.Int32).  MSDN   says:
3356         "This constructor supplies an HRESULT value that is 
3357         accessible to inheritors of the InvalidCastException class, 
3358         via the protected HResult property of the Exception class."
3359         I added that method too, setting the HResult property from 
3360         the Int32 argument.
3362 2007-01-10  Atsushi Enomoto  <atsushi@ximian.com>
3364         * String.cs, StringComparer.cs : avoid extra string creation in
3365           StringComparer.OrdinalIgnoreCase.
3367 2007-01-05  Sebastien Pouliot  <sebastien@ximian.com>
3369         * DateTime.cs: Under 2.0 fix ParseExact to set DateTimeKind.Utc when
3370         DateTimeStyles.AdjustToUniversal is used.
3372 2007-01-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3374         * TermInfoDriver.cs: honor the backspace in ReadLine.
3376 2006-12-30  Marek Safar  <marek.safar@gmail.com>
3378         * String.cs: Character based method only.
3379         (IndexOf, LastIndexOf, Replace, IndexOfAny): Performance improvements.
3380         (Substring): Returns same instance when index is 0.
3382 2006-12-30  Alp Toker  <alp@atoker.com>
3384         * Decimal.cs:
3385         * Math.cs: Implement missing Decimal.Ceiling methods for 2.0.
3386         Closes #80384.
3388 2006-12-22  Sebastien Pouliot  <sebastien@ximian.com> 
3390         * DateTime.cs: Implement missing [To|From]Binary methods for 2.0.
3391         * OperatingSystem.cs: Implement missing ServicePack and VersionString
3392         properties (2.0).
3393         * Version.cs: Add missing Major|MinorRevision properties for 2.0.
3395 2006-12-14  Raja R Harinath  <rharinath@novell.com>
3397         * Type.cs (MakeGenericType): Can only be called on a generic type
3398         definition.
3400 2006-12-03  Miguel de Icaza  <miguel@novell.com>
3402         * DateTime.cs: Fix this on the 2.0 profile, return the
3403         DateTimeKind for the Now property
3405 2006-12-01  Duncan Mak  <duncan@a-chinaman.com>
3407         * ArgumentOutOfRangeException.cs (.ctor): 
3408         * NotFiniteNumberException.cs (.ctor): Add the 2.0 constructor
3409         that takes a string and an inner Exception.
3411 2006-12-01  Atsushi Enomoto  <atsushi@ximian.com>
3413         * DateTime.cs :
3414           When comparing enumerations, two or more enumeration values might
3415           match. Thus basically we should do complete matching, but right
3416           now just do reverse order search since only numbered abbrev month
3417           names matter (and full iteration is a mess). Fixed bug #80094.
3419 2006-12-01  Atsushi Enomoto  <atsushi@ximian.com>
3421         * DateTime.cs :
3422           use new internal clone-less DateTimeFormatInfo members.
3424 2006-11-29  Martin Baulig  <martin@ximian.com>
3426         * INullableValue.cs: Removed.
3428 2006-11-28  Duncan Mak  <duncan@novell.com>
3430         * ArgumentNullException.cs (.ctor): Added new constructor that's
3431         new in .NET 2.0.
3433         * InsufficientMemoryException.cs: Added missing 2.0 exception.
3434         
3435 2006-11-27  Jonathan Chambers  <joncham@gmail.com>
3437         * __ComObject.cs: Removed IDispatchMono.
3438         
3439 2006-11-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3441         * TermInfoDriver.cs:
3442         * Console.cs: lazy initialization of Console 2.0 (also when
3443         CancelKeyPress is used).
3445 2006-11-27  Miguel de Icaza  <miguel@novell.com>
3447         * Exception.cs (GetType): New method in 2.x, Another Moma catch. 
3449 Mon Nov 27 19:34:16 CET 2006 Paolo Molaro <lupus@ximian.com>
3451         * GC.cs: implemented the needed methods with icalls.
3453 2006-11-26  Miguel de Icaza  <miguel@novell.com>
3455         * Math.cs: Add Floor(Decimal d), for CreativeDocs.NET.
3457         Go Moma!  http://www.mono-project.com/Moma
3459         * Decimal.cs: Refactor code to implement TryParse.
3461         Also, avoid initializing messages on every call to stripStyles
3463 2006-11-22  Miguel de Icaza  <miguel@novell.com>
3465         * DateTime.cs: A small performance hit, we store the actual time
3466         span in a boxed object.   This way, it can be updated from other
3467         threads if necessary.   We always unbox to get the value before
3468         any potential updates. 
3470         Thanks to Gonzalo for catching this.
3472 2006-11-21  Miguel de Icaza  <miguel@novell.com>
3474         * TimeZone.cs (CurrentSystemTimeZone): Cache the current year
3475         daylight savings time in static variables.
3477         (CurrentSystemTimeZone.OnDeserialization): Initialize
3478         this_year_dlt and this_year on this method.
3480         (TimeZone): init statically the currentTimeZone instead of
3481         delaying that to the static property, avoiding a compare. 
3483 2006-11-22  Lluis Sanchez Gual  <lluis@novell.com>
3485         * Array.cs: (compare<T>) if a comparer is provided, it has
3486           priority over other comparison methods.
3488 2006-11-14  Miguel de Icaza  <miguel@novell.com>
3490         * Array.cs: TODOs will from now on be used to flag information
3491         that will be developer-visible, not to flag internal information
3492         that none of us reads or bothers about.
3494         For those, use "FIXME" strings in the source code instead. 
3496         * AppDomain.cs: Update to be more useful.
3498 2006-11-13  Atsushi Enomoto  <atsushi@ximian.com>
3500         * String.cs : fixed incorrect startIndex/length count in
3501           IndexOf(string,StringComparison).
3503 2006-11-07  Marek Safar  <marek.safar@gmail.com>
3505         * String.cs (LastIndexOf): If value is Empty, the return value is
3506         the start index position in value.
3508 2006-10-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3510         * TermInfoDriver.cs: prevent an invalid cast.
3512 2006-10-26  Marek Safar  <marek.safar@seznam.cz>
3514         * String.cs (Concat): Add fast-path for empty strings.
3516 2006-10-20  Jonathan Chambers  <joncham@gmail.com>
3518         * Variant.cs: Add support for bool and interfaces.
3519         
3520 2006-10-18  Kornél Pál  <kornelpal@gmail.com>
3522         * Type.cs: Removed is_subtype_of because IsSubclassOf should be used
3523           that is public and virtual. IsClass: Checking for ValueType is
3524           unnecessary. IsEnum: UnderlyingSystemType is not used anymore so
3525           no EnumBuilder hack is necessary. Checking for Enum is
3526           unnecessary. IsSerializable: Walk BaseType for user defined types.
3527           IsSubclassOf: Walk BaseType for user defined types.
3529         * MonoType.cs: IsValueTypeImpl is unnecessary. IsSubclassOf: Unlike
3530           Type system types throw ArgumentNullException on null Type
3531           argument.
3533 2006-10-14  Gert Driesen  <drieseng@users.sourceforge.net>
3535         * BadImageFormatException.cs: Changed message for default ctor to
3536         match MS. Use internal message field of Exception to check whether
3537         Message is null. Match MS default messages when no message is 
3538         set. Fixed ToString to match MS.
3540 2006-10-09  Miguel de Icaza  <miguel@novell.com>
3542         * Environment.cs: Handle SpecialFolder.MyMusic
3544 2006-10-07 Gert Driesen <drieseng@users.sourceforge.net>
3546         * Enum.cs: Use different exception message depending on whether the
3547         type of the passed in value is an Enum or not. Avoid looking up the
3548         enum's underlying type twice in case of "D" or "d" format specifier.
3550 2006-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3552         * TermInfoDriver.cs: don't allow backspace if we're at the beginning
3553         position for a ReadLine.
3555 2006-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3557         * TermInfoDriver.cs: ironpython autocompletion works now.
3559 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3561         * Console.cs: avoid casting on windows.
3563 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3565         * ConsoleDriver.cs:
3566         * TermInfoDriver.cs:
3567         * IConsoleDriver.cs:
3568         * CStreamWriter.cs:
3569         * ConsoleKeyInfo.cs:
3570         * NullConsoleDriver.cs:
3571         * Console.cs:
3572         * CStreamReader.cs:
3573         * WindowsConsoleDriver.cs: initial changes to handle cursor position
3574         and screen buffers.
3576 2006-09-21  Gert Driesen  <drieseng@users.sourceforge.net>
3578         * ArithmeticException.cs: Modified default message to match MS, to
3579         ensure a local regression test passes on both Mono and .NET.
3581 2006-09-21  Gert Driesen  <drieseng@users.sourceforge.net>
3583         * Exception.cs: Marked message internal to allow derived classes to
3584         access the raw message (without changing the public API).
3586 2006-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3588         * ConsoleDriver.cs:
3589         * TermInfoDriver.cs:
3590         * IConsoleDriver.cs:
3591         * Console.cs:
3592         * WindowsConsoleDriver.cs: don't switch to the alternate window.
3593         Trigger the cancel event. Retrieve the cursor position at the
3594         beginning, as we're going to keep track of it instead of querying it
3595         all the time.
3597 2006-09-14  Jonathan Chambers  <joncham@gmail.com>
3599         * Environment.cs (ProcessorCount): Implement as icall.
3600         Patch by Jason McFall.
3602 2006-09-05  Raja R Harinath  <rharinath@novell.com>
3604         * DateTime.cs (Today) [NET_2_0]: Set kind to Local.
3606 2006-09-02  Zoltan Varga  <vargaz@gmail.com>
3608         * Enum.cs (Equals): Use the generic Equals implementation from ValueType which
3609         is faster and avoids allocations.
3611 2006-09-01  Martin Baulig  <martin@ximian.com>
3613         * Array.cs (Array.InternalArray): Removed the helper class;
3614         instead we use private generic methods in System.Array which are
3615         inserted into the vtable at runtime.
3617 2006-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3619         * ConsoleCancelEventArgs.cs: fix my build.
3621 2006-08-22  Miguel de Icaza  <miguel@novell.com>
3623         * MulticastDelegate.cs: Make DynamicInvokeImpl internal in 2.0 
3625         * Converter.cs: update signature to final.
3627         * ModuleHandle.cs: Removed the [Obsolete] flags as they removed
3628         those in the final 2.0
3630         * DateTime.cs: Fixed the signature. 
3632         * Convert.cs: Removed API calls that were deprecated in final 2.0
3634         * Enum.cs: Updated to use the obsoletes flagged in 2.0.
3636         * ConsoleCancelEventArgs.cs: Updated to 2.0
3638 2006-08-19  Miguel de Icaza  <miguel@novell.com>
3640         * Attribute.cs: This needs to do a deep compare, not a shallow
3641         one.   Ran into this bug with the VBNC compiler that compares two
3642         separate attributes for equality using this.
3644         * String.cs (StartsWith): Fix the overloaded constructor that
3645         takes a CultureInfo, if that is null, it means to use the current
3646         culture. 
3648         * TermInfoDriver.cs: Do not throw exceptions on the driver for
3649         SetWindowSize and SetWindowPosition, they can be treated as nops.
3651 2006-08-18  Zoltan Varga  <vargaz@gmail.com>
3653         * *.cs: Use String.Empty instead of "" in a lot of places.
3655 2006-08-17  Sebastien Pouliot  <sebastien@ximian.com>
3657         * DateTime.cs: Remove last patch to DateTime as the fix wasn't correct
3658         and made most x.509 unit tests fails. However the original problem is 
3659         back (only on 2.0).
3661 2006-08-14  Raja R Harinath  <rharinath@novell.com>
3663         Fix #78943
3664         * Activator.cs (CreateInstance): Throw ArgumentException on open
3665         generic types.
3667 2006-08-14  Miguel de Icaza  <miguel@novell.com>
3669         * MonoType.cs: Do the argument testinf for SetField later,
3670         otherwise the implicit (and not documented, but already considered
3671         side effect of checking SetProperty) did not work.
3673         Bug fix #79023
3675 2006-08-13  Atsushi Enomoto  <atsushi@ximian.com>
3677         * String.cs : Normalize() and IsNormalized() implementation.
3679 2006-08-10  Jonathan Chambers  <joncham@gmail.com>
3681         * __ComObject.cs: Added defintion of IDispatch interface, and
3682         property. Get CLSID of supertype for creation if class not
3683         ComImport attributed (allows for inheritance of RCW).
3684         * MonoType.cs: Implement IsCOMObjectImpl.
3686 2006-08-09  Atsushi Enomoto  <atsushi@ximian.com>
3688         * DateTime.cs : fixed X509Certificate() case that regressed only
3689           under NET_2_0.
3691 2006-08-07  Kornél Pál  <kornelpal@gmail.com>
3693         * Console.cs: Use correct code pages on Windows and initialize
3694           InputEncoding and OutputEncoding to the actual encodings used.
3696 2006-08-05  Duncan Mak  <duncan@novell.com>
3698         * Char.cs (TryParse): Implemented missing 2.0 method, which fixed
3699         bug #79007.
3701 2006-07-28  Jonathan Chambers  <joncham@gmail.com>
3703         * __ComObject.cs: Added support for marshalling objects.
3704         
3705 2006-07-24  Atsushi Enomoto  <atsushi@ximian.com>
3707         * Char.cs : implemented utf32 conversion methods thus fixed bug #78856.
3709 2006-07-19  John Luke  <john.luke@gmail.com>
3711         * TermInfoDriver.cs: switch order of alt and control when
3712         calling new ConsoleKeyInfo()
3714 2006-07-19  Kornél Pál  <kornelpal@gmail.com>
3716         * String.cs: Improve CreateString () performance when length is zero.
3718 2006-07-18  Kornél Pál  <kornelpal@gmail.com>
3720         * String.cs: Added CreateString () methods. Constructors with matching
3721           argument list are redirected to these methods that improves
3722           performance as well as fixes bug #78703.
3724 2006-07-15  Jonathan Chambers  <joncham@gmail.com>
3726         * __ComObject.cs: Begin implementing COM Interop.
3727         * Environment.cs: Increment corlib version.
3728         
3729 2006-07-12  Zoltan Varga  <vargaz@gmail.com>
3731         * Delegate.cs (DynamicInvokeImpl): Add support for bound delegates in Net 2.0.
3733 2006-07-11  Zoltan Varga  <vargaz@gmail.com>
3735         * Double.cs (Parse): Fix handling of inner whitespace.
3737 2006-07-09  Zoltan Varga  <vargaz@gmail.com>
3739         * Int32.cs: Fix a warning.
3741 2006-07-07  Atsushi Enomoto  <atsushi@ximian.com>
3743         * TimeZone.cs : consider DateTimeKind in ToLocalTime() and 
3744           ToUniversalTime(). Fixed bug #78784. Patch by Thong Nguyen.
3745         * DateTime.cs : DateTimeKind for UtcNow should be Utc.
3747 2006-06-28  Kornél Pál  <kornelpal@gmail.com>
3749         * Char.cs: Implemented IsHighSurrogate and IsLowSurrogate methods.
3751 2006-06-27  Atsushi Enomoto  <atsushi@ximian.com>
3753         * Double.cs : don't throw Exception in TryParse() for 'E'.
3754           Fixed bug #78546.
3756 2006-06-20  Jb Evain  <jbevain@gmail.com>
3758         * Math.cs: implement Math.Truncate.
3760 2006-06-13  Atsushi Enomoto  <atsushi@ximian.com>
3762         * DateTime.cs :
3763           Another lame win32 dependent pattern. Fixed bug #78618.
3765 2006-06-09  Jonathan Chambers  <jonathan.chambers@ansys.com>
3767         * Environment.cs: Implement Set/GetEnvironmentVariable for User/Machine.        
3769 2006-06-07  Kornél Pál  <kornelpal@gmail.com>
3771         * Environment.cs: Use Consts.FxFileVersion for Environment.Version
3772           as Consts.RuntimeVersion was removed.
3774 2006-06-05  Jonathan Chambers  <jonathan.chambers@ansys.com>
3776         * Variant.cs: Added.
3777         * Environment.cs: Incremented corlib version since adding Variant.      
3778         
3779 2006-06-01  Raja R Harinath  <rharinath@novell.com>
3781         * Nullable.cs (operator==, operator!=): Remove.
3783 2006-05-31  Zoltan Varga  <vargaz@gmail.com>
3785         * MonoDummy.cs: Removed as it is no longer needed.
3787         * Environment.cs: Bump corlib version.
3788         
3789         * Environment.cs: Revert the last change.
3790         
3791         * Environment.cs: Bump corlib version.
3793         * MonoAsyncCall.cs: New file.
3795 2006-05-30  Gert Driesen  <drieseng@users.sourceforge.net>
3797         * Char.cs: Removed duplicate (explicit) interface implementation.
3798         * String.cs: Removed duplicate (explicit) interface implemenation.
3799         * MulticastDelegate.cs: Fixed API mismatches.
3801 2006-05-29 Paolo Molaro <lupus@ximian.com>
3803         * String.cs: make sure that the chars truncated by a stringbuilder
3804         are zeroed.
3806 2006-05-29  Martin Baulig  <martin@ximian.com>
3808         * Exception.cs
3809         (Exception.StackTrace): Use the new stack trace format which is
3810         very similar to the one of MS.NET - method name goes first,
3811         file / line number last and in the method name, we separate class
3812         and method name by `.'.
3814         * Environment.cs
3815         (Environment.StackTrace): Enable line-number information.
3817 2006-05-24  Atsushi Enomoto  <atsushi@ximian.com>
3819         * DateTime.cs :
3820           Implement 2.0 TryParseExact(). Patch by Seo Sanghyeon.
3822 2006-05-17  Kazuki Oikawa  <kazuki@panicode.com>
3824         * Array.cs : added internal sort method used
3825           in System.Collections.Generics.List<T>.Sort(Comparison<T>).
3827 2006-05-15  Zoltan Varga  <vargaz@gmail.com>
3829         * Environment.cs: Bump corlib version.
3831 2006-05-10  Zoltan Varga  <vargaz@gmail.com>
3833         * MonoType.cs (GetMethodImpl): Fix a warning.
3835 2006-05-08  Atsushi Enomoto  <atsushi@ximian.com>
3837         * ArrayTest.cs : use proper comparer in IndexOf() and LastIndexOf().
3838           Patch by Kazuki Oikawa. Fixed bug #77277.
3840 2006-05-07  Zoltan Varga  <vargaz@gmail.com>
3842         * Nullable.cs (Equals): Fix comparison to null. Fixes #78322.
3844 2006-04-28  Atsushi Enomoto  <atsushi@ximian.com>
3846         * Nullable.cs : updated Nullable<T> API to 2.0 RTM.
3848 2006-04-26  Atsushi Enomoto  <atsushi@ximian.com>
3850         * Double.cs : (Parse) handle currency symbol when
3851           AllowCurrencySymbol is passed as part of the style. Patch by
3852           nede@aliquant.com, modified to eliminate redundant Substring().
3853           This fixes bug #77721.
3855 2006-04-26  Atsushi Enomoto  <atsushi@ximian.com>
3857         * MonoType.cs : (GetMethod) when zero-length type[] is explicitly
3858           passed, don't return methods with some arguments. Fixed bug #77367.
3860 2006-04-21  Gert Driesen  <drieseng@users.souceforge.net>
3862         * Enum.cs: Provide meaningful message when type of passed in value
3863         does not match enum type.
3865 2006-04-19  Raja R Harinath  <rharinath@novell.com>
3867         * Char.cs (Equals): Don't access 'm_value' field of other
3868         instances.  Cast directly to 'char'.
3870 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
3872         * DateTime.cs : implement SpecifyKind(). Patch by Thong Nguyen.
3874 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
3876         * NumberFormatter.cs : general performance improvements. Avoid 
3877           extraneous evaluation for simple formatting. Details are seen in 
3878           bug #77792. Patch by Kazuki Oikawa.
3880 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
3882         * DateTime.cs : implement IsDaylightSavingTime().
3883           Patch by Seo Sanghyeon <tinuviel@sparcs.kaist.ac.kr>.
3885 2006-04-04  Atsushi Enomoto  <atsushi@ximian.com>
3887         * Array.cs :
3888           added some more [ReliabilityContract].
3889           removed some [CLSCompliant].
3890           renamed generic method parameter names.
3892 2006-03-31  Zoltan Varga  <vargaz@gmail.com>
3894         * Environment.cs (SetEnvironmentVariable): Implement.
3896 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
3898         * Array.cs : oops, the last change caused regression. The array must
3899           be transparent to ReadOnlyCollection, not create another list.
3901 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
3903         * Array.cs : AsReadOnly<T>() in RTM returns ReadOnlyCollection<T>.
3904           Thus removed ReadOnlyArray<T> and ReadOnlyArrayEnumerator<T>.
3905           In 2.0 some members became non-virtual.
3907 2006-03-23  Atsushi Enomoto  <atsushi@ximian.com>
3909         * String.cs : oops, NET_2_0.
3911 2006-03-23  Atsushi Enomoto  <atsushi@ximian.com>
3913         * String.cs : added new IndexOf() and LastIndexOf() overloads, and
3914           IEnumerable<char>.GetEnumerator().
3916 2006-03-21  Kornél Pál  <kornelpal@gmail.com>
3918         * String.cs: Make memcpy4 private as it is a helper method.
3919           Make memcpy internal to can be used from UnicodeEncoding.
3921 2006-03-19  Marek Safar  <marek.safar@seznam.cz>
3923         * Nullable.cs (Compare, Equals): Added constrain as gmcs now correctly
3924         reports an error here.
3926 2006-03-16  Atsushi Enomoto  <atsushi@ximian.com>
3928         * Double.cs : (Parse) reject String.Empty.
3930 Wed Mar 15 16:30:51 CET 2006 Paolo Molaro <lupus@ximian.com>
3932         * LocalDataStoreSlot.cs: implement as index in an array.
3933         Implemented finalizer and allow it to remove the data stored
3934         in the slot.
3936 2006-03-15  Zoltan Varga  <vargaz@gmail.com>
3938         * Environment.cs: Bump corlib version.
3940 2006-03-10  Zoltan Varga  <vargaz@gmail.com>
3942         * MonoCustomAttrs.cs (IsDefined): Avoid a runtime assert if a type
3943         overwrites GetCustomAttributes () but not IsDefined ().
3945 2006-03-07  Peter Dennis Bartok  <pbartok@novell.com>
3947         * Environment.cs: Bumped corlib version to 48 (due to r57532)
3949 2006-03-07  Martin Baulig  <martin@ximian.com>
3951         * String.cs (String.FormatHelper): Try getting an `ICustomFormatter'
3952         from the `provider' if possible.
3954 2006-02-26  Gert Driesen  <drieseng@users.souceforge.net>
3956         * DecimalFormatter.cs: Removed obsolete class, as it has been replaced
3957         by NumberFormatter.
3958         * DoubleFormatter.cs: Same.
3959         * SingleFormatter.cs: Same.
3961 2006-02-21  Marek Safar  <marek.safar@seznam.cz>
3963         * String.cs (Equals): Optimized for speed.
3965 2006-02-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3967         * TermInfoDriver.cs: patch by Mike Hull that fixes bug #77518.
3969 Mon Feb 20 11:19:54 CET 2006 Paolo Molaro <lupus@ximian.com>
3971         * MonoType.cs: patch from Joachim Ante <joe@otee.dk> to
3972         improve error messages.
3974 2006-02-15  Martin Baulig  <martin@ximian.com>
3976         * Type.cs (Type.IsGenericInstance): Removed.
3978 2006-02-14  Ankit Jain  <jankit@novell.com>
3979             Raja R Harinath  <rharinath@novell.com>
3981         * ArraySegment.cs (.ctor): Fix bounds check. Rename param 'length' to
3982         'count'.
3984 2006-02-11  Zoltan Varga  <vargaz@gmail.com>
3986         * TermInfoDriver.cs (CreateKeyInfoFromInt): Fix handling of tab and its
3987         friends.
3988         
3989         * TermInfoDriver.cs (GetWindowDimensions): Obtain the exact terminal
3990         size using an icall.
3991         (GetCursorPosition): Convert the row and column to 0 based indexing. 
3992         Also fix reading of large values.
3993         (CreateKeyInfoFromInt): Convert LF to ConsoleKey.Enter.
3995         * ConsoleDriver.cs (GetTtySize): New icall.
3997 2006-02-10  Zoltan Varga  <vargaz@gmail.com>
3999         * Array.cs: Fix some methods which previously returned Nullable<T>.
4001         * Nullable.cs: Add T: struct constraint and fix constructor.
4003 Fri Feb 3 11:01:46 CET 2006 Paolo Molaro <lupus@ximian.com>
4005         * String.cs: changed StartsWith/EndsWith to faster versions.
4007 2006-02-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4009         * String.cs: implement 2.0 StartsWith and EndsWith new overloads. Based
4010         on a patch by Thong Nguyen.
4012 2006-01-31  Zoltan Varga  <vargaz@gmail.com>
4014         * String.cs: Implement one of the new net 2.0 Split methods.
4016 2006-01-31  Atsushi Enomoto  <atsushi@ximian.com>
4018         * String.cs : (LastIndexOf) Fixed bug #77412. It should not expect
4019           that value length is bigger than its index.
4021 2006-01-27  Zoltan Varga  <vargaz@gmail.com>
4023         * DateTime.cs: Add some 2.0 methods and properties.
4025 2006-01-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4027         * Console.cs: if InternalCodePage returns -1, use the default encoding.
4028         Also match the UTF8 one properly. Patch by wall_john@sohu.com.
4030 2006-01-19  Atsushi Enomoto  <atsushi@ximian.com>
4032         * ModuleHandle.cs : GetPEKind() is not public in 2.0 RTM.
4034 2006-01-16  Alp Toker  <alp@atoker.com>
4036         * TimeSpan.cs: Simple implementation of NET 2.0 TryParse() using
4037         try/catch
4039 2006-01-05  Raja R Harinath  <rharinath@novell.com>
4041         Fix regressions introduced by the fix to #71300.
4042         * Activator.cs (CreateInstance): Use Binder.SelectMethod instead
4043         of home-grown FindBestCtor.
4044         (FindBestCtor): Delete.
4046 2006-01-03  Zoltan Varga  <vargaz@gmail.com>
4048         * Nullable.cs: Update to Net 2.0 RTM.
4049         
4050         * Nullable.cs: Add comments about runtime dependencies on the layout of
4051         this type.
4053 2006-01-02  Sebastien Pouliot  <sebastien@ximian.com>
4055         * Activator.cs: Now find the best ctor when null are used for 
4056         paramaters. Fix bug #71300. Added checks for specific types (void,
4057         TypedReference, ArgIterator and RuntimeArgumentHandle).
4058         * Console.cs: Re-use Environment logic to detect Windows.
4059         * Type.cs: Re-applied r45150 as the real bug was in Activator.
4061 2006-01-02  Zoltan Varga  <vargaz@gmail.com>
4063         * Activator.cs: Add a 'params' to one of the CreateInstance overloads.
4065         * RuntimeTypeHandle.cs RuntimeMethodHandle.cs RuntimeFieldHandle.cs:
4066         Add == and != operators.
4068 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com>
4070         * Environment.cs: Bump corlib version to 46.
4071         * TimeZone.cs: Partial fix for #76094. Added [Serializable] attribute 
4072         and renamed internal CurrentTimeZone class to CurrentSystemTimeZone 
4073         (like MS). This allows serialization roundtrip to work in Mono but 
4074         there's still an issue when deserializing a stream from MS. 
4076 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com> 
4078         * NumberFormatter.cs: Fixed rounding for float and the string output
4079         now includes all the precision (not counting preceding zeros). This
4080         fix the DecimalTest.TestConstructSingleRounding_NotWorking test cases.
4082 2005-12-21  Sebastien Pouliot  <sebastien@ximian.com> 
4084         * Array.cs: Fixed Sort<T> with IComparable (generic or not) bug #77039
4086 2005-12-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
4088         * Array.cs: Added the Sort<T> methods (generics). 
4090 2005-12-19  Sebastien Pouliot  <sebastien@ximian.com> 
4092         * Array.cs: Fixed BinarySearch when the array is empty (#77030). Added
4093         some null check which throws ArgumentNullException under 2.0.
4095 2005-12-15  Sebastien Pouliot  <sebastien@ximian.com>
4097         * DateTime.cs: Added MonoTODO to ctor accepting a Calandar instance.
4098         * Double.cs: Under 2.0 throw a ArgumentException when parsing with
4099          NumberStyles.AllowHexSpecifier. Partial fix for #72221. Added the
4100         second, simpler, TryParse method (2.0).
4101         * Single.cs: Added the TryParse methods for 2.0.
4103 2005-12-15  Raja R Harinath  <rharinath@novell.com>
4105         * Type.cs (IsGenericType): Make virtual.
4107 2005-12-08  Sebastien Pouliot  <sebastien@ximian.com> 
4109         * AppDomainSetup.cs: ApplicationBase throw exception on get (not on 
4110         set). New behaviour is more like MS - but most issues (unit tests)
4111         were really path issues. Fix bug #71291.
4112         * DateTime.cs: Add more information when throwing an exception in 
4113         ctor(long). Useful for debugging.
4115 2005-12-07  Zoltan Varga  <vargaz@gmail.com>
4117         * Single.cs Double.cs: Fix warnings.
4119 2005-12-06  Sebastien Pouliot  <sebastien@ximian.com> 
4121         * Convert.cs: ToBase64String method didn't use the option parameter so
4122         we always included new lines. Fix bug #76876.
4124 2005-12-06  Sebastien Pouliot  <sebastien@ximian.com>
4126         * AppDomainSetup.cs: Added missing ComVisible and removed LAMESPEC 
4127         (the docs were fixed).
4128         * NumberFormatter.cs: Fixed the "NotWorking" case where 1.15 was 
4129         misrounded compared to MS implementation. Extra care is required when
4130         dealing with the extra 2 digits information (e.g. double precision is
4131         15 digits but 17 are kept - for a reason ;-)
4133 2005-12-05  Ben Maurer  <bmaurer@ximian.com>
4135         * Environment.cs: Bump version
4137         * Nullable.cs: New Box and Unbox methods for the jit
4139 2004-12-05  Peter Dennis Bartok <pbartok@novell.com>
4141         * Enum.cs: Properly handle "No bits set" case even if the sorted numbers
4142           list does not have enum value 0 as the first item. Fixes #76921
4144 2005-12-05  Sebastien Pouliot  <sebastien@ximian.com>
4146         * AppDomain.cs: CreateComInstanceFrom isn't static in any profile.
4148 Mon Dec 5 15:14:59 CET 2005 Paolo Molaro <lupus@ximian.com>
4150         * Double.cs: remove unused icall.
4151         * BitConverter.cs: handle double binary format on ARM FPA.
4153 2005-12-02  Alp Toker  <alp@atoker.com>
4155         * MonoType.cs:
4156         * Type.cs: DeclaringMethod should return MethodBase, not MethodInfo
4158 2005-12-02  Alp Toker  <alp@atoker.com>
4160         * AppDomain.cs: ReflectionOnlyPreBindAssemblyResolve renamed to
4161         ReflectionOnlyAssemblyResolve in 2.0 final
4163 2005-12-01  Alp Toker  <alp@atoker.com>
4165         * String.cs: Add static and non-static Equals(... StringComparison) for
4166         2.0.
4168 2005-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4170         * TermInfoDriver.cs: special case for the escape key. Fixes bug #76781.
4172 2005-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4174         * TermInfoDriver.cs: if the cursor_address capability contains a %i, we
4175         have to add 1 to x and y when setting the cursor position.
4176         Fixes bug #76856.
4178         * Convert.cs: remove unused variables.
4180 Wed Nov 30 12:14:20 EST 2005 Paolo Molaro <lupus@ximian.com>
4182         * NumberFormatter.cs: work around arch-specific ulong cast behaviour
4183         with large numbers.
4185 Tue Nov 29 05:38:37 EST 2005 Paolo Molaro <lupus@ximian.com>
4187         * Convert.cs: fix endianess issue when converting to base-8
4188         format. All the base code would need a rewrite for efficience.
4190 2005-11-25  Sebastien Pouliot  <sebastien@ximian.com>
4192         * String.cs: Added support for Compare(... StringComparison) in 2.0.
4194 2005-11-25  Alp Toker  <alp@atoker.com>
4196         * Type.cs (IsVisible): New 2.0 property, implemented recursively.
4198 2005-11-17  Dick Porter  <dick@ximian.com>
4200         * Environment.cs: Incremented corlib version
4202 2005-11-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
4204         * Int32.cs, UInt32.cs, Int16.cs, UInt16.cs, Int64.cs,
4205         UInt64.cs, Byte.cs, SByte.cs, Double.cs : Modify internal Parse
4206         methods to return the exception as an out parameter,
4207         instead of throwing it. This will be of special help
4208         to TryParse methods.
4209         * Environment.cs: Update corlib version to 42.
4210         
4211 2005-11-14  Raja R Harinath  <rharinath@novell.com>
4213         * EventHandler.cs (EventHandler<TEventArgs>): Rename from EventHandler<T>.
4215 2005-11-11  Zoltan Varga  <vargaz@gmail.com>
4217         * Type.cs (GetPseudoCustomAttributes): Return ComImportAttribute as well.
4219 2005-11-11  Lluis Sanchez Gual  <lluis@novell.com>
4221         * TimeZone.cs: Removed incorrect double-check lock and unneeded
4222         hashtable access.
4224 2005-11-11  Marek Safar  <marek.safar@seznam.cz>
4226         * Type.cs: IsNested implemented, signature fixes.
4228 2005-11-11  Raja R Harinath  <rharinath@novell.com>
4230         * Array.cs (Resize<T>) [2-argument variant]: Fix nullref.
4232 2005-11-10  Zoltan Varga  <vargaz@gmail.com>
4234         * Array.cs (Resize<T>): New internal method which takes a 'length' argument
4235         as well to avoid copying the whole array.
4237 2005-11-09  Atsushi Enomoto  <atsushi@ximian.com>
4239         * Int64.cs : ditto for long.
4241 2005-11-09  Atsushi Enomoto  <atsushi@ximian.com>
4243         * Int32.cs : Parse("2147483648", format_provider) should be rejected.
4245 2005-11-09  Sebastien Pouliot  <sebastien@ximian.com>
4247         * AttributeTargets.cs: Added [ComVisible (true)] and [Serializable] 
4248         in 2.0 profile.
4249         * Base64FormattingOptions.cs: Added missing [Flags] attribute.
4250         * ConsoleKey.cs: Removed old BackSpace and WhiteSpace (they were 
4251         already replaced by Backspace and Whitespace)
4252         * DateTime.cs: Moved DayOfWeek enum to it's own file.
4253         * DateTimeKind.cs: New (2.0) enum.
4254         * DayOfWeek.cs: New file (extracted from DateTime.cs).
4255         * DomainManagerInitializationFlags.cs: Removed extra [Serializable].
4256         * EnvironmentVariableTarget.cs: Added [ComVisible (true)] and fixed 
4257         values (-1 to all of them).
4258         *  Exception.cs: Added a LinkDemand for SerializationFormatter on
4259         GetObjectData method.
4260         *  LoaderOptimization.cs: Added [ComVisible (true)] and [Serializable] 
4261         on enum and added [Obsolete] to DomainMask and DisallowBindings in 2.0
4262         profile.
4263         * PlatformID.cs: Added [ComVisible (true)] and [Serializable] in 2.0 
4264         profile.
4265         * StringComparison.cs: New (2.0) enum (needed for Uri).
4266         * TermInfoDriver.cs: Fixed BackSpace -> Backspace (see ConsoleKey.cs).
4267         * TypeCode.cs: Added [ComVisible (true)] and [Serializable] in 2.0 
4268         profile.
4270 2005-11-08  Atsushi Enomoto  <atsushi@ximian.com>
4272         * Type.cs : I forgot to mention, some '(' were missing in the
4273           improved patch ;-)
4275 2005-11-08  Zoltan Varga  <vargaz@freemail.hu>
4277         * Type.cs (GetPseudoCustomAttributes): Check for TypeAttributes.Serializable instead of
4278         IsSerializable property, since the latter returns true for delegates/enums.
4280 2005-11-05  Kornél Pál  <kornelpal@hotmail.com>
4282         * Environment.cs: Use Consts.RuntimeVersion as Environment.Version that
4283           makes maintenance easier.
4285 2005-10-24  Martin Baulig  <martin@ximian.com>
4287         * Type.cs (Type.IsGenericTypeDefinition): Make this virtual.
4289 2005-10-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4291         * String.cs: fix bound checkings for LastIndexOfAny. Closes bug #76519.
4293 2005-10-20  Raja R Harinath  <rharinath@novell.com>
4295         * Array.cs (Swapper): Remove NET_2_0 guards from nested declaration.
4297 2005-10-16  Michal Moskal  <malekith@nemerle.org>
4299        * TermInfoDriver.cs: Call Init () in Background/ForegroundColor.
4301 2005-10-14  Atsushi Enomoto  <atsushi@ximian.com>
4303         * DateTime.cs : another crappy Windows dependent format.
4305 2005-10-14  Ben Maurer  <bmaurer@ximian.com>
4307         * DateTime.cs: Speed up when parsing date time objects by not
4308         duplicating cultureinfo arrays.
4310 2005-10-13  Zoltan Varga  <vargaz@gmail.com>
4312         * Type.cs (GetTypeCode): Applied patch from 
4313         Mike Welham <mwelham@gmail.com>. Return TypeCode.Empty when null is
4314         passed in.
4316 2005-10-07  Zoltan Varga  <vargaz@gmail.com>
4318         * Delegate.cs: Add support for delegate covariance and contravariance
4319         from net 2.0.
4321 2005-10-03  Atsushi Enomoto  <atsushi@ximian.com>
4323         * StringComparer.cs : (OrdinalIgnoreCaseComparer.Equals()) reverse.
4325 2005-09-26  Zoltan Varga  <vargaz@gmail.com>
4327         * String.cs (ParseFormatSpecifier): Fix skipping of whitespace. Fixes
4328         #76204.
4330 2005-09-23  Miguel de Icaza  <miguel@novell.com>
4332         * Decimal.cs: Fix typo, patch from Tomas Kukol <tomas.kukol@gmail.com>
4334 2005-09-19  Zoltan Varga  <vargaz@gmail.com>
4336         * MonoCustomAttrs.cs (GetCustomAttributesInternal): Add
4337         attributeType parameter.
4338         (IsDefined): New icall.
4340         * MonoCustomAttrs.cs: Avoid instantiating all custom attrs of an
4341         object when only a specific attribute type is requested. Fixes #76062.
4343         * Environment.cs: Bump corlib version.
4345 2005-09-09  Zoltan Varga  <vargaz@gmail.com>
4347         * TypeLoadException.cs MissingMethodException.cs MissingFieldException.cs: Add new ctors called by the runtime. Improve Message property.
4349 2005-09-14  Atsushi Enomoto  <atsushi@ximian.com>
4351         * DateTime.cs : (_DoParse) don't check ticks range before computing
4352           the actual value. Fixed bug #76082.
4354 2005-09-14  Atsushi Enomoto  <atsushi@ximian.com>
4356         * TimeZone.cs : When the target DateTime is in the range of
4357           DST end to DST + delta, don't adjust UtcOffset gap between that of
4358           DST and that of STD. This should fix bug #75985.
4360 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
4362         * TimeZone.cs, DateTime.cs :
4363           - ToLocalTime() and ToUniversalTime() are moved to TimeZone.
4364           - Added more COM patterns. Patch by Ankit Jain. Fixed bug #72132.
4365           - use ToLocalTime() and don't depend on the own offset computation.
4366             Parse() with 'Z' pattern is closer to correct value on switching
4367             Daylight Saving Time. See bug #75985.
4369 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
4371         * DateTime.cs : (DoParse) DateTimeStyles.AdjustToUniversal was not
4372           handled as expected and it kept time value as local one.
4373           Patch by Brion Vibber. Fixed bug #75995.
4375 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
4377         * DateTime.cs : Literal escape (\) was not checking format as
4378           expected. Fixed bug #75213.
4380 2005-09-05  Miguel de Icaza  <miguel@novell.com>
4382         * MonoType.cs: Patch from Jonathan Chambers to implement
4383         Type.GUID. 
4385 2005-09-05  Martin Baulig  <martin@ximian.com>
4387         Reflect latest API changes in the August CTP.
4389         * Type.cs (Type.HasGenericArguments): Removed.
4390         (Type.BindGenericParameters): Renamed to MakeGenericType().
4392 2005-09-01  Atsushi Enomoto  <atsushi@ximian.com>
4394         * DateTime.cs : another idiotic COM dependent format.
4396 2005-09-01  Kornél Pál  <kornelpal@hotmail.com>
4398         * __ComObject.cs: Fixed to be internal. Removed CLSCompliant attribute.
4399         Added some comments about the class.
4401 2005-08-30  Sebastien Pouliot  <sebastien@ximian.com>
4403         * AppDomain.cs: Use the more concise property syntax for declarative
4404         security.
4405         * AppDomainManager.cs: Default HostSecurityManager is null.
4407 2005-08-25  Atsushi Enomoto  <atsushi@ximian.com>
4409         * NumberFormatter.cs : eliminate non-ASCII character.
4411 2005-08-25  Marek Safar  <marek.safar@seznam.cz>
4413         * Enum.cs: Better exception message.
4414         
4415 2005-08-21  Gert Driesen  <drieseng@users.sourceforge.net>
4417         * Convert.cs: In FromBase64String, return empty byte array for zero
4418         length string. Pass bool to InternalFromBase64String to control 
4419         whether to allow a whitespace-only string.
4420         * Environment.cs: Bump corlib version.
4422 2005-08-20  Zoltan Varga  <vargaz@freemail.hu>
4424         * Environment.cs: Bump corlib version.
4426 2005-08-19  Zoltan Varga  <vargaz@freemail.hu>
4428         * Math.cs: Implement a new 2.0 Round method.
4430 2005-08-19  Gert Driesen  <drieseng@users.sourceforge.net>
4432         * Convert.cs: Throw OverflowException if result is larger than
4433         ushort.MaxValue to match MS.NET. Remove commented code.
4435 2005-08-17  Gert Driesen  <drieseng@users.sourceforge.net>
4437         * Convert.cs: For now, do not throw OverflowException if hex prefixed
4438         value is negative for signed types (other than int64). Need to look
4439         into this further.      
4441 2005-08-17  Gert Driesen  <drieseng@users.sourceforge.net>
4443         * Convert.cs: Numerous fixed in overloads taking base to match 
4444         behaviour of MS.NET. Throw ArgumentOutOfRangeException is string is
4445         empty. If base is 16, 8 or 2, then throw ArgumentException if first 
4446         character is a negative sign. Throw OverflowException if hex prefixed 
4447         value is negative for signed types (other than int64) to match MS.NET. 
4449 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
4451         * DateTime.cs : added another COM dependent pattern (rather to describe
4452           how it works on .NET than to add the pattern itself...).
4454 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
4456         * DateTime.cs : added case for bug #53023.
4458 2005-08-10  Zoltan Varga  <vargaz@freemail.hu>
4460         * Type.cs: Add IsGenericType property from NET 2.0.
4462 2005-08-10  Atsushi Enomoto  <atsushi@ximian.com>
4464         * String.cs : added new StartsWith()/EndsWith() override, fixing
4465           existing EndsWith() which incorrectly assumed that both string
4466           lengths must be equivalent (they are not always equal).
4467         * StringComparer.cs : added Ordinal and OrdinalIgnoreCase.
4469 2005-08-09  Zoltan Varga  <vargaz@freemail.hu>
4471         * String.cs: Implement Split(String[]) methods.
4473 2005-08-09  Miguel de Icaza  <miguel@novell.com>
4475         * AppDomainSetup.cs: Full-pathization of the appBase should only
4476         be done on Windows, the ":" condition never applied to Linux.
4478         * ConsoleKey.cs: Include a few aliases for a few values that were
4479         introduced recently.
4481 2005-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4483         * ConsoleKey.cs: added Backspace, which has the same value as BackSpace.
4484         Fixes bug #75697.
4486 2005-08-08  Atsushi Enomoto  <atsushi@ximian.com>
4488         * String.cs : (StartsWith) compared string lengths are not always the
4489           same in culture-sensitive comparison.
4491 2005-08-05  Gert Driesen  <drieseng@users.sourceforge.net>
4493         * Array.cs: Changed protected ctor to private. Fixes API compatibility
4494         with MS.NET.
4495         * RuntimeFieldHandle.cs: Equals methods and GetHashCode should only
4496         be exposed in 2.0 profile.
4497         * RuntimeMethodHandle.cs: Equals methods and GetHashCode should only
4498         be exposed in 2.0 profile.
4499         * RuntimeTypeHandle.cs: Equals methods and GetHashCode should only
4500         be exposed in 2.0 profile.
4501         * Type.cs: Added GetType method and implemented _Type interface.
4502         Fixes API compatibility with MS.NET.
4504 2005-07-28  Marek Safar  <marek.safar@seznam.cz>
4506         * StringComparer.cs: Add generics version of string interfaces.
4508 2005-07-26  Atsushi Enomoto  <atsushi@ximian.com>
4510         * StringComparer.cs : implemented StringCultureComparer.GetHashCode().
4512 2005-07-26  Zoltan Varga  <vargaz@freemail.hu>
4514         * StringSplitOptions.cs MidpointRounding.cs: New files.
4516         * String.cs Math.cs: Add stubs for some new 2.0 APIs.
4518 2005-07-26  Marek Safar  <marek.safar@seznam.cz>
4520         * StringComparer.cs: New file.
4522 2005-07-26  Raja R Harinath  <harinath@gmail.com>
4524         * Enum.cs (GetValue): Make private.  Return an ulong.
4525         (Parse): Tighten scope of couple of variables.  Use ulong when
4526         twiddling bits.
4528 2005-07-25  Raja R Harinath  <rharinath@novell.com>
4530         * Enum.cs (FindName, GetValue): New.  Carved out of ...
4531         (Parse): ... this.  Refactor and simplify code.  Avoid incurring
4532         exceptions when parsing names.  Avoid allocating arrays unless
4533         necessary.  Avoid conversion of an enumeration constant to its own
4534         type.  (Incorporates ideas from a patch by Gonzalo Paniagua Javier.)
4536 2005-07-13  Lluis Sanchez Gual  <lluis@novell.com>
4538         * MarshalByRefObject.cs: GetLifetimeService() should be virtual.
4539         Fixes bug #75527.
4541 2005-07-13  Miguel de Icaza  <miguel@novell.com>
4543         * Array.cs: Patch from rodrigobamboo@gmail.com that fixes the
4544         signature for GetValue and SetValue to make the long [] argument
4545         be a params argument. 
4547 2005-07-11  Pedro Martínez Juliá  <pedromj@gmail.com>
4549         * Convert.cs: Fix the bug when Convert.ChangeType was using
4550         NumberFormatInfo instead of DateTimeFormatInfo when the type to
4551         change is a DateTime.
4553 2005-07-11  Martin Baulig  <martin@ximian.com>
4555         * Array.cs: Use Type.Equals() instead of `==' to compare type
4556         parameters.     
4558 2005-07-10  Kamil Skalski <nazgul@nemerle.org>
4560         * Type.cs: Mark BindGenericParameters as deprecated. Use
4561         MakeGenericType as default implementation with updated signature.
4563 2005-07-09  Zoltan Varga  <vargaz@freemail.hu>
4565         * Attribute.cs (IsDefined): Fix IsDefined for ParameterInfo's. Fixes
4566         #75514.
4568 2005-07-05  Lluis Sanchez Gual  <lluis@novell.com>
4570         * DelegateSerializationHolder.cs: When the deserialized target is
4571         a proxy, call IsInstanceOfType to force the proxy to load the
4572         real type of the remote object. This is needed to make sure that
4573         subsequent calls to GetType() return the expected type. This fixes
4574         bug #75447.
4576 2005-07-03  Ben Maurer  <bmaurer@ximian.com>
4578         * OperatingSystem.cs: patch from Aleksandar Dezelin to fix
4579         serialization.
4581 2005-06-30  Sebastien Pouliot  <sebastien@ximian.com> 
4583         * Guid.cs: Avoid code duplication between overriden methods (new in 
4584         2.0). Avoid exception processing when possible. Renamed parameters to
4585         match the framework. Added ComVisible to NET_2_0.
4587 2005-06-28  Elliott Draper  <el@eldiablo.co.uk>
4589         * Activator.cs: This implements the generic Activator.CreateInstance<T>()
4590         function for NET_2_0. It's full signature is:
4591                 public static T CreateInstance<T>();
4593 2005-06-28  Lluis Sanchez Gual  <lluis@novell.com>
4595         * Decimal.cs: Renamed internal fields for the sake of serialization
4596         interoperability with MS.NET.
4597         * Exception.cs: In the StackTrace property, return the stack trace
4598         if it has a value, even if the exception has not been thrown
4599         (it may have been deserialized).
4601 2005-06-28  Martin Baulig  <martin@ximian.com>
4603         * Array.cs (Array.InternalArray<T>): New nested class; derives
4604         from Array.  This is now used by the runtime for arrays; fixes #74953.
4606 2005-06-27  Atsushi Enomoto  <atsushi@ximian.com>
4608         * String.cs : added some extra whitespace characters for Trim().
4609           Fixed bug #75259.
4611 2005-06-13  Michal Moskal <malekith@nemerle.org>
4612         
4613         * MonoType.cs: Don't use MethodHandle in GetMethod/GetConstructor,
4614         since it now throws on MethodBuilders. Don't use FieldHandle in
4615         GetField (throws on FieldBuilder) - just use the name.
4617 2005-06-13  Martin Baulig  <martin@ximian.com>
4619         * MonoType.cs
4620         (MonoType.getFullName): Added `bool assembly_qualified' argument.
4621         (MonoType.AssemblyQualifiedName): The interncall now adds the
4622         assembly name, so we don't need to do it here.
4623         (MonoType.FullName): Use the new getFullName() API.
4625 2005-06-14  Sebastien Pouliot  <sebastien@ximian.com>
4627         * Char.cs: ToLowerInvariant and ToUpperInvariant are now public in 
4628         NET_2_0. Added "new" white char and ComVisible for 2.0.
4630 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4632         * Convert.cs: FromBase64String and FromBase64CharArray are now internal
4633         calls to avoid extra allocations.
4635 2005-06-09  Kamil Skalski <nazgul@nemerle.org>
4637         * Type.cs: Add MakeGenericType method form .NET 2.0 beta 2 API
4639         * Type.cs MonoType.cs: Add internal virtual
4640         Get{Method,Constructor,Field} for obtaining instanciated *Info objects
4641         from non-instanciated counterparts
4643 2005-06-09  Zoltan Varga  <vargaz@freemail.hu>
4645         * ModuleHandle RuntimeMethodHandle.cs RuntimeTypeHandle.cs RuntimeFieldHandle.cs RuntimeArgumentHandle.cs: Add missing 2.0 attributes.
4647 2005-06-08  Zoltan Varga  <vargaz@freemail.hu>
4649         * Type.cs: Add missing 2.0 attributes.
4651 2005-06-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
4653         * MonoCustomAttrs.cs: Added GetCustomAttributesDataInternal icall, and
4654         also internal method GetCustomAttributesData, used by 
4655         System.Reflection.CustomAttributeData.
4656         
4657 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
4659         * Activator.cs: Added  _Activator interface (and members) for 1.1 and
4660         missing attributes (for both 1.1 and 2.0).
4661         * String.cs: Made internal To[Lower|Upper]Invariant methods public for
4662         2.0. Reworked Trim() to skip a useless call. Added missing attribute
4663         for 2.0.
4664         * Type.cs: Added  _Type, _MemberInfo interfaces (1.1/2.0). Added 
4665         missing attribute for 2.0. Hided some public/protected methods.
4667 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
4669         * ModuleHandle.cs: Update after PortableExecutableKinds name change.
4671 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
4673         * _AppDomain.cs: Added new members in the interface (added in 1.1 SP1)
4674         * AppDomain.cs: Added new members from _AppDomain interface.
4675         * AppDomainManager.cs: Fixed flags and added attributes.
4676         * DomainManagerInitializationFlags.cs: The flag has been renamed to 
4677         AppDomainManagerInitializationOptions in beta2.
4679 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
4681         * Type.cs MonoCustomAttrs.cs: Return SerializableAttribute for types as well.
4683 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
4685         * Exception.cs: Implements _Exception only for 2.0.
4687 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
4689         * GC.cs: Fix build.
4690         
4691         * GC.cs UnhandledExceptionEventArgs.cs IntPtr.cs RuntimeFieldHandle.cs 
4692           String.cs Object.cs Math.cs RuntimeMethodHandle.cs ModuleHandle.cs 
4693           RuntimeTypeHandle.cs AppDomain.cs: Add some missing 2.0 methods/attributes.
4695 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4697         * Environment.cs:
4698         * AppDomain.cs: if the assembly is loaded from a byte array, Location
4699         returns "". Fixes bug #74958.
4701 2005-06-04  Ben Maurer  <bmaurer@ximian.com>
4703         * *.cs: More 2.0 API fixups
4705         * *.cs: In beta 2, generics are no longer non-cls-compliant.
4707 2005-06-05  Kazuki Oikawa  <kazuki@panicode.com>
4709         * NumberFormatter.cs: Fixed the output of 0.ToString("00.00E00")
4710         that was different from MSFT.
4711         * String.cs: Fixed IndexOfAny thrown an exception
4712         when startIndex of arguments equals Length. (Closes bug #75083.)
4714         * Decimal.cs: Changed to use NumberFormatter in ToString.
4715         * NumberFormatter.cs: Implemented decimal formatter.
4717 2005-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4719         * Type.cs: reverted wrong fix for bug #71300 in r45150. This makes SSL
4720         support in System.Net work again.
4722 2005-06-01  Ben Maurer  <bmaurer@ximian.com>
4724         * CharEnumerator.cs: add IEnumerable <char> support
4726 2005-05-30  Sebastien Pouliot  <sebastien@ximian.com>
4728         * Activator.cs: Added missing validation on parameters.
4730 2005-05-28  Ben Maurer  <bmaurer@ximian.com>
4732         * Type.cs: Check that the arguments of the `types' array are
4733         non-null. Fixes bug 71300
4735 2005-05-28  Sebastien Pouliot  <sebastien@ximian.com>
4737         * AppDomainSetup.cs: Added new 2,0 constructors and the 
4738         ActivationArguments property.
4739         * AppDomainManager.cs: Added using System.Runtime.Hosting as it is the
4740         new location for the ApplicationActivator class.
4741         * ApplicationActivator.cs: Moved to System.Runtime.Hosting namespace.
4743 2005-05-27  Vladimir Vukicevic  <vladimir@pobox.com>
4745         * Environment.cs: bump corlib version for bug #75060.
4747 2005-05-27  Raja R Harinath  <rharinath@novell.com>
4749         * Environment.cs (ExpandEnvironmentVariables): Rewrite
4750         sb.Append (s.SubString (a, b)) to sb.Append (s, a, b).
4751         * String.cs (FormatHelper): Rewrite sb.Append (s.SubString (a)) to
4752         sb.Append (s, a, s.Length - a).  Avoid allocating 'pad' string --
4753         StringBuilder has an appropriate Append overload.
4755 2005-05-26  Zoltan Varga  <vargaz@freemail.hu>
4757         * Type.cs (IsEnum): Special case EnumBuilder here.
4759 2005-05-26  Sebastien Pouliot  <sebastien@ximian.com>
4761         * MonoType.cs: Changed call from GetName to UnprotectedGetName to
4762         allow call to work with serialization under a restrictive policy.
4763         The code path (the protected information) isn't being used.
4765 2005-05-25  Zoltan Varga  <vargaz@freemail.hu>
4767         * Exception.cs: Use the new StackTrace ctor.
4769         * Type.cs: Improve support for user defined type subclasses.
4771 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
4773         * DateTime.cs : Added minimum digit parameter to ParseNumber() to
4774           reject 2 digit years for "yyyy".
4775           Use GetAllDateTimePatterns() instead of constant string.
4776           Fixed bug #72788.
4778 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
4780         * DateTime.cs : next_not_digit prevented some valid parse.
4781           Just remove it, since now we pass max length to ParseNumber() and
4782           thus it is not needed anymore. Fixed bug 63137.
4784 2005-05-24  Atsushi Enomoto  <atsushi@ximian.com>
4786         * DateTime.cs : HH should not always block tt. Fixed bug #60912.
4787           Reset num after whitespace parsing.
4788           Added "M/d/yyyy HH':'mm':'ss tt" as an invariant pattern.
4790 2005-05-24  Atsushi Enomoto  <atsushi@ximian.com>
4792         * DateTime.cs : Allow ',' where whitespaces are allowed.
4793           Fixed bug #71289.
4795 2005-05-22  Ben Maurer  <bmaurer@ximian.com>
4797         * BitConverter.cs: Speed this up, fixing 74014. Patch from
4798         `Aleksandar Dezelin'.
4800 2005-05-20  Zoltan Varga  <vargaz@freemail.hu>
4802         * Type.cs: Add some helper methods needed by other classes.
4804         * Array.cs: Improve support for user defined Type subclasses.   
4805         
4806         * Type.cs: Rename GetTypeCode icall to GetTypeCodeInternal and add a managed
4807         wrapper function, not used yet.
4809         * Type.cs Array.cs: Revert this as it breaks the build.
4811         * Type.cs Array.cs: Improve support for user defined Type subclasses.
4813 2005-05-19  Ben Maurer  <bmaurer@ximian.com>
4815         * Delegate.cs (Equals): Use `as' to protect in the case where !
4816         (obj is Delegate)
4818 2005-05-19  Raja R Harinath  <rharinath@novell.com>
4820         * Console.cs (Readline) [NET_2_0]: Avoid "uninitialized variable"
4821         error.
4823 2005-05-19  Miguel de Icaza  <miguel@novell.com>
4825         * TermInfoDriver.cs: Removed warning.
4827         * Array.cs (Resize<T>, TrueForAll<T>, ConvertAll<TInput,TOutput>,
4828         FindLastIndex<T>: Parameter names are normative.        
4829         Fix coding style ("Method<T>" not "Method <T>")
4830         Throw argument exceptions per argument.
4831         
4832         (FindAll): Fix bug, actually return the values that were computed,
4833         not a short version of the original array.
4834         
4835 2005-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4837         * Console.cs: fix error in the 2_0 side and split ReadLine in 2, one
4838         for each framework version.
4840 2005-05-15  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
4842         * Attribute.cs:
4843         * Exception.cs: .Net 1.1 already has these interfaces
4845 Mon May 16 18:23:49 CEST 2005 Paolo Molaro <lupus@ximian.com>
4847         * MonoCustomAttrs.cs, Type.cs: do not create a SerializableAttribute
4848         object on GetCustomAttributes (fixes bug #74717).
4850 2005-05-15  Atsushi Enomoto  <atsushi@ximian.com>
4852         * DateTime.cs : for 'z' next_not_digit didn't work as expected.
4853           Fixed bug #74775.
4855 2005-05-15  Atsushi Enomoto  <atsushi@ximian.com>
4857         * DateTime.cs : don't allow extraneous pattern characters also for
4858           non-exact parsing (ParseExact() was fine). Bug #74936 fixed
4860 2005-05-13  Gert Driesen <drieseng@users.sourceforge.net>
4862         * Activator.cs: Match exceptions thrown by MS.NET for
4863         CreateInstance overloads if type is abstract. Fixes bug #74861.
4865 2005-05-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4867         * OperatingSystem.cs: PlatformID.Unix.
4869 2005-05-09  Sebastien Pouliot  <sebastien@ximian.com>
4871         * Environment.cs: Patch from Gonzalo to fix Environment.OSVersion.
4872         Platform under NET_2_0 to return PlatformID.Unix. Fix bug #74841.
4874 2005-05-07  Atsushi Enomoto  <atsushi@ximian.com>
4876         * NumberFormatter.cs : roundtrip number is already rounded before
4877           FormatGeneral() and DefaultMaxPrecision was extraneous. This fixes
4878           bug #72955.
4880 2005-05-07  Ben Maurer  <bmaurer@ximian.com>
4882         * Array.cs (BinarySearch): Patch from kazuki to pass arguments to
4883         the comparer in the same order as msft. Fixes #70725
4885 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4887         * Enum.cs: the hashtable don't need to be synchronized any more, since
4888         it's only accessed from withint a lock.
4890         * Console.cs: stdin, stdout and stderr will never be finalized. Fixes
4891         bug 74768.
4893 2005-05-06  Zoltan Varga  <vargaz@freemail.hu>
4895         * Array.cs: Remove CLSCompliant (false) attributes.
4897 2005-05-06  Martin Baulig  <martin@ximian.com>
4899         * Predicate.cs, Action.cs, Comparision.cs, Converter.cs: Add
4900         [CLSCompliant(true)] attribute.
4902 2005-05-04  Miguel de Icaza  <miguel@novell.com>
4904         * Enum.cs (MonoEnumInfo): Based on a patch from James Willcox,
4905         initialize cache as a static method.  Fixes #74828.
4907 2005-05-03  Marek Safar  <marek.safar@seznam.cz>
4909         * Console.cs: CancelKeyPress is stubbed.
4911 2005-04-25  Sebastien Pouliot  <sebastien@ximian.com>
4913         * ActivationContext.cs: Updated for beta2.
4914         * AppDomainManager.cs: Updated for beta2.
4915         * ApplicationId.cs: Updated for beta2.
4916         * ApplicationIdentity.cs: Updated for beta2.
4917         * Exception.cs: Now use Assembly.UnprotectedGetName () as Exception 
4918         doesn't leak the code base from the returned AssemblyName.
4920 2005-04-25  Martin Baulig  <martin@ximian.com>
4922         * Environment.cs (Environment.Version): Changed to 2.0.50215.
4924 2005-04-22  Sebastien Pouliot  <sebastien@ximian.com>
4926         * Attribute.cs: Added _Attribute interface to NET_2_0 to reduce the 
4927         number of "missing" in the class status pages.
4929 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4931         * MulticastDelegate.cs: (GetInvocationList) when building the list that
4932         is later traversed forward, mark 'this' as the end of the chain.
4933         Fixes bug #74607.
4935 2005-04-19  Zoltan Varga  <vargaz@freemail.hu>
4937         * Environment.cs: Bump corlib version.
4939 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4941         * WindowsConsoleDriver.cs: ignore key release events.
4943 2005-04-06  Atsushi Enomoto  <atsushi@ximian.com>
4945         * Char.cs : ToUpper()/ToLower() comparison ranges were incorrect.
4947 2005-04-05  Sebastien Pouliot  <sebastien@ximian.com>
4949         * _AppDomain.cs: Add security checks to the interface. Declarative 
4950         security on events requires BOOTSTRAP_WITH_OLDLIB to work properly 
4951         with older MCS.
4952         * AppDomain.cs: Add some (not complete) security checks. Bug#74411 is
4953         blocking some cases from working properly. Declarative security on 
4954         events requires BOOTSTRAP_WITH_OLDLIB to work properly with older MCS.
4956 2005-04-04  Sebastien Pouliot  <sebastien@ximian.com>
4958         * AppDomain.cs: Use the PolicyLevel to resolve the granted permissions
4959         on the AppDomain. Added an internal property to get the granted set.
4961 2005-04-04  Atsushi Enomoto  <atsushi@ximian.com>
4963         * String.cs,
4964           Char.cs : use TextInfo for ToLower() and ToUpper().
4966 2005-03-31  Sebastien Pouliot  <sebastien@ximian.com>
4968         * Exception.cs: Added Assert for TypeInformation to GetObjectData and
4969         ToString methods (not required for 2.0 as TypeInformation will be 
4970         deprecated). Added null check for GetObjectData.
4972 Tue Mar 29 11:47:19 CEST 2005 Paolo Molaro <lupus@ximian.com>
4974         * Delegate.cs: allow IronPython 0.7 to compile.
4976 2005-03-24  Miguel de Icaza  <miguel@novell.com>
4978         * Delegate.cs: Add CreateDelegate with a target option, currently
4979         internal as it is not exposed by the framework yet.
4981 2005-03-24  Zoltan Varga  <vargaz@freemail.hu>
4983         * String.cs: Add some 2.0 methods.
4985 2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
4987         * Activator.cs: Now use the supplied evidences when loading 
4988         assemblies. Added LinkDemand for RemotingConfiguration on both
4989         GetObject methods.
4990         * Console.cs: Added Assert for UnmanagedCode on OpenStandard[Error|
4991         Input|Output] as they use a handle on a FileStream (which is
4992         restricted otherwise). Added Demand for UnmanagedCode for the
4993         Set[Error|In|Out] methods.
4994         * MarshalByRefObject.cs: Added LinkDemand for Infrastructure on 
4995         CreateObjRef, GetLifetimeService and InitializeLifetimeService.
4996         * RuntimeMethodHandle.cs: Added Demand for UnmanagedCode on 
4997         GetFunctionPointer method.
4998         * TypedReference.cs: Added LinkDemand for ReflectionPermission's
4999         MemberAccess on MakeTypedReference.
5001 2005-03-14  Sebastien Pouliot  <sebastien@ximian.com>
5003         * Environment.cs: Fix CAS unit tests for NET_1_1.
5004         * Exception.cs: Fix CAS unit tests for NET_1_1.
5006 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5008         * Version.cs: don't ignore the last number. Fixes bug #73539.
5010 2005-03-11  Sebastien Pouliot  <sebastien@ximian.com>
5012         * MonoType.cs: When the security manager is active, constructors and
5013         methods will return null if a linkdemand fails during reflection 
5014         query.
5016 2005-03-11  Zoltan Varga  <vargaz@freemail.hu>
5018         * Array.cs (Sort): Bail out early if length <= 1. Fixes #72721.
5020 2005-03-10  Zoltan Varga  <vargaz@freemail.hu>
5022         * Environment.cs: Bump corlib version.
5024 2005-03-10  Martin Baulig  <martin@ximian.com>
5026         * Nullable.cs (Nullable<T>.ToString): Return an empty string if
5027         we're null.
5029 2005-03-09  Zoltan Varga  <vargaz@freemail.hu>
5031         * Activator.cs MonoType.cs: Applied patch from Carlos Alberto Cortez
5032         (carlos@unixmexico.org). Allow creation of valuetypes with no ctor.
5033         Fixes #73432.
5035 2005-03-04  Zoltan Varga  <vargaz@freemail.hu>
5037         * Environment.cs: Bump corlib version.
5039         * Exception.cs (StackTrace): Return the wrapper info as well.
5041 2005-03-02  Kazuki Oikawa  <kazuki@panicode.com>
5043         * NumberFormatter.cs: Some internal classes was converted to structs,
5044         and improved some points.
5046 2005-02-26  Kazuki Oikawa  <kazuki@panicode.com>
5048         * NumberFormatter.cs: Improved performance and memory usage
5049         when integer standard format.
5050         * SByte.cs:
5051         * Int16.cs:
5052         * Int32.cs:
5053         * Int64.cs:
5054         * Byte.cs:
5055         * UInt16.cs:
5056         * UInt32.cs:
5057         * UInt64.cs:
5058         * Single.cs:
5059         * Double.cs:
5060         * TimeSpan.cs: Improved these directly call to NumberFormatter.
5062 2005-02-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5064         * TermInfoDriver.cs: set the xmit mode if available. Handle key input
5065         and translate them into a ConsoleKeyInfo.
5066         * TermInfoReader.cs: added a method to return the bytes of a string
5067         property.
5068         * ConsoleKeyInfo.cs: added copy constructor and setters.
5070 2005-02-24  Zoltan Varga  <vargaz@freemail.hu>
5072         * Array.cs: Add missing 2.0 attributes and correct some parameter names.
5074 2005-02-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
5076         * AppDomain.cs: Changed GetAssemblies, LoadAssembly, and Load signatures,
5077         and added some to support the reflection only methods. DoAssemblyResolve
5078         was modified to invoke the new PreBindAssemblyResolve event when the
5079         assembly is reflection only.
5080         
5081 2005-02-21  Zoltan Varga  <vargaz@freemail.hu>
5083         * GC.cs Double.cs IntPtr.cs Array.cs Decimal.cs Math.cs Single.cs:
5084         Add net 2.0 ReliabilityContractAttributes.
5086 2005-02-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5088         * TermInfoDriver.cs: cygwin terminals are handled by the windows
5089         console driver.
5091         * TermInfoReader.cs:
5092         * TermInfoNumbers.cs:
5093         * KnownTerminals.cs:
5094         * TermInfoBooleans.cs:
5095         * TermInfoStrings.cs: documented.
5097 2005-02-19  Kazuki Oikawa <kazuki@panicode.com>
5099         * Array.cs: Reverse the order in the Equals calls.
5101 2005-02-18  Zoltan Varga  <vargaz@freemail.hu>
5103         * Exception.cs (StackTrace): Implement this in managed code since it is
5104         needed by CAS. Fixes #72146.
5106 2005-02-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5108         * WindowsConsoleDriver.cs: implemented MoveBufferArea.
5110 2005-02-14  Raja R Harinath  <rharinath@novell.com>
5112         * Array.cs (Array.Swapper) [!BOOTSTRAP_WITH_OLDLIB]: Make nested.
5113         See #72015.
5115 2005-02-12  Ben Maurer  <bmaurer@ximian.com>
5117         * Version.cs (CompareTo, Equals): Make sure the versions for
5118         generics handle `null'. The non-generics versions now just call
5119         the regular versions, to reduce code duplication.
5121         * Boolean.cs (CompareTo): make this really work for generics 
5123         * Type.cs (GetProperty): Passing new Type [0] is different than
5124         null. null means `I don't care how many types this has,' while new
5125         Type [0] means `this must have 0 types.'
5127 2005-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5129         * corlib.dll.sources: added WindowsConsoleDriver.cs
5131         * System/ConsoleDriver.cs: use WindowsConsoleDriver on windows and
5132         implemented the few missing properties/methods.
5134         * System/IConsoleDriver.cs: uncommented all methods/properties.
5135         * System/TermInfoDriver.cs: implement changes from IConsoleDriver.
5136         * System/WindowsConsoleDriver.cs: implemented IConsoleDriver for
5137         windows. Only missing MoveBufferArea by now.
5139 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
5141         * Type.cs (IsAssignableFrom): Add support for TypeBuilders.
5143         * Int32.cs AppDomain.cs: Fix warnings.
5145 2005-02-10  Marek Safar  <marek.safar@seznam.cz>
5147         * IServiceProvider.cs: Is not ComVisible.
5149         * NonSerializedAttribute.cs: Fix AttributeUsage flags.
5151         * Type.cs: Fix ClassInterface attribute.
5153 Tue Feb 8 19:26:47 CET 2005 Paolo Molaro <lupus@ximian.com>
5155         * Delegate.cs: remove the finalizer from Delegate: this
5156         is handled internally by the runtime now.
5158 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5160         * Activator.cs: provide the Type name when throwing an exception.
5162 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5164         * TimeZone.cs: lock on the static Hashtable instead of 'this'. Fixes
5165         bug #72238.
5167 Fri Feb 4 15:46:04 CET 2005 Paolo Molaro <lupus@ximian.com>
5169         * Array.cs: provide specialized versions of some methods.
5171 Thu Feb 3 15:15:25 CET 2005 Paolo Molaro <lupus@ximian.com>
5173         * String.cs: provide a managed memcpy and memset method
5174         for use both in corlib and from the JIT. Implement
5175         some methods with the managed helpers and remove some icalls.
5177 2005-01-31  Sebastien Pouliot  <sebastien@ximian.com>
5179         * Exception.cs: Added Data property for NET_2_0 (required for new
5180         unit tests).
5182 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5184         * ConsoleDriver.cs:
5185         * TermInfoDriver.cs:
5186         * IConsoleDriver.cs:
5187         * Console.cs: added BufferWidth and BufferHeight.
5189 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5191         * ConsoleDriver.cs:
5192         * Console.cs:
5193         * TermInfoDriver.cs:
5194         * IConsoleDriver.cs: added a few more properties and fixed cursor
5195         addressing.
5197 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5199         * ConsoleDriver.cs: static class that forwards the Console 2.0 class
5200         calls to the proper driver.
5201         * TermInfoDriver.cs: terminfo based console driver.
5202         * IConsoleDriver.cs: interface implemented by console drivers.
5204         * ConsoleCancelEventArgs.cs:
5205         * ConsoleCancelEventHandler.cs:
5207         * ConsoleModifiers.cs: 
5208         * ConsoleSpecialKey.cs:
5209         * ConsoleColor.cs:
5210         * ConsoleKey.cs: new enumerations.
5212         * ConsoleKeyInfo.cs: New file.
5214         * TermInfoReader.cs: reader for terminfo capabilities files.
5216         * TermInfoNumbers.cs:
5217         * TermInfoBooleans.cs:
5218         * TermInfoStrings.cs: enumations for terminfo property names.
5220         * KnownTerminals.cs: byte arrays for selected terminals.
5222         * Console.cs: added more 2.0 methods and implemented some of them.
5225 2005-01-30  Atsushi Enomoto  <atsushi@ximian.com>
5227         * Int32.cs : (FindSign) IndexOf() is better than creating substring.
5229 2005-01-27  Sebastien Pouliot  <sebastien@ximian.com>
5231         * BadImageFormatException.cs: Protect the fusion (GAC) log from being
5232         disclosed unless code has ControlPolicy and ControlEvidence.
5234 2005-01-27  Zoltan Varga  <vargaz@freemail.hu>
5236         * Exception.cs: Compute stack trace on demand.
5238 2005-01-26  Sebastien Pouliot  <sebastien@ximian.com>
5240         * Environment.cs: Removed hack for static class (NET_2_0). Added 
5241         proper security for FailFast (documented in FDBK20543). Added new
5242         method IsRunningOnWindows to replace (Platform == 128) as the logic is
5243         gonna change in the future (Unix is id #4 in NET_2_0).
5245 2005-01-24  Sebastien Pouliot  <sebastien@ximian.com>
5247         * Environment.cs: Added CAS security (both declarative and imperative)
5248         as a test. This shouldn't affect execution unless --security is 
5249         specified.
5251 2005-01-19  Rafael Teixeira  <rafaelteixeirabr@hotmail.com>
5252         * Type.cs: Corrected implementation for the Type.FilterNameIgnoreCase
5253         and Type.FilterName delegates They weren't dealing with the optional '*'
5254         at the end of the filter mask
5256 2005-01-19  Zoltan Varga  <vargaz@freemail.hu>
5258         * Array.cs: Fix a typo in the previous patch.
5259         
5260         * Array.cs: Fix some test failures in the generic methods.
5262         * Array.cs: Implement AsReadOnly.
5264 2005-01-13  Geoff Norton  <gnorton@customerdna.com>
5266         * Guid.cs: Fix endian issues (use Mono.Security.BitConverterLE).  Fixes
5267         #71242
5269 2005-01-11  Sebastien Pouliot  <sebastien@ximian.com>
5271         * AppDomain.cs: Removed Activate and ActivateNewProcess methods. They
5272         have been removed from 2.0.
5274 2005-01-11  Zoltan Varga  <vargaz@freemail.hu>
5276         * Boolean.cs Char.cs Single.cs Double.cs: Implement IComparable<T> in
5277         NET 2.0.
5279 2005-01-10  Sebastien Pouliot  <sebastien@ximian.com>
5281         * ApplicationIdentity.cs: Throw ArgumentNullException if name is null.
5282         Add default culture (neutral) to the name when none is specified.
5283         * AppDomain.cs: Changed IsDefaultAppDomain (2.0). Is seems that we 
5284         can't trust Id ?
5286 2005-01-09  Sebastien Pouliot  <sebastien@ximian.com>
5288         * DateTime.cs: Reverted last patch for utc as it broke all certificate
5289         handling and another unit test in DateTime.
5291 2005-01-09  Miguel de Icaza  <miguel@ximian.com>
5293         * DateTime.cs: Return immediately if useutc is set to true, there
5294         is no need to do the extra computation (which also happened to
5295         create a new DateTime using the `use_localtime' constructor, which
5296         lead to the erroneous date returns when using 'u' or `U'
5297         formats).   
5299         Fixes another bug in the regression test suite.
5301 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com> 
5303         * AppDomain.cs: Fix the DefaultDomain property to return the root 
5304         domain (as it seems that the root's Id isn't always 0).
5305         * BitConverter.cs: The "special support" for ToString(new byte[0]) is
5306         only for NET_2_0 - previously this was an ArgumentOutOfRangeException.
5308 2005-01-08  Miguel de Icaza  <miguel@ximian.com>
5310         * IntegerFormatter.cs: The - sign inside the "negative" section in
5311         a multi-format string means `show the sign' only if it is the
5312         first token, not `copy verbatim'.  In the other sections it means
5313         `copy-verbatim'.
5315         This makes things like:  (-34).ToString ("#;-#") show up as "-34"
5316         instead of "--34".
5318         The bad news is that this code needs to be rewritten to handle all
5319         the formatting cases, see bug #71112 for details.
5321         * Convert.cs (Convert.ToType): Throw an InvalidCastException if
5322         the conversion is invalid, not ArgumentException, this fixes
5323         another regression in our test suite.
5325 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com>
5327         * AppDomain.cs: Add ApplicationIdentity property for 2.0;
5328         * AppDomainManager.cs: Remove HostRefusedSet support (it does not 
5329         exists anymore).
5331 2005-01-08  Zoltan Varga  <vargaz@freemail.hu>
5333         * DateTime.cs: Create MaxValue and MinValue using a different constructor to avoid static 
5334         initialization problems.
5336 2005-01-02  Ben Maurer  <bmaurer@ximian.com>
5338         * Int32.cs: NumberStyles.AllowExponent was supported by the
5339         Int32.Parse function. From Akira <mei@work.email.ne.jp>. Fixes bug
5340         70469.
5342 2005-01-01  Atsushi Enomoto  <atsushi@ximian.com>
5344         * Base64FormattingOptions.cs : it was not in System namespace.
5346 2004-12-21  Atsushi Enomoto  <atsushi@ximian.com>
5348         * DateTime.cs : If no progress on value string, don't regard as
5349           matched. This fixes bug #70707.
5351 2004-12-20  Sebastien Pouliot  <sebastien@ximian.com>
5353         * Environment.cs: Bump corlib version.
5355 2004-12-16  Zoltan Varga  <vargaz@freemail.hu>
5357         * Array.cs (DoBinarySearch): Fix a warning.
5359 2004-12-08  Zoltan Varga  <vargaz@freemail.hu>
5361         * Environment.cs: Bump corlib version.
5363         * AppDomain.cs: Add new DefineInternalDynamicAssembly () method.
5365 2004-12-06  Ben Maurer  <bmaurer@ximian.com>
5367         * Exception.cs: Prevent stringifying the type name on the
5368         ctor. this gets called a few times on every execution to create a
5369         nullref exception.
5371 2004-12-06  Martin Baulig  <martin@ximian.com>
5373         * Decimal.cs: Decimal constant support has been merged into GMCS,
5374         removed the FIXME.
5376 2004-12-06  Zoltan Varga  <vargaz@freemail.hu>
5378         * Environment.cs: Bump corlib version.
5379         
5380         * Environment.cs: Bump corlib version.
5382 2004-11-30  Zoltan Varga  <vargaz@freemail.hu>
5384         * MonoType.cs (UnderlyingSystemType): Make this return this as in
5385         MS.NET. Fixes #56245.
5387 2004-11-29  Atsushi Enomoto  <atsushi@ximian.com>
5389         * GC.cs : Collect(generation) actually does not throw an exception
5390           even if generation > MaxGeneration (MS document bug).
5392 2004-11-28  Zoltan Varga  <vargaz@freemail.hu>
5394         * Exception.cs: Implement _Exception under NET_2_0.
5396         * Byte.cs SByte.cs UInt16.cs Int16.cs: Make these compile under csc 2.0.
5398         * AccessViolationException.cs DataMisalignedException.cs OperationCanceledException.cs
5399         NotCancelableException.cs TimeoutException.cs: New files.
5401 2004-11-23  Raja R Harinath  <rharinath@novell.com>
5403         * Decimal.cs [NET_2_0]: Use old code till GMCS imports decimal
5404         constant support.
5406 2004-11-23  Raja R Harinath  <rharinath@novell.com>
5408         * Decimal.cs [BOOTSTRAP_WITH_OLDLIB]: Use old code for compilers
5409         without decimal constant support.
5411 2004-11-23  Marek Safar  <marek.safar@seznam.cz>
5413         * Decimal.cs: Updated to use compiler decimal constant support.
5415 2004-11-20  Zoltan Varga  <vargaz@freemail.hu>
5417         * MonoType.cs: Revert last change since it breaks remoting.
5419 2004-11-18  Zoltan Varga  <vargaz@freemail.hu>
5421         * MonoType.cs (UnderlyingSystemType): Make this return this as in
5422         MS.NET. Fixes #56245.
5424 2004-11-17  Carlos Alberto Cortez <carlos@unixmexico.org>
5426         * INullable.cs: New interface added.
5427         * Nullable.cs: Methods added. Also a static Nullable class
5428         containing static methods.
5429         
5430 2004-11-15  Sebastien Pouliot  <sebastien@ximian.com>
5432         * BitConverter.cs: Added support for special case when ToString is 
5433         called with (new byte [0]).
5435 2004-11-10  Lluis Sanchez  <lluis@novell.com>
5437         * Exception.cs: Added setter for StackTrace.
5439 2004-11-07  Ben Maurer  <bmaurer@ximian.com>
5441         * IntegerFormatter.cs: Avoid .ToCharArray
5443 2004-11-06  Ben Maurer  <bmaurer@ximian.com>
5445         * Single.cs, Double.cs (GetHashCode): Better hashcode impl
5447 2004-11-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5449         * InvalidOperationException.cs: make the message more meaningful and
5450         real. Fixes bug #69055.
5452 2004-10-28  Ben Maurer  <bmaurer@ximian.com>
5454         * String.cs: Rather than == String.Empty, use .Length == 0. It
5455         is a bit faster (avoids a method call, and the code is less complex).
5457 2004-10-24  Fawad Halim  <fawad@fawad.net>
5458         * Environment.cs: If an Environment variable value isn't found, leave the trailing % of the reference for further matches.
5459         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.
5460         This fixes bug #64995.
5462 2004-10-19  Lluis Sanchez  <lluis@novell.com>
5464         * MarshalByRefObject.cs: Field _identity is not serializable.
5465         This fixes bug #68567.
5467 2004-10-17  Ben Maurer  <bmaurer@ximian.com>
5469         * DateTime.cs (ZeroPad): Use unsafe code to speed this up. We
5470         avoid entering slow integer formatting code.
5472         (_ToString): Use ZeroPad here when possible, as it is faster.
5474 2004-10-11  Martin Baulig  <martin@ximian.com>
5476         * Environment.cs: Bump corlib version to 28.
5478 2004-10-08  Zoltan Varga  <vargaz@freemail.hu>
5480         * Convert.cs (ToType): Throw an exception when converting null to a
5481         valuetype. Fixes #67780.
5483 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
5485         * DateTime.cs : Performance fix. ParseExact() implementation should
5486           avoid s = s.Substring(1).
5488 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
5490         * DateTime.cs : When it it not exact parse, 'Z' is allowed as a suffix
5491           of m/s/t/z. This fixes bug 66723.
5493 Wed Oct 6 12:37:54 CEST 2004 Paolo Molaro <lupus@ximian.com>
5495         * String.cs: make GetHashCode() managed.
5497 2004-10-04  Zoltan Varga  <vargaz@freemail.hu>
5499         * AppDomain.cs: Make ThreadStatic variables static. Fixes #56614.
5501         * Runtime*Handle.cs ModuleHandle.cs: Add Equals + GetHashCode.
5503         * ModuleHandle.cs: Add missing methods.
5505         * RuntimeTypeHandle.cs: Add GetModuleHandle () method.
5507 2004-10-03  Zoltan Varga  <vargaz@freemail.hu>
5509         * AttributeTargets.cs: Add 2.0 GenericParameter value.
5511         * Environment.cs: Bump corlib version.
5513 2004-10-02  Zoltan Varga  <vargaz@freemail.hu>
5515         * Int32.cs UInt32.cs Byte.cs SByte.cs Int16.cs UInt16.cs Int64.cs UInt64.cs: Implement 2.0 TryParse methods.
5517 2004-09-30  Geoff Norton  <gnorton@customerdna.com>
5519         * Convert.cs: ConvertToBase* was not endian aware.  Implemented EndianSwap
5520         and swapping of all values before going into the BitConverter so that values
5521         are returned with proper endianess.
5523 2004-09-23  Martin Garton  <martin@wrasse.demon.co.uk>
5525         * Convert.cs: ToType was returning unconverted object when it should
5526         fail with an ArgumentException.
5528 2004-09-27  Zoltan Varga  <vargaz@freemail.hu>
5530         * Array.cs: Add stub for AsReadOnly<T>.
5531         
5532 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
5534         * Type.cs: Add MakePointerType && stub for ReflectionOnlyGetType.
5536         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
5537         parameters.
5539 2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
5541         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
5542         methods and fields.
5543         
5544         * MonoCustomAttrs.cs: Beginnings of support for returning 2.0 pseudo
5545         custom attributes.
5547         * MonoCustomAttrs.cs (RetrieveAttributeUsage): Avoid infinite recursion.
5549         * MonoCustomAttrs.cs (GetCustomAttributes): Fix the 'attributeType is 
5550         sealed' optimization.
5552         * Type.cs: Implement 2.0 StructLayoutAttribute property. 
5554         * Type.cs Add GetPseudoCustomAttributes () method.
5556 2004-09-24  Martin Baulig  <martin@ximian.com>
5558         * Type.cs (Type.GetGenericParameterConstraints): New public method.
5560 2004-09-23  Zoltan Varga  <vargaz@freemail.hu>
5562         * MonoCustomAttrs.cs (GetCustomAttributes): Rename the icall to
5563         GetCustomAttributesInternal and add a 'pseudoAttrs' argument.
5565         * Type.cs: Tweak Module property in 2.0 build.
5567 2004-09-23  Martin Baulig  <martin@ximian.com>
5569         * Type.cs (Type.GenericParameterAttributes): New public property.
5571 2004-09-23  Martin Baulig  <martin@ximian.com>
5573         * GenericParameterAttributes.cs: New file.
5575 2004-09-22  Zoltan Varga  <vargaz@freemail.hu>
5577         * ModuleHandle.cs: Updated after changes to Module class.
5579 2004-09-21  Geoff Norton <gnorton@customerdna.com>
5581         * Type.cs: BindingFlags.IgnoreCase was being ignored, this reimplements
5582         this filter. Fixes bug #65778.
5584 2004-09-20  Zoltan Varga  <vargaz@freemail.hu>
5586         * Environment.cs: Bump corlib version.
5588 2004-09-19  Zoltan Varga  <vargaz@freemail.hu>
5590         * ModuleHandle.cs: New file.
5592         * RuntimeFieldHandle.cs: Add an internal ctor.
5594 2004-09-19  Dick Porter  <dick@ximian.com>
5596         * Console.cs: Use the internal wrappers for StreamReader and
5597         StreamWriter that catch IOException.
5599 2004-09-16  Sebastien Pouliot  <sebastien@ximian.com>
5601         * Environment.cs: Bumped mono_corlib_version to 25.
5603 2004-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5605         * AppDomain.cs: added SetupInformationNoCopy property, since
5606         SetupInformation creates a copy now, all updates to it should use the
5607         actual data. Fixes bug #61991 take 2.
5609 2004-09-09  Tim Coleman <tim@timcoleman.com>
5610         * Base64FormattingOptions.cs: New enum
5611         * Convert.cs: Add new ToBase64String methods for Fx 2.0
5613 2004-09-08  Marek Safar  <marek.safar@seznam.cz>
5615         * Console.cs,
5616         * GC.cs: Class is static for NET_2_0.
5618 2004-09-07 Ben Maurer  <bmaurer@users.sourceforge.net>
5620         * Activator.cs: Make sure not to call .GetType on a
5621         null argument. fixes 63852
5623 2004-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
5625         * Array.cs (Clear): make this an icall.
5627 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
5629         * MonoCustomAttribute.cs: Avoid the call to GetBase when possible.
5631 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5633         * Environment.cs: (ExpandEnvironmentVariables) don't nullify the case
5634         insensitive enironment variables hashtable once we create it.
5636 2004-09-04  Sebastien Pouliot  <sebastien@ximian.com>
5638         * AppDomain.cs: Changed 2 imperative security demands to declarative
5639         (unsupported) so it doesn't (for now) call the security runtime.
5641 2004-09-02  Zoltan Varga  <vargaz@freemail.hu>
5643         * Delegate.cs: Free the delegate trampoline in the finalizer.
5645 2004-08-26  Sebastien Pouliot  <sebastien@ximian.com>
5647         * ApplicationId.cs: Completed GetHashCode using information from MS
5648         (FDBK13339).
5650 2004-08-23  Sebastien Pouliot  <sebastien@ximian.com>
5652         * Boolean.cs: Added TryParse static method for NET_2_0 profile.
5654 2004-08-19  Atsushi Enomoto  <atsushi@ximian.com>
5656         * DateTime.cs : When hour format is "hh", MS.NET (maybe incorrectly)
5657           allows 12, that should not be accepted (13 is rejected) and
5658           interpreted as 0. This fixes bug 63376.
5660 2004-08-17  Sebastien Pouliot  <sebastien@ximian.com>
5662         * Version.cs: Fixed Clone so we can use it on versions with only
5663         major/minor or major/minor/build.
5665 2004-08-17  Martin Baulig  <martin@ximian.com>
5667         * MonoType.cs (MonoType.getFullName): Added `bool full_name'
5668         argument specifying whether or not to include the type arguments.
5669         (MonoType.FullName): Don't include the type arguments.
5670         (MonoType.ToString): Include them here.
5672         * Environment.cs: Bumped mono_corlib_version to 24.
5674 2004-08-16  Duncan Mak  <duncan@ximian.com>
5676         * AttributeUsageAttribute.cs: Change the AttributeUsage to
5677         AttributeTargets.Class, from AttributeTargets.All, fixes Zoltan's
5678         bug #62895.
5680 2004-08-11  Marek Safar  <marek.safar@seznam.cz>
5682         * AppDomain.cs: Fixed typo of DefineDynamicAssembly argument.
5683         Added call to AddPermissionRequests to pass permissions
5684         arguments.
5685         * Environment.cs: Added a few Fx 2.0 methods
5687 2004-08-09  Sebastien Pouliot  <sebastien@ximian.com>
5689         * ApplicationId.cs: Fixed typo to fix NET_2_0 compilation.
5690         * AppDomain.cs: Fixed use of Evidence and AppDomainSetup (copies, not
5691         references). Added (non-obsolete) Fx 2.0 properties and methods.
5692         * AppDomainSetup.cs: Added internal copy constructor.
5693         * DomainManagerInitializationFlags.cs: Fixed values.
5695 2004-08-08  Sebastien Pouliot  <sebastien@ximian.com>
5697         * AppDomainInitializer.cs: New Fx 2.0 class for AppDomain.
5698         * AppDomainManager.cs: New Fx 2.0 class for AppDomain.
5699         * ApplicationActivator.cs: New Fx 2.0 class for AppDomain.
5700         * ApplicationId.cs: New Fx 2.0 class.
5701         * ApplicationIdentity.cs: Fixed ToString.
5702         * DomainManagerInitializationFlags.cs: New Fx 2.0 flags for AppDomain.
5704 2004-08-05  Sebastien Pouliot  <sebastien@ximian.com>
5706         * AppDomain.cs: Added a new icall, getDomainByID, to get the an 
5707         AppDomain using it's Id. Completed SetAppDomainPolicy.
5708         * Environment.cs: Bumped mono_corlib_version to 23.
5710 2004-08-02  Martin Baulig  <martin@ximian.com>
5712         * DateTime.cs, TimeSpan.cs, Guid.cs, Version.cs: Implement IComparable<T>.
5714 2004-07-29  Atsushi Enomoto  <atsushi@ximian.com>
5716         * Environment.cs : GacPath on windows is based on mscorlib.dll, and
5717           now its location is changed.
5719 2004-07-21  Lluis Sanchez Gual  <lluis@novell.com>
5721         * Environment.cs: Return the MS.NET 2.0 beta1 runtime version for the
5722           NET_2_0 profile.
5723         
5724 2004-07-18  Martin Baulig  <martin@ximian.com>
5726         * Array.cs: Ben Maurer implemented all the new generic methods
5727         here :-)
5729 2004-07-17  Martin Baulig  <martin@ximian.com>
5731         * Decimal.cs: Implement IComparable<Decimal>.
5733 2004-07-17  Martin Baulig  <martin@ximian.com>
5735         * Byte.cs, Int16.cs, Int32.cs, Int64.cs, SByte.cs, String.cs,
5736         UInt16.cs, UInt32.cs, UInt64.cs: Implement IComparable<T>.      
5738 2004-07-13  Sebastien Pouliot  <sebastien@ximian.com>
5740         * ActivationContext.cs: New class in Fx 2.0. Required for 
5741         System.Security.Policy.
5742         * ApplicationIdentity.cs: New class in Fx 2.0. Required for 
5743         System.Security.Policy.
5744         * IApplicationDescription.cs: New interface in Fx 2.0. Required for 
5745         System.Security.Policy.
5746         * IHostContext.cs: New interface in Fx 2.0. Required for 
5747         System.Security.Policy.
5749 2004-07-12  Geoff Norton <gnorton@customerdna.com>
5751         * DateTime.cs: Patch for bug #61112.  Our DateTime wasn't roundtripping over timezone
5752           boundaries properly.  This patch checkes ToLocalTime() to see if we're tripping over a boundary
5753           and will add/subtract the hour if needed
5755 2004-07-07  Geoff Norton <gnorton@customerdna.com>
5757         * Monotype.cs: Patch for bug #58844.  Dont throw exceptions right away;
5758           pass through all the possibly BindingInfo's and keep a bool value as to the type
5759           of exception we might need to throw;
5761 2004-07-07  Geoff Norton <gnorton@customerdna.com>
5763         * Patch to fix bug #58973
5765 2004-07-02  Jackson Harper  <jackson@ximian.com>
5767         * PlatformID.cs: New 2.0 values.
5768         
5769 2004-06-25  Ben Maurer <bmaurer@ximian.com>
5770         
5771         * Environment.cs: GetFolderPath has new behavior. r=miguel
5773 2004-06-23  Sebastien Pouliot  <sebastien@ximian.com>
5775         * DateTime.cs: Throw ArgumentOutOfRangeException if the year is
5776         bigger than 9999. Fix bug #41845.
5777         * FloatingPointFormatter.cs: Applied correction from Jon Skeet on
5778         the "R"eversible format for negative numbers.
5780 2004-06-21  Jackson Harper  <jackson@ximian.com>
5782         * Decimal.cs: Make sure to use invariant culture when parsing
5783         floats stringified with the invariant culture. Patch by Rodrigo
5784         B. de Oliveira.
5785         
5786 2004-06-19  Atsushi Enomoto  <atsushi@ximian.com>
5788         * FloatingPointFormatter.cs : Literal string should be kept in the
5789           output.
5791 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
5793         * DateTime.cs : Concatenating whitespace removal was not working fine.
5794           Modified FormatException message (1 cent kindness).
5796 2004-06-18  Ben Maurer  <bmaurer@ximian.com>
5797         
5798         * Action.cs, ArraySegment.cs, Comparison.cs, Converter.cs, Predicate.cs:
5799         new generics classes
5800         * IComparable.cs: add the new <T> version.
5801         * EventHandler.cs: new <T> version.
5802         
5803 2004-06-18  Dick Porter  <dick@ximian.com>
5805         * String.cs: The icall can cope with embedded \0 now.
5807 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
5809         * DateTime.cs :
5810           - Added new common pattern "yyyy/M/dZ"
5811           - empty string should not be compared in _ParseEnum()
5812           - Use culture independent string comparison in _ParseString()
5813           - Whitespace removal should be checked after '..' token check (some
5814             pattern such like es-ES LongDatePattern contains spaces in '..').
5815           - formats null check should be done (to throw ArgumentNullException)
5816             in ParseExact().
5817           - When specified one character format, dates are incorrectly regarded
5818             as to use invariant culture.
5820 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
5822         * ArgIterator.cs: changed layout to Auto
5823         * DateTime.cs: changed layout to Auto
5825 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
5827         * DateTime.cs: CRLF to LF
5829 2004-06-17  Sebastien Pouliot  <sebastien@ximian.com>
5831         * Decimal.cs: Fixed regression in System.Data caused by the recent 
5832         changes. Adapted (and moved) the code to correct the scale from 
5833         SqlMoney. Removed unused (and unusable) IsOne and fixed IsZero (where
5834         scale has no importance).
5836 2004-06-17  Lluis Sanchez Gual  <lluis@ximian.com>
5838         * Activator.cs: In CreateInstance(), use Public|Instance if access binding
5839           attributes are omitted.
5841 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5843         * DateTime.cs : GetDateTimeFormats(char, IFormatProvider) should also
5844           check if the format character is valid.
5846 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5848         * DateTime.cs : AddDays(double) rounds the input.
5850 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5852         * DateTime.cs : Incorrect maxvalue comparison in ToUniversalTime().
5853           Fixed ToLocalTime() as well, but it does check range for MinValue.
5855 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5857         * DateTime.cs : Added overflow check in ToUniversalTime() and
5858           ToLocalTime(). Fixed bug #60253.
5860 2004-06-16  Sebastien Pouliot  <sebastien@ximian.com>
5862         * FloatingPointFormatter.cs: Implemented "R" format using Jon Skeet
5863         source code (with permission). Fix (biggest) part of bug #60110.
5864         http://www.yoda.arachsys.com/csharp/floatingpoint.html
5866 2004-06-15  Sebastien Pouliot  <sebastien@ximian.com>
5868         * Decimal.cs: Fixed scale after Round (a different scale is correct 
5869         from a math point of view but affect the string representation of the
5870         value). Note: other operations also have scale problems!
5871         * DecimalFormatter.cs: Fixed FormatGeneral to match Fx 1.1 output.
5872         * FloatingPointFormatter.cs: Fixed ToString which doesn't use banker's
5873         rounding (which is the rounding provided by Math.Round). This fix bug
5874         #60111. The code (new Round methods) should be moved elsewhere (as it
5875         may also be required elsewhere) post Mono 1.0.
5877 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
5879         * AppDomainSetup.cs: added TODO for serialization
5880         * ExecutionEngineException.cs: added missing serialization ctor
5881         * InvalidProgramException.cs: added missing serialization ctor
5882         * MulticastNotSupportedException.cs: added missing serialization ctor
5883         * ObsoleteAttribute.cs: fixed serialization compatibility with MS.NET
5884         * Random.cs: fixed serialization compatibility with MS.NET
5886 2004-06-15  Paolo Molaro <lupus@ximian.com>
5888         * Type.cs: removed unused (and non-existing) icall type_is_instance.
5890 2004-06-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5892         * Environment.cs: use internalGetHome instead of getting "HOME" as
5893         that variable may not be defined.
5895 2004-06-14  Sebastien Pouliot  <sebastien@ximian.com>
5897         * TimeSpan.cs: Fixed timespan with large values for hours or minutes
5898         (overflow is only checked for days but can also occurs in hours and
5899         minutes which uses Int32 when multiplying). The new results match MS
5900         implementation.
5902 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
5904         * FloatingPointFormatter.cs : Recognize '%' and '\u2030' and replace
5905           them with matching NumberFormatInfo properties.
5907 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
5909         * Double.cs : Use IFormatProvider.GetFormat() instead of literal '-'.
5910         * FloatingPointFormatter.cs :
5911           Use NumberFormatInfo.NegativeSign. This change saves many XSLT test
5912           failures.
5913           Format Permille pattern (It is undocumented but actually available,
5914           and used in xsl:format-number).
5916 2004-06-14  Raja R Harinath  <rharinath@novell.com>
5918         * Console.cs (Console.Write, Console.WriteLine): Disable __arglist
5919         version with BOOTSTRAP_WITH_OLDLIB.
5920         * String.cs (STring.Concat): Likewise.
5922 2004-06-13  Atsushi Enomoto  <atsushi@ximian.com>
5924         * FloatingPointFormatter.cs :
5925           - Don't format more than 15 fraction digits. Don't report to Pedro
5926             directly (removing the error message with his concent).
5927           - When format string starts with '.', it means integral part format 
5928             is not specified. Ignore '.' characters after the first
5929             appearance. Fixed bug #59890.
5930           - 0.0 is formatted only before the third ';' appearance.
5932 2004-06-11  Sebastien Pouliot  <sebastien@ximian.com>
5934         * DateTime.cs: Added a AddRoundedMilliseconds which use the "old Mono"
5935         rounding logic which worked for FromOADate (while the newer didn't).
5936         * TimeSpan.cs: Now throw an OverflowException when the timespan is
5937         over MaxValue or under MinValue.
5939 2004-06-11  Martin Baulig  <martin@ximian.com>
5941         * Console.cs (Write, WriteLine): Implemented the varargs versions.
5943 2004-06-11  Martin Baulig  <martin@ximian.com>
5945         * String.cs (Concat): Implemented the varargs version.
5947 2004-06-10  Sebastien Pouliot  <sebastien@ximian.com>
5949         * Decimal.cs: Hacked the Parse method to allow the runtime C code to
5950         decode it properly (i.e. matching MS results). Fixed the Round method
5951         for negative decimal numbers (moved code from Math.cs).
5952         * Math.cs: Now use Decimal class for Round(Decimal,int). Required to
5953         fix a bug when rounding a negative decimal.
5955 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5957         * AppDomain.cs: set the _principal to null when changing the policy.
5958         * Console.cs: remove ClsCompliant attribute from a method marked as
5959         internal and added comment.
5961 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
5963         * Delegate.cs: marked protected fields private to match public
5964         API of MS.NET, marked DynamicInvokeImpl and GetMethodImpl
5965         protected to fix public API
5966         * Enum.cs: marked ctor protected to match public API of MS.NET
5967         * MulticastDelegate.cs: marked DynamicInvokeImpl protected to
5968         match public API of MS.NET
5970 2004-06-10  Atsushi Enomoto  <atsushi@ximian.com>
5972         * DateTime.cs : Added more common patterns.
5974 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
5976         * Decimal.cs: Fixed banker rounding by calling Math.Round. This won't
5977         be a performance winner (the actual Math code has a note to wait a
5978         better Decimal implementation) but it returns the correct results
5979         (without adding new code in corlib or the runtime). Fix #37744.
5981 2004-06-09  Atsushi Enomoto  <atsushi@ximian.com>
5983         * DateTime.cs :
5984           - A bunch of fixes (patch by Steven Brown). Fraction seconds are 
5985             now represented as double. Strict token check for 'Z'.
5986           - Pattern validity check in GetDateTimeFormats(char).
5987           - Fixed pattern "yyyy/M/d HH:mm:ss".
5989 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
5991         * Decimal.cs: Fixed remainder (and optimized some cases not to call 
5992         unmanaged code). Simplified divide. Removed workaround for bug #59793.
5993         Fixed GetHashCode to return different result for X and -X.
5995 2004-06-08  Atsushi Enomoto  <atsushi@ximian.com>
5997         * DateTime.cs :
5998           - Now re-checked all common format patterns. They should be tried
5999             with both current culture and invariant culture. Since '/' covers
6000             '-', removed extraneous patterns. Added more common patterns
6001             such as "yyyy-MM-dd" and X509Certificate pattern (it is valid
6002             only after NET_1_1). Commented out 1 character format patterns.
6003           - The format patterns we should try should not be obtained by
6004             GetAllDateTimePatterns(). Just use 'd', 'D', 't', 'T', ... (one
6005             character patterns), to handle UTC correctly. Examined patterns
6006             are changed, to 1) common patterns with specified (or current)
6007             culture, 2) common patterns with invariant, 3) The above "one
6008             character patterns" with specified (or current) culture.
6009           - When trying to parse some kind of patterns such as RFC1123, 
6010             always use invariant DateTimeFormatInfo so that they can avoid
6011             parsing with culture-dependent calendar.
6012           - Check "GMT" only when doing Parse(). Don't it when ParseExact().
6013           - Removed extraneous '-' case. It is not special one.
6014           - When ParseExact(), allow only '/' for '/' pattern character.
6015           - When Parse(), allow any non-letter & non-number characters.
6016           - When pattern is not fully parsed, reject that format.
6017           - Added "exact" parameter to some ParseExact().
6018           - RFC1123 pattern is (again) now parsed in local time. I regressed
6019             some problems in previous fix.
6021 2004-06-08  Sebastien Pouliot  <sebastien@ximian.com>
6023         * Decimal.cs: Fixed cast to integer types to truncate (not round) the
6024         value.
6026 2004-06-07  Duncan Mak  <duncan@ximian.com>
6028         * Exception.cs (Source): This can return null.
6030 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
6032         * DateTime.cs: Fixed FromFileTime for negative values. Fixed 
6033         constructor to limit range of milliseconds from 0,999. Fixed
6034         ToType method to work for object, string and DateTime.
6036 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
6038         * DateTime.cs: Fixed OLE Automation date conversions: timezone 
6039         insensitive, wrong exception in FromOADate, handling of Min/Max 
6040         values, negative doubles where integer part is negative but 
6041         decimals are positive! Charming format ;-)
6043 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
6045         * String.cs: Fixed Join in case separator parameter is null.
6046         * TimeSpan.cs: Cache format errors during parsing and throw 
6047         FormatException only if there was no overflow.
6049 2004-06-06  Gert Driesen <drieseng@users.sourceforge.net>
6051         * MonoCustomAttrs.cs: fixed issue where an empty array was 
6052         returned when GetCustomAttributes was invoked with null
6053         attribute type and there was only one result
6055 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
6057         * Decimal.cs: Fixed ToString(String.Empty) to default ("G").
6058         * Int16.cs: Fixed ToString(String.Empty) to default ("G").
6059         * Int32.cs: Fixed ToString(String.Empty) to default ("G").
6060         * Int64.cs: Fixed ToString(String.Empty) to default ("G").
6061         * SByte.cs: Fixed ToString(String.Empty) to default ("G").
6062         * UInt16.cs: Fixed ToString(String.Empty) to default ("G").
6063         * UInt32.cs: Fixed ToString(String.Empty) to default ("G").
6064         * UInt64.cs: Fixed ToString(String.Empty) to default ("G").
6066 2004-06-05  Sebastien Pouliot  <sebastien@ximian.com>
6068         * Convert.cs: Fixed the convertion of negative integers (byte, short, 
6069         int and long) into string in a specific base (2, 8, 10 or 16).
6071 2004-06-04  Sebastien Pouliot  <sebastien@ximian.com>
6073         * Math.cs: Fixed IEEERemainder to return -0 (0x8000000000000000) when
6074         the dividend is negative and the result is 0 (remainder).
6076 2004-06-03  Sebastien Pouliot  <sebastien@ximian.com>
6078         * Delegate.cs: Fix the NullReferenceException in Combine(Delegate[]).
6080 2004-06-02  Sebastien Pouliot  <sebastien@ximian.com>
6082         * TimeSpan.cs: Fixed overflow issues when delaing with big (days) time
6083         spans. Fixed parsing when only days are presents in the string (which
6084         should be illegal according to the documentation but is supported).
6086 2004-06-01  Sebastien Pouliot  <sebastien@ximian.com>
6088         * TimeSpan.cs: Fixed exceptions in FromXXX methods as they are 
6089         somewhat different from the documentation.
6091 2004-06-01  Gert Driesen <drieseng@users.sourceforge.net>
6093         * Type.cs: added missing attributes on InvokeMember
6095 2004-06-01  Miguel de Icaza  <miguel@ximian.com>
6097         * String.cs: Flag concat with four arguments internal. 
6099 2004-05-31  Sebastien Pouliot  <sebastien@ximian.com>
6101         * Array.cs: Fixed legal case where value is null.
6102         * Byte.cs: Fixed ToString when format is an empty string (use "G").
6103         * Guid.cs: Renamed private fields (and changed some to signed) to 
6104         match MS implementation and allow serialization to work. Fix 
6105         bug #59113.
6107 2004-05-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6109         * DateTime.cs: adjust milliseconds for fraction specifier ('f').
6111 2004-05-30  Miguel de Icaza  <miguel@ximian.com>
6113         * Console.cs: Remove *again* the version of WriteLine with four
6114         arguments;  That should *not* be added.  
6116         Flag it as internal as people migrate their code.
6118 2004-05-29  Sebastien Pouliot  <sebastien@ximian.com>
6120         * Convert.cs: Fixed ToSByte(string,IFormatProvider) to throw 
6121         ArgumentNullException (only case, all other returns 0). Fixed exception
6122         reporting for hex prefix only strings. Fixed ChangeTo where null could
6123         be misinterpreted between null and Empty.
6125 2004-05-28  Sebastien Pouliot  <sebastien@ximian.com>
6127         * Convert.cs: Fixed integer parsing for special cases (0x, 0X for base
6128         16), non-base 10 negative numbers ... see new unit tests. Fixed the 
6129         case when we parse Int64.MinValue (positive doesn't fit a signed long).
6131 2004-05-28  Jackson Harper  <jackson@ximian.com>
6133         * Environment.cs: Increment version number.
6134         
6135 2004-05-28  Zoltan Varga  <vargaz@freemail.hu>
6137         * AppDomain.cs (Load): Try loading from assemblyRef.CodeBase if exists.
6138         Fixes #59189.
6140 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
6142         * DateTime.cs : I reverted my fix by accident :(
6144 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
6146         * DateTime.cs :
6147           - In ToString(), Don't use culture-dependent daynames to format
6148             Universal/RFC1123 date/time. Also, use FullDateTimePattern for 'U'.
6149           - Fixed GetDateTimeFormats () that generated incorrect 'U' value 
6150             (since the format string is the same as 'F').
6152 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
6154         * DateTime.cs : don't adjust utc value in ToString(). It must output
6155           the same time value, just adding 'Z' for UTC.
6157 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
6159         * DateTime.cs : in 'Z' case, remove the 'Z' char from input before
6160           proceeding.
6162 2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6164         * AppDomainSetup.cs: InitAppDomainSetup is not needed now.
6166 2004-05-27  Sebastien Pouliot  <sebastien@ximian.com>
6168         * Byte.cs: Fixed parsing for "-0" which is valid for unsigned types.
6169         * Convert.cs: Convert with a base parameter cannot parse negative 
6170         string numbers, even "-0".
6171         * UInt16.cs: Fixed parsing for "-0" which is valid for unsigned types.
6172         * UInt32.cs: Fixed parsing for "-0" which is valid for unsigned types.
6173         * UInt64.cs: Fixed parsing for "-0" which is valid for unsigned types.
6175 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
6177         * DateTime.cs : 
6178           - Added "yyyy/MM/dd HH:mm:ss 'GMT'" and "yyyy-MM-dd HH:mm:ss 'GMT'"
6179             to common formats (yes, I know it is nothing more than hack)
6180           - Fixed some GetDateTimeFormats() that just returned patterns.
6181           - For InvariantCulture, now try both supported formats and our
6182             predefined formats.
6183           - It was accepting incorrectly extraneous characters. That caused
6184             some UTC/non-UTC bug.
6185           - RFC1123 string should return universal time. Uncomment again (the
6186             problem should went away because of the extra characters fix above.
6188             With some of the changes above, fixed bug #47720.
6190 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
6192         * DateTime.cs : quick revert 'Z' support for certificate verifications.
6194 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
6196         * Array.cs: Removed duplicate condition if LastIndexOf.
6198 2004-05-26  Atsushi Enomoto <atsushi@ximian.com>
6200         * DateTime.cs :
6201           - Added "yyyy-MM-dd HH:mm:ss" to "compatible patterns".
6202             (Fixed bug #58938.)
6203           - As a quick remedy to accept more patterns, Parse() now also tries
6204             InvariantInfo patterns (this is because we have no more than one
6205             pattern for each pattern component.)
6206           - In _DoParse(), 'Z' should not be read as timezone specifier. Some
6207             culture uses 'Z' as AM/PM designer, and it should be recognized as
6208             part of the UTCpattern (if it actually UTC pattern for the culture
6209             contains 'Z').
6211 2004-05-26  Gert Driesen (drieseng@users.sourceforge.net)
6213         * MonoCustomAttrs.cs: Fixed issue with AllowMultiple, as MS
6214         seems to allow multiple attributes with AllowMultiple at
6215         runtime.
6217 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
6219         * Byte.cs: Throw an OverflowException for negative numbers.
6220         * Convert.cs: Accept 0x and 0X as prefix when parsing base16 strings.
6221         * Environment.cs: Bumped mono_corlib_version to 20 (rng interface).
6223 2004-05-25  Sebastien Pouliot  <sebastien@ximian.com>
6225         * Array.cs: Fixed possible integer overflow.
6226         * BitConverter.cs: Fixed a possible integer overflow in ToString.
6227         * Guid.cs: Added an internal method to create a random Guid without
6228         using CryptoConfig (which is heavy on first use). This is only used
6229         in S.R.E.ModuleBuilder to speedup MCS compilation.
6230         * String.cs: Fixed reported exception for PadLeft|Right. Fixed 
6231         possible integer overflow in methods that takes index and count
6232         as parameters.
6234 2004-05-25  Zoltan Varga  <vargaz@freemail.hu>
6236         * String.cs: Add new Strcpy icalls which take a char array as 
6237         parameter.
6239 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
6241         * DateTime.cs : added more invariant format patterns. This should
6242           really fix bug #57656.
6244 2004-05-25 14:14 CET Patrik Torstensson <totte@hiddenpeaks.com>
6246         * BitConverter.cs (ToBoolean): Return true or false instead
6247         of unsafe returing byte as bool. Fixes bug #58874.
6249 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
6251         * DateTime.cs : In ToString(string, IFormatProvider), use "G" if
6252           string format argument is null.
6254 2004-05-25  Lluis Sanchez Gual  <lluis@ximian.com>
6256         * Version.cs: Rename of data fields to match those in Microsoft.NET.
6257           Patch by PAF@design.ru.
6259 2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6261         * DateTime.cs: allow double quotes in the formats. Don't set
6262         next_not_digit to true in presence of single or double quotes. Patch by
6263         Martin Probst.
6265 2004-05-24  Zoltan Varga  <vargaz@freemail.hu>
6267         * AppDomainSetup.cs (InitAppDomainSetup): This one returns void.
6269 2004-05-23  Sebastien Pouliot  <sebastien@ximian.com>
6271         * Array.cs: Fixed exception when we try to Clear outside bounds.
6272         * Boolean.cs: Fixed Equals for True!=True (see bugzilla #58874).
6273         * BitConverter.cs: Fixed negative index and integer overflow in
6274         To... methods.
6275         * Buffer.cs: Fixed integer overflow in BlockCopy.
6277 2004-05-22  Sebastien Pouliot  <sebastien@ximian.com>
6279         * Array.cs: Clear can now work on multidimentional arrays.
6280         * IntPtr.cs: We now only accept 32bits values in the long constructor
6281         unless we're on a 64 bits machine.
6282         * UIntPtr.cs: We now only accept 32bits unsigned values in the ulong 
6283         constructor unless we're on a 64 bits machine.
6285 2004-05-22  Duncan Mak  <duncan@ximian.com>
6287         * Convert.cs: The file was mostly in DOS endings already, for the
6288         sake of consistency, converted it all to DOS endings.
6289         (ToType): When value is null, immediately return null and don't
6290         ever throw a NullReferenceException. When conversionType is null,
6291         throw an InvalidCastException. Give a better error message when
6292         attempting to convert to a DBNull as well.
6294 2004-05-21  Sebastien Pouliot  <sebastien@ximian.com>
6296         * Decimal.cs: Fixed To... methods that needs to trunk the integer part
6297         of Decimal (and not use the banker's rounding like Convert.To...).
6298         * Single.cs: Fixed CompareTo and Equals (copied fix from Double) wrt
6299         to NaN compares (see new unit tests).
6301 2004-05-20  Sebastien Pouliot  <sebastien@ximian.com>
6303         * Convert.cs: Added checks for integer overflow for From|ToBase64Char.
6304         Also fixed the case where wide (16 bits) characters were converted to 
6305         bytes.
6307 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
6309         * ThreadStaticAttribute.cs
6310         * ContextStaticAttribute.cs
6311         * FlagsAttribute.cs
6312         * ObsoleteAttribute.cs : now that Inherited is false by
6313         default on AttributeUsageAttribute (as it should be) we
6314         need to explicitly set Inherited to false for those
6315         attributes should it be be false.
6317 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
6319         * AttributeUsageAttribute.cs: Inherited property should be
6320         true by defaultrs.cs: respect Inherited property, and
6322 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
6324         * MonoCustomAttrs.cs: respect Inherited property, and
6325         AllowMultiple property of a CustomAttribute. This fixes
6326         a major issue we had with respect to custom attributes.
6328 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
6330         * MonoType.cs: throw ArgumentNullException when type parameter in
6331         GetCustomAttributes(Type, bool) is null
6333 2004-05-18  Sebastien Pouliot  <sebastien@ximian.com>
6335         * Buffer.cs: Added checks for null source and destination. Fix failing
6336         CryptoStream unit test.
6337         * Guid.cs: Fixed thread-safety issue. Simplified implementation to use
6338         pseudo-random numbers to generate GUIDs (as per section 3.4 of the 
6339         spec). This removes the TODO to get the computer MAC address and
6340         the chances to get a duplicate GUID (across different machines).
6342 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6344         * TimeSpan.cs: Only catch expected exceptions, if we get other exceptions
6345           than OverflowExceptions then something went wrong internally
6347 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6349         * Char.cs: Fix long standing bug with ToLower/ToUpper not being
6350           culture - sensitive
6352 2004-05-14  Zoltan Varga  <vargaz@freemail.hu>
6354         * Buffer.cs: Optimize BlockCopy.
6356         * Environment.cs: Bump corlib version.
6358 2004-05-14  Atsushi Enomoto <atsushi@ximian.com>
6360         * __ComObject.cs : This class is not regarded as CLSCompliant by csc.
6361           See also bug #58478.
6363 2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6365         * AppDomainSetup.cs: don't throw an exception if dynamic_base has not
6366         been set. Just return null as MS. Fixes bug #58120.
6368 2004-05-14  Marek Safar  <marek.safar@seznam.cz>
6370         * Boolean.cs, Byte.cs, Char.cs, DBNull.cs, DateTime.cs,
6371           Decimal.cs, Double.cs, Enum.cs, Int16.cs, Int32.cs,
6372           Int64.cs, IntegerFormatter.cs, SByte.cs, Single.cs,
6373           String.cs, UInt16.cs, UInt32.cs, UInt64.cs: Removed
6374           useless [CLSCompliant (false)]
6377 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
6379         * __ComObject.cs: To please corcompare (no implementation).
6381 2004-05-13  Zoltan Varga  <vargaz@freemail.hu>
6383         * Environment.cs: Bump corlib version.
6385 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
6387         * Environement.cs: Removed two security attributes for CurrentDirectory
6388         that weren't documented (and anyway we don't support them).
6390 2004-05-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6392         * Char.cs: Fix exceptions
6394 2004-05-11  Lluis Sanchez Gual  <lluis@ximian.com>
6396         * MissingMemberException.cs: Fix in serialization constructor.
6398 2004-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6400         * Environment.cs: GetGacPath return value is resolved at runtime on
6401         windows.
6403 2004-05-07  Sebastien Pouliot  <sebastien@ximian.com>
6405         * Convert.cs: ToBase64CharArray method was depending on a bug in 
6406         S.S.C.ToBase64Transform class to work. Added an internal method to 
6407         provide the same functionality (multiple block processing).
6409 2004-05-06  Jackson Harper  <jackson@ximian.com>
6411         * Environment.cs: Make $HOME the personal directory.
6413 2004-05-06  Sebastien Pouliot  <sebastien@ximian.com>
6415         * Convert.cs: ToBase64String method was depending on a bug in 
6416         S.S.C.ToBase64Transform class to work. Added an internal method to 
6417         provide the same functionality (multiple block processing).
6419 2004-05-05  Sebastien Pouliot  <sebastien@ximian.com>
6421         * Environment.cs: Completed OSVersion property.
6422         * Version.cs: Added internal CreateFromString() to "try" to build the
6423         best version number form the specified string.
6425 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6427         * TimeSpan.cs: Redid a lot of stuff in TimeSpan from scratch.
6428           Fixes several potential bugs and makes things way faster.
6430 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6432         * TimeSpan.cs: Formatting changes
6434 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
6436         * Activator.cs: change _flags to a const.
6437         * IntegerFormatter.cs: make tables readonly.
6438         * Convert.cs: tables readonly
6439         * DateTime.cs: ditto.
6440         * IntPtr.cs: avoid a cctor.
6442 2004-04-29  Jackson Harper  <jackson@ximian.com>
6444         * MonoType.cs: 
6445         * Type.cs: NET_2_0 now instead of 1_2. 
6446         
6447 2004-04-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6449         * Environment.cs: implemented GetLogicalDrives.
6451 2004-04-28  Miguel de Icaza  <miguel@ximian.com>
6453         * Applied patch from Atsushi Enomoto that allows Synchronized
6454         writers to have a `dont close' flag, this fixes 52094
6456 2004-04-29  Lluis Sanchez Gual  <lluis@ximian.com>
6458         * MonoCustomAttrs.cs, MonoType.cs: Property.GetGetMethod() does not
6459         return the method if it is private (it did until now because of a
6460         bug). Make sure it works as it worked before the fix.
6461         * Type.cs: Implemented FilterAttribute delegate.
6463 2004-04-28  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6465         * IntegerFormatter.cs: Prevent the use of the explicit static constuctor
6467 2004-04-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6469         * IntegerFormatter.cs: Made functions internal (needed by other patches)
6471 2004-04-27  Lluis Sanchez Gual  <lluis@ximian.com>
6473         * DateTime.cs: TODO cleaning.
6474         * Delegate.cs: GetObjectData should be virtual.
6475         * IntegerFormatter.cs: Method factorization. I don't want to fix bugs in
6476           30 methods almost identical.
6477         * MulticastDelegate.cs: Implemented GetObjectData.
6478         
6479 2004-04-26  Jackson Harper  <jackson@ximian.com>
6481         * Environment.cs: Things going bump in the night.
6483 2004-04-25  Miguel de Icaza  <miguel@ximian.com>
6485         * Convert.cs (toBase64Transform): Make private.
6487 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6489         * Convert.cs:
6490         * Decimal.cs:
6491         * DecimalFormatter.cs:
6492         * FloatingPointFormatter.cs: Call invariant Char functions
6493         * Guid.cs: Call invariant Char and String functions
6494         * String.cs: Call invariant Char functions
6496 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6498         * String.cs: Refactored the Invariant ToXXX into its own internal methods
6499           so they are directly callable within corlib (can prevent early
6500           construction of CultureInfo, InvariantCulture and related classes)
6502 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6504         * String.cs: Managed impl. of Invariant parts of ToLower, ToUpper
6505         * Char.cs: Managed impl. of Invariant parts of ToLower, ToUpper
6507 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6509         * String.cs: Check for null values
6511 2004-04-23  Peter Bartok <pbartok@novell.com>
6513         * Environment.cs: GetLogicalDrives now returns "/" instead of null. Gonzalo
6514           will do a better fix in the future, but this way apps can at least use it.
6516 2004-04-23  Sebastien Pouliot  <sebastien@ximian.com>
6518         * Environment.cs: Better support for GetFolderPath (same results as MS 
6519           on Windows).
6521 2004-04-22  Lluis Sanchez Gual  <lluis@ximian.com>
6523         * Activator.cs: Removed TODOs for finished methods.
6524         * AppDomainSetup.cs: When setting a relative path to ApplicationBase, it
6525           must be relative to the current directory, not the temp directory.
6526           Implemented DynamicBase.
6527         * Convert.cs: No need to create a ToBase64Transform instance at every call
6528           to ToBase64CharArray.
6529         * DateTime.cs: Implemented missing methods FromFileTimeUtc and 
6530           ToFileTimeUtc.
6531         * Decimal.cs: Implemented FromOACurrency and ToOACurrency.
6532         * Delegate.cs: Removed class TODO.
6533         * IntegerFormatter.cs: Use Char.IsLetter and Char.IsDigit instead of ad-hoc
6534           methods.
6535         * Type.cs: Removed TODOs for things already implemented.
6536         
6537 2004-04-21  Lluis Sanchez Gual  <lluis@ximian.com>
6539         * Char.cs: Implemented culture-dependent ToLower and ToUpper methods.
6540         * MulticastDelegate.cs: Removed unused code.
6542 2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>
6544         * AppDomain.cs: Implemented DynamicDirectory and SetDynamicBase.
6545         * Array.cs: Removed some TODOs in CreateInstance and IndexOf.
6546         * BadImageFormatException.cs: TODO reformat.
6547         * DateTime.cs: Implemented GetDateTimeFormats and GetDateTimeFormats.
6548         * DelegateSerializationHolder.cs: Made class internal.
6549         * Enum.cs: Removed TODO for localization, since this is something that has
6550           to be done for all classes.
6551         * Environment.cs: Removed TODO.
6552         * Exception.cs: Changed ToString to use StringBuilder.
6553         * MonoDummy.cs: Made class internal.
6554         * UnitySerializationHolder.cs: Added support for modules.
6556 2004-04-16  David Sheldon <dave-mono@earth.li>
6558         * DecimalFormatter.cs: Don't append a decimal point after the
6559           end of a number. ((decimal)1).ToString("P0") should be "100 %", not
6560           "100. %"
6562 2004-04-09  Miguel de Icaza  <miguel@ximian.com>
6564         * OutOfMemoryException.cs: Removed the call to Locale.GetText from
6565           this.
6567 2004-04-10  Gert Driesen (drieseng@users.sourceforge.net)
6569         * MonoDummy.cs: added MonoTODO to make sure we remove this class
6570           when its no longer needed
6572 2004-04-09  David Sheldon <dave-mono@earth.li>
6574         * Convert.cs: Allow + signs in strings for ToInt32, and
6575           - if it is base 10.
6577 2004-04-08  Atsushi Enomoto  <atsushi@ximian.com>
6579         * Nullable.cs : usingdecl should also be conditional.
6581 2004-04-07  Martin Baulig  <martin@ximian.com>
6583         * Nullable.cs: New file.
6585 2004-04-07  Martin Baulig  <martin@ximian.com>
6587         * Type.cs (Type.GetGenericArguments): Make this abstract.
6589 2004-04-07  Jackson Harper  <jackson@ximian.com>
6591         * Environment.cs: Increase corlib version number.
6592         
6593 2004-04-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6595         * Environment.cs:
6596         (ExpandEnvironmentVariables): on windows, env. vars. are case
6597         insensitive.
6599 2004-04-06  Sebastien Pouliot  <sebastien@ximian.com>
6601         * AppDomain.cs: Added static to [ThreadStatic] _principal field. 
6602         Removed [ThreadStatic] for _principalPolicy (not required).
6604 2004-04-06  Miguel de Icaza  <miguel@ximian.com>
6606         * Guid.cs: Flag as Sequential.
6608 2004-04-02  Dick Porter  <dick@ximian.com>
6610         * String.cs: More sanity checks in Replace().  Fixes bug 55822.
6612 2004-04-02  Sebastien Pouliot  <sebastien@ximian.com>
6614         * Environment.cs: Implement ExpandEnvironmentVariables static method.
6615         Now call the runtime to get the username (fix #56144).
6617 2004-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6619         * MonoType.cs: AssemblyQualifiedName now displays culture, version...
6620         Fixes bug #56341.
6622 2004-03-29  Miguel de Icaza  <miguel@ximian.com>
6624         * Console.cs: If we fail to open stdin/stdout/stderr, create
6625         readers with a NullStream.  This can happen if our caller does not
6626         setup stdin/stoud/stderr file handles.  #56158 exposed this, but
6627         it will happen elsewhere.
6629 2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>
6631         * Convert.cs: In ToSingle(double), removed checks for Single.MaxValue
6632         and Single.MinValue. MS.NET don't do it. This fixes bug #56005.
6633         * Guid.cs: Added support for guid strings in the "N" and "P" formats in
6634           the constructor. This fixes bug #54019.
6636 2004-03-23  Lluis Sanchez Gual <lluis@ximian.com>
6638         * FloatingPointFormatter.cs: Made the class thread safe. Had to move some
6639           internal variables to structures that are moved around methods.
6640           Factorized some common formatting code into FormatNumberInternal.
6641           
6642 2004-03-23  Dick Porter  <dick@ximian.com>
6644         * DateTime.cs: Allow any character for DateSeparator when parsing,
6645         except TimeSeparator, a digit or a letter.  Fixes bug 54047.  Also
6646         deleted the previous fix for 54721, because this covers it too.
6647         
6648 2004-03-23  Dick Porter  <dick@ximian.com>
6650         * DateTime.cs: Check the date string for too many digits when
6651         parsing.  Fixes bugs 53023 and 53025.
6653 2004-03-22  Dick Porter  <dick@ximian.com>
6655         * String.cs: Use the provider when converting strings to other
6656         types.
6658         * DateTime.cs: Add MM-dd-yyyy to the list of standard date parsing
6659         formats.  Fixes bug 54721.
6661 2004-03-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6663         * Console.cs: Styled, optimized calls
6664         * CrossAppDomainDelegate.cs: Small header fix
6665         * Buffer.cs: Style, improve errors
6666         * BitConverter.cs: Style, improve errors, remove obsolete comment
6667         * Attribute.cs: Style, improve errors, small fix
6668         * Array.cs: Style, improve errors, small fix, added TODOs
6669         * Activator.cs: Style, localized errors, added error checks
6670         * Byte.cs: Style, localized errors, fixed wrong exception parameters
6671         * Char.cs: Style
6672         * Boolean.cs: Style
6673         * AppDomainSetup.cs: Style
6674         * AppDomain.cs: Style, implemented two methods (redirect)
6676 2004-03-21  Jackson Harper  <jackson@ximian.com>
6678         * FloatingPointFormatter.cs: Set precision from number format info
6679         when it is not specified. This fixes bug #54983.
6680         
6681 2004-03-18  Nick Drochak <ndrochak@ieee.org>
6683         * Math.cs: Use IsNaN() method not "x == NaN".
6685 2004-03-16  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6687         * EntryPointNotFoundException.cs
6688         * DuplicateWaitObjectException.cs
6689         * DllNotFoundException.cs
6690         * DivideByZeroException.cs
6691         * ContextMarshalException.cs
6692         * CannotUnloadAppDomainException.cs
6693         * BadImageFormatException.cs
6694         * ArrayTypeMismatchException.cs
6695         * ArithmeticException.cs
6696         * ArgumentOutOfRangeException.cs
6697         * ArgumentNullException.cs
6698         * ArgumentException.cs
6699         * ApplicationException.cs
6700         * AppDomainUnloadedException.cs: Added missing HResult overrides
6702         * BadImageFormatException.cs: Improved/ Fixed implementation
6704 2004-03-15  Sebastien Pouliot  <sebastien@ximian.com>
6706         * Random.cs: Corrected random value when Next is called with a 
6707         negative value. Testing indictae that our results aren't exactly the 
6708         same as MS, we have a +/- 1 (probably rounding errors due to 
6709         different implementation).
6711 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6713         * Environment.cs: updated corlib version.
6715 2004-03-15  Lluis Sanchez Gual <lluis@ximian.com>
6717         * Boolean.cs, Byte.cs, Char.cs, Double.cs, Int16.cs, Int32.cs, Int64.cs,
6718           SByte.cs, Single.cs, UInt16.cs, UInt32.cs, UInt64.cs: Renamed internal
6719           field "value" to "m_value", so it is interoperable with MS.NET when 
6720           serializing and deserializing data. Based on the patch from Daniel
6721           Keep.
6723 2004-03-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6725         * TypeInitializationException.cs
6726         * SystemException.cs
6727         * StackOverflowException.cs
6728         * RankException.cs
6729         * OverflowExceptionException.cs
6730         * OutOfMemoryException.cs
6731         * NullReferenceException.cs
6732         * NotSupportedException.cs
6733         * NotFiniteNumberException.cs
6734         * InvalidOperationException.cs
6735         * InvalidCastException.cs
6736         * IndexOutOfRangeException.cs
6737         * FormatException.cs
6738         * ExecutionEngineException.cs: improved parameter names
6740 2004-03-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6742         * Enum.cs
6743         * EntryPointNotFoundException.cs
6744         * DuplicateWaitObjectException.cs
6745         * DoubleFormatter.cs
6746         * DllNotFoundException.cs
6747         * DivideByZeroException.cs
6748         * DelegateSerializationHolder.cs
6749         * Delegate.cs
6750         * DBNull.cs
6751         * ContextStaticAttribute.cs
6752         * ContextMarshalException.cs
6753         * ContextBoundObject.cs
6754         * CLSCompliantAttribute.cs
6755         * CharEnumerator.cs
6756         * CannotUnloadAppDomainException.cs
6757         * BadImageFormatException.cs
6758         * AttributeUsageAttribute.cs
6759         * AttributeTargets.cs
6760         * AsyncCallback.cs
6761         * AssemblyLoadEventHandler.cs
6762         * AssemblyLoadEventArgs.cs
6763         * ArrayTypeMismatchException.cs
6764         * ArithmeticException.cs
6765         * ArgumentOutOfRangeException.cs
6766         * ArgumentNullException.cs
6767         * ArgumentException.cs
6768         * ArgIterator.cs
6769         * ApplicationException.cs
6770         * AppDomainUnloadedException.cs
6771         * AppDomain.cs: Mono styled, fixed exceptions/ locales
6772           removed excess usings
6774 2004-03-10  Sebastien Pouliot  <sebastien@ximian.com>
6776         * Convert.cs: FromBase64 now ignore some characters (tab, LF, CR and
6777         spaces) which fixed #54939. Changed the way that the length is 
6778         validated (multiple of 4) because the ignored characters must not be
6779         included in the count.
6781 2004-03-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6783         * String.cs: Monostyled
6785 2004-03-09  Jackson Harper  <jackson@ximian.com>
6787         * Char.cs: Only use a byte for numeric data.
6788         
6789 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6791         * TypedReference.cs: Added missing Attributes
6792         * ParamArrayAttribute.cs: Small style fix
6793         * OperatingSystem.cs: Added .Net 1.1 member
6795 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6797         * FieldAccessException.cs
6798         * FormatException.cs
6799         * InvalidCastException.cs
6800         * InvalidOperationException.cs
6801         * MemberAccessException.cs
6802         * MethodAccessException.cs
6803         * MissingFieldException.cs: Locale strings
6804         * MissingMemberException.cs: Locale strings
6805         * MissingMethodException.cs: Locale strings
6806         * NotFiniteNumberException.cs
6807         * NotImplementedException.cs
6808         * NotSupportedException.cs
6809         * NullReferenceException.cs
6810         * ObjectDisposedException.cs
6811         * OutOfMemoryException.cs
6812         * OverflowExceptionException.cs
6813         * PlatformNotSupportedException.cs
6814         * RankException.cs: Added missing HResult overrides
6816 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6818         * RuntimeTypeHandle.cs
6819         * RuntimeMethodHandle.cs
6820         * RuntimeFieldHandle.cs: Implemented serialization (partially untested)
6822 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6824         * EventArgs.cs
6825         * Exception.cs
6826         * ExecutionEngineException.cs
6827         * FieldAccessException.cs
6828         * FormatException.cs
6829         * GC.cs
6830         * Guid.cs
6831         * IndexOutOfRangeException.cs
6832         * IntPtr.cs
6833         * InvalidCastException.cs
6834         * InvalidOperationException.cs
6835         * InvalidProgramException.cs
6836         * IServiceProvider.cs
6837         * LoaderOptimization.cs
6838         * LoaderOptimizationAttribute.cs
6839         * MarshalByRefObject.cs
6840         * Math.cs
6841         * MemberAccessException.cs
6842         * MethodAccessException.cs
6843         * MissingFieldException.cs
6844         * MissingMemberException.cs
6845         * MissingMethodException.cs
6846         * MultiCastDelegate.cs
6847         * MulticastNotSupportedException.cs
6848         * NonSerializedAttribute.cs
6849         * NotFiniteNumberException.cs
6850         * NotImplementedException.cs
6851         * NotSupportedException.cs
6852         * NullReferenceException.cs
6853         * ObjectDisposedException.cs
6854         * ObsoleteAttribute.cs
6855         * OperatingSystem.cs
6856         * OutOfMemoryException.cs
6857         * OverflowExceptionException.cs
6858         * PlatformID.cs
6859         * PlatformNotSupportedException.cs
6860         * Random.cs
6861         * RankException.cs
6862         * ResolveEventArgs.cs
6863         * ResolveEventHandler.cs
6864         * RuntimeFieldHandle.cs
6865         * RuntimeMethodHandle.cs
6866         * RuntimeTypeHandle.cs: Mono styled, fixed exceptions/ locales
6867           removed excess usings
6869 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6871         * SystemException.cs: Exceptions set the HResult
6872         * TypeLoadException.cs: Exceptions set the HResult, fixed wrong exception usage
6873         * SByte.cs: Implemented two missing methods, fix wrong parameters for ArgumentNullException
6875 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6877         * TypedReference.cs
6878         * TypeLoadException.cs
6879         * TypeInitializationException.cs
6880         * TypeCode.cs
6881         * TimeZone.cs
6882         * ThreadStaticAttribute.cs
6883         * SystemException.cs
6884         * STAThreadAttribute.cs
6885         * StackOverflowException.cs
6886         * SingleFormatter.cs
6887         * Single.cs
6888         * SerializableAttribute.cs: Mono styled, fixed exceptions/ locales
6889           removed excess usings
6891 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6893         * UnauthorizedAccessException.cs: Exceptions set the HResult
6894         * UInt64.cs: Implemented two missing methods
6895         * UInt32.cs: Fix wrong parameters for ArgumentNullException, simpler convert
6896         * UInt16.cs: Fix wrong parameters for ArgumentNullException, simpler convert
6898 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6900         * WeakReference.cs
6901         * Void.cs
6902         * Version.cs
6903         * ValueType.cs
6904         * UnitySerializationHolder.cs
6905         * UnhandledExceptionEventHandler.cs
6906         * UnauthorizedAccessException.cs
6907         * UIntPtr.cs
6908         * UInt64.cs
6909         * UInt32.cs
6910         * UInt16.cs: Mono styled, Locale.GetText fixes, msg fixes
6912 2004-03-04  Lluis Sanchez Gual <lluis@ximian.com>
6914         * Environment.cs: Bump corlib version.
6916 2004-03-04  Jackson Harper  <jackson@ximian.com>
6918         * Char.cs: New managed implementation. Modified patch by Andreas Nahr.
6919         
6920 2004-02-27  Lluis Sanchez Gual <lluis@ximian.com>
6922         * String.cs: Concat() fixed crash when one of the arguments is an object
6923           whose ToString() method returns null.
6924         * TypeLoadException.cs: Added some serialization fiels, needed for
6925           compatibility with MS.NET.
6927 2004-02-23 Ben Maurer  <bmaurer@users.sourceforge.net>
6929         * String.cs (Equals): Speed up this method by avoiding Array
6930          Bounds Checks and by comparing by 32 bit words rather than 16 bit chars.
6932         This gives between 0x (for 1 char) and >2x (for large strings)
6933         factor of improvement.
6935         A big thanks to Miguel, who suggested the integer compares.
6937 2004-02-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6939         * MonoType.cs: use the binder in GetPropertyImpl.
6941 2004-02-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6943         * Math.cs: MonoStyled, replaced space with tabs,
6944           speedup of some methods by avoiding method calls
6946 2004-02-18  Atsushi Enomoto  <atsushi@ximian.com>
6948         * Char.cs : optimized IsSeparator(), IsWhiteSpace() and IsDigit().
6949           (Moved from InternalCall to Managed code).
6951 2004-02-17  Martin Baulig  <martin@ximian.com>
6953         * MonoType.cs (GetConstructors): Renamed the interncall to
6954         GetConstructors_internal(), made it internal and added a `Type
6955         reflected_type' argument to it.
6956         (GetEvents, GetFields): Likewise.
6957         (GetMethodsByName): Added `Type reflected_type' argument.
6958         (GetPropertiesByName): Likewise.
6960 2004-02-16  Jackson Harper  <jackson@ximian.com>
6962         * FloatingPointFormater.cs: Allow precision to be up to the number
6963         of decimals without rounding.
6964         
6965 2004-02-14  Zoltan Varga  <vargaz@freemail.hu>
6967         * Delegate.cs (Equals): Do not compare method_ptr, since it might
6968         point to a trampoline.
6970 2004-02-12  Jackson Harper  <jackson@ximian.com>
6972         * AppDomainSetup.cs: If relative paths are used they should be
6973         rooted in the temp directory.
6974         
6975 2004-02-11  Marek Safar  <marek.safar@seznam.cz>
6977         * Type.cs (FilterNameIgnoreCase_impl): Added extra check for speedup.
6979 2004-02-10  Zoltan Varga  <vargaz@freemail.hu>
6981         * AppDomain.cs (Load): Check that assemblyRef.Name is not empty, to
6982         avoid an assert in the runtime.
6984 2004-02-08  Duncan Mak  <duncan@ximian.com>
6986         * Convert.cs (ToType): Always let a Convert.ChangeType call
6987         succeed if the source object is already of the destination type.
6989         Patch by Ian MacLean (ianm@activestate.com).
6991 2004-02-05  Sebastien Pouliot  <sebastien@ximian.com>
6993         * AppDomain.cs: Implemented SetPrincipalPolicy and SetThreadPrincipal.
6995 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
6997         * Environment.cs: Bump corlib version.
6999 2004-02-02  Sebastien Pouliot  <sebastien@ximian.ca>
7001         * DateTime.cs: Corrected support for "Z" in the mask (Parse). This
7002         fix bug #53461.
7004 2004-01-27  Sebastien Pouliot  <spouliot@videotron.ca>
7006         * Exception.cs: Changed ToString to remove the \n when no stack trace
7007         is present (which fixed a unit test for SecurityException). Changed
7008         all \n to Environment.NewLine.
7010 2004-01-27  Lluis Sanchez Gual <lluis@ximian.com>
7012         * ContextBoundObject.cs: Removed TODO.
7014 2004-01-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7016         * TimeSpan.cs: fixed bug #52075. Days (int) don't rely on TotalDays
7017         (double), which might round up.
7019 2004-01-19  Jackson Harper <jackson@ximian.com>
7021         * FloatingPointFormatter.cs: Use the default decimal digits count
7022         if they are not specified. This fixes bug #52927.
7023         
7024 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
7026         * Environment.cs: Bump version number.
7028 2004-01-19  Lluis Sanchez Gual  <lluis@ximian.com>
7030         * Type.cs: Added internal call for IsInstanceOfType. The old implementation
7031         uses IsAssignableFrom(o.GetType()), which is not always valid for 
7032         transparent proxies (because GetType will not return the type of the remote
7033         object if its assembly is not present).
7035 2004-01-18  David Sheldon <dave-mono@earth.li>
7037   * FloatingPointFormatter.cs: Skip the decimal point if we have an 
7038     integer mantassa. So: 1E+15, rather than 1.E+15.
7040 2004-01-18  David Sheldon <dave-mono@earth.li>
7042         * Array.cs (GetValue/SetValue): Throw NullRef exception like .NET 1.1, 
7043         even though docs say it should be an ArgumentNull. Two test cases now
7044   pass. See also nickd's commit of 2003-12-24.
7046 2004-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7048         * Environment.cs: increased corlib version.
7050 2004-01-14  Lluis Sanchez Gual <lluis@ximian.com>
7052         * MonoCustomAttrs.cs: Removed attribute cache. Attribute instances can't
7053         be reused because they could be modified. This fixes bug #52655.
7055 2004-01-12  Patrik Torstensson
7057         * Environment.cs: Bump corlib version number due to new StringBuilder
7058         
7059         * String.cs: New internal method to support the new StringBuilder that
7060         uses the string as a buffer (until ToString is called)
7062 2004-01-12  Zoltan Varga  <vargaz@freemail.hu>
7064         * Environment.cs: Bump corlib version number for real this time.
7065         
7066         * AppDomain.cs (LoadAssembly): Pass the assembly name as a string to
7067         the runtime, so it can take into account the Culture etc.
7069         * Environment.cs: Bump corlib version number.
7070         
7071 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7073         * MonoType.cs: GetMethods renamed to GetMethodsByName. It takes a
7074         new parameter with the method name and a boolean for ignoring case.
7075         Removed some string comparisons no longer needed.
7077 2004-01-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7079         * MonoType.cs: GetProperties renamed to GetPropetiesByName. It takes a
7080         new parameter with the property name and a boolean for ignoring case.
7081         Fixes bug #52753.
7083 2004-01-11  David Sheldon <dave-mono@earth.li>
7085         * DateTime.cs: Correct processing of formats with multiple '-'s, fixing
7086         bug 52274.
7088 2004-01-10  Zoltan Varga  <vargaz@freemail.hu>
7090         * AppDomain.cs: Keep track of type resolve and assembly resolve 
7091         events in progress to prevent infinite recursion.
7093 2004-01-06  Miguel de Icaza  <miguel@ximian.com>
7095         * Console.cs: Test for UTF-8 being present anywhere on the
7096         string, also do ToUpper instead of ToLower, which will work even
7097         around the ICU bug with different locales (#52065), and addresses #52101
7099 2004-01-05  Zoltan Varga  <vargaz@freemail.hu>
7101         * Environment.cs: Bump version.
7103 2003-12-24 Ben Maurer  <bmaurer@users.sourceforge.net>
7105         * Type.cs (IsNotPublic): One would normally assume that
7106         IsNotPublic == !IsPublic, but this is not the case (note to MS,
7107         make better names ;-). Fixes #52547, `Type.IsNotPublic not 
7108         correct for Nested types'
7110 2003-12-24  Nick Drochak  <ndrochak@ieee.org>
7112         * Array.cs (CreateInstance): Throw NullRef exception like .NET 1.1, 
7113         even though docs say it should be an ArgumentNull. Sent email to MS
7114         about this "bug".
7116 2003-12-23  Lluis Sanchez Gual  <lluis@ximian.com>
7118         * Exception.cs: Several changes to make it compatible with MS.NET (needed
7119         for remoting interoperability): set a default value for hresult, added 
7120         initialization of class_name, serialization field RemoteStackTrace must
7121         be RemoteStackTraceString, added ser. field ExceptionMethod.
7123         * IndexOutOfRangeException.cs: Added serialization constructor.
7125 2003-12-22  Bernie Solomon  <bernard@ugsolutions.com>
7127         * Int32 (Parse):
7128           Int64 (Parse): Fix overflow checking for AllowHexSpecifier
7130 2003-12-20  Zoltan Varga  <vargaz@freemail.hu>
7132         * MonoType.cs (GetMethodImpl): Only call FindMostDerivedMatch if the
7133         user supplied no parameter info, but not when the user supplied an
7134         empty parameter list. This fixes IKVM.
7136         * Environment.cs: Bump corlib version.
7138 2003-12-19  Dick Porter  <dick@ximian.com>
7140         * String.cs: Added Compare shortcut for length==0.
7142 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
7144         * Environment.cs: Bump corlib version.
7146 2003-12-17  Dick Porter  <dick@ximian.com>
7148         * String.cs: Fix StartsWith and EndsWith when the argument is the
7149         empty string.  Fixes bug 52283.
7151 2003-12-16  Zoltan Varga  <vargaz@freemail.hu>
7153         * Environment.cs (HasShutdownStarted): Implement.
7155 2003-12-15  Zoltan Varga  <vargaz@freemail.hu>
7157         * Environment.cs (HasShutdownStarted): Make this static under NET 1.1.
7158         
7159         * Environment.cs: Bump version number.
7161 2003-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7163         * DateTime.cs: don't bail out with that year out of range error on
7164         stuff like "MM/dd/yyyy HH:MM:ss".
7166 2003-12-13  Zoltan Varga  <vargaz@freemail.hu>
7168         * Environment.cs: Make it a const instead.
7169         
7170         * Environment.cs: Make version field static.
7172 2003-12-10  Zoltan Varga  <vargaz@freemail.hu>
7174         * Type.cs: Make DefaultBindingFlags protected.
7176         * Environment.cs: Applied patch from Todd Berman (tbermann@gentoo.org).
7177         Add new GacPath property + its associated icall.
7179 2003-12-09 Anirban Bhattacharjee <banirban@novell.com>
7181         * DateTime.cs : Bugs fixed (41845, 51422)
7182         * MonoType.cs : Exception message changed 
7184 2003-12-08  Martin Baulig  <martin@ximian.com>
7186         * Type.cs (MakeByRefType): New public method.
7188 2003-12-08  Zoltan Varga  <vargaz@freemail.hu>
7190         * Environment.cs: Add a version number for the corlib-runtime interface
7191         to make it easier to diagnose problems resulting from a mismatch 
7192         between the two.
7194 2003-12-08  Patrik Torstensson   <p@rxc.se>
7196         * Type.cs (GetMethod): Check type arguments within array
7197         * MonoType.cs (GetMethodImpl): Handle methods with a new slot
7198         (same signature but different classes (derived level)
7200 2003-12-07  Zoltan Varga  <vargaz@freemail.hu>
7202         * Type.cs (MakeArrayType): Add argument checking.
7204 2003-12-06  Dick Porter  <dick@ximian.com>
7206         * String.cs: Don't use CompareInfo for non-culture-sensitive
7207         IndexOf and LastIndexOf methods.
7209 2003-12-06  Ravindra  <rkumar@novell.com>
7211         * DateTime.cs: Made Parse(string, IFormatProvider) method to
7212         use second argument. Fixed bug #51464.
7214 2003-12-04  Martin Baulig  <martin@ximian.com>
7216         * Type.cs (Type.MakeArrayType): New public method.
7218 2003-12-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7220         * Buffer.cs:
7221         (BlockCopy): make the exception thrown helpful.
7223 2003-12-03  Dick Porter  <dick@ximian.com>
7225         * String.cs: Calling Replace on an empty string returns itself.
7227 2003-12-03  Zoltan Varga  <vargaz@freemail.hu>
7229         * MonoType.cs: Get rid of get_type_info, use a separate icall for
7230         each property instead.
7232 2003-12-02  Dick Porter  <dick@ximian.com>
7234         * Decimal.cs: Fix NumberFormatInfo lookup.  Patch by
7235         Mohammad DAMT (mdamt@cdl2000.com), fixes bug 51443.
7237 2003-12-01  Dick Porter  <dick@ximian.com>
7239         * String.cs: Make Compare, IndexOf, LastIndexOf, StartsWith,
7240         Replace, ToLower, ToUpper and Equals use the correct CultureInfo.
7242 2003-11-28  Dick Porter  <dick@ximian.com>
7244         * Type.cs: 
7245         * MonoType.cs: 
7246         * Enum.cs: 
7247         * Boolean.cs: Do string compares with the Invariant culture.
7249 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
7251         * Array.cs: make the enumerator ICloneable
7253 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
7255         * Decimal.cs (ToXXX): Call Convert.ToXXX.
7257 2003-11-26  Zoltan Varga  <vargaz@freemail.hu>
7259         * AppDomain.cs: Applied patch from ztashev@openlinksw.co.uk (Zdravko Tashev). 
7260         Implement Load(byte[]) methods.
7262         * BadImageFormatException.cs: Fix ToString.
7264 2003-11-24  Zoltan Varga  <vargaz@freemail.hu>
7266         * MonoType.cs: Make Standard|HasThis match Standard in GetMethod and
7267         GetConstructor, as done by MS.
7269 2003-11-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
7271         * FloatingPointFormatter.cs: Removed some unused variables to prevent csc compiler warnings
7273 2003-11-18  Lluis Sanchez Gual  <lluis@ximian.com>
7275         * TypeInitializationException.cs: Added missing serialization constructor.
7277 2003-11-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7279         * AppDomainSetup.cs: Don't add an extra '/' at the end of 
7280         ApplicationBase. The tests pass now with mono.
7282 2003-11-18  Zoltan Varga  <vargaz@freemail.hu>
7284         * ValueType.cs: New optimized implementation for Equals and GetHashCode.
7286 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7288         * Environment.cs: use Directory in CurrentDirectory property.
7289         We were not throwing any exception when setting the directory to an
7290         invalid path.
7292 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7294         * Array.cs:
7295         * Delegate.cs: implemented 1.1 stuff.
7297         * Enum.cs:
7298         * IntPtr.cs: removed extra attribute.
7299         * PlatformID.cs: added WinCE.
7301 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7303         * ValueType.cs:
7304         (Equals): compare the fields of structs too.
7305         (GetHashCode): combine the hash code of all the fields.
7306         Fixes bug #50901 (will remove the icall in a couple of days).
7308 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7310         * Array.cs: fixed Clear for non-zero bounded arrays. Fixes bug #50968.
7312 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7314         * DateTime.cs: handle century when we try to parse 4-digit years and
7315         only 2 digits are present. Fixes bug #49394.
7317 2003-11-13  Miguel de Icaza  <miguel@ximian.com>
7319         * Console.cs: On utf-8 consoles, use unmarked output.
7321 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
7323         * IAppDomainSetup.cs:
7324         * _AppDomain.cs: 
7325         * Object.cs:
7326         * Type.cs: Added missing attribute
7328 2003-11-12 Lluis Sanchez Gual <lluis@ximian.com>
7330         * Environment.cs: Added internal method for getting the path to 
7331         machine.config.
7332         
7333 2003-11-12 Jackson Harper <jackson@ximian.com>
7335         * Environment.cs: Add MyMusic and MyPictures to the SpecialFolder
7336         enum. This fixes the SWF build.
7337         
7338 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
7340         * PlatformID.cs: Remove Unix platform, we cant expose constants
7341         that are not in the framework.
7343         * OperatingSystem.cs: Adjust for the breakage.
7345         * RuntimeMethodHandle.cs: Fix signature.
7347         * Double.cs: Fix signature of TryParse.
7349         * String.cs (Concat (object, object, object, object)): Add missing method.
7351         * OperatingSystem.cs: Removed Equals, GetHashCode, they were not
7352         in the .NET Framework.
7354         * Enum.cs: Hide constructor.  
7356         Fix ToUint16 to be explicitly implemented.
7358         * Console.cs: Add couple of extra missing methods (Write and
7359         WriteLine overloaded)
7361 2003-11-11  Miguel de Icaza  <miguel@ximian.com>
7363         * AppDomain.cs, Activator.cs: New unimplmented entry points from
7364         1.1 (Com activation related).
7365         
7366         * Exception.cs: Formatting.
7367         
7368         * IServiceProvider.cs: Add ComVisible (true).
7370         * AppDomainSetup.cs: Add a couple more properties from .NET 1.1 
7372 2003-11-03  Lluis Sanchez Gual <lluis@ximian.com>
7374         * AppDomain.cs: Added some null checks in Load methods. This fixes bug
7375           #50356.
7377 2003-11-01  Zoltan Varga  <vargaz@freemail.hu>
7379         * AppDomain.cs: Make the SetDomain icalls private + call InternalInvoke
7380         on MonoMethod instead of Invoke.
7382 2003-11-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
7384         * DateTime.cs: Fixed Add* methods handling. Now it works properly
7385         with extreme values (there is a bug with Overflow and Underflow in
7386         long type).
7388 2003-10-31  Pedro Martínez Juliá  <yoros@wanadoo.es>
7390         * DateTime.cs: Fixed a few format bugs.
7392 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
7394         * AppDomain.cs (InternalPushDomainRef): New icalls.
7396         * AppDomain.cs (InvokeInDomain): New method to execute code in a 
7397         different appdomain.
7399 2003-10-27  Zoltan Varga  <vargaz@freemail.hu>
7401         * AppDomain.cs: Fix prototype of InternalIsFinalizingForUnload.
7403 2003-10-25  Zoltan Varga  <vargaz@freemail.hu>
7405         * AppDomain.cs (IsFinalizingForUnload): Implement.
7407         * AppDomain.cs (Unload): Move the notification of OnUnload listeners
7408         to unmanaged code.
7410 2003-10-25  Martin Baulig  <martin@ximian.com>
7412         * MonoType.cs: Don't make this sealed.
7414 2003-10-24  Zoltan Varga  <vargaz@freemail.hu>
7416         * AppDomain.cs: Add InternalInvokeInDomain[ByID] icalls.
7418 2003-10-24  Pedro Martínez Juliá  <yoros@wanadoo.es>
7420         * DateTime.cs: When handling '-' as a date separator, MS.NET uses
7421         the same symbol in the parse (not DateTimeFormatInfo.DateSeparator).
7423 2003-10-22  Dick Porter  <dick@ximian.com>
7425         * DateTime.cs: Handle '-' as a date separator when parsing formats.
7427 2003-10-20  Duncan Mak  <duncan@ximian.com>
7429         * Delegate.cs (CreateDelegate): Avoid creating an extra Type array
7430         and merge the two iterations into one.
7432 2003-10-15  Zoltan Varga  <vargaz@freemail.hu>
7434         * TypedReference.cs: Add new field used by the runtime.
7436 2003-10-15  Martin Baulig  <martin@ximian.com>
7438         * Type.cs (Type.DeclaringMethod): For a generic method's type
7439         parameter, return this method - otherwise, return null.
7441 2003-10-14  Martin Baulig  <martin@ximian.com>
7443         The generics API has changed in the spec since it was added here;
7444         these modifications make it match the spec again.
7446         * Type.cs
7447         (GetGenericParameters): Renamed to `GetGenericArguments'.
7448         (HasGenericParameters): Renamed to `HasGenericArguments'.
7449         (HasUnboundGenericParameters): Renamed to `ContainsGenericParameters'.
7450         (IsGenericTypeDefinition): New property.
7451         (IsUnboundGenericParameter): Renamed to `IsGenericParameter'.
7453         * MonoType.cs (ContainsGenericParameters): Implement this here;
7454         this is no interncall anymore.
7456 2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7458         * Delegate.cs: add the method name to the exception when it cannot be
7459         bound.
7460         * Exception.cs: fix nullref in Source.
7462 2003-10-10  Zoltan Varga  <vargaz@freemail.hu>
7464         * Array.cs: Add argument checking to GetValue and SetValue.
7466 2003-10-09  Miguel de Icaza  <miguel@ximian.com>
7468         * DateTime.cs: Patch from Chris Turchin: the DateTime.MaxValue
7469         should not be TimeSpan.MaxValue, because it overflow.  Set this to
7470         be MAX_VALUE_TICKS
7472 2003-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7474         * MonoCustomAttrs.cs: from_cache is now thread-safe. Yeah, I got a
7475         duplicate entry exception.
7477 2003-10-08 Ben Maurer  <bmaurer@users.sourceforge.net>
7479         * DateTime.cs (ToString): Total rewrite, fixes #49358.
7481 2003-10-03  Zoltan Varga  <vargaz@freemail.hu>
7483         * AppDomain.cs: Change accessibility of DoTypeResolve to fix build.
7485 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7487         * Enum.cs:
7488         (Equals): check that the object is an Enum before comparing the types.
7490 2003-09-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7492         * Array.cs: reduced xsp allocated memory by 1/2.
7494 2003-09-25  Martin Baulig  <martin@ximian.com>
7496         * Type.cs (Type.IsGenericTypeDefinition): Removed this method
7497         since it was identical to GetGenericTypeDefinition().
7498         (Type.IsGenericInstance): New property.
7500 2003-09-24  Duncan Mak  <duncan@ximian.com>
7502         * Math.cs (Abs): Fix double Locale.GetText bug reported by
7503         davejp@volny.cz. This fixes #48788.
7505 2003-09-14  Pedro Martínez Juliá  <yoros@wanadoo.es>
7507         * FloatingPointFormatter.cs: Add the necessary castings to char
7508         conversions.
7510 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
7512         * FloatingPointFormatter.cs: Make the method calls more functional
7513         for protecting the values from different threads (make it more
7514         thread safe).
7516 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
7518         * FloatingPointFormatter.cs: Fix a bug with the negative value of
7519         count parameter.
7521 2003-09-12  Pedro Martínez Juliá  <yoros@wanadoo.es>
7523         * FloatingPointFormatter.cs: Applied a lot of improvements in string
7524         construction, make use of Append/Insert with the "count" parameter.
7525     Thanks to Ben Maurer.
7527 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
7529         * FloatingPointFormatter.cs: Fix a bug with Custm Format.
7531         * FloatingPointFormatter.cs: Fix a little bug I've introduced the
7532         last change.
7534 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
7536         * DoubleFormatter.cs: A few optimizations. Now, only one object
7537         is created to convert all double numbers.
7539         * SingleFormatter.cs: A few optimizations. Now, only one object
7540         is created to convert all float numbers.
7542         * FloatingPointFormatter.cs: Split the "number type parameters" from
7543         the "numver value and format parameters". The first ones are in the
7544         constructor and the others are in a method.
7546 2003-09-09  Zoltan Varga  <vargaz@freemail.hu>
7548         * Array.cs: Added argument checking to some NET_1_1 methods.
7550 2003-09-04  Martin Baulig  <martin@ximian.com>
7552         * Type.cs (GetGenericTypeDefinition): Make this method virtual.
7554 2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7556         * Array.cs: added the new overloaded CreateInstance, GetValue, SetValue
7557         taking 'longs'. All tests pass.
7559 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
7561         * Exception.cs: Add ClassInterface attr. Implement TargetSite and
7562         Source. Remove MonoTODO attributes (class is 100% done). Also
7563         passes all Rotor tests for Exception!
7565 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
7567         * Enum.cs: Remove [MonoTODO]'s that had been completed.
7569 2003-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7571         * String.cs: fixed bug #47802.
7573 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
7575         * String.cs: Created method FormatHelper that does formatting,
7576         using a StringBuilder.
7578 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7580         * Array.cs: patch by lb@lb.ods.org that fixes bug #47707.
7582 2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7584         * Delegate.cs: CreteDelegate (Type, MethodInfo) only supports static
7585         methods under MS.
7587 2003-08-11  Duncan Mak  <duncan@ximian.com>
7589         * Environment.cs (Version): Return the same numbers as the MS
7590         implementation.
7592 2003-08-10  Miguel de Icaza  <miguel@ximian.com>
7594         * Array.cs: Applied patch from Thong (Tum) Nguyen;  Removed
7595         replicated tests, and have a routine that does the heavy lifting.
7597 2003-08-08  Lluis Sanchez Gual <lluis@ximian.com>
7599         * DateTime.cs: Fixed DoParse. It was calling the wrong constructor
7600           of DateTime.
7601         * Environment.cs: return $HOME for ApplicationData folder.
7603 2003-08-04  Duncan Mak  <duncan@ximian.com>
7605         * FloatingPointFormatter.cs (Normalize): Apply a patch from Aleksey
7606         Demakov <avd@openlinksw.com> to fix formatting for Big power of 10
7607         floating point values. This fixes bug #46175.
7609         * Convert.cs (ToUInt16): Throw an OverflowException correctly, as
7610         noted by c5n4kh6u02@sneakemail.com in
7611         http://bugzilla.ximian.com/show_bug.cgi?id=43098.
7613 Sat Aug  2 13:01:46 BST 2003 Malte Hildingson <malte@amy.udd.htu.se>
7615         * Double.cs: added icall Double.AssertEndianity.
7617 Fri Aug 1 16:47:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
7619         * Type.cs, MonoType.cs: implemented generic-specific methods.
7621 2003-07-29  Miguel de Icaza  <miguel@ximian.com>
7623         * Buffer.cs: Add new internal MemCopy call.
7625         Removed the above.
7627 Tue Jul 29 12:13:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
7629         * Type.cs, MonoType.cs, ArgIterator.cs: pass the handles values
7630         to icalls, to avoid special cases in some call conventions.
7632 2003-07-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7634         * Enum.cs: added Serializable attribute.
7636 2003-07-25  Duncan Mak  <duncan@ximian.com>
7638         * AppDomain.cs (Equals):
7639         (GetHashCode): Removed because they do not need to be defined
7640         here.
7642 2003-07-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7644         * TypeLoadException.cs: removed unused fields. TypeName returns "" if
7645         cannot even get the type.
7647 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
7649         * Type.cs: Added generics stubs.
7651 2003-07-23  Duncan Mak  <duncan@ximian.com>
7653         * Environment.cs (SpecialFolder): Added 'Desktop' and 'MyComputer'
7654         as values for NET_1_1.
7655         (GetFolderPath): Return the empty string ("") for values of
7656         SpecialFolder that have no corresponding equivalents in
7657         Linux. Return "$HOME/Desktop" for SpecialFolder.DesktopDirectory
7658         and "$HOME" for SpecialFolder.Personal.
7660         * IntPtr.cs (GetObjectData): Mark it as an interface
7661         implementation, instead of a public method.
7663         * Guid.cs (NewGuid): Remove MonoTODOAttribute.
7665         * TypeLoadException.cs (GetObjectData):
7666         Create stubs for the fields that are being serialized.
7668         * UIntPtr.cs: Removed erroneous CLSCompliantAttributes.
7670 2003-07-23  Lluis Sanchez Gual <lluis@ximian.com>
7671         
7672         * Enum.cs: Fixed enum formatting. For flag enums, if one of
7673           the flags is unnamed, ToString() returns the integer value.
7675 2003-07-22  Jerome Laban <jlaban@wanadoo.fr>
7677         * Guid.cs: Fixed ToString (), was producing incorrect string.
7679 2003-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7681         * AppDomainSetup.cs: fixed bug #46609.
7683 Thu Jul 17 17:28:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
7685         * MonoType.cs: use an icall for IsPrimitiveImpl ().
7687 Thu Jul 17 15:23:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
7689         * Guid.cs: faster ToString ().
7691 2003-07-15  Pedro Martínez Juliá  <yoros@wanadoo.es>
7693         * FloatingPointFormatter.cs: Few changes for get working Rotor
7694         tests.
7696 2003-07-13  Zoltan Varga  <vargaz@freemail.hu>
7698         * Type.cs (IsAssignableFrom): Implement this as an icall since the
7699         runtime already includes the neccessary logic.
7701 2003-07-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7703         * AppDomainSetup.cs: remove the "file://" prefix from ApplicationBase
7704         if it's present and get the full path for non-Uri paths.
7706 2003-07-2  Lluis Sanchez Gual <lluis@ximian.com>
7708         * DateTime.cs: Fixed formatting of fractions of second.
7710 2003-06-30  Zoltan Varga  <vargaz@freemail.hu>
7712         * Console.cs: Turn off buffering for the streams returned by
7713         OpenStandardOutput () and OpenStandardError () if the buffer size is 0.
7715 2003-06-28  Lluis Sanchez Gual <lluis@ximian.com>
7717         * Random.cs: Changed behavior of Random to match MS.NET. When Next is
7718           called with maxvalue==0 or minvalue==maxvalue, MS.NET internally generates
7719           a new random number (although it is not needed), while mono did not. 
7720           As a result, the sequence of random numbers could be different for the
7721           same seed.
7723 Thu Jun 26 16:06:35 CEST 2003 Paolo Molaro <lupus@ximian.com>
7725         * FloatingPointFormatter.cs: use dec_len2 as default precision.
7727 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
7729         * DateTime.cs: Modified constructor. Check for valid value of TimeSpan must
7730           be done after the correspondig UTC offset has been applied.
7732 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
7734         * Object.cs: Object must have the Serializable attribute.
7735         * DateTime.cs: Fixed _DoParse() so it correctly applies the utc offset
7736           to the resulting date. Also fixed _ToString so now correctly formates the
7737           UTC offset.
7739 Wed Jun 18 19:22:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
7741         * Enum.cs: fix race in cache (bug#41841).
7743 Wed Jun 18 18:52:11 CEST 2003 Paolo Molaro <lupus@ximian.com>
7745         * FloatingPointFormatter.cs: if the precision is not specified, use
7746         the default precision for the data type.
7748 Wed Jun 18 18:11:30 CEST 2003 Paolo Molaro <lupus@ximian.com>
7750         * Array.cs: throw ArgumentOutOfRangeException in Copy if needed
7751         (patch by tum@veridicus.com (Thong (Tum) Nguyen)).
7753 2003-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7755         * MonoType.cs: don't throw nullref when the return type for a property
7756         is specified and the property doesn't have a get accessor.
7758 2003-06-10  Duncan Mak  <duncan@ximian.com>
7760         * Array.cs (CreateInstance): Fixed a typo. It should throw
7761         ArgumentNullException instead of ArgumentException.
7763 2003-06-09  Duncan Mak  <duncan@ximian.com>
7765         * Array.cs: Revert the last revert. I fixed it.
7766         (Sort): Put a try-catch block around qsort, and wrap whatever
7767         Exception we get into a InvalidOperationException.
7769 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
7771         * Array.cs: Revert last patch, it broke some other functionality.
7772                 
7773 2003-06-08  Duncan Mak  <duncan@ximian.com>
7775         * Array.cs: Throw more exceptions. This fixes the errors we see
7776         from the Rotor testsuite.
7778         (CreateInstance): Throw ArgumentNullException when the input are
7779         null. Throw ArgumentOutOfRangeException when bounds + length is
7780         greater than Int32.MaxValue.
7781         (LastIndexOf): Throw ArgumentOutOfRangeException if index is outside
7782         the valid range of indices of array.
7783         (Sort): Throw InvalidOperationException when comparer is null and
7784         none of the elements in keys implements IComparable.
7786 2003-06-08  Duncan Mak  <duncan@ximian.com>
7788         * Array.cs (CreateInstance): Throw a TypeLoadException if the
7789         Length of the input array 'lengths' is greater than 255 so that we
7790         won't see the g_assert that is in mono_array_class_get in class.c.
7792         This fixes bug #44304.
7794 2003-06-05  Nick Drochak  <ndrochak@gol.com>
7796         * UnitySerializataionHolder.cs: Cleanups according to class status page
7798 Wed Jun 4 16:59:39 CEST 2003 Paolo Molaro <lupus@ximian.com>
7800         * ArgIterator.cs, TypedReference.cs, RuntimeArgumentHandle.cs,
7801         RuntimeTypeHandle.cs: implemented the needed stuff to handle
7802         vararg calls.
7804 2003-06-02  Sebastien Pouliot  <spouliot@videotron.ca>
7806         * Random.cs: New implementation based on Knuth ran3 to fix #43597.
7807         See http://www.library.cornell.edu/nr/bookcpdf/c7-1.pdf. Commited
7808         for Ben Maurer after review and testing.
7810 2003-05-28  Ben Maurer <bmaurer@users.sourceforge.net>
7811         
7812         * Array.cs: Added better argument checking to Array.Sort ()
7813         * DBNull.cs: Made the conversions throw like they do in MS.
7815 2003-05-24  Philip Van Hoof  <me@freax.org>
7817         * Math.cs: Add the MS.NET 1.1 methods (BigMul, DivRem, DivRem).
7819 2003-05-21  Pedro Martínez Juliá  <yoros@wanadoo.es>
7821         * FloatingPointFormatter.cs: Take care with the explicit precision
7822         and round the number to that precision.
7824         * DoubleFormatter.cs: Adapt to the two level precision (15 - 17).
7826         * SingleFormatter.cs: Adapt to the two level precision (7 - 8).
7828 2003-05-20  Philip Van Hoof <me@freax.org>
7830         * DateTime.cs (FromOADate, GetDateTimeFormats, ToOADate):
7831         Implemented.
7833 2003-05-20  Zoltan Varga  <vargaz@freemail.hu>
7835         * AppDomainSetup.cs: Added new field which is used to notify the
7836         runtime that the search path has changed.
7838 2003-05-18  Pedro Martínez Juliá  <yoros@wanadoo.es>
7840         * FloatingPointFormatter.cs: Fixed NullReferenceException bug I've
7841         introduced the last change I've done.
7843 2003-05-17  Ben Maurer  <bmaurer@users.sourceforge.net>
7845         * Array.cs: Fixed SyncRoot to behave like MS (return this). Removed 
7846         MonoTODO from SyncRoot (because fixed) and IsSynchronized (it was
7847         behaving correctly).
7848         
7849 2003-05-17  Pedro Martínez Juliá  <yoros@wanadoo.es>
7851         * FloatingPointFormatter.cs: Fixed little format mismatches.
7853 2003-05-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
7855         * FloatingPointFormatter.cs: Fixed "-0" result emited.
7857 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7859         * AppDomain.cs: Added null argument check in Load().
7860         * Activator.cs: fixed bug #39926.
7862 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7864         * Enum.cs: fixed bugs #41522 and #42879.
7866 2003-05-12  Zoltan Varga  <vargaz@freemail.hu>
7868         * String.cs: Tweak IndexOf and LastIndexOf to match specification and
7869         undocumented MS behaviour.
7871 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7873         * Activator.cs: applied patch for bug #39926. Thanks to Jean Marc and
7874         Jaime.
7876 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7878         * String.cs: fixed bug #41411 and another similar problem in
7879         LastIndexOf (string).
7881 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7883         * String.cs: patch by Jean Marc <jean-marc.andre@polymtl.ca> that fixes
7884         bug #42695.
7886 2003-05-09  Zoltan Varga  <vargaz@freemail.hu>
7888         * MulticastDelegate.cs (GetInvocationList): Avoid ArrayList 
7889         construction if the delegate list only has one element.
7891 2003-05-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
7893         * Environment.cs: Changed the method GetFolderPath because it must
7894         return at least a directory name (not null).
7896         * Convert.cs: In ToType, if the destination type is unknown, try to
7897         cast the value to object (then, the calling method will downcast it
7898         to the type it wants).
7900 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7902         * Enum.cs: fixed bug #41522.
7904 Tue Apr 29 13:58:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
7906         * Enum.cs: protect with the lock also the lookup (bug #41841).
7908 Tue Apr 29 13:24:32 CEST 2003 Paolo Molaro <lupus@ximian.com>
7910         * MonoType.cs: allow a null name if InvokeMember is called with
7911         BindingFlags.CreateInstance set.
7913 2003-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7915         * Enum.cs: reverted my previous patch.
7917 2003-04-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7919         * Enum.cs: fixed bug #41841.
7921 2003-04-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7923         * MonoType.cs:
7924         (GetPropertyImpl): handle BindingFlags.IgnoreCase.
7926 2003-04-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
7928         * FloatingPointFormatter.cs: Little fixes for get the same results
7929         as MS.NET and show a message when something goes wrong with the
7930         parser of Custom Formats.
7932 2003-04-22  Nick Drochak  <ndrochak@gol.com>
7934         * Double.cs (ToString):
7935         * Single.cs (ToString): Handle case where param is a CultureInfo.
7937 2003-04-18  Zoltan Varga  <vargaz@freemail.hu>
7939         * Object.cs ValueType.cs: Make the Object::GetHashCode() and 
7940         ValueType::Equals() icalls static non-virtual, so they can be called
7941         by the code in RuntimeHelpers.
7943 2003-04-18  Miguel de Icaza  <miguel@ximian.com>
7945         * Delegate.cs (operator ==): Do not crash if the second argument
7946         is null.  Bug fix submitted by Juan Cri.
7948 2003-04-18  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
7950         * Array.cs: Deleted the exception in Array.Initialize(), it looks
7951         like the method do nothing for C#, is still a MonoTODO until
7952         we find a compiler that uses that.
7954 2003-04-14  Miguel de Icaza  <miguel@ximian.com>
7956         * Delegate.cs (Delegate): Seems like a typo, we were checking the
7957         a field rather than the argument 
7959         * MonoType.cs: Make GetNestedType an external method implementation.
7961 2003-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7963         * Enum.cs: fixed bug #41294.
7965 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7967         * DateTime.cs: fixes bug #40910, part 2.
7969 2003-04-11  Dietmar Maurer  <dietmar@ximian.com>
7971         * String.cs (Equals): avoid the internal call, code cleanups
7973 2003-04-11  Alan Tam <Tam@SiuLung.com>
7975         * Convert.cs: fixed bug #41085.
7977 2003-04-10  Lluis Sanchez Gual <lluis@ideary.com>
7979         * AppDomain.cs: Added internal method for getting process guid.
7981 2003-04-09  Ville Palo <vi64pa@kolumbus.fi>
7983         * Array.cs: Little fix to compare () method.
7984         
7985 2003-04-09  Zoltan Varga  <vargaz@freemail.hu>
7987         * String.cs (Equals): Add trivial optimization.
7989 2003-04-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7991         * DateTime.cs: fixed bug #40910.
7993 2003-04-05  Miguel de Icaza  <miguel@ximian.com>
7995         * Console.cs: Make stderr, stdout and stdin use synchronized
7996         versions of the their readers/writers.
7998 2003-04-04  Dick Porter  <dick@ximian.com>
8000         * Version.cs: Make operator== and operator!= cope with null
8001         objects.  Didn't change operator<, operator<=, operator> or
8002         operator>= because its not meaningful to use those to compare
8003         against null, and throwing a NullReferenceException is probably
8004         the best thing to do there anyway.
8006         Fixes bug 40720.
8008 2003-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8010         * AppDomain.cs: fixed InvalidCastException.
8012 2003-03-30  Zoltan Varga  <vargaz@freemail.hu>
8014         * Array.cs (Copy): Call FastCopy() earlier to avoid the expensive
8015         type checks and let it decide whenever a fast copy is possible.
8017 2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8019         * MonoType.cs:
8020         (GetMethodImpl): support BindingFlags.IgnoreCase flag. Fixes bug #40322.
8022 2003-03-25  Zoltan Varga  <vargaz@freemail.hu>
8024         * Activator.cs (CreateInstance): Call GetConstructor with the right
8025         arguments so the nonPublic argument is handled correctly.
8027 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8029         * Type.cs: fixed bug #40123.
8031 2003-03-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
8033         * FloatingPointFormatter.cs: Fixed some bugs for get the same
8034         results than MS.NET. Added simple error recovering, now ToString
8035         will return a general format if there is any exception in the
8036         process of formatting. This make the library more robust while the
8037         formatters are refined.
8039 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
8041         * FloatingPointFormatter.cs: Added support for group separators.
8043 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
8045         * Single.cs:
8046         * Double.cs: Apply changes of .ToString methods.
8047         * SingleFormatter.cs:
8048         * DoubleFormatter.cs: Simple wrappers to FloatingPointFormatter.
8049         * FloatingPointFormatter.cs: New class. Implementation of double and
8050         single formatters. It is unified now and parametrized with precission
8051         values.
8053 2003-03-15  Lluis Sanchez Gual <lluis@ideary.com>
8055         * AppDomain.cs: fixes bugs #39380 and #39331.
8057 2003-03-06  Nick Drochak  <ndrochak@gol.com>
8059         * TimeSpan.cs (Negate): Throw exception when value is MinValue.
8061 2003-03-04  Dick Porter  <dick@ximian.com>
8063         * Single.cs:
8064         * Double.cs: Temporarily reverted the Double and Single ToString()
8065         change, because it broke nunit.
8068 2003-03-04  Pedro Martínez Juliá  <yoros@wanadoo.es>
8070         * Double.cs: Changed ToString method. Added NumberFormatInfo support
8071         with DoubleFormatter class.
8072         * Single.cs: Changed ToString method. Added NumberFormatInfo support
8073         with SingleFormatter class.
8074         * DoubleFormatter.cs: New class with Double formatting functions.
8075         * SingleFormatter.cs: New class with Single formatting functions.
8077 2003-03-03  Lluis Sanchez Gual <lluis@ideary.com>
8079         * Activator.cs: Added support for activation using activation attributes.
8080         * AppDomain.cs: Added internal method to get the default context from the runtime.
8082 2003-02-28  Elan Feingold  <efeingold@mn.rr.com>
8084         * DateTime.cs: FileTime is expressed in Universal time, and as such must
8085         be converted before subtracting the magic offset.
8086         * DateTime.cs: Strings in the format "2003-02-27T10:05:03-11:00" (note
8087         the timezone at the end) *must* be parsed by DateTime.Parse() for
8088         compatibility with Microsoft.
8090 2003-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8092         * Attribute.cs:
8093         * MonoCustomAttrs.cs: fix for the regression test failure (see bug
8094         #38238).
8096         * IntPtr.cs: added serialization .ctor
8098 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8100         * AppDomain.cs: check for null in Unload and changed method name.
8102 2003-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8104         * MonoCustomAttrs.cs: fixed bug #38238.
8106 2003-02-17  Martin Baulig  <martin@ximian.com>
8108         * Exception.cs (Exception.ToString): Print a newline between the
8109         exception message and the stack trace.
8111 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8113         * AppDomain.cs: implemented GetCurrentThreadId ().
8115 2003-02-14  Patrik Torstensson
8117         * Exception.cs: Fixed message output formating
8119 2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8121         * Int32.cs:
8122         (Parse): ignore everything after a \0 (MS parses: "512\0hola" as 512).
8124 2003-02-12  Miguel de Icaza  <miguel@ximian.com>
8126         * Type.cs: IsClass should return false for Enumerations
8128 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8130         * MonoCustomAttrs.cs: return the correct array type in the short case.
8131         Fixes bug #37818.
8133 2003-02-08  Pedro Martíenz Juliá  <yoros@wanadoo.es>
8135         * Math.cs: Fix a few methods (like Round) and add with comments the
8136         new methods: BigMul and DivRem that were in ECMA specs.
8138 2003-02-07  Patrik Torstensson
8140         * Exception.cs: Fixed formating
8142 2003-02-05  Patrik Torstensson
8144         * AppDomain.cs: Partly fixed the unload method 
8145         
8146 2003-02-04  Patrik Torstensson
8148         * AppDomain.cs: Fixed lease issue with appdomain
8150 2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
8152         * MarshalByRefObject.cs: Implemented GetLifetimeService() and 
8153           InitializeLifetimeService().
8155 2003-02-03  Patrik Torstensson
8157         * AppDomain.cs: New internalcalls for handling domain/context switches
8158         * AppDomain.cs (CreateDomain): Return transparant proxy for appdomain object
8160 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8162         * AppDomain.cs: implemented AppendPrivatePath, ClearPrivatePath
8163         and ClearShadowCopyPath and fixed GetType ().
8165         * Attribute.cs: clean up.
8167         * Console.cs: removed UnixConsoleEncoding. Use Default.
8169 2003-02-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8171         * Attribute.cs: fixed all IsDefined overloads. Gotta fix
8172         GetCustomAttributes later.
8174 2003-01-31  Patrik Torstensson
8176         * Buffer.cs: Changed access level of BlockCopyInternal
8178 Thu Jan 30 19:54:30 CET 2003 Paolo Molaro <lupus@ximian.com>
8180         * String.cs, IntegerFormatter.cs: use const where appropriate.
8182 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8184         * MonoCustomAttrs.cs: fixed GetBase () for Type. Thanks to Zoltan for
8185         reporting.
8187 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8189         * MonoCustomAttrs.cs: fixed shortcut in GetCustomAttributes.
8190         The argument ICustomAttributeProvider can be of other types different
8191         from Type. Handle it.
8193 2003-01-28  Zoltan Varga  <vargaz@freemail.hu>
8195         * DateTime.cs: fix FromFileTime so the time returned by 
8196         File::GetLastModificationTime etc. is in the correct timezone.
8198 2003-01-28  Patrik Torstensson
8199         * Exception.cs: reverted formating/endline changes (sorry guys)
8201 2003-01-28  Patrik Torstensson
8203         * MarshalByRefObject.cs: implemented GetObjectIdentity
8204         * Exception.cs: added support for remote exceptions
8206 2003-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8208         * DateTime.cs: fixed bug #37225.
8210 2003-01-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8212         * Enum.cs: Clone the arrays in GetNames and GetValues. Thanks lupus!
8214 2003-01-27  Zoltan Varga  <vargaz@freemail.hu>
8216         * AppDomain.cs: Added DoTypeResolve method which will be called by
8217         the runtime to raise TypeResolve events.
8219 2003-01-27  Duncan Mak  <duncan@ximian.com>
8221         * Enum.cs (ToType): Implement this using Convert.ToType.
8223 2003-01-21  Miguel de Icaza  <miguel@ximian.com>
8225         * Math.cs: Remove Pow's implementation body as it was wrong.  The
8226         C code does the right thing.  The code was trying to handle a
8227         number of cases, and that was incorrect.
8229 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8231         * CharEnumerator.cs: fix to Current by crainaj@hotmail.com. Closes
8232         bug #37113.
8234 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8236         * Enum.cs: added caching to GetInfo.
8238 2003-01-23  Dick Porter  <dick@ximian.com>
8240         * Environment.cs (System): Implemented ExitCode
8242 2003-01-23  Zoltan Varga  <vargaz@freemail.hu>
8244         * Type.cs (IsInstanceOfType): fixed regression caused by the change
8245         to IsSubclassOf().
8247 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8249         * MonoType.cs: re-added lines that were removed in the previous commit.
8251 2003-01-16  Lluis Sanchez Gual <lsg@ctv.es>
8253         * Type.cs: corrected property IsSerializable. It should always return
8254         true for enums and delegates
8255         * MonoType.cs: added serialization support.
8256         * Delegate.cs: added serialization support.
8257         * DBNull.cs: added serialization support.
8258         * UnitySerializationHolder.cs: supports serialization of Assembly,
8259         MonoType and DBNull.
8260         * DelegateSerializationHolder.cs: added.
8262 2003-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8264         * Exception.cs: changed default message to match MS one.
8266 2003-01-12  Patrik Torstensson <totte@race-x-change.com>
8268         * String.cs: Fixed bug with CompareOrdinal
8270 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8272         * Enum.cs: implements IFormattable.
8274 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8276         * AppDomain.cs: implemented DoCallBack method.
8277         * MonoType.cs:
8278         (GetConstructorImpl): when the flag is BindingFlags.Default, set it to
8279         Public, Instance.
8281         NUnit2 tests start moving.
8283 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8285         * Activator.cs: fixed bug #36052. Also added checks to avoid trying to
8286         instantiate an abstract class.
8288 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8290         * Type.cs:
8291         (IsSubclassOf): return false when null. Use != instead of Equals.
8293 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8295         * Type.cs: fixed IsSubclassOf. Patch from Zoltan Varga.
8297 Fri Jan 3 20:18:51 CET 2003 Paolo Molaro <lupus@ximian.com>
8299         * MonoType.cs: fixed Namespace property for nested types.
8301 Fri Jan 3 16:18:27 CET 2003 Paolo Molaro <lupus@ximian.com>
8303         * MonoCustomAttrs.cs: create properly typed arrays when returning
8304         arrays of attributes of a given type.
8306 Fri Jan 3 11:10:14 CET 2003 Paolo Molaro <lupus@ximian.com>
8308         * MonoType.cs: fixed MemberType property for nested types.
8310 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8312         * String.cs: fixed bug #36209.
8314 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
8316         * Activator.cs: implemented method GetObject.
8318 2002-12-28  Marcus Urban <mathpup@mylinuxisp.com>
8320         * Activator.cs: Since the documentation indicates the method
8321         either succeeds or throws one of the listed exceptions, we weren't
8322         expecting that CreateInstance might be returning null.
8324         For more information on the bug, see http://bugs.ximian.com/show_bug.cgi?id=36109
8326 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
8328         * MarshalByRefObject.cs: implemented CreateObjRef.
8330 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8332         * DateTime.cs: fixed bug #30076.
8333         * TimeZone.cs: provide the parameter name in a exception.
8335 2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8337         * DecimalFormatter.cs: fixed bug #35560.
8339 Wed Dec 4 16:04:28 CET 2002 Paolo Molaro <lupus@ximian.com>
8341         * Type.cs: implemented GetInterfaceMap (needs an updated runtime).
8343 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8345         * Array.cs: use Object.Equals (obj, obj) to compare objects to avoid
8346         nulls. Fixes #34909.
8348 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8350         * AppDomain.cs: DoAssemblyResolve now returns when one of the handlers
8351         returns a non-null assembly.
8353 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8355         * MulticastDelegate.cs: make GetInvocationList work for more than 1
8356         delegate.
8358 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8360         * MulticastDelegate.cs: implemented GetInvocationList. I'll check later
8361         if this is the correct order of invocation.
8363 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8365         * Type.cs: changed the signature of internal_from_name. Modified
8366         the overloads of GetType to use it and check the typeName argument.
8367         Implemented FindInterfaces.
8369 2002-11-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8371         * MarshalByRefObject.cs: undo latest changes. It breaks the build by
8372         some obscure reasons (try make -f makefile.gnu using a corlib which has
8373         the modified version).
8375 2002-11-26  Miguel de Icaza  <miguel@ximian.com>
8377         * String.cs (Concat): Reduce the number of compares required. 
8379 Mon Nov 18 17:54:22 CET 2002 Paolo Molaro <lupus@ximian.com>
8381         * Activator.cs: throw a MissingMethodException if the default
8382         constructor is not found in CreateInstance.
8384 2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8386         * String.cs:
8387         (Equals (str, str)): use 'as' instead of casting to object.
8388         (Equals (obj)): check the length of the strings (until now,
8389         "Hello".Equals ((object) "Hellow World!) was true!).
8391 2002-11-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8393         * MonoType.cs: implemented GetEvent (name, flags).
8395 2002-11-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8397         * AppDomain.cs: implemented a couple of methods called from the runtime
8398         to fire AssemblyLoad and AssemblyResolve events.
8400 2002-10-31  Dick Porter  <dick@ximian.com>
8402         * Environment.cs: MonoIO methods now have an error parameter
8404 2002-10-29  Zoltan Varga  <vargaz@freemail.hu>
8406         * Enum.cs: Added support for whitespaces in Enum:Parse().
8408 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8410         * Type.cs: fixed GetProperty (string, Type []) and removed get_property
8411         internal call. Closes bug #32992.
8413 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8415         * Exception.cs: display the inner exception, if any, in ToString ().
8417 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8419         * Environment.cs: fixed StackTrace property.
8421 2002-10-16  Nick Drochak  <ndrochak@gol.com>
8423         * Enum.cs (Parse): Then fix the code so that it works too.
8425 2002-10-15  Nick Drochak  <ndrochak@gol.com>
8427         * Enum.cs (Parse): Use unsigned casts to avoid compiler warnings.
8429 2002-10-12  Nick Drochak  <ndrochak@gol.com>
8431         * IntegerFormatter.cs: Fix compiler warnings.
8433 2002-10-11  Tim Haynes <thaynes@openlinksw.com>
8435         * Type.cs (GetConstructors): Use the correct flags.
8437 2002-10-09  Nick Drochak  <ndrochak@gol.com>
8439         * IntegerFormatter.cs: Suppress insignificant leading zeros
8441 Fri Sep 27 15:06:29 CEST 2002 Paolo Molaro <lupus@ximian.com>
8443         * MonoCustomAttrs.cs: applied patch by "Si Jingnan"
8444         <stonewell@21cn.com> to return also derived types.
8446 2002-09-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8448         * Activator.cs: little fix in CreateInstance (Type, bool).
8450 2002-09-19  Duncan Mak  <duncan@ximian.com>
8452         * Array.cs (CopyTo): Revert back to 1.40, this is stopping
8453         I18N/Common from building right now.
8455 2002-09-19  Nick Drochak  <ndrochak@gol.com>
8457         * Array.cs (CopyTo): Account for Object type and base (primitive) types
8458         * Type.cs (IsAssignableFrom): return false for a null parameter
8460 2002-09-19  Nick Drochak <ndrochak@gol.com>
8462         * Array.cs (CopyTo): Check that source type can be cast automatically
8463         to the destination type.
8465 2002-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8467         * Type.cs: implemented IsAssignableFrom, DefaultBinder and
8468         GetDefaultMembers.
8470 2002-09-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8472         * Char.cs: implemented ToString (char)
8473         * IntegerFormatter.cs: made it internal.
8475 2002-09-13  Nick Drochak  <ndrochak@gol.com>
8477         * Enum.cs (Format): handle the "d" format for both signed and unsigned
8478         underlying types.
8480 2002-09-12  Dick Porter  <dick@ximian.com>
8482         * UIntPtr.cs: Remove the [StructLayout(LayoutKind.Auto)]
8483         attribute, as there doesn't appear to be any struct
8484         layout-depending code here (and corcompare says it should be
8485         LayoutKind.Sequential)
8487         * Decimal.cs: Stub out missing methods, add
8488         [DecimalConstantAttribute] to the constant fields (as shown by
8489         corcompare).
8491         * LocalDataStoreSlot.cs: 
8492         * Environment.cs: 
8493         * Char.cs: 
8494         * Array.cs: Stub out missing methods.
8496         * TypedReference.cs: 
8497         * ArgIterator.cs: Stub out
8499         * AppDomainSetup.cs: 
8500         * AppDomain.cs: Stub out missing methods, add missing
8501         ClassInterface(ClassInterfaceType.None) attribute.
8503 2002-09-12  Nick Drochak  <ndrochak@gol.com>
8505         * Double.cs (ToString): Throw exception when "X" format is passed in.
8507 Wed Sep 11 15:26:34 CEST 2002 Paolo Molaro <lupus@ximian.com>
8509         * MonoType.cs: implemented Module property.
8511 Wed Sep 11 12:49:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
8513         * MonoType.cs, Type.cs: implemented InvokeMember.
8515 Wed Sep 11 11:06:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
8517         * Delegate.cs: check the type passed to CreateDelegate is a Delegate
8518         type. Check the method signature matches.
8520 Sat Sep 7 10:16:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
8522         * RuntimeMethodHandle.cs: implemented GetFunctionPointer().
8524 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
8526         * Console.cs: Specify an encoder, otherwise we will get the UTF8
8527         encoder that by default emits the byte markers.
8529 Fri Sep 6 20:14:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
8531         * Delegate.cs: look also for non-public methods until we have the
8532         security checks in place.
8534 Fri Sep 6 12:20:06 CEST 2002 Paolo Molaro <lupus@ximian.com>
8536         * MonoType.cs: consider also the full name in GetInterface.
8538 Fri Sep 6 12:11:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
8540         * MonoType.cs: implemented GetMembers, GetConstructorImpl and
8541         GetMethodImpl using the binder.
8542         * Type.cs: GetConstructorImpl/GetConstructor fixes.
8544 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
8545         * Enum.cs: Get rid of warning CS0162.
8547 2002-09-04  Miguel de Icaza  <miguel@ximian.com>
8549         * Double.cs, Single.cs, Char.cs, Boolean.cs: Use internal for the
8550         actual value instead of public.
8552         * LocalDataStoreSlot.cs: Make constructor internal.
8554         * Int16.cs, UInt16.cs, Int32.cs, UInt32.cs, Int64.cs, UInt64.cs,
8555         SByte.cs, Byte.cs, Char.cs: Use internal for the actual value
8556         instead of public.
8558 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
8559         * Enum.cs: Fixed Enum.Format so that the "x" format specifier would work
8560                    properly.
8562 2002-08-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8564         * DateTime.cs: fixed buglet.
8566 Tue Aug 27 16:39:47 CEST 2002 Paolo Molaro <lupus@ximian.com>
8568         * MonoType.cs: speedup access to common data.
8570 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8572         * Double.cs: implemented TryParse.
8574         * Math.cs: PowImpl is now private.
8576         * MissingFieldException.cs: implemented Message.
8578         * RuntimeMethodHandle.cs: stubbed GetFunctionPointer.
8580         * _AppDomain.cs: Uncommented ToString.
8582 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8584         * Type.cs:
8585         (IsValueTypeImpl): it's virtual, not abstract. Implemented.
8587 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8589         * ArgumentException.cs: use the field instead of the property for
8590         param_name.
8592         * ArgumentOutOfRangeException.cs: modified Message.
8594         * DateTime.cs: 
8595         (_DoParse): throw out of range exception for year. Removed check
8596         for month (it's done in the constructor).
8598 2002-08-21  Miguel de Icaza  <miguel@ximian.com>
8600         * Environment.cs: Implemented OSVersion property.
8602 2002-08-21  Dietmar Maurer  <dietmar@ximian.com>
8604         * Exception.cs: set stack_trace to null
8606 Wed Aug 21 13:02:20 CEST 2002 Paolo Molaro <lupus@ximian.com>
8608         * AppDomain.cs: implemented ToString().
8610 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8612         * AppDomain.cs: securityInfo can be null in CreateDomain.
8614 2002-08-19  Dick Porter  <dick@ximian.com>
8616         * MonoType.cs: Add a space before the Assembly name in
8617         AssemblyQualifiedName (needed for resource files so the MS runtime
8618         can load types)
8620 2002-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8622         * AppDomain.cs: parameter name when throwing ArgumentNullException.
8624         * ArgumentException.cs: modified Message to do what MS does.
8626         * ArgumentNullException.cs: don't use {0} in message.
8628         * Exception.cs: use Message property in ToString ().
8630 2002-08-14  Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
8632         * WeakReference.cs: Changed the constructor and GetObjectData
8633         method needed for ISerializable implementation in order to be
8634         compatible with SOAP generated by MS.
8636 Wed Aug 14 17:34:07 CEST 2002 Paolo Molaro <lupus@ximian.com>
8638         * MonoType.cs, Type.cs: DeclaringType/ReflectedType fixes.
8640 2002-08-12  Dietmar Maurer  <dietmar@ximian.com>
8642         * Exception.cs (ToString): changed the ouput format.
8644 2002-08-07  Dietmar Maurer  <dietmar@ximian.com>
8646         * MonoType.cs: moved get_method icall to this class, we can
8647         remove it as soon someone provides a full featured GetMethodImpl.
8649         * Type.cs: use GetMethodImpl everywhere.
8651         * Delegate.cs: new CreateDelegate implementations.
8653 2002-08-06  Tim Coleman <tim@timcoleman.com>
8654         * MonoType.cs: 
8655                 Fix bug #28582.  Now checks parameters for properties
8656                 in GetPropertyImpl.
8658 2002-08-04  Nick Drochak  <ndrochak@gol.com>
8660         * Buffer.cs: Throw correct exception in GetByte() and SetByte().
8662 2002-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8664         * String.cs:
8665         (FormatSpecifier): allow white space between the comman and the width
8666         specifier.
8668 2002-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8670         * Int32.cs:
8671         * Int64.cs:
8672         * UInt32.cs:
8673         * UInt64.cs: fixed bug #28050. May be a MS bug?
8675 Thu Jul 18 14:47:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
8677         * MonoType.cs: fix IsArrayImpl.
8679 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8681         * String.cs: make ToLower (culture) and ToUpper (culture) use the
8682         default ToLower and ToUpper and don't throw NotImplemented.
8684 Sat Jul 13 15:09:01 CEST 2002 Paolo Molaro <lupus@ximian.com>
8686         * Type.cs: make GettTypeCode an icall. Test implementation of
8687         GetMember().
8689 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8691         * AppDomainSetup.cs: implemented LoaderOptimization.
8693 2002-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8695         * Activator.cs: some more intermediate results checking in
8696         in CreateInstance and CreateInstanceFrom and use GetConstructor and
8697         Invoke only with Type [] until the other overloaded versions work.
8699 2002-07-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8701         * Activator.cs: reformatted. Implemented CreateInstance* methods
8702         that return ObjectHandle.
8704         * AppDomain.cs: implemented CreateInstance*AndUnwrap methods.
8706 2002-07-03  Nick Drochak  <ndrochak@gol.com>
8708         * Decimal.cs (Divide): Short cut the case where the dividend is 0 (and
8709         the divisor is not) and avoid the icall, which seems to have a bug.
8711 2002-07-03  Nick Drochak  <ndrochak@gol.com>
8713         * Double.cs (CompareTo): Correctly handle the case where the instance
8714         is NaN. Also return 0 if the values are equal.
8716 2002/07/03  Nick Drochak <ndrochak@gol.com>
8718         * MissingMethodException: Add missing Message property
8719         * MissingMemberException: Add missing Message property
8721 2002-06-30  Nick Drochak  <ndrochak@gol.com>
8723         * Double.cs (CompareTo): Just see which is bigger.  Don't use the
8724         subtraction trick, it doesn't work when the values have a diference of
8725         less than one.
8727         * Single.cs (CompareTo): same
8729 2002-06-27  Martin Baulig  <martin@gnome.org>
8731         * UIntPtr.cs (UIntPtr.Zero): Use an explicit `u' suffix in the
8732         constructor argument.  [FIXME: The implicit conversion to an
8733         unsigned integer doesn't work with mcs.]
8735 2002-06-26  Martin Baulig  <martin@gnome.org>
8737         * DecimalFormatter.cs: Removed MSTEST stuff, use `System',
8738         not `S = System'.  This file now compiles with mcs.
8740         * String.cs: Removed the already ifdef-outed __arglist Concat function
8741         to make it compile with mcs.
8743 2002-06-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8745         * IntegerFormatter.cs:
8746         (FormatParse.FormatNumber): fixed custom format for negative numbers.
8748 2002-06-21  Martin Baulig  <martin@gnome.org>
8750         * Double.cs: Replace the private `enum State' with constants since this
8751         will avoid some bigger headaches in mcs.
8753 Thu Jun 20 17:51:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
8755         * TimeSpan.cs: do not pollute the namespace with the
8756         System.Parser name.
8758 2002-06-18  Nick Drochak  <ndrochak@gol.com>
8760         * ArgumentException.cs: Use the message given in the constructor when
8761         accessing the Message property.  Thanks to Dietmar for the help with 
8762         "base".
8764 2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
8766         * MonoType.cs: GetField is now a InternalCall
8768 2002-06-13  Nick Drochak  <ndrochak@gol.com>
8770         * DateTime.cs: (Parse): Accept dates that have no hour,min,sec. in the
8771         sortable format(s), e.g. "2002-02-25"
8773 2002/06/12  Nick Drochak <ndrochak@gol.com>
8775         * Random.cs (Next): Fix math error.  Return a number within the range.
8777 2002-06-12  Nick Drochak  <ndrochak@gol.com>
8779         * String.cs (IndexOf): Return -1 if start index is equal to string
8780         length.
8782 2002-06-10  Duncan Mak  <duncan@ximian.com>
8784         * Convert.cs (ToDouble): Remove rounding in ToDouble (float).
8785         (ToType): Added null field in conversionTable to avoid
8786         IndexOutOfRangeException. Changed what exceptions we throw to match
8787         the spec.
8788         
8789 2002-06-11  Nick Drochak  <ndrochak@gol.com>
8791         * Int64.cs (Parse): Added unique strings to the messages where we throw
8792         a FormatException. Needed these to debug, so just left them in since
8793         they might be useful later. Fixed Currency parsing where we weren't
8794         looking at CurrencyDecimalSeparator, etc.
8796 2002-06-09  Lawrence Pit  <loz@cable.a2000.nl>
8798         * DateTime.cs: fixes to pass tests M0 to M6:
8799                 if yy pattern then year values >= 30 are in 20th century
8800                 rfc1123 pattern is always in GMT, therefor useutc must be false
8801         made GetNow() internal static so it can be called from TimeZone.
8802         * TimeZone.cs: removed dependency on year 2002 from initialization of 
8803         current timezone.
8805 2002-06-09  Duncan Mak  <duncan@ximian.com>
8807         * Convert.cs (ToType): Rearranged what Exceptions we throw to
8808         match MS behavior.
8810 2002-06-08  Duncan Mak  <duncan@ximian.com>
8812         * Decimal.cs: Added support for the IConvertible interface.
8814 2002-06-08  Martin Baulig  <martin@gnome.org>
8816         * Enum.cs (IsDefined): `value' may be of the enum's type itself, it
8817         doesn't necessarily need to be of the enum's underlying type.
8819 2002/06/07  Nick Drochak <ndrochak@gol.com>
8821         * String.cs: Add [Serializable] to class
8822         * SByte.cs (Parse): Add [CLSCompliant(false)] to all the overloads
8824 2002-06-04  Nick Drochak  <ndrochak@gol.com>
8826         * Double.cs (Parse): Recognize the group separator string, but still we
8827         don't check the format for the proper number of digits between
8828         separators. Also throw OverflowException when we get Pos or Neg
8829         Infinity from runtime.
8831 2002-06-03  Duncan Mak  <duncan@ximian.com>
8833         * Convert.cs (ToDouble): Fixed ToDouble (byte value).
8835 Mon Jun 3 12:18:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
8837         * Type.cs: fixed GetTypeCode.
8839 2002-06-02  Duncan Mak  <duncan@ximian.com>
8841         * Convert.cs (ToInt16): use Convert.ToInt16 (int) instead of a direct
8842         cast from an int so that we throw OverFlowException correctly.
8843         
8844         (ToInt64): Use a new 64bit version of ConvertToBase.
8845         
8846         (ConvertToBase): Add checks for overflow (checks Int32.MinValue
8847         and Int32.MaxValue).
8849         (ConvertFromBase64): New 64-bit version of ConvertFromBase.
8851 2002-06-02  Nick Drochak  <ndrochak@gol.com>
8853         * Convert.cs (ToSByte): Check for special value.
8854         * Single.cs (Parse): 
8855         * UInt16.cs (Parse):
8856         * UInt32.cs (Parse): Throw OverflowException if negative
8858 2002-06-02  Duncan Mak  <duncan@ximian.com>
8860         * Convert.cs (DBNull): Point it to DBNull.Value.
8861         (IsDBNull): Instead of checking typecodes, just check to see if
8862         it's the same as the DBNull field.
8864 2002-06-02  Nick Drochak  <ndrochak@gol.com>
8866         * Convert.cs (ConvertFromBase): Detect bad digits correctly.
8868 2002-06-02  Duncan Mak  <duncan@ximian.com>
8870         * Char.cs (Parse): Simplify the Exception handling.
8872         * Convert.cs (ToDecimal): Remove call to Math.Round () when
8873         converting from a float.
8875 2002-05-30  Martin Baulig  <martin@gnome.org>
8877         * MonoType.cs (GetInterface): Implemented.
8879 Thu May 23 17:17:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
8881         * Activator.cs: implemented CreateInstance ().
8883 2002-05-22  Duncan Mak  <duncan@ximian.com>
8885         * Convert.cs (ConvertToBase): Added new 64bit version.
8886         (BuildConvertedString64): New 64bit version of
8887         BuildConvertedString.
8889         This fixes bug 25068.
8891         (ConvertFromBase): Added additional test for checking if the
8892         digits are valid. Thanks to Miguel for coming up with this test.
8894         This fixes bug 25071.
8895         
8896 2002-05-21  Duncan Mak  <duncan@ximian.com>
8898         * Convert.cs (ToType): Rearranged to fit the new layout of
8899         conversionTable.
8901         (conversionTable): Rearranged to fit the layout of the
8902         System.TypeCode enum.
8904         This should fix bug 25075.
8905         
8906 2002-05-21  Duncan Mak  <duncan@ximian.com>
8908         * Convert.cs (ToString): Fixed the ToString methods. Previously I had
8909         mixed up the two code paths, one for converting to a specific base
8910         (this case), another from converting from a foreign base to base10
8911         (used by ToInt16|32|64 (string, int)). This fixes bug 25068.
8913         * Convert.cs (ToByte)
8914         (ToSByte): Fixed bug 25074. Added more bits to ConvertFromBase so
8915         that we won't confuse FormatException with OverflowException.
8917 2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
8919         * Environment.cs: CommandLine missed spaces between arguments.
8920         Implemented StackTrace. Returning MachineName in UserDomainName
8921         instead of null.
8922         
8923 Tue May 21 17:25:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
8925         * MonoCustomAttrs.cs: handle inherit argument.
8927 2002-05-21  Nick Drochak  <ndrochak@gol.com>
8929         * Math.cs (Pow): Change icall method name and insert parameter
8930         checks in for infinities and NaN.
8932 2002-05-13  Miguel de Icaza  <miguel@ximian.com>
8934         * Double.cs (Parse): Reimplement by cleaning up the string first,
8935         and then passing to strtof in the mono runtime.
8937         * Single.cs (Parse): Use the Double implementation and cast to
8938         float. 
8940 2002-05-21  Nick Drochak  <ndrochak@gol.com>
8942         * Math.cs 
8943                 (Ceiling): Check for "special" values
8944                 (Floor): Check for "special" values
8945                 (Round): Fix off-by-one error on decimal shifting
8947 2002-05-20  Lawrence Pit  <loz@cable.a2000.nl>
8949         * DateTime.cs: ToString () using "G" format specifier 
8951 2002-05-19  Martin Baulig  <martin@gnome.org>
8953         * Convert.cs (FromBase64CharArray): Do correct exception handling.
8955 2002-05-19  Martin Baulig  <martin@gnome.org>
8957         * Convert.cs (FromBase64CharArray): Convert the char array using
8958         System.Text.UTF8Encoding, not UnicodeEncoding (which is UTF-16) to
8959         a byte array.
8961 2002-05-17  Miguel de Icaza  <miguel@ximian.com>
8963         * MonoType.cs: Style changes.
8965         * Type.cs: Style changes.
8967 2002-05-16  Piers Haken <piersh@friksit.com
8969         * UInt64.cs: fix declaration of IConvertible.To* overrides.
8971 2002-05-16  Nick Drochak  <ndrochak@gol.com>
8973         * BitConverter.cs (ToString): Add parameter check for invalid start 
8974         index.
8976         * Console.cs: Use AutoFlush on the StreamWriter for stdin and stdout
8977         now that StreamWriter uses buffering
8979 2002-05-14  Miguel de Icaza  <miguel@ximian.com>
8981         * Double.cs: Oops.  Also handle exponents without finding a dot.
8983 2002-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8985         * ChangeLog: removed empty entry at the top of the file.
8987         * Int32.cs: made static functions used by Parse internal.
8989         * Int64.cs:
8990         * UInt32.cs:
8991         * UInt64.cs: removed static fucntions used by Parse and use the ones
8992         in Int32.cs
8994 2002-05-12  Daniel Morgan <danmorg@sc.rr.com>
8996         * IServiceProvider.cs: added using System
8998 2002-05-09  Daniel Morgan <danmorg@sc.rr.com>
9000         * Single.cs: copied ToString() and Parse() methods from 
9001         Double to Single and modified a tiny bit for Single.  
9002         There is still a FIXME for Double and Single about
9003         passing the format and provider info to the icall too.
9005 2002-05-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9007         * Int32.cs:
9008         * Int64.cs:
9009         * UInt32.cs:
9010         * UInt64.cs (Parse): don't use Char.IsNumber to test for hex digits.
9011         Don't use a delegate to test for valid digits.
9013 2002-05-01  Duncan Mak  <duncan@ximian.com>
9015         * Convert.cs: 
9016         * Math.cs: Added missing CLSCompliant attributes where necessary.
9017         
9018 2002-04-30  Duncan Mak  <duncan@ximian.com>
9020         * ArgumentException.cs (Message): 
9021         * ArgumentOutOfRangeException.cs (Message): Added.
9023 2002-04-30  Nick Drochak  <ndrochak@gol.com>
9025         * MonoType.cs: Remove unused variable and eliminate a compiler warning.
9027 Mon Apr 29 15:32:02 CEST 2002 Paolo Molaro <lupus@ximian.com>
9029         * Environment.cs: support for Exit(), CommandLine, CommandLineArgs ().
9031 2002-04-28  Duncan Mak  <duncan@ximian.com>
9033         * DivideByZeroException.cs: Added missing serialization constructor.
9035         * UnauthorizedAccessException.cs: Added the missing Serializable attribute.
9037 2002-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9039         * Math.cs: fix Floor () and Round (). Closes #23960.
9041 2002-04-27  Nick Drochak  <ndrochak@gol.com>
9043         * Array.cs (IList.Contains): Should throw a RankException if this is 
9044         called on a Rank > 1 array. Not in the docs, but this is what the 
9045         MS.NET does.
9047 2002-04-26  Duncan Mak  <duncan@ximian.com>
9049         * MissingMemberException.cs: Made the message variable 'protected'
9050         instead of 'private', so that we can see it in
9051         MissingMethodException and MissingFieldException.
9053         * MissingFieldException.cs:
9054         * MissingMethodException.cs: Added missing (string, string)
9055         constructor, and also the Message property.
9057 2002-04-26  Martin Baulig  <martin@gnome.org>
9059         * Enum.cs: Implemented the IConvertible methods.
9061 2002-04-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9063         * SByte.cs: little change in Parse (string) to avoid incorrect
9064         OverflowException thrown (reported by nickd).
9066 2002-04-22  Miguel de Icaza  <miguel@ximian.com>
9068         * ValueType.cs: Add Serializable attribute.
9070         * String.cs: ifdef-out out the __arglist Concat function until I
9071         add support for that to mcs.
9073 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
9075         * AppDomain.cs (GetValue): usage of the correct icall (bug)
9077 Wed Apr 24 21:15:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
9079         * GC.cs: implement most of the methods as icalls.
9081 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9083         * DecimalFormatter.cs (ToString): return correct value when the
9084         decimal number is 0.
9086 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
9087         
9088         * Type.cs (GetProperty): fixed call syntax (needs an empty array not null)
9089         * MonoType.cs (GetPropertyImpl) : basic implementation (ignores types, bindingAttr, modifiers)
9091 2002-04-24  Nick Drochak  <ndrochak@gol.com>
9093         * Double.cs (Parse): Handle case where there are no digits before the 
9094         decimal point, such as ".1".
9096 2002-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9098         * Int32.cs:
9099         * UInt32.cs:
9100         * Int64.cs:
9101         * UInt64.cs: fixed bug #23738 (hex numbers parsed wrong).
9103 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
9105         * String.cs (Split): fixed invalid split of count 0 and 1.
9106         
9107 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
9108         
9109         * String.cs (LastIndexOf): fixed argument checking.
9110         * String.cs (Equals): made internal for performace.
9112 2002-04-23  Nick Drochak  <ndrochak@gol.com>
9114         * String.cs (Join): check argument and throw exception if needed
9116 2002-04-23  Nick Drochak  <ndrochak@gol.com>
9118         * String.cs (StartsWith): check argument and throw exception if needed
9120 2002-04-22  Nick Drochak  <ndrochak@gol.com>
9122         * String.cs (IndexOfAny): check arguments and throw exceptions as
9123         neccessary.  ALso remove some debug WriteLines.
9125 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
9127         * String.cs: use internal constructors
9128         buf fix in Concat.
9130 Thu Apr 18 17:16:15 CEST 2002 Paolo Molaro <lupus@ximian.com>
9132         * MonoType.cs: make GetElementType its own icall.
9134 2002-04-18  Nick Drochak <ndrochak@gol.com>
9136         * String.cs: Modified file. Re-add methods needed by the unit tests.
9138 Thu Apr 18 12:38:32 CEST 2002 Paolo Molaro <lupus@ximian.com>
9140         * String.cs: some code speedups and restored GetTypeCode().
9142 2002-04-17      Patrik Torstensson <patrik.torstensson@labs2.com>
9144         * String.cs: New implementation using internal calls.
9145         
9146 2002-04-16  Nick Drochak  <ndrochak@gol.com>
9148         * DecimalFormatter.cs: Trim off excess null characters from the string
9149         that decimal2string gives back.
9151 2002-04-16  Nick Drochak  <ndrochak@gol.com>
9153         * String.cs (SubString): revert my change.  I can't reproduce the
9154         problem anymore.
9156 2002-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9158         * Attribute.cs: added GetHashCode and Equals.
9160 2002-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9162         * Enum.cs: little improvements to Format ().
9164 Thu Apr 11 12:28:13 CEST 2002 Paolo Molaro <lupus@ximian.com>
9166         * String.cs: internalcall GetHashCode().
9167         * Array.cS: optimize access to elements.
9169 Wed Apr 10 21:20:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
9171         * String.cs: make IndexOfAny() use an internalcall.
9173 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9175         * Int32.cs:
9176         * UInt32.cs:
9177         * Int64.cs: 
9178         * UInt64.cs: fixed error when testing for validity of flags.
9180 2002-04-11  Nick Drochak  <ndrochak@gol.com>
9182         * Double.cs: Use an internal call for ToString(). This is just a simple
9183         implementation to get away from throwing a NotImplementedException.
9185 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9187         * Int32.cs:
9188         * UInt32.cs:
9189         * Int64.cs: 
9190         * UInt64.cs: changed Type.GetType () by typeof (), as suggested by
9191         lupus.
9193         * Int32.cs:
9194         * Int64.cs: throw an OverFlowException when parsing a string 
9195         containing a dot followed by any non '0' number.
9197 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9199         * Byte.cs:
9200         * UInt16.cs:
9201         * UInt32.cs:
9202         * UInt64.cs: added complex Parse ().
9204 2002-04-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9206         * SByte.cs:
9207         * Int16.cs:
9208         * Int32.cs:
9209         * Int64.cs: added complex Parse ().
9211 2002-04-09  Nick Drochak  <ndrochak@gol.com>
9213         * Array.cs (BinarySearch): Add checks on paramters before using them
9214         and throw exceptions as needed.
9216         * Enum.cs (Format): Check if [Flags] is applied to enum and convert
9217         "G" format to "F" if so.
9219 Tue Apr 9 13:12:09 CEST 2002 Paolo Molaro <lupus@ximian.com>
9221         * MonoCustomAttrs.cs: return arrays of type Attribute[]
9222         instead of object[].
9224 2002/04/09  Nick Drochak <ndrochak@gol.com>
9226         * String.cs (Substring): Copy only non-null characters to the new
9227         string.
9229 2002-04-09  Nick Drochak  <ndrochak@gol.com>
9231         * IntegerFormatter.cs: Don't use a format character to indicate a
9232         custom format was passed in. It was using 'z' to indicate a custom
9233         format, but really it should throw a format exception if the user
9234         tries to use "z" as the format string. Now it does.
9236         * Activator.cs: New File.
9238 2002-04-08  Nick Drochak  <ndrochak@gol.com>
9240         * Enum.cs (ToString): Big ugly fix for the case where [Flags] is
9241         applied to an enum. Need to handle the different possible integer
9242         types of an enum somehow.  Can anyone say generics?
9244 Mon Apr  8 06:22:42  2002 Piers Haken <piersh@friskit.com>
9246         * Convert.cs: switched the To*(object) methods to use
9247         IConvertible directly instead of calling ChangeType
9249 Sat Apr 6 20:08:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
9251         * ValueType.cs: make Equals() an internalcall.
9253 Fri Apr 5 15:38:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
9255         * Type.cs: also look for nested types in FindMembers.
9256         * MonoType.cs: make GetNestedTypes() an internalcall.
9258 2002-04-05  Nick Drochak  <ndrochak@gol.com>
9260         * Enum.cs (Parse): Handle different underlying types.
9262 2002/04/04 Nick Drochak <ndrochak@gol.com>
9264         * Enum.cs (IsDefined): Throw exception when type of value to look for
9265         is not the correct one.  Attempt to have it work with string values
9266         too, but not sure if the unit tests are getting that far yet.
9268 2002-04-04  Nick Drochak  <ndrochak@gol.com>
9270         * Decimal.cs: Fix a couple of typos.
9272 Wed Apr 3 19:46:00 CEST 2002 Paolo Molaro <lupus@ximian.com>
9274         * Enum.cs: the values array is of the enum and not of the underlying
9275         type. Updates and some bug fixes.
9276         * MonoType.cs: make the internalcall return FullName instead of the
9277         assembly qualified name.
9278         * Type.cs: make ToString () simply return FullName.
9280 2002-04-03  Nick Drochak  <ndrochak@gol.com>
9282         * Type.cs (GetTypeCode): provide some of the implementation for this
9283         method.  It's still too simplistic to be considered complete.
9285 2002-04-02  Dietmar Maurer  <dietmar@ximian.com>
9287         * Object.cs: fixed FieldGetter/FieldSetter signature
9289 2002-04-02  Nick Drochak  <ndrochak@gol.com>
9291         * Environment.cs: add MonoTODO's on parts that should have it.
9293 2002-04-01  Nick Drochak  <ndrochak@gol.com>
9295         * Enum.cs: added reality checks (check parameters to most methods that
9296         need them).
9298 2002-03-30  Dietmar Maurer  <dietmar@ximian.com>
9300         * Object.cs: added FieldGetter/FieldSetter
9302 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9304         * IntegerFormatter.cs: fixed initialization error in static
9305         constructor.
9307 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
9309         * Delegate.cs: added new field to store a trampoline function
9311 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9313         * IntegerFormatter.cs: added workaround for bug #22668. First patch to
9314         make custom format strings work (not fully functional yet).
9316 2002/03/28  Nick Drochak <ndrochak@gol.com>
9318         * IntegerFormatter.cs: Change class from internal to public.  Add
9319         necessary [CLSCompliant(false)] attributes.
9321 2002-03-27  Duco Fijma  <duco@lorentz.xs4all.nl>
9322         * _AppDomain.cs, AppDomain.cs: renamed method GetDate to GetData
9323         (was a typo)
9325 2002-03-28  Nick Drochak  <ndrochak@gol.com>
9327         * Type.cs: Added MonoTODO tags on members that have FIXME, etc.
9329 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
9331         * Console.cs: Modified to get std handles from MonoIO.
9332         * Environment.cs: removed PAL dependencies.
9334 2002-03-25  Miguel de Icaza  <miguel@ximian.com>
9336         * String.cs (System): Removed internal enumeration, because
9337         bootstrapping the corlib at this point does not support
9338         enumerations. 
9340         * IntPtr.cs: Temporary work-around until I fix the assembly
9341         attributes bug.
9343 2002-03-24  Martin Baulig  <martin@gnome.org>
9345         * Enum.cs (GetValues): According to the docu this is sorted after
9346         values, not names.
9348         * String.cs (System): Removed enumeration, because it is pretty
9349         hard to support enumerations in /nostdlib mode for the core types.
9351 Tue Mar 19 18:18:49 CET 2002 Paolo Molaro <lupus@ximian.com>
9353         * Array.cs: move error handling in the catch block.
9354         * MulticastDelegate.cs: remove == and != operators that were
9355         removed with the delegate changes (when you add stuff, please do not
9356         remove existing functionality!).
9357         * Type.cs: if a property is not found in a type, search for it
9358         in the parent types, too.
9360 2002-03-18  Dan Lewis <dihlewis@yahoo.co.uk>
9361         
9362         * Math.cs: changed to use icall instead of PAL.
9364 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
9366         * Double.cs: added check for NaN (Bug [22082])
9368 2002-03-19  Nick Drochak  <ndrochak@gol.com>
9370         * Enum.cs (Equals): check for null and throw if it is.
9371         * Enum.cs (Format): check for null parameters and throw if necessary.
9372         This method still needs more argument checking.
9374 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
9376         * Enum.cs (Equals): check if Enums are of the same type
9378 2002-03-18  Nick Drochak  <ndrochak@gol.com>
9380         * Double.cs: Explicitly handle comparisons in CompareTo() for
9381         Positive/Negative Infinity and NaN. Unit Test now passes on Linux.
9383         * Enum.cs(CompareTo): Check types of values before trying to compare.
9384         Throw exceptions if types are invalid or don't match.
9386 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
9388         * Array.cs: Add some extra debugging information.
9390 2002-03-15  Nick Drochak  <ndrochak@gol.com>
9392         * Array.cs: Added IList and IEnumerable. 
9394 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
9396         * UInt64.cs, UInt32.cs, UInt16.cs: Mark public parse methods as
9397         NonCLSCompliant. 
9399 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
9401         * Delegate.cs (Equals): also compare method_ptr 
9402         (GetHashCode): returm method_ptr as hash
9404 2002-03-13  Duco Fijma  <duco@lorentz.xs4all.n>
9405         * TimeSpan.cs: removed the use of Custom Numeric Format Strings,
9406         such as 42.ToString("0000000"), as these are (currently) not implemented
9407         in System.IntegerFormatter. TimeSpan luckely can do with Standard
9408         Numeric Format Strings, such as 42.ToString("D7").
9410 2002-03-12  Duncan Mak  <duncan@ximian.com>
9412         * FieldAccessException.cs: 
9413         * MethodAccessException.cs: 
9414         * PlatformNotSupportedException.cs: Inherit from
9415         MemberAccessException, not SystemException.
9417         * ObsoleteAttribute.cs: Made Message and IsError properties
9418         instead of fields.
9420 Tue Mar 12 19:21:18 CET 2002 Paolo Molaro <lupus@ximian.com>
9422         * GC.cs: make SuppressFinalize() a nop.
9423         * Delegate.cs: fix == operator.
9425 2002-03-13  Nick Drochak  <ndrochak@gol.com>
9427         * Enum.cs: Add IConvertible methods. Cyclic dependancy fixed in the
9428         runtime that goes with this patch.
9430 2002-03-10  Martin Baulig  <martin@gnome.org>
9432         * Int32.cs (Parse): Correctly parse negative numbers.
9434 2002-03-08  Martin Baulig  <martin@gnome.org>
9436         * String.cs (Split): Really fix it this time. Also adding several new
9437         testcase to the testsuite.       
9439 2002-03-08  Martin Baulig  <martin@gnome.org>
9441         * Array.cs (Copy): Optimized: removed duplicate null check, removed
9442         two duplicate GetLowerBound() calls and one duplicate IsValueType.
9444 Fri Mar 8 18:49:19 CET 2002 Paolo Molaro <lupus@ximian.com>
9446         * Object.cs: commit my hacked GetHashCode(): it's good enough for now.
9447         * String.cs: use the dumb code for IndexOf(string): this is worth
9448         15-20 % speedup in mcs compile with mint.
9450 Fri Mar 8 12:45:44 CET 2002 Paolo Molaro <lupus@ximian.com>
9452         * String.cs: revert change to Split() that broke the compiler (hi martin!:-).
9454 2002-03-07  Martin Baulig  <martin@gnome.org>
9456         * String.cs (Join): Throw an ArgumentNullException.
9457         (LastIndexOf (string,int,int)): This method does a backwards search,
9458         so startIndex points to the end of value, not to its beginning. Don't
9459         throw an exception if startIndex equals this.Length. Always return -1
9460         if startIndex is smaller than the length of value.
9461         (Replace (string,string)): Replace all occurences of oldValue.
9462         If newValue is null, all occurences of oldValue are to be removed.
9463         (Split (char[],int)): Return an empty array if maxCount is zero, throw
9464         an ArgumentOutOfRangeException if it's less than zero. Return maxValue
9465         elements, not maxValue+1.
9467 Thu Mar 7 17:16:06 CET 2002 Paolo Molaro <lupus@ximian.com>
9469         * MonoType.cs: make GetEvents() an internal call.
9470         * MulticastDelegate.cs: copy the passed in array.
9472 2002-03-06  Martin Baulig  <martin@gnome.org>
9474         * Array.cs (Copy): Use FastCopy when appropriate and do correct
9475         exception handling.
9477 2002-03-06  Duco Fijma  <duco@lorentz.xs4all.nl>
9478         * CharEnumerator.cs: fixes to CharEnumertor.MoveNext, fixing 
9479         some of the failures found be new tests (see ChangeLog in 
9480         Test/System). Comments added to this method, based on
9481         the representation invariant of this class, that (try to) explain
9482         why it now should be correct.
9484 2002-03-06  Dietmar Maurer  <dietmar@ximian.com>
9486         * Int64.cs (Parse): bug fix for max. negative value. 
9488 2002-03-07  Nick Drochak  <ndrochak@gol.com>
9490         * RuntimeTypeHandle.cs: Add Serializable attribute as the docs say.
9491         I need to understand what the difference between the attribute and
9492         the interface is.
9494 2002-03-06  Martin Baulig  <martin@gnome.org>
9496         * Array.cs (Copy): Always throw an ArrayTypeMismatchException, not
9497         an InvalidCastException if the widening conversion failed. See
9498         testcases #M94-#M96.
9500         * Array.cs (CopyTo): Bug fix from Ajay Dwivedi, correctly handle
9501         arrays with non-zero lower bounds. Also adding testcases #F10-#F13
9502         for this.
9504         * Array.cs (CopyTo): Reverted my last change, it was incorrect.
9505         (Copy): Actually allow copying multi-dimensional arrays.
9507 2002-03-05  Duncan Mak  <duncan@ximian.com>
9509         * Convert.cs:
9510         (DBNull) Added the missing field.
9511         (IsDBNull) Fixed typo.
9512         (ToByte (string, int)) Implemented.
9513         (ToString (byte, int)) Implemented.
9514         (ConvertToBase)
9515         (BuildConvertedString) internal functions used for converting values to
9516         a specific base.
9518         * Int16.cs: 
9519         * Int32.cs:
9520         * Int64.cs:
9521         * Single.cs:
9522         * UInt16.cs: 
9523         * UInt32.cs: Implemented the IConvertible interface.    
9525         * CharEnumerator.cs: Renamed to variables to be clearer and
9526         changed some of the tests to conform to the 1.0 spec.
9528 2002-03-06  Martin Baulig  <martin@gnome.org>
9530         * Array.cs (Copy): Calculate absolute array position here and use
9531         GetValueImpl() and SetValueImpl() with that position. We can now
9532         copy multi-dimensional arrays.
9533         (CopyTo): Small bug fix.
9535 2002-03-05  Duco Fijma  <duco@lorentz.xs4all.nl>
9537         * Version.cs: CompareTo changed according the LAMESPEC discovered by 
9538         Nick (See VersionTest.cs).
9539         * CharEnumerator.cs: fixed two bugs in MoveNext. It had an off-by-one
9540         error comparing the current position (idx) against the length of the
9541         string iterated and it set idx to an unrecognized special value (-2)
9543 Tue Mar 5 17:34:14 CET 2002 Paolo Molaro <lupus@ximian.com>
9545         * SByte.cs, UInt64.cs: implement IConvertible interface. Nobody wants
9546         to do this dirty work, but someone has to do it (and I need it to pass
9547         the "200 sample tests compiled on linux" mark).
9549 2002-03-06  Nick Drochak  <ndrochak@gol.com>
9551         * Attribute.cs
9552         * DecimalFormatter.cs
9553         * Delegate.cs
9554         * Double.cs
9555         * GC.cs
9556         * Int16.cs
9557         * Int32.cs
9558         * MonoType.cs
9559         * RuntimeMethodHandle.cs
9560         * RuntimeTypeHandle.cs
9561         * String.cs
9562         * Type.cs:
9563                 Add [MonoTODO]'s to places where we currently throw a
9564                 NotImplementedException.
9566 2002-03-05  Dietmar Maurer  <dietmar@ximian.com>
9568         * Int16.cs (Parse): do not overflow on max negative value
9570         * Int32.cs (Parse): do not overflow on max negative value
9572 Mon Mar 4 20:36:05 CET 2002 Paolo Molaro <lupus@ximian.com>
9574         * Type.cs: fixed IsClass.
9575         * MonoType.cs: fixed MemberType, IsPrimitiveImpl, IsPointerImpl,
9576         IsByRefImpl. Added GetInterfaces().
9577         * IServiceProvider.cs: compilation fix.
9579 Mon Mar 4 18:37:03 CET 2002 Paolo Molaro <lupus@ximian.com>
9581         * Array.cs: allow copying an empty array to an empty array.
9583 Mon Mar 4 17:59:16 CET 2002 Paolo Molaro <lupus@ximian.com>
9585         * String.cs: fixed LastIndexOf (string) to do a bit of argument
9586         checking.
9588 2002-03-04  Duco Fijma  <duco@lorentz.xs4all.nl>
9589         * Version.cs: many fixes to failures found by the newly created
9590         test cases for this class. Specifically, the CompareTo member
9591         returned wrong values due to the use of Int32.MaxValue as a special
9592         value indicating an "undefined" version component. Also implemented the
9593         missing operators (==, <, >, etc.), one missing constructor and
9594         and some exception throwing.
9596 2002-03-04  Nick Drochak  <ndrochak@gol.com>
9598         * IServiceProvider.cs: Add missing attribute: ComVisible(false)
9599         * Attribute.cs: Add missing attributes: Serializable and
9600         AttributeUsage(AttributeTargets.All)
9602 Mon Mar 4 11:26:49 CET 2002 Paolo Molaro <lupus@ximian.com>
9604         * MonoType.cs: implemented GetConstructors(), GetFields(),
9605         GetMethods(), GetProperties().
9606         * Object.cs: added debugging icall obj_address().
9607         * Type.cs: fixed the binding flags for some Get* methods.
9608         Implemented FindMembers() as calls to the specific GetMember
9609         methods.
9611 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
9612         * BitConverter.cs: fixed one little bug: ToString(s, n, 0) 
9613         should give an exception for n>=s.Length.
9615 2002-03-01  Martin Baulig  <martin@gnome.org>
9617         * Array.cs: More argument checking and bug fixing.
9619 2002-03-01  Miguel de Icaza  <miguel@ximian.com>
9621         * BitConverter.cs: Indentation match
9623         * AppDomain.cs: Added MonoTODOs to this too.
9625         * Buffer.cs: Added MonoTODOs to this.
9627 2002-03-01  Martin Baulig  <martin@gnome.org>
9629         * Array.cs: Added argument checking to all methods where it was missing.
9631 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
9633         * BitConverter.cs: Fixed bugs in ToString methods
9635 Fri Mar 1 15:20:00 CET 2002 Paolo Molaro <lupus@ximian.com>
9637         * MulticastDelegate.cs: implement operators so mcs3 can be used on linux.
9639 2002-03-01  Nick Drochak  <ndrochak@gol.com>
9641         * BitConverter.cs: Throw ArgumentException like mscorlib, instead of
9642         ArgumentOutOfRangeException like the docs say.
9644 2002-03-01  Martin Baulig  <martin@gnome.org>
9646         * Enum.cs (CompareTo): Correctly override this method from IComparable.
9648         * Console.cs (setIn, setOut, setError): It's called SetIn, SetOut, SetError.
9650 2002-02-28  Martin Baulig  <martin@gnome.org>
9652         * String.cs: This file now passes the testsuite on Linux :-)
9653         
9654         * String.cs (Intern, IsInterned): The interncalls are now called _Intern and _IsInterned;
9655         make them private and provide C# wrappers which do proper argument checking.
9657         * String.cs (Format): Correctly handle escaped brackets.
9659         * String.cs (_CompareChar): New internal function which compares two chars.
9660         (_Compare): Provide an internal compare method which can do all sorts of
9661         comparision and call it from all the Compare() methods. Also fixed a lot of
9662         bugs here, this code now actually passes the testsuite.
9664 2002-02-28  Duncan Mak  <duncan@ximian.com>
9666         * Convert.cs: Added the missing methods. The new class status page
9667         kicks ass, it even found my typos! Woohoo!
9668         (ConvertFromBase): Moved the Exception throwing in here and
9669         removed the other occurances so it's all centralized now.
9670         (ISDBNull): Implemented.
9671         (GetTypeCode): Implemented.
9673 2002-02-27  Duco Fijma  <duco@lorentz.xs4all.nl>
9674         * Guid.cs: Guid.ToString("") and Guid.ToString(null) is now understood as Guid.ToString("D") 
9675         just as in mscorlib. There is (probably) a documentation bug in the MS FrameWork SDK, which
9676         states that a lacking format should be interpreted as "N".  
9677         Also added [Serializable] attribute
9678         * TimeSpan.cs: some formatting and added the [Serializable] attribute
9680 2002-02-26  Duncan Mak  <duncan@ximian.com>
9682         * WeakReference.cs: Committed for Ajay Kumar Dwivedi.   
9684 2002-02-26  Martin Baulig  <martin@gnome.org>
9686         * TimeZone.cs: Use an internal enum rather than magic numbers to access the
9687         fields of the interncall GetTimeZoneData.
9689         * DateTime.cs: Implemented Parse and fixed a few bugs.
9691         * String.cs (TrimStart): Small fix.
9693 2002-02-26  Martin Baulig  <martin@gnome.org>
9695         * DateTime.cs: ParseExact is now fully functional.
9697         * String.cs (TrimEnd): Small fix.
9699 2002-02-26  Duco Fijma <duco@lorentz.xs4all.nl>
9700         * TimeSpan.cs: Added method TimeSpan.FromMilliseconds, mysteriously 
9701         missing for about six months.
9703 Tue Feb 26 14:21:19 CET 2002 Paolo Molaro <lupus@ximian.com>
9705         * UInt64.cs: fixed Parse method () to handle some of the NumberStyle flags.
9707 2002-02-26  Martin Baulig  <martin@gnome.org>
9709         * DateTime.cs: Miguel already committed this, but there was still a
9710         ChangeLog entry for this missing ....
9711         We're now reusing functionality from TimeSpan, printing dates is
9712         fully implemented, currently working on parsing.
9714         * TimeZone.cs: Fully implemented this. There's a new InternCall in the
9715         runtime for this.
9717 Fri Feb 22 18:47:08 CET 2002 Paolo Molaro <lupus@ximian.com>
9719         * MonoType.cs: disable constructor.
9720         * Object.cs: make GetType() an internalcall.
9721         * Type.cs: added correct bindingflags to GetMethods ().
9722         All such calls should be reviewed to use the correct flags.
9724 Thu Feb 21 19:23:46 CET 2002 Paolo Molaro <lupus@ximian.com>
9726         * Type.cs, MonoType.cs: type_is_subtype_of () changed to include extra
9727         argument.
9729 Thu Feb 21 16:56:51 CET 2002 Paolo Molaro <lupus@ximian.com>
9731         * Type.cs: implemented IsAssignableFrom.
9733 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
9734         * Guid.cs: fixed Guid.Guid(string) ctor. Changed format:
9735         "{0xdddddddd,0xdddd,0xdddd,{0xdd},{0xdd},{0xdd},{0xdd},{0xdd},{0xdd}}" 
9736         to "{0xdddddddd,0xdddd,0xdddd,{0xdd,0xdd,0xdd,0xdd,0xdd,0xdd}}" 
9737         The former is documented by Microsoft. The latter is how they
9738         actually implemented it in mscorlib:-)
9740 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
9742         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
9743         runtime.
9744         * MonoType.cs: Implemented custom attributes methods.
9747 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
9748         * Guid.cs: 
9750 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
9752         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
9753         runtime.
9754         * MonoType.cs: Implemented custom attributes methods.
9756 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
9758         * Array.cs (CopyTo): use GetLength() instead of GetUpperBound() 
9760 2002-02-19  Duncan Mak  <duncan@ximian.com>
9762         * Convert.cs: Finished up the missing methods in Convert. Added a
9763         new private method ConvertFromBase.
9765 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
9767         * String.cs: impl. IConvertible interface
9769 2002-02-18  Duco Fijma <duco@lorentz.xs4all.nl>
9770         * Guid.cs: actual implementation for Guid.Guid(string) Ctor
9772 2002-02-18  Duncan Mak  <duncan@ximian.com>
9774         * Convert.cs: Changed from using Type.GetType (string) to just
9775         typeof (). Probably will speed things up a bit?         
9777 2002-02-18  Ajay Kumar Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>
9779         * Array.cs:         
9780         1. Fix for GetUpperBound to return correct values
9781         2. made some Properties virtual
9782         3. Adds IsFixedSize and IsReadOnly properties.
9783         4. changes CreateInstance(Type,int[],int[]) to throw Exception
9784         when third arg is null. InternalCall CreateInstance changed to  
9785         CreateInstanceImpl
9786         5. Fixed array.GetUpperBound at a couple of places
9787         6. IndexOf and LastIndexOf now use Object.Equals instead of "=="
9788         7. Added two FIXME's in BinarySearch functions.
9790 2002-02-17  Duncan Mak  <duncan@ximian.com>
9792         * TimeZone.cs:  Applied the rest of Ajay's patch for    
9793         IsDaylightSavingTime. Thanks a lot for the nice explanation of how
9794         it works!
9796 2002-02-17  Duco Fijma  <duco@lorentz.xs4all.nl>
9797         * Guid.cs: added stub for Guid(string) ctor
9799 2002-02-17  Duncan Mak  <duncan@ximian.com>
9801         * Convert.cs: Near-complete implementation of Convert.cs
9803         Added all the To* methods taking (object) and
9804         (object, IFormatProvider) as parameters.
9806         Added [CLSCompliant (false)] attributes to methods dealing with
9807         unsigned types.
9809         Added the missing section on converting to and from DateTime. Only
9810         6 missing methods, all marked with MonoTODOs. Will tackle them later.           
9812 2002-02-16  Duncan Mak  <duncan@ximian.com>
9814         * TimeZone.cs: patch from Ajay Kumar Dwivedi (adwiv@yahoo.com) to
9815         make IsDaylightSavingTime (DateTime) call 
9816         IsDaylightSavingTime (DateTime, DaylightTime).  
9817         
9818         Added internal class CurrentTimeZone from Ajay. It needs more work
9819         to fill in the appropriate internal calls.
9820         
9821 Sat Feb 16 12:41:41 CET 2002 Paolo Molaro <lupus@ximian.com>
9823         * Type.cs: fix IsClass.
9825 Sat Feb 16 12:02:02 CET 2002 Paolo Molaro <lupus@ximian.com>
9827         * String.cs: fix Trim().
9829 Fri Feb 15 21:02:46 CET 2002 Paolo Molaro <lupus@ximian.com>
9831         * String.cs: fix more off by one errors.
9833 Thu Feb 14 18:54:09 CET 2002 Paolo Molaro <lupus@ximian.com>
9835         * MonoType.cs: fix IsValueTypeImpl.
9836         * Type.cs: fix IsEnum. Implement Equals methods.
9838 Wed Feb 13 21:50:13 CET 2002 Paolo Molaro <lupus@ximian.com>
9840         * Int32.cs: implement IConvertible interface.
9841         
9842 2002-02-12  Duncan Mak  <duncan@ximian.com>
9844         * TimeZone.cs: Implemented and added to CVS.
9846 2002-02-11  Duncan Mak  <duncan@ximian.com>
9848         * Convert.cs: Implemented the ChangeType () methods.
9850 Mon Feb 11 19:48:58 CET 2002 Paolo Molaro <lupus@ximian.com>
9852         * Array.cs: make Clone() an internal call.
9854 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
9855         * Changed Guid.NewGuid so that it can use both System.Random and 
9856           System.Security.Cryptography.RandomNumberGenerator
9858 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
9859         * First version of Guid.NewGuid
9861 2002-02-08  Duncan Mak  <duncan@ximian.com>
9863         * RuntimeArgumentHandle.cs: Added to CVS.
9865 Fri Feb 8 19:14:54 CET 2002 Paolo Molaro <lupus@ximian.com>
9867         * CrossAppDomainDelegate.cs, AssemblyLoadEventHandler.cs,
9868         UnhandledExceptionEventHandler.cs: added delegates.
9870 Fri Feb 8 18:06:20 CET 2002 Paolo Molaro <lupus@ximian.com>
9872         * MarshalByRefObject.cs: add ToString () method
9873         (apparently needed by nunit).
9874         * _AppDomain.cs: uncomment ToString(): dietmar fixed the bug triggered
9875         by it in the runtime.
9877 2002-02-08  Dan Lewis <dihlewis@yahoo.co.uk>
9878         
9879         * String.cs (Format): implemented
9881 2002-02-07  Duncan Mak  <duncan@ximian.com>
9882         
9883         * DuplicateWaitObjectException:
9884         * InvalidCastException:
9885         * NotImplementedException:
9886         * NotSupportedException:
9887         * NullReferenceException:
9888         * OutOfMemoryException:
9889         * OverflowException:
9890         * RankException:
9891         * StackOverflowException.cs:
9892         * UnauthorizedAccessException: Added missing constructor used for serialization.
9894 2002-02-07  Dietmar Maurer  <dietmar@ximian.com>
9896         * String.cs (System.Compare): bug fix 
9898 2002-02-06  Dietmar Maurer  <dietmar@ximian.com>
9900         * Enum.cs (Parse,  GetHashCode): impl. 
9902 2002-02-05  Duncan Mak  <duncan@ximian.com>
9904         * DBNull.cs: This is my first crack at the DBNull class. I think I
9905         actually got most of the IConvertible methods right, but I haven't
9906         done the research to test whether or not this is the correct
9907         behavior. IConvertible.ToType () is the most iffy of all, IMHO.
9909         * DllNotFoundException.cs: Inherits from TypeLoadException, not SystemException.
9911 2002-02-05  Dietmar Maurer  <dietmar@ximian.com>
9913         * Enum.cs: added more functionality (GetName, ToObject, Equals)
9915 2002-01-31  Duncan Mak  <duncan@ximian.com>
9917         * InvalidOperationException.cs:
9918         * NotFiniteNumberException.cs:
9919         * ObjectDisposedException.cs:
9920         * TypeInitializationException.cs: Added missing bits for serialization/
9921         
9922         * AppDomainUnloadedException.cs:
9923         * ApplicationException.cs:
9924         * ArgumentOutOfRangeException.cs:
9925         * ArithmeticException.cs:
9926         * ArrayTypeMismatchException:
9927         * BadImageFormatException.cs:
9928         * Exception.cs:
9929         * MissingMemberException.cs:
9930         * TypeLoadException.cs: Added missing bits for serialization.
9932 2002-01-30  Duco Fijma <duco@lorentz.xs4all.nl>
9933         * Guid.cs: implemented everything but Guid.NewGuid
9935 Tue Jan 29 22:32:36 CET 2002 Paolo Molaro <lupus@ximian.com>
9937         * _AppDomain.cs: remove ToString() method: it doesn't seem right 
9938         to have it in this interface and it screws up the method vtable setup.
9940 2002-01-28  Andrei Zmievski <andrei@php.net>
9942         * Double.cs: implemented IConvertible interface.
9944 2002-01-28  Miguel de Icaza  <miguel@ximian.com>
9946         * ArgumentException.cs: Implement serialization constructor.
9947         (GetObjectData): Implement serializer.
9948         
9949         * ArgumentNullException.cs: Implement serialization constructor.
9951         * Exception.cs: Implement serialization constructor.
9952         (GetObjectData): Implement serializer.
9954 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
9956         * DateTime.cs (UnixEpoch): The Begining of the Unix epoch.
9958 2002-01-23  Duncan Mak  <duncan@ximian.com>
9960         * EntryPointNotFoundException.cs:
9961         * FormatException: Added missing constructor and related bits.
9963         * TypeLoadException: Added missing constructor, methods and properties.
9965 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
9967         * AppDomain.cs (GetAssemblies): Use foreach construct instead of
9968         manually getting the enumerator.
9970         (AppDomain.AppDomain): Prime the loaded assemblies with the
9971         assemblies loaded by the runtime in our behalf.
9973         * AppDomainSetup.cs: Remove private keyword, that is the default.
9974         Add a new property DisallowPublisherPolicy.
9976         * AppDomain.cs (AppDomain.GetAssemblies): Implement.
9978 Tue Jan 22 22:51:48 CET 2002 Paolo Molaro <lupus@ximian.com>
9980         * MonoType.cs, Type.cs: many updates, corrected implementation,
9981         completed stubs.
9983 2002-01-20  Andrei Zmievski <andrei@php.net>
9985         * Byte.cs:
9986         * Char.cs: implemented IConvertible interface.
9988         * Boolean.cs: use our own ToString() method directly.
9990 2002-01-20  Duncan Mak  <duncan@ximian.com>
9992         * Files I commited recently: Fixed indentation style.
9994 2002-01-20 Nick Drochak  <ndrochak@gol.com>
9996         * SerializableAttribute.cs: this attrib can be used on enums, structs, 
9997         and delegates too. Added the appropriate usage flags.
9999 2002-01-18  Duncan Mak  <duncan@ximian.com>
10001         * CharEnumerator.cs: Implemented.
10002         * String.cs (System): Fixed the GetEnumerator () method(s).
10004         * ObsoleteAttribute.cs:
10005         * STAThreadAttribute.cs:
10006         * MTAThreadAttribute.cs:
10007         * ThreadStaticAttribute.cs:
10008         * LoaderOptimizationAttribute.cs:
10009         * PlatformNotSupportedException.cs:
10010         * LoaderOptimization.cs: Added to CVS.
10012 2002-01-18  Duncan Mak  <duncan@ximian.com>
10014         * AppDomainUnloadedException.cs:
10015         * MethodAccessException.cs:
10016         * ContextMarshalException.cs:
10017         * CannotUnloadAppDomainException.cs:
10018         * DllNotFoundException.cs:
10019         * EntryPointNotFoundException.cs:
10020         * FieldAccessException.cs:
10021         * TypeUnloadedException.cs:
10022         * MissingFieldException.cs: Added to CVS.
10024         * ApplicationException.cs: 
10025         * MemberAccessException.cs:
10026         * MissingMemberException.cs
10027         * MissingMethodException.cs:
10028         * SystemException.cs: Added [Serializable] attribute.
10030         * Exception.cs: Added [Serializable] attribute, made properties
10031         'Message', 'Source' and 'StackTrace' virtual methods, per 1.0
10032         spec.
10034         * ContextStaticAttribute.cs: Added [Serializable] attribute and
10035         put in the missing constructor.
10037         * Environment.cs: Commented out references to
10038         EnvironmentPermissionAttribute, because they're just stubbed out
10039         right now and has no implementation.
10041 2002-01-16  Andrei Zmievski <andrei@php.net>
10043         * Boolean.cs: implemented IConvertible interface
10045 2002-01-15  Nick Drochak  <ndrochak@gol.com>
10047         * ResolveEventArgs.cs: class should derive from EventArgs.
10049 2002-01-14  Miguel de Icaza  <miguel@ximian.com>
10051         * String.cs (System): Use DefaultMemberName for the String class.
10053 Mon Jan 14 17:06:40 CET 2002 Paolo Molaro <lupus@ximian.com>
10055         * String.cs: use IndexerName in index char accessor.
10057 Thu Jan 10 21:05:23 CET 2002 Paolo Molaro <lupus@ximian.com>
10059         * MonoType.cs: add rank to MonoTypeInfo and implement GetArrayRank.
10060         * String.c: eliminate 64k+ method calls in search.
10061         * Type.cs: handle byref and array types in ToString ().
10063 2002-01-09  Duco Fijma <duco@lorentz.xs4all.nl>
10065         * Guid.cs: created first version
10067 2002-01-10  Dietmar Maurer  <dietmar@ximian.com>
10069         * MonoType.cs: added missing TypeAttributes to MonoTypeInfo 
10071 Wed Jan 9 19:35:07 CET 2002 Paolo Molaro <lupus@ximian.com>
10073         * MulticastDelegate.cs: add == and != operator stubs.
10074         * String.cs: check for null in == operator.
10075         * Type.cs: use a virtual method to get TypeAttributes.
10077 Tue Jan  8 23:30:19 EST 2002 Matt Kimball <matt@kimball.net>
10078         * String.cs: Fixed several off-by-one errors in LastIndexOf* methods
10080 2002-01-09  Nick Drochak  <ndrochak@gol.com>
10081         
10082         * Environment.cs: Comment out Security attribute and put a MonoTODO
10083         there as a reminder.  We need mcs magic to handle security attributes in
10084         corlib.
10086 2002-01-07  Duco Fijma <duco@lorentz.xs4all.nl>
10087         * Created IAppDomainSetup.cs
10089 2002-01-06  Duco Fijma <duco@lorentz.xs4all.nl>
10090         * Created System._AppDomain interface in _AppDomain.cs
10092 2002-01-06  Nick Drochak  <ndrochak@gol.com>
10094         * ResolveEventArgs.cs: New File, completely implemented! ;)
10096 Sat Jan 5 15:53:50 CET 2002 Paolo Molaro <lupus@ximian.com>
10098         * Enum.cs: dummy ToString impl.
10099         * String.cs: dummy format implementations to get compiler errors
10100         somewhat working.
10101         * Type.cs: implemented filter delegates. FindMembers runs the filter, now.
10103 2002-01-05  Ravi Pratap  <ravi@ximian.com>
10105         * TODOAttribute.cs : Augment some more; provide two constructors
10106         with support for a comment too.
10108 2002-01-05  Nick Drochak  <ndrochak@gol.com>
10110         * Uncommented those MonoTODO's now that Ravi's got
10111         the class in there
10113 2001-01-04  Ravi Pratap  <ravi@ximian.com>
10115         * TODOAttribute.cs : Actually add this time ;-)
10117         Change name to MonoTODO.
10119 2002-01-04  Jeffrey Stedfast  <fejj@ximian.com>
10121         * String.cs (Trim): Fixed a few logic bugs in the code that
10122         calculated how much to trim off the end of the string.
10124 2001-01-04  Nick Drochak  <ndrochak@gol.com>
10125         
10126         * Commented out the [TODO] attributes for now.  We don't have the
10127         class written.  Also changed it to [MonoTODO]
10129 2002-01-04  Ravi Pratap  <ravi@ximian.com>
10131         * TODOAttribute.cs : Add. We use this attribute to tag all bits in
10132         our class libraries that are incomplete.
10134         * Array.cs : Apply attribute wherever we find a FIXME which says
10135         we need something to be implemented there.
10137         * Int32.cs : Ditto.
10139         * MulticastDelegate.cs : Ditto.
10141         * RuntimeFieldHandler.cs, RuntimeMethodHandle.cs,
10142         RuntimeTypeHandle.cs : Ditto.
10144         * String.cs : Ditto.
10146         * Type.cs : Ditto.
10148         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs, Delegate.cs : Ditto.
10150         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs, Single.cs, 
10151         UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
10153         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs,
10154         Delegate.cs : Ditto.
10156         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs,
10157         Single.cs, UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
10158         
10159 Thu Jan 3 23:24:04 CET 2002 Paolo Molaro <lupus@ximian.com>
10161         * Delegate.cs: add Remove() stub.
10162         * Enum.cs: add ToObject().
10163         * Type.cs: add IsEnum property.
10165 2002-01-03  Kristian Rietveld  <kris@gtk.org>
10167         * Convert.cs: add non-CLS-compliant ToBoolean methods for char,
10168         DateTime and object.
10170 2001-12-30  Nick Drochak  <ndrochak@gol.com>
10172         * Byte.cs (Parse): Add comments to aid in testing.
10174 2001-12-21  Miguel de Icaza  <miguel@ximian.com>
10176         * Char.cs (Parse): Implement.
10178         * Byte.cs (Parse): Implement a fast parser.
10179         
10180         * SByte.cs (Parse): Implement a fast parser.
10182         * UInt16.cs (Parse): Implement a fast parser.
10183         
10184         * Int16.cs (Parse): Implement a fast parser.
10186         * UInt32.cs (Parse): Implement a fast parser.
10188         * Int32.cs (Parse): Implement a fast parser.
10190 Fri Dec 21 15:14:52 CET 2001 Paolo Molaro <lupus@ximian.com>
10192         * Array.cs: fix null ref in sort code.
10193         * UInt64.cs: add bare-bones parse.
10195 Thu Dec 20 15:29:52 CET 2001 Paolo Molaro <lupus@ximian.com>
10196         
10197         * Byte.cs: removed use of Regexes.
10199 Tue Dec 18 18:39:54 CET 2001 Paolo Molaro <lupus@ximian.com>
10201         * Enum.cs: implemented GetValues(), GetNames(), GetName(),
10202         IsDefined(), GetUnderlyingType().
10203         * String.cs: fix one instance of Compare().
10204         * Type.cs: implemented GetProperties(), GetProperty().
10206 Thu Dec 13 20:10:57 CET 2001 Paolo Molaro <lupus@ximian.com>
10208         * Array.cs: implement CopyTo ().
10209         * Char.cs: implement ToString ().
10210         * Exception.cs: bugfix.
10211         * Int32.cs: bare-bones Parse ().
10212         * MonoType.cs: query the needed info with an internalcall.
10213         * String.cs: speedups, bugfixes, reduced copies.
10214         * Type.cs: added missing fields. Implemented many of the Is*
10215         properties. Implemented GetMethod(), GetConstructor(), GetMethods(),
10216         GetFields(), FindMembers(), ToString().
10217         
10218 2001-12-11  Dick Porter  <dick@ximian.com>
10220         * DateTime.cs: Implemented FromFileTime() and ToFileTime()
10222         * Console.cs: Use handles rather than casting file descriptors
10224 2001-12-08  Nick Drochak  <ndrochak@gol.com>
10226         * Byte.cs (Parse): Start implementation. Parse(string) works, but
10227         now we need to handle other formats
10229 2001-12-06  Dietmar Maurer  <dietmar@ximian.com>
10231         * DateTime.cs: added an icall to GetNow()
10233 2001-12-04  Dietmar Maurer  <dietmar@ximian.com>
10235         * Double.cs: added the parse method from Bob Smith
10237 2001-11-28  Miguel de Icaza  <miguel@ximian.com>
10239         * UInt64.cs: ditto.
10241         * UInt32.cs: ditto.
10243         * Int32.cs (Int32.CompareTo): Fix because we can not just
10244         substract the values.
10246         Return possitive value if the object is null.
10248         * Boolean.cs: (Boolean.CompareTo): ditto.
10250         * Int16.cs (Int16.CompareTo): ditto.
10252         * Byte.cs (Byte.CompareTo): ditto.
10254         * SByte.cs (SByte.CompareTo): ditto.
10256         * Char.cs (Char.CompareTo): ditto.
10257         
10258         * Decimal.cs (Decimal.CompareTo): ditto.
10260         * Int64.cs (Int64.CompareTo): ditto.
10262         * Single.cs: Ditto.
10264         * UInt16.cs: Ditto.
10266 2001-11-28  Nick Drochak <ndrochak@gol.com>
10268         * Byte.cs: Throw NotImplementedException for Parse.
10270 2001-11-27  Derek Holden  <dholden@draper.com>
10272         * IntegerFormatter.cs: Formatting of type "Number" was not
10273         using NumberFormatInfo.NumberNegativePattern.
10275 2001-11-26  Dick Porter  <dick@ximian.com>
10277         * LocalDataStoreSlot.cs: No need to delete a system TLS slot in
10278         the finalise routine any more
10280 2001-11-21  Miguel de Icaza  <miguel@ximian.com>
10282         * ApplicationException.cs: internationalize by adding calls to
10283         Locale.GetText ().  And throw NotImplementedExceptions on calls
10284         that we have to implement.
10286         * Version.cs: Ditto.
10288         * ValueType.cs: ditto.
10290         * UnauthorizedAccessException.cs: ditto.
10292         * UInt32.cs: ditto.
10294         * UInt64.cs: ditto.
10296         * UInt16.cs: ditto.
10298         * TypeLoadException.cs: ditto
10300         * TypeInitializationException.cs: ditto.
10302         * Type.cs: ditto.
10304         * TimeSpan.cs: ditto.
10306         * SystemException.cs: ditto.
10308         * String.cs: ditto.
10310         * StackOverflowException.cs: ditto.x
10312         * Single.cs: ditto.
10314         * SByte.cs: ditto.
10316         * RuntimeTypeHandle.cs: ditto.
10318         * RuntimeMethodHandle.cs: ditto.
10320         * RuntimeFieldHandle.cs: ditto.
10322         * Random.cs: ditto.
10324         * OutOfMemoryException.cs: ditto.
10326         * OperatingSystem.cs: ditto.
10328         * ObjectDisposedException.cs: ditto.
10330         * NullReferenceException.cs: ditto.
10332         * NotImplementedException.cs: ditto.
10334         * NotFiniteNumberException.cs: ditto.o
10336         * MulticastNotSupportedException.cs: ditto.
10338         * MissingMethodException.cs: ditto.
10340         * MemberAccessException.cs: ditto.
10342         * Math.cs: ditto.
10344         * InvalidCastException.cs: ditto.
10346         * IntegerFormatter.cs: ditto.
10348         * Int32.cs: ditto.
10350         * Int16.cs: ditto.
10352         * IndexOutOfRangeException.cs: ditto.
10354         * Environment.cs: ditto
10356         * Enum.cs: ditto.
10358         * DuplicateWaitObjectException.cs: ditto.
10360         * DivideByZeroException.cs: ditto.
10362         * Delegate.cs: ditto
10364         * DecimalFormatter.cs: ditto.
10366         * Decimal.cs: ditto.
10368         * DateTime.cs: ditto.
10370         * Convert.cs: ditto.
10372         * Char.cs: ditto.
10374         * Byte.cs: ditto.
10376         * Boolean.cs: ditto.
10378         * ArrayTypeMismatchException.cs: ditto.
10380         * ArithmeticException.cs: ditto.
10382         * ArgumentOutOfRangeException.cs: ditto.
10384         * ArgumentNullException.cs: ditto.
10386         * Enum.cs: Make it derive from ValueType, add CompareTo method.
10388         * Attribute.cs: Reformat.
10390 2001-11-14  Miguel de Icaza  <miguel@ximian.com>
10392         * Decimal.cs, Double.cs, Byte.cs, Char.cs, Int16, UInt16, Int32,
10393         UInt32, Int64, UInt64, SByte, Single (CompareTo): Throw the
10394         exception if the value is null too.
10396         * Char.cs (CompareTo): ditto.
10398         * ApplicationException.cs: Added constructor that does serialization.
10400         * ParamArrayAttribute.cs: Define attribute correctly.
10402 Wed Nov 14 16:31:19 CET 2001 Paolo Molaro <lupus@ximian.com>
10404         * AppDomain.cs: rename dummy interface _AppDomain to AppDomain_Intf.
10405         * Array.cs: fix Array.Copy.
10406         * AssemblyLoadEventArgs.cs: rename field.
10407         * CLSCompliantAttribute.cs: use correct name for the class.
10408         * Char.cs: fix IsLetter.
10409         * Console.cs, DateTime.cs, Decimal.cs, IConvertible.cs, Math.cs,
10410         SByte.cs, UInt16.cs, UInt32.cs, UInt64.cs, UIntPtr.cs: CLSCompliant updates.
10411         * Convert.cs: CLSCompliant updates, add ChangeType() methods.
10412         * Delegate.cs: renamed target field to m_target.
10413         * Enum.cs: added missing methods.
10414         * MonoType.cs: add a constructor and some needed properties.
10415         * Object.cs: implement GetType().
10416         * String.cs: CLSCompliant updates. Fixes everywhere to remove the
10417         ending 0 char.
10418         * Type.cs: add missing methods/properties.
10420 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
10422         * AttributeUseage.cs: Should define AttributeUsageAttribute.
10424         * CLSCompliant.cs: Marked with AttributeUsage attribute.
10426         * Decimal.cs: Fixed CLSCompliant attributes.
10428         * Type.cs: changed _impl to internal (needs to be accessable by
10429         subclasses).
10431         (TypeHandle): Marked as abstract, implementation removed.
10433         (IsNotPublic, IsPublic, GetMethods, GetPropery, GetConstructor,
10434         GetMethod): Added stub implementations so NUnit would link against
10435         corlib
10437 Tue Nov 6 09:11:43 CET 2001 Paolo Molaro <lupus@ximian.com>
10439         * AppDomain.cs: use an internal constructor for AssemblyBuilder.
10441 2001-11-05  Miguel de Icaza  <miguel@ximian.com>
10443         * NonSerializedAttribute.cs: Add AttributeUsage rules for this
10444         attribute. 
10446 Fri Nov 2 18:23:15 CET 2001 Paolo Molaro <lupus@ximian.com>
10448         * String.cs: fix a couple of bugs.
10449         * AppDomain.cs: use new AppBuilder constructor.
10450         * Buffer.cs, GC.cs, NonSerializedAttribute.cs,
10451         NotImplementedException.cs, ObjectDisposedException.cs,
10452         UnauthorizedAccessException.cs: add implementation.
10453         * OverflowException.cs: fix class name.
10455 2001-10-28  Jeffrey Stedfast  <fejj@ximian.com>
10457         * String.cs: Don't use a terminating nil char for our internal
10458         array.
10460 2001-10-27  Miguel de Icaza  <miguel@ximian.com>
10462         * Delegate.cs (Delegate.CombineImpl): Implement.
10463         (Delegate.Combine): Implement.
10465         * MulticastDelegate.cs (MulticastDelegate.Equals): Implement.
10467         (MulticastDelegate.CombineImpl): This was not as trivial as I
10468         thought. 
10470         * ContextStaticAttribute.cs: Added AttributeUsage to
10471         ContextStaticAttribute. 
10473         * FlagsAttribute.cs: Add AttributeUsage to FlagsAttribute
10475 2001-10-15  Martin Weindel <martin.weindel@t-online.de>
10477         * added Decimal.cs * added DecimalFormatter.cs (internal class
10478         used from System.Decimal)
10480 2001-10-11  Thomas Neidhart <tome@sbox.tugraz.at>
10482         * Convert.cs: Added methods for Base64 transforming just used the
10483           existing System.Security.Cryptography.ToBase64Transform, should
10484           be changed to use a stand-alone class, e.g. Base64Encoder
10485           
10486 2001-10-10  Derek Holden  <dholden@draper.com>
10488         * IntegerFormatter.cs: Added. Implements ToString for all the
10489         integer data types for all the format types.
10491         * Byte.cs: Using IntegerFormatter for ToString's.
10493         * SByte.cs: Using IntegerFormatter for ToString's.
10495         * Int16.cs: Using IntegerFormatter for ToString's.
10497         * Int32.cs: Using IntegerFormatter for ToString's.
10499         * Int64.cs: Using IntegerFormatter for ToString's.
10501         * UInt16.cs: Using IntegerFormatter for ToString's.
10503         * UInt32.cs: Using IntegerFormatter for ToString's.
10505         * UInt64.cs: Using IntegerFormatter for ToString's.
10507 2001-10-07  Miguel de Icaza  <miguel@ximian.com>
10509         * Exception.cs: Implement bits of serialization.
10511         * RuntimeFieldHandle.cs: Implement Serialization features.
10513         * Type.cs: Implement TypeHandle property.
10515 2001-09-28  Dick Porter  <dick@ximian.com>
10517         * LocalDataStoreSlot.cs: Implemented
10519 Tue Sep 25 19:58:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
10521         * String.cs: fix off-by-one error in Trim().
10523 Tue Sep 25 18:52:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
10525         * Type.cs: added GetType () method.
10527 Tue Sep 25 17:29:02 CEST 2001 Paolo Molaro <lupus@ximian.com>
10529         * MissingMethodException.cs, MissingMemberException.cs,
10530         MemberAccessException.cs: added.
10532 Tue Sep 25 16:46:43 CEST 2001 Paolo Molaro <lupus@ximian.com>
10534         * String.cs: don't access the string array out of bounds in
10535         LastIndexOf.  * Type.cs: fix return type of the Assembly property.
10537 Mon Sep 24 20:35:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
10539         * String.cs: make Intern and IsIntern internalcalls.
10541 2001-09-13  Dick Porter  <dick@ximian.com>
10543         * Type.cs: Added a stub for the IsValueType property.
10545         * SystemException.cs (System): Added the other constructor, so
10546         that System.Threading exceptions can inherit it.
10548 2001-09-08  Jeffrey Stedfast  <fejj@ximian.com>
10550         * String.cs (TrimStart): Don't keep looping through the trimchars
10551         once we've found a match.
10552         (TrimEnd): Same here.
10553         (Trim): And finally here.
10555 2001-09-07  Ravi Pratap  <ravi@ximian.com>
10557         * Char.cs (IsLetterOrDigit): Implement.
10558         (IsLower): Implement, but we need to be Unicode aware.
10559         (IsNumber): Implement.
10560         (IsPunctuation): Implement.
10561         (IsWhiteSpace): Implement.
10562         (ToUpper): Fix to subtract 32 from the ASCII value, not 33 :)
10563         (ToLower): Same here.
10565 2001-09-04  Miguel de Icaza  <miguel@ximian.com>
10567         * Object.cs: Shortcut, if (a == b) then return true.
10569 Fri Sep 7 18:34:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
10571         * Delegate.cs: we need a pointer to the method thunk in
10572         the delegate object.
10574 Fri Sep 7 12:28:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
10576         * AsyncCallback.cs, common.src: add AsyncCallback delegate.
10578 2001-09-06  Jeffrey Stedfast  <fejj@ximian.com>
10580         * String.cs (System): Don't mix uint and int.
10582 2001-09-04  Jeffrey Stedfast  <fejj@ximian.com>
10584         * String.cs (BoyerMoore): Modified to not use pointers and to instead
10585         use indexes.
10586         (IndexOf): Use BoyerMoore.
10588 2001-09-02  Miguel de Icaza  <miguel@ximian.com>
10590         * All over: Use the autogenerated enumerations from the ECMA
10591         documentation that Sergey wrote.
10592         
10593         * PlatformID.cs: Add Unix definition.
10595         * OperatingSystem.cs: Use Unix instead of Linux here.
10597         * MarshalByRefObject.cs: Mark class as [Serializable].
10599 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
10601         * Console.cs: impl. (write only)
10602         implemented the stdin stuff
10604         * Int32.cs: impl. real op_Equal
10606 2001-08-24  Miguel de Icaza  <miguel@ximian.com>
10608         * (common.src): Removed IAsyncResult as it is not on CVS yet.
10610         * UIntPtr.cs: Removed CLSCompliant attribute before the namespace,
10611         as it breaks the build.
10613 2001-08-23  Michael Lambert <michaellambert@email.com>
10615         * IntPtr.cs: Optimized unsafe declaration, implemented GetObjectData, 
10616         added CLSCompliant attribute
10618         * IAsyncResult.cs: Added
10620         * common.src: Added IAsyncResult.cs
10622 2001-08-23  Michael Lambert <michaellambert@email.com>
10624         * UIntPtr.cs: Added
10626         * common.src: Added UIntPtr.cs
10628 2001-08-20  Dietmar Maurer  <dietmar@ximian.com>
10630         * Attribute.cs: uncomment some code to make it compile again
10632         * mono.src: removed duplicated Attribute.cs
10634 2001-08-16  Nick Drochak <ndrochak@gol.com>
10636         * Attribute.cs: implemented all methods except GetHashCode()
10638         * common.src: added Attribute.cs so it would compile in
10640 2001-08-10  Dietmar Maurer  <dietmar@ximian.com>
10642         * Object.cs: changed MemberWiseClone to MemberwiseClone, and
10643         marked it as InternalCall
10644         
10645         * common.src: removed UriFormatException.cs because the file is
10646         not there.
10648         * RuntimeTypeHandle.cs: replaced IntrPtr with IntPtr
10649         * Char.cs: replaced byte with char
10651         * Array.cs: make it work with the mono interpreter
10653 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
10655         * Version.cs: Make the class sealed
10657 2001-08-08  Bob Smith  <bob@thestuff.net>
10659         * Random.cs: Many compile fixes.
10660         * Random.cs: I read a bad spec. Class updated to match real spec.
10662 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
10664         * IntPtr.cs: Added and Completed implementation.
10666         * Uri.cs: Add a note.
10668 2001-08-06  Bob Smith  <bob@thestuff.net>
10670         * Random.cs: Compile fix. Needs more testing.
10672 2001-08-06 Garrett Rooney <rooneg@electricjellyfish.net>
10674         * Uri.cs: Initial Implementation.  Parsing needs to be fixed to take 
10675         into account IPv6 addresses, url encoding needs to be implemented, and 
10676         various minor methods need to be written, but this is a decent start.
10678 2001-08-06  Dietmar Maurer  <dietmar@ximian.com>
10680         * common.src: added Object.cs
10682         * mono.src: added ValueType.cs
10684 2001-08-02  Dietmar Maurer  <dietmar@ximian.com>
10686         * Math.cs: replaced libc with libm
10688 2001-08-02  Bob Smith  <bob@thestuff.net>
10690         * Random.cs: Implemented. Needs testing.
10692 2001-08-02  Miguel de Icaza  <miguel@ximian.com>
10694         * IServiceProvider.cs, EventHandler.cs: New files.
10696 2001-08-02  Marcel Narings  <marcel@narings.nl>
10697         
10698         * DateTime.cs: Cleaned up a bit. Added the Add* family members.
10699         Added exceptions. Added IConvertible. Still needs some platform 
10700         dependend stuff, the Parse and ToString members
10702 2001-08-01  Dietmar Maurer  <dietmar@ximian.com>
10704         * Type.cs (GetTypeFromHandle): added placeholder 
10706 2001-07-24  Derek Holden  <dholden@draper.com>
10708         * Boolean.cs: Formatted to code style standard. Added GetTypeCode
10709         which is really an IConvertible defined method.
10711         * Byte.cs: Added a missing Parse method. Put in Parse and ToString
10712         behavior, still need to do the main Parse and ToString.
10714         * Char.cs: Added a bunch of missing ECMA methods. Commented a
10715         specification discrepency. Still didn't any unicode stuff, though
10716         every IsFoo(char c) method has an IsFoo(string, index)
10717         counterpart, added wrappers for those.
10718         
10719         * Convert.cs: Fixed NaN/Inf checking and double/float
10720         rounding. Added ToType for IConvertible classes
10722         * Double.cs: Fixed ECMA min and max values. Added IsInfinity /
10723         IsNaN methods. Changed Inf/NaN internals.
10725         * IConvertible.cs: Added comments for using
10726         Convert.ToType. Changed return values to draft base values.
10728         * Int16.cs: Added a missing Parse statement. Put in behavior for
10729         overloaded ToString and Parse methods.
10731         * Int32.cs: Added a missing Parse statement. Put in behavior for
10732         overloaded ToString and Parse methods.
10734         * Int64.cs: Added a missing Parse statement. Put in behavior for
10735         overloaded ToString and Parse methods.
10736         
10737         * Single.cs: Put in ECMA epsilon value. Added IsInfinity / IsNaN
10738         methods. Changed Inf/NaN internals.
10740         * SByte.cs: Added a missing Parse method. Put in Parse and
10741         ToString behavior, still need to do the main Parse and ToString.
10743         * UInt16.cs: Added a missing Parse statement. Put in behavior for
10744         overloaded ToString and Parse methods.
10746         * UInt32.cs: Added a missing Parse statement. Put in behavior for
10747         overloaded ToString and Parse methods.
10749         * UInt64.cs: Added a missing Parse statement. Put in behavior for
10750         overloaded ToString and Parse methods.
10751         
10752 2001-07-20  Miguel de Icaza  <miguel@ximian.com>
10754         * MulticastDelegate.cs: New File.
10756         * Delegate.cs: New file.
10758         * Enum.cs: New file.
10760         * Attribute.cs: New file.
10762         * Type.cs: New file.
10764         * ParamArrayAttribute.cs: New file.
10766         * RuntimeTypeHandle.cs: New file.
10768         * MulticastDelegate.cs: Added.
10770         * DateTime.cs: Added
10772         * Delegate.cs: Added
10774 2001-07-18  Michael Lambert <michaellambert@email.com>
10776         * AttributeTargets.cs: Add.
10778 2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>
10780         * Char.cs: Made ToUpper and ToLower public methods.
10782         * String.cs: Lots and lots of compile fixes - just need to write
10783         DateTime.cs and this should build completely now.
10785 2001-07-19  Bob Smith (bob@thestuff.net)
10787         * Math.cs: Implemented. 
10789 2001-07-19  Miguel de Icaza  <miguel@ximian.com>
10791         * String.cs: Removed tolower and toupper.
10793         * Char.cs: Moved ToLower and ToUpper from string to here. 
10795         * Convert.cs ToByte (float value), ToByte (double value) Use IsNan
10796         instead of comparing the value to Nan.
10798 2001-07-19  Duco Fijma (duco@lorentz.xs4all.nl)
10800         * TimeSpan.cs: New implementation.
10802 2001-07-18  Scott Sanders <scott@stonecobra.com>
10804          * UriFormatExcpetion.cs: Add - 85% complete
10806 2001-07-17  Jeffrey Stedfast  <fejj@ximian.com>
10808         * String.cs (IndexOf): Slight optimization that allows skipping
10809         over a few chars here and there. This isn't as good as using my
10810         Boyer-Moore implementation, however, Boyer-Moore is only really
10811         good for long strings (I plan on making the code decide which
10812         string search algorithm it should use on-the-fly at some point).
10813         (LastIndexOf): Fix to work correctly.
10814         (BoyerMoore): Took out some unneeded code and fixed an edge-case.
10816 2001-07-16  Michael Lambert <michaellambert@email.com>
10818         * EventArgs.cs: Add.
10819         
10820 2001-07-16  Miguel de Icaza  <miguel@ximian.com>
10822         * Version.cs: Remove my buggy comment.
10824 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
10826         * String.cs: Spelling error of IComparable, object's
10827         MemberwiseClone cannot be overridden.  Made indexer valid for now,
10828         but not sure what to do about this in the long run.  Seems to be a
10829         couple bugs in csc.exe having to do with multiple pointer defs in
10830         the same statement, and returning subclasses of a class in the
10831         return type of an interface function implementation.  Also moved
10832         operators inside of class definition.
10834 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
10836         * String.cs: A tom of compile fixes, although we still don't compile.
10838         * IConvertible.cs: The To*Int64() methods return *Int64's, not
10839         *Int32's. Also, it's ToDateTime() not ToDateType().
10841 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
10843         * String.cs: Apparently I needed to at least write stubs for the
10844         IConvertible interfaces. *sigh*
10846 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
10848         * String.cs: Many logic/other fixes and better usage of the
10849         features of c#
10850         (tolower): New convenience method to help condense code.
10851         (toupper): Another new helper method.
10852         (Compare): Use the new helper methods.
10853         (ToLower): use tolower().
10854         (ToUpper): use toupper().
10855         (LastIndexOfAny): Implemented.
10856         (BoyerMoore): New private helper method that implements a modified
10857         version of the Boyer-Moore search algorithm. Noothing uses it yet
10858         as I'm not 100% sure it even works properly with unicode strings
10859         not to mention it uses a huge lookup-table :-)
10860         (Split): Implemented.
10862 2001-07-13  Jeffrey Stedfast  <fejj@ximian.com>
10864         * TODO: Added things that need to be finished in System.String
10866         * String.cs: New source file implementing the System.String class
10868 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
10870         * TypeCode.cs: UInt64 was UInt63.
10872         * Object.cs: Fixed a numer of compiler errors.
10874         * Array.cs: Fixed some compiler errors.
10876         * IComparable.cs: Fixed some compiler errors.
10878         * ICloneable.cs: Fixed some compiler errors.
10880         * IConvertible.cs: Fixed some compiler errors.
10882         * IFormattable.cs: Fixed a compiler error.
10884         * IFormatProvider.cs: Fixed a compiler error.
10886         * IDisposable.cs: Fixed a compiler error.
10888         * IFormatProvider.cs: Added public accesability type to
10889         IFormatProvider.
10891         * Exception.cs: Added a using statement to remove compile time
10892         error.
10894         * ApplicationException.cs: Removed a ; that was causing a compiler
10895         error.
10897         * Int16.cs: Fixed some compiler errors.
10899         * Int32.cs: Fixed some compiler errors.
10901         * Int64.cs: Fixed some compiler errors.
10903         * SystemException.cs: Fixed a compiler error.
10905         * UInt16.cs: Fixed some compiler errors.
10907         * UInt32.cs: Fixed some compiler errors.
10909         * UInt64.cs: Fixed some compiler errors.
10911         * Void.cs: Fixed a compiler error.      
10913 2001-07-12  Joe Shaw  <joe@ximian.com>
10915         * Array.cs: Fix backwards parameters to Array.SetValue()
10916         throughout.
10917         (BinarySearch): Fix backward logic surrounding whether to call
10918         value.CompareTo or comparer.Compare.
10919         (LastIndexOf): Stop being stupid. I am so not used to strongly
10920         bounded arrays...
10921         (Sort): Implement a quicksort.
10923 2001-07-11  Joe Shaw  <joe@ximian.com>
10925         * Array.cs: Change all instances of trying to access an array with
10926         the index operator to calls to GetValue and SetValue, and add
10927         InternalGetValue and InternalSetValue which are internal calls
10928         into the runtime. Ew.
10930 2001-07-10  Joe Shaw  <joe@ximian.com>
10932         * Array.cs: Implemented everything but Sort().
10934 2001-07-09  Jeffrey Stedfast  <fejj@ximian.com>
10936         * Object.cs (Object::Equals): Object variable name is `o'.
10938 2001-07-06  Joe Shaw  <joe@ximian.com>
10940         * Int16.cs, Int32.cs, Int64.cs, UInt16.cs, UInt32.cs, UInt64.cs:
10941         Implement the IComparable and IFormattable interfaces. Fix a typo
10942         (publig -> public)
10944         * ApplicationException.cs, ArgumentException.cs,
10945         ArgumentNullException.cs, ArgumentOutOfRangeException.cs,
10946         ArtithmeticException.cs, ArrayTypeMismatchException.cs,
10947         DivideByZeroException.cs, DuplicateWaitObjectException.cs,
10948         ExecutionEngineException.cs, FormatException.cs,
10949         IndexOutOfRangeException.cs, InvalidCastException.cs,
10950         InvalidOperationException.cs, InvalidProgramException.cs,
10951         MulticateNotSupportedException.cs, NotFiniteNumberException.cs,
10952         NotSupportedException.cs, NullReferenceException.cs,
10953         OutOfMemoryException.cs, OverflowException.cs, RankException.cs,
10954         StackOverflowException.cs, SystemException.cs,
10955         TypeInitializationException.cs: Added all of the exceptions
10956         specified by the language spec. Mmmm... bloat.
10958 2001-07-06  Miguel de Icaza  <miguel@ximian.com>
10960         * Int64.cs, Int32.cs: Put.  Parsing and ToString missing.  Should
10961         do a generic routine all of these guys use.
10963         * Int16.cs: identified missing methods.
10965         * UInt16.cs, UInt32.cs, UInt64.cs: Add.
10967 2001-06-26  Miguel de Icaza  <miguel@ximian.com>
10969         * TypeCode.cs: Implement
10971         * Void.cs: Implement.
10973         * TODO: Add file to keep track of pending tasks.
10975         * Object.cs, ValueType.cs: Implement.